Active Mapping and Robot Exploration: A Survey 主动建图与机器人探索:综述


标题: Active Mapping and Robot Exploration: A Survey
作者:Iker Lluvia, Elena Lazkano, Ander Ansuategi
机构:Autonomous and Intelligent Systems Unit, Fundación Tekniker, Eibar, Spain 泰克基金会,艾巴尔,西班牙;
University of the Basque Country (UPV/EHU), 20018 Donostia, Gipuzkoa, Spain 巴斯克大学,西班牙

摘要

及时定位与建图反应了这样一个问题:在没有任何先验信息的情况,仅基于一个或多个自身传感器获得的数据来进行环境建图。在某些情况下,机器人被人工控制,但是一些系统能够在建图过程中自主导航,我们将其称之为本地及时定位与建图 native simultaneous localization and mapping。该策略聚焦于主动计算探索环境的轨迹,同时以最小的误差构建地图。在本文中,针对那些对室内移动机器人做出的重大相关贡献,我们对该领域的研究做了全面的回顾。

关键词

mobile robots; mapping; exploration; fronties; next best view; path planning

1. 简介

对移动机器人导航问题的关注由来已久,该问题被分为三个子问题:环境建图,定位和轨迹规划。近几十年来,这些问题已经发展成为广泛的研究领域,分别用确定性的方式解决了,但是忽视了机器人感知和运动中的不确定性。在 1990 年代初期,通过开发能够明确考虑机器人传感器内在不确定性的算法,概率机器人颠覆了传统的导航方法。概率机器人致力于通过概率分布表示不确定性和信息,并不基于单一的猜测。随着这些方法的兴起,出现了同时定位和映射 (SLAM),也称为并发映射和定位 (CML) 的问题:传感器读数相对于全局参考系的映射取决于机器人在其中的位置以及由于影响构建地图过程的累积里程计误差而导致该机器人姿势的不确定性。视觉里程计允许使用任何类型的运动提高机器人或车辆的导航精度。来自相机或者惯性传感器的视觉信息与车轮运动信息的结合允许我们解决漂移并且提供了更加精准的定位。然而,建图误差与机器人的位姿是相关联的。因此,这两个问题应该一起解决。机器人在室内和室外所使用的SLAM技术是不同的。室外环境更加充满挑战,因为并没有特定的限制以及选择下一个导航点或者终止的准则是完全不同的。此外,室内和室外经典SLAM系统在机器人的个体需求、所提供的传感器以及形态上个不相同,马尔可夫、基于卡尔曼滤波和基于例子滤波是用于解决SLAM问题的最常用技术。虽然在静态环境中SLAM问题被认为已经得到了解决,但是在建图的过程中,机器人通常被人遥控指引。用这种方法,能够最小化轮上漂移,确保对环境的全覆盖。一旦地图可用,集使用随机规划技术用于导航,例如部分可观马尔可夫过程 Partially Observable Markov Decision Process (POMDPs)。
SLAM 技术的出现推动了巨大的进步,并为机器人开发开辟了新的可能性,但在添加环境动态或增加维度时,性能方面仍然存在相当大的挑战。然而,遥控机器人建图是一个高耗时项目,尤其在大型区域中或者机器人的运动受限的情况下。其他方面,诸如在自然灾害的救援行动中,由于连通性的不足或者危险状况,机器人是很难甚至无法被引导。
主动SLAM,在下文中称之为ASLAM,是主动规划机器人路径,同时建图和在其中定位的任务。ASLAM相比传统SLAM问题更进一步,因为ASLAM致力于机器人在建图过程中自主运动。ASLAM能够简化横多应用中的导航系统的设置,因为机器人能够在没有人的交互下依靠自己建图。
据作者所知,目前缺少ASLAM的综述,仅在某些文献中作为一个非常特殊的子主题。这是目前工作的主要动机。我们希望对这个复杂问题进行整体描述,同时为相关研究人员提供所需的解决方案的参考。我们主要研究了室内静态环境中以及单一机器人的任务。使用多个机器人能够进一步的完善该课题,面向多机器人探索的文献不在该综述的范围内。在提供ASLAM的信息时,为了读者的清晰理解和实用性,本文的组织如下:第二部分简述了问题的历史发展;第三部分详述了组成所有ASLAM策略的三个迭代步骤;第四部分详述了现有文献中为了提升已有解决方案性能的优化策略;紧接着第五部分,通过所描述的沟通进行位置重访问行动;关于世界维度的差异,以及计算相关的问题在第六部分进行阐述。第七部分总结了本文所提到的技术路径之间的不同。第八部分概述了该领域的发展方向以及公开的研究问题。最后,第九部分总结了全文,为未来的研究提供了可行的方案。

2. 历史回顾

