6.1 深度学习巡线小车
功能介绍
巡线任务,即机器人小车能够自主跟着一条引导线向前运行,引导线往左,小车也跟着往左转,引导线往右,小车跟着往右转。该任务是轮式机器人中比较基础的任务,实现方式也有多种,比如:
- 通过安装多个光电传感器(灰度传感器),根据传感器的的返回值判断该传感器是否位于线上,进而调整机器人运动方向
- 通过摄像头基于传统的图像处理方法如边缘检测等获取线在图像中的位置,进而调整机器人运动方向
上述常用方法当光照环境、场地发生变化,一般需要反复通过采集图像调整阈值以及进行测试来实现比较好的识别结果。那有没有可能让机器人能够自行适应环境的变化,不再需要人为的调整阈值呢?卷积神经网络(CNN),是深度学习算法应用最成功的领域之一,具有不错的适应性和鲁棒性,近年来随着处理器的快速发展,已经可以在嵌入式端进行CNN推理,这里使用CNN的方式实现巡线任务中引导线的位置感知。
代码仓库: (https://github.com/D-Robotics/line_follower)
支持平台
平台 | 运行方式 | 示例功能 |
---|---|---|
RDK X3, RDK X3 Module | Ubuntu 20.04 (Foxy), Ubuntu 22.04 (Humble) | 启动MIPI摄像头获取图像,并进行引导线检测和小车控制,最后通过实车运动展示巡线效果 |