泡泡机器人的粉丝们大家好,欢迎再次回到泡泡机器人的课堂,这次我们为大家带来了郭玉峰的文章——《SLAM: 现在,未来和鲁棒年代》,本次课的内容为SLAM的简介。
摘要
SLAM是由同步环境地图构建和运行于其中的机器人状态估计组成。SLAM领域过去30年取得了令人瞩目的成就,其在大场景应用成为了可能,这一技术被见证了成功地被应用于工业领域。本文中,我们研究了SLAM最新进展,从SLAM形成的事实标准开始讲解,回顾了相关工作,这涵盖了一系列广泛的主题,包含长时间建图过程中的鲁棒性和尺度问题,建图过程中的特征和语义表示,理论上的性能保证,主动SLAM和其扩展,还有其他前沿课题。这篇文章为非专家读者提供了一个指南。这是一篇标志性的论文:本文以批判的眼光看待已有的研究成果,描述了新的挑战和问题,这些挑战和问题仍然值得人们以谨慎的科学态度持续研究。文章还讨论了作者在机器人会议上经常遇到的两个问题:机器人需要SLAM吗?SLAM有什么作用?
1. 简介
SLAM由同步的机器人状态估计和环境地图构成。举个简单的例子,机器人的状态用位姿来表示(位置和航向),尽管状态也包含其他的物理量,比如机器人速度,传感器漂移,和标定参数。地图,另一方面也代表了兴趣点(比如,路标的位置,障碍物等)描述了机器人的运行环境。
构建环境地图的需求是两方面的。首先,需要地图来支持其他任务,比如:地图可用于路径规划或提供符合直觉的可视化操作。其次,地图可以限制机器人状态估计的误差。如果没有地图,航位推算算法就会随时间变化快速漂移;另外一方面,如果给定一个地图,机器人可以再次访问之前走过的区域重置位置误差(就是所谓的回环闭合)。
有些机器人应用中,环境地图是先验信息。例如,工业机器人可以运行于人工路标中。还有例子是机器人使用GPS测量数据(卫星提供的位置信息作为移动的路标)。SLAM的普及和移动机器人的室内应用密切相关。由于室内操作局限使得室内无法利用GPS来限制定位误差;然而,SLAM提供了一种用于建图的替代方法,实践表明在缺乏热点信号的情况下机器人仍可以成功运行。
前20年SLAM问题的回顾在Durrant-Whyte和Bailey的两篇论文中有详细论述。这个报告我们称之为“古典年代”(1986-2004),古典年代时期,引入了SLAM概率论推导方法,包括基于扩展卡尔曼滤波、粒子滤波和最大似然估计;而且,这里的第一个挑战是效率和数据关联的鲁棒性问题。接下来的年代,我们称之为“算法分析”年代(2004-2015),在论文84中有部分描述。在算法分析的年代,有许多SLAM基本特性的研究,包括可观测性,收敛性和一致性。在这一时期,研究者们理解了稀疏特征在高效SLAM解决方案中的重要角色,开发了主要开源SLAM库。
表一是主要的SLAM综述一览表,我们注意到大多数综述只涵盖SLAM的某个特定方面或某一个子领域。考虑到SLAM渗透的各个方面,就不会对SLAM过去30年的普及而感到吃惊。在较低层面(我们在第2章称之为前端),SLAM必须和其他领域交叉,比如计算机视觉,信号处理;在较高层次上(我们称之为后端),SLAM融合了几何学,图理论,优化和概率估计。最后,一个SLAM专家必须处理从传感器模型构建到系统集成的各种实践问题,
本文呈现了SLAM的最新进展,展望了这一领域未解决的问题和SLAM未来的研究方向。本文总结了2015年6月罗马RSS研讨会的结论“The Problem of Mobile Sensors: Setting future goals and indicates of Progress for SLAM"。我们讨论拓扑地图构建时,主要关注特征和语义SLAM,我们队论文177视觉位置识别做了更多视觉拓扑SLAM和位置识别的解读。在研究这篇论文之前,我们讨论一下机器人会议上经常讨论的两个问题。
全自动机器人真的需要SLAM吗?回答这个问题必须理解为什么SLAM这么独特。SLAM是要构建一个全局一致性的环境表示方法,同时利用自动运动测量和回路闭合。这里的关键词是“回路闭合”:如果我们去掉回路闭合,SLAM就会退化成里程计。在早期的应用中,里程计可以通过编码器获得。编码器的位姿估计方式漂移太快,几米内估计都很不稳定;这是SLAM发展过程中的主要威胁:外部路标的观测可以有效地减小轨迹漂移甚至有可能校正它。然而,更多新的里程计算法基于视觉和惯性传感器信息,漂移非常小(小于整个轨迹长度的0.5%)。所以,这个问题就变得合理:我们真的需要SLAM吗?我们的答案分为3个方面。
首先,我们发现过去10年中,视觉惯性传感器里程计的算法发展代表了最新进展;在这种程度上视觉惯性导航就是SLAM:视觉惯性导航可以看做是一个退化的SLAM系统,其中回环闭合(位置识别)模块功能关闭。更一般的情况,
SLAM要求研究更具有挑战性的配置下(比如,没有GPS,低性能传感器)的传感器融合,这是相对其他应用而言(比如,航空工业领域的惯性导航)。
第二个答案与回环闭合有关。一个鲁棒的高性能里程计不带回环闭合,将世界理解成一个“无穷的走廊(如图1a),机器人会一直探索新的区域。回环闭合会告知机器人这个“走廊”与自己一直相交(如图1b)。现在,回环闭合的优势很清楚:通过查找回环闭合,机器人可以理解环境的真正拓扑关系,可以找到位置间的最短路径(比如,地图中的点B和C)。因此,SLAM的一个特征是得到正确的环境拓扑关系,为什么不直接获取特征信息而是位置识别呢?答案非常简单:特征信息使位置识别更简单更鲁棒;特征重构告诉机器人回环闭合的机会并且丢掉无效的回环。因此,SLAM理论上可能是多余的(一个可靠地位置识别模块就可以满足拓扑建图),SLAM可以天然地防止错误数据关联和直觉上的失真,比如相似的场景对应环境中完全不同的位置,因而可以检测位置识别。在这个意义上,SLAM地图预测并验证了测量的有效性:我们认为这个机制是鲁棒操作的关键。
第三个答案是SLAM是必须的,很多应用都内在或外在地需要一个全局一致性的地图。例如,在许多军事与民生工程应用中机器人的目标是探索环境生成地图。另外一个类似的例子是机器人用于检查结构状况(建筑物,桥梁等);在这个例子中需要一个全局一致性3D重构。
必须根据不同的需求来分辨SLAM的组件哪些部分更适合。因此,当一个机器人专家设计SLAM系统时,他需要面对多种设计选择。比如,是否采用拓扑地图分析一个给定的地点是否可以到达,但对于运动规划和低层控制并不合适;一个局部一致性的特征地图更适合避障和与环境局部交互,但它可能会牺牲精度;一个全局一致性的特征地图可以使机器人执行全局路径规划,但用于计算和维护的资源要求较高。更一般的方法是选择合适的SLAM系统,将它作为一个总结机器人过去所有观测值的统计机制计算足够多的统计数据,在这个意义上,需要获取哪些信息与具体的任务深度相关。
SLAM有什么作用?这是另一个机器人领域常问的问题。回答这个问题的难度在这个问题本身:SLAM是一个比较宽泛的话题,这个问题很好地定位在一个机器人/环境/性能的组合中。人们可以从以下几个方面来评估一个SLAM问题的成熟度:
机器人:运动类型(比如,运动状况,最大速度),可用的传感器(如,分辨率,采用率),可用的计算资源;
环境:平面或三维的,自然路标或人工路标,动态元素的数量,对称的数量和感知混淆的风险。这些方面都依赖于传感器与环境的匹配;比如,两个房间对2D激光扫描仪来说看起来可能一样(感知混淆),但相机可以从外观线索上分辨它们;
性能要求:机器人状态估计中的期望精度,环境表示的精度和类型(比如,基于路标的或稠密云点),成功的概率(满足精度边界的测试结果的百分比),估计延时,最大运行时间,最大地图面积。
比如,构建一个2D室内环境,机器人配备了编码器和激光扫描仪,有足够的精度(
我们总结一下关于SLAM未来要考虑的问题。我们发现我们正进入SLAM的第三个时代,鲁棒性觉醒的时代,它具有以下特征:
1)鲁棒性能:这一时期SLAM系统在任意环境总运行的失效率较低;系统具有失效保护机制且具有自动调整的功能可以根据应用场景自动选择系统参数;
2)高层次的理解力:SLAM系统已经除了基本的几何重建还能够在更高层次上理解环境信息(比如,语义,可供性,高层几何意义,物理意义);
3)资源敏感:SLAM系统可以进行裁剪以满足现有传感器和计算资源,也可以根据现有资源调整计算负载;
4)对任务驱动的判断:SLAM系统可以自适应地表示地图,其复杂度可以根据机器人执行的任务而改变。
文章的结构。论文首先提供SLAM的标准格式和架构(如第2章)。第3章讨论了SLAM的鲁棒性。第4章提到了可测量性问题。第5章讨论了环境的几何表示。第6章扩展了环境表示问题,构建语义信息表示模型。第7章展现了SLAM理论方面取得的进展。第8章扩展了这些讨论,回顾了主动SLAM问题,如何做决策以提高SLAM系统结果的质量。第9章展望了SLAM的最新趋势,包括一些非传统的传感器的使用和一些新方法。第10章是本文的备注。纵观全文,我们提供了很多方向都超出了机器人领域的范围。尽管有其自身的独特性,SLAM与计算机视觉,计算机图形学,控制理论,这些领域的交叉互促使SLAM发展格外迅速。
对于非专家读者,在深入研究本文之前,我们推荐先阅读Durrant-Whyte和Bailey的SLAM指南。有经验的读者可以直接进入相关章节寻找感兴趣的话题,可以看到该领域的最新进展和未解决的问题。
这次课就到这里,下次课将给大家带来的是现代SLAM系统,敬请期待。
由于引用过多,需要查看引用文献的读者可以搜索英文原文《Simultaneous Localization And Mapping: Present, Future, and the Robust-Perception Age》,或者通过该链接 https://arxiv.org/pdf/1606.05830v1.pdf 下载英文原文查阅。之后的课中不再说明。
【版权声明】泡泡机器人SLAM的所有文章全部由泡泡机器人的成员花费大量心血制作而成的原创内容,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
【注】商业转载请联系刘富强([email protected])进行授权。普通个人转载,请保留版权声明,并且在文章下方放上“泡泡机器人SLAM”微信公
众账号的二维码即可。
【编辑】王琛