Abstract—We propose a framework for tightly-coupled lidar inertial odometry via smoothing and mapping, LIO-SAM, that achieves highly accurate, real-time mobile robot trajectory es- timation and map-building. LIO-SAM formulates lidar-inertial odometry atop a factor graph, allowing a multitude of relative and absolute measurements, including loop closures, to be incorporated from different sources as factors into the system. To ensure high performance in real-time, we marginalize old lidar scans for pose optimization, rather than matching lidar scans to a global map. Scan-matching at a local scale instead of a global scale significantly improves the real-time performance of the system, as does the selective introduction of keyframes, and an efficient sliding window approach that registers a new keyframe to a fixed-size set of prior “sub-keyframes.” The proposed method is extensively evaluated on datasets gathered from three platforms over various scales and environments.
LIO-SAM将lidar-惯性里程计置于一个因子图之上,允许从不同来源将多种相对和绝对测量,包括环闭检测,作为因子合并到系统中。由惯性测量单元(IMU)预积分估计的运动消除点云畸变,并为激光雷达里程计优化提供初始猜测。所得到的激光里程计解被用来估计IMU的偏差。为了确保实时的高性能,我们将旧的激光雷达扫描边缘化以优化姿态,而不是将激光雷达扫描与全局地图匹配。局部尺度的扫描匹配代替了全局尺度的扫描匹配,大大提高了系统的实时性。还有选择性地引入关键帧,以及将新关键帧注册到固定大小的先前“子关键帧”集合的高效滑动窗口方法。
机器人的六自由度状态估计。基于视觉的方法通常使用单目或立体摄像机,并对连续图像的特征进行三角测量,以确定摄像机的运动。虽然基于视觉的方法特别适合于位置识别,但它们对初始化、光照和距离的敏感性使它们在单独用于支持自主导航系统时不可靠。另一方面,基于激光雷达的方法在很大程度上不受光照变化的影响。特别是随着最近远程、高分辨率3D激光雷达的出现,如Velodyne VLS-128和Ouster OS1-128,激光雷达变得更适合直接捕捉3D空间环境的细节。因此,本文主要研究基于激光雷达的状态估计和映射方法。
在过去的二十年里,已经提出了许多基于激光雷达的状态估计和映射方法。其中,在[1]中提出的用于低漂移和实时状态估计与测绘的lidar odometry and mapping (LOAM)方法是应用最广泛的方法之一。LOAM采用了激光雷达和惯性测量单元(IMU),实现了最先进的性能,自在KITTI里程测量基准网站[2]1上发布以来,一直被列为基于激光雷达的顶级方法。尽管LOAM取得了成功,但它也存在一些局限性——通过将其数据保存在一个全球体素地图中,通常很难执行环闭合检测和合并其他绝对测量,例如GPS,以进行姿态校正。当这个体素地图在特征丰富的环境中变得密集时,它的在线优化过程就会变得低效。LOAM是一种基于扫描匹配的核心方法,在大规模测试中也存在漂移问题。
在本文中,我们提出了一个通过平滑和映射的紧耦合激光雷达惯性里程计框架,LIO- SAM,以解决上述问题。通过引入一个全局因子图用于机器人轨迹估计,我们可以有效地利用激光雷达和IMU测量数据进行传感器融合,融合机器人姿态之间的位置识别,并在有GPS定位和罗盘航向等绝对测量数据时引入它们。这种来自各种来源的因子集合用于图的联合优化。此外,为了优化姿态,我们将旧的激光雷达扫描边缘化,而不是将扫描与LOAM之类的全球地图匹配。在局部尺度上的扫描匹配而不是在全局尺度上显著地提高了系统的实时性能,就像选择性地引入关键帧一样,一种有效的滑动窗口方法将一个新的关键帧注册到一个固定大小的先前的子关键帧集。我们的工作主要贡献如下:
在因子图上构建紧密耦合的激光雷达惯性里程计框架,适用于多传感器融合和全局优化。
一种高效的、基于局部滑动窗口的扫描匹配方法,通过有选择地将新关键帧注册到固定大小的预先子关键帧集,实现实时性能。
激光雷达里程计通常是通过寻找利用ICP -[3]和GICP -[4]等扫描匹配方法对两帧连续图像进行相对变换。由于其计算效率,基于特征的匹配方法已成为一种流行的替代方法,而不是匹配一个完整的点云。例如,在[5]中,提出了一种基于平面的实时激光雷达里程计配准方法。假设在结构化环境中进行操作,它从点云中提取平面,并通过解决最小二乘问题来匹配它们。在[6]中提出了一种基于领线的里程估计方法。该方法从原始点云中随机生成线段,用于配准。然而,由于现代三维激光雷达的旋转机制和传感器的运动,扫描的点云往往是倾斜的。仅使用激光雷达进行姿态估计并不理想,因为使用倾斜点云或特征进行配准最终会导致较大的漂移。
因此,激光雷达通常与其他雷达结合使用传感器,如IMU和GPS,用于状态估计和绘图。这种利用传感器融合的设计方案通常可以分为两类:松耦合融合和紧耦合融合。在LOAM[1]中,引入了IMU来对激光雷达扫描进行斜视,并给出了扫描匹配前的运动。但IMU不参与算法的优化过程。因此,LOAM可以被归类为一种松耦合方法。在[7]中提出了一种适用于地面车辆的轻型地面优化激光雷达测速测绘方法(LeGO- LOAM)。它对IMU测量值的融合与LOAM相同。一种比较流行的松耦合融合方法是使用扩展卡尔曼滤波器(EKF)。例如,[8]-[12]在机器人状态估计的优化阶段,利用EKF集成了激光雷达、IMU和可选GPS的测量数据。
紧密耦合的系统通常提供更高的精度目前是[13]正在进行的研究的主要焦点。在[14]中,预集成的IMU测量被用于偏斜点云。在[15]中提出了一种机器人中心激光雷达-惯性状态估计器R-LINS。R-LINS采用误差状态卡尔曼滤波器,以紧耦合的方式递归修正机器人的状态估计。由于缺乏其他可用的状态估计传感器,在长时间的导航过程中存在漂移问题。在[16]中介绍了一种紧密耦合的激光雷达惯性里程测量与测绘框架LIOM。LIOM是LIO-mapping的缩写,它联合优化了来自激光雷达和IMU的测量结果,与LOAM相比获得了类似或更好的精度。由于LIOM的设计目的是处理所有传感器的测量数据,因此无法实现实时性——在我们的测试中,它的实时性约为0.6×实时性。
我们首先定义在整篇文章中使用的框架和符号。我们表示世界框架为 W W W,机器人本体框架为 B B B。为方便起见,我们还假设IMU框架与机器人本体框架重合。机器人状态x可以写成:
x = [ R T , p T , v T , b T ] T x=\begin{bmatrix}R^T,p^T,v^T,b^T \end{bmatrix}^{T} x=[RT,pT,vT,bT]T
R ∈ S O ( 3 ) R\in SO(3) R∈SO(3)属于旋转矩阵 , p ∈ R 3 p\in \mathbb{R}^3 p∈R3 属于位置向量,从 B B B到 W W W的变换矩阵 T ∈ S E ( 3 ) T\in SE(3) T∈SE(3)定义为
T = [ R ∣ p ] T = \left [ R | p \right ] T=[R∣p] 图2显示了所设计系统的概述。该系统接收来自3D激光雷达、IMU和GPS的传感器数据。我们试图利用这些传感器的观测来估计机器人的状态和它的轨迹。这种状态估计问题可以表述为最大后验(MAP)问题。我们使用一个因子图来建模这个问题,因为与贝叶斯相比,它更适合执行推理。在一个高斯噪声模型的假设下,我们的问题的MAP推理等价于求解一个非线性最小二乘问题[17]。需要注意的是,在不丧失通用性的前提下,该系统还可以包含来自其他传感器的测量数据,例如来自高度计的高度或来自罗盘的航向。
我们介绍了四种类型的因素和一种用于因子图构造的变量类型。这个变量表示机器人在特定时间的状态,它被归为图的节点。
四种类型的因子分别为(a)IMU预积分因子、(b)激光雷达里程计因子、(c)GPS因子 (d)闭环因子。当机器人姿态的变化超过一个用户定义的阈值时,一个新的机器人状态节点 x x x 被添加到图中。因子图在插入新节点时使用增量平滑和映射贝叶斯树(iSAM2)[18]进行优化。生成这些因子的过程将在以下部分中描述。
IMU测量的加速度和角速度
注:在ENU坐标系中,忽略尺度因子(scale)的影响,只考虑白噪声和 bias随机游走:
我们现在可以使用IMU的测量值来进行推断机器人的运动。 t + ∆ t t +∆t t+∆t 时刻机器人的速度、位置和旋转可计算为:
由于篇幅限制,我们请读者参考[19]中关于公式7 - 9的详细推导的描述。IMU预整合除了有效外,也自然地给了我们因子图的一种约束——IMU预整合因子。IMU偏差与图中激光雷达里程计因子共同优化。
当新的激光雷达扫描到达时,我们首先进行特征提取。通过评估局部区域内点的粗糙度来提取边缘和平面特征。粗糙度值较大的点被划分为边缘特征。同样,平面特征也可以通过较小的粗糙度值来分类。我们将第 i i i 时刻激光雷达扫描中提取的边缘和平面特征分别表示为 F i e F_{i}^e Fie 和 F i p F_{i}^p Fip。在 i i i 时刻提取的所有特征组成一个激光雷达帧 F i \mathbb{F}_i Fi,其中 F i = { F i e , F i p } \mathbb{F}_i = \left \{ F_{i}^e , F_{i}^p \right \} Fi={Fie,Fip} 。注意,激光雷达帧F表示在 B B B 框架内,也就是机器人本体。更详细的特征提取在[1]中可以找到 过程可以在[1]中找到,如果使用的是距离图像,则可以在[7]中找到。
[7]简介 : https://blog.csdn.net/qq_46480130/article/details/115068454
相关文章:https://blog.csdn.net/weixin_44156680/article/details/117876839
利用每一帧激光雷达进行计算和添加因子关键帧选择的概念在视觉SLAM领域得到了广泛的应用。我们采用一种简单而有效的启发式方法,当与前一状态 x i x_i xi 相比,机器人姿态变化超过一个用户定义的阈值时,我们选择一个激光雷达帧 F i \mathbb{F}_i Fi 作为关键帧。新保存的关键帧 F i + 1 \mathbb{F}_{i+1} Fi+1 与因子图中新的机器人状态节点 x i + 1 x_{i+1} xi+1 相关联。两个关键帧之间的激光雷达帧被丢弃。通过这种方式添加关键帧,既实现了地图密度与内存消耗之间的平衡,又有助于维持相对稀疏的因子图,适合于实时非线性优化。在我们的工作中,添加一个新的关键帧的位置和旋转变化阈值被选择为1m和10°。
让我们假设我们想要添加一个新的状态节点 x i + 1 x_{i+1} xi+1 到因子图。与此状态相关的激光雷达关键帧是 F i + 1 \mathbb{F}_{i+1} Fi+1 。激光雷达里程计因子的生成步骤如下:
1) 体素贴图的子关键帧:
我们实现了滑动窗口方法创建一个点云图,包含固定数量的近期激光雷达扫描。我们不是优化两个连续的激光雷达扫描之间的转换,而是提取最近的n个关键帧,我们称之为子关键帧,以进行估计。子关键帧集合 { F i − n , … , F i } \left \{ \mathbb{F}_{i-n},\dots ,\mathbb{F}_i \right \} {Fi−n,…,Fi} 通过变换 { T i − n , … , T i } \left \{ \mathbb{T}_{i-n},\dots ,\mathbb{T}_i \right \} {Ti−n,…,Ti} 与他们联系在一起。将变换后的子关键帧合并成一个体素映射 M i M_i Mi 。由于我们在前面的特征提取步骤中提取了两种类型的特征, M i M_i Mi 由两个子体素映射组成,标记为 M i e M_i^e Mie 其中, i i i 为边缘特征体素图, M i p M_i^p Mip 为平面特征体素图。激光雷达框架和体素映射之间的关系如下:
′ F i e 'F_i^e ′Fie 和 ′ F i p 'F_i^p ′Fip 是 W W W 中变换后的边缘和平面特征,然后对 M i e M_i^e Mie 和 M i p M_i^p Mip 进行下采样,以消除落在同一体素单元中的重复特征。在本文中,n取25。下样分辨率 M i e M_i^e Mie 和 M i p M_i^p Mip 分别为0.2m和0.4m。
2) 扫描匹配:
我们匹配一个新获得的雷达关键帧 F i + 1 \mathbb{F}_{i+1} Fi+1 ,也就是 F i + 1 = { F i + 1 e , F i + 1 p } \mathbb{F}_{i+1} = \left \{ F_{i+1}^e , F_{i+1}^p \right \} Fi+1={Fi+1e,Fi+1p}, 通过扫描匹配建立 M i M_i Mi 。为此可以利用多种扫描匹配方法,如[3]和[4]。这里我们选择使用[1]中提出的方法,因为它的计算效率和鲁棒性在各种具有挑战性的环境中。
我们首先变换 F i + 1 = { F i + 1 e , F i + 1 p } \mathbb{F}_{i+1} = \left \{ F_{i+1}^e , F_{i+1}^p \right \} Fi+1={Fi+1e,Fi+1p}从 B B B 到 W W W 得到 ′ F i + 1 = { ′ F i + 1 e , ′ F i + 1 p } \mathbb{'F}_{i+1} = \left \{ 'F_{i+1}^e , 'F_{i+1}^p \right \} ′Fi+1={′Fi+1e,′Fi+1p},利用IMU预测的机器人运动得到初始的变换矩阵 T ~ i + 1 \tilde{T} _{i+1} T~i+1 ,对于 ′ F i + 1 e 'F_{i+1}^e ′Fi+1e 或者 ′ F i + 1 p 'F_{i+1}^p ′Fi+1p 中的每个特征,然后我们在 i i i 时刻已经建立的地图 M i e M_i^e Mie 或 M i p M_i^p Mip 中找到它的边或平面对应关系。为了简单起见,这里省略了查找这些通信的详细过程,但是在[1]中详细描述了。
3)相对变换: 特征与其边缘或平面贴片对应的距离可以用以下公式计算:
f ( T ~ i + 1 ) = d , where d = [ d e d p ] f\left(\tilde{\mathbf{T}}_{i+1}\right)=\mathbf{d},\text {where } \mathbf{d}=\left[\begin{array}{l} \mathbf{d}_{e} \\ \mathbf{d}_{p} \end{array}\right] f(T~i+1)=d,where d=[dedp]
然后利用Levenberg-Marquardt方法求解最优变换。我们让 T i + 1 = T ~ i + 1 T_{i+1} = \tilde{T}_{i+1} Ti+1=T~i+1 当优化过程收敛时。最后得到 x i x_i xi 与 x i + 1 x_{i+1} xi+1 之间的相对变换 Δ T i , i + 1 \Delta T_{i,i+1} ΔTi,i+1,即连接这两个位姿的激光雷达里程计因子:
Δ T i , i + 1 = ⊤ T i T i + 1 \Delta \mathbf{T}_{i, i+1}={ }^{\top} \mathbf{T}_{i} \mathbf{T}_{i+1} ΔTi,i+1=⊤TiTi+1
我们注意到,获得 Δ T i , i + 1 \Delta \mathbf{T}_{i, i+1} ΔTi,i+1 的另一种方法是将子关键帧转换为 x i x_i xi 的帧。换句话说,我们将 F i + 1 \mathbb{F}_{i+1} Fi+1 与在 x i x_i xi 坐标系中表示的体素映射匹配。这样就可以直接得到真实的相对变换 Δ T i , i + 1 \Delta \mathbf{T}_{i, i+1} ΔTi,i+1 。因为转换后的特性 ′ F i e 'F_i^e ′Fie 和 ′ F i p 'F_i^p ′Fip 可以被多次重用,所以我们选择使用第III-C节 中描述的方法。是因为它的计算效率。
虽然仅利用IMU预集成和激光雷达测程因子就可以获得可靠的状态估计和测图,但在长时间导航任务中,系统仍存在漂移问题。为了解决这个问题,我们可以引入能够提供绝对测量来消除漂移的传感器。这些传感器包括高度计、罗盘和GPS。为了便于说明,我们将讨论GPS,因为它在现实世界的导航系统中被广泛使用。
当我们接收到GPS测量数据时,我们首先进行转换利用[20]中提出的方法将它们转化为局部笛卡尔坐标系。在因子图中添加一个新节点后,我们再将一个新的GPS因子与该节点关联起来。如果GPS信号与激光雷达帧没有硬件同步,我们根据激光雷达帧的时间戳线性插值GPS测量值。
我们注意到,当GPS接收可用时,由于激光雷达惯性里程计的漂移增长非常缓慢,因此不需要不断地添加GPS因子。在实际应用中,我们只在估计的位置协方差大于接收的GPS位置协方差时加入一个GPS因子。
与LOAM和LIOM不同,由于利用了因子图,循环闭包也可以无缝地集成到所提议的系统中。为了便于说明,我们描述并实现了一种简单但有效的基于欧氏距离的环路闭合检测方法。我们还注意到,我们提出的框架与其他用于环路闭合检测的方法兼容,例如[21]和[22],它们生成一个点云描述符并使用它进行位置识别。
当一个新的状态 x i + 1 x_{i+1} xi+1 加入到因子图中,
我们首先搜索这个图,找到在欧几里德空间中接近 x i + 1 x_{i+1} xi+1 的状态。如图2所示,以 x 3 x_3 x3 为例, x 3 x_3 x3 是返回的候选对象之一。然后我们尝试使用在 C 中讨论的扫描匹配来配准 F i + 1 \mathbb {F}_{i+1} Fi+1到子关键帧 F 3 − m , … , F 3 , … , F 3 + m {\mathbb {F}_{3−m},…, \mathbb {F}_3,…, \mathbb {F}_{3+m} } F3−m,…,F3,…,F3+m。 注意,在扫描匹配之前, F i + 1 \mathbb {F}_{i+1} Fi+1和过去的子关键帧首先被转换为 W W W。我们得到了相对变换 Δ T 3 , i + 1 \Delta T_{3,i+1} ΔT3,i+1,并将其作为一个闭环因子添加到图中。在本文中,我们选择指标 m m m 为12,并将闭环的搜索距离设为距离新状态 x i + 1 x_{i+1} xi+1 为15m。
在实践中,我们发现当GPS是唯一可用的绝对传感器时,增加闭环因子对修正机器人高度的漂移特别有用。这是因为GPS的高程测量非常不准确——在没有环路闭合的情况下,在我们的测试中,高度误差接近100米。
我们现在定性地描述一系列的实验并对我们提出的框架进行定量分析。本文中使用的传感器套件包括一个Velodyne VLP- 16激光雷达,一个MicroStrain 3DM-GX5-25 IMU和一个Reach M GPS。为了验证,我们收集了5个不同规模、平台和环境的数据集。这些数据集分别被称为旋转,步行,校园,公园和阿姆斯特丹。传感器安装平台如图3所示。前三个数据集是在麻省理工学院校园内使用定制的手持设备收集的。Park的数据集是在一个被植被覆盖的公园中收集的,使用的是一种无人地面车辆(UGV)——Clearpath Jackal。最后的数据集“阿姆斯特丹”是通过将传感器安装在一艘航行在阿姆斯特丹运河上的船只上收集的。这些数据集的详细信息如表I所示。
我们将提出的LIO-SAM框架与LOAM和LIOM进行了比较。在所有的实验中,LOAM和LIO- SAM都被强制实时运行。另一方面,LIOM被赋予无限的时间来处理每一个传感器的测量。所有这些方法都是用c++实现的,并在一台配备Intel i7-10710U CPU的笔记本电脑上使用机器人操作系统(ROS)[23]在Ubuntu Linux中执行。我们注意到只有CPU被用于计算,而没有启用并行计算。所进行的实验的补充细节,包括所有测试的完整可视化,可在下面的链接中找到。
https://youtu.be/A0H8CoORZJU
在这个测试中,我们着重评估当因子图中只添加IMU预集成和激光雷达里程计因子时,我们框架的鲁棒性。旋转数据集是由用户手持传感器套件,在静止的情况下进行一系列积极的旋转操作收集的。图4(a)所示的测试环境中填充了结构。由LOAM和LIO- SAM得到的地图分别如图4(b)和©所示。由于LIOM使用了来自[24]的相同初始化管道,它继承了与视觉惯性SLAM相同的初始化灵敏度,因此无法使用该数据集进行正确的初始化。由于未能产生有意义的结果,LIOM的地图没有显示出来。如图所示,与LOAM相比,LIO-SAM的地图保存了更精细的环境结构细节。这是因为LIO- SAM能够在 S O ( 3 ) SO(3) SO(3) 中精确地记录每个激光雷达帧,即使在机器人经历快速旋转时也是如此。
该测试旨在评估我们的性能方法,当系统在 S E ( 3 ) SE(3) SE(3) 中经历积极的平移和旋转时。在数据采集过程中,用户手持如图3(a)所示的传感器套件,快速穿过MIT校园(图5(a))。
在本次测试中,LOAM的地图如图5(b)所示,当遇到主动旋转时,LOAM的地图会在多个位置发散。LIOM在这个测试中优于LOAM。但是,如图5( c )所示,它的地图在各个位置仍然有轻微的发散,并且包含了大量模糊的结构。由于LIOM被设计用来处理所有传感器的测量数据,所以它只能在0.56×实时运行,而其他方法都是实时运行的。最后,LIO-SAM的性能优于这两种方法,生成的地图与可用的谷歌地球图像一致。
该测试旨在展示引入GPS和环路闭合因子的好处。为了做到这一点,我们故意在图中禁用GPS和环路闭合因子的插入。当GPS和闭环因子都被禁用时,我们的方法称为LIO-odom,它只利用IMU预积分和激光雷达里程计因子。当使用GPS因子时,我们的方法称为LIO-GPS,它使用IMU预积分、激光雷达里程计和GPS因子进行图的构建。LIO-SAM使用所有可用的因素。
要收集此数据集,用户需要使用手持设备在MIT校园中走动,然后返回相同的位置。由于测绘区域内有大量的建筑物和树木,GPS接收很少,而且大多数时候都是不准确的。过滤掉不一致的GPS测量值后,在图6(a)中可以得到GPS的区域为绿色段。这些区域对应的是少数没有被建筑或树木包围的区域。
LOAM、LIO-odom、LIO-GPS和LIO-SAM的估计轨迹如图6(a)所示。LIOM的结果没有显示出来,因为它没有正确初始化并产生有意义的结果。从图中可以看出,与其他方法相比,LOAM的轨迹漂移明显。在没有GPS数据校正的情况下,LIO-odom的轨迹在地图右下角开始明显漂移。在GPS数据的帮助下,LIO-GPS可以对漂移进行校正。然而,GPS数据对于数据集的后面部分是不可用的。因此,当机器人返回到起始位置时,LIO- GPS由于漂移而无法闭合回路。另一方面,LIO- SAM通过在图中加入闭环因子来消除漂移。LIO-SAM的地图与谷歌地球影像进行了良好的对齐,如图6(b)所示。所有方法在机器人返回起始点时的相对平移误差如表2所示。
在这项测试中,我们将传感器安装在一辆UGV上,并驾驶这辆车沿着新泽西州普莱森特谷公园(Pleasant Valley Park)的一条森林小径行驶。在40分钟的驾驶后,机器人会回到初始位置。UGV可以在三种路面上行驶:沥青路面、草地路面和尘土覆盖的小路。由于缺乏悬挂,机器人在非沥青路面上行驶时,会经历小但高频率的振动。
为了模拟具有挑战性的地图绘制场景,我们只在机器人处于开阔区域时使用GPS测量,如图7(a)中的绿色段所示。这种测绘场景代表了机器人必须测绘多个被GPS拒绝的区域,并定期返回具有GPS可用性的区域以纠正漂移的任务。
与之前的测试结果类似,LOAM、LIOM和LIO-odom存在明显的漂移,因为没有绝对的校正数据。此外,LIOM的运行轨迹与LIO-GPS和LIO-SAM的轨迹重合为0.67× real-time,而其他方法的运行轨迹均为real-time。在水平面上,它们的相对平移误差不同(表二)。由于没有可靠的绝对高程测量,LIO-GPS存在高度漂移,返回到机器人初始位置时无法闭环。LIO-SAM没有这种问题,因为它利用闭环因子消除漂移。
最后,我们把传感器安装在一艘船上,沿着阿姆斯特丹的运河巡游了3个小时。尽管在这项测试中,传感器的运动相对平稳,但由于几个原因,绘制运河的地图仍然具有挑战性。运河上的许多桥梁都在退化,因为当船在桥下行驶时,桥上几乎没有什么有用的特征,就像在一条没有特色的长走廊上行驶一样。由于没有地面,平面特征的数量也明显减少。我们观察到,当阳光直射在传感器视场时,激光雷达会产生许多错误的探测,这种情况在数据采集过程中发生的时间约占20%。由于头顶上有桥梁和城市建筑,我们只能断断续续地接收到GPS信号.
由于这些挑战,LOAM、LIOM和LIO-odom在本次测试中均未能产生有意义的结果。与Park数据集中遇到的问题类似,由于高度的漂移,LIO-GPS在返回到机器人初始位置时无法闭合回路,这进一步激发了我们在LIO-SAM中使用环路闭合因子。
因为全球定位系统只能在公园内使用数据集,我们显示均方根误差(RMSE)的结果w.r.t的GPS测量历史,这是视为地面真相。这种均方根误差不考虑z轴方向的误差。如表三所示,LIO-GPS和LIO-SAM相对于GPS地面真值的RMSE误差相似。请注意,我们可以进一步减少这两种方法的误差,至少一个数量级,让他们完全访问所有GPS测量。然而,在许多地图设置中,完全的GPS访问并不总是可用的。我们的目的是设计一个健壮的系统,可以在各种具有挑战性的环境中运行。
表四显示了三种竞争方法在所有5个数据集上注册一个激光雷达帧的平均运行时间。在所有测试中,LOAM和LIO-SAM都被迫实时运行。换句话说,当激光雷达旋转速率为10Hz时,如果运行时间超过100ms,一些激光雷达帧会被丢弃。LIOM被赋予无限的时间来处理每一帧激光雷达。如图所示,与其他两种方法相比,LIO-SAM使用的运行时明显更少,这使得它更适合部署在低功耗的嵌入式系统上。
我们还对LIO-SAM进行压力测试,以比实时更快的速度输入数据。表四最后一列记录了LIO-SAM在无故障的情况下,与数据回放速度为1×实时时的结果相比较时的最大数据回放速度。如图所示,LIO-SAM处理数据的速度比实时快13倍。在补充视频中展示了处理校园数据集的10×实时测试。
我们注意到LIO-SAM的运行时间受特征图密度的影响更为显著,而受因子图中节点数和因子数的影响较小。例如,Park数据集是在一个特征丰富的环境中收集的,在这个环境中,植被会产生大量的特征,而Amsterdam数据集则产生一个较稀疏的特征图。Park检验的因子图由4573个节点和9365个因子组成,而阿姆斯特丹检验的因子图有23304个节点和49617个因子。尽管如此,LIO-SAM在阿姆斯特丹测试中使用的时间比在Park测试中使用的时间要少。
我们提出了LIO-SAM,一个通过平滑和映射实现紧密耦合的激光雷达惯性里程测量的框架,用于在复杂环境下进行实时状态估计和映射。通过在因子图上构造激光雷达-惯性奥多姆测量,LIO-SAM特别适合于多传感器融合。额外的传感器测量可以很容易地作为新因素加入到框架中。提供绝对测量的传感器,如GPS、罗盘或高度计,可用于消除激光雷达惯性里程计的漂移,这种漂移会在长时间内积累,或在特征较差的环境中积累。位置识别也可以很容易地融入到系统中。为了提高系统的实时性,我们提出了一种滑动窗口的方法,边缘化旧的激光雷达帧进行扫描匹配。当产生激光雷达里程计和环路闭合因子时,关键帧被有选择地添加到因子图中,新的关键帧只被注册到一组固定大小的子关键帧。这种局部尺度的扫描匹配而不是全局尺度的扫描匹配有利于LIO-SAM框架的实时性能。在不同环境的三个平台上收集的数据集上,对所提出的方法进行了全面的评估。结果表明,与LOAM和LIOM相比,LIO-SAM具有相似或更好的精度。未来的工作包括在无人机上测试该系统。
A. Geiger, P. Lenz, and R. Urtasun, “Are We Ready for Autonomous Driving? The KITTI Vision Benchmark Suite”, IEEE International Conference on Computer Vision and Pattern Recognition, pp. 3354- 3361, 2012 ↩︎