在地下环境中评估基于激光雷达的SLAM算法

摘要

在缺乏自然或光照不足的恶劣地下(SubT)环境中,自主机器人的自主导航是一个具有挑战性的任务,促进了用于姿态估计和地图制作的算法的发展。受到在这种环境中实际部署自主机器人的需求启发,本文提出了一项关于3D SLAM算法的实验性比较研究。该研究集中关注具有开源实现的最新激光雷达SLAM算法,包括i)仅激光雷达,如BLAM、LOAM、ALOAM、ISC-LOAM和hdl图形SLAM,或ii)激光雷达惯性,如LeGO-LOAM、Cartographer、LIO-mapping和LIO-SAM。对这些方法的评估是基于从波士顿动力Spot机器人收集的数据集进行的,该机器人配备了3D激光雷达Velodyne Puck Lite和IMU Vectornav VN-100,数据集是在地下隧道中的一项任务中收集的。在评估过程中,SLAM算法的姿势和3D隧道重建相互比较,以找到在姿势准确性和地图质量方面性能最可靠的方法。

引言

同时定位与地图构建(SLAM)是一个具有挑战性的任务,解决了在未知环境中进行自主机器人导航的问题。在这个过程中,机器人通过使用板载感知和惯性传感器逐渐获取环境地图,同时试图在该地图中确定自己的位置。稳健的姿态估计对于移动机器人控制是至关重要的任务。在实验室环境中,可以通过运动捕捉系统(如Vicon)来解决这个问题。但并不总是可能将其部署到机器人导航的目标区域。因此,机器人的目标之一是能够独立于基础设施进行自主导航。在室外、开阔区域中,可以使用全球定位系统(GPS)来进行姿态估计。然而,在像地下区域这样的无GPS环境中,这个解决方案将无法工作,或者需要安装额外的设备,这并不总是可行。目前,存在一些基于相机和测距传感器的SLAM算法,通常需要快速移动计算机以实现实时地图构建和姿态估计。

随着时间的推移,移动CPU的技术发展、传感器的小型化和长寿命电池使得能够在机器上运行SLAM算法,从而促进了将机器人应用带入具有挑战性的SubT环境。在这些领域,人类安全是一个关键因素,可以通过机器人来提高,机器人可以执行自主检查,通过提供环境的重建来提高人类工作者对环境的情境感知。这对于地图质量和定位精度提出了很高的要求。在光照不足的SubT环境中,视觉SLAM方法倾向于表现出较差的性能,这是不可接受的。与之相反,基于激光雷达的方法可以为姿态估计和环境地图展示提供坚实的性能。然而,由于SubT环境的特殊性质,如长时间没有特征、自相似的隧道区域、尘土飞扬的隧道和传感器限制,它们的性能可能会随时间而下降。

在本文中,我们将重点关注评估主要的3D SLAM方法,这些方法是开源的,与Robot Operating System (ROS)兼容,已成为机器人社区的最新框架。迄今为止,有几篇文章进行了基于激光雷达的SLAM算法的比较。例如,在Milijas等人(2021年)的研究中,比较了开放式室外环境中的Cartographer、LOAM和hdl图形slam。此外,Cong等人(2020年)在室外环境中对开发的SLAM方法与A-LOAM和LeGO-LOAM方法进行了评估。在Ren等人(2019年)的研究中,展示了在室内环境中对四种SLAM方法的评估。Milijas等人(2020年)的研究中仅比较了两种方法。最后,在Zou等人(2021年)的研究中,缺少最新和先进的SLAM方法LIO-SAM Shan等人(2020年)和Fast-LIO Xu和Zhang(2021年),尽管评估是在具有许多特征的仓库区域进行的。

因此,在这项研究中,我们将在地下环境中实验性地评估九种与ROS兼容的开源3D SLAM基于激光雷达的算法。

SLAM 算法

在这项研究中,选择了所有主要的SLAM算法,这些算法具有实时操作,并使用来自3D激光雷达的点云作为输入,或将其与IMU测量耦合。此选择首先介绍了机器人平台,其次是SubT环境,最后是SLAM方法。值得注意的是,它们并非都有可以引用的介绍和解释该方法的文章,但它们仍然可以用作众多应用和未来性能改进和多智能体SLAM的基准。所选择的所有方法都已在ROS Melodic和Ubuntu 18.04上进行测试。

