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

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

作者头像
点云PCL博主
发布于 2025-04-09 07:06:32
发布于 2025-04-09 07:06:32
1750
举报
文章被收录于专栏:点云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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
移动机器人视觉里程计综述与研究展望
摘 要: 移动机器人基于激光和视觉SLAM导航可实现环境的智能感知和非固定路径行走,其中视觉SLAM导航是指机器人利用视觉系统实现自主定位与地图创建,其优势为结构简单、成本低,信息量丰富。而视觉里程计作为移动机器人视觉SLAM导航的前端,能为机器人自主导航提供廉价、可靠的位姿估计。本文对移动机器人视觉里程计的概念与发展历程进行了简述,总结了实现视觉里程计的不同方法并分别对比了其优缺点,同时也分析了视觉里程计在移动机器人领域的应用以及未来研究展望。
用户9868602
2022/09/02
7690
移动机器人视觉里程计综述与研究展望
漫谈 SLAM 技术(上)
DancingWind
2017/09/11
11.6K0
漫谈 SLAM 技术(上)
激光slam综述_开源算法是什么意思
好久没有更新SLAM系列的文章了,前面我们讲到了激光SLAM技术。基于激光雷达的同时定位与地图构建技术(simultaneous localization and mapping, SLAM)以其准确测量障碍点的角度与距离、 无须预先布置场景、可融合多传感器、 在光线较差环境工作、 能够生成便于导航的环境地图等优势,成为目前定位方案中不可或缺的新技术。
全栈程序员站长
2022/09/24
7350
激光slam综述_开源算法是什么意思
第三期:一起来学SLAM
激光雷达:通过测量激光信号的时间差、相位差确定距离,通过水平旋转扫描或相控扫描测角度,并根据这两个数据建立二维的极坐标系;再通过获取不同俯仰角度的信号获得第三维的高度信息。
点云PCL博主
2019/07/30
9150
第三期:一起来学SLAM
各种开源SLAM算法「建议收藏」
OpenSLAM http://openslam.org/ FALKOLib(2D LIDAR) GMapping,GridSLAM(To learn grid maps from laser range data) tinySLAM(Laser-SLAM algorithm in 200 lines of C code) Unscented FastSLAM(Laser data, Matlab) EKFmonocularSLAM(Matlab) Linear SLAM(Matlab or Visual Studio) ROBOMAP Studio 2011(Visual Studio, EA optimizers) People2D(Realtime people detection in 2D range data)
全栈程序员站长
2022/07/02
1.3K0
SLAM+路径规划:巡检机器人算法设计
标题:Research on SLAM and Path Planning Method of Inspection Robot in Complex Scenarios
一点人工一点智能
2023/08/25
1.8K0
SLAM+路径规划:巡检机器人算法设计
SLAM+路径规划:巡检机器人算法设计
标题:Research on SLAM and Path Planning Method of Inspection Robot in Complex Scenarios
一点人工一点智能
2023/05/30
1.3K0
SLAM+路径规划:巡检机器人算法设计
【SLAM】激光SLAM简介与常用框架
SLAM(同步定位与地图构建)是一种机器人感知技术,用于在未知环境中同时确定机器人的位置并构建地图。
DevFrank
2024/07/24
1.1K0
同时定位与地图创建综述
SLAM包含两个主要任务,定位和建图。这是移动机器人自主完成作业任务需要解决的基本问题,特别是在未知环境的情况下,移动机器人既要确定自身在环境中的位姿,又要根据确定的位姿来创建所处环境的地图,这是一个相辅相成、不断迭代的过程。因此,SLAM问题是一个复杂的耦合问题,也可以被看作是先有鸡还是鸡蛋的问题[1]。
3D视觉工坊
2020/12/11
1.2K0
视觉slam和激光slam结合_视觉slam和激光slam
早在 2005 年的时候,激光 SLAM 就已经被研究的比较透彻,框架也已初步确定。激光 SLAM,是目前最稳定、最主流的定位导航方法。
全栈程序员站长
2022/09/23
9480
视觉slam和激光slam结合_视觉slam和激光slam
通俗理解SLAM算法
SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边逐步描绘出此环境完全的地图,同时一边决定机器人应该往哪个方向行进。例如扫地机器人就是一个很典型的SLAM问题,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。SLAM最早由Smith、Self和Cheeseman于1988年提出。由于其重要的理论与应用价值,被很多学者认为是实现真正全自主移动机器人的关键。
智能算法
2019/12/27
24.2K0
通俗理解SLAM算法
SLAM | 激光SLAM中开源算法对比
好久没有更新SLAM系列的文章了,前面我们讲到了激光SLAM技术。基于激光雷达的同时定位与地图构建技术(simultaneous localization and mapping, SLAM)以其准确测量障碍点的角度与距离、 无须预先布置场景、可融合多传感器、 在光线较差环境工作、 能够生成便于导航的环境地图等优势,成为目前定位方案中不可或缺的新技术。
AI算法修炼营
2020/05/08
3.5K0
SLAM 深度估计 三维重建 标定 传感器融合
经常有粉丝问视觉/激光/SLAM、三维重建等方向的学习路线,这里我再总结给大家,如下所示:
用户1150922
2022/05/10
1.3K0
SLAM 深度估计 三维重建 标定 传感器融合
增强现实中应用的VSLAM技术综述
文章:A Review of VSLAM Technology Applied in Augmented Reality
点云PCL博主
2024/11/28
2940
增强现实中应用的VSLAM技术综述
基于RGBD的slam_rgb算法
首先,我们需要知道什么是SLAM(simultaneous localization and mapping, 详见SlamCN),SLAM,即时定位与制图,包含3个关键词:实时、定位、制图,就是实时完成定位和制图的任务,这就是SLAM要解决的基本任务。按照使用的传感器分为激光SLAM(LOAM、V-LOAM、cartographer)与视觉SLAM,其中视觉SLAM又可分为单目SLAM(MonoSLAM、PTAM、DTAM、LSD-SLAM、ORB-SLAM(单目为主)、SVO)、双目SLAM(LIBVISO2、S-PTAM等)、RGBD SLAM(KinectFusion、ElasticFusion、Kintinous、RGBD SLAM2、RTAB SLAM);视觉SLAM由前端(视觉里程计)、后端(位姿优化)、闭环检测、制图4个部分组成,按照前端方法分为特征点法(稀疏法)、光流法、稀疏直接法、半稠密法、稠密法(详见高翔《视觉slam十四讲》第xx章);按照后端方法分为基于滤波(详见SLAM中的EKF,UKF,PF原理简介)与基于图优化(详见深入理解图优化与g2o:图优化篇与深入理解图优化与g2o:g2o篇)的方法。
全栈程序员站长
2022/10/02
7000
基于RGBD的slam_rgb算法
一个通用的多相机视觉SLAM框架的设计和评估
文章:Design and Evaluation of a Generic Visual SLAM Framework for Multi-Camera Systems
点云PCL博主
2023/08/21
9050
一个通用的多相机视觉SLAM框架的设计和评估
基于空洞补全的动态SLAM方法
同步定位和制图(SLAM)一直被认为机器人定位导航以及无人驾驶的核心技术,而利用摄像头作为传感器的视觉SLAM在近几十年也得到了广泛的研究,在这期间涌现了大量优秀的SLAM方法,为后人对SLAM技术的研究打下了坚实的基础。
一点人工一点智能
2022/12/27
1.8K0
基于空洞补全的动态SLAM方法
激光slam认知_激光slam的优缺点
创建仿真环境: roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch
全栈程序员站长
2022/09/24
1.1K0
激光slam认知_激光slam的优缺点
八种常用激光雷达和视觉SLAM算法的评估与比较
文章:Evaluation and comparison of eight popular Lidar and Visual SLAM algorithms
点云PCL博主
2022/12/27
3.7K0
八种常用激光雷达和视觉SLAM算法的评估与比较
激光slam综述_SLAM是什么
slam (Simultaneous Localization and Mapping)叫即时定位与建图,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图(Mapping)和路径规划(Navigation)。
全栈程序员站长
2022/09/23
1.4K0
激光slam综述_SLAM是什么
相关推荐
移动机器人视觉里程计综述与研究展望
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档