作者: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节倒数第三段最后一句)什么意思?

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

  1. [论文笔记] Google Spanner Distributed Database

    Spanner 是谷歌的可伸缩.多版本.全球分布.支持同步复制的数据库,它是第一个在全球范围内传递数据且保证外部一致的分布式事务的系统.论文叙述了它的架构.特征.许多设计的依据和一个新的可以暴露时钟不 ...

  2. 《论文笔记》ROBUST MAP ALIGNMENT FOR COOPERATIVE VISUAL SLAM

    时间:2018 作者: 创新点:   本文重点在C-VSLAM的map alignment环节.比较了三种算法进行transformation estimation的优劣,新提出一种scale est ...

  3. 《论文笔记》COVINS: Visual-Inertial SLAM for Centralized Collaboration

    时间:2021 作者:   Multi-UAV Collaborative Monocular SLAM的后续之作,关于之前那篇可参照:<论文笔记>Multi-UAV Collaborat ...

  4. 《论文笔记》Robust Cooperative UAV Visual SLAM

    时间:2011 作者: 创新点:   将单机VSLAM扩展到了多机C-VSLAM(中心化方式).单机VSLAM的实现基础是基于NH∞滤波器(具体见参考文献[18][19]).本文重点在VSLAM和C- ...

  5. VDO-SLAM: A Visual Dynamic Object-aware SLAM System论文笔记

    VDO-SLAM: A Visual Dynamic Object-aware SLAM System论文笔记 原文:https://arxiv.org/pdf/2005.11052.pdf 代码:h ...

  6. 最新论文笔记(+13):Hardening Distributed and Encrypted Keyword Search via Blockchain / PAC2017

    Hardening Distributed and Encrypted Keyword Search via Blockchain(通过区块链进行分布式加密关键字搜索) 鉴于前面好几篇都是可搜索加密与 ...

  7. DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文笔记

    DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文笔记 参考文章 知乎 https://zhuanlan.zhihu.com/ ...

  8. CubeSLAM: Monocular 3D Object SLAM 论文笔记

    CubeSLAM: Monocular 3D Object SLAM 论文笔记 摘要 提出了一种静态和动态环境下单幅图像3D长方体目标检测和多视点目标SLAM的方法,并证明了这两个部分是相互促进的. ...

  9. 【论文笔记】SA-LOAM:Semantic-aided LiDAR SLAM with Loop Closure

    [论文笔记]SA-LOAM:Semantic-aided LiDAR SLAM with Loop Closure ~~~   ~~~~    基于 LiDAR 的 SLAM 系统无疑比其他系统更准确 ...

最新文章

  1. 5个有趣的Python小知识,返回结果让人出乎意料~
  2. Coursera课程Python for everyone:Quiz: Single-Table SQL
  3. Dynamic AX ERP 4.0 数据导出(上)
  4. web.config配置数据库连接
  5. 计算机二级考试题 花纹,练习五(计算机二级考试OFFICE高级应用考试卷).doc
  6. 从源码分析 Spring 基于注解的事务
  7. ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据
  8. 实验一 熟悉常用的Linux操作,实验2-熟悉常用的HDFS操作
  9. 调和分析笔记1|极大函数法及简单应用
  10. Shell的脚本编程
  11. Java 技巧篇-IntelliJ IDEA快捷键设置,格式化代码快捷键
  12. python 语音转文字_音频转文字这种刚需,我用python写了个软件,免费不限时
  13. veux--页面刷新更新后数据状态无法保存问题
  14. 亚马逊、速卖通、Shopee阿里国际站、mercari、沃尔玛、newegg、美客多等跨境平台卖家如何有效结合测评,补单打破瓶颈
  15. Euclid辗转相除法c语言,euclid辗转相除法求greatest common divisor
  16. 研发人员的几个典型性格特征
  17. 关于CSS与HTML知识点总结(一)
  18. js 已知角度和斜边,求直角边
  19. 设计模式--04模板方法模式
  20. [算法]LeetCode第194场周赛202006021

热门文章

  1. 2022-2028年全球集成驱动系统收入年复合增长率CAGR为 5.3%
  2. 派美雅助力电子档案磁光自动备份刻录归档
  3. 利用计算机进行教学的优点,信息化教学手段对改善教学方式的影响
  4. 基于雅特力AT32的 《掌上实验室》V8
  5. 【腾讯地图】腾讯地图定位解析
  6. SpringSecurity前后端分离(包含token和验证码登录)
  7. 【JVM】十、CPU负载过高分析
  8. 面向对象思想初级应用实例
  9. C语言 scanf输入回车或空格时停止输入
  10. 常用计算机 启动bios,常见进入BIOS设置界面大全,装机必备,电脑设置不求人