综述《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],以及Kottas等人[139]和Hesch等人[105]的VIN系统。不足为奇的是,当EKF的线性化点是准确的(就像视觉惯性导航问题中发生的那样),当使用滑动窗口滤波器,以及当EKF中潜在的不一致源被考虑在内时,滤波和MAP估计之间的性能不匹配会变得更小[105,108,139]

与传感器密切相关的前端。在实际的机器人应用程序中,可能很难像MAP估计中所要求的那样,直接将传感器测量值编写为状态的解析函数。例如,如果原始传感器数据是一幅图像,则可能很难将每个像素的强度表示为SLAM状态的函数;同样的困难也出现在较简单的传感器上(例如,只有一束激光)。在这两种情况下,问题都与一个事实有关,即我们无法设计一个足够普遍且易于处理的环境表征;即使存在这样一个普遍的表示,也很难写出一个解析函数,将测量值与这样一个表示的参数联系起来。

因此,在SLAM后端之前,通常有一个模块,即前端,从传感器数据中提取相关特征。例如,在基于视觉的SLAM中,前端提取环境中少数可区分点的像素位置;这些点的像素观测现在很容易在后端建模。前端还负责将每个测量数据与环境中的特定地标(比如3D点)联系起来:这就是所谓的数据关联。更抽象地说,数据关联模块将每个测量值zk与一个未知变量子集Xk关联,使zk = hk(Xk)+ k。最后,前端还可以对非线性优化中的变量(4)提供一个初始猜测。例如:在基于特征的单目SLAM中,前端通常负责地标的初始化,通过对多视图地标的位置进行三角定位。

图2给出了一个典型的SLAM系统的图形表示。前端的数据关联模块包括短期数据关联块和长期数据关联块。短期数据关联负责关联连续传感器测量中的相应特征;例如,短期数据关联将跟踪连续帧中的2个像素测量正在描绘同一个3D点的事实。另一方面,长期数据关联(或循环闭包)负责将新的测量值与旧的地标相关联。我们注意到后端通常会将信息反馈给前端,例如,支持环路闭合检测和验证。

在前端发生的预处理是依赖于传感器的,因为特征的概念会根据我们考虑的输入数据流而变化。

III. Long-term autonomy I : Robustness

SLAM系统可能在许多方面都很脆弱:故障可能与算法或硬件相关。前一类包括由于现有SLAM算法的限制而导致的故障模式(例如,难以处理极端动态或恶劣环境)。后者包括由于传感器或执行器退化而导致的故障。明确解决这些故障模式对于长期运行至关重要,在长期运行中,人们无法再对环境结构(例如,大部分为静态)进行简化假设,也不能完全依赖车载传感器。在本节中,我们将回顾算法鲁棒性面临的主要挑战。然后我们讨论开放性问题,包括对硬件相关故障的鲁棒性。

算法失败的主要原因之一是数据关联。如第二节所述,数据关联将每个测量与测量所指的状态部分相匹配。例如,在基于特征的视觉SLAM中,它将每个视觉特征与特定的地标相关联。感知混淆,即不同的感官输入导致相同的传感器信号的现象,使得这个问题特别困难。在存在感知混叠的情况下,数据关联会建立错误的测量状态匹配(异常值或误报),这反过来会导致来自后端的错误估计。另一方面,当数据关联决定不正确地拒绝传感器测量作为虚假(假阴性)时,较少的测量用于估计,导致估计精度下降。

环境中存在未建模动态,包括短期和季节性变化,这可能会欺骗短期和长期数据关联,从而使情况变得更糟。在当前的SLAM方法中,一个相当常见的假设是,当机器人在其中移动时,世界保持不变(换句话说,地标是静态的)。这种静态世界假设适用于小规模场景中的单个映射运行,只要不存在短期动态(例如,人和对象四处移动)。当在较长的时间尺度和较大的环境中绘制地图时,变化是不可避免的。

健壮性的另一个方面是在恶劣环境中(如水下)进行SLAM[73,131]。这种情况下的挑战是能见度有限、条件不断变化以及无法使用传统传感器(如激光测距仪)。

简要调查。与错误数据关联相关的健壮性问题可以在SLAM系统的前端和/或后端解决。传统上,前端负责建立正确的数据关联。短期数据关联更容易处理:如果传感器的采样率相对较快,与机器人的动力学相比,跟踪对应于相同3D地标的特征更容易。例如,如果我们想要在连续图像中跟踪3D点,并假设帧率足够高,则基于描述符匹配或光流的标准方法[218]可确保可靠的跟踪。直观地说,在高帧速率下,传感器(摄像机、激光器)的视点不会发生显著变化,因此t+1时的特征(及其外观)与t时观察到的特征保持接近。前端的长期数据关联更具挑战性,涉及环路闭合检测和验证。对于前端的环路闭合检测,在当前测量中检测特征(如图像)并尝试将其与之前检测到的所有特征进行匹配的蛮力方法很快变得不切实际。Bag of words模型[226]通过量化特征空间并允许更高效的搜索来避免这种棘手问题。单词包可以排列成分层词汇树[189],从而在大规模数据集中实现高效查找。基于单词包的技术(如[53])在单会话循环结束检测任务上表现出了可靠的性能。然而,这些方法无法处理严重的光照变化,因为视觉单词无法再匹配。这导致开发出新的方法,通过匹配序列[173],将不同的视觉外观收集到一个统一的表示[48],或使用空间和外观信息[106],明确说明这种变化。Lowry等人[160]对视觉位置识别进行了详细的调查。基于特征的方法也被用于检测基于激光的SLAM前端的环路闭合;例如,Tipaldi等人[242]提出了2D激光扫描的FLIRT特征。

相反,回路闭合验证包括额外的几何验证步骤,以确定回路闭合的质量。在基于视觉的应用中,RANSAC通常用于几何验证和异常值剔除,参见[218]及其参考文献。在基于激光的方法中,可以通过检查当前激光扫描与现有地图的匹配程度(即扫描匹配产生的残余误差有多小)来验证环路闭合。

尽管在前端对循环闭包检测的鲁棒性方面取得了进展,但在存在感知混叠的情况下,将错误的循环闭包馈送到后端是不可避免的。错误的循环闭包会严重破坏映射估计的质量[238]。为了解决这个问题,最近的一项研究[33,150,191,238]提出了一些技术,使SLAM后端能够抵御虚假测量。这些方法通过观察优化过程中由约束引起的残余误差来判断循环闭合约束的有效性。相反,其他方法试图通过识别里程计不支持的错误环路闭合来预先检测异常值,即在进行任何优化之前[215]。

在动态环境中,挑战是双重的。首先,SLAM系统必须检测、丢弃或跟踪变化。虽然主流方法试图放弃场景的动态部分[180],但一些作品将动态元素作为模型的一部分[11,253]。第二个挑战是,SLAM系统必须对永久性或半永久性变化进行建模,并了解如何以及何时相应地更新地图。处理动态性的当前SLAM系统要么保持同一位置的多个(时间相关的)地图[60],要么具有由某个时变参数参数化的单一表示[140].

开放性问题。在本节中,我们将回顾长期SLAM中出现的开放性问题和新的研究问题。

故障保护SLAM和恢复:尽管在SLAM后端取得了进展,但当前的SLAM解决方案在存在异常值时仍然很脆弱。这主要是由于几乎所有鲁棒SLAM技术都基于非凸成本的迭代优化。这有两个后果:第一,异常值拒绝结果取决于反馈给优化的初始猜测的质量;其次,该系统本身就很脆弱:包含一个孤立点会降低估计的质量,进而降低以后识别孤立点的能力。这些类型的故障会导致不正确的线性化点,从该点开始恢复并非易事,尤其是在增量设置中。理想的SLAM解决方案应具有故障安全性和故障意识,即系统需要意识到即将发生的故障(例如,由于异常值或退化)并提供可重新建立正常运行的恢复机制。现有的SLAM方法都没有提供这些功能。实现这一点的一个可能方法是在前端和后端之间进行更紧密的集成,但如何实现这一点仍然是一个悬而未决的问题。