直到1940年代第一个移动机器人出现后到的20年,Shakey,一个能够推理自身行为的多用途移动机器人才被制造出来。自此以后,开发出了许多用于不同领域的移动机器人。
然而,为了自主地执行任务,需要对机器人进行导航。尽管开发了大量的算法用于建图、定位和轨迹规划,但是移动机器人的导航仍未完全解决。正如简介中提到的,建图与定位最初是分开研究的。之后,人们证实了他们两者之间依赖,这个问题也开始称为SLAM。然后,基于SLAM的系统广泛地扩展到替他领域,诸如基于视觉的在线3D重建或者自动驾驶汽车。因为每个领域有用其各自的要求,作为信息源的传感器也可能是不同的,尽管其中的大多数归类为距离传感器和基于视觉的系统,无论是2D还是3D系统。许多其他的传感器被配置为主要的信息来源或者附加的信息源,例如GPS、轮速里程计、声纳或者IMU。不过,许多研究者选择雷达或者相机,因为绝大多数的机器人是在GPS缺失的室内环境中运行的,并且其他的传感器通常精度不够。许多车辆中加入IMU作为附加传感器,与其他设备相比较,IMU能够提供旋转轴相关的信息。实际上,一些相机已经内置了IMU。
值得一提的是,在标准SLAM过程中机器人通常是由人引导,为的是确保环境能够被完整的覆盖,并且环路是闭合的。实际上,在一段长距离的探索阶段之后的识别一个已经建立的地图,被称之为闭环检测,这是SLAM过程中的最主要的问题。闭环检测是指利用对已经建图的区域的检测来最小化导航中的累积误差。操作人员也有责任决定机器人的轨迹和终止准则,这些因素直接影响结果地图的质量,从而影响相应导航的性能。局部漂移的结果是在运动期间累积的,增加了不确定性并且导致了一个不精确的估计。闭环检测极大的提高了地图相对遍历路径的准确性,因为闭环检测企图修正机器人位置的误差。在解决全局定位问题时,识别之前访问过的位置具有重要的意义,并且能很容易恢复失去定位的机器人。闭环检测方法不同于其他,因为他们可能面向特殊的地图表示。尽管如此,生成的模型通常需要一个优化过程来修正任何错误添加的元素。这通常是传感器噪声以及移动机器人漂移的结果。这个后处理可以手动,也可以自动完成。
通过开发自动运行探索步骤的方法,地图探索或者ASLAM假装克服了之前提到的劣势以及潜在资源的不协调性,例如,通过在线选择路径或者导航子目标自动化机器人导航过程能获得更加精确的地图。在最近十年被广泛研究的探索领域exploration field,为移动机器人提供了巨大的优势,尤其在恶劣环境中。
主动探索在一些文献中也被称为自动 SLAM (automatic SLAM) [34,35]、自主 SLAM (autonomous SLAM) [36-38]、自适应并行建图与定位(adaptive CML) [4]、SPLAM(同步规划、定位和建图Simultaneous Planning, Localization and Mapping)[39] 或机器人探索(robot exploration) [40]。

ASLAM in Different Research Fields

“主动运动选择”的概念来自两个研究领域:移动机器人和计算机视觉。在机器人 [41]中,探索是指自主创建未知环境的操作地图。除了在处理不确定定位的同时生成世界表示外,机器人还必须控制其运动。也就是说,它必须计算目标以及为实现这些目标而采取的动作,同时积极应对意外情况。
在计算机视觉中,问题表现为主动感知 [42],它被定义为从环境中收集信息以减少元素周围不确定性的智能和反馈过程。它被认为是智能的,因为传感器的状态会根据传感策略有目的地改变。应用于移动机器人的主动感知描述了机器人确定指定运动以便更好地了解环境的能力。在定位的背景下,移动传感器的位置与/或航向,以尝试搜索减少位置不确定性的路标点。因此,周围元素的形状、几何形状或外观不可能是未知的,机器人必须能够准确地识别它们。这被称为主动定位,尽管假设已经对环境进行了建图,但该领域的许多拓展可以延伸到本综述研究的 ASLAM 问题中 [43-45]。特别值得一提的是张等人的成果 [46]。一方面,他们为微型飞行器提供了一种perception-aware receding horizon planner,允许机器人到指定目的地并同时避开视觉退化区域[47]。另一方面,他们为感知感知规划定义了一个专用的地图表示,它比使用点云的标准做法至少快一个数量级 [48,49]。这两项贡献都可以推动未知区域建图的研究朝着正确的方向发展。相比之下,上文所提到的建图中的主动感知active perception是指在没有先验信息的情况下对环境进行建模并计算实现它所需的动作。因此,这个算法包括两个过程,环境本身的重建和传感器的运动控制。这种方法被称为主动建图active mapping,即必须在有限时间内构建未知环境的地图,优化结果模型的准确性以及为此目需执行的操作。有几种方法可以估计与特定运动相对应的空间变换。基于概率滤波器的方法 [1,50] 给出了良好的结果,因此最常与那些采用 SfM [17,51] 方法的一起使用。 SfM 是一种摄影测量范围成像技术,用于从 2D 图像序列估计 3D 结构,类似于从立体视觉估计结构。
ASLAM 面临的一些问题已经被其他研究领域解决了。例如,运行主动视觉为 3D 对象重建选择下一个最佳传感器姿势或获取场景的完整模型的任务。这被称为次最佳视图 Next Best View (NBV),自 1980 年代以来一直在研究 [52]。或者,面向艺术画廊的计算几何computational geometry问题。这个问题首先由 Victor Klee 在 1973 年提出 [53] 作为安全领域中的一个感兴趣的问题。区域A的艺术画廊问题The art gallery
problem是为A找到一个最小基数覆盖视点集P。之所以这样称呼是因为将区域A设想为艺术画廊的平面图,而P中的点作为位置放置警卫,确保至少一名警卫可以看到艺术画廊的每个部分。总之,假设系统已经有了环境的数字模型,目标是找到可以看到所有场景的最小位姿集。转化为计算几何问题,画廊对应于一个简单的多边形,每个守卫由多边形中的一个点表示。我们的目标是找到一个最小基数集(守卫),可以在不离开多边形的情况下通过线段连接。已经做出了许多贡献来寻找监视设备的最佳位置 [54-58]。
上述所有问题都包括完全覆盖部分未知的环境。在下一节中,详细解释了 ASLAM,并讨论了它与其他类似概念的区别。

3. ASLAM问题

根据文献,ASLAM 算法由三个迭代步骤组成 [59]:位姿识别pose identification、目标选择goal selection以及导航和检查navigation and checking。 这些步骤涉及定位、路径规划和建图等经典任务,其关系如 [图1] 所示。位姿识别步骤识别可能的目的地;最优目标选择步骤选择最优目的地;并且,在最后一步,剩余的候选点影响算法的终止。 可以看出,这三个阶段取决于候选视点。 这些候选者只是移动机器人可能的目的地,受到用于管理导航组件的模型的限制。 因此,环境数据的表示方式可能会产生巨大的影响。 [附录A] 总结了环境表示的替代方案。 不熟悉机器人建图过程的读者可以参考它以更好地理解本文中进一步描述的技术。

