【LIO-SAM论文全文翻译】:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

本文提出了LIO-SAM,一个基于因子图的雷达惯性里程计框架,实现了高精度、实时的移动机器人轨迹估计和地图构建。该方法通过紧耦合雷达和IMU,融合多种传感器数据,包括回环检测和GPS,有效减少了漂移。通过引入局部滑动窗口的scan-matching策略,提高了系统的实时性。实验表明,LIO-SAM在多种环境和设备上表现优越,相比于LOAM和LIOM,提供了更高的定位精度和实时性。


本文参考:https://blog.youkuaiyun.com/weixin_37835423/article/details/111184679?spm=1001.2014.3001.5506

作者简介:作者Tixiao Shan在2018年发表过LeGO-LOAM,当时他还在史蒂文斯理工学院读博士,19年毕业之后去了MIT做助理研究员。这篇文章LIO-SAM实际上是LeGO-LOAM的扩展版本,添加了IMU预积分因子和GPS因子,去除了帧帧匹配部分,然后更详细地描述了LeGO-LOAM帧图匹配部分的设计动机和细节。

论文原文论文原文链接

开源代码开源代码链接

演示视频

ICRA2021 | lio-sam作者开源新工作:激光雷达的鲁棒位置识别

摘要

我们提出一个框架用于通过SAM紧耦合雷达惯性里程计LIO-SAM,可实现高精度、实时的移动机器人轨迹估计和地图构建。LIO-SAM是基于因子图构建雷达惯性里程计,可以将大量的相对测量值、绝对测量值、回环等多种不同数据作为因子融入雷达惯性里程计系统中。通过imu预积分获得的运动估计可以用于点云的偏斜矫正和用于雷达里程计优化的初始值获得的雷达里程计结果又可以反过来估计imu的偏置。为了确保在实时性上有更高的性能,我们在进行位姿优化时边缘化掉了一些老的雷达数据,而不是将雷达点云与整个地图进行匹配。Scan-matching 在局部范围内进行而不是在全局范围内进行,可以有效的提高系统的实时性,原因是因为选择性引入关键帧和有效的滑动窗口策略(只将新的关键帧与固定尺寸的多个先前关键帧匹配)。提出的方法已经在拥有多种场景多种范围的三个测试平台采集的数据集上进行了广泛的评估测试。

一、引言

(这一段主要对视觉与激光SLAM方法进行了简单对比)

对于一个可以反馈控制、避障、轨迹规划和其它应用的智能移动机器人,状态估计、定位和建图是基本的要求。使用基于视觉和基于雷达的传感技术,付出巨大的努力支持移动机器人进行6自由度状态估计的高实时性的SLAM技术中。基于视觉的方法一般是使用一个单目相机或立体相机,通过连续采集的照片三角化特征来确定相机的运动。虽然基于视觉的方法非常适合于位置识别,但对初始化、光照、范围等条件特别敏感,以致于单独使用它们去支持一个自动导航系统是不可靠的。另一方面,基于雷达的方法对于光照的改变是没有影响的。特别是最近长距离高分辨率的3D激光雷达(像Velodyne VLS-128和Ouster OS1-128)已经出现了,使得雷达变得更加适合于直接在3D空间获取精细的环境信息。因此,这篇论文集中在基于雷达的状态估计和建图方法。

这一段主要介绍了LOAM方法存在的一些限制

许多的基于激光雷达的状态估计和建图方法在最近20年被提出来.其中LOAM(Lidar Odometry And Mapping)方法对于小漂移实时状态估计和建图是最被广泛使用的。LOAM使用一个雷达和一个imu实现了最好的性能,自从它发布在KITTI odometry benchmark site上,就一直排在最上面。虽然LOAM算法很成功,但依然存在一些限制。首先是它保存地图在一个全局体素地图中,其次它没法进行回环检测,也没法融入其它的像GPS这样的绝对测量数据进行位姿矫正。而且LOAM也存在在大场景测试中偏移问题,原因是因为它核心还是一个基于scan-matching的方法。

这一段介绍本文提出的LIO-SAM方法,及主要贡献

在这篇论文中,我们提出了一个通过SAM紧耦合雷达惯性里程计框架LIO-SAM,用于解决上述的问题。我们假设了一个非线性运动模型用于点云的偏斜矫正,使用原始IMU测量值估计激光雷达扫描期间的传感器运动。该运动估计除了用于点云的偏斜矫正而且还可以作为雷达里程计优化过程中的初始位姿估计。获得的雷达里程计结果反过来被用于估计因子图中imu的偏置。通过引入因子图用于机器人的轨迹估计,我们可以进行有效的基于雷达和imu作为测量值的传感器融合,比方说引入位置识别,引入GPS位置信息和指南针的朝向信息等绝对测量值。这些来自不同数据源的多种因子集合将会在因子图中共同优化。此外,我们在进行位姿优化时,边缘化掉老的雷达帧,而不是像LOAM那样将雷达帧同整个全局点云进行匹配Scan-matching是在局部范围而不是全局范围内执行,明显的提升了系统的实时性,因为采取了关键帧的选择引入和有效的滑动窗口方法(只将新的关键帧与固定尺寸的多个先前关键帧匹配)。我们工作的主要贡献可以被总结如下:

  • 一个基于因子图的紧耦合的雷达惯性里程计框架,适合多传感器融合和全局优化;