对硬件故障的鲁棒性:虽然解决硬件故障可能出现在SLAM范围之外,但这些故障会影响SLAM系统,而SLAM系统在检测和缓解传感器和移动故障方面可以发挥关键作用。如果传感器的精度因故障、非标称条件或老化而降低,则传感器测量的质量(例如噪声、偏差)与后端使用的噪声模型不匹配,从而导致较差的估计。这自然提出了不同的研究问题:我们如何检测退化的传感器操作?我们如何相应地调整传感器噪声统计(协方差、偏差)?更一般地说,我们如何解决来自不同传感器的冲突信息?这在安全关键应用(例如,自动驾驶汽车)中似乎至关重要,在这些应用中,对传感器数据的误解可能会危及人的生命。

度量重定位:与基于特征的方法相比,基于外观的方法能够在白天和夜晚序列之间或不同季节之间闭合循环,由此产生的循环闭合本质上是拓扑的。对于度量重定位(即,相对于先前构建的地图估计相对姿态),基于特征的方法仍然是标准;然而,当前的特征描述符缺乏足够的不变性,无法在这种情况下可靠地工作。SLAM问题固有的空间信息,如轨迹匹配,可以用来克服这些限制。此外,使用一个传感器模态(例如,3D激光雷达)进行映射,并使用不同的传感器模态(例如,相机)在同一地图中进行定位是一个有用的补充。沃尔科特等人[260]的工作是朝着这个方向迈出的第一步。

时变和可变形贴图:主流SLAM方法是在考虑刚性和静态世界假设的情况下开发的;然而,由于动力学以及对象固有的可变形性,现实世界是非刚性的。理想的SLAM解决方案应该能够对环境中的动态进行推理,包括非刚性、长时间工作生成“全地形”地图,并且能够实时进行推理。在计算机视觉领域,自80年代以来,已经有几次尝试从非刚性对象恢复形状,但适用性有限。非刚性SfM(如[91,96])的最新结果限制性较小,但仅适用于小场景。在SLAM社区中,纽科姆贝等人[182]提出了小规模重建的非刚性案例。然而,在大比例尺上解决非刚性贴图的问题在很大程度上仍有待探索。

自动参数调整:SLAM系统(尤其是数据关联模块)需要进行广泛的参数调整,以便在给定场景下正常工作。这些参数包括控制特征匹配的阈值、RANSAC参数以及决定何时向图形添加新因子或何时触发循环关闭算法以搜索匹配的标准。如果SLAM必须在任意场景下“开箱即用”,则需要考虑自动调整相关参数的方法。

IV. Long-term Autonomy II: Scalablity

虽然现代SLAM算法已经成功地在室内建筑规模的环境中得到了验证,但在许多应用中,机器人必须在更大的区域内进行长时间的操作。这些应用包括用于环境监测的海洋勘探、不断变化的城市中的不间断清洁机器人,或大规模精准农业。对于这样的应用程序,由于不断探索新的地方和操作时间的增加,基于SLAM的因子图的大小可以无限制地增长。在实践中,计算时间和内存占用是受限于机器人的资源。因此,设计计算复杂度和内存复杂度都有限制的SLAM方法具有重要意义。

在最坏的情况下,基于直接线性求解器的连续线性化方法意味着内存消耗会随着变量数量的增加而二次增长。当使用迭代线性求解器(例如,共轭梯度[62])时,内存消耗会随着变量的数量线性增长。更复杂的是,当多次重新访问一个地方时,因子图的优化效率降低,节点和边不断添加到同一个空间区域,削弱了图的稀疏性结构。

在本节中,我们将回顾一些当前控制或至少减少问题规模增长的方法,并讨论尚未解决的挑战。

简短的调查。我们关注两种降低因子图优化复杂度的方法:(i)稀疏化方法,它可以在内存和计算效率中权衡信息损失;(ii)核外和多机器人方法,它可以在多个机器人/处理器之间分割计算。

节点和边缘稀疏化:这类方法通过减少向图中添加的节点数量,或者通过修剪信息量较小的节点和因子来解决可伸缩性问题。Ila等人[115]使用一种信息论方法,只向图中添加非冗余节点和高信息量的度量。Johannsson等人[120]在可能的情况下,通过在现有节点之间引入新的约束来避免向图中添加新的节点这样变量的数量只会随着探索空间的大小而增长,而不会随着映射的持续时间而增长。Kretzschmar等人[141]提出了一种基于信息的准则来确定在位姿图优化中哪些节点被边缘化。Carlevaris-Bianco和Eustice[28]以及Mazuran等人[170]分别引入了通用线性约束(GLC)因子和非线性图稀疏化(NGS)方法。这些方法对边缘节点的马尔可夫覆盖进行操作,并计算该覆盖的稀疏近似。Huang等人[107]通过求解1-正则化最小化问题来稀疏Hessian矩阵(出现在正规方程中)。

另一种可以减少随时间推移估计的参数数量的方法是连续时间轨迹估计。这种类型的第一个SLAM方法是由Bibby和Reid提出的,使用三次样条来表示机器人[12]的连续轨迹。在他们的方法中,因子图中的节点表示样条的控制点(结点),这些控制点以滑动窗口的方式进行优化。后来,Furgale等人[88]提出利用基函数,特别是b样条,在批量优化公式中近似机器人轨迹。滑动窗口b样条公式也被用于滚动快门相机的SLAM中,Patron-Perez等人[196]提出了基于地标的表示方法,Kim等人[133]提出了半密集直接表示方法。最近,Mueggler等人[177]将连续时间SLAM公式应用于基于事件的相机。Bosse等人[21]将连续三维扫描匹配公式从[19]扩展到大规模SLAM应用。后来,Anderson等人[4]和Dube等人[67]分别提出了利用小波或在轨迹上采样非均匀结的更有效的实现方法。Tong等人[243]将轨迹的参数化由基曲线改为高斯过程表示,其中因子图中的节点是实际的机器人姿态,任何其他姿态都可以通过计算给定时间的后均值进行插值。在第一种方案中,需要一个昂贵的批量高斯牛顿优化来求解状态。Barfoot等人[3]提出了一种带有精确稀疏逆核的高斯过程,大大减少了批量解的计算时间。

核外(并行) SLAM:用于SLAM的并行核外算法将因子图优化的计算(和内存)负载分散在多个处理器之间。其关键思想是将因子图划分为不同的子图,通过对每个子图交替局部优化来优化整体图,并进行全局优化。相应的方法通常被称为子图算法,这个想法可以追溯到最初处理大规模地图[18]的尝试。Ni等人[187]和Zhao等人[267]提出了因子图优化的子图方法,将子图组织成二叉树结构。Grisetti等人[98]提出了一种子图层次结构:每当获得一个观测数据时,就会修改层次结构的最高层次,只有受到重大影响的区域才会在较低层次上发生变化。有些方法在两个并行运行的线程中近似解耦定位和建图,如Klein和Murray[135]。其他方法采用并行求解不同阶段的方法:受[223]的启发,Strasdat等人[235]采用两阶段方法,首先优化局部姿态特征图,然后优化姿态图;Williams等人[259]在周期性同步的高频滤波器和低频平滑器中进行分裂因子图优化。

分布式多机器人SLAM:绘制大规模环境地图的一种方法是部署多个机器人进行SLAM,并将场景划分为较小的区域,每个区域由不同的机器人绘制。这种方法有两个主要变种:集中式,在机器人构建子图,并将局部信息发送到负责推理的中心站[66,210];分散式,没有中央数据融合,代理利用局部联通达成一致的地图。Nerurkar等人[181]提出了一种基于分布共轭梯度的协同定位算法。阿拉古兹等人的[5]研究了基于共识的地图合并方法。Knuth和Barooah[137]使用分布式梯度下降法估计3D姿势。在Lazaro等人[151]中,机器人交换部分因子图,这些因子图以压缩测量的形式近似,以最小化通信。Cunnigham等人[54]使用高斯消去,并开发了一种称为DDF-SAM的方法,其中每个机器人在隔板上交换一个高斯边际(即多个机器人共享的变量)。最近一项关于多机器人SLAM方法的研究可以在[216]中找到。

