posts - 38,comments - 0,views - 8376

LIO-SAM:通过平滑和建图紧耦合的激光雷达惯性里程计

摘要

提出了一种基于平滑和建图的紧耦合激光雷达惯性里程计框架LIO - SAM,实现了高精度、实时的移动机器人轨迹估计和地图构建。LIO - SAM在因子图上建立激光雷达-惯性里程计,允许将不同来源的相对和绝对测量值,包括闭环,作为因子纳入系统。惯性测量单元( Inertial Measurement Unit,IMU )预积分估计的运动去偏点云,产生激光雷达里程计优化的初始猜测。得到的激光雷达里程计解用于估计IMU的零偏。为了确保高实时性,我们将旧的激光雷达扫描边缘化用于位姿优化,而不是将激光雷达扫描匹配到全局地图上。在局部尺度而不是全局尺度上的扫描匹配显著提高了系统的实时性,关键帧的选择性引入以及将新关键帧注册到固定大小的先验"子关键帧"集合的高效滑动窗口方法也显著提高了系统的实时性。所提出的方法在不同规模和环境下从三个平台收集的数据集上进行了广泛的评估。

1 介绍

状态估计、定位和建图是一个成功的智能移动机器人的基本前提,需要反馈控制、避障和规划等许多能力。利用基于视觉和基于激光雷达的感知,已经投入了巨大的努力来实现高性能的实时同时定位和地图构建( SLAM ),可以支持移动机器人的六自由度状态估计。基于视觉的方法通常使用单目或立体相机,并在连续图像中三角化特征来确定相机运动。虽然基于视觉的方法特别适用于地点识别,但它们对初始化、光照和范围的敏感性使它们单独用于支持自主导航系统时不可靠。另一方面,基于激光雷达的方法在很大程度上对光照变化具有不变性。特别是随着VLS - 128和Ouster OS1 - 128等远距离、高分辨率三维激光雷达的问世,激光雷达更适合直接捕捉三维空间中环境的细微细节。因此,本文重点研究基于激光雷达的状态估计与建图方法

近20年来,许多基于激光雷达的状态估计和建图方法被提出。其中,在[ 1 ]中提出的激光雷达里程计和建图( LOAM )方法用于低漂移和实时状态估计和建图是其中应用最广泛的。LOAM使用激光雷达和惯性测量单元( Inertial Measurement Unit,IMU ),具有最先进的性能,自KITTI里程计基准站发布以来,一直被评为基于激光雷达的顶级方法[ 2 ]。尽管LOAM取得了成功,但它也存在一些局限性- -通过将其数据保存在一个全局体素图中,通常很难进行回环检测[???这个是为什么,回环检测的流程,保存在全局图中就不能回环检测吗]并结合其他绝对测量值(如GPS )进行位姿校正。当这种体素图在特征丰富的环境中变得稠密时,其在线优化过程变得效率较低。LOAM在大规模测试中也存在漂移问题,因为它是一种基于扫描匹配的方法。

针对上述问题,本文提出了一种基于平滑映射的紧耦合激光雷达惯性里程计框架LIO-SAM。我们假设点云纠偏(需要去畸变)的非线性运动模型,使用原始IMU测量值估计激光雷达扫描期间的传感器运动。除校正点云外,估计的运动作为激光雷达里程计优化的初始猜测。然后将得到的激光雷达里程计解用于估计因子图中IMU的偏差。通过引入用于机器人轨迹估计的全局因子图,我们可以有效地利用激光雷达和IMU测量进行传感器融合,在机器人位姿之间纳入位置识别,并在可用时引入绝对测量,如GPS定位和罗盘航向。这种来自各种来源的因素集合用于图的联合优化。此外,我们将旧的激光雷达扫描边缘化[?]以进行位姿优化,而不是像LOAM那样将扫描匹配到全局地图。在局部尺度而不是全局尺度上进行扫描匹配显著地提高了系统的实时性能,关键帧的选择性引入以及将新关键帧注册到固定大小的先验"子关键帧"集合的有效滑动窗口方法也显著地提高了系统的实时性能。本文的主要工作可以概括为以下几个方面:

  • 紧耦合的激光雷达惯性里程计框架建立在因子图之上,适用于多传感器融合和全局优化。

  • 一种有效的、基于局部滑动窗口的扫描匹配方法,通过将选择性选择的新关键帧注册到固定大小的先验子关键帧集合来实现实时性能。

  • 所提出的框架在各种规模、车辆和环境的测试中得到了广泛的验证。

image

2 相关工作

