SLAM学习笔记《Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Per》

《Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age》

一、引言

SLAM包含同时估计搭载传感器机器人的状态估计以及构建传感器感知的环境模型(模型)。在简单的例子中,机器人的状态可以通过它的位姿来描述(位置与方向),尽管状态还包含其它量,如机器人速度、传感器偏差(sensor biases)和校准参数。另一方面,地图作为兴趣点的表示(如路标位置、障碍物),描述的是机器人所在环境。

环境地图的使用需要是双重的。首先,地图通常用于支撑其他任务;比如,地图可以用来路径规划,或者给操作员提供直观的可视化。第二,地图可以限制机器人状态估计误差。假如没有地图,航位的推算会随时间推移而迅速漂移;另一方面,利用地图,如一系列明显的路标,机器人可以通过再一次访问已知区域(也称为回环检测)来重置定位误差。因此,在没有先验地图或需要建图的场景中得到应用。

迄今主要的SLAM综述总结在了下表
在这里插入图片描述
本文概述了SLAM当前发展状态,并提供部分社区SLAM研究的开放问题及未来方向的看法。我们主要关注点是度量和语义SLAM,我们建议读者参考Lowry等人最近的研究,主要提供了基于视觉的场景识别和拓扑SLAM的全面回顾。

回环检测事件告知机器人这条走廊不断与自身相交。回环检测的优势变得明了:通过回环检测,机器人知道环境的真实拓扑,并且能够找到两点间的最短路径(地图中点B和C)。然而,如果SLAM的优点之一是得到环境的真实拓扑结构,为何不丢掉度量信息,只进行简单的场景识别呢?答案很简单:度量信息可以使得场景识别简单并鲁棒,度量重构告知机器人回环检测的成功概率并允许丢弃虚假的回环检测。因此,虽然理论上SLAM可能是多余的(一个oracle场景识别模块足够用来拓扑建图),但SLAM提供一种天然防御,可以防止错误的对数据关联和感知混淆,如看似一样却不在同一地点的场景,会欺骗场景识别模块。在这种意义下,SLAM地图可以提供预测和验证未来测量的方法:我们坚信这种机制对稳健操作是至关重要的。

SLAM的成熟度评估:

  1. 机器人:运动类型(如:动态,最大速度),可用传感器(如,分辨率,采样率),可用计算资源。
  2. 环境:平面或3维,存在自然或人造路标,运动元素数量,对称的数量,感知混淆的风险。特别注意,这些方面其实依赖传感器与环境匹配对:如,2个房间可能在激光扫描器下是完全一样的,而相机却很容易从外观线索中辨别它们。
  3. 性能要求:期望机器人状态估计的准确率,环境的表示形式(如基于路标的,还是稠密的),成功率(检测的准确率达到标准),估计延迟,最大工作时间,建图的最大区域。

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

  1. 鲁棒的性能:SLAM系统在广泛的环境中长时间以低故障率运行;该系统包括故障安全机制并具有自调整能力,因为它可以根据场景调整系统参数的选择。
  2. 高级理解:SLAM系统超越了基本的几何重建,以获得对环境的高级理解(例如,高级几何、语义、物理、可供性[affordances])。
  3. 资源感知:SLAM系统针对可用的传感和计算资源进行定制,并提供了根据可用的资源调整计算负载的方法。
  4. 任务驱动感知:SLAM系统能够提取相关的感知信息并过滤掉无关的传感器数据,为了支持任务,机器人必须执行;此外,SLAM系统产生自适应地图表示,其复杂性可能因当前的任务而异。

2 现代SLAM系统剖析

SLAM系统的架构包括两个主要组件:前端和后端。前端将传感器数据抽象为可用于估计的模型,而后端则对前端生成的抽象数据进行推理。该架构总结在图 2中。我们从后端开始研究这两个组件。
在这里插入图片描述

A、最大后验估计与SLAM后端

SLAM 的当前的标准公式起源于Lu和Milios的开创性论文,随后是 Gutmann 和 Konolige 的工作。从那时起,很多方法都在致力于改进这一优化问题的效率和鲁棒性。所有这些方法都将SLAM问题归结于最大后验估计问题,通常用因子图来解析变量之间的依赖关系。

