【泡泡图灵智库】RTAB-Map : 一个大规模且长期在线的激光与视觉SLAM开源库

2018 年 12 月 25 日 泡泡机器人SLAM

泡泡图灵智库,带你精读机器人顶级会议文章

标题:RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation

作者: Mathieu Labb ́e  Fran ̧cois Michaud 

来源:Journal of Field Robotics 2018

编译:刘小亮

审核:黄文超

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权


摘要

       大家好,今天为大家带来的文章是——RTAB-Map : 一个大规模且长期在线的激光与视觉SLAM开源库,该文章发表于Journal of Field Robotics 2018。


       RTAB-Map自2013年起作为开源库分发,最初是一种基于特征的回环检测方法,具有内存管理功能,可以处理大规模和长期的在线操作。然后,它开始在各种机器人和移动平台上实现同步定位和建图(SLAM)。由于每个应用程序都对传感器,处理能力和运动带来了自己的一系列约束,因此提出了一个问题,即哪个SLAM方法在成本,精度,计算能力和易于集成方面最适合使用。由于大多数SLAM方法是基于视觉或基于激光雷达的,因此难以进行比较。因此,本文决定扩展RTAB-Map以支持视觉和激光雷达SLAM,在一个软件包中提供一个工具,允许用户使用不同的机器人和传感器实现和比较各种3D和2D对于各种应用的解决方案。本文介绍了RTAB-Map的扩展版本及其在大量流行的真实数据集进行定量和定性的比较,(例如KITTI, EuRoC, TUM RGB-D, MIT Stata Center)。从自主导航应用的实用角度概述视觉和激光雷达SLAM配置的优势和局限性。

介绍

RTAB-Map,( for Real-Time Appearance-Based Mapping)用于基于外观的实时建图[Labb ́e and Michaud, 2013,Labb ́e and Michaud, 2017], 是一个通过内存管理方法实现回环检测的开源库,。从限制地图的大小以使得回环检测始终在固定的时间限制内处理,从而满足长期和大规模环境在线建图要求。 从2013年开始并于2013年作为开源库发布,RTAB-Map已经扩展到完整的基于图的SLAM方法[Stachniss et al., 2016] ,被用于各种设置和应用[Laniel et al., 2017, Foresti et al., 2016, Chen et al., 2015, Goebel, 2014] 。 因此RTAB-Map已经发展成为一个跨平台的独立C ++库和一个ROS包,且由以下实际需求驱动着:

        在线处理

        鲁棒而低漂移的里程计

        鲁棒的定位

        实用的地图生成和开发

        多会话的建图(又称为机器人绑架问题或初始化状态问题)


算法流程

 1、RTAB-Map 整体描述

图1 RTAB-Map ROS节点的框图。所需输入是:TF,用于定义传感器相对于机器人底座的位置; 来自任何来源的里程计(可以是3DoF或6DoF); 其中一种相机输入(一个或多个RGB-D图像,或双目立体图像),且带有相应的校准消息。可选输入:2D激光的雷达扫描,或3D激光的点云。然后,来自这些输入的所有消息被同步并传递给graph-SLAM算法。输出的是:Map Data,包含最新添加的节点(带有压缩传感器数据)和Graph; Map Graph,没有任何数据的纯图;TF,矫正过的里程计; 可选的OctoMap(3D占用栅格地图); 可选的稠密点云地图; 可选的2D占用栅格地图。


2、视觉里程计

图2 RGBD里程计和双目立体视里程计的ROS节点框图。TF定义相机相对于机器人基座的位置,并作为输出来发布机器人基座的里程计变换。对于RGB-D相机或立体相机,管道是相同的,除了多计算一步相应的立体深度信息,以便稍后确定检测到的特征的深度。可以有两种里程计的方法:绿色的帧到帧(F2F)方法,红色的帧到地图(F2M)方法。


3、激光里程计

图3 ICP里程计ROS节点框图。TF定义激光雷达相对于机器人基座的位置,并作为输出以发布机器人基座的里程计变换。可以有两种里程计的方法:绿色的扫描到扫描(S2S)方法,红色的扫描到地图(S2M)方法。 这些方法还可以选择使用恒速模型(粉红色)或其他里程计(蓝色)进行运动预测。 对于后者,输入测距的校正发布在TF上。


4、局部地图

图4 STM的局部占用栅格地图创建。 依赖的参数(由椭圆显示),可选用激光扫描和点云输入(由棱形显示),局部占用栅格地图可以是2D或3D。


5、全局地图

图5 全局地图集成。依赖于局部地图创建地图的类型(见图4)。当只有3D局部占用栅格地图可用于生成3D占用栅格地图(OctoMap)及其2D地图。