虽然高斯消去已经成为一种流行的方法,但它有两个主要缺点。首先,机器人之间要交换的边界是密集的,并且通信成本是隔板数量的二次方;这促使人们使用稀疏化技术来降低通信成本[197]。第二个原因是高斯消去是在问题的线性化版本上执行的,因此像DDF-SAM[54]这样的方法需要良好的线性化点和复杂的簿记,以确保整个机器人的线性化点的一致性。另一种高斯消去方法是Choudhary等人[47]的Gauss-Seidel方法,它意味着通信负担与分隔符的数量成线性关系。

开放的问题。尽管在降低因子图优化复杂性方面做了大量的工作,但文献在其他与长期操作相关的方面存在较大的空白。

地图表示:一个相当未被探索的问题是如何在长期操作期间存储地图。即使内存不是一个严格的限制,例如数据存储在云上,原始表示如点云或体积图(也见第五节)在内存方面是浪费的;类似地,为基于视觉的SLAM存储特征描述符很快就变得很麻烦。最近有人提出了一些针对已知压缩地图的局部化的初始解决方案[163],以及用于内存高效的密集重建[136]。

学习、遗忘、记忆:长期地图绘制的一个相关的开放问题是,多久更新一次地图中包含的信息,以及如何判断这些信息何时过时或可以丢弃。什么时候可以忘记,如果可以的话?在这种情况下,什么是可以忘记的,什么是必须保持的?地图的某些部分是否可以在需要时被卸载和回收?虽然这显然是与任务相关的,但在文献中还没有针对这些问题提出可靠的答案。

鲁棒分布式建图: 虽然在单个机器人的情况下已经提出了异常值拒绝的方法,但关于多机器人SLAM的文献几乎没有处理异常值问题。处理伪测量数据尤其具有挑战性,原因有二。首先,机器人可能不会共享一个共同的参考框架,这使得检测和拒绝错误的循环闭包变得更加困难。其次,在分布式设置中,机器人必须从非常局部和局部的信息中检测离群值。解决这一问题的一个早期尝试是[84],机器人在融合信息之前使用会合策略主动验证位置假设。Indelman等人[117]提出了一种概率方法来建立一个面对虚假测量的公共参考坐标系。

资源受限的平台:另一个相对未被探索的问题是如何使现有的SLAM算法适应机器人平台具有严格计算约束的情况。当平台的尺寸按比例缩小时,如手机、微型飞行器或机器昆虫,这个问题就变得非常重要[261]。许多SLAM算法过于昂贵,无法在这些平台上运行,我们希望有这样一种算法,它可以调整一个把手,允许在计算成本中温和地权衡准确性。类似的问题也出现在多机器人环境中:当面临紧张的带宽限制和通信中断时,如何保证多机器人团队的可靠运行?Cieslewski et al.[49]的版本控制方法是这一方向的首次研究。

V. REPRESENTATION I: METRIC MAP MODELS

本节讨论如何在SLAM中进行几何建模。更正式地说,度量表示(或度量地图)是一种编码环境几何的符号结构。我们认为,理解如何为SLAM选择合适的度量表示(并扩展目前在机器人领域中使用的集合或表示)将影响许多研究领域,包括长期导航、与环境的物理交互以及人-机器人交互。

在2D的情况下,几何建模看起来要简单得多,只有两种主要的范例:基于地标的地图和占用网格地图。前者将环境建模为一个稀疏的地标集,后者将环境离散到细胞中,并为每个细胞分配一个占领概率。在二维情况下,这些表示的标准化问题已经由IEEE RAS地图数据表示工作组解决,该工作组最近发布了机器人领域的二维地图标准[113];该标准为平面环境(加上拓扑图)定义了两种主要的度量表示,以促进数据交换、基准测试和技术转移。三维几何建模的问题比较复杂,在绘图过程中如何高效地建模三维几何还处于起步阶段。

我们的分类法从[80,209,221]中获得灵感,并包括指向更近期工作的指针。Landmark-based稀疏表示。大多数SLAM方法将场景表示为一组稀疏的3D地标,对应于环境中的判别特征(如线、角)[179];一个例子如图4(左)所示。这些通常被称为基于地标或基于特征的表示,自早期定位和地图绘制工作以来,已经广泛应用于移动机器人,并在计算机视觉中应用于Motion的Structure[2,244]。基于这些表示的一个常见假设是,地标是可区分的,即传感器数据测量地标的某些几何方面,但也提供一个描述符,在每个测量值和相应的地标之间建立一个(可能不确定的)数据关联。之前的工作还研究了不同的三维地标参数化,包括全局和局部笛卡尔模型,以及深度逆参数化[174]。虽然大量的工作集中在点特征的估计上,但机器人技术文献包括对更复杂的几何地标的扩展,包括线、段或弧[162]。

低级的原始密集表示。与基于地标的表示相反,密集表示试图提供3D几何图形的高分辨率模型;这些模型更适合于避障,也更适合于可视化和渲染,见图4(右)。在密集模型中,原始表示通过大量的非结构化点集(即点云)或多边形(即多边形汤[222])来描述三维几何。点云与立体和RGB-D相机以及3D激光扫描仪一起被广泛应用于机器人技术中[190]。这些表示方法最近在单目SLAM中得到广泛应用,结合直接方法[118,184,203],直接从所有图像像素的强度值估计机器人的轨迹和3D模型。稍微复杂一点的表示是surfel maps,它将几何图形编码为一组盘[104,257]。虽然这些表示形式在视觉上令人愉快,但它们通常很繁琐,因为它们需要存储大量数据。此外,它们给出了一个较低层次的几何描述,例如,忽略了障碍物的拓扑结构。

边界和空间划分稠密表示。这些表示超越了低级原语(例如,点)的非结构化集合,并尝试显式地表示表面(或边界)和体积。这些表征有助于完成诸如运动或脚步规划、避障、操作和其他基于物理的推理(如接触推理)等任务。边界表示(b-rep)根据其表面边界定义3D对象。特别简单的边界表示是基于平面的模型,Castle等人[44]和Kaess[126,162]曾将其用于映射。更一般的breps包括基于曲线的表示(例如,NURBS或b样条的张量积),表面网格模型(多边形的连接集),以及隐式表面表示。后者将固体的曲面指定为在R3上定义的函数[16]的零交叉;函数的例子包括径向基函数[38]、带符号距离函数[55]和截断的带符号距离函数(TSDF)[264]。TSDF是目前基于视觉的SLAM在机器人领域的一种流行的表现形式,在开创性的工作之后越来越受到关注[183]。网格模型也在[257,258]中得到了应用。

空间划分表示将3D对象定义为一组相邻的非相交基元的集合。最流行的空间划分表示是所谓的空间占用枚举,它将3D空间分解成相同的立方体(体素),排列在一个规则的3D网格中。更有效的分区方案包括八叉树、Polygonal Map八叉树和Binary Space-Partitioning tree [80, x12.6]。在机器人技术中,八叉树表示已被用于3D映射[75],而常用的占用网格地图[71]可被认为是空间分区表示的概率变体。在没有悬挂障碍的3D环境中,2.5D高程图也被用于[23]。在讨论更高层次的表示之前,让我们更好地理解在视觉SLAM中,稀疏(基于特征的)表示(和算法)如何与密集表示进行比较。

哪种方法最好:基于特性的方法还是直接的方法?基于特性的方法是相当成熟的,有很长的成功历史。它们允许构建具有自动重新定位和环路闭合功能的精确而健壮的SLAM系统[179]。然而,这样的系统依赖于环境中特征的可用性、对检测和匹配阈值的依赖,以及大多数特征检测器是为速度而不是精度而优化的事实。另一方面,直接方法利用原始像素信息,而密集直接方法利用图像中的所有信息,即使是在梯度很小的区域;因此,在纹理较差、离焦和运动模糊的场景中,它们可以优于基于特征的方法[184,203]。然而,它们需要高计算能力(gpu)来实现实时性能。此外,如何联合估计致密结构和运动仍然是一个开放的问题(目前只能按次序进行估计)。为了避免基于特征的方法的警告,有两种选择。半密集方法克服了密集方法对计算量的高要求,只利用具有强梯度(即边缘)的像素[72,83];半直接方法则利用稀疏特征(如角或边)和直接方法[83],并被证明是最有效的方法[83];此外,由于它们依赖于稀疏特征,因此可以对结构和运动进行联合估计。

高层对象的表示。虽然点云和边界表示目前在密集映射领域占主导地位,但我们设想,更高层次的表示,包括物体和实体形状,将在SLAM的未来发挥关键作用。在SLAM中包含基于对象推理的早期技术包括SalasMoreno等人的SLAM++ [217], Civera等人的[50]和Dame等人的[56]。固体表示明确地编码了这样一个事实:真实的物体是三维的,而不是一维(即点)或二维(表面)。将物体建模为固体形状可以将体积和质量等物理概念与每个物体联系起来,这对于需要与世界互动的机器人来说无疑是非常重要的。幸运的是,现有的CAD和计算机图形学文献为这些发展铺平了道路。在下面,我们列出了几个还没有在SLAM上下文中使用过的实体表示的例子:

  • 参数化的原始对象实例化:依赖于对象族的定义(例如,圆柱体,球体)。对于每个族,定义一组参数(例如,半径,高度),用来唯一地标识族的一个成员(或实例)。这种表示可能对SLAM感兴趣,因为它可以使用非常紧凑的模型,同时仍然可以捕获人造环境中的许多元素。
  • 扫描表示:将固体定义为沿空间轨迹的二维或三维物体的扫描。典型的扫描表示包括平移扫描(或挤压扫描)和旋转扫描。例如,圆柱体可以表示为圆沿着与圆平面正交的轴的平移扫描。二维横截面扫描在计算机视觉[13]中被称为广义圆柱体,它们已被用于机器人抓取[200]。这种表现方式似乎特别适合在场景的遮挡部分,通过利用对称性。
  • 构造立体几何:通过基元之间的布尔运算来定义复杂立体[209]。对象以树的形式存储,其中叶是原语,边表示操作。这种表示法可以对相当复杂的几何图形进行建模,在计算机图形学中被广泛使用。

在总结这篇综述时,我们提到了其他类型的表示,包括CAD中基于特征的模型[220],基于字典的表示[266],基于功能支持的模型[134],生成和过程模型[172],以及场景图[121]。特别是基于字典的表示,它将固体定义为字典中原子的组合,在机器人技术和计算机视觉中已经得到了考虑,字典是根据数据[266]或基于现有的对象模型库[149,157]学习的。

开放的问题。以下关于SLAM的度量表示的问题值得大量的基础研究,而且仍有很多未被探索的问题。

SLAM中的高级表达表示:虽然目前大多数机器人社区都在关注点云或TSDF来建模3D几何图形,但这些表示方式有两个主要缺点。首先,它们浪费内存。例如,这两种表示都使用许多参数(即点、体素)来编码哪怕是一个简单的环境,比如一个空房间(这个问题可以通过所谓的体素哈希来部分缓解[188])。其次,这些表示并不提供任何对3D几何结构的高层次理解。例如,考虑这样一个情况,机器人必须弄清楚它是在一个房间里还是在走廊里移动。点云不能提供有关环境类型(例如,房间与走廊)的可用信息。另一方面,更复杂的模型(例如,参数化基元实例化)将提供简单的方法来区分这两个场景(例如,通过查看定义基元的参数)。因此,在SLAM中使用更高层次的表示有三个保证。首先,使用更紧凑的表示形式将为大规模制图中的地图压缩提供一个自然的工具。其次,高级表示将提供对象几何的高级描述,这是一个理想的特征,以促进数据关联、位置识别、语义理解和人机交互;这些表示还将为SLAM提供强大的支持,使之能够推理遮挡,利用形状先验,并告知对象的物理属性的推理/建图过程(例如,重量,动力学)。最后,使用丰富的3D表示将与现有的现代建筑建设和管理标准进行交互,包括CityGML[193]和IndoorGML[194]。目前还没有SLAM技术能够构建点云、网格模型、面元模型和TSDFs之外的更高层次的表示。最近在这方面的努力包括[17,51,231]。

最佳表示:虽然关于3D几何的不同表示的文献相对较多,但很少有作品关注于理解哪些标准应该指导选择特定的表示。直观地说,在简单的室内环境中,人们应该更喜欢参数化的原语,因为很少有参数能够充分描述三维几何;另一方面,在复杂的室外环境中,人们可能更喜欢网格模型。因此,我们应该如何比较不同的表示,我们应该如何选择最优的表示?Requicha[209]确定了几种允许比较不同表示的实体表示的基本属性。在这些属性中,我们发现:领域(可表示的真实对象的集合)、简洁性(用于存储和传输的表示的大小)、创建的便利性(在机器人技术中,这是构建表示所需的推理时间)、以及应用程序上下文中的有效性(这取决于表示所用于的任务)。因此,最优的表示形式是能够执行给定任务的表示形式,同时又简洁且易于创建。Soatto和Chiuso[229]将最佳表示定义为执行给定任务的最小充分统计量及其对有害因素的最大不变性。找到一个通用但易于处理的框架来选择任务的最佳表示仍然是一个有待解决的问题。

自动、自适应表示:传统上,表示的选择被委托给设计系统的机器人专家,但这有两个主要缺点。首先,设计一个合适的表示是一项耗时的任务,需要专家。其次,它不允许任何灵活性:一旦系统被设计好,选择的表示就不能改变;理想情况下,我们希望机器人根据任务和环境的复杂性或多或少地使用复杂的表示。最优表示的自动设计将对长期导航产生重大影响。-》即算法有时候用栅格,有时候用TSDF。

VI. REPRESENTATION II: SEMANTIC MAP MODELS

语义地图是指将语义概念与机器人周围的几何实体联系起来。最近,人们认识到纯粹的几何地图的局限性,并在环境语义地图是方面开展了大量的工作,以增强机器人的自主性和鲁棒性,促进更复杂的任务(例如,在驾驶时避免泥泞的道路),从路径规划转向任务规划,并实现先进的人机交互[9,26,217]。这些观察结果导致了不同的语义建图是方法,这些方法在语义概念的数量和类型以及将它们与环境的不同部分联系起来的方法上都有所不同。例如,Pronobis和Jensfelt[206]标注了不同的房间,而Pillai和Leonard[201]在地图上划分了几个已知的对象。除了少数几种方法外,基本层次的语义解析被表述为一个分类问题,其中考虑了感官数据和语义概念之间的简单映射。

语义vs.拓扑SLAM。如第1节所述,拓扑映射去掉了度量信息,只利用位置识别来构建一个图,其中节点表示可区分的位置,而边表示位置之间的可达性。我们注意到拓扑映射与语义映射截然不同。前者要求识别之前见过的地方(不管这个地方是厨房、走廊等),后者则希望根据语义标签对这个地方进行分类。Lowry等人[160]对基于视觉的拓扑SLAM进行了全面的研究,并在第三节讨论了其面临的一些挑战。在本节的其余部分中,我们将重点讨论语义映射。