假设我们要估计一个未知变量X,正如前面提到的,在SLAM中变量代表机器人的轨迹(即位姿的离散集合)和环境中路标的位置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(最大后验概率:看不懂)

这是由贝叶斯公式得到的。在上式中,为给定变量测量值得似然函数,为变量的先验概率分布。当不知道先验服从何种分布时,可以假设为一个常量(均一分布),可以从优化中直接去掉,这样最大后验估计就退化成最大似然估计。值得一提的是,不同于卡尔曼滤波,最大后验估计不需要明确区分运动和观测模型,两个模型都被看做因子,不做任何区分直接加入到估计过程。更进一步的,值得一提的是卡尔曼滤波和最大后验估计在线性高斯情况下估计结果是一致的,但在通常情况下线性高斯假设是不成立的。
假设测量值是相互独立的(即噪声不相关的),上式可以分解为:
在这里插入图片描述
其中,在公式后边,我们注意到只依赖变量的子集。

上式可以用因子图推断来理解。变量对应因子图的节点。似然值与先验称为因子,它们对节点子集的概率约束进行编码。一个概率图是一个图模型,对第k个因子(即测量值)和对应的变量之间的依赖性进行编码。因子图解释的第一个优点在于它可以对问题进行一个最直接的可视化表示。下图展示了一个简单SLAM问题的因子图表示形式。该图显示了变量,即机器人位姿、地标位置和相机校准参数,以及这些变量之间施加约束的因素。第二个优点是通用性:因子图可以对具有异构变量和因子以及任意互连的复杂推理问题进行建模。此外,因子图的连通性反过来会影响所产生的 SLAM 问题的稀疏性,如下所述。
在这里插入图片描述
为了以更明确的形式写出式(2)的具体形式,假设测量噪声是具有信息矩阵(协方差矩阵的逆)的零均值高斯噪声。接下来,式(2)中的测量似然变为
在这里插入图片描述

这里我们定义。同样地,我们假设先验分布可以表示为。因为最大化后验等价与最小化负对数后验,因此最大化后验式(2)可以转化为下式:
在这里插入图片描述

上式是一个非线性最小二乘问题,这是在机器人领域中经常遇到的有意思的问题,为一个非线性函数。注意上式是在正态分布噪声的假设下得到的。其他噪声分布会导致不同的代价函数。比如假设噪声分布为拉布拉斯分布时,上式中的l2范数将会变成l1范数。为了更好的抑制奇异值,我们通常将平方l2范数用一些更鲁棒的损失函数代替(比如Huber 或 Tukey 损失)。

计算机视觉专家可能会注意到问题(4)与运动中恢复结构(SFM)中的捆集调整(BA)之间的相似之处。问题(4)和BA确实都是从最大后验公式中推导出来的。但是,有两点特殊特征使得SLAM很特殊。第一,式(4)中的因子不限于像BA中那样对射影几何建模,而是包括各种传感器模型,例如惯性传感器、车轮编码器、GPS等等。例如,在激光建图中,这些因子通常会限制相对位姿对应于不同视角,而在视觉SLAM的直接法中,这些因子会惩罚场景同一部分在不同视图中像素强度的差异。与BA相关的第二个区别是,在 SLAM 场景中,问题(4)通常需要增量解决:随着机器人的移动,每个时间步都会提供新的测量值。

最小化问题(4)通常通过连续线性化来解决,例如Gauss-Newton或Levenberg-Marquardt方法(基于凸松弛和拉格朗日对偶的替代方法会面将介绍)。连续线性化方法进行迭代处理,首先给定一个初始值,将代价函数在处进行二次近似,可以通过求解线性方程组以封闭形式进行优化。这些方法可以无缝推广到属于平滑流形(例如旋转)的变量,这些变量在机器人技术中很重要。

现代SLAM求解器背后的关键核心是,出现在正规方程中的矩阵是稀疏的,其稀疏结构由底层因子图的拓扑结构决定。一些快速线性求解器将会被采用。更重要的是,可以设计出增量(在线)求解器,可以当观测值到来时实时更新变量的估计值。当前的SLAM库(如GTSAM、Ceres、iSAM、SLAM++)可以在秒级处理万级别变量问题。实操指南教程[62]、[98]很好地介绍了两个最流行的SLAM 库;每个库还包含一组展示真实SLAM 问题的示例。

