首页 > 其他分享 >【LVIO-SLAM】Mars 实验室研究:FAST-LIO、FAST-LIO2、MLCC、HBA、Livox Camera Calibration

【LVIO-SLAM】Mars 实验室研究:FAST-LIO、FAST-LIO2、MLCC、HBA、Livox Camera Calibration

时间:2024-09-29 19:47:47浏览次数:9  
标签:MLCC Livox LIO2 LiDAR 算法 Camera FAST 位姿

【LVIO-SLAM】Mars实验室 : 多传感器融合分享笔记

1. 小结

以下是FAST-LIOFAST-LIO2MLCCHBALivox Camera Calibration(livox_camera_calib)、VoxelMapLI-init 这些算法的特点及其发展历程的梳理与总结。

1. FAST-LIO

FAST-LIO(Fast LiDAR Inertial Odometry) 是一种高效的基于LiDAR和IMU的紧耦合里程计算法。该算法的核心特点在于其高精度和高实时性,主要通过将LiDAR的点云数据与IMU的惯性数据紧耦合,利用卡尔曼滤波器实时更新位姿估计。

  • 特点

    • 紧耦合滤波器:利用扩展卡尔曼滤波器(EKF)将LiDAR点云和IMU数据紧耦合,精确估计位姿。
    • 高效点云处理:使用稀疏化和自适应方法减少点云处理的计算复杂度,确保算法在实时性要求较高的应用场景中表现出色。
    • 鲁棒性:FAST-LIO能够有效处理动态环境下的位姿估计问题,适应不同场景的变化。
  • 发展历程
    FAST-LIO的出现是为了解决传统LiDAR里程计在复杂环境中的实时性和精度问题。它在早期LiDAR SLAM算法的基础上,通过创新的滤波器设计与高效点云处理方法,大幅提升了运算效率,适合无人驾驶和机器人导航等需要实时定位的应用。

2. FAST-LIO2

摘要 - 本文介绍了FAST-LIO2:一个快速、健壮且多功能的激光雷达标称融合里程计框架。基于一个高效的紧耦合迭代卡尔曼滤波器,FAST-LIO2有两个关键创新点,使得快速、稳健且准确的激光雷达导航(和制图)成为可能。第一,它直接将原始点云注册到地图上(随后更新地图,即制图),而不提取特征。这使得系统能够利用环境中的微妙特征,从而提高精度。消除手工制造的特征提取模块也使其自然适应不同扫描模式的新型激光雷达;第二项主要创新是通过增量k-d树数据结构ikd-Tree来维护地图,该结构支持增量更新(即点插入、删除)和动态再平衡。与现有的动态数据结构(八叉树、R*树、nanoflann k-d树)相比,ikd-Tree在整体性能上实现了更优的表现,同时自然支持树的下采样。我们在各种开放激光雷达数据集的19个序列上进行了全面的基准比较。FAST-LIO2在比其他最先进的激光雷达标称导航系统更低的计算负荷下,实现了一致的更高精度。还在具有小视场的固态激光雷达上进行了各种真实世界的实验。总体而言,FAST-LIO2在计算效率上(例如,在大型室外环境中实现高达100 Hz的里程计和制图)、鲁棒性(例如,在旋转速度高达1000度/秒的复杂室内环境中可靠的位姿估计)、多功能性(即,适用于多线旋转和固态激光雷达、无人机和手持平台,以及基于Intel和ARM的处理器)方面表现出色,同时仍然实现了比现有方法更高的精度。我们在Github上开源了系统FAST-LIO2和数据结构ikd-Tree的实现。
FAST-LIO2 是FAST-LIO的升级版本,相较于前者,它进一步提高了系统的鲁棒性和可扩展性,尤其在多种复杂环境中表现更为稳定。

  • 特点

    • 直接法点云处理:不再依赖特征提取,直接在点云上进行运动估计,大幅提高了对弱纹理或稀疏环境的适应性。
    • 更广泛的传感器支持:除了常规的LiDAR和IMU,还能够适应不同种类的LiDAR设备,如固态LiDAR等,尤其是支持低成本LiDAR传感器,如Livox。
    • 计算效率优化:通过进一步减少点云数据的冗余和冗余计算,提高了整体的计算效率,确保了在高频率传感器下依旧保持实时性。
  • 发展历程
    FAST-LIO2 进一步优化了数据处理流程,简化了特征提取的步骤,使其能够更加稳定地运行在不同种类的LiDAR设备上,尤其适用于低成本的激光雷达设备,在保证实时性的同时提高了精度。