2.1 机器人平台和数据集
作为数据收集的机器人平台,使用了由波士顿动力(Boston Dynamics)开发的Spot四足机器人平台(Koval等,2022)。这个机器人能够以高达1.6米/秒的速度移动,携带高达14千克的有效载荷,可以穿越具有挑战性的地形。Spot上放置了包括3D激光雷达、IMU、spotCore和电池在内的有效载荷,如图1所示。机载计算机具有Intel Core i5 CPU,16GB RAM,运行Ubuntu 18.04和ROS Melodic。为了为3D激光雷达提供无障碍的视野,它被安装为一个前瞻性位置的柱状结构,带有独立的LED灯条(Lustreon DV12V 10W,尺寸为170x15毫米),指向前方、左侧和右侧。

数据集是从瑞典吕勒奥地下隧道手动控制的Spot机器人中收集的,如图所示。

在图2中显示了数据集,它是在一次记录中存储来自IMU和3D激光雷达的测量的ROS bag文件。图2上显示了3D重建地图的俯视图。数据是使用图1中所示的传感器配置收集的,其中IMU的发布速率设置为200Hz,3D激光雷达的发布速率设置为10Hz。

在SubT环境中获得地面真值是一项具有挑战性的任务,因此在这项研究中,仅提供了算法的相对比较。

图2. 从现场测试环境的3D激光扫描生成的地图的俯视图。实线表示穿越隧道,箭头表示穿越方向。

在以下小节中,我们将简要介绍所选的算法。

2.2 B(柏克莱) L(定位) A(和) M(制图)
B(柏克莱) L(定位) A(和) M(制图)(Berkeley Localization and Mapping,BLAM)2是一个用于激光图形实时定位和制图的开源ROS软件包。它使用从附近姿势获取的扫描来通过迭代最近点(ICP)扫描匹配计算环路闭合。对于地图优化,它使用Georgia Tech Smoothing and Mapping(GTSAM)库。BLAM能够在线构建非常密集和精确的地图,这使其成为一种计算密集型的方法(Nava Chocron,2019)。

2.3 激光测距和制图方法
激光测距和制图(Laser Odometry and Mapping,LOAM)(Zhang和Singh,2014;Wolfe,2016),或称为LOAM Velodyne,是一种实时方法,能够同时估算测距和使用3D激光雷达构建地图。该方法通过将SLAM任务分解为两个算法来解决它。一个用于计算测距,另一个用于增量地图构建,此外,它还估算激光雷达的速度。LOAM没有环路闭合,这阻止了它识别先前访问过的区域,而它实现了特征点匹配,这可以确保快速测距计算和准确的地图构建。该方法支持IMU,允许与仅使用激光相比获得更高的精度。
A-LOAM(Zhang和Singh,2014)是LOAM(Zhang和Singh,2014)的高级实现,它使用Eigen库进行线性代数操作和Ceres Solver来解决相应的优化问题。快速激光测距和制图(F-LOAM)(Wang等,2021)是LOAM和ALOAM的优化版本,它基于非迭代的两阶段失真补偿方法,可以降低计算时间。F-LOAM结合了特征提取、失真补偿、姿势优化和制图。
2.4 ISC-LOAM
基于强度扫描上下文的全尺寸SLAM实现(ISC-LOAM)(Wang等,2020)是另一种设计用于3D激光雷达的算法。它结合了一个全局描述符,包括几何和强度特征。所提出的环路闭合检测方法基于两阶段分层强度扫描上下文(ISC),用于地点识别,从而提高了计算性能。ISC结合了基于快速二进制操作的几何索引和强度结构重新识别。
2.5 hdl图形SLAM
hdl图形SLAM(Koide等,2018)是一个用于具有3D激光雷达的实时同时定位和制图的开源ROS软件包。该方法基于姿势图SLAM,其中环路闭合检测基于连续帧之间的正态分布变换(NDT)扫描匹配。在具有3D激光雷达的应用中,NDT方法在扫描匹配性能上优于其他算法。它使用无迹卡尔曼滤波器进行姿势估计。
作为开发的包的补充部分,还有实现已知地图上的重定位的hdl本地化模块。在文献中,这个问题可以被称为全局定位问题或绑架机器人问题(Se等,2002)。

