SLAM

喜欢而已 提交于 2020-02-02 01:07:19

前几天陆续有多个同学在公众号中留下了这段室外自动无人赛车运行录像。录像中的赛车在开始的一段时间内,缓慢行进在比赛场地内。场地上是由一些交通锥桶组成了一个封闭的赛道环境。

真正令人激动的时刻开始于录像中的36秒钟。在经过了一周搜索建立地图之后,伴随着令人血脉喷张赛车马达的轰鸣声,赛车开始在场地内极速奔跑起来。

^无人赛车运行视频 | 公众号留图^

从上述赛车行进图像以及右侧实时给出建立地图和搜索过程来看,对赛车进行导航的技术是SLAM技术,即:Simultaneous Localization and Mapping, 同时定位与建图技术。

对于任何一个无人操作的机器人或者汽车,都需要回答这是什么地方,自己在哪里,如何规划自己的行进路径等。在SLAM中第一个技术是定位(Localization),回答自己的周围是什么,这是什么地方的问题。第二个技术是建立地图(Mapping),回答自己在那里。

有了以上信息,便可以随后进行路径规划(Navigation)为完成任务进行自主导航。

image

德国达姆施塔特理工大学研发机器人使用激光雷达来走迷宫

SLAM是智能车利用自身的传感器来感知自身和外界信息,逐渐完成环境地图创建,并进行自身的定位技术。这些传感器包括有罗盘、加速度计、例程仪(内部传感器),视觉传感器,激光雷达(外部传感器)等。其中外部传感器非常关键,根据感知外部环境的手段可以将SLAM分为视觉SLAM,WiFi-SLAM与激光雷达SLAM等。

其中视觉SLAM适合于外部环境变化、具有丰富纹理和角点。激光雷达则在周围环境中具有丰富立体物体(颜色可以单一)场景中。在前面赛车视频中应该是采用了激光SLAM技术。

SLAM算法现在已经集成在ROS(Robotic Operation System)中,配置有激光雷达便可以提供SLAM功能。下图显示了北京金刚侠机器人公司在操场内搭建的 一个复杂类似迷宫的通道,配有激光雷达的小车进行行进的实验场景。

室外Lidar-SLAM导航智能车模

该车模上配备有室外单线激光雷达,IMU(惯性传感器单元)。在自主导航之前,可以先由人工控制,或者自主控制完成对迷宫赛道一周的探索,建立地图。

然后就可以根据设定的起始点和结束位置进行自主行进了。从这个过程来看,很像是一个扩大了的电子老鼠比赛。

电子老鼠迷宫赛道,场景相对简单,运动的机械老鼠只需要感知周围很少的信息,进行简单的逻辑判断便可以行进了。对于前面的智能车模,则除了定位自己之外,还需要根据赛道中可以行进的路径完成最佳路径规划,同时还要对新出现的障碍物进行检测和躲避。

image

电子老鼠比赛

下面的录像显示了车模在人工控制下穿越迷宫赛道过程中,使用SLAM算法建立地图的动态过程。

此时在迷宫赛道中并没有放置锥桶障碍。车模得到的只是外部围挡所给定的赛道边界。实际上,赛道边界中的拐弯点给了SLAM很大的帮助。如果缺少了这些拐弯点,看赛赛道简单了,但对于SLAM过程可能会产生比较大的累积误差。

车模进行SLAM建立地图过程

地图建立完毕之后,车模便可以在其中进行自主运行了。从给定的起始点到终点。在此过程中课程在赛道中随机布置锥桶障碍,车模在行进过程中仍然可以检测到这些新出现的锥桶的位置,并根据已有的地图完成可通过路径的规划,并导航行进。

上面出现的障碍是固定静止的,这种情况相对比较简单。

在一个动态变化的环境中,如果障碍很多,而且在不停的变化,此时就会需要占用更多的计算资源和存储空间来对运动空间中的数据进行滤波处理。

image

双车模使用SLAM导航行进

用于室外自主导航的激光雷达,价格比较昂贵。虽然使用视觉SLAM,可以基于价格相对偏移的摄像头感知环境,但所需要的计算资源相对比较多,算法难度较高。在普通的ROS中集成了的SLAM算法大都基于激光雷达数据。

即使基于激光雷达,完成SLAM运算也需要较高的计算资源,普通单片机的计算和存储资源很难满足要求,则需要更加强劲的单片机完成控制。

但有一个问题,

进行室外智能车比赛中,需要进行SLAM吗?image

室外光电组智能车竞赛场地

对于第一个视频中展示的,只有锥桶形成赛道的情况,估计需要先完成SLAM,才能够运行。而对于第二个视频中由围挡组成的迷宫赛道,实际上可以采用电子老鼠的策略,无需进行SLAM,仅仅利用感知前面路障和赛道边缘便可以进行自主导航。

今年智能竞赛中计划增添一组创意比赛:即室外光电的智能比赛,赛道是由围挡组成的赛道,其中包括一些随机锥桶。比赛采用多辆小车同时出发比赛的形式。如果你们组队参加,会使用SLAM技术吗?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!