激光雷达里程计通常使用扫描匹配方法(如ICP [ 3 ]和GICP [ 4 ] )来寻找连续两帧图像之间的相对变换。基于特征的匹配方法由于其计算效率而成为一种流行的替代方法,而不是匹配完整的点云。例如,文献[ 5 ]提出了一种基于平面的实时激光雷达里程计配准方法。假设在结构化环境中进行操作,它从点云中提取平面,并通过求解最小二乘问题进行匹配。文献[ 6 ]提出了一种基于领围线的里程计估计方法。在该方法中,线段从原始点云中随机生成,并用于后期的配准。然而,由于现代三维激光雷达的旋转机制,以及传感器的运动,扫描的点云往往是倾斜的。单独使用激光雷达进行位姿估计并不理想,因为使用倾斜的点云或特征进行配准最终会造成较大的漂移。

因此,激光雷达通常与其他传感器(如IMU和GPS )一起使用,用于状态估计和映射。这种利用传感器融合的设计方案通常可以分为两类:松耦合融合和紧耦合融合。在LOAM [ 1 ]中,IMU被引入到纠偏激光雷达扫描中,并给出扫描匹配的运动先验。然而,IMU并没有参与到算法的优化过程中。因此,LOAM可以归类为一种松耦合的方法。针对地面车辆建图任务[ 8 ],文献[ 7 ]提出了一种轻量化、地面优化的激光雷达里程计与建图( Le GOLOAM )方法。其融合IMU测量值的方式与LOAM相同。一种更流行的松耦合融合方法是使用扩展卡尔曼滤波器( EKF )。例如,文献[ 9 ] [ 13 ]在机器人状态估计的优化阶段使用EKF将来自激光雷达、IMU和可选GPS的测量进行集成。

紧耦合系统通常能提供更高的精度,是当前研究的一个主要焦点[ 14 ]。在文献[ 15 ]中,预积分IMU测量被用于倾斜校正点云。文献[ 16 ]提出了一种偏心激光雷达-惯性状态估计器R - LINS。R - LINS使用误差状态卡尔曼滤波器以紧耦合的方式递归来修正机器人的状态估计。由于缺乏其他可用的传感器进行状态估计,在长时间导航过程中会发生漂移。文献[ 17 ]介绍了一种紧耦合的激光雷达惯性里程计和建图框架LIOM。LIOM是LIO - mapping的缩写,它联合优化了激光雷达和IMU的测量值,与LOAM相比具有相近或更好的精度。由于LIOM的设计是为了处理所有传感器的测量值,因此没有达到实时性- -在我们的测试中,它运行在大约0.6倍的实时性。

3 基于平滑和建图紧耦合的激光雷达惯性里程计

A 系统概述

第一段[TODO…]

所提出系统的概述如图1所示。该系统接收来自3D激光雷达、IMU和GPS的传感器数据。我们寻求利用这些传感器的观测来估计机器人的状态及其轨迹。该状态估计问题可以表示为最大后验概率( MAP )问题。我们使用因子图来建模这个问题,因为它比贝叶斯网络更适合进行推断。在高斯噪声模型假设下,我们问题的MAP推断等价于求解一个非线性最小二乘问题[ 18 ]。需要注意的是,不失一般性,所提出的系统还可以包含来自其他传感器的测量,例如来自高度计的高度或来自指南针的航向。

我们引入了四种类型的因子以及一种用于因子图构建的变量类型。该变量表示机器人在特定时刻的状态,属于图的节点。四类因子分别为:( a ) IMU预积分因子,( b )激光雷达里程计因子,( c ) GPS因子,( d )环路闭合因子。当机器人位姿变化超过用户定义的阈值时,在图中添加新的机器人状态节点x。因子图在插入新节点时使用增量平滑和贝叶斯树映射( iSAM2 )进行优化[ 19 ]。这些因子的产生过程在下面的章节中描述。

B IMU预积分因子

IMU的角速度和加速度的测量值由公式定义。2和3:

其中ω t和 at是B时刻的原始IMU测量值。ω t和ω at受到慢变偏差bt和白噪声nt的影响。RBW t为W到B的旋转矩阵,g为W中的常重力矢量。

[TODO…]

C 雷达里程计因子

当新的激光雷达扫描到来时,我们首先进行特征提取。通过评估局部区域上点的粗糙度来提取边缘和平面特征。将粗糙度值较大的点归为边缘特征。类似地,平面特征通过一个较小的粗糙度值进行分类。我们将从时间i的激光雷达扫描中提取的边缘和平面特征分别表示为Fe i和Fpi。在时刻i提取的所有特征组成一个激光雷达帧Fi,其中Fi = { Fe i,Fpi }。值得注意的是,激光雷达帧F用B表示。如果使用距离图像,特征提取过程可以在[ 1 ]或[ 7 ]中找到更详细的描述。