2.6 LeGO-LOAM
轻巧且地面优化的激光测距和制图(LeGO-LOAM)(Shan和Englot,2018)是一种实时方法,专为在具有不断变化地形的复杂环境中使用无人地面车辆进行姿势估算制图而设计。它通过执行点云分割来利用地面分离,从而拒绝可能代表不可靠特征的点。LeGO-LOAM使用两步优化进行姿势估计。在第一步中,从地面提取平面特征以获得z、roll和pitch,然后在第二步中,通过匹配从点云中提取的特征来获得x、y和yaw。此方法还支持环路闭合,使用ICP实现。
2.7 Cartographer
Cartographer(Hess等,2016)是Google开发的用于2D和3D实时同时定位和制图的系统。它支持不同的传感器配置。对于3D SLAM,它需要具有IMU数据,这些数据用于确定激光扫描的方向的初始猜测。在最佳姿势估计中,它将激光扫描转化为用于构建子地图的概率网格。最近完成的子地图和扫描通过扫描匹配考虑环路闭合。扫描匹配依赖于分支和界限算法。Cartographer将本地SLAM和全局SLAM方法分开进行组合。在本地SLAM中,使用Ceres匹配程序来查找最佳匹配子地图的姿势。该过程逐渐累积误差,环路闭合机制通过基于稀疏姿势调整(SPA)(Konolige等,2010)来消除误差。
2.8 LIO-mapping
紧密耦合的3D激光雷达和惯性测距制图(LIO-mapping)(Ye等,2019)是一种用于3D姿势估计和制图的实时方法。在该方法中,IMU与激光雷达紧密耦合,以联合最小化来自激光雷达和IMU测量的成本。该方法使用滑动窗口方法,限制了计算的数量,通过在窗口中包含新的姿势估计和淘汰最老的姿势估计。然而,LIO-mapping仍然是实时导航的计算昂贵的方法,需要超过0.2秒的时间来同时进行测距估计和3D制图,使用16线3D激光雷达。
2.9 LIO-SAM
LIO-SAM(Shan等,2020)是一种实时的紧密耦合激光雷达惯性测距包,它基于LeGo-LOAM构建,是一种基于ICP的方法。该方法构建为一个因子图,这使得容易集成其他传感器。在其实现中,LIO-SAM在增量平滑和映射方法中添加了IMU预积分,使用贝叶斯树。值得注意的是,这种方法能够以超过实时13倍的速度处理数据。
2.10 FAST-LIO
FAST-LIO(Xu和Zhang,2021)是一种激光雷达惯性测距框架,其中使用紧密耦合的迭代卡尔曼滤波器将激光雷达特征点与IMU测量融合。在该方法中,从激光雷达点云中提取平面和边缘特征,然后在下一步,将这些特征与IMU测量一起用于状态估计,然后使用估计的姿势将特征点注册到全局坐标系并更新全局地图。FAST-LIO的全局坐标系定义为第一个IMU的坐标系。这意味着初始时,IMU的x-y-z轴将成为全局坐标系的x-y-z轴。因此,机器人的方向可能与您想象的不太一样。

所有的SLAM方法、所需的硬件和它们的特点在表1中总结如下。

接下来,我们将在SLAM方法上运行记录的数据。

实验评估与讨论

在本节中,我们基于第2.1小节介绍的收集到的数据集,在SubT环境中对SLAM方法进行评估。

SLAM方法的基准测试是在配备Intel i7第9代CPU、64 GB RAM、Ubuntu 18.04和ROS Melodic的计算机上进行的。为了对算法进行比较,我们已经尽最大努力调整了所有方法,以适应自主包的硬件配置。

3.1 轨迹的评估和比较

从地下隧道收集的数据集在缺乏特征、重复性和狭窄尺寸方面对基于激光雷达的SLAM算法来说是一个具有挑战性的环境,此外,两个闭环分支将用于评估方法的闭环性能。