3.1 位姿识别 Pose Identification

机器人根据所给的局部环境地图,能够识别出一系列目的地。理论上来讲,应当评估所有的物理可达目的地,因为他们是潜在的信息增益,并且因此任何目的地都能用于优化视点。然后,在实际中,评估计算的复杂性随着搜索空间的增加而爆炸性地增加[39,60,61]。因此,某些滤波器能够减少候选者的数量以及问题的复杂性[62,63]。一些位姿会被舍弃,比如已经被测试过的、已建图点周围的或者未知空间中太远的位姿。
最简单的方法是在已有的SLAM系统中设置随机目的地直到遇见一个确定条件。这种情况下,ASLAM与SLAM没有差别。然后研究者们设计了更加复杂的算法用于主动建图。
边界frontier在探索和建图问题中是一个重要的概念[40,64,65]。边界就是已知区域与未探索区域之间的界限,例如,地图中在已知自由区域和未知区域之间的点。边界点都位于以建图区域中,并且机器人很有可能到达这些边界点。此外,边界点确保了与其相邻的未知区域能够被覆盖。因此,边界代表的是可达点的优化集合。[图2]表示了地图中所有识别出的边界。
可以通过应用计算机视觉技术(例如边缘检测或区域提取)来搜索边界 [66]。然而,绝大多数方法使用基于广度优先搜索 Breadth-First Search (BFS) [67-69] 的算法找到这些点,并将这些边界聚类以提高效率,因为相邻的边界点可以简化探索结果,该结果与地图的颗粒度正相关。通常,使用 k 均值算法来进行聚类 [70-73],此外一些作者提出了其他替代方法,例如基于直方图的方法 [74]。

3.2 优化目标选择

一旦确定了一组潜在目的地,就需要估计每个目的地的成本cost和收益gain。成本表示达到实际目标所需的,例如实际位置和目标姿势之间的距离。增益对应于导航到选定目标之前和之后地图提供的信息之间的差异。信息通常是指发现的点的数量。通常,增益和成本是产生称为效用值的函数的变量 [75]。效用utility可作为比较探索轨迹的指标 [76,77]。理想情况下,为了计算给定动作的效用,机器人应该推理机器人姿势和地图的后验演化,同时考虑未来(可控)动作和未来(未知)测量。然而,分析计算这个联合概率通常在计算上是难以处理的 [78-80],因此,其需要近似处理[78,81]。

3.3 导航与检查

机器人导航到选定的最佳目的地,并在运动期间或达到目标时更新地图。更新地图意味着收集未知数据以及改善已采集地图的质量或纠正旧的或错误的信息。最初,导航是使用传统技术执行的,例如 A* [82],完全独立于机器人探索。然而,一些研究人员建议采用这些轨迹作为自主建图的目的,如第 4.2 节和第 5 节所述。此外,机器人必须检查探索过程是否必须继续。如需继续进行探索,则运行姿势识别步骤,并执行另一次迭代。
在探索未知环境时,可能总会有潜在的建图或精度改进区域,从而将系统推向无限循环。为了在有限的时间内执行自主建图,定义了终止标准。当满足该标准时,该过程将被视为完成 [39,83]。许多基于边界的探索系统中,当地图中不存在边界目标时,探索过程就结束了 [78,84,85]。其他项目选择了更直接的解决方案,例如行进的距离、经过的时间或捕获的帧数。然而,这些条件与所构建模型的质量或完整性无关,它们的有效性高度依赖于最佳候选选择器。Kriegel 尔等人 [86] 提出了一种 3D 重建系统,其中终止标准是预定义的最大扫描次数。该值是基于对场景质量和完成率的估计而设置的,并且由于不同对象的特定属性,它对于每个区域都是唯一的。因此,存在特定于环境的停止条件。
与难以跨系统比较的信息理论指标相比,来自最佳实验设计理论 (TOED) [87] 的不确定性指标作为停止标准似乎更有发展前景。

4. 优化对象

改进第 3 节中描述的步骤(姿势识别、最佳目标选择以及导航和检查)可以减少完成程序所需的时间、缩短行进距离或提高生成的地图的保真度 [88-90]。主动建图方法中的一个相关点是它是否尝试计算最佳探索视点 [91],或者另外计算到达该视点的最佳轨迹 [78]。此外,每次处理所有当前可用的地图以找到可能的目的地。由于可用地图的扩大,此过程需要越来越多的时间。为了解决这一限制,可以在地图更新时计算最佳姿势,并且可以在到达实际位置之前设置新的目的地 [92]。或者这些决定可以推迟到机器人达到导航目标并等待下一个[93]。此外,大多数算法在运动规划时关注区域的覆盖[94],但其中一些算法也考虑了建图的质量[95]。
大多数基于边界的探索方法仅优化导航目标。他们找到聚集在一起的边界,然后导航到边界。虽然重点是边界提取、聚类或优先级策略,但导航技术通常完全独立于机器人探索。基于采样的 ASLAM 方法作为基于边界的探索算法的替代方案而出现。这些技术随机生成机器人状态并计算最大化导航过程中收集的信息的路径[96]。此外,近年来的许多策略不仅试图找到探索的最佳姿势,而且还试图找到更有效地环境建图最佳轨迹。这两点将在本节后面深入讨论。

4.1 位姿优化方法