语义SLAM:概念的结构和细节。对于人类来说,概念的数量以及概念之间的关系是无限的,这开启了一个关于语义概念的级别和组织的更加哲学化和任务驱动的决策。细节和组织取决于机器人执行任务的内容和地点,它们在不同阶段影响问题的复杂性。语义表示通过定义以下几个方面来构建:

  • 语义概念的级别/细节:对于一个给定的机器人任务,例如从房间a到房间B,粗分类(房间、走廊、门)就足够成功地执行了,而对于其他任务,例如拿起一个茶杯,需要更细的分类(桌子、茶杯、玻璃)。
  • 语义概念的组织:语义概念不是排他的。甚至,一个单一的实体可以有无限数量的属性或概念。椅子可以移动和坐下;餐桌可以移动,而且坐不住。虽然椅子和桌子是家具,但它们共享可移动财产,但具有不同的可用性。扁平或分层的组织,共享或不共享某些属性,必须被设计来处理这种概念的多样性。

简短的调查。有三种主要的方法可以进行语义建图,并将语义概念分配给数据。

SLAM对语义的帮助:第一批从事语义映射的机器人研究人员是通过直接将经典SLAM系统构建的度量图分割成语义概念的方法开始的。Mozos等人的早期工作[176]使用二维激光扫描建立几何地图,然后通过联想马尔可夫网络离线融合每个机器人姿态的分类语义位置。同样,Lai等[148]从RGB-D序列构建3D地图,然后进行离线对象分类。Pronobis等人后来提出了一种在线语义地图系统[206],他们利用激光和相机传感器,将三层推理(感官、分类和地点)结合起来,构建环境的语义地图。最近,Cadena et al.[26]使用了运动估计,并将粗语义分割与不同的目标检测器连接起来,以优于单个系统。Pillai和Leonard[201]使用了单目SLAM系统来提高视频中物体识别任务的性能。

语义帮助SLAM:在第一个语义图出现后不久,另一个趋势开始了,即利用已知的语义类或对象。这个想法是,如果我们能够识别出地图上的物体或其他元素,那么我们就可以利用我们对它们几何形状的先验知识来改进对地图的估计。Castle等人的[44]和Civera等人的[50]在小尺度上进行了首次尝试,使用稀疏特征的单目SLAM, Dame等人的[56]使用稠密的地图表示。Salas-Moreno等[217]利用RGB-D传感器提出了一种基于探测环境中已知物体的SLAM系统。

联合SLAM和语义推理:在计算机视觉和机器人技术方面具有专长的研究人员意识到,他们可以在联合公式中执行单目SLAM和地图分割。Flint等人[79]的在线系统提出了一个模型,该模型利用曼哈顿世界假设在室内场景的主要平面上分割地图。Bao等人提出了利用场景中的几何属性和语义属性联合估计摄像机参数、场景点和对象标签的方法之一。在他们的工作中,作者证明了改进的对象识别性能和鲁棒性,但每对图像的运行时间为20分钟,而且对象类别的数量有限,使得该方法不适合在线机器人操作。同样,Hane等人[102]在户外场景中解决了一个更专业的类相关优化问题。尽管仍然离线,Kundu等人[147]通过后期融合语义分割和度量地图来降低问题的复杂性,Sengupta等人[219]使用立体相机提出了类似的想法。值得注意的是,[147]和[219]只关注映射部分,在后期阶段没有对早期计算的位姿进行细化。最近,Vineet等人[251]提出了一个很有前途的在线系统,该系统使用立体摄像机和稠密的地图表示。

开放的问题。在SLAM中包含语义信息的问题还处于起步阶段,与度量SLAM相反,它仍然缺乏一个连贯的表述。图5展示了一个建筑工地作为一个简单的例子,在这里我们可以发现下面讨论的挑战。

一致的语义度量融合:尽管在时间融合方面已经取得了一些进展,例如,每帧语义证据[219,251],但将多个语义信息源与来自不同时间点的度量信息一致融合的问题仍然没有解决。将语义分类的置信度或不确定性纳入到已知的度量表示的因子图公式中,是实现联合语义-度量推理框架的一种可能方法。

语义建图不仅仅是一个分类问题:语义概念正在演变成更专门的信息,如地图中实体的可见性和可操作性,以及环境中不同活动主体之间可能的交互作用。如何表示这些属性和相互关系是高水平人机交互需要回答的问题。

无知、意识和适应:有了一些先验知识,机器人应该能够推理新的概念及其语义表示,也就是说,它应该能够发现环境中的新对象或类,通过与其他机器人和人类的主动交互学习新的属性,随着时间的推移,适应环境中缓慢和突然的变化。例如,假设一个轮式机器人需要对一个地形是否可驾驶进行分类,以告知其导航系统。如果在之前被划分为可行驶的道路上发现一些泥浆,机器人应该根据泥泞区域的难度等级学习新的分类,或者如果发现有其他车辆陷在泥浆中,机器人应该调整分类器。

基于语义的推理:作为人类,语义表示允许我们压缩和加速关于环境的推理,而评估准确的度量表示需要我们付出一些努力。目前,机器人的情况并非如此。机器人可以处理(彩色)度量表示,但它们不能真正利用语义概念。我们的机器人目前还无法使用环境中的语义概念(类别、关系和属性)进行有效、高效的定位和连续映射。例如,当检测到一辆汽车时,机器人应该推断出汽车下方的平面地面(即使被遮挡)的存在,当汽车移动时,地图更新应该只使用新的传感器读数来优化幻觉中的地面。更重要的是,相同的更新应该以单一且高效的操作改变汽车的整体姿态,而不是更新每一个个体素。

VII. NEW THEORETICAL TOOLS FOR SLAM

本节讨论了建立SLAM算法性能保证方面的最新进展,并阐明了开放的问题。理论分析之所以重要,主要有三个原因。首先,SLAM算法和实现通常在很少的问题实例中进行测试,很难理解相应的结果如何推广到新的实例中。其次,理论结果揭示了问题的内在性质,揭示了在实证评估中可能是反直觉的方面。第三,真正理解问题的结构可以推动算法边界,从而扩展可以解决的现实世界SLAM实例集。

早期对SLAM算法的理论分析是基于EKF的使用;我们请读者参考[64,255]对EKF slam的一致性和可观察性进行了全面的讨论。在这里,我们将重点讨论因子图优化方法。除了实际的优点(准确性,效率),因子图优化提供了一个优雅的框架,更易于分析。

在没有先验的情况下,MAP估计降低为极大似然估计。因此,在没有先验的情况下,SLAM继承了极大似然估计量的所有性质:(4)中的估计量是一致的、渐近高斯的、渐近有效的,并且对欧氏空间中的变换是不变的[171,定理11-1,2]。这些性质中的一些在先验存在时就丢失了(例如,估计量不再不变[171,第193页])。

在这种情况下,我们更感兴趣的是算法属性:给定的算法是否收敛于MAP估计?我们如何改进或检查收敛性?在存在虚假测量时,崩溃点是什么?

简短的调查。大多数SLAM算法都是基于迭代非线性优化的[63,99,125,126,192,204]。SLAM是一个非凸问题,迭代优化只能保证局部收敛。当一种算法收敛到一个局部最小值时,它通常会返回一个完全错误的估计,不适合导航(图6)。最先进的迭代求解器无法在相对较小的噪声水平下收敛到全局最小值[32,37]。

迭代方法的失败导致了对SLAM问题的深入理解。Huang和他的合作者[110]开创了这一努力,他们的初步工作讨论了SLAM中的非凸性的性质。Huang等人[111]讨论了小位姿图优化问题中最小值的个数。Knuth和Barooah[138]研究了在没有环路闭包的情况下错误的增长。Carlone[29]给出了Gauss-Newton方法的收敛域的估计。Carlone和Censi[32]证明了旋转估计可以在二维封闭形式下求解,并证明了相应的估计是唯一的。最近使用的替代最大似然公式(例如,假设旋转上的Von Mises噪声[34,211])得到了更有力的结果。Carlone和Dellaert[31,36]表明,在实践中经常遇到的某些条件(强对偶性)下,最大似然估计是唯一的,并且可以通过(凸)半定规划(SDP)全局求解位姿图优化。[109]给出了SLAM在理论方面的最新概述