到目前为止描述的SLAM方法通常被称为最大后验估计、因子图优化、图SLAM、完全平滑或平滑和映射(SAM)。该框架的一个流行变体是位姿图优化,其中要估计的变量是沿机器人轨迹采样的位姿,每个因子对一对位姿施加约束。

最大后验估计已被证明比基于非线性滤波的SLAM的原始方法更准确和更有效。我们建议读者参阅文献[8]、[70]以了解有关过滤方法的概述,并参阅 [236] 以了解过滤和平滑之间的比较。我们注意到一些基于EKF的SLAM系统也被证明可以达到最先进的性能。基于EKF的SLAM系统的优秀代表包括Mourikis和Roumeliotis[175]的多状态约束卡尔曼滤波器,以及 Kottas 等人的VIN系统。 [139]和Hesch等人。毫不奇怪,当EKF的线性化点准确时(就像在视觉惯性导航问题中发生的那样),滤波和MAP估计之间的性能不匹配会变得很小。当使用滑动窗口滤波器以及潜在的不一致源时,将尽量慎用EKF。

正如下一节所讨论的,MAP估计通常在传感器数据的预处理版本上执行。因此,它通常被称为SLAM后端。

B、依赖传感器的SLAM前端

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

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

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

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

3.长期自主性 I:稳健性

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

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

由于环境中存在包括短期和季节性变化在内的未建模动态,情况变得更糟,这可能会欺骗短期和长期数据关联。当前SLAM方法中一个相当普遍的假设是,当机器人通过时,世界保持不变(换句话说,地标是静态的)。只要没有短期动态(例如,人和物体四处移动),这种静态世界假设在小规模场景中的单个建图中成立。在更长的时间尺度和大型环境中进行建图时,变化是不可避免的。

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

A 简要总结

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

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

尽管在前端的闭环检测鲁棒性方面取得了进展,但在存在感知混叠的情况下,错误的闭环被反馈到后端是不可避免的。错误的闭环会严重破坏MAP估计的质量 [238]。为了解决这个问题,最近的一系列研究[34]、[150]、[191]、[238]提出了使SLAM后端能够抵御虚假测量的技术。这些方法通过查看优化期间约束引起的残差来推断闭环约束的有效性。其他方法尝试先验地检测异常值,即在进行任何优化之前,通过识别里程计不支持的回环来识别错误的闭环[215]。

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

B 开放问题

将回顾在长期SLAM中的开放问题及新的研究问题

1)故障安全SLAM与恢复

尽管SLAM后端取得了进展,但当前的SLAM求解器仍然容易受到异常值的影响。这主要是因为几乎所有稳健的SLAM技术都是基于非凸代价函数的迭代优化。**这有两个后果:首先,异常值拒判结果取决于提供给优化的初始值的质量;其次,该系统本质上是脆弱的:包含单个异常值会降低估计的质量,这反过来又会降低以后识别异常值的能力。**这些类型的故障会导致不正确的线性化点,从该点恢复并非易事,尤其是在增量算法中。理想的SLAM解决方案应该是故障安全和故障感知的,即系统需要意识到即将发生的故障(例如,异常值或退化)并提供可以重新建立正确操作的恢复机制。现有的SLAM方法都没有提供这些功能。实现这一点的一种可能方法是在前端和后端之间进行更紧密的集成,但如何实现这一点仍然是一个悬而未决的问题。

2)对硬件故障稳健性

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

3)度量重定位

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

4)时变和可变形地图

主流SLAM方法是在考虑刚性和静态世界假设的情况下发展的;然而,由于动态性以及物体固有的可变形性,现实世界是非刚性的。一个理想的SLAM解决方案应该能够推理环境中的动态,包括非刚性,长时间工作生成“全地形”地图,并且能够实时完成。在计算机视觉社区中,自80年代以来已经有过几次尝试从非刚性物体中恢复形状,但适用性有限。最近在非刚性SfM中的结果,例如[92]、[97],限制较少,但仅适用于小场景。在SLAM社区中,Newcombe等人[182]已经解决了小规模重建的非刚性情况。然而,大规模解决非刚性地图的问题在很大程度上仍未得到探索。

5)自动参数调整

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

4 长期自主性 II:可扩展性

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

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

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

A简要总结

