RTAB-Map

Labbé 2019 · 论文

一句话总结 — 一个具有内存管理机制的多传感器开源SLAM库,支持RGB-D、双目和LiDAR,其有界时间的回环检测使其能够实现大规模、长时间以及多会话运行。

问题

长时间运行的SLAM会积累一个不断增长的地图,而对所有已存储位置进行扫描的回环检索方式也会随之增长——最终会违反实时性约束。对于需要运行数小时、数天甚至跨多个会话的机器人而言,无论探索时长如何,回环检测都必须在有界时间内完成。另一方面,现实世界中的机器人搭载着各种不同的传感器组合(室外用双目、室内用RGB-D、2D/3D LiDAR、轮式里程计),但大多数研究系统只支持一种特定配置,并仅在纯相机或纯LiDAR数据集上进行评测,这使得视觉与LiDAR的比较——更不用说实际部署——变得困难。

方法与架构

RTAB-Map是一个基于图优化的SLAM节点,将里程计视为外部可替换的输入。地图本身是一个图:每个节点存储一个里程计位姿、压缩后的原始传感器数据、视觉词汇以及一个局部占据栅格地图,以固定检测频率创建;边(邻居关系、回环关系、邻近关系)携带刚体变换,用以约束图优化。

实验结果

这篇发表于《Journal of Field Robotics》的论文在KITTI、TUM RGB-D、EuRoC以及MIT Stata Center PR2数据集上评测了RTAB-Map的视觉与LiDAR配置。在KITTI上(ATE,单CPU核心):LiDAR S2S模式在序列00上达到1.0 m,平均里程计耗时为62毫秒/帧;双目F2M模式为1.0 m,耗时82毫秒;基于ORB-SLAM2的里程计在RTAB-Map中是精度最高的视觉方案(在11个序列中的9个上取得最佳ATE,10个上取得最佳平移误差),但在单核上每帧耗时超过100毫秒。高速公路序列01揭示了传感器模式之间的权衡:LiDAR里程计漂移严重(S2S为24.0 m,几何稀疏的扫描导致俯仰角估计不佳),而双目F2M利用远处的视觉特征达到4.7 m。在KITTI里程计排行榜上,RTAB-Map(F2M,双目)取得1.26%的平移误差/0.0026 deg/m的旋转误差——接近ORB-SLAM2(1.15% / 0.0027)和LSD-SLAM(1.20% / 0.0033),而LOAM为0.61%。最初的IROS 2014内存管理论文表明,即使在拥有数千个位置的地图上,回环检测处理时间也保持恒定——每帧低于700毫秒——而JFR版本则展示了多会话建图以及内存管理机制如何在地图不断增长时仍保持在线运行的实时性(完整的计算性能研究详见论文)。

对SLAM的意义

RTAB-Map是实际机器人应用中部署最广泛的SLAM系统之一:其有界时间回环检测、对几乎所有常见传感器配置的支持以及开箱即用的ROS集成,使非专业人士也能以最少的配置获得可靠的建图能力。当你需要的是一个鲁棒、功能齐全、可在真实机器人上运行的SLAM栈,而不是一个研究原型时,RTAB-Map是首选方案,其内存管理设计至今仍是长期SLAM可扩展性的参考方法。

相关条目