第一次探索尝试可以归功于 Yamauchi [64]。他提出了一种基于网格单元图中边界的方法。如第 3.1 节所述,任何与未知单元相邻的空闲单元都被视为边界单元。这些单元被分组到边界区域,机器人尝试导航到最近的可访问的、未访问的边界。路径规划器使用网格图上的深度优先搜索来计算从机器人当前单元格到包含目标位置的单元格的最短无障碍路径。通过移动到新的区域,移动机器人可以将其地图扩展到新的区域,直到探索完整个环境。这种策略取得了巨大的成功,许多研究人员已经开发出基于边界的探索方法。
Dornhege等人 [97] 通过引入**空隙(void)**的概念,将 Yamauchi 基于 2D 边界的探索方法扩展到 3D 环境中,空隙是未知的 3D 单元块。他们致力于解决为移动机器人平台携带的 3D 传感器选择 NBV 配置的问题,此时平台正在搜索未知 3D 空间中的对象,但机器人平台静止不动。一方面,边界单元通过联合查找算法union-find algorithm 进行聚类,形成边界簇集,另一方面,空单元集包含位于累积点云凸包内的所有未知单元,表示为八叉树地图。使用能力图 capability maps移除传感器无法到达的位置,能力图是包括有关机器人可以完成的可能运动的信息的表示[98]。可到达的边界单元直接按将被发现的空隙空间的体积排序,然后 NBV 规划器确定传感器的配置,从中可以观察到最大的空隙空间量。在计算出一定数量的有效位姿后,计算停止。
朱等人[99] 将传统的基于前沿的探索扩展到 3D,并在微型飞行器 (MAV) 上的ROS框架 [100] 中运行他们的算法。正在探索的环境的 3D 地图是从两个连续的点云增量构建的,由具有空闲、未知和占用单元的八叉树表示(参见附录 A)。他们将连续的单元分成几个簇,并选择它们的几何中心单元作为这个候选边界的代表。在存在多个候选边界单元的情况下,最佳目标边界由考虑新信息增益和移动到它的成本的标准确定。
虽然大多数探索开发工作都基于自由空间边界,但 Senarthane 和 Wang [101] 提出了一种基于表面边界概念的 3D 环境探索策略。他们将 3D 占据栅格地图中的表面边界体素voxel定义为建图表面的边界体素,其中体素的六个面中的至少一个面是边界,也就是说体素是暴露在未建图空间中的。因此,边界体素是扩展到建图表面的几何边界上的传统边界。然后,他们遵循从 3D 占据栅格地图中找到边界代表的通用做法,生成有效的视图配置并根据效用标准选择最佳视图。结果表明,生成表面边界比生成基于自由空间的边界的计算成本更低。
通常,常见的方法将机器人引导到边界进行探索,即它们主动搜索已知空间和未知空间之间的区域,将其设置为导航目标候选者。或者,一些研究人员展示了间接结合其他技术 [63,84] 发现边界的作品。例如,Dai等人 [84] 提出了一种基于边界和基于采样的策略之间的混合探索方法。作者使用边界确定探索应重点关注的区域,然后对候选视图进行采样,避免将单个体素聚类为更大的边界,从而降低相关的计算成本。Ravankar等人 [85] 为无人机配备了用于 9 DoF 位置估计的 IMU、用于高度控制的气压计以及用作 RGBD 相机和 2D LIDAR 传感器的 Microsoft Kinect。然后,扩展卡尔曼滤波器 (EKF) 用于将所有传感器数据融合为单个导航信息,以控制速度、方向和位置以及传感器误差偏差。 Ravankar 等人工作的主要贡献在于测试是否可以使用低成本的 RGBD 传感器进行映射和探索。也就是说,Yamauchi 的 [64] 边界检测用于探索,GMapping [102,103] 用于建图和定位,DWA [104] 用于导航和空间对齐 [105] 将 3D 收集的数据转换为稠密的 3D 地图。

4.2 轨迹优化