我们专注于降低因子图优化复杂性的两种方法:1)稀疏化方法,它在内存和计算效率之间权衡信息损失,以及多核和多机器人方法,它在许多机器人/处理器之间分割计算。

1)节点和边稀疏化

**这一系列方法通过减少添加到图中的节点数量或修剪较少“信息量”的节点和因子来解决可伸缩性问题。**伊拉等人[115]使用信息论方法仅向图中添加非冗余节点和信息量高的测量值。约翰森等人[120],在可能的情况下,通过在现有节点之间引入新的约束来避免向图中添加新节点,这样变量的数量只会随着探索空间的大小而不是建图持续时间而增长。克雷茨施马尔等人[141]提出了一种基于信息的标准,用于确定在位姿图优化中要边缘化哪些节点。Carlevaris-Bianco 和 Eustice [29],以及 Mazuran 等人[170]分别介绍了通用线性约束(GLC)因子和非线性图稀疏化(NGS)方法。这些方法在边缘化节点的马尔可夫毯上运行,并计算毯的稀疏近似。黄等人[108] 通过求解 l1正则化最小化问题来稀疏化 Hessian 矩阵(在正规方程中产生)。

允许减少随时间估计的参数数量的另一项工作是连续时间轨迹估计。此类的第一个SLAM方法由Bibby和Reid提出,使用三次样条表示机器人的连续轨迹[13]。在他们的方法中,因子图中的节点表示以滑动窗口方式优化的样条曲线的控制点(节点)。后来,Furgale等人[89]建议在批量优化公式中使用基函数,特别是B样条来近似机器人轨迹。滑动窗口B样条公式也用于带有卷帘快门相机的SLAM,Patron-Perez等人的基于地标的表示。[196]和Kim等人的半密集直接表示[133]。最近,Mueggler 等人[177]将连续时间SLAM公式应用于基于事件的相机。博塞等人[22]将连续3-D扫描匹配公式从[20]扩展到大规模SLAM应用。后来,Andersonetal.[5]和 Dube ́etal.[68]提出了更有效的实现,通过使用小波或分别在轨迹上采样非均匀节点。童等人[243]将轨迹的参数化从基曲线更改为高斯过程表示,其中因子图中的节点是实际的机器人姿态,任何其他姿态都可以通过计算给定时间的后验均值来插值。昂贵的批量高斯-牛顿优化来解决第一个提案中的状态。Barfoot等人[4]随后提出了一个具有精确稀疏逆核的高斯过程,大大减少了批处理解决方案的计算时间。

2)核外(并行)SLAM

SLAM的并行核外算法在多个处理器之间拆分因子图优化的计算(和内存)负载。关键思想是将因子图划分为不同的子图,并通过交替对每个子图进行局部优化来优化整个图,并进行全局细化。相应的方法通常被称为子映射算法,这个想法可以追溯到最初尝试处理大规模地图[19]倪等人。[187]和赵等人[267]提出了因子图优化的子映射方法,将子图组织成二叉树结构。格里塞蒂等人[99]提出了子图的层次结构:每当获得观察结果时,都会修改层次结构的最高级别,并且仅在较低级别更改受到实质性影响的区域。一些方法在两个并行运行的线程中近似解耦定位和映射,如 Klein 和 Murray [135]。其他方法诉诸并行解决不同阶段:受[223]的启发,Strasdat等人[235]采用两阶段方法,首先优化局部姿势特征图,然后优化姿势姿势图;威廉姆斯等人[259]高频滤波器和低频平滑器中的分裂因子图优化,它们是周期性同步的。

3)分布多机器人SLAM

建图大规模环境的一种方法是部署多个执行SLAM的机器人,并将场景划分为较小的区域,每个区域由不同的机器人建图。这种方法有两个主要变体:集中式,其中机器人构建子图并将本地信息传输到执行推理的中央站[67],[210],以及分散式,其中没有中央数据融合和代理利用本地通信在公共地图上达成共识。 Nerurkar等人[181]提出了一种基于分布式共轭梯度的协同定位算法。阿拉格斯等人[6]研究基于共识的地图合并方法。Knuth和Barooah[137]使用分布式梯度下降估计3-D姿势。拉萨罗等人[151],机器人交换部分因子图,这些因子图以压缩测量的形式近似,以最大限度地减少通信。坎尼厄姆等人[55]使用高斯消除,并开发了一种称为DDF-SAM的方法,其中每个机器人在分隔符(即多个机器人共享的变量)上交换高斯边缘。最近关于多机器人SLAM方法的调查可以在[216]中找到。

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