如前所述,理论分析有时是设计更好算法的第一步。除了[31,36]的对偶SDP方法外,还有一些作者提出了凸松弛方法来避免收敛到局部最小值。这些贡献包括Liu等[159]和Rosen等[211]的工作。另一种提高收敛性的成功策略是计算迭代非线性优化的合适初始化。在这方面,首先求解旋转,然后利用所得估计进行bootstrap非线性迭代的思想在实践中被证明是非常有效的[20,30,32,37]。Khosoussi等人[130]利用平移和旋转之间的(近似)可分性来加速优化。

最近关于在SLAM中使用拉格朗日对偶性的理论结果也使得验证技术的设计成为可能:给定SLAM估计,这些技术能够判断这种估计是否是最佳的。能够确定给定SLAM解决方案的质量对于设计安全关键应用的故障检测和恢复策略至关重要。关于SLAM验证技术的文献是最近才出现的:目前的方法[31,36]能够通过求解一个稀疏线性系统来进行验证,并且只要强对偶性成立,就可以保证提供正确的答案(这一点稍后会详细介绍)。

我们注意到,在机器人环境中提出的这些结果,为其他领域的相关工作提供了有益的补充,包括多智能体系统中的定位[46,199,202,245,254],计算机视觉中的运动结构[86,95,103,168],以及低温电子显微镜[224,225]。

开放的问题。尽管过去几年取得了前所未有的进步,但仍有几个理论问题悬而未决。

概括性、保证性、验证性:第一个问题涉及到可用结果的通用性。大多数关于保证全局解和验证技术的结果都是在位姿图优化的背景下提出的。这些结果能推广到任意因子图吗?而且,大多数理论结果都假定测量噪声是各向同性的,或者至少是有结构的。我们能否将现有的结果推广到任意噪声模型中。

弱二元性还是强二元性?文献[31,36]表明,当强对偶性存在时,SLAM可以全局求解;此外,它们还提供了经验证据,证明在实际应用中遇到的大多数问题中都存在强对偶性。突出的问题在于建立强对偶性成立的先验条件。我们想要回答的问题是,给定一组传感器(以及相应的测量噪声统计)和一个因子图结构,强对偶性是否成立?. 回答这个问题的能力将定义应用程序的领域,我们可以在其中计算(或验证)SLAM的全局解决方案。这一理论研究也将为传感器设计和主动SLAM(第VIII节)提供基本见解。

对异常值的恢复力:第三个问题是关于存在虚假度量时的估计。虽然最近的结果为位姿图优化提供了强有力的保证,但这类结果并不适用于异常值的存在。尽管在鲁棒SLAM(第三节)和非高斯噪声情况下的新建模工具方面进行了研究[212],但对异常值具有弹性的全局技术的设计以及在异常值存在时能够证明给定估计的正确性的验证技术的设计仍然是开放的。

VIII. ACTIVE SLAM

到目前为止,我们将SLAM描述为一个机器人被动进行的估计问题,即机器人在给定传感器数据后进行SLAM,但没有刻意去收集数据。在本节中,我们将讨论如何利用机器人的运动来改善建图和定位结果。控制机器人运动以使其地图表示和定位的不确定性最小化的问题通常被称为主动SLAM。这个定义源于著名的Bajcsy的主动感知[8]和Thrun的机器人探索范式[240,第17章]。

简短的调查。主动SLAM算法的第一个提议和实现可以追溯到Feder[77],其名字是在[152]中创造的。然而,主动SLAM的思想起源于人工智能和机器人探索,可以追溯到80年代早期(c.f.[10])。Thrun在[239]中得出结论,解决探索-开发困境,即在访问新地方(探索)和通过重新访问已知区域(开发)来减少不确定性之间找到平衡,提供了相对于随机探索或纯粹开发的更有效的选择。

主动SLAM是一个决策问题,有几种通用的决策框架可以作为探索-开发决策的骨干。其中一个框架是最优实验设计理论(TOED)[198],它应用于主动SLAM[41,43],允许基于预测的地图不确定性选择未来机器人的动作。信息论[164,208]方法也被应用于主动SLAM [40,232];在这种情况下,决策通常是由信息增益的概念来指导的。主动SLAM的控制理论方法包括使用模型预测控制[152,153]。另一组著作在部分可观测马尔可夫决策过程(partial Observably Markov Decision Process, POMDP)的形式主义下制定了主动SLAM[123],该决策过程通常是难以计算的;主动SLAM的近似但易于处理的解决方案包括贝叶斯优化[169]或高效高斯信念传播[195]等。

一个流行的主动SLAM框架包括在有限的备选方案中选择最佳的未来行动。这类主动SLAM算法主要分为三个步骤[15,35]:1)机器人在当前的地图估计中识别出可能要探索或利用的位置,即有利位置;2)机器人计算访问每个有利点的效用,选择效用最高的动作;3)机器人执行选择的动作,并决定是否需要继续或终止任务。下面,我们将详细讨论每一点。

有利点的选择:理想情况下,一个执行主动SLAM算法的机器人应该评估机器人和地图空间中的每一个可能的行动,但评估的计算复杂度随着搜索空间呈指数级增长,这在实际应用中被证明是难以计算的[24,169]。在实践中,通过使用基于边界的探索等技术,选择地图上一小部分位置[127,262]。最近的研究[250]和[116]提出了在不确定性条件下可用于主动SLAM的连续空间规划方法;目前,这些方法只能保证收敛到局部最优策略。另一个最近的主动SLAM算法的连续域方法是势场的使用。例如[249]利用卷积技术计算熵并选择机器人的动作,[122]利用边值问题的求解。

计算动作的效用:理想情况下,为了计算给定动作的效用,机器人应该考虑到未来(可控)的动作和未来(未知)的测量,推断出机器人姿态和地图上方的后验进化。如果这类后验已知,则可以使用信息增益这一信息论函数对不同的动作进行排序[22,233]。然而,一般来说,解析计算这种联合概率是难以计算的[35,76,233]。在实践中,人们诉诸于近似。初始工作认为地图的不确定性与机器人是独立的[246]或条件独立的[233]。这些方法大多将效用定义为量化机器人和地图不确定性的度量的线性组合[22,35]。这种方法的一个缺点是,这两个不确定性数值的尺度没有可比性,即地图的不确定性往往比机器人的不确定性大几个数量级,因此需要手动调整来修正它。基于粒子滤波的SLAM[35]和位姿图优化已经提出了解决这一问题的方法[40]

最优实验设计理论(TOED)[198]也可以用来解释执行某个动作的效用。在该模型中,每个动作都被认为是一个随机设计,通过所谓的最优性准则(如a -opt、D-opt和E-opt),使用它们的相关协方差矩阵对设计进行比较。在文献[42,43]中有一篇关于在主动SLAM中使用最优性准则的研究。

执行行动或终止探索:虽然执行行动通常是一项简单的任务,但使用来自运动计划的成熟技术,探索任务是否完成的决定是当前一个开放的挑战,我们将在下一段讨论。

开放的问题。要使主动SLAM在实际应用中发挥作用,还有几个问题需要解决。

快速准确预测未来状态:在主动SLAM中,机器人的每一个动作都应该有助于减少地图中的不确定性,提高定位精度;为此,机器人必须能够预测未来的行动对地图和机器人定位的影响。预测必须快速,以满足延迟约束,并精确,以有效地支持决策过程。在SLAM社区中,闭环对于降低不确定性、提高定位和绘图精度非常重要。尽管如此,预测环路闭合的发生和影响的有效方法还有待设计。此外,预测未来行为的影响仍然是一项耗费大量计算的任务[116]。预测未来机器人状态的最新方法可以在机器学习文献中找到,其中包括使用光谱技术[230]和深度学习[252]。

