你好,游客 登录 注册 发布搜索
背景:
阅读新闻

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?

[日期:2016-12-29] 来源:雷锋网  作者: [字体: ]

  SLAM主要解决机器人的实时定位与自动建图问题,那么,在实际应用时,SLAM究竟是如何实现的呢?在实现过程中有哪些难点?

  这是一个完整的SLAM和导航系统的主要架构图:

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  其中,SLAM核心过程包括3个步骤,第一步称为预处理

  我们知道,激光雷达和其他雷达设备一样,某一个时刻只能获取它所在位置的环境信息。

  这就是我们所说的点云,它只能反映机器人所在环境中的一个部分。第一步预处理就是对激光雷达原始数据进行优化,剔除一些有问题的数据,或者进行滤波。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  第二步是匹配,也就是说把当前这一个局部环境的点云数据在已经建立地图上寻找到对应的位置,这个步骤非常关键。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  这个是ICP的点云匹配算法,用于实现匹配。说这个过程关键,就是因为它的好坏,直接影响了SLAM构建地图的精度。这个过程和我们玩拼图游戏有点类似,就是在已经拼好的画面中找到相似之处,确定新的一个拼图该放在哪里。

  在SLAM过程中,需要将激光雷达当前采集的点云(红色部分)匹配拼接到原有地图中。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  如果不进行匹配过程,所构建的地图可能就乱成一团,变成这样。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  在这个部分完毕以后,就进行第三步,地图融合,也就是将这一轮来自激光雷达的新数据拼接到原始地图当中,最终完成地图的更新。

  就像这个图一样,这个过程是永远伴随SLAM过程的。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  数据融合和简单的贴图是有很大的差异的。因为实际上传感器描绘的世界存在一定的误差,或者正巧在这个时间环境有了变化,例如机器人旁边闯入了一只小猫。

  因此,实际要进行的过程会更加复杂,需要用很多概率算法,并采用滤波的方式进行融合。将上述这个过程逐次执行,就最终产生了我们看到的栅格地图。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  这个过程听起来其实并不复杂,但是要处理好有很大难度。这里举几个例子,比如叫做Loop Closure(回环)问题。如果匹配算法不足够优秀,或者环境中存在很不巧的干扰,当机器人绕着环境一圈后,就会发现原本是应该闭合的一个环形走廊断开了。

  比如正常地图应该这样:

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

如果处理不好,实际地图就成这样:

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  对于环境比较大的场景,回环问题是不得不面对的,但现实总是不完美的,即使是激光雷达这种高精度传感器,也难免存在误差。而回环问题的难点恰恰在于在一开始出现少许误差的时候,并不会被发觉,直到机器人绕着环路一圈,随着误差的累加,发现环路已经无法闭合时,此时已经酿成大错,一般很难回天。当然这个问题并不是无解,一个好的商用化SLAM系统,回环问题是否能很好的解决,就成为评判这个系统实力的指标了。

  这是前两天在我们办公室进行的测试,左边的视频是基于开源的ROS机器人操作系统进行的地图构建,右边的是基于SLAMWARE构建的地图。

  当机器人已经绕场一周后,ROS构建的地图出现了中断,而SLAMWARE构建的地图是一个完美的闭环,它与我们办公室的设计图完美重合。

机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)

  除了算法层面的回环问题,SLAM实际应用中还有很多这种坑,比如走廊问题与外界干扰问题。

  以外界干扰问题来说,通常,激光雷达作为机器人的眼睛,一般是安装在底盘上的,它能看到的视野很有限。当受到外界干扰(人类或者宠物等等)后,机器人很容易丢失定位精度,无法正常完成后续的建图工作。

 

  当机器人安装SLAMWARE后,机器人受到干扰,可以完全不受影响,照样能够正常工作。

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款