1、前言:

从零教你设计ROS试验车(2)中我们主要讲了升级后机器人的运动控制,这篇博客我们主要讲述一下机器人如何实现自主巡航。

机器人实现自主巡检,首先需要对周围环境进行感知,并对周围目标进行识别,然后进行机器人运动控制。关于机器人目标识别,我们提出以下三种方案(仅供参考),分别是:

1、使用单目相机进行障碍物识别,通过相机计算机器人与目标物体距离(精度较低)。

2、使用双目相机进行障碍物识别,并根据深度图计算机器人与目标物体之间的空间距离。

3、使用三维激光雷达对目标物体进行聚类分割(传统方法)或者进行目标识别(深度学习方法)。

注:本试验暂时进行激光雷达测试,后续会单独对激光雷达进行试验测试。

2、单目相机和双目相机对比试验:

我们可以通过以下视频,先观察一下试验效果:

2.1 单目相机对障碍物识别效果(动态)

2.2 双目相机对障碍物识别效果(动态)

2.3 单目相机和双目相机对比结果

(单目相机):由于单目相机采用图像像素作为机器人空间距离判断依据,存在精度低,测量误差大的缺陷。单目相机需要目标识别算法(YOLOv5)识别出目标物体后,才能进行空间距离判断,并且对于距离机器人较近范围内的目标物体,距离测量误差较大。因此,使用单目相机进行机器人越障大大增加了算法难度。试验结果表明:采用单目相机进行距离测量的有效范围为2m~30m。

(双目相机):采用双目相机不仅可以通过相机彩色图像对目标进行识别,还可以根据双目相机深度图测算机器人与目标物体的空间距离,通过双目相机深度图进行距离测量的方法,具有测距精度高,时间效率高的优点。试验结果表明:采用双目相机进行距离测量的有效范围为0.3m~5m。

通过单目相机与双目相机进行对比,我们可以发现,双目相机无论在目标识别方面,还是距离测量方面都具有明显优势,因此,我们不但使用单目相机进行障碍物识别,还可以选择双目相机进行障碍物识别。下面我们主要介绍一下机器人搭载双目相机的识别。

3、双目相机自主避障试验

3.1 双目相机实现机器人自主避障原理

通过在楼道内进行机器人自主避障试验,机器人行走轨迹规划路线如下图所示:

当机器人遇到障碍物时,机器人行走轨迹规划路线如下图所示:

机器人躲避障碍物时,主要根据双目相机采集图像数据,通过IMU控制机器人旋转角度,通过IMU或者机器人电机编码器获取机器人行走速度和行走位移。

因为轨迹规划的控制算法是实验室其他人员在设计,目前还处于优化阶段,因此这里暂不做过多介绍。(大家有什么好的路径规划的建议,可以评论区留言或者私信哦~)

3.2 双目相机实现机器人自主避障效果(动态)

视频加速2.6倍

从上面的视频我们可以看出,机器人遇到障碍物之后行走轨迹与预先规划的轨迹一致,可以实现基础的避障功能。但是目前遇到的问题也很明显,现在机器人遇到障碍物之后实现避障,从3.1节中我们可以看出,机器人规划的路径类似于贴边行走。首先设定距离阈值,当机器人与障碍物之间的空间距离小于设定距离阈值时,机器人执行避障动作。

注:路径规划这一块还在完善,大家有什么好的建议可以在评论区留言哦~