在2019年NVIDIA推出Jetson Nano边缘计算设备之后,这套开源的Jetbot智能无人车教学系统也随之而生,为市场提供一套最优性价比的教学系统,不仅结合时下最先进的深度学习智能识别系统,并且使用最精简的硬件元件,让总体搭建成本锁定在1,500人民币以内,相较于市面上动辄5,000元以上的搭建成本,Jetbot就显得十分亲民。
这个项目最早出现在NVIDIA GTC 2019年会上,现场演示了“避障”、“循路”与“遇障停止”等功能,吸引众多专业人士的眼球,因为Jetbot系统上只使用一个CSI摄像头,而没有其他任何距离传感设备(sensor),便能实现这些复杂的功能,这是相当神奇的一件能力,想先体验Jetbot的功能,可以在网上找到很多关于这个项目的视频,感受一下这套小车的强大。
相较于其他智能小车的,整个Jetbot小车大约只用了8个电子相关器件,以及20个左右的螺丝就能完成安装,如下图所示。其他小车都要使用两倍以上的元器件与螺丝,不仅成本差异非常大,并且组装过程十分繁琐。
此外,Jetbot用Jetson Nano(含2GB)将计算与控制集于一身,传统小车大部分是将这两部分交由两个处理设备来独立负责,主要是因为那些计算设备的性能,不足以顺畅地同时执行计算与控制两个工作,但这样的方式也会增加软件上的复杂度,也会影响系统的运行稳定性。
总的来说,Jetbot智能车学习系统不仅在“成本、易用、稳定”这三方面都有明显的优势,还兼备“智、能、美”三大特色于一身:
智:NVIDIA 完整的DeepLearning资源
Ø 能执行绝大部分DeepLearning框架
Ø TensorRT Inference Engine
Ø 计算机视觉(CV)库与CameraSubsystem
能:上手就能使用,周边扩充容易
Ø 最优的(计算性能 vs 功耗)
Ø 最丰富的开发资源与Sample,上手就能使用
Ø 能直接移植树莓派的绝大部分机电控制应用
美:造型美观、成本亲民
Ø 开源流线造型3D打印输出档
Ø 使用数量最少的配设备
Ø 成本最低,组装最简单
在接下去的Jetbot系列文章,就是为大家逐步揭开这个系统的神秘面纱,并引导读者一步一步地完成这个系统的搭建与实验,包括硬件系统组件的细节,以及软件系统的安装、调试与执行,毕竟这样一套做模拟无人车运作的系统,必须每个细节都处理到位,任何一个小地方的疏忽都会影响系统的正常操作。
本文的重点是先为大家剖析一下Jetbot的组成元件列表,并且将这些元件进行分类,这样有助于后面分项细节说明中,可以清楚每个类别所扮演的角色
1. 计算与控制设备:
这是Jetbot系统的核心,用NVIDIA Jetson Nano或2GB版本来担任,二者的机构尺寸与接口位置几乎一致,因此配套的装置是完全通用的。
Jetson Nano(含2GB)透过一组与树梅派兼容的40针扩展引脚,与电子控制设备进行互动,包括传送指令与接收信息,因此Jetson Nano(含2GB)也同时肩负着控制的功能,这样能非常有效地降低设备之间的交互复杂度。
2. 信息接收设备:
Jetbot只使用一个CSI摄像头,完全模拟人类“视觉感知”的理解方法,用最先进的深度学习“图像分类”技术来识别前方的图像,因此不需要其他声纳、红外线、激光雷达之类的空间距离传感设备,这在现今还是非常独特的做法。
目前JetsonNano(含2GB)支持IMX219芯片的摄像头,俗称“树莓派2代”摄像头,单价在100人民币左右。
3. 网络连线设备:
支持M.2Key-E与USB2/3等接口的无线网卡,前者主要以Intel 8265NGW芯片为主,后者可使用多种双频的USB网卡。
网络设备的重点是要与上位机控制台(例如笔记本)保持连线,除了一开始透过控制台对Jetbot下达指令之外,还有透过前面所提到的CSI摄像头进行数据集采集的任务,以及Jetbot运行时的监控。
4. 显示设备:PiOLED
这是个树莓lu派领域使用率很高的设备,因为这些边缘设备并不方便去接显示器,因此需要一个小显示屏来提供一些简单的信息,特别是这个设备目前的IP地址,以及CPU、内存使用率等简单信息。
这个元件如果是自行采购的话,可能需要一些基础焊接的工作,不过这个显示设备并非必要的元件,会在后面的内容中会进一步说明。
5. 电机控制设备:PCA9685+TB6612控制板、TT减速电机
这部分由两个部分所组成:
-PCA9685+TB6612二合一控制版:前者负责接收来自Jetson Nano的I2C信号,后者则根据信号去提供电机所需要的电源,这个控制版的成本大约在40人民币左右,非常实惠。
-电机驱动的部分:包括两个TT电机与两个配套的外轮,前者接受TB6612供应的电流进行不同方向与速度的旋转,带动后者与地面摩擦执行Jetbot的行进。这部分的总成本20元人民币以内。
6. 电源供应设备:
由于Jetbot所使用的电器设备全部都是5V电压,因此可以使用市面上标准的充电宝就可以,不过受到车座所留给放置电源的空间,因此对于充电宝的宽带与高度是有要求的,并且需要两个以上的供电口。
熟悉电源供应的读者,也可以自行制作5V/3A输出的电源方案。
7.车座机构件:
这个在Jetbot小车官网上有提供开源的3D打印文件,读者可以下载后自行打印,或者在淘宝上这方面的服务供应商去打印也可以。
但我们完成上述所有硬件的组装之后,就能去执行Jetbot所提供的以下4个开源项目以及2个JetsonCommunity比较有意思的开源项目:
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版上操作,带着大家一起轻松地玩转起来这套结构简单、成本亲民的无人车教学系统。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有