适可而止:什么时候你会停止主动SLAM?主动SLAM是一个计算开销很大的任务:因此,一个很自然的问题是,我们什么时候可以停止进行主动SLAM,转而使用经典(被动)SLAM,以便将资源集中在其他任务上。平衡主动SLAM决策和外部任务是至关重要的,因为在大多数现实世界的任务中,主动SLAM只是实现预定目标的一种手段。此外,拥有一个停止标准是必要的,因为在某些情况下,可以证明更多的信息不仅会导致收益递减效应,而且在矛盾信息的情况下,还会导致不可恢复的状态(例如几个错误的循环闭包)。与难以跨系统比较的信息理论度量相比,来自于任务导向的不确定性度量作为停止标准似乎很有前途[39]。

性能保证:另一个重要的途径是为主动SLAM和近似最优策略寻找数学保证。由于精确地解决问题是棘手的,所以我们希望有一个具有明确性能边界的近似算法。这种努力的例子是在主动传感器放置相关领域使用子模块[93]。

IX. NEW FRONTIERS: SENSORS AND LEARNING

新传感器的开发和新计算工具的使用通常是SLAM的关键驱动因素。IX-A部分回顾了非传统的和新的传感器,以及它们在SLAM背景下带来的挑战和机遇。IX-B部分讨论了(深度)学习作为SLAM的一个重要前沿的作用,分析了这个工具将改进、影响甚至重申SLAM问题的可能方式。

A. 针对SLAM的新型和非常规传感器

除了新算法的发展,SLAM(和一般的移动机器人)的进步通常是由新型传感器的可用性触发的。例如,2D激光测距仪的引入使SLAM系统变得非常强大,而3D激光雷达则是自动驾驶汽车等近期应用的主要推动力。在过去的十年里,人们对视觉传感器进行了大量的研究,并成功地应用于增强现实和基于视觉的导航。

机器人技术中的传感技术主要由激光雷达和传统视觉传感器主导。然而,有许多可用于SLAM的替代传感器,如深度、光场和基于事件的相机,它们现在正在成为一种商用硬件,还有磁性、嗅觉和热传感器。

简短的调查。我们回顾了最相关的新传感器及其在SLAM中的应用,将讨论开放的问题推迟到本节的最后。

范围相机:发光深度相机并不是新的传感器,但随着微软Kinect游戏控制台的出现,它们在2010年成为了商用硬件。它们根据不同的原理工作,如结构光、飞行时间、干涉测量或编码孔径。结构光相机采用三角法工作;因此,它们的精度受到相机和模式投影仪(结构光)之间距离的限制。而飞行时间(ToF)相机的精度仅依赖于飞行时间测量装置;因此,它们提供了最高的距离精度(亚毫米到几米)。ToF相机大约在2000年开始用于民用商业应用,但直到2004年才开始用于移动机器人[256]。虽然第一代ToF和结构光摄像机的特点是低信噪比和高价格,但它们很快就在视频游戏应用中流行起来,这使得它们价格实惠,并提高了精度。由于距离相机有自己的光源,它们也可以在黑暗和无纹理的场景中工作,从而实现了显著的SLAM结果[183]。

光场相机:标准相机只记录照射到每个像素点的光强,而光场相机(又称全光相机)则同时记录光线的强度和方向[186]。一种流行的光场相机使用一组放置在传统图像传感器前面的微透镜来感知强度、颜色和方向信息。由于制造成本的原因,商用光场相机的分辨率仍然相对较低(&lt;1MP),目前的技术努力正在克服这个问题。与标准相机相比,光场相机有一些优势,如深度估计、降噪[57]、视频稳定[227]、干扰物[58]隔离和镜面去除[119]。与传统相机相比,他们的光学系统还提供了宽光圈和宽景深的镜头[14]。

基于事件的摄像机:与以固定帧率发送整个图像的标准基于帧的摄像机相反,基于事件的摄像机,如动态视觉传感器(DVS)[156]或基于异步时间的图像传感器(ATIS)[205],只在场景发生时发送由移动引起的局部像素级变化。

与传统的帧型相机相比,它们有五个关键优势:时间延迟为1ms,更新速率高达1MHz,动态范围高达140dB(相对于标准相机的60- 70dB),功耗为20mW(相对于标准相机的1.5W),非常低的带宽和存储需求(因为只传输强度变化)。这些特性使得设计一类新的SLAM算法成为可能,这些算法可以在以高速运动[89]和高动态范围[132,207]为特征的场景中运行,而这些场景是标准相机无法实现的。然而,由于输出是由一系列异步事件组成的,传统的基于帧的计算机视觉算法并不适用。这需要对过去50年来发展起来的传统计算机视觉方法进行范式转换。基于事件的实时定位和建图算法最近被提出[132,207]。这种算法的设计目标是,每个传入的事件都可以异步地改变系统的估计状态,从而保留了传感器基于事件的特性,并允许设计微秒延迟控制算法[178]。

开放的问题。主动距离相机的主要瓶颈是最大距离和与其他外部光源(如太阳光)的干扰;然而,这些缺点可以通过发射更多的光功率来改善。

光场相机在SLAM中很少使用,因为它们通常被认为会增加产生的数据量,并需要更多的计算能力。然而,最近的研究表明,它们特别适用于SLAM应用,因为它们允许将运动估计问题表述为线性优化,并且如果设计得当,可以提供更精确的运动估计[65]。

基于事件的相机是革命性的图像传感器,它克服了标准相机在高动态范围和高速运动场景中的局限性。开放问题涉及传感器噪声和传感器非理想性的全面表征:基于事件的相机有一个复杂的模拟电路,非线性和偏差可以改变像素的灵敏度,以及其他动态特性,使事件容易受到噪声的影响。由于单个事件不能携带足够的信息进行状态估计,且事件相机平均每秒产生100000个事件,因此状态空间的迅速增大使得单个事件离散时间内的SLAM难以实现。使用连续时间框架[12],估计的轨迹可以使用基函数(例如,三次样条)在刚体运动空间中用光滑曲线逼近,并根据观察到的事件进行优化[177]。虽然时间分辨率很高,但基于事件的相机的空间分辨率(QVGA)相对较低,目前的技术努力正在克服这一问题[155]。新开发的事件传感器克服了一些最初的限制:ATIS传感器发送像素级亮度;DAVIS传感器[155]可以同时输出帧和事件(这是通过将标准的基于帧的传感器和分布式交换机嵌入到相同的像素阵列而实现的)。这将允许在帧间的盲时间内跟踪特征和运动[144]。

我们在这一节中总结了一些关于使用新型传感模式SLAM的一般观察。

其他传感器:大多数SLAM研究都专注于距离和视觉传感器。然而,人类或动物能够通过触觉、嗅觉、声音、磁性和热刺激来提高他们的感知能力。例如,触觉提示盲人或啮齿动物用于触觉探索对象,使用嗅觉蜜蜂找到回家的路,磁场通过信鸽用于导航,声音被蝙蝠障碍探测和导航,虽然有些蛇可以看到热物体发出的红外辐射。不幸的是,这些替代传感器还没有被考虑在同样深度的范围和视觉传感器执行SLAM。触觉SLAM可用于对物体或场景的触觉探索[237,263]。嗅觉传感器可以用来定位气体或其他气味来源[167]。尽管基于超声波的定位在早期移动机器人中占主导地位,但随着廉价的光学距离传感器的出现,它们的使用迅速减少。然而,像蝙蝠这样的动物,仅靠回声定位就能以非常高的速度导航。热传感器在夜间和恶劣天气条件下提供重要线索[165]。许多室内环境中存在的局部环境磁场异常,为定位提供了很好的线索[248]。最后,现有的无线网络,如WiFi,可以用来改善机器人导航,而无需事先知道天线的位置[78]。

哪种传感器最适合SLAM?一个自然出现的问题是:下一个驱动未来长期SLAM研究的传感器技术是什么?显然,SLAM中给定算法-传感器对的性能取决于传感器和算法参数,以及环境[228]。如何选择算法和传感器以达到最佳性能的完整处理还没有找到。Censi等人[45]的一项初步研究表明,特定任务的性能也取决于可用于传感的功率。研究还表明,最优的传感结构可以有多个传感器,这些传感器可以根据所需的性能水平瞬间开关,或者通过不同的物理原理测量同一现象,以增强鲁棒性[68]。