使用 Receding Horizo​​n (RH) 策略快速探索随机树 (RRT) [106] 是众所周知的基于采样的边界替代方案。之的所以这样命名这些策略,是因为预测范围不断向前移动,同时以同样的方式发现环境并更新地图。 RRT 通常用于预测控制模型中的路径规划 [107-109],但它们也成功应用于 ASLAM 算法。 RRT 显示出向未知区域增长的趋势,使其成为被动检测探索边界的理想选择。由于这种自然的探索行为,RRT 规划器的树的叶子是必须分析的潜在边界点。它们可以被视为有效探索轨迹本身的点。
Bircher 等人提出的规划器 [83] 采用后视地平线下一个最佳视图 (RH-NBV) 方案,其中为在线计算的随机树找到最佳分支,其质量取决于可以探索的未建图空间的数量。当树的节点数大于公差值tolerance value时认为探索已解决,而具有最高增益的节点的增益归零。在该工作的扩展中 [110],Bircher 等人提出了另一种基于采样的后退地平线路径规划范式,它不仅解决体积探索,而且还解决了自主检查的问题。所呈现的规划器的目标是根据目标函数生成覆盖未知体积或检查表面的路径。使用的环境表示仍是八叉树,具有自由、占用和未知空间。 Umari 和 Mukhopadhyay [62] 利用 RRT 向未知区域增长并被动检测边界。尽管如此,树并不是用来定义机器人轨迹本身,而是用来搜索边界点。它独立于机器人运动。在此基础上,作者将探索策略分为三个模块:基于RRT的边界检测器模块、滤波器模块和机器人任务分配模块。检测出第一个边界点,并将它们传递给滤波器模块。滤波器模块使用均值漂移 [111] 聚类算法对这些点进行聚类并存储它们。在这一步中,无效的和旧的边界点也被删除。最后一个模块,即任务分配模块,接收聚类的边界点并将它们分配给机器人进行探索。此外,这项工作的另一个新颖之处是使用多棵树独立生长来加速搜索过程。
Papachristos等人 [112] 提出了一种具有不确定性的探索和制图规划策略,该策略采用后退地平线、两步规划范式。该方法计算用于探索未知空间的优化视点序列,并选择其第一个视点进行访问。然而,与上面所述的工作相反,这个新方法的路径是通过第二个规划层计算的,该层旨在优化机器人的概率建图行为并最小化根的置信度不确定性。在这方面,在 Papachristos 等人最近的一项工作中 [113] 提出了两种专注于自主未知区域探索的算法,“后视地平线下一个最佳视图规划器”(nbvplanner)和“定位不确定性后视地平线探索和映射规划器”(rhemplanner)。他们在占据栅格地图表示的环境中使用 RH-NBV 规划器(命名为 nbvplanner),该地图划分为立方体,可以标记为空闲、已占用和未建图。如果直接视线 Line of Sight(LoS) 未穿过占用空间并与传感器模型编译,则单元格标记为未建图。在许多其他情况下,体积数据是使用八叉树存储的。然后,从机器人空间增量构建几何 RRT,其节点根据未建图的体积和路径成本收集信息增益值,优先选择较短的路径。它的边由无碰撞路径给出。为了应对机器人定位中的不确定性,他们提出了一种“定位不确定性后退地平线探索和映射规划器”(rhemplanner),它复制 nbvplanner 中完成的步骤,直到确定了最大化探索增益的有限步骤路径。然后,在第二阶段,计算到达该视点的新路径。这种替代轨迹确保保持低定位不确定性置信。整个过程被迭代重复。视觉惯性里程计框架用于提高方法的鲁棒性和准确性。它还支持定位不确定性感知规划,因为发生置信度传播,以便采样路径包含机器人状态和对应于最新跟踪特征的地标的预期值和协方差估计。对于每个路径段,推导出预期的 IMU 轨迹并将其用于机器人置信预测,通过以视觉惯性里程计的 EKF 方式运行状态传播步骤。这些算法在实际场景中进行了测试 [114]。此外,代码和实验数据集均已发布,以进行系统的比较分析。
考虑到 RH-NVB 规划和经典边界检测规划的优点,Selin 等人 [63] 建议将这两种技术结合起来。他们使用边界检测方法进行全局探索,使用 RH-NBV 规划进行局部探索,假设使用 RH-NBV 规划器的智能体有效地探索附近的环境,但当目标很远时,它通常得分很低。因此,倾向于过早地终止探索。当 RH-NBV 规划器探索其附近环境中的一切时,它会缓存来自先前 RRT 的具有高潜力信息的节点,并将它们视为规划目标,进而执行边界探索行为。此外,潜在的信息增益函数与探索的未建图区域成正比。 Faria 等人采用与前面几行中讨论的方法完全不同的策略 [115] 提出将前沿探索与 Lazy Theta* 路径规划算法相结合。 Theta* 是 A* 的一种变体,它沿着网格边缘传播信息而不限制在网格边缘的路径 [116,117]。同样,Lazy Theta* 是 Theta* 的变体,它使用惰性求值对每个扩展顶点仅执行一次视线检查 [118]。他们使用任意角度路径规划 [119] 来减少计算和视线检查的次数。此外,该算法已成功应用于自主多旋翼平台[120]。这项工作的另一个相关方面是他们完全放弃了常规网格思维方式,充分利用稀疏网格的空间聚类。无论采用何种技术,大多数 ASLAM 方法的核心思想是赋予机器人在未知环境中自主构建地图的能力。因此,机器人能够导航到熟悉的位置。但是,没有地图就无法完成这项任务。邓等人 [121] 更进一步,提出了在不需要事先拥有地图的情况下实现目标的想法。他们专注于在基于视觉的导航过程中跟踪故障避免,并提出了一个框架,用于规划和遍历移动机器人朝向目标并穿过未知环境的路径。

5. 位置重访

在不断探索未知区域时,机器人定位的不确定性以及由传感设备的噪声和缺乏可靠参考造成了地图相对于真实环境的误差累积。在某种程度上,无论是显式还是隐式搜索边界点,大多数 ASLAM 方法都可以将机器人引导到尚未访问过的区域。他们的决策函数的目标只是最小化可访问边界的数量,即机器人可以导航的点以及可以收集未知区域信息的地方。尽管如此,这些探索算法最大化覆盖但无视定位漂移的累积效应,这可能导致地图不准确。出于这个原因,许多工作都认为 ASLAM 系统的导航策略应该通过平衡探索行动和地点重访行动来减少不确定性 [122,123]。地方重访主题也称为闭环检测loop closure,它也来自 SLAM。
在这种情况下,González-Baños 和 Latombe [124] 提出了一种算法,该算法不使用边界,而是构建连接连续安全区域的地图,这些安全区域是保证没有障碍物的最大区域。同样的地图也用于规划安全运动。安全区域用于估计未来测量与当前部分构建的地图之间的重叠,并检查此重叠是否满足对齐算法的要求。最后,这些区域使 NBV 算法能够根据每个新候选位置的信息增益估计,选择最有可能探索大面积环境的位置。原则上,当所有局部安全区域的联合边界不包含自由曲线时,映射过程结束。在实践中,当每条剩余自由曲线的长度小于指定阈值时,算法停止,因为它更适合处理包含许多小几何特征的复杂环境。
Stachniss 等人 [125] 提出了一种用于主动闭环检测的 2D 方法,旨在应对连续探索过程中不完善的控制和感知。他们将用于定位和建图的 Rao-Blackwellized 粒子滤波器与通过主动闭环检测扩展的基于边界的探索技术相结合。关键概念是迫使机器人再次遍历先前访问过的循环,以减少姿势估计中的不确定性并获得更准确的地图。在 Carlone 等人提出的 2D ASLAM 算法中 [78],使用 Kullback-Leibler 散度 [126] 评估基于粒子的 SLAM 后验近似,以在探索和地点重访之间做出决定。该指标用于估计来自计算 NBV 的策略的预期信息。候选目标包括边界目标和轨迹目标,它们允许机器人在过滤器不确定性变高时重新访问地点。尽管如此,与之前提到的算法一样,如果地图上不存在边界,则认为探索已完成。策略的预期信息是特定运动命令后的预期地图信息与当前地图信息之间的差值,将访问单元格的数量理解为地图信息,即占用概率不等于0.5的单元格。预期信息增益是轨迹中每个姿势的信息增益之和,由其距离归一化。Valencia等 [127] 结合 SLAM 技术介绍了相对于经典探索方法对已知区域重访的改进。他们提出了一种与位姿 SLAM [128] 集成的主动探索策略,这是 SLAM 的一种变体,其中仅估计机器人轨迹,并且使用地标来生成机器人姿势之间的相对约束。在位姿 SLAM 中,机器人位姿先前的概率估计存储为精确的稀疏图 [129]。此外,Active Pose SLAM 方法评估探索和地点重访序列的效用,并选择最小化整体地图和路径熵的方法。该方法最小化熵而不是最大化覆盖范围,因为只有那些熵度量低于阈值的轨迹被选为安全的探索路线。此外,还有导航目标,通过检测闭环来减少不确定性。请注意,在评估地图上的信息增益时,只会计算非常粗略的先验地图估计。

