Jetbot实战系列01:系统介绍

在2019年NVIDIA推出Jetson Nano边缘计算设备之后,这套开源的Jetbot智能无人车教学系统也随之而生,为市场提供一套最优性价比的教学系统。

2019NVIDIA推出Jetson Nano边缘计算设备之后,这套开源的Jetbot智能无人车教学系统也随之而生,为市场提供一套最优性价比的教学系统,不仅结合时下最先进的深度学习智能识别系统,并且使用最精简的硬件元件,让总体搭建成本锁定在1,500人民币以内,相较于市面上动辄5,000元以上的搭建成本,Jetbot就显得十分亲民。

这个项目最早出现在NVIDIA GTC 2019年会上,现场演示了“避障”、“循路”与“遇障停止”等功能,吸引众多专业人士的眼球,因为Jetbot系统上只使用一个CSI摄像头,而没有其他任何距离传感设备(sensor),便能实现这些复杂的功能,这是相当神奇的一件能力,想先体验Jetbot的功能,可以在网上找到很多关于这个项目的视频,感受一下这套小车的强大。

Jetbot实战系列01:系统介绍

相较于其他智能小车的,整个Jetbot小车大约只用了8个电子相关器件,以及20个左右的螺丝就能完成安装,如下图所示。其他小车都要使用两倍以上的元器件与螺丝,不仅成本差异非常大,并且组装过程十分繁琐。

Jetbot实战系列01:系统介绍

此外,JetbotJetson Nano(含2GB)将计算与控制集于一身,传统小车大部分是将这两部分交由两个处理设备来独立负责,主要是因为那些计算设备的性能,不足以顺畅地同时执行计算与控制两个工作,但这样的方式也会增加软件上的复杂度,也会影响系统的运行稳定性。

总的来说,Jetbot智能车学习系统不仅在“成本、易用、稳定”这三方面都有明显的优势,还兼备“智、能、美”三大特色于一身:

  • 智:NVIDIA 完整的DeepLearning资源
  • 能执行绝大部分DeepLearning框架
  • TensorRT Inference Engine
  • 计算机视觉(CV)库与Camera Subsystem
  • 能:上手就能使用,周边扩充容易
  • 最优的(计算性能 vs 功耗)
  • 最丰富的开发资源与Sample,上手就能使用
  • 能直接移植树莓派的绝大部分机电控制应用
  • 美:造型美观、成本亲民
  • 开源流线造型3D打印输出档
  • 使用数量最少的配设备
  • 成本最低,组装最简单

Jetbot实战系列01:系统介绍

在接下去的Jetbot系列文章,就是为大家逐步揭开这个系统的神秘面纱,并引导读者一步一步地完成这个系统的搭建与实验,包括硬件系统组件的细节,以及软件系统的安装、调试与执行,毕竟这样一套作模拟无人车运作的系统,必须每个细节都处理到位,任何一个小地方的疏忽都会影响系统的正常操作

本文的重点是先为大家剖析一下Jetbot的组成元件列表,并且将这些元件进行分类,这样有助于后面分项细节说明中,可以清楚每个类别所扮演的角色

  1. 计算与控制设备:

这是Jetbot系统的核心,用NVIDIA Jetson Nano2GB版本来担任,二者的机构尺寸与接口位置几乎一致,因此配套的装置是完全通用的。

Jetson Nano(含2GB)透过一组与树梅派兼容的40针扩展引脚,与电子控制设备进行互动,包括传送指令与接收信息,因此Jetson Nano(含2GB)也同时肩负着控制的功能,这样能非常有效地降低设备之间的交互复杂度。

  1. 信息接收设备:

Jetbot只使用一个CSI摄像头,完全模拟人类“视觉感知”的理解方法,用最先进的深度学习“图像分类”技术来识别前方的图像,因此不需要其他声纳、红外线、激光雷达之类的空间距离传感设备,这在现今还是非常独特的做法。

目前Jetson Nano(含2GB)支持IMX219芯片的摄像头,俗称“数梅派2代”摄像头,单价在100人民币左右。

  1. 网络连线设备:

