DOOR-SLAM

Lajoie 2020 · 论文

一句话总结 —— DOOR-SLAM(Distributed, Online, and Outlier Resilient SLAM,分布式、在线且对外点具有鲁棒性的SLAM)是一个完全去中心化的点对点SLAM系统,其基于成对一致性的外点剔除机制使机器人团队能够使用激进的位置识别阈值,同时安全地过滤掉虚假的跨机器人回环。

问题

机器人团队需要对环境及自身在其中的位置形成共同的理解,而不依赖外部定位系统(如GPS),并且信息交换尽量少。分布式SLAM恰好能提供这一点,但现有的分布式系统容易受到感知外点的影响:为了避免灾难性的错误回环,它们采用了非常保守的位置识别参数,但这同时也拒绝了许多有效的回环候选,降低了轨迹精度。DOOR-SLAM将检测与验证解耦——一个鲁棒的后端使得在前端放宽标准、让更多候选通过成为安全之举。

方法与架构

点对点架构。 当没有队友处于通信范围内时,每个机器人独立执行单机器人SLAM,在相遇时执行分布式协议;不存在中心服务器,也不要求全连通性。实现基于ROS之上的Buzz群体编程语言。在机器人本地,RTAB-Map立体视觉里程计生成机器人自身的位姿图;两个分布式模块负责完成多机器人相关的工作。

分布式回环检测(无需交换原始数据):每个机器人为每个关键帧计算一个NetVLAD描述子(截断为128维)。相遇时,机器人α\alpha只将自上次相遇以来生成的描述子发送给机器人β\betaβ\beta在欧氏距离阈值下找出候选匹配,并仅针对这些关键帧,将视觉特征(带ORB描述子的GFTT关键点)及其三维位置回传给α\alpha。机器人α\alpha使用OpenCV的solvePnPRansac执行几何验证;足够的内点集合会产生一个跨机器人回环测量值zˉβkαi\bar{\mathbf{z}}_{\beta_k}^{\alpha_i}α\alpha的关键帧iiβ\beta的关键帧kk之间的相对位姿)。

分布式外点剔除——成对一致测量集最大化(PCM)。 两个跨机器人回环zˉβkαj\bar{\mathbf{z}}_{\beta_k}^{\alpha_j}zˉβlαi\bar{\mathbf{z}}_{\beta_l}^{\alpha_i}是成对一致的,如果它们与两段里程计片段共同构成的闭环复合后(近似)等于单位变换:

(zˉαjαizˉβkαjzˉβlβk)zˉβlαiΣγ\left\|\left(\bar{\mathbf{z}}_{\alpha_j}^{\alpha_i}\oplus\bar{\mathbf{z}}_{\beta_k}^{\alpha_j}\oplus\bar{\mathbf{z}}_{\beta_l}^{\beta_k}\right)\ominus\bar{\mathbf{z}}_{\beta_l}^{\alpha_i}\right\|_{\Sigma}\leq\gamma

其中Σ\|\cdot\|_\Sigma是马氏距离,/\oplus/\ominus是位姿复合/求逆运算,似然阈值γ\gamma来自卡方分位数。相互一致的测量值的最大集合被表示为一致性图的最大团;团之外的一切都被剔除。关键的是,该度量只需要为分布式PGO已经交换过的回环测量值和里程计位姿估计——外点剔除在通信层面上是”免费”获得的。

分布式鲁棒PGO。 内点回环与里程计数据被送入Choudhary等人提出的两阶段分布式Gauss-Seidel优化器:机器人先就旋转量达成一致,再恢复完整位姿,仅交换跨机器人回环所涉及的位姿估计。后端基于GTSAM用C++实现。

实验结果

对SLAM的意义

感知混淆是多机器人建图的致命弱点:一次错误的跨机器人回环就可能将两个机器人的地图不可挽回地折叠到一起。DOOR-SLAM将鲁棒的外点剔除确立为分布式SLAM的一个首要架构组件,并证明了其收益——激进的前端阈值变得安全,从而产生更多有效回环,而不是更少。其PCM公式后来被后续系统采纳并扩展(Kimera-Multi朝同一目标使用了渐进非凸性方法,Swarm-SLAM则来自同一研究团队)。它是抗外点去中心化协作SLAM的参考设计。

相关条目