B. Deep Learning

如果一篇声称考虑SLAM未来发展方向的论文没有提到深度学习,那将是一种疏忽。它对计算机视觉的影响是革命性的,在撰写本文时,它已经在传统机器人领域取得了重大进展,包括SLAM。

研究人员已经表明,通过学习深度神经网络,可以直接从原始图像对[52]中还原运动机器人获得的两幅图像之间的帧间姿态,从而有效地替代视觉里程测量的标准几何。同样,也可以使用回归森林[247]和深度卷积神经网络[129]来定位相机的6DoF,并仅作为输入图像的函数从单个视图估计场景(实际上是地图)的深度[27,70,158]。

在我们看来,这并不意味着传统的SLAM已经死亡,现在就说这些方法只是在原则上可以做什么,但不会取代传统的、易于理解的方法,或者它们是否会完全取代,还为时过早。

开放的问题。我们在这里强调了SLAM的一系列未来发展方向,我们认为机器学习和更具体的深度学习将在其中产生影响,或者SLAM应用将给深度学习带来挑战。

感知工具:很明显,一些已经超出现有计算机视觉算法范围的感知问题现在可以得到解决。例如,imagenet类的对象识别[213]现在在某种程度上可以被视为一个在机器人学家或SLAM研究人员看来工作良好的黑匣子。同样,对各种场景类型的像素进行语义标注,准确率达到80%左右甚至更高的性能水平[74]。我们已经广泛地评论了为SLAM系统提供更有语义意义的地图,而这些黑盒工具将加速这一进程。但还有更重要的内容:与之前的任何技术相比,深度网络更有希望将原始传感器数据与理解联系起来,或将原始传感器数据与行动联系起来。

实际部署:深度学习的成功主要是围绕着在超级计算机上进行长时间的训练,以及在专用GPU硬件上进行推理以获得一次性的结果。对于SLAM研究人员(或者任何想要在他们的系统中嵌入令人印象深刻的结果的人)来说,一个挑战是如何在嵌入式系统中提供足够的计算能力。我们是只是等待技术赶上来,还是研究更小、更便宜、能产生足够好结果的网络,并考虑感知在较长一段时间内的影响。

在线和终身学习:一个更大、更重要的挑战是在线学习和适应,这对未来任何长期SLAM系统都是必不可少的。SLAM系统通常运行在一个开放的世界中,持续观察,在那里可以遇到新的物体和场景。但到目前为止,深度网络通常是在封闭世界的场景下训练的,例如,有固定数量的对象类。一个重要的挑战是在一次或零次的场景中利用深度网络的力量(即一个甚至没有一个新类的训练例子),使一个连续移动、连续观察的SLAM系统能够终身学习。

类似地,现有的网络倾向于在大量标记数据的语料库上进行训练,但不能总是保证有合适的数据集存在,或对监督训练进行标记是可行的。最近已经取得一些进展的一个领域是单一视图的深度估计:加戈等。[90]最近表明深网络单一视图可以训练深度估计仅仅通过观察立体像对的一个大型语料库,而不需要显式地观察或计算深度。对于语义场景标注等任务,是否能开发出类似的方法还有待观察。

引导:关于场景的先验信息越来越多地显示为SLAM系统提供了显著的提升。目前文献中的例子包括已知对象[56,217]或场景中预期结构的先验知识,如DTAM[184]中的平滑性,[79]中的曼哈顿约束,甚至对象之间的预期关系[9]。很明显,深度学习能够为特定的任务提取这些先验知识,如估计场景标签或场景深度。如何最好地提取和使用这些信息是一个重要的开放问题。它在SLAM中比在其他一些领域更相关,因为在SLAM中,我们掌握了场景几何的数学知识,那么问题就是如何将这种容易理解的几何知识与深度网络的输出融合在一起。必须解决的一个特殊挑战是描述来自深度网络的估计的不确定性。

SLAM为在大规模图形模型中探索深度学习架构和递归状态估计之间的潜在联系提供了一个具有挑战性的环境。例如,Krishan等人[142]最近提出了Deep Kalman Filters;也许有一天,我们可以使用一个深层的架构来创建一个端到端SLAM系统,而不需要明确的特征建模、数据关联等。

X. Conclusion

在过去的30年里,同时定位和绘图的问题取得了很大的进展。在此过程中,随着新应用程序、新传感器和新计算工具的发展,一些重要的问题得到了解答,同时也提出了许多新的和有趣的问题。

重新审视SLAM是否有必要?我们认为答案取决于应用程序,但通常答案都是响亮的“是”。SLAM和相关技术,如视觉惯性里程计,正越来越多地应用于现实世界的各种场景,从自动驾驶汽车到移动设备。在GPS等基础设施解决方案不可用或不能提供足够精度的情况下,SLAM技术将越来越多地依赖于提供可靠的公制定位。我们可以预见,基于云的“位置即服务”(location as a service)功能即将上线,地图也将商品化,因为定位信息对移动设备和代理商的价值。

在某些应用中,如自动驾驶汽车,精确定位通常是通过将当前传感器数据与预先创建的高清晰度环境地图匹配来实现的[154]。如果预先的地图是准确的,则不需要在线SLAM。然而,在高度动态环境下的运营需要动态的在线地图更新,以应对道路基础设施的建设或重大变化。由大型自动驾驶车辆创建的可视化地图的分布式更新和维护是未来工作的一个引人注目的领域。

人们可以识别出不同口味的SLAM配方比其他配方更适合于哪些任务。例如,拓扑图可用于分析给定位置的可达性,但不适用于运动规划和低层控制;局部一致的度量地图非常适合障碍物避开以及与环境的局部互动,但它可能会牺牲准确性;一个全局一致的度量地图允许机器人执行全局路径规划,但它可能需要计算和维护。

人们甚至可以设计一些例子,说明SLAM完全没有必要,可以被其他技术所取代,例如,视觉服务用于局部控制和稳定,或重复教学以执行重复的导航任务。选择最合适的SLAM系统的一个更普遍的方法是,将SLAM视为一种机制,用来计算一个充分的统计数据,总结机器人过去的所有观察结果,从这个意义上说,在这种压缩表示中保留哪些信息是与任务高度相关的。

至于我们熟悉的问题,SLAM解决了吗?在本文中,我们认为,当我们进入稳健感知时代时,如果不指定一个机器人/环境/性能组合,这个问题就无法得到回答。对于许多应用程序和环境,仍然存在许多主要的挑战和重要的问题。要为长寿命自主机器人实现真正健壮的感知和导航,需要对SLAM进行更多的研究。作为一项具有重要现实意义的学术努力,SLAM并未得到解决。

未解决的问题包括四个主要方面:健壮的性能、高层次的理解、资源意识和任务驱动的推理。从鲁棒性的角度来看,故障安全、自整定SLAM系统的设计是一个巨大的挑战,许多方面还没有被探索。对于长期自主,构建和维护大尺度时变地图的技术,以及定义何时记忆、更新或忘记信息的政策,仍然需要大量的基础研究;在资源严重受限的机器人系统中,类似的问题会以不同的规模出现。

另一个基本问题与环境的度量和语义表示的设计有关。尽管事实上,与环境的交互对于大多数机器人应用来说是至关重要的,但现代SLAM系统无法提供对周围世界的几何和语义的紧密耦合的高层理解;这种表示的设计必须是任务驱动的,目前缺乏一个易于处理的框架来连接任务和最佳表示。开发这样一个框架将把机器人和计算机视觉社区聚集在一起。

除了讨论SLAM社区的许多成就和未来挑战外,我们还研究了与新传感器、新工具(如凸松弛和对偶理论,或深度学习)的使用有关的机会,以及主动传感的作用。SLAM仍然是大多数机器人应用不可或缺的支柱,尽管在过去的几十年里取得了惊人的进步,现有的SLAM系统远不能提供有洞察力的、可操作的、紧凑的环境模型,与那些由人类轻松创建和使用的模型相比。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值