动态环境

虽然大多数算法都假设环境是静态的,但 Trivun 等人 [82] 开发了一个 2D ASLAM 系统来对动态室内环境进行建图。该算法使用Fast SLAM [130],以及 Rao-Blackwellized 粒子滤波器,用于定位和映射,而 A* 搜索算法 [131] 与动态窗口方法dynamic window approach (DWA) [104] 结合用于导航。在探索过程中,机器人首先扫描全局占用矩阵中的间隙,并检测与机器人位置和距离传感器范围内在几度内正交的区域。在该组之外产生的区域被标记为隐藏区域,在边缘边界之前总是要考虑在内,因为它们更接近并且通常探索成本更低。当有多个隐藏区域时,算法会选择最接近的一个。如果系统无法完全对一个隐藏区域建图,则可以访问该区域两次。第一次,算法将该区域按优先顺序设置为最后一个,并将其标记为已访问。如果再次访问它,但仍未完全建图,则更新代价地图costmap,以便算法不再检测该间隙。如果没有隐藏区域,边缘边界是唯一可供探索的候选者。目标是使机器人方向向量与边缘正交,使传感器覆盖尽可能多的区域。最后,计算每个候选的不确定性的总和,并选择具有最高值的边缘边界间隙。当全局代价图中没有间隙时,程序结束。
Mammolo [132] 也研究了动态环境的问题。更具体地说,其工作提出了一种适用于静态环境的 ASLAM 算法,并为拥挤的环境提供了扩展。虽然它本身没有引入探索或路径规划的新技术,但作为 Yamauchi [64] 提出的经典边界方法的实现,用于探索,效用函数基于由Carrillo等人[133]开发的香农和 Rényi 熵。 Mammolo 假设一个静态环境,其中唯一的动态对象是人类,他们实现了一种算法,可以过滤二维范围数据中的移动人物,以便 ASLAM 系统可以使用静态、可靠的数据完成任务。在拥挤环境中的实验还不够详尽,但它们确实表明将该过滤器集成到 ASLAM 系统中可以提高性能。

6. 数据维度与计算成本

虽然大多数的2D探索算法在2000年前被开发,但是伴随着3D传感器的出现(比如RGB-D系统,3D距离传感器以及其他),3D建图成为可能。3D环境重建提供了许多有趣的上线文信息,并且扩展了机器人的应用,例如空中机器人的自动导航,其中3D信息至关重要。图三展示了一个机器人实验室的3D建图示例。

十年之后,3D ASLAM开始变得可行,并且因此被研究。然而,巨大的计算量要求高性能的机器和高效的存储管理,以确保运行的一段时间。
2D系统能够满足很多应用的需求,但是3D系统额外识别了许多信息变量,并且赋予了机器人新的能力:能够建立3D真实模型,用于仿真的;所要求的体积信息,比如用于移动的控制,或者协作任务;探索在不同高度的障碍物可以管理斜坡、台阶、沟渠等困难的负面障碍物,使得导航更加灵活和安全。诚然,这些增强功能带来了更多的复杂性,但由于 2D ASLAM 的蓬勃发展,已经开发出更高效的算法,并且硬件组件的计算能力已大大提高。另外,3D数据管理是无人机的关键需求。无人机是当今用于检查、监视、建图和3D建模项目的重要数据来源。相比于地面导航平台的花费成本,他们更加轻量和便宜。除此之外,3D ASLAM的项目使得飞行器毫无疑问地成为一个好的选择,由于他们的6自由度确保了探索系统能够从几乎所有视觉的点观察区域。另外,他们的飞行能力和独立于地面允许一个更加高效的路径规划。此外,算法必须在通常没有尖端技术规格的机器上运行,因此效率尤为重要。
Surmann首创了3D建图方法。文献[137]中,他们提出了一个自动系统,用于测量和数字化3D室内环境,但是,机器人的导航却维持在2D地面平面。他们将其开发为三个模块。第一个模块记录了3D扫描和机器人的重定位使用一个迭代最近点算法的增速变体。在第二个模块中,NBV 规划器根据获取的 3D 数据计算下一个标称姿势,同时避开障碍物。第三个模块是一个闭环检测马达控制器,基于里程计指引移动机器人到一定的位姿,同时避免和动态障碍物碰撞。探索候选者最初是随机生成的姿势,这些姿势基于以下因素减少:评估的信息增益值,由与边界线相交的数量决定;到当前位置的距离;和当前位置的角度。如果候选视角点的集合为空,探索终止。Surmann使用一个快速基于八叉树可视化方法来进行3D数字化,但是机器人的导航是在2D地图中进行的。在某些情况下,这一不同会导致不一致。基于地图的2D探索系统可能标记为空闲空间全域,会被3D系统能够检测为一个不能够导航通过的地区。例如,导航障碍物(定义为地平面以下的障碍物,例如向下的台阶、沟或者悬崖)不应该存在,在系统仅考虑2D信息执行一个探索程序的环境中。
影响计算需求的另一个问题,即内存需求,是无法运行任何离线探索过程的。机器人的动作是在运动过程中计算的,与传统SLAM相反,机器人的完整路径在运行时是未知的,因此这是最终地图的大小。为了解决这些限制,Feder在文章[4]中展示了成果,初始化新特征到地图中,匹配这些特征的测量,并且使用一个延时最近相邻数据关联策略删除过时的特征。他们引入了一种在未知环境中为任意数量的特征执行自适应 SLAM 的方法。它基于选择动作,在给定当前传感器测量值和地图/机器人状态的情况下,将最大化在下一次测量中获得的信息。 该技术面向局部自适应映射和导航,因为在每个周期,只考虑机器人的下一个动作。 随着计算成本的大幅增长,它可以通过在扩展的时间范围内进行预测来全局公式化。
自动地建立一个精确的全部室内环境的3D表示是行不通,因为基于环境大小和地图的分辨率问题复杂性会呈指数增长。此外,也可能没有必要绘制整个区域,因为机器人的操作空间可以小得多且明显有限。所以,能够独立地对特殊房间和区域建图的系统在很多情况下都能引起兴趣。Maurovic [89]利用单一的全局导航方法实现了一种局部与全局建图的组合。他们将2D和3D探索组合到了一个周期方法中,能够跟踪大尺度环境中的三维信息以寻找未探索区域。探索的开始利用了仅2D测量,并且随后,机器人沿着跳跃边界直到检测到封闭空间,比如一个房间。这个时候,方法转换成3D探索,其考虑激光点扫描仪捕获的整个3D环境信息。3D探索算法致力于将检测房间作为大环境的一个小的单位。当房间被探索后,3D探索过程终止并且继续使用2D探索策略探索,回到第一步。对于单独房间的3D房间探索,使用Blaer and Allen的算法[135],它需要预先获取一个2D环境地图,然后指导探索朝向更多的不可见区域。这些区域通过在传感器高度及其视场FOV中的不可见体素的数量确定。
相比之下,为了解决上述 MAV 的计算和内存限制,Shen 等人[139] 提出了一种基于随机微分方程的探索算法,该算法仅考虑当前地图中已知的占用空间,避免了自由和未知空间的显式表示。 他们根据随机微分方程的演化来确定进一步探索的区域,该方程用牛顿动力学模拟粒子系统的膨胀。

