当前位置:   article > 正文

《论文笔记》DOOR-SLAM:Distributed,Online, and Outlier Resilient SLAM for Robotic Teams

door-slam

作者:Pierre-Yves Lajoie1, Benjamin Ramtoula1,3, Y un Chang2, Luca Carlone2, Giovanni Beltrame1

单位:麻省理工学院(MIT)

会议:ICRA(B类)

时间:2019.12

摘要:为了实现协作任务,团队中的机器人需要对环境及其在其中的位置有共同的理解。分布式同时定位与建图(SLAM)为机器人定位提供了一种实用的解决方案,无需依赖外部定位系统(例如GPS),且信息交换最少。不幸的是,当前的分布式SLAM系统容易受到感知异常值的影响,因此倾向于使用非常保守的参数来进行机器人间的位置识别。然而,过于保守的代价是拒绝许多有效的环路闭合候选者,这会导致较不准确的轨迹估计。本文介绍了Door-SLAM,这是一种完全分布式的SLAM系统,具有异常值拒绝机制,可以用较少的保守参数工作。Door-SLAM是基于点对点通信的,不需要机器人之间的完全连接。Door-SLAM包括两个关键模块:位姿图优化器和分布式成对一致性测量集最大化算法相结合,以拒绝机器人间的伪环路闭合;以及分布式SLAM前端,它在不交换原始传感器数据的情况下检测机器人间的环路闭合。该系统已经在模拟、基准数据集和现场实验中进行了评估,包括在没有GPS的地下环境中进行测试。Door-SLAM产生更多的机器人间环路闭合,成功地拒绝异常值,并导致准确的轨迹估计,同时需要较低的通信带宽。完整的源代码可以在https://github.com/MISTLab/DOOR-SLAM.git上找到。

具体实现:每个机器人从机载立体摄像机收集图像,并使用(单个机器人)立体视觉里程计模块来估计其轨迹。我们使用来自RTAB-Map的立体里程计。

                 图像还被馈送到分布式环路闭合检测模块(第III-A节),该模块与其他机器人(当它们在通信范围内时)通信信息,并输出机器人间的环路闭合测量。

                 然后,分布式异常值剔除模块(第III-B节)收集里程计和机器人间的测量值,以计算成对一致性测量值的最大集合,并过滤出异常值。

                 最后,分布式位姿图优化模块(第III-B节)执行分布式SLAM。

A.分布式回环检测模块:包括场景识别和几何验证两个子模块。

        具体步骤:

        1.(前两步:场景识别)在通信范围内时,机器人α把NetVLAD描述子传给机器人β。

        2.β拿来与自身描述子相比较,通过选择欧氏距离小于一定值的关键帧对,拟定潜在回环

        3.(以下:几何验证)之后,β把视觉特征及其描述符和3D位置回传给α。

        4.用这些特征,α利用SolvePnpRansac函数进行几何验证,返回一组inlier特征和相对位姿变换。

        5.若inlier数量够多,α认为回环检测成功,把成功回环对应的相对位姿变换传给β。

B.分布式鲁棒位姿图优化模块:包括分布式异常值剔除子模块和分布式位姿图优化子模块。

        分布式异常值剔除模块:用来移除偶然通过几何验证的假回环。采用Pairwise Consistent Measurement Set Maximization (PCM) 方法剔除outlier。关键在于:检查机器人之间的回环是否彼此一致,搜寻大量相互一致的回环。

        分布式位姿图优化子模块:用里程计测量和机器人间环路闭合来估计机器人位姿。采用了文献[3]S. Choudhary, L. Carlone, C. Nieto, J. Rogers, H. Christensen,and F. Dellaert, “Distributed mapping with privacy and communication constraints: Lightweight algorithms and object-based models, accepted,” Intl. J. of Robotics Research, 2017, arxiv preprint:1702.03435.的方法。机器人重复地用它们的估计 来交换 机器人间环路闭合所涉及的位姿,直到它们就最优轨迹估计达成共识。更具体地说,[3]的方法使用两阶段方法以分布式方式解决位姿图优化问题:首先,计算机器人沿其轨迹旋转的估计值;然后在第二阶段恢复完整的位姿。每个阶段都可以使用分布式Gauss-Seidel算法来求解,该算法避免了复杂的记录和信息重复计算,并且只需要最少的信息交换。

实验:基于ROS操作系统和Buzz编程语言(一种专为机器人集群而设计的编程语言)。在前端,我们使用最新版本的RTAB-Map立体视觉里程计,并使用[9]中提供的NetVLAD的TensorFlow实现,以及原始论文[10]中训练的默认神经网络权重;特征使用的是源于ORB描述子的Good Features。后端分布式鲁棒PGO模块的实现使用了GTSAM库。

        分别使用ARGoS(一种多机器人系统模拟器)进行了仿真实验、在KITTI数据集上进行了实验、实地实验。

        实地实验需要调节的重要参数有三个:PCM NetVLAD阈值(增大阈值,回环候选帧数量增加)、特征对应的最小数量(应该是有几个特征一致时即认为是回环?)、PCM似然阈值(接受outlier作为inlier的可能性,增大阈值,接受率高,误差变大)。经实验,Door-SLAM可在前端使用不太保守的参数来获得更多的回环候选帧,而使用更保守的PCM阈值来保证精确度。

        就实验结果来看,本文的分布式后端实现大致可将通信负担减半(较之集中式:一个机器人将初始位姿图数据和估计结果传给另一机器人)。

总结:我们提出了一种分布式多机器人SLAM系统Door-SLAM,该系统由数据高效的点对点前端和具有异常值恢复能力的后端组成。我们在仿真、数据集和现场测试中的实验表明,我们的方法拒绝假的测量,并计算出准确的轨迹估计。我们还表明,我们的方法可以充分利用其鲁棒的后端来使用不太保守的前端参数。

未来工作:在未来的工作中,我们计划不仅研究对其他感知故障(如大量相关的异常值)的鲁棒性,还计划研究对通信问题(即丢包)的鲁棒性,以提高多机器人SLAM系统的安全性和适应性。

疑问:“PCM似然阈值可根据给定概率水平的卡方分布的中位数来决定”(第III-B节倒数第三段最后一句)什么意思?

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/711031
推荐阅读
相关标签
  

闽ICP备14008679号