前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用于室内移动机器人的多种SLAM方案比较

用于室内移动机器人的多种SLAM方案比较

作者头像
点云PCL博主
发布于 2025-04-09 07:06:32
发布于 2025-04-09 07:06:32
2180
举报
文章被收录于专栏:点云PCL点云PCL

文章: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 系统包括:

  • (a) 基于 2D 激光雷达的:GMapping、Hector SLAM、Cartographer;
  • (b) 基于单目相机的:大规模直接法单目 SLAM(LSD SLAM)、ORB SLAM、直接稀疏视觉里程计(DSO);
  • (c) 基于双目相机的:ZEDfu、实时外观建图(RTAB-map)、ORB SLAM、立体并行跟踪与建图(SPTAM)。

由于所有 SLAM 方法都在同一数据集上进行测试,在使用相应的评价指标对不同 SLAM 系统的结果进行了比较。结果表明,基于激光雷达的 Cartographer SLAM、单目的 ORB SLAM 以及双目的 RTAB-map 方法表现出了较为优秀的效果。

相关介绍

在一个未知环境中,同时利用机载传感器进行地图构建和定位的问题,被称为同时定位与建图(SLAM)。解决这一问题的经典方法之一是基于滤波器的 SLAM,该方法基于贝叶斯滤波理论。目前,基于 2D 激光雷达的 SLAM 系统已经被整合在多个软件包中,例如:

  • GMapping (使用 Rao-Blackwellized 粒子滤波器 从 2D 激光数据中学习栅格地图);
  • Hector SLAM (另一个非常流行的 ROS 系统);
  • Cartographer(目前较新的系统之一)。

另一方面,单目和双目相机是一种低成本的被动式传感器,能够以图像为唯一信息来源,较好地完成 SLAM 任务,这种方法被称为视觉 SLAM(Visual SLAM 或 V-SLAM)。视觉 SLAM 方法可分为两类:

  1. 基于特征的方法,通过提取关键特征进行建图;
  2. 直接法(Direct Method),直接利用整张图像的信息。

早期的视觉导航研究采用了双目相机和单目相机(被称为 MonoSLAM)。过去十年中,陆续提出了多种方法,包括:

  • 并行跟踪与建图(PTAM);
  • 正则化单目深度估计(REMODE);
  • ORB-SLAM 系列(使用 Oriented FAST和 Rotated BRIEF特征);
  • 实时密集跟踪与建图(DTAM);
  • 大规模直接单目 SLAM(LSD-SLAM);
  • 使用双目相机的大规模直接 SLAM(Stereo LSD-SLAM);
  • 快速半直接单目视觉里程计(SVO);
  • 实时外观建图(RTAB-map);
  • 密集分段并行跟踪与建图(DPPTAM);
  • 稀疏直接法视觉里程计(DSO);
  • 无位姿图的密集 SLAM(ElasticFusion);
  • 基于卷积神经网络的 SLAM(CNN-SLAM);
  • 双目并行跟踪与建图(S-PTAM)等。

这些方法各有优缺点。它们的共性问题包括:对恶劣条件的鲁棒性较差,对场景几何多样性较低的环境表现不佳,对纯旋转运动较敏感。此外这些方法无法提供某些应用所需的度量尺度信息(也称为尺度不确定性问题)。该问题在计算机视觉和机器人领域中已有广泛讨论。影响 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 地图。在我们的实验中:

  • GMapping 生成的地图不够准确;
  • Hector SLAM 和 Cartographer 生成的地图较为相似;
  • 值得指出的是,Cartographer 采用全局地图优化与局部概率地图更新机制,这使得该系统在环境变化下更具鲁棒性。

因此,目前我们推荐Cartographer作为 2D 激光 SLAM 的首选方法,这一结论也得到了文献的支持。另外:

  • LSD SLAM、DSO 是直接法 SLAM,能够生成稠密点云地图,可用于 三维场景重建和目标检测。
  • ORB-SLAM、RTAB-map、S-PTAM 属于特征法 SLAM,仅构建稀疏点云地图,因此虽然不适合精细的 3D 重建,但足以胜任导航任务。

图6.各种方法建图的效果

总结

本研究开发了一款用于典型办公环境下实验的移动机器人原型。机器人通过遥控方式在已知的方形工作区域边界内进行闭环轨迹运动,同时记录传感器数据以供离线处理。采集并处理了以下三类传感器数据:

  • 2D 激光雷达;
  • 单目相机;
  • 双目相机(ZED)。

所使用的 SLAM 方法如下:

  • 基于激光雷达: GMapping、Hector SLAM、Cartographer;
  • 基于单目相机: LSD SLAM、ORB SLAM、DSO;
  • 基于双目相机: ZEDfu、RTAB-map、ORB SLAM、S-PTAM。

使用统一指标对所有 SLAM 系统的执行结果进行了比较与分析。主要结论如下:

  • 2D 激光雷达 SLAM 系统:Hector SLAM 和 Cartographer 都能提供高精度的定位与地图构建,ATE RMSE 为 0.024 米,轨迹与地面标记线几乎完全重合。但 Cartographer 由于采用了更复杂的优化机制,对环境变化的鲁棒性更强。
  • 单目视觉 SLAM 系统失败样例:PTAM、SVO、DPPTAM 在实验中失败,因特征稀少导致失去跟踪。
  • 可用的单目视觉 SLAM:LSD SLAM、ORB SLAM 和 DSO 可用于定位,但需额外模块解决尺度恢复问题。
  • 所有单目 SLAM 系统均存在尺度模糊问题,必须借助环境信息或其他手段恢复尺度。
  • 双目视觉 SLAM 系统:ZEDfu、RTAB-map、ORB SLAM、S-PTAM 均可直接提供具备尺度的三维定位与点云地图。
  • 定位表现最佳的视觉 SLAM 系统是 RTAB-map,其 ATE RMSE 为 0.163 米,但在面对单色墙壁时可能会丢失跟踪。相比之下,ORB-SLAM 表现最稳定,RMSE 为 0.190 米。

由于视觉SLAM 系统的性能对移动机器人的计算资源依赖较强,未来我们将研究硬件限制对 SLAM 系统性能的影响。

相关阅读:2024年度历史文章大汇总

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档