7. ASLAM算法总结

我们对前几节中介绍的方法在表 1 中进行分组。 对于每项工作,使用的机器人、收集信息的传感器、世界的表示方式、贡献的核心概念、优化目标以及执行测试的平台进行了总结归纳。 优化列表示该方法是否找到了用于探索的最优位姿、轨迹或两者。此外,算法的性能在很大程度上取决于所使用的硬件和所建图环境。

表 1
表 1 续

8. 发展展望

虽然很多算法致力于解决建图的一致性与覆盖率,但是这些算法往往不能够保证场景的建图质量和完整性。在3D重建领域的一些研究或许对解决上述ASLAM中的问题有多帮助。例如,Calli et al[142]提出了一种基于极值寻优控制extremun seeking control(ESC)主动视觉策略,该策略不需要周围环境的先验模型。虽然它专注于非结构化环境中物体识别和抓取的视点优化,但连续 ESC 算法解决了当目标函数、其梯度和最优值未知时的目标值优化问题[143],因此,它可以用于优化 ASLAM 方法中的效用函数。
将语义信息应用到ASLAM中是最新的一个研究路线[144]。通过物体间语义属性的区别而不是几何实体,机器人能够很好的理解其周围的场景。这个功能极大的提升的传统SLAM,并且在探索未知环境时具有很强的实用性。文献[148]将目标识别系统集成到服务机器人的场景的SLAM,在导航过程中主动建图,并且在过程中加入了目标检测系统。文献[149]将语义信息添加到目标SLAM系统中,但是他们主动优化机器人的运动,用来减少对目标对象的观测不确定性,同时提高其位姿估计的精度。他们提出了一种目标驱动object-driven 主动探索策略,其考虑了目标观测的完整性以及位姿优化的不确定性,该策略显著提高了目标地图的准确性。
深度强化学习是另一条研究方向,因为它在许多领域都取得了有希望的结果,而且 ASLAM 模型适合它给出响应的问题类型 [150-155]。尽管在 ASLAM 领域尚未发布很多机器学习方法,但近年来的提案引起来研究者的关注 [156-160]。正如在第 2 节中提到的,监视和探索方法的不同之处在于,在前者中,环境是从一开始就知道的,而后者必须去发现它。然而,它们有一些相似之处,一次改进可以影响两个研究方向。例如,Ly 和 Tsai [161] 提出了一种基于可见性的探索、重建和监视的贪婪和监督学习方法。给定一组先前访问过的点,他们计算累积可见性和边界。他们训练了一个卷积神经网络,该网络可以为一大类障碍物学习几何先验,从而提高运行时的效率。然后,他们通过在这对输入上应用经过训练的神经网络来近似增益函数,并根据 [83] 选择下一个点。重复这个过程,直到没有边界或遮挡。虽然它主要专注于监视,但它也通过仅使用观察作为输入来学习函数的参数来解决探索问题。

开放研究问题

