原创:董亚微 一点人工一点智能
编辑:一点人工一点智能
原文:公开环境 | 九种3D Lidar-SLAM算法评估
当机器人处在照明条件有余且无奈应用GPS的公开(SubT)环境中,其自主导航是一项极具挑战性的工作,这也促成了姿态预计和建图算法的钻研。
受在此类环境中理论部署自主机器人需要的启发,本文介绍了3D SLAM算法的试验比拟钻研。该钻研侧重于具备开源实现的最先进的激光雷达SLAM算法,这些算法是
i)仅激光雷达,如BLAM,LOAM,A-LOAM,ISC-LOAM和HDL图SLAM
ii)激光雷达惯性,如LeGO-LOAM,Cartographer,LIO-mapping和LIO-SAM。
这些办法的评估是在地下隧道执行工作期间从装备3D激光雷达Velodyne Puck Lite和IMU Vectornav VN-100的Boston Dynamics Spot机器人收集的数据集进行的。在评估过程中,将机器人位姿和SLAM算法的3D隧道重建互相比拟,以找到在位姿精度和地图品质方面性能最牢靠的办法。
01 介绍
同时定位与地图构建(SLAM)是一项具备挑战性的工作,它解决了未知环境下机器人自主导航的问题。在SLAM过程中,机器人应用车载感知和惯性传感器获取环境地图,同时尝试将本人定位在该地图内。鲁棒姿势预计是移动机器人管制的一项要害工作。在实验室环境中,它能够通过动作捕获零碎来解决。但并无奈满足将其部署到机器人导航的任何指标区域。因而,机器人的指标之一是可能独立于基础设施进行自主导航。在户外、宽阔地带,机器人能够应用全球定位系统(GPS)进行姿势预计。然而,在公开区域等GPS有效的环境中,这种解决方案将不起作用,尽快有时能够抉择装置额定的设施,然而这并不是实用于任何状况的。目前,曾经有了基于相机和测距传感器的SLAM算法,不过,这些算法通常须要疾速挪动计算机来提供实时地图构建和姿势预计。
随着便携CPU、传感器小型化和长续航电池的技术倒退,SLAM算法能够在板上运行,这有助于将机器人利用带入具备挑战性的SubT环境。在这些环境中,关键因素是人类平安,能够通过机器人进行自主查看来进步人类平安,并通过提供环境重建来进步人类工人对环境的态势感知。这对地图绘制品质和定位精度提出了很高的要求。
在照明较差的SubT环境中,视觉SLAM办法往往体现出较差的性能,这是不可承受的。与之相同,基于激光雷达的办法能够在姿势预计和环境地图显示方面提供牢靠的性能。然而,因为SubT环境的特殊性,如无特色、自类似的隧道区域、多尘隧道和传感器限度,它们的性能可能会随着工夫的推移而降落。
在本钻研中,咱们将在公开环境中对九种开源的ROS兼容的3D Lidar-SLAM算法进行试验评估。
这项工作的次要奉献是:
(1)评估了九种基于SOTA激光雷达的3D SLAM办法,应用SubT数据集来证实它们在此类环境中的性能。
(2) 对所有办法的姿势预计和生成的环境3D图进行定量和定性比拟,这将使机器人开发团队易于评估和了解其优缺点,包含为该利用抉择SLAM算法框架。
注:评估数据集是在波士顿能源点的勘探工作期间沿着一个有多个隧道的公开区域收集的。车载传感器套件由Velodyne Puck Lite激光雷达和Vectornav vn-100 IMU组成,前者是一种用于自主导航的SoA传感器,后者是多个机器人零碎中罕用的硬件,与SubT钻研工作高度相干。
02 SLAM算法
在这项钻研中,咱们抉择了所有支流的SLAM算法,这些算法具备实时操作能力,并应用3D激光雷达的点云作为输出,也能够将其与IMU测量相耦合。本章节先介绍了机器人平台,其次介绍了SubT环境,最初介绍了SLAM办法。所有抉择的办法都用ROS Melodic和Ubuntu 18.04进行了测试。
2.1 机器人平台和数据集
应用了由波士顿能源公司开发的机器人平台用于数据收集(图1)。该机器人可能以高达1.6米/秒的速度挪动,同时携带高达14公斤的有效载荷,并穿梭具备挑战性的地形。在Spot的顶部搁置的有效载荷包含3D激光雷达、IMU、spotCore和电池,如图1所示。板载计算机采纳Intel Core i5 CPU,16GB RAM,Ubuntu 18.04和ROS Melodic。为了为3D激光雷达提供畅通无阻的视线,它被装置为一个柱状构造,位于前端,带有独立的LED灯条Lustreon DV12V 10W,尺寸为170×15 mm,指向前、左、右。
图1 装备传感器的Spot机器人,用于在地下隧道中收集数据集
数据集是从瑞典Lulea港口的地下隧道收集的,该隧道具备手动管制的Spot,如图2所示。它被记录在一次通过中,将来自IMU和3D激光雷达的测量后果存储在ROS bag文件1中。3D重建地图的俯视图如图2所示。数据是用图1所示的传感器配置收集的,IMU公布速率设置为200Hz,3D激光雷达发射速率设为10Hz。在SubT环境中取得根本事实是一项具备挑战性的工作,因而在本钻研中只提供了算法的绝对比拟。
图2 3D激光雷达生成的地图俯视图(数据从现场测试环境中扫描而来)。实线示意穿过隧道的导线,而箭头示意导线的方向。
在上面的大节中,咱们将简要介绍所抉择的算法。
2.2 BLAM
Berkeley localization and mapping(BLAM)是一个开源ROS包,用于基于图的激光SLAM。它通过应用左近姿态的扫描进行迭代最近点(ICP)扫描匹配来计算环路。对于地图优化,它应用Georgia技术平滑和建图(GTSAM)库。BLAM可能在线构建十分浓密和准确的地图,这也使得它成为一种计算成本昂扬的办法Nava Chocron(2019)。
2.3 LOAM
Laser Odometry and Mapping(LOAM)或LOAM velodyne是一种实时办法,可能同时预计里程计并应用3D激光雷达绘制地图。该办法通过将SLAM工作合成为两种算法来解决SLAM工作。一个用于计算里程计,另一个用于增量地图构建,此外它还预计激光雷达的速度。LOAM没有闭环检测,这使它无奈辨认以前拜访过的区域,相同,它实现了特色点匹配,从而确保疾速的里程计计算和精确的地图构建。该办法具备IMU反对,与仅应用激光雷达相比,能够取得更高的精度。
A-LOAM是LOAM的高级实现,它应用特色库进行线性代数运算,并应用Ceres Solver 解决相应的优化问题。
Fast LiDAR Odometry and Mapping(F-LOAM)是LOAM和ALOAM的优化版本,其基于非迭代两阶段畸变弥补办法,可升高计算工夫。F-LOAM联合了特征提取、畸变弥补、姿势优化和建图。
2.4 ISC-LOAM
Intensity Scan Context based Full SLAM Implementation(ISC-LOAM)是另一种为3D激光雷达设计的算法。它联合了一个全局形容子,该形容子蕴含几何体和强度特色。所提出的闭环检测办法基于用于地位辨认的两阶段分层强度扫描上下文(ISC),这能够进步计算性能。ISC联合了基于疾速二进制运算的几何索引和强度构造从新辨认。
2.5 hdl graph slam
hdl graph slam是一个开源ROS包,用于与3D激光雷达SLAM。该办法基于Pose Graph SLAM,其中闭环检测是基于间断帧之间的正态分布变换(NDT)扫描匹配。与其余算法相比,无损检测办法在三维激光雷达利用中具备更好的扫描匹配性能。其中,无迹卡尔曼滤波器用于姿势预计。
2.6 LeGO-LOAM
Lightweight and ground optimized lidar odometry and mapping(LeGO LOAM)是一种用于在地形变动简单的环境中应用无人车进行姿势预计的实时建图办法。它通过进行点云宰割来利用高空拆散,这能够过滤示意不牢靠特色的点。LeGOLOAM应用两步优化进行姿势预计。在第一步中,从高空提取立体特色以取得z、滚转、俯仰,在第二步中,通过匹配从点云提取的特色来取得残余的x、y、偏航。该办法还反对应用ICP实现的环路检测。
2.7 Cartographer
Cartographer是谷歌开发的一个零碎,用于实时同时定位和构建2D和3D地图。它反对独特的传感器配置。对于3D SLAM,它须要具备初始猜想所需的IMU数据,以确定激光雷达扫描的方向。在最佳姿势预计下,它从激光雷达中获取扫描后果,并将其转换为概率网格,用于构建子地图。最近实现的子地图构建和扫描能够通过扫描匹配来进行回环检测。扫描匹配依赖于branch-and-boun算法。Cartographer将部分和全局SLAM办法别离联合起来。在部分SLAM中,Ceres匹配器用于找到与子地图最佳匹配的姿态。这个过程中缓缓积攒的误差,能够通过基于稠密姿势调整(SPA)的闭环机制进行打消。
2.8 LIO-mapping
LIO-mapping是一种用于3D姿势预计和建图的实时办法。在这种办法中,IMU与激光雷达严密耦合,独特升高激光雷达和IMU测量的老本。该办法应用滑动窗口办法,通过在窗口中包含新的姿势预计和弃用最旧的姿势预计来限度计算数量。尽管如此,LIO-mapping依然是一种计算成本很高的实时导航办法,应用16线3D激光雷达同时进行里程预计和建图须要超过0.2秒的工夫。
2.9 LIO-SAM
LIO-SAM是一个实时紧耦合激光雷达惯性里程计工具包,由LeGoLOAM构建,是一种基于ICP的办法。这种办法会构建一个因子图,使得退出额定的传感器变得容易。在其实现中,LIO-SAM在贝叶斯树的增量平滑和映射办法中增加了IMU预集成。值得注意的是,这种办法解决数据的速度是实时数据的13倍。
2.10 FAST-LIO
FAST-LIO是一个激光雷达惯性里程计框架,其中应用紧耦合迭代卡尔曼滤波器将激光雷达特色点与IMU测量值交融。在这种办法中,从激光雷达点云中提取立体和边缘特色,在下一步,这些特色与IMU测量一起用于状态预计,而后应用预计的姿势将特色点匹配到全局帧中并更新全局地图。
FAST-LIO的全局帧被定义为第一个IMU的帧。这意味着IMU在一开始的x-y-z轴将是全局帧的x-y-z轴。所以机器人的方向可能不像你设想的那样。
表1总结了所有SLAM办法、所需硬件及其性能,下一步是在SLAM办法上运行记录的数据。
03 试验评估和探讨
在本节中,基于第2.1大节中引入的收集数据集,在SubT环境中对SLAM办法进行评估。
SLAM办法的基准测试是在装备Intel i7第9代CPU、64GB RAM、Ubuntu 18.04和ROS Melodic的计算机上进行的。对于算法的比拟,咱们曾经尽了最大致力,依据自定义的package给定硬件配置调整所有办法。
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数据的办法强烈依赖于激光雷达传感器,而不是IMU。
与垂直维度相似,在程度维度中,VLP16-Lite具备高数据冗余,这容许所有办法来解决x和y 2D姿势预计,如图4所示。
从图2能够看出,所有SLAM办法预计的2D姿势与隧道地图统一。总的来说,所有算法都可能预计隧道沿线的po-e,hdl graph slam作为一个显著的异样值。咱们将在下一大节中持续进行这一剖析,咱们将在其中评估生成的地图。对于相干办法的评估,咱们计算并比拟了总行驶间隔,如表2所示,并计算了[251:20 256:66]米的置信区间,置信水平为95%。由此能够看出,BLAM、A-LOAM、LeGO LOAM、Cartographer和FastLIO间隔测量具备更值得信赖的价值。
3.2 点云的评估与比拟
建图后果能够看到有环路闭合和没有环路闭合的办法之间的显著差别,这可能从定位后果中不那么显著。在图5中,形容了每个算法生成的地图。基于此,能够说loam velodyne、A-loam、F-loam和LIO-mapping中不足闭环,导致点云建图错位。依据这组办法,FastLIO尽管没有循环闭合性能,但能够无效地解决环境并生成正确的建图。
在实现了回环检测能力的办法中,能够说除了BLAM之外的所有办法都能够提供正确的建图。hdl graph slam尽管可能产生正确的建图,但在姿势预计中依然是一个异样值,只管这一发现可能是因为咱们调整的潜在缺点。依据点云配准办法的不同,在默认配置中,SLAM办法会产生以下数量的点,如表2所示,从中咱们能够看出,存储地图的内存占用起码的办法是ISC-LOAM,而Fast LIO是须要最大的内存。尽管如此,地图中的总点数能够通过额定的办法配置来缩小,例如在图5中,LIO-SAM办法的地图大小缩小到4820点。
因而,如果咱们在隧道的连贯区域从新绘制图4,并只保留在图6中所示的在姿势预计和建图中提供牢靠后果的办法,能够说所有办法都体现出了良好的稳定性和性能。然而,正如能够留神到的那样,在接壤区域,LeGO LOAM执行了环路检测,因而对地图进行了校对,但没有对轨迹进行校对。值得注意的是,IMU会影响办法的性能,因为Fast LIO与具备回环检测的办法的性能雷同。
04 论断
在本文中,咱们比拟了最新的和SoA激光雷达SLAM办法在刻薄的SubT环境中的性能。为此,咱们应用装备了自主软件包的Spot机器人收集了数据集,并别离配置了所有SLAM办法。基于本文中进行的SLAM办法比拟,能够得出结论,所装备的3D激光雷达不足以进行3D姿势预计,因为不足特色,导致z轴上的显著漂移。因而,咱们的剖析集中在2D姿势比拟上。评估结果表明,BLAM、A-LOAM、LeGO LOAM、Cartographer和Fast LIO比其余办法产生了更可信的后果。只管与Fast LIO相比,生成的地图十分稠密,但ISC-LOAM是用于地图存储的内存老本最低的办法。此外,能够得出结论,将IMU与激光雷达交融有助于校对姿势预计。
咱们之后的指标是应用具备更宽视场的激光雷达传感器,并在更大的环境和不平坦的地形中进行评估,这对腿式机器人来说是一个挑战。
1. 45个主动驾驶开源数据集总结
2. 书籍举荐-《大规模SLAM技术》
3. 书籍举荐-《ROS2机器人编程扼要教程》
4. 基于多传感器交融的定位和建图零碎
5. 最新|3D SLAM对于z轴精度的优化思路整顿
6. 书籍举荐-《云机器人技术-从人机交互到自主导航》