综述《SLAM的过去、现在和将来》翻译

论文标题:《Past, Present, and Future of Simultaneous Localization》

摘要

SLAM是指同时构筑环境模型和估计在其中运动的机器人状态。在近30年来,SLAM社区已经做出了许多惊人的进步,使得大规模的实际应用进入到工业界。本文调查了SLAM目前的状态,并考虑了未来的方向。本文首先提出实际上的SLAM标准公式。随后,本文审查了最近的工作,覆盖了一系列的主题,包括长期建图的鲁棒性和可扩展性,度量和语义表达,理论表现依据,主动SLAM及探索和其他新的前沿方向。本文既是一封意向书也是一份SLAM用户的教程。通过批判性地阅读公开的研究,本文阐述了值得仔细研究的挑战和研究话题。本文也包含了两个常常在机器人会议中提起的问题:机器人是否需要SLAM?SLAM问题是否已经被解决。

I. Introduction

SLAM包括同时估计配备车载传感器的机器人的状态,以及构建传感器感知环境的模型(地图)。在简单的情况下,机器人状态由其姿势(位置和方向)描述,尽管状态中可能包括其他量,例如机器人速度、传感器偏差和校准参数。另一方面,地图是描述机器人所在环境的感兴趣物体(如地标位置、障碍物)的表示。

使用环境地图的原因有两个。首先,通常需要地图来支持其他任务:例如,地图可以通知路径规划或为操作员提供直观的可视化;其次,地图会限制在估计机器人状态时产生的错误。一方面,在没有地图的情况下,航位推算会随着时间的推移迅速漂移,另一方面,使用地图,例如一组可分辨的地标,机器人可以通过重新访问已知区域“重置”其定位误差,即所谓的回路闭合。因此,SLAM可以在所有场景中找到应用程序,尤其是在那些先前的地图不可用而需要重新构建的场景中。

在一些机器人应用中,一组地标的位置是先验的。例如,在工厂地板上操作的机器人可以提供一张人工绘制的环境中人工信标地图。另一个例子是机器人可以访问GPS的情况(GPS卫星可以被视为已知位置的移动信标)。如果可以可靠地对已知地标进行定位,则可能不需要SLAM。

SLAM问题的流行与移动机器人室内应用的出现有关。室内作业排除了使用GPS来限制定位误差;此外,SLAM为用户构建地图提供了一个有吸引力的替代方案,表明在没有特别定位基础设施的情况下,机器人操作是可能的。

Durrant Whyte和Bailey在两次调查中对SLAM问题的前20年进行了彻底的历史回顾[7,69]。这些主要包括我们所谓的古典时代(1986-2004);经典时代引入了SLAM的主要概率公式,包括基于扩展卡尔曼滤波器、Raobackwelled 粒子滤波器和最大似然估计的方法;此外,它描述了与效率和健壮数据关联相关的基本挑战。描述古典时代三种主要SLAM公式的另外两种优秀参考文献是Thrun, Burgard, and Fox 的书[240]以及Stachniss等人的章节[234,第46章]。随后的阶段是我们称之为算法分析阶段(2004-2015),Dissanayake等人在[64]中对其进行了部分介绍。算法分析阶段研究了SLAM的基本性质,包括可观测性、收敛性和一致性。在此期间,稀疏性对高效SLAM解算器的关键作用也得到了理解,并开发了主要的开源SLAM库。

我们在表一中回顾了迄今为止的主要SLAM调查,发现最近的调查仅涵盖SLAM的特定方面或子领域。如果你考虑一下SLAM所涉及的多方面问题,那么SLAM在过去30年中的流行就不足为奇了。在较低的层次上(在第二节中称为前端),SLAM自然地与计算机视觉和信号处理等其他研究领域交叉;在更高的层次上(我们后来称之为后端),SLAM是几何学、图论、优化和概率估计的完美结合。最后,SLAM专家必须处理从传感器校准到系统集成的实际问题。

本论文概述了SLAM的现状,并就SLAM研究中存在的问题和未来方向提出了部分社区的观点。我们主要关注度量和语义SLAM,我们建议读者参考Lowry等人[160]最近的调查,该调查全面回顾了基于视觉的位置识别和拓扑SLAM。

在深入研究这篇论文之前,我们首先讨论两个问题,这两个问题通常会在机器人学会议上引起讨论:(1)自主机器人需要SLAM吗?(2)SLAM是否作为一项学术研究工作解决?我们将在手稿末尾重新讨论这些问题。

回答“自主机器人真的需要SLAM吗?”需要理解是什么让SLAM独一无二。SLAM旨在利用自我运动测量和回路闭合,构建全局一致的环境表示。这里的关键词是“环路闭合”:如果我们牺牲环路闭合,SLAM将减少到里程计。在早期应用中,里程计是通过集成车轮编码器获得的。从车轮里程计获得的姿势估计值很快漂移,使估计值在几米后无法使用[128,第6章];这是SLAM发展背后的主要推动力之一:对外部地标的观测有助于减少轨迹漂移,并可能纠正它[185]。然而,最近的里程计算法基于视觉和惯性信息,并且漂移非常小(<0.5%的轨迹长度[82])。因此,这个问题变得合理:我们真的需要SLAM吗?我们的答案有三个方面。