使用每一帧激光雷达进行计算并在图中添加因子在计算上是困难的,因此我们采用了关键帧选择的概念,这在视觉SLAM领域中被广泛使用。使用一种简单但有效的启发式方法,当机器人位姿变化与之前状态xi相比超过用户定义的阈值时,我们选择激光雷达帧Fi + 1作为关键帧[!!!关键帧选取方法]。新保存的关键帧Fi + 1与因子图中新的机器人状态节点xi + 1相关联[!!!在这里,一个状态节点即一个关键帧]。两个关键帧之间的激光雷达帧被丢弃。通过这种方式添加关键帧,不仅实现了地图密度和内存消耗之间的平衡,而且有助于保持相对稀疏的因子图,适用于实时非线性优化。在我们的工作中,选择添加新关键帧的位置和旋转变化阈值为1m和10 °。

假设我们希望在因子图中增加一个新的状态节点xi + 1。与该状态相关联的激光雷达关键帧为Fi + 1。激光雷达里程计因子的生成由以下步骤描述:

1)体素地图的子关键帧:

我们实现了一种滑动窗口方法来创建包含固定数量的最近激光雷达扫描的点云地图。我们没有优化连续两次激光雷达扫描之间的转换,而是提取最近的n个关键帧,我们称之为子关键帧进行估计。然后,子关键帧集合{ Fi-n,..,Fi }通过与之相关的变换{ Ti-n,..,Ti }转化为W坐标系下。将变换后的子关键帧合并为一个体素图Mi。由于我们在前面的特征提取步骤中提取了两类特征,因此Mi由两个子体素图组成,分别记为Me i,边缘特征体素图和Mpi,平面特征体素图。激光雷达帧和体素图之间存在如下关系:

′Fe i和′Fpi分别为W中变换后的边缘和平面特征。Me i和Mpi被降采样以消除落在同一体素单元中的重复特征。本文选取n = 25。Me i和Mpi的下采样分辨率分别为0.2 m和0.4 m。

2)扫描匹配:

我们通过扫描匹配将新获得的激光雷达帧Fi + 1,即{ Fe i + 1,Fpi + 1 }匹配到Mi。各种扫描匹配方法,例如[ 3 ]和[ 4 ],都可以用于这个目的。在这里,我们选择使用文献[ 1 ]中提出的方法,因为它在各种具有挑战性的环境中具有计算效率和鲁棒性。

首先将{ Fe i + 1,Fpi + 1 }从B变换到W,得到{′Fe i + 1,′Fpi + 1 }。这个初始变换是利用IMU预测的机器人运动" Ti + 1 "得到的。对于’Fe i + 1 或’Fpi + 1中的每一个特征,我们在Me i或Mpi中找到了它的边对应或平面对应。为简洁起见,此处略去寻找这些对应关系的详细过程,但在文献[ 1 ]中有详细说明。[???怎么进行扫描匹配的,难道要完全重合]

3)相对变换:

一个特征与其边缘或平面对应之间的距离可以通过以下公式计算:

其中,k,u,v,w是其对应集合中的特征指标.对于′Fe i + 1中的边缘特征pe i + 1,k,pe i,u和pe i,v是构成Me i中对应边缘线的点。对于平面特征pp i + 1,k在′Fpi + 1中,pp i,u,pp i,v,pp i,w在Mpi中形成相应的平面面片。然后利用Gauss - Newton法通过最小化求解最优变换:

最后,我们可以得到xi和xi + 1之间的相对变换∆Ti,i + 1,它是连接这两个姿态的激光雷达里程计因子:

我们注意到,获得Δ Ti,i + 1的另一种方法是将子关键帧转换为xi的帧。也就是说,我们将Fi + 1匹配到以xi为框架表示的体素图上。这样就可以直接得到真实的相对变换∆Ti,i + 1。由于变换后的特征′Fe i和′Fpi可以多次重复使用,因此我们选择使用Sec中描述的方法。Ⅲ- C.1为其计算效率。

D GPS因子

虽然仅利用IMU预积分和激光雷达里程计因子就可以获得可靠的状态估计和建图,但在长时间导航任务中,系统仍然存在漂移。为了解决这个问题,我们可以引入提供绝对测量的传感器来消除漂移[!!!]。这些传感器包括高度计、指南针和GPS。为了说明这一点,我们讨论了GPS,因为它在实际导航系统中被广泛使用。

当我们接收到GPS测量值时,我们首先使用文献[ 21 ]中提出的方法将其转换到局部笛卡尔坐标系下。在因子图中增加一个新节点后,我们再将一个新的GPS因子与该节点相关联。如果GPS信号与激光雷达帧没有硬件同步,则根据激光雷达帧的时间戳对GPS测量值进行线性内插[?]。

我们注意到,由于激光雷达惯性里程计的漂移增长非常缓慢,在GPS接收可用的情况下,不需要不断添加GPS因子。在实际中,当估计的位置协方差大于接收到的GPS位置协方差时,我们只加入一个GPS因子。

E 回环检测因子

由于因子图的使用,与LOAM和LIOM相比,闭环也可以无缝地集成到所提系统中。为了说明的目的,我们描述并实现了一种朴素但有效的基于欧氏距离的闭环检测方法。我们还注意到,我们提出的框架与其他用于闭环检测的方法兼容,例如[ 22 ]和[ 23 ],它们生成点云描述符并将其用于位置识别。

当因子图中加入新的状态xi + 1时,我们首先在欧氏空间中搜索该图,找到接近xi + 1的先验状态。例如,如图1所示,x3是返回的候选对象之一。然后我们尝试使用扫描匹配将Fi + 1匹配到子关键帧{ F3-m,..,F3,..,F3 + m }。注意,在扫描匹配之前,首先将Fi + 1和过去的子关键帧转化为W。我们得到了相对变换∆T3,i + 1,并将其作为圈闭合因子添加到图中。在本文中,我们选择索引m为12,从一个新的状态xi + 1开始,循环闭包的搜索距离设置为15m。

在实践中,我们发现增加闭环因素是特别有用的纠正漂移在机器人的高度[?为什么要纠正高度,怎么纠正的],当GPS是唯一的绝对传感器可用。这是因为GPS的高程测量是非常不准确的- -在我们的测试中,在没有闭环的情况下,导致高度误差接近100m。

4 实验

我们现在描述一系列实验来定性和定量分析我们提出的框架。本文使用的传感器套件包括VLP16激光雷达、3DM - GX5 - 25 IMU和Reach M GPS。为了验证,我们收集了5个不同规模、不同平台和不同环境的数据集。这些数据集分别被称为旋转、步行、校园、公园和阿姆斯特丹。传感器安装平台如图2所示。前3个数据集是在麻省理工学院校园内使用定制的手持设备采集的。Park数据集是在植被覆盖的公园中使用无人地面车辆( UGV ) - Clearpath Jackal采集的。最后一个数据集,阿姆斯特丹,是通过将传感器安装在船上并在阿姆斯特丹的运河中巡航收集的。这些数据集的具体情况见表1。

我们将提出的LIO - SAM框架与LOAM和LIOM进行了比较。在所有实验中,LOAM和LIOSAM都被强制实时运行。另一方面,LIOM被赋予无限的时间来处理每一个传感器的测量。所有方法均在C + +中实现,并在配备Intel i7-10710U CPU的笔记本电脑上使用Ubuntu Linux中的机器人操作系统( ROS ) [ 24 ]执行。我们注意到,只使用了CPU进行计算,没有实现并行计算。我们的LIO - SAM的实现可在Github1上免费获得。所做实验的补充细节,包括所有测试的完整可视化,可在下面的链接中找到。

[TODO…]

5 结论和讨论

我们提出了LIO - SAM,一种通过平滑和映射实现紧耦合激光雷达惯性里程计的框架,用于在复杂环境中进行实时状态估计和映射。通过在因子图上构造激光雷达-惯性里程计,LIO - SAM特别适用于多传感器融合。额外的传感器测量值很容易作为新的因素纳入框架。提供绝对测量值的传感器,如GPS、罗盘或高度计,可用于消除激光雷达惯性里程计在长时间积累或特征贫乏环境中的漂移。位置识别也可以很容易地纳入到系统中。为了提高系统的实时性,我们提出了一种滑动窗口的方法,将旧的激光雷达帧边缘化进行扫描匹配。在因子图中有选择地添加关键帧,在同时生成激光雷达里程计和闭环因子时,只将新关键帧注册到固定大小的子关键帧集合中。这种在局部尺度而不是全局尺度上的扫描匹配有利于LIO - SAM框架的实时性能。所提出的方法在三个平台上收集的数据集上进行了全面的评估,这些数据集跨越了多种环境。结果表明,与LOAM和LIOM相比,LIO - SAM可以达到相似或更好的精度。未来的工作包括在无人机上测试所提出的系统。

posted on   房东的猫hhhh  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示