JetBot 2G AI Kit 教程五、自主避障
来自Waveshare Wiki
JetBot 2G AI Kit 教程目录
- JetBot 2G AI Kit 教程一、组装小车
- JetBot 2G AI Kit 教程二、安装镜像
- JetBot 2G AI Kit 教程三、电机驱动
- JetBot 2G AI Kit 教程四、远程遥控
- JetBot 2G AI Kit 教程五、自主避障
- JetBot 2G AI Kit 教程六、目标跟踪
- JetBot 2G AI Kit 教程七、目标巡线
- JetBot 2G AI Kit 教程八、ROS
- JetBot 2G AI Kit WIKI 主页
Collision-avoidance
要实现自主避障首先需要收集数据,通过摄像头拍摄各种图片,然后通过云端训练神经网络,最后通过训练的模型实现避障
第一步:在JetBot上收集数据
- 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,左侧打开Notebooks/collision_avoidance/。打开data_collection.ipynb文件。
- 运行程序后出现如图所示界面,将小车放到不同的位置,如果前方没有障碍则点击add free. 如果小车前方有障碍就点击add blocked。拍摄到的图片会保存在dataset文件夹中,尽可能多的拍摄各种情况的图片。可以尝试不同的方向,不同的亮度,不同的对象/碰撞类型(墙、壁架等),可以尝试不纹理的地板/物体(有图案的、光滑的、玻璃等)
- 小车搜集到场景数据越多,避障的效果也就越好。所以尽可能多的获取不同的数据对避障效果非常重要。一般需要每种情况至少拍摄100张图片
- 最后运行程序打包图片,打包之后,在当前的目录下会出现一个dataset.zip压缩文件
第二步:训练神经网络
- 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,左侧打开Notebooks/collision_avoidance/,打开train_model_resnet18.ipynb文件
- 此处如果已经有了刚刚压缩的dataset.zip文件,则不需要再运行此语句进行解压,否则会提示是否覆盖已存在的文件
- 最后运行程序训练神经网络,运行时间比较长。训练完成后,当前目录下会出现一个best_mode_resnet18.pth文件。
第三步:在Jetson Nano上优化模型
- 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,左侧打开Notebooks/collision_avoidance/,打开live_demo_resnet18_build_trt.ipynb文件
- 直接运行程序,程序运行完成后当前目录下会出现一个best_model_trt.pth文件
第四步:自助避障
- 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,左侧打开Notebooks/collision_avoidance/。打开live_demo_resnet18_trt.ipynb文件
- 运行程序后会显示摄像头实时图像和一条滑条。互调表示遇到障碍物的概率,0.00表示前方没有障碍物,1.00表示前方哟障碍物需要转向避让。
- 此处适当调小一点速度,避免速度太快直接撞上障碍物。如果部分地方不能实现避障建议采集更多的数据。
【注意】部分语句运行时间可能比较长,JupyterLab右上角有程序运行提示标志。当小圆点为黑色时表示程序正在运行,白色表示空闲状态。