首先,我们观察到,过去十年的SLAM研究本身产生了视觉惯性里程计算法,目前代表了最先进的水平,例如[163,175];从这个意义上讲,视觉惯性导航(VIN)是SLAM:VIN可以被视为一个简化的SLAM系统,其中环路闭合(或位置识别)模块被禁用。更一般地说,SLAM直接导致了在更具挑战性的设置(即没有GPS、低质量传感器)下对传感器融合的研究,这比以前在其他文献(如航空航天工程中的惯性导航)中考虑的要多。

第二个答案与环境的真实拓扑有关。机器人执行里程计并忽略环路闭合,将世界解释为一条“无限走廊”,机器人在其中无限期地探索新领域。回路闭合事件通知机器人该“走廊”保持自身相交。环路闭合的优点现在变得很明显:通过找到环路闭合,机器人了解环境的真实拓扑,并且能够找到位置之间的快捷方式。因此,如果获得正确的环境拓扑是SLAM的优点之一,那么为什么不干脆放弃度量信息,只进行位置识别呢?答案很简单:度量信息使位置识别更简单、更健壮;度量重构告知机器人关于环路闭合的机会,并允许丢弃虚假的环路闭合[150]。因此,尽管SLAM在原则上可能是多余的(oracle场所识别模块足以进行拓扑映射),但SLAM提供了一种自然的防御措施,防止错误的数据关联和感知混叠,在这种情况下,与环境中不同位置相对应的相似场景会欺骗场所识别。从这个意义上讲,SLAM图提供了一种预测和验证未来测量结果的方法:我们认为,这种机制是稳健运行的关键。

第三个答案是,许多应用程序都需要SLAM,无论是隐式的还是显式的,都需要全局一致的地图。例如,在许多军事和民用应用中,机器人的目标是探索环境,并向人类操作员报告地图,确保环境得到全面覆盖。另一个例子是机器人必须进行结构检查(建筑物、桥梁等);同样,在这种情况下,成功操作需要全局一致的3D重建。

“SLAM解决了吗?”在机器人学界经常被问到,c.f.[87]。这个问题很难回答,因为SLAM已经成为一个如此广泛的话题,以至于这个问题只针对给定的机器人/环境/性能组合提出。特别是,一旦指定了以下方面,就可以评估SLAM问题的成熟度:

•机器人:运动类型(如动力学、最大速度)、可用传感器(如分辨率、采样率)、可用计算资源;

•环境:平面或三维、自然或人工地标的存在、动态元素的数量、对称性的数量和感知混淆的风险。注意,这些方面中的许多实际上取决于传感器-环境对:例如,对于2D激光扫描仪,两个房间可能看起来相同(感知锯齿),而相机可能从外观线索中识别它们;

•性能要求:机器人状态估计的期望精度、环境表示的精度和类型(例如,基于地标或密集)、成功率(满足精度界限的测试百分比)、估计延迟、最大操作时间、映射区域的最大大小。

例如,使用配备轮子编码器和激光扫描仪的机器人绘制2D室内环境,具有足够的精度(<10cm)和足够的鲁棒性(比如,低故障率),可以认为基本上已经解决了(工业系统执行SLAM的一个例子是Kuka导航解决方案[145])。类似地,基于视觉的慢速移动机器人SLAM(例如火星漫游车[166]、家用机器人[114])和视觉惯性里程计[94]可以被视为成熟的研究领域。

另一方面,其他机器人/环境/性能组合仍然值得进行大量的基础研究。当机器人的运动或环境太具有挑战性时(例如,快速机器人动力学、高动态环境),当前的SLAM算法很容易失败;类似地,SLAM算法通常无法面对严格的性能要求,例如,快速闭环控制的高速率估计。这项调查将全面概述这些公开问题。

在本文中,我们认为我们正在进入第三个SLAM时代,即鲁棒感知时代,其特征是以下关键要求:

1) 鲁棒性能:SLAM系统在广泛的环境中以低故障率长时间运行;该系统包括故障安全机制,并具有自调整能力1,因为它可以根据场景调整系统参数的选择。

2) 高级理解:SLAM系统超越了基本几何重建,以获得对环境的高级理解(例如,高级几何、语义、物理、启示);

3) 资源感知:SLAM系统根据可用的感知和计算资源进行定制,并提供根据可用资源调整计算负载的方法;

4) 任务驱动感知:SLAM系统能够选择相关感知信息并过滤掉不相关的传感器数据,以支持机器人必须执行的任务;此外,SLAM系统生成自适应地图表示,其复杂性可能因手头的任务而异。

本文首先介绍了SLAM的标准公式和体系结构(第二节)。第三节处理长期SLAM中的稳健性。第四节讨论可伸缩性。第五节讨论如何表示环境的几何图形。第六节将环境表示的问题扩展到语义信息的建模。第七节概述了SLAM理论方面的当前成就。第八节扩大了讨论范围,并回顾了主动SLAM问题,其中决策用于提高SLAM结果的质量。第九节概述了SLAM的最新趋势,包括使用非传统传感器和深入学习。第十节提供了最后的评论。在整篇论文中,我们提供了许多机器人社区之外相关工作的链接。尽管SLAM有其独特的特点,但它与计算机视觉、计算机图形学和控制理论中解决的问题有关,而这些领域之间的交叉受精是实现快速进步的必要条件。

