JETANK AI Kit 教程六、目标巡线

来自Waveshare Wiki
跳转至: 导航搜索

JETANK AI Kit 教程目录

Road-following

第一步:在JetBot上收集数据

在这一章中,我们同样需要使用收集数据,巡线,自主运行这写步骤来实现自主巡线功能。

  • 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,找到Notebooks/road_following/。打开data_collection.ipynb文件
JetBot AI Kit Manual 24.jpg
  • 运行程序后会显示一段youtube上的演示视频,国内客户没有科学上网可能观看不了视频
JetBot AI Kit Manual 25.jpg
  • 程序运行到此处会显示当前摄像头的测试图像。右边图像会显示一个绿点和蓝色线。用于表示小车应该运行的路线。为方便后面的操作,我们将输出窗口用新窗口打开。
  • 下面程序和游戏手柄遥控章节类似。修改index为实际手柄对应的标号。修改axes为要控制的按键。

【注意】此处的axes按键必须Wie模拟按键,即可以输出小数。如果使用我们配置的游戏手柄,则需要按下HOME键,切换模式。使得指示灯为两个灯亮的状态

JetBot AI Kit Manual 26.jpg
  • 修改button值,设置对应的按键为拍摄图片按键
JetBot AI Kit Manual 27.jpg
  • 下面开始收集数据,将小车放置到线的不同位置,控制手柄的方向键,将绿色点拖到黑线上。蓝色线即表示小车应该运行的方向。然后按下按键拍照收集图片。尽可能多的收集各种情况的图片,count表示已经拍摄的图片数量

【注意】使用手柄控制绿点位置可能操作很不方便,可以通过拖动steering和throttle两个滑条来改变位置。

  • 最后运行程序保存拍摄图片,当前目录下生成一个zip压缩文件。
JetBot AI Kit Manual 28.jpg

第二步:训练神经网络

  • 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,找到Notebooks/road_following, 打开train_model.ipynb文件。
  • 如果使用的是上一节手机到的数据,不需要解压,图片文件已经在当前目录下。
  • 如果需要另外解压文件,需要将road_following.zip改成对应的ZIP文件名,否则会提示文件不存在
JetBot AI Kit Manual 29.jpg
JetBot AI Kit Manual 30.jpg
  • 下载神经模型,过程可能比较久
JetBot AI Kit Manual 31.jpg
  • 最后训练神经模型,当前目录下会生成best_steering_model_xy.pth文件

第三步:优化模型

  • 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,找到Notebooks/road_following,打开live_demo_build_trt.ipynb文件
  • 直接运行程序使用使用 TensorRT 优化模型,程序正常运行后会生成best_steering_model_xy_trt.pth文件。

第四步:自主巡线

  • 在浏览器地址栏输入http://<jetbot_ip_address>:8888连接到小车,找到Notebooks/road_following,打开live_demo_trt.ipynb文件
  • 运行程序加载模型,打开摄像头实时显示图像
  • 程序中有四个参数,可以通过拖动滑条改变参数的值,如果需要实现巡线功能需要根据实际情况调试参数,使巡线的效果更好。
JetBot AI Kit Manual 32.jpg
  • 此输出展示jetbot的当前运行情况,x,y表示当前图像预测的x,y值,可以表示转动角度。speed表示jetbot直线速度,steering表示转向速度。
JetBot AI Kit Manual 33.jpg
  • 最后运行程序小车会转动,通过调节speed gain 滑条启动jetbot. 【注意】, speed值尽量小一点,否则速度太快容易冲出线外。当jetbot沿线运行,但是左右摆动幅度太大,可以减小steering的值,是jetbot运动更加平滑,摆动幅度更小。
JetBot AI Kit Manual 34.jpg

【提示】:由于履带机器人转向摩擦力较大,巡线时不会很平滑运动。