2D SLAM 技术在机器人操作系统中的应用评价外文翻译资料
2021-12-17 22:43:18
英语原文共 6 页
2D SLAM 技术在机器人操作系统中的应用评价
Joao Machado Santos, David Portugal and Rui P. Rocha
摘要:本文对机器人操作系统(ROS)中几种基于激光的二维同步定位和地图构建(SLAM)技术进行了研究。所有的方法都在2D模拟和实际实验中进行了评估和比较。为了得出测试技术性能的结论,在相同条件下收集实验结果,并应用基于K-最近邻概念的广义性能度量。此外,还检查了每种技术的 CPU 负载。
这项工作提出了对每个解决方案的劣势和优势的见解,这样的分析对于根据预期最终应用的特性而决定采用哪种解决方案至关重要。
- 前言
同时定位和地图构建(SLAM)是机器人学中最广泛的研究课题之一。它有助于在未知环境中建立和更新地图,同时机器人保留有关其位置的信息。
本体传感器在估计移动机器人的运动、绘制高维度的环境地图、确定在不同时间点采取的传感器测量值是否对应着世界上同一对象的问题,以及世界随时间变化的事实时等问题时,都会受到累积误差的影响,这代表了SLAM[1]中最大的挑战。
机器人操作系统(ROS)是当今最流行的机器人框架。它提供了一组工具,库和驱动程序,以帮助开发具有硬件抽象的机器人应用程序[2]。ROS使研究人员能够快速,轻松地进行模拟和真实世界的实验。
在这项工作中分析的所有五种SLAM技术都可以在ROS中获得,并且已经通过Stage在2D模拟和基于Arduino的定制机器人中完成了测试。本文所介绍的研究是我们最终目标的第一步,即提出一种用于城市搜索和救援(USAR)场景的SLAM技术,其环境通常含有烟雾和尘埃颗粒。因此,有必要研究最流行和最常用的方法,这项工作将作为我们后来技术的指导,同样对SLAM和ROS感兴趣的研究人员也是一种指导。
这项工作得到了肖邦研究项目(PTDC EEA-CRO 119000 2010)、博士资助 (SFRH BD 64426 2009) 和系统与机器人研究所(EST项目)的支持,所有这些项目均由葡萄牙科学机构 Fundacao para a Ciencia e a Tecnologia资助。J.M. Santos, D. Portugal 和 R.P. Rocha 就职于联合国大学系统与机器人研究所,位于葡萄牙科英布拉 3030-290 号,邮编:{jsantos,davidbsp,rprocha}@isr.uc.pt。
2.相关工作
目前,所有公认的机器人建图算法都有一个共同特征:它们依赖于概率。 应用概率的优点是对测量噪声的鲁棒性以及在测量和估计过程中正式表示不确定性的能力。大多数用来解决建图问题的概率模型依赖于贝叶斯规则[1]。
卡尔曼滤波器(KF)是贝叶斯滤波器最受欢迎的实现之一[1]。KF有两个不同的阶段:预测和更新。预测阶段估计来自先前迭代的状态空间(先验),而在更新阶段中,状态估计与传感器提供的观测相结合,更新阶段的结果称为后验。扩展卡尔曼滤波器 (EKF) 是基于 KF 的先验知识,解决了机器人位姿模型的非线性问题。在 [4] 中对基于 EKF 的非线性二维 SLAM 问题的解的收敛性和不一致性问题进行了检验。
粒子滤波器(PF)是贝叶斯滤波器的另一种应用。其后验概率由一组加权粒子表示,每个粒子都被赋予一个重要因子。假设下一个状态仅依赖于当前的状态,即马尔可夫假设[5]。 PFs具有通过多模态分布表示不确定性,并处理非高斯噪声的优点。Montemerlo 等[6]提出了一种名为FastSLAM的新方法。它利用修改的PF来估计后验。之后,每个粒子都具有 K 次卡尔曼滤波器,用于估计 K 个标志位置。结果表明,执行该算法的计算工作量低于EFK方法。此外,即使使用少量粒子,该方法用于处理大量的标志,结果仍然合适。此外,在[7]中提出了一种基于PF的方法。这项工作在第3-B节中有更详细的讨论。
同样重要的是基于图形的SLAM算法,因为它们弥补了PF和EKF技术的一些弱点[9]。在这些SLAM算法中,提取的数据用于构建图。该图由节点和弧组成。图中的每个弧表示连续位姿之间的约束,其可以是运动事件或测量事件。为了获得地图,所有约束被线性化并且获得稀疏矩阵,表示稀疏图。这种类型的算法首先由Lu和 Milios[8]提出。在他们的工作中,通过扫描匹配过程恢复了姿态约束。但是,由于使用的优化过程在还原过程中删除了映射变量,算法在大型场景中的适用性是不切实际的。此外,Carlone等人[10]也开发了基于图的SLAM方法,在第3-E节中讨论。
在过去几年中,SLAM方法的数量有所增加,比较不同方法的必要性也大大增加。目视检查得到的标测图无法进行正确比较。需要精确地评估结果要求一个更准确的方法——定量尺度。例如,在[12]中,开发了用于比较 SLAM 算法的度量,其中结果不使用参考进行评价,而是通过在数据采集过程中考虑机器人的姿势进行评价。这一事实允许在具有不同输出的算法之间进行比较。此外,提出的方法是独立于移动机器人的传感器配置,但它需要在数据集应用之前手动编辑数据集。
所有公认的 SLAM 评估方法都依赖于社区可用的标准数据集。然而,这些与 ROS 框架并不兼容。相反,在这项工作中,一项在ROS可用的以主要激光为基础的二维 SLAM 算法的研究被提出。所有被测试的技术都使用占用率网格作为最终输出,并使用地图相似性度量进行分析。重点放在地图质量上,而不是位姿估计误差,因为地图输出受定位问题的影响很大。主要目标是提供在 ROS 中实现的所有五种算法的优点和缺点的概述,并提供简单、准确的定量比较,从而为 ROS 用户定义选择最适合其要求的算法的一般指南。
3. 2D SALM算法
在本节中,对五种SLAM技术进行了进行了简要描述,即:HectorSLAM,Gmapping,KartoSLAM,CoreSLAM和LagoSLAM。
- HectorSLAM
HectorSLAM结合了基于强健扫描匹配的2D SLAM系统和惯性系统3D导航技术的使用。
利用现代激光雷达的高更新率和地距离测量噪声,作者将重点放在对机器人运动的实时估计。不使用里程计信息,这使得这种方法有可能在像四旋翼无人机这样的空中机器人和在不平坦地形中运行的地面机器人中实现。另一方面,当只有低速率扫描可用时,他可能有问题,并且里程计估计值相当准确时,他不发挥作用。目前为止,2D姿态估计基于光束端点与所获得的映射的对准的优化。将端点投影到实际地图中,并估计占用概率。使用高斯-牛顿方程解决扫描匹配问题,该方程可找到地图上激光束最适合的刚性变换。此外,为了避免陷入局部极小值,采用了多分辨率地图表示。最后,基于 EKF 对导航滤波器进行三维状态估计,然而,只有当存在惯性测量单元 (IMU) 时才需要这样做,例如空中机器人。因此,该方式将不会在本工作中使用。
- Gmapping
Gmapping是一种基于激光的SLAM算法,如[7]所述。此外,它是在机器人领域全球使用最广泛的SLAM包。该算法由Grisetti等人提出,是一种Rao-Blackwellized PF SLAM方法。 PF系列算法通常需要大量粒子才能获得良好的结果,这增加了其计算复杂性。此外,与 PF 重新采样过程相关的损耗问题,降低了算法精度。这是因为重要性权重的粒子可能变得微不足道。因此,这意味着消除正确假设的概率很小。
自适应重采样技术已经在[7]中发展,它最大限度地减少了粒子耗竭问题,这个过程只在需要时才进行。作者还提出了一种来计算精确分布的方法,该方法不仅考虑机器人平台的移动,而且还考虑最近的观察。这减少了 PF 预测步骤中机器人位置的不确定性。结果显示,扫描匹配过程中由于不确定性较低,所需的颗粒数量减少。在我们的实验中,Gmapping使用的粒子数量为30。
- KartoSLAM
KartoSLAM是 SRI Inteational sKarto Robotics 开发的一种基于图的SLAM方法,通过使用高度优化和非迭代的稀疏线性系统 Cholesky 矩阵分解作为其求解器为 ROS 进行了扩展[13]。基于图的SLAM算法使用图优化进行构图。在这种情况下,每个节点代表机器人沿着其轨迹的姿势和一组传感器的测量值。它们通过弧连接,弧代表连续姿势之间的运动。对于每个新节点,通过找到与弧的约束一致的节点的空间配置来计算地图。在可用于ROS的KartoSLAM版本中,稀疏姿势调整(SPA)负责扫描匹配和回环检测程序。地标数量越多,所需的内存量就越多。但是,在维护大规模环境的地图时,基于图形的SLAM算法通常比其他方法更有效。在KartoSLAM的特定情况下,它非常有效,因为它只维护姿势图。
- CoreSLAM
CoreSLAM[5]是原始200行代码tinySLAM算法的ROS包装器,其创建目的是简单易懂,性能损失最小。该算法分为两个步骤:距离计算和地图更新。第一步,对于每次传入的扫描,它利用非常简单的 PF 算法计算距离。PF 将来自 LRF 的每次扫描与标测图匹配,过滤器的每个颗粒代表机器人的可能姿势,并具有相关的重量,这取决于之前的迭代。选择最优假设后,剔除权重较低的粒子,生成新的粒子。在更新步骤中,在图谱中绘制与接收扫描相对应的线。然而,当探测到障碍物时,tinySLAM 只画出一个点,在障碍物周围画出一组可调整的点。
- LagoSLAM
基于图的 SLAM 算法的基础是最小化非线性非凸代价函数[10]。更确切地说,在每次迭代中,初始问题的局部凸近似被解决,以便更新图配置。重复该过程,直至达到代价函数的局部最小值。然而,这个优化过程高度依赖于初始猜测来收敛。Carlone 等人[10]开发了一种称为 LagoSLAM(图优化的线性逼近)的新方法,其中优化过程不需要初始猜测。此外,该技术可用于任何标准优化器。事实上,ROS 中可用的算法可以在三种不同的优化器之间进行选择:基于树的网络优化器 (TORO)[7]、g2o[16]和 LAGO[10]。在进行的实验中,使用了 LAGO 优化器。假设图中每个节点的相对位置和相对方位都是独立的,作者等价于求解了一个非凸代价函数的方程组。为此,提出了一套基于图论的方法,通过线性定向和线性位置估计,获得非线性系统的一阶近似。
4.结果和讨论
所描述的所有 5 种 SLAM 技术均采用 2D 模拟和真实实验进行了测试。模拟在Stage[8]中进行,Stage是集成在ROS中的逼真的2D机器人模拟器。此外,还在现实世界场景中使用物理机器人进行了测试,以研究这些 SLAM 功能包在缺乏完美模拟条件下的行为。尽管 SLAM 算法在无噪声的里程计和距离传感信息等阶段模拟中具有良好的条件,但在测量不确定的情况下,SLAM 算法可能无法得到理想的结果。在所有实验中,机器人都是遥控操作的。请注意,ROS 提供的抽象层允许将相同的代码用于模拟和实际实验。HectorSLAM 需要具有高更新率的 LRF。实验中使用的 H
资料编号:[4644]