所有SLAM方法都经过了我们的最大努力进行调整,然而,基于多次评估,我们得出的结论是,VLP16 Lite的视野不足以在垂直维度捕获足够的数据,这会导致对z轴的高不确定性,即使使用IMU也无法补偿,如图3所示。

根据我们使用DeWALT激光水平仪进行的坡度测量,从入口向隧道中心前进50米,我们得出隧道具有0.95度的正坡度。然而,考虑的方法中没有一个能够正确估计倾斜角,即使在隧道的直部分也是如此,例如,对于Cartographer,倾斜角约为2.91度,对于hdl graph slam,倾斜角约为0.1度,对于LIO-SAM,倾斜角约为-1.4度,对于Fast-LIO,倾斜角约为-3.7度。值得注意的是,除了Cartographer和hdl graph slam之外的所有方法都估计了负坡度,这可能意味着剩下的方法更依赖于激光雷达传感器而不是IMU。

与垂直维度类似,VLP16 Lite在水平维度上具有高的数据冗余性,这使得所有方法都能够应对x和y的2D姿势估计,如图4所示。

正如从图2中可以看出,所有SLAM方法估计的2D姿势与隧道的地图一致。总的来说,所有算法都能够沿着隧道估计姿势,hdl graph slam是一个明显的离群值。在下一小节中,我们将继续进行这项分析,评估生成的地图。对于相对方法的评估,我们计算并比较了总行驶距离,如表2所示,计算出95%的置信区间[251.20米至256.66米]。从中可以看出,BLAM、A-LOAM、LeGO-LOAM、Cartographer和Fast-LIO的距离测量具有更可信的值。

点云的评估和比较

地图结果允许看到具有闭环和没有闭环的方法之间的明显差异,这可能不容易从定位结果中察觉到。图5中展示了每个算法生成的地图。基于这一点,可以说loam velodyne、A-LOAM、F-LOAM和LIO-mapping中缺乏闭环导致了不对齐的点云地图。与这一组方法相一致,Fast-LIO虽然没有闭环特性,但可以有效处理环境并生成正确的地图。

在具有闭环能力的方法中,除了BLAM之外,所有方法都可以提供正确的地图。hdl graph slam虽然能够生成正确的地图,但在姿势估计方面仍然是异常值,尽管这一发现可能是由于我们调整的潜在不完善造成的。根据点云配准方法,以默认配置,SLAM方法生成了表2中所示的点的数量,从中可以看出,用于存储地图的内存开销最小的方法是ISC-LOAM,而内存开销最大的方法是Fast-LIO。然而,地图中的点的总数可以通过额外的方法配置来减小,例如在图5中,LIO-SAM方法的地图大小减小到4820点。

因此,如果我们重新绘制图4,在隧道的交汇区域只保留在定位和地图绘制方面提供了可靠结果的方法,如图6所示,可以说所有方法都表现出良好的稳定性和性能。然而,值得注意的是,在交汇区域,LeGO-LOAM执行了闭环操作,因此地图得到了校正,但轨迹没有。值得注意的是IMU对方法性能产生影响,因为Fast-LIO在具有闭环的方法中表现出与之相等的性能。

结论
在本文中,我们比较了最新和最先进的激光雷达SLAM方法在苛刻的SubT环境中的性能。为此,我们使用装备我们自主系统的Spot机器人收集了数据集,并分别配置了所有SLAM方法。根据本文中进行的SLAM方法比较,可以得出结论,装备的3D激光雷达不足以进行3D姿态估计,导致z轴方向存在明显的漂移,原因是缺乏特征点。因此,我们的分析侧重于2D姿态比较。评估结果表明,BLAM、A-LOAM、LeGO-LOAM、Cartographer和Fast-LIO产生的结果更加可信赖。ISC-LOAM是地图存储中最节省内存的方法,尽管与Fast-LIO相比,生成的地图非常稀疏。此外,可以得出结论,将IMU与激光雷达融合对于修正姿态估计是有帮助的。

未来的研究方向包括使用视场更广的激光雷达传感器,在更大的、对四足机器人具有挑战性的不平整地形中进行评估。

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值