主要结果

第一部分:里程计比较

1、 KITTI数据集

      表3 不同里程计方法和不同传感器的RTAB-Map在KITTI序列中相应的ATE(m)结果


      表4 不同里程计方法和不同传感器的RTAB-Map在KITTI序列中相应的平均平移错误率(%)结果


表5 目前KITTI里程计的积分榜状态


2、TUM数据集

图9 三个TUM序列的轨迹,使用RGB-D的RTAB-Map里程计F2M(蓝色)Ground Truths(黑色)。 由RTAB-Map估计的位姿与Ground Truths之间的误差以红色显示。


表6 不同里程计方法和不同传感器的RTAB-Map在TUM序列中相应的ATE(cm)结果


3、EuRoC数据集

图 10 对于EuRoC三个序列的实验,上面是使用双目立体里程计F2M的RTB-Map的轨迹,下面是使用视惯里程计的OKVIS的轨迹。估计的位姿(蓝色)与Ground Truths(黑色)之间的误差以红色显示。


表7 不同里程计方法的RTAB-Map在EuRoC序列中相应的ATE(cm)结果


4、MIT Stata Center

图11 RTAB-Map的WheelIMU→S2M与其他基于激光雷达的SLAM方法的比较


第二部分:地图评估


图12 局部占用栅格地图示例。障碍细胞以红色显示,空的和地面的栅格以绿色显示。 黑色网格仅是视觉参考,单元格大小为1米。


图13 2D占用栅格地图示例


图14 使用RGB-D相机的OctoMap地图,a)深度16,b)深度14


第三部分:内存性能评估

图15(a)为没有内存管理的情况,(b)为有内存管理的情况,RTAB-Map ROS节点内的每个模块所需的处理时间。


Abstract

        Distributed as an open source library since 2013, RTAB-Map started as an appearance-based loop closure detection approach with memory management to deal with large-scale and long-term online operation. It then grew to implement Simultaneous Localization and Mapping (SLAM) on various robots and mobile platforms. As each application brings its own set of contraints on sensors, processing capabilities and locomotion, it raises the question of which SLAM approach is the most appropriate to use in terms of cost, accuracy, computation power and ease of integration. Since most of SLAM approaches are either visual or lidar-based, comparison is difficult. Therefore, we decided to extend RTAB-Map to support both visual and lidar SLAM, providing in one package a tool allowing users to implement and compare a variety of 3D and 2D solutions for a wide range of applications with different robots and sensors. This paper presents this extended version of RTAB-Map and its use in comparing, both quantitatively and qualitatively, a large selection of popular real-world datasets (e.g., KITTI, EuRoC, TUM RGB-D, MIT Stata Center on PR2 robot), outlining strengths and limitations of visual and lidar SLAM configurations from a practical perspective for autonomous navigation applications.


如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号


点击阅读原文,即可获取本文下载链接。

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
34

相关内容

即时定位与地图构建(SLAM或Simultaneouslocalizationandmapping)是这样一种技术:使得机器人和自动驾驶汽车等设备能在未知环境(没有先验知识的前提下)建立地图,或者在已知环境(已给出该地图的先验知识)中能更新地图,并保证这些设备能在同时追踪它们的当前位置。
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
专知会员服务
86+阅读 · 2019年12月13日
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
【泡泡一分钟】变化环境下激光地图辅助视觉惯性定位
泡泡机器人SLAM
15+阅读 · 2019年5月22日
【泡泡图灵智库】数据高效利用的分布式视觉SLAM(ICRA)
泡泡机器人SLAM
7+阅读 · 2018年11月15日
Maplab:研究视觉惯性建图和定位的开源框架
泡泡机器人SLAM
16+阅读 · 2018年4月4日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Structure Aware SLAM using Quadrics and Planes
Arxiv
4+阅读 · 2018年8月13日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
6+阅读 · 2018年3月29日
Arxiv
11+阅读 · 2018年1月18日
VIP会员
相关资讯
【泡泡图灵智库】协同视觉-惯性SLAM
泡泡机器人SLAM
29+阅读 · 2019年9月6日
【泡泡图灵智库】面向无人机的高效双目SLAM
泡泡机器人SLAM
6+阅读 · 2019年5月31日
【泡泡一分钟】变化环境下激光地图辅助视觉惯性定位
泡泡机器人SLAM
15+阅读 · 2019年5月22日
【泡泡图灵智库】数据高效利用的分布式视觉SLAM(ICRA)
泡泡机器人SLAM
7+阅读 · 2018年11月15日
Maplab:研究视觉惯性建图和定位的开源框架
泡泡机器人SLAM
16+阅读 · 2018年4月4日
Top
微信扫码咨询专知VIP会员