3. MLCC(Multi-LiDAR Calibrated Consistency)

MLCC 是一种多激光雷达间的校准一致性算法,旨在通过优化使得多传感器(主要是多LiDAR系统)之间的校准结果在时间和空间上保持一致性。

  • 特点

    • 多LiDAR校准:MLCC能够同时处理多个LiDAR传感器的数据,确保它们在相同参考系下精确对齐,提高系统的全局一致性。
    • 时间同步与空间对齐:该算法对多个LiDAR数据进行时间同步和空间校准,并确保整个过程中数据的一致性,不会出现位姿估计上的偏移。
  • 发展历程
    MLCC 是为了应对使用多个激光雷达时出现的数据不一致问题而设计的,尤其是在无人驾驶领域,多LiDAR系统的应用越来越广泛,MLCC确保了系统在复杂环境下的稳定性和准确性。

4. HBA(Hierarchical Bundle Adjustment)

HBA 是一种层次化的束调整算法,主要用于SLAM系统中的位姿优化与场景建模。

  • 特点

    • 层次化的优化结构:HBA通过分层的优化方法,在局部与全局层面上进行位姿与地图的联合优化。局部优化提高了精度,全局优化减少了累积误差。
    • 高效的计算性能:该算法通过稀疏优化技术和层次化的数据结构,减少了优化问题的规模,从而提高了计算效率。
    • 适应大规模场景:HBA能够处理大规模环境下的位姿调整问题,适合复杂场景中的建图和优化。
  • 发展历程
    HBA的提出是为了解决传统束调整算法在大规模场景下的计算复杂性问题。它通过层次化的设计,将优化问题分解为多个子问题进行处理,大幅提升了SLAM系统在大规模场景中的适应性。

5. Livox Camera Calibration(Livox_camera_calib)

这是一个用于校准Livox固态LiDAR和摄像头之间外参的工具,主要用于多传感器融合中激光雷达与视觉传感器的配准。

  • 特点

    • LiDAR-相机外参校准:该算法能够精确校准LiDAR与摄像头之间的相对位姿,即外参,从而确保两者数据的空间对齐。
    • 高鲁棒性与精度:在复杂环境下依然能够提供高精度的位姿校准,适用于无人驾驶、增强现实等需要多传感器融合的应用。
    • 易用性:该工具集成了自动化校准流程,减少了人工干预的需要,提高了使用的便捷性。
  • 发展历程
    Livox_camera_calib 的出现是为了满足低成本LiDAR与视觉系统的需求,尤其是基于Livox LiDAR的系统。该工具使得这些设备能够在多传感器融合的场景中快速部署,并确保数据的一致性。

6. VoxelMap

VoxelMap 是一种基于体素(Voxel)的地图表示方法,主要用于SLAM系统中的环境建模和导航。

  • 特点

    • 体素表示:利用体素结构将环境表示为稀疏的三维点云数据,可以有效处理大规模环境下的数据。
    • 内存效率高:VoxelMap使用稀疏体素网格,减少了内存消耗,并提高了查询效率,适合实时建图应用。
    • 适应动态场景:该算法可以动态更新地图,适应环境的变化,是移动机器人实时导航中的重要技术。
  • 发展历程
    VoxelMap 提供了一种高效的三维环境表示方法,尤其适用于在稀疏点云和大规模环境下的建图任务。其稀疏表示和高效更新机制使得它在实时导航应用中表现出色。

7. LI-init(LiDAR-Inertial Initialization)

LI-init 是一种用于LiDAR与IMU联合系统的初始化方法,能够在LiDAR-IMU SLAM系统启动时快速估计出初始状态。

  • 特点

    • 快速初始化:LI-init能够在短时间内估计出系统的初始位姿和速度信息,为后续的LiDAR-IMU融合提供良好初始条件。
    • 稳健性:即使在初始运动条件复杂的情况下,LI-init也能提供较为精确的初始状态估计。
    • 适用于多种传感器组合:该方法可以应用于不同类型的LiDAR和IMU设备,增强了SLAM系统的适用性。
  • 发展历程
    LI-init的提出是为了应对LiDAR-IMU系统启动时的初始化问题,特别是在复杂环境下。通过快速估计初始状态,它能够提高整个系统的启动速度和鲁棒性。

