乐趣区

关于自动驾驶:地下环境-九种3D-LidarSLAM算法评估

原创:董亚微 一点人工一点智能
编辑:一点人工一点智能
原文:公开环境 | 九种 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. 书籍举荐 -《云机器人技术 - 从人机交互到自主导航》

退出移动版