支持M.2 Key-EUSB2/3等接口的无线网卡,前者主要以Intel 8265NGW芯片为主,后者可使用多种双频的USB网卡。

网络设备的重点是要与上位机控制台(例如笔记本)保持连线,除了一开始透过控制台对Jetbot下达指令之外,还有透过前面所提到的CSI摄像头进行数据集采集的任务,以及Jetbot运行是的监控。

  1. 显示设备:PiOLED

这是个树梅派领域使用率很高的设备,因为这些边缘设备并不方便去接显示器,因此需要一个小显示屏来提供一些简单的信息,特别是这个设备目前的IP地址,以及CPU、内存使用率等简单信息。

这个元件如果是自行采购的话,可能需要一些基础焊接的工作,不过这个显示设备并非必要的元件,会在后面的内容中会进一步说明。

  1. 电机控制设备:PCA9685+TB6612控制板、TT减速电机

这部分由两个部分所组成:

  • PCA9685+TB6612二合一控制版:前者负责接收来自Jetson NanoI2C信号,后者则根据信号去提供电机所需要的电源,这个控制版的成本大约在40人民币左右,非常实惠。
  • 电机驱动的部分:包括两个TT电机与两个配套的外论,前者接受TB6612供应的电流进行不同方向与速度的旋转,带动后者与地面摩擦执行Jetbot的行进。这部分的总成本20元人民币以内。

Jetbot实战系列01:系统介绍

  1. 电源供应设备:

由于Jetbot所使用的电器设备全部都是5V电压,因此可以使用市面上标准的充电宝就可以,不过受到车座所留给放置电源的空间,因此对于充电宝的宽带与高度是有要求的,并且需要两个以上的供电口。

熟悉电源供应的读者,也可以自行制作5V/3A输出的电源方案。

  1. 车座机构件:

这个在Jetbot小车官网上有提供开源的3D打印文件,读者可以下载后自行打印,或者在淘宝上这方面的服务供应商去打印也可以。

Jetbot实战系列01:系统介绍

如果自己有3D打印机,技巧好一点的还可以打出如下图的彩色底座。

Jetbot实战系列01:系统介绍

但我们完成上述所有硬件的组装之后,就能去执行Jetbot所提供的以下4开源项目以及2Jetson Community比较有意思的开源项目:

  1. 基本运动:从web浏览器对JetBot进行编程,执行基本的电机控制;
  2. 对象跟踪:使用预训练的对象检测模型,对人、杯子或狗等80类物件执行跟踪功能;
  3. 避免碰撞:这是Jetbot的经典范例,使用深度学习的“图像分类”功能所实现的功能,主要分为两部分,全部透过一个CSI摄像头来进行:
    1. 透过CSI摄像头收集“障碍(block)”与“无障碍(free)”而分类图形,在Jetson Nano(含2GB)进行模型训练,
    2. 将训练好的模型用在Jetbot上,对CSI摄像头实时读入的图像桢上进行推理识别,进而实行“避免碰撞”的功能。
  4. 交通锥循路:这是Jetson社区里的开源项目,基于“避免碰撞”实验的扩展,将收集的数据分为“先前”、“向左”、“向右”、“障碍”四分类,执行与“避免碰撞”相同逻辑与步骤,进行数据集收集、模型训练与推理运作。
  5. 道路跟踪:这是使用线性回归(linear regression)的方式来实现“循路”的功能,前提是道路上必须有分割线,才能使用这种方式实现循路的功能,过程中可以使用到游戏摇杆的协助,来收集数据集进行训练。
  6. 避障与循路的结合:这也是基于Jetson社区的开源项目,将第3个“避免碰撞”与第5个“道路跟踪”实验相结合,是个实用性非常高的实验。

接着就开启我们的Jetbot系列的内容,全程在Jetson Nano 2GB版上操作,带着大家一起轻松地玩转起来这套结构简单、成本亲民的无人车教学系统。[]

来源:业界供稿

0赞

好文章,需要你的鼓励

2021

12/07

11:35

分享

点赞

邮件订阅
白皮书