文章:Comparison of Various SLAM Systems for Mobile Robot in an Indoor Environment
作者: Maksim Filipenko, Ilya Afanasyev
编辑:点云PCL
从技术角度观察行业发展,努力跟上时代的步伐。公众号致力于点云处理,SLAM,三维视觉,具身智能,自动驾驶等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。文章未申请原创,未经过本人允许请勿转载,有意转载联系微信920177957。
摘要
本文对多种基于 ROS 的 SLAM 系统在移动机器人轨迹计算方面进行了对比分析。为此开发了一款配备常见传感器的移动机器人原型,包括 2D 激光雷达、单目相机和 ZED 双目相机。随后在典型的办公环境中开展实验,采集了来自所有传感器的数据,并基于所获取的数据集运行了所有待测 SLAM 系统。研究的 SLAM 系统包括:
由于所有 SLAM 方法都在同一数据集上进行测试,在使用相应的评价指标对不同 SLAM 系统的结果进行了比较。结果表明,基于激光雷达的 Cartographer SLAM、单目的 ORB SLAM 以及双目的 RTAB-map 方法表现出了较为优秀的效果。
相关介绍
在一个未知环境中,同时利用机载传感器进行地图构建和定位的问题,被称为同时定位与建图(SLAM)。解决这一问题的经典方法之一是基于滤波器的 SLAM,该方法基于贝叶斯滤波理论。目前,基于 2D 激光雷达的 SLAM 系统已经被整合在多个软件包中,例如:
另一方面,单目和双目相机是一种低成本的被动式传感器,能够以图像为唯一信息来源,较好地完成 SLAM 任务,这种方法被称为视觉 SLAM(Visual SLAM 或 V-SLAM)。视觉 SLAM 方法可分为两类:
早期的视觉导航研究采用了双目相机和单目相机(被称为 MonoSLAM)。过去十年中,陆续提出了多种方法,包括:
这些方法各有优缺点。它们的共性问题包括:对恶劣条件的鲁棒性较差,对场景几何多样性较低的环境表现不佳,对纯旋转运动较敏感。此外这些方法无法提供某些应用所需的度量尺度信息(也称为尺度不确定性问题)。该问题在计算机视觉和机器人领域中已有广泛讨论。影响 SLAM 系统性能的其他关键因素还包括:地图初始化、闭环检测 以及所使用的相机快门类型 。研究中涉及的视觉 SLAM 系统的具体特性详见表 I。
本文主要关注在真实机器人平台上的 SLAM 系统应用,所使用的系统均为基于 ROS(Robot Operating System)实现。所研究的基于 ROS 的 SLAM 方法简要信息见表 II。
系统设置
作者开发了一个地面无人车辆(UGV)原型(见图 1),用于在室内环境中开展实验。该平台集成了计算模块以及一系列传感器,包括 2D 激光雷达、单目相机和 ZED 双目相机。本节将详细介绍所使用的软硬件配置。
硬件与软件
本次实验包括两个部分:(1)数据集采集;(2)基于采集数据进行数据集运行。我们在数据采集阶段使用了基于 Traxxas 7407 遥控车模型的 Labcar 平台,在数据运行阶段则使用了地面工作站。Labcar 平台采用带有 Ackermann 转向模型的底盘,如图 2 所示。由于该转向模型不适用于低速旋转运动,因此它对视觉 SLAM 方法的鲁棒性具有积极影响(因为视觉 SLAM 在旋转运动中通常表现较差)。
图 2:基于 Traxxas 遥控车模型的 Labcar UGV 底盘
Labcar 平台的计算模块使用了 NVidia Jetson TX1 嵌入式控制器,运行 Ubuntu 16.04 操作系统和自定义的 ROS Kinetic Kame 系统。平台配备了以下机载传感器:2D 激光雷达、单目相机和 ZED 双目相机。机器人平台的详细信息见表 III。
由于本研究的结果在离线状态下处理,我们使用地面工作站运行不同的 SLAM 系统,基于来自 Labcar 平台传感器采集的数据进行处理。地面工作站的详细配置信息见表 IV。
机器人模型
所有测试的 SLAM 系统都支持与 ROS(机器人操作系统)集成,这使得我们能够利用 ROS 的优势,提升实验质量。其中一些系统提供了完整集成,而另一些则仅以封装器(wrapper)的形式集成。在机器人建模方面,我们使用了 URDF 和 tf 包,将所有关于地面无人车(UGV)位姿的数据统一转换到同一个坐标系中,并且将不同 SLAM 系统生成的数据对齐到与机器人基准链接(base link)相同的坐标下。这不仅提高了数据集的表达能力,还能减少实验过程中人为的错误。Labcar 平台的 URDF 机器人模型如图 3 所示。
图 3:ROS/Gazebo 仿真环境中的 Labcar 平台建模
实验方法论
实验环境
本次实验在室内典型办公室环境中进行,墙面为单色。我们通过遥控方式使移动机器人沿着已知的矩形工作区域边界,按照闭环轨迹运行。实验环境如图 5 所示。
我们使用线绳标记了地面无人车(UGV)轨迹的边界,测试区域如图 5a 所示。我们将这条标记线称为**“真实轨迹”(Ground truth)**,尽管机器人轨迹仅在直线运动时与之重合。在两段直线之间的转向过程中,转弯半径约为 1 米。分别通过 ROS bag 记录了来自 Basler 单目相机、ZED 双目相机和 2D 激光雷达的传感器数据。随后在地面工作站上运行不同的 SLAM 算法以处理这些采集的数据。图 5b 展示了在 RViz 中对数据集的可视化结果,包括机器人模型、前视相机视窗、2D 激光雷达点云以及构建的地图。
图 4:用于移动机器人导航实验的室内环境
图 5:测试区域模型:在 RViz 中可视化的激光雷达与相机数据及机器人模型
评估指标
为了评估实验效果,我们使用了绝对轨迹误差(ATE,Absolute Trajectory Error),将测试系统采集到的轨迹数据与更准确的 UGV 实际轨迹数据进行比较。为更清晰地表示评估结果,我们使用以下统计指标:均方根误差(RMSE)、平均值(Mean)、中位数(Median)、标准差(Std.)、最小值(Min)和最大值(Max)。在地面工作站上运行不同的 ROS-based SLAM 系统,基于相同的数据集采集所有指标,并进行评估分析。
评估与讨论
里程计分析
用于评估移动机器人在不同 SLAM 方法下定位精度的指标展示在表 V 中。在本次测试的 SLAM 方法中,RTAB-map 在室内同质办公环境中就定位问题而言,在均方根误差(RMSE)方面表现最佳,可被认为是效果最好的方法之一。**ORB-SLAM(单目)**的精度排名第二,而 ZEDfu 在本实验中表现最差。
地图分析
不同 SLAM 系统生成的地图如图 6 所示。GMapping、Hector SLAM 和 Cartographer 这些基于激光雷达的方法均输出 nav_msgs/OccupancyGrid 地图。在我们的实验中:
因此,目前我们推荐Cartographer作为 2D 激光 SLAM 的首选方法,这一结论也得到了文献的支持。另外:
图6.各种方法建图的效果
总结
本研究开发了一款用于典型办公环境下实验的移动机器人原型。机器人通过遥控方式在已知的方形工作区域边界内进行闭环轨迹运动,同时记录传感器数据以供离线处理。采集并处理了以下三类传感器数据:
所使用的 SLAM 方法如下:
使用统一指标对所有 SLAM 系统的执行结果进行了比较与分析。主要结论如下:
由于视觉SLAM 系统的性能对移动机器人的计算资源依赖较强,未来我们将研究硬件限制对 SLAM 系统性能的影响。
相关阅读:2024年度历史文章大汇总
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有