B、开放问题

尽管有大量工作集中在降低因子图优化复杂性,但文献在与长期操作相关的其他方面存在较大差距。

1)地图表示形式

一个基本未被探索的问题是在长期操作期间如何存储地图。即使内存没有严格的约束,例如,数据存储在云上,原始数据表示为点云或体素图(另见第V节)在内存方面也是浪费的;同样,存储基于视觉SLAM的特征描述符很快就会变得很麻烦。最近提出了一些初始解决方案,用压缩的已知地图[163]进行定位,并用高效的内存密集重建。

2)学习、遗忘与记忆

长期建图的一个开放悬而未决的问题是多久更新一次地图中包含的信息,以及如何确定这些信息何时过时并且可以被丢弃。什么时候可以忘记,如果有的话?在这种情况下,什么是可以忘记的,什么是必须维护的?地图的某些部分是否可以“卸载”并在需要时重新调用?虽然这显然取决于任务,但文献中没有对这些问题给出有根据的答案。

3)稳健的分布式建图

虽然已经在单个机器人案例中提出了异常值拒绝的方法,但关于多机器人SLAM的文献几乎没有涉及处理异常值问题。主要有以下两个原因,使得处理虚假测量特别具有挑战性。首先,机器人可能不共享一个共同的参考框架,这使得检测和拒绝错误的闭环变得更加困难。其次,在分布式设置中,机器人必须从非常小部分和局部的信息中检测异常值。解决这个问题的早期尝试是[85],机器人在融合信息之前,使用会合(约定)策略主动验证位置假设。因德尔曼等人[117]提出了一种概率方法建立一个公共参考框架来处理存在虚假测量的情况。

4)资源约束平台

另一个相对未探索的问题是如何使现有的SLAM算法应对机器人平台具有严重计算限制的情况。当平台的尺寸缩小时,这个问题非常重要,例如移动电话、微型飞行器或机器人昆虫[261]。许多SLAM算法的成本太高而无法在这些平台上运行,因此希望有一种算法可以调整一个“旋钮”,允许在计算成本的准确性之间进行权衡。多机器人设置中出现了类似的问题:当面临严格的带宽限制和通信中断时,我们如何保证多机器人组织的可靠运行?Cieslewski等人的“版本控制”方法[50]是这方面的第一次尝试。

5 表示 I:度量地图模型

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

在二维情况下,几何建模看起来要简单得多,只有两种主要范式:基于地标的地图和占用网格地图。前者将环境建模为一组稀疏的地标,后者将环境离散化为单元格并为每个单元格分配占用概率。IEEE RAS地图数据表示工作组已经解决了二维情况下这些表示的标准化问题,该工作组最近发布了机器人技术中的二维地图标准[114];该标准定义了平面环境(加拓扑图)的两种主要度量表示,以促进数据交换、基准测试和技术转让。

3-D几何建模的问题更加精致,理解如何在映射过程中有效地建模3-D几何的还处于起步阶段。在本节中,我们将从机器人、计算机视觉、计算机辅助设计 (CAD) 和计算机图形学的广泛视角出发,回顾度量表示。我们的分类法从[81]、[209]、[221]中汲取灵感,并包括对最近工作的指引。

A 基于路标的稀疏表示
大多数SLAM方法将场景表示为一组稀疏的3-D地标,这些地标对应于环境中的显著特征(例如,线、角)[179];一个例子如图4(左)所示。这些通常被称为基于地标或基于特征的表示,并且自从早期的定位和建图工作以来一直在移动机器人中广泛使用,并且在运动中恢复结构[3]、[244]背景下的计算机视觉中也被广泛应用。这些表示背后的一个共同假设是地标是可区分的,即传感器数据测量地标的某些几何方面,但也提供了一个描述符,该描述符在每个测量值和相应的地标之间建立(可能不确定)数据关联。以前的工作还研究了不同的3-D地标参数化,包括全局和局部笛卡尔模型,以及逆深度参数化[174]。虽然大量工作集中在点特征的估计上,但机器人文献也对更复杂几何地标的扩展,包括线、线段或弧线[162]。

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

未完

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值