对于非专家读者,我们建议在深入研究本立场文件之前先阅读DurrantWhyte和Bailey的SLAM教程[7,69]。更有经验的研究人员可以直接跳到感兴趣的部分,在那里他们可以找到对最新技术和开放问题的全面概述。

II. Anatomy of a Modern SLAM System

SLAM系统的体系结构包括两个主要组成部分:前端和后端。前端将传感器数据抽象成便于估计的模型,而后端则对前端产生的抽象数据进行推理。该体系结构如图2所示。我们将从后端开始检查这两个组件。

最大后验(MAP)估计和SLAM后端。目前SLAM的事实上的标准制定起源于Lu和Milios的开创性论文[161],随后是Gutmann和Konolige的工作[101]。此后,许多方法提高了问题背后的优化的效率和鲁棒性[63,81,100,125,192,241]。所有这些方法都将SLAM表述为一个最大的后ori估计问题,并经常使用因子图的形式[143]来推理变量之间的相互依赖性。

注意,与卡尔曼滤波不同,MAP估计不需要运动模型和观察模型之间的明确区别:两个模型都被视为因素,并无缝地纳入估计过程中。此外,值得注意的是,在线性高斯情况下,卡尔曼滤波和MAP估计返回相同的估计,而这不是一般情况。

....

因子图是一种图形模型,它编码了第k个因子(及其测量值zk)与相应变量Xk之间的依赖关系。因子图解释的第一个优点是,它能够对问题进行有洞察力的可视化。图3显示了一个基于简单SLAM问题的因子图的例子。如图所示为变量,即机器人位姿、地标位置、摄像机标定参数,以及这些变量之间的约束因素。第二个优点是通用性:因子图可以对具有异质变量和因子的复杂推理问题进行建模,并具有任意的相互联系。此外,因子图的连通性反过来又会影响最终SLAM问题的稀疏性,详见下。

注意公式(4)是基于正态分布噪声的假设。对于噪声分布的其他假设会导致不同的代价函数;例如,如果噪声服从拉普拉斯分布,(4)中的2-范数的平方就被1-范数所取代。为了增加对离群值的恢复力,通常用稳健损失函数(如Huber或Tukey loss)代替(4)中的2-范数平方[112]。

计算机视觉专家可能会注意到问题(4)和来自Motion的结构中的束调整(BA)之间的相似之处[244];(4)和BA确实都源于最大后验提法。然而,两个关键特性使SLAM独一无二。首先,(4)中的因素不局限于BA中的投影几何模型,而是包括各种各样的传感器模型,例如惯性传感器、车轮编码器、GPS等。例如,在基于激光的映射中,这些因素通常约束不同视点对应的相对姿态,而在直接的视觉SLAM方法中,这些因素惩罚场景中同一部分的不同视图的像素强度差异。关于BA的第二个区别是,在SLAM场景中,问题(4)通常需要增量地解决:随着机器人移动,在每一个时间步都提供新的测量

最小化问题(4)通常通过逐次线性化来解决,例如,Gauss-Newton方法或Levenberg-Marquardt方法(基于凸松弛和拉格朗日对偶的替代方法将在第七节中回顾)。逐次线性化方法迭代进行,从给定的初始猜想X^,用二次代价逼近X^处的代价函数,它可以通过求解一组线性方程(所谓的正规方程)以封闭形式优化。这些方法可以无缝地推广到属于光滑流形(例如,旋转)的变量,这是机器人技术中感兴趣的[1,82]。

现代SLAM求解器背后的关键洞察力是,出现在正规方程中的矩阵是稀疏的,其稀疏结构由基础因子图的拓扑决定。这使得可以使用快速线性求解器[125,126,146,204]。此外,它允许设计增量(或在线)求解器,当获得新的观测数据时,它会更新X的估计[125,126,204]。当前的SLAM库(如GTSAM [61], g2o [146], Ceres [214], iSAM [126], SLAM++[204])能够在几秒钟内解决包含数万个变量的问题。handson教程[61,97]提供了两个最流行的SLAM库的优秀介绍;每个库还包括一组展示真实SLAM问题的示例。

迄今为止所描述的SLAM公式通常被称为最大后验估计、因子图优化、图-SLAM、全平滑或平滑与映射(SAM)。该框架的一个流行变体是位姿图优化,其中被估计的变量是沿着机器人轨迹采样的位姿,每个因素对一对位姿施加一个约束。

MAP估计已被证明比原来基于非线性滤波的SLAM方法更准确、更有效。我们请读者参考调查[7,69]对滤波方法的概述,参考[236]对滤波和平滑进行比较。我们指出,一些基于EKF的SLAM系统也已被证明达到了最先进的性能。基于ekf的SLAM系统的优秀例子包括Mourikis和Roumeliotis的多状态约束卡尔曼滤波[175]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值