ASLAM 还远未成为可以在几乎任何环境中有效使用的已解决问题。 虽然在家庭和工业场景中运行SLAM的产品很多,但都没有提供无需人工干预自主创建地图的功能。 还有一些问题需要解决。
在任何状态下,机器人都有可能根据接收到的输入执行多个动作。 因此,预见每个单独行动的影响的能力是决策过程中的一个关键点 [162]。 此外,每个动作都应该对建图过程做出贡献,它可能会改变后续动作的贡献。 在对未知环境建图的过程中优化该函数,其中目标模型和构建它所需的时间是未知的,该问题仍在研究中。 尽管预测动作对未来的影响的过程的计算成本是巨大的,但是通过使用频谱技术 [163] 和深度学习 [164] 取得了一些进展。
何时完成建图过程是另一个需要解决的重要问题。 目前使用的许多终止标准,例如扫描次数、经过的时间、行进的距离等几乎不依赖于正在建模的环境,因此通常基于反复试验设置。 在建图的某个时刻,过多的信息只会导致相互矛盾的结果,并且可能会由于多次错误的闭环而最终处于不可恢复的状态。 如果该方法侧重于覆盖率,则可能更容易正确决定何时可以认为过程已完成,但随着结果表示所需质量的提高,这会变得更加复杂。 探索和开发之间的平衡在整个过程中具有巨大的影响。
通常,在经典 SLAM 过程中创建的地图需要一个后处理步骤,其中删除错误添加的元素。 通常,这种添加不是算法本身的错误。 移除的元素通常是在日常使用中改变了位置和方向的物体(例如椅子),但不是动态的。 也就是说,这些提炼动作都是基于人类的经验,而机器人还没有这些知识。 一旦地图步骤被认为完成,当机器人自动开始导航任务时,需要让 ASLAM 系统能够在创建地图的同时做出这些决定并避免后处理的必要性。 语义信息处理在该领域显示出一些有希望的结果 [165]。

9. 总结

本文回顾了移动机器人领域的 ASLAM 技术。 大多数研究方法假设系统在室内静态环境中运行,地面和空中机器人分别是 2D 和 3D ASLAM 系统的主要执行平台。 也有一些研究工作试图解决其他场景中的问题,例如在水下环境中。
对于基于 2D 地图的技术,基于边界的方法是最常用的方法。在标准算法中,机器人只是导航到最佳边界点。移动机器人在移动时获取信息并增加定位漂移。许多方法添加了约束以确保定位的不确定性较低或系统始终导航到最佳边界视点。然而,这些算法一直非常依赖于所使用的传感器和地图表示。相比之下,对于 3D 数据,基于滚动优化的系统receding horizon-based system能够起到更好的作用。它们考虑了整个路径上的信息增益,并且很容易适应不同传感器。此外,与计算成本高昂的边界点聚类方法相比,计算复杂度较低,这使得该类算法能够应用于更大规模的环境。但是,RH-NBV 方法可能会陷入局部最小值。关于世界表示,占用网格图占主导地位,特别是基于八叉树的结构。包含深度学习模型和语义数据结构的工作正在不断发展,它们可能会大大改进 ASLAM 程序,但目前还没有足够的文献来得出明确的结论。
为了比较不同方法之间的优缺点,必须确保文献代码的可复现,确保在具体环境中使用机器人平台执行不同的方法,并测量效率、建图完成度和准确性等指标。
可以得出结论,ASLAM 主题在短短几年内发展如此迅速,未来仍然可以为移动机器人导航领域提供更多帮助。

附录A:世界表示

ASLAM中的环境表示与传统的SLAM系统并没有不同,如图A1所示。许多工作解释了不同建立机器人可读形式的几何模型的方法。IEEE地图数据表示研讨会开发了一套规范标准来表示用于机器人导航的地图。
主要的两种地图表示方法有:拓扑地图topological和度量metric地图。
拓扑图与图graph类似,只考虑位置及其之间的相对关系,将环境表示为一系列用边连接的节点(位置)。两个节点之间的边被标记为两个姿态的相对位置的概率分布,以它们的相互测量为条件。基于这种简化的世界表示,能够轻松建立大型扩展地图,并且提供路径规划所需要的所有信息。
或者,在度量地图中,目标是通过精确坐标定位的。它们提供了应用地图绘制或导航算法所需的所有信息,但地图大小与工作区域的大小成正比,这本身就使得对大区域进行建模(特别是与 3D 映射相关)的成本很高。通常有三种度量地图的表示:基于路标的地图landmark-based maps、占据栅格地图occupancy grid maps和几何地图geometric maps。
基于路标的地图表示,又称之为基于特征的feature-based表示,识别并且保持某些特殊点的位姿。这种表示必须满足路标对于机器人感知系统是唯一且可识别的。这些路标可以是点、线、角点,甚至是3D建图中的面,形成场景的稀疏表示。路标不仅仅是原始的测量数据,比如复杂的描述子discriptor,它更是与每个测量建立相关的数据关联。
与之相反,占据栅格地图利用网格单元grid cell来描述环境信息。每一个网格单元存储这它所覆盖的区域的信息。通常存放的是一个单一变量,用来表示该出是否为障碍物的概率值。网格单元可以包含2D或者3D的信息。存在一种2.5D地图表示,它并不是纯粹的3D占据栅格地图,而是在扩展2D网格单元地图中增加了高度值。栅格地图由常规栅格或者稀疏栅格构成。常规栅格将连续空间离散化为相同大小的单元格,类似于树状法。常规栅格中,八叉树编码器是最值得一提的。八叉树是一种分层的8元树结构,能够在制定的分辨率下表示任何形状的对象。由于其高效性,它被广泛用于需要 3D 数据存储的系统中,因为表示和操作所需的内存大小仅取决于对象表面积。
代价地图costmap一个被广泛应用于栅格地图的概念。代价地图表示的穿越不同地图区域的困难程度。代价地图利用占据栅格地图和抽象值的的形式来表示,该抽象值不代表任何对环境的测量,因为代价本身是通过对比静态地图、局部障碍物信息和膨胀准则得到的。
几何地图也能够被认为是一种离散地图。在几何地图中,所有被传感器检测到的对象通过简化后的几何外形来表示,例如圆和多边形。该方法能够在不损失太多信息的条件下高效地表示环境信息,但是这会影响轨迹的计算以及数据的整体管理。因此,在实际中应用中,很少有人采用这种方法,大多采用占据栅格地图。
采用,诸如信息权重变量这种用于主动建图的附加信息,也为设计ASLAM算法提供了很多的可能性。ASLAM算法会因为所采用的建图方法不同而有很大的差异,但是最显著的区别还是在于其面向2D还是3D,或者两者的混合[165]。

  • 1
    点赞
  • 1
    评论
  • 5
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

nicheng123lala

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值