这些算法(FAST-LIO, FAST-LIO2, MLCC, HBA, Livox_camera_calib, VoxelMap, LI-init)各自在SLAM和多传感器融合领域中具有重要作用,从实时性、精度、鲁棒性到系统的可扩展性和轻量化,它们共同推动了SLAM技术的持续进步。

2. Mars成果笔记

Code
paper
B站视频

1. fast_lio2

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. mlcc hba livox_camera_calib VoxelMap LI-init

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. LVIO 融合算法R2LIVE

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4. LVIO 融合算法R3LIVE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. ImMesh

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:MLCC,Livox,LIO2,LiDAR,算法,Camera,FAST,位姿
From: https://blog.csdn.net/Darlingqiang/article/details/142447308

相关文章

  • fastreport 数字转大写
    fastreport数字转大写在FastReport中,将数字转换为大写可以通过自定义函数实现。以下是一个简单的FastReport自定义函数示例,用于将数字转换为大写金额(仅支持到亿位)FunctionNumToCapital(ByValvalueAsDouble)AsStringDimdigits()AsString={"零","壹","贰",......
  • FastReport报表设计(仔细看)
    FastReport报表设计  2011-06-1616:56:19|  分类: 系统开发|举报|字号 订阅        下载LOFTER我的照片书  |  目录5.1前言5.2基本概念及操作5.3报表设计与范例5.4常用功能及函数5.5报表设计常用技巧5.1前言汽车业务管理系......
  • Delphi FastReport报表常用方法
    1.       单据中有多行数据,但预览时只显示部分内容,或者打印内容行与行之间有间隔FASTREPOR属性中:设置RowCount=0,StartNewPage为False;Stretched为True.说明: RowCount:控制总共打印几行;RowCount=0是打印全部;StartNewPage:打印前先跳页;每页打印一行;Stretch:表身自动......
  • Delphi fastreport 加天数
    Delphifastreport加天数在Delphi中使用FastReport加天数可以通过在报告脚本中使用TfrxExpressionFunction.Create来创建一个自定义函数,或者直接在报告脚本中使用现有的日期函数。以下是一个在FastReport脚本中添加天数的例子:varAddedDate:TDateTime;begin//......
  • 征程 6E/M 快速上手实战 Sample-Camera
    01Camera模块简述本文档简单介绍Camera子系统软件架构、列出已支持的Camera模组,并提供相应的配置说明,同时引用Sensor点亮调试方法介绍一颗新模组接入的步骤,再按根据重要功能按专题介绍接入方案限制、EMB接收等,并最终汇总平台已有单板的Camera接入使用说明,用于指导征......
  • 宝塔Nginx开启fastcgi_cache分别缓存WordPress移动和pc端
    FastCGI_cache是Nginx的缓存模块,能够从Nginx层面实现网页静态化,有效提高网站的并发能力、减少PHP运行时间和请求响应时间,大大提升页面加载速度。Fastcgi_cache能够直接在nginx层面提供缓存内容,而无需涉及PHP或WordPress,在没有第三方广告情况下加速效果很不错!网上不少此教程,但是没......
  • fastjson 反序列化
    fastjaon反序列化fastjson简介Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。具有执行效率高的特点,应用范围广泛。使用demo一、将类转换为json这里一般用的函数就是JSON.toJS......
  • [ABC274G] Security Camera 3
    [ABC274G]SecurityCamera3给你一个\(n\timesm\)的网格图,\(n,m\le300\),每个空地上可以放任意多个任意方向的监控,一个监控视野覆盖对应方向最长连续空地,问监控覆盖所有空地最小化监控数量。对于一个极长的连续空地,我们一定是在边边放置一个监控,而且两边是一样的,因此我们只......
  • 【Bevy实战】2D场景下Camera实践
    Bevy,一个用Rust构建的令人耳目一新的简单数据驱动游戏引擎。如果你是一名Rust开发者,同时又对游戏开发比较感兴趣,那么Bevy一定是你会接触甚至是使用的游戏引擎。当然,本文关注的重点并不是来介绍Bevy,以及它的一些基本概念,关于这块的内容读者完全可以到Bevy的官网、Github主页进行学......
  • Camera ITS场景0_test_solid_color_test_pattern测试失败
    也会导致cts中CtsSensorPrivacyTestCases模块中两个单项报错,testOpStartsRunningAfterStartedWithSensoryPrivacyEnabledtestOpGetsRecordedAfterStartedWithSensorPrivacyEnabled这两项metadata加上MTK_SENSOR_TEST_PATTERN_MODE_OFF,MTK_SENSOR_TEST_PATTERN_MODE_BLACK就......