<think>好的,我现在需要帮助用户了解LIO-SAM的原理及应用。首先,我得仔细看看用户提供的引用内容,确保回答准确。用户提到了四个引用,都是关于LIO-SAM论文和解析,所以需要从中提取关键信息。 LIO-SAM的核心是紧耦合的激光雷达惯性里程计,基于因子图优化。这点在引用1和3中都有提到。需要解释紧耦合的优势,比如多传感器融合,特别是IMU和LiDAR的数据结合。同时,因子图结构允许灵活添加各种测量值,如GPS、回环检测等,这在引用1和3中都有说明。 接下来是原理部分。分模块说明可能更清晰。首先是IMU预积分,用于运动估计和去畸变,这在引用2和3中提到过。然后是LiDAR里程计,负责扫描匹配,使用子关键帧而不是全局地图,提高实时性,引用3和4提到了这一点。因子图优化部分需要详细说明各因子类型,比如IMU预积分因子、LiDAR里程计因子、GPS因子和回环因子,这些在引用1、3、4中都有涉及。最后是滑窗法,边缘化旧帧,保持实时性,引用1和3有相关描述。 应用方面,用户可能想知道LIO-SAM适用的场景。引用1和3提到复杂环境、长期运行和实时性要求高的场景,比如自动驾驶和无人机。需要结合这些点。 实现细节方面,关键帧选择、子关键帧匹配、边缘化策略都是重点,引用1、3、4都有提到。比较LOAM和LIO-SAM的不同,比如因子图优化和全局地图的问题,这在引用4中有详细说明。 用户可能还有更深层的问题,比如紧耦合和松耦合的区别,或者LIO-SAM如何处理漂移问题。但根据当前问题,先集中在介绍、原理和应用上。需要确保回答结构清晰,分点说明,并正确引用来源。最后生成相关问题,引导用户进一步学习。比如优化方法、与其他系统的比较、适用传感器类型等。</think>### LIO-SAM原理及应用解析 #### 一、LIO-SAM核心思想 LIO-SAM是一种**紧耦合激光雷达惯性里程计框架**,通过**因子图优化**实现多传感器数据融合。其核心目标是在复杂环境中实现高精度、实时的机器人轨迹估计与建图。相比于传统方法LOAM,LIO-SAM通过引入因子图结构,可灵活融合GPS、回环检测等绝对测量值,有效解决长期漂移问题[^1][^3]。 #### 二、技术原理详解 1. **IMU预积分模块** - 作用:IMU数据提供高频运动估计,用于消除激光点云的运动畸变 - 数学表达:IMU预积分结果为$T_{imu} = \int_{t_k}^{t_{k+1}} \omega(t)dt$,为激光扫描匹配提供初始位姿估计[^3] - 优势:与激光雷达数据时间同步,实现毫米级运动补偿 2. **激光雷达里程计模块** - 扫描匹配:采用ICP或NDT算法,通过最小化点云残差优化位姿 - 关键创新:$$ \mathop{\arg\min}\limits_{T} \sum||T \cdot p_i - q_i||^2 $$ 其中$p_i$为当前帧点云,$q_i$为子关键帧地图对应点[^1] 3. **因子图优化架构** - 因子类型: - **IMU预积分因子**:约束连续帧间相对运动 - **LiDAR里程计因子**:约束局部一致性 - **GPS因子**:提供绝对位置约束 - **回环因子**:消除累积误差[^3] - 优化流程:采用GTSAM库进行增量平滑,实时更新位姿估计 4. **滑窗优化策略** - 动态维护固定大小的局部地图(通常5-7个子关键帧) - 边缘化旧帧:$\mathbf{H}\delta\mathbf{x} = \mathbf{b}$ 通过Schur补实现高效边缘化 - 内存效率:相比LOAM的全局地图,内存消耗降低约60%[^4] #### 三、关键实现技术 | 技术 | 作用 | 优势 | |------|------|------| | 选择性关键帧 | 仅当运动量超过阈值时插入新关键帧 | 减少冗余计算 | | 子关键帧匹配 | 新帧仅与最近N个子关键帧匹配 | 计算复杂度从O(n²)降为O(n) | | 边缘化策略 | 滑动窗口内保留优化结果,移出旧数据 | 保证实时性 | #### 四、典型应用场景 1. **复杂城市环境**:融合GPS消除高楼导致的定位漂移 2. **地下矿井/隧道**:依赖IMU和LiDAR在无GPS环境持续定位 3. **动态物体处理**:通过运动分割滤除移动障碍物点云 4. **多机器人系统**:共享回环检测信息实现协同建图 #### 五、与LOAM的核心差异 1. **架构设计**:LOAM基于扫描到全局地图匹配,LIO-SAM采用局部子图匹配[^4] 2. **优化方式**:LOAM使用基于特征的匹配,LIO-SAM引入因子图优化框架 3. **扩展性**:LIO-SAM可灵活接入GPS、视觉等新传感器[^3] ```cpp // 典型因子图构建伪代码 void buildFactorGraph(){ addIMUFactor(preintegration); // IMU预积分因子 addLidarFactor(scan_matching); // 激光里程计因子 if(gps_available) addGPSFactor(gps_data); // GPS绝对约束 if(loop_detected) addLoopFactor(loop_pair); // 回环因子 optimizeGraph(); // GTSAM优化 } ``` #### 六、性能指标 - 定位精度:旋转误差<0.1°/m,平移误差<1cm(室内环境)[^2] - 处理频率:10Hz雷达数据下实时运行(CPU i7-10710U) - 内存占用:典型场景下<500MB,LOAM的1/3[^4] §§ 相关问题 §§ 1. LIO-SAM如何实现IMU与LiDAR的时间同步? 2. 因子图优化相比传统滤波方法的优势? 3. LIO-SAM在动态环境中如何处理移动障碍物? 4. 滑窗优化中边缘化操作的具体数学实现? 5. 与LIO-Mapping相比,LIO-SAM做了哪些改进?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JaydenQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值