LIO-SAM: 紧耦合的激光与惯导里程计方案

2024-08-25 06:18

本文主要是介绍LIO-SAM: 紧耦合的激光与惯导里程计方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点云PCL免费知识星球,点云论文速读。

标题:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

作者:Tixiao Shan, Brendan Englot, Drew Meyers, Wei Wang, Carlo Ratti, and Daniela Rus

来源:分享者

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。

摘要

本文提出了一种基于smoothing和mapping的激光雷达和惯导的紧耦合框架LIO-SAM,实现了高精度、实时的移动机器人轨迹估计和地图构建。LIO-SAM将激光雷达惯性里程计建立在因子图之上,允许来自不同来源的相对和绝对测量值(包括闭合环路)作为因子纳入系统中。由惯性测量单元(IMU)预积分估计的运动会使点云失真,为激光雷达里程计优化提供初始预测值。所得到的激光里程计被用来估计IMU的偏差。为了确保实时的高性能,将旧的激光雷达扫描边缘化以优化姿态,而不是将激光雷达扫描与全局地图匹配。局部尺度的扫描匹配而不是全局尺度的扫描匹配能够显著地提高了系统的实时性能,关键帧的选择性引入也是如此,提出了一种有效的滑动窗口方法,将新的关键帧配准到一组固定大小的先验“子关键帧”中,并在不同尺度和不同环境下从三个平台收集的数据集上进行了广泛的评估。

开源代码:https://github.com/TixiaoShan/LIO-SAM.git

主要内容

本文的主要贡献如下:

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

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

•提出的框架通过各种规模、车辆和环境的测试得到验证。

LIO-SAM的系统结构。该系统接收来自3D激光雷达、IMU和可选GPS的输入。引入四种因子来构建因子图:(a)IMU预积分因子,(b)lidar里程计因子,(c)GPS因子,(d)环路闭合因子。

系统概述。系统接收来自3D激光雷达、IMU和GPS的传感器数据。试图利用这些传感器的观测值来估计机器人的状态及其轨迹。这种状态估计问题可以表述为最大后验概率(MAP)问题。使用因子图来模拟这个问题,因为它比贝叶斯网络更适合进行推理。

实验

本文使用的传感器套件包括Velodyne VLP16激光雷达、 MicroStrain 3DM-GX5-25IMU和Reach M GPS。收集了5个不同规模、不同平台和不同环境的数据集。想·x

传感器安装平台

数据集列表

LOAM 和 LIO-SAM建图的结果

LOAM, LIOM, 和and LIO-SAM建图结果

总结

提出了LIO-SAM一种通过平滑和地图实现稠密激光雷达惯性里程表的框架,用于在复杂环境中进行实时状态估计和地图构建。LIO-SAM通过在因子图上建立激光雷达惯性里程仪,特别适合于多传感器融合。附加传感器测量可以很容易地作为新的因素纳入框架。提供绝对测量的传感器,如GPS、罗盘或高程值,可用于消除在长时间内积累的激光雷达惯性里程计漂移,或在恶劣环境中累积的激光雷达惯性里程计漂移。位置识别也可以很容易地融入系统,为了提高系统的实时性,提出了一种将旧激光雷达帧边缘化的滑动窗口方法用于扫描匹配。关键帧有选择地添加到因子图中,并且当生成lidar里程表和环路闭合因子时,新关键帧仅配准到固定大小的子关键帧集。这种以本地尺度而不是全局尺度匹配的扫描有助于LIO-SAM框架的实时性能。该方法在三个平台上收集的数据集上对所提出的方法进行了全面的评估。结果表明,与LOAM和LIOM相比,LIO-SAM具有相似或较好的精度。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:群主微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

这篇关于LIO-SAM: 紧耦合的激光与惯导里程计方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1104780

相关文章

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

利用Python实现可回滚方案的示例代码

《利用Python实现可回滚方案的示例代码》很多项目翻车不是因为不会做,而是走错了方向却没法回头,技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多,本文从实际项目出发,教你如何用Py... 目录描述题解答案(核心思路)题解代码分析第一步:抽象缓存接口第二步:实现两个版本第三步:根据 Fea

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

Python解决雅努斯问题实例方案详解

《Python解决雅努斯问题实例方案详解》:本文主要介绍Python解决雅努斯问题实例方案,雅努斯问题是指AI生成的3D对象在不同视角下出现不一致性的问题,即从不同角度看物体时,物体的形状会出现不... 目录一、雅努斯简介二、雅努斯问题三、示例代码四、解决方案五、完整解决方案一、雅努斯简介雅努斯(Janu

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp