从零入门激光SLAM(十九)——松耦合与紧耦合到底怎么区分

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群Q:772356582,欢迎大家加入讨论。

一、松耦合与紧耦合

1.1松耦合(Loosely Coupled)

在松耦合系统中,将传感器的算法看成黑箱,只考虑输出,不考虑内在性质。松耦合的方法是分别处理来自LiDAR和IMU的数据,然后在高层次上进行融合。具体来说:
1.独立处理:LiDAR和IMU的数据分别被独立处理。LiDAR提供位置和环境特征信息,而IMU提供短时间内的姿态和运动信息。
2.融合层:独立处理后的数据在高层次的融合层进行结合。例如,可以使用卡尔曼滤波器来融合两者的数据,从而提供更精确的位置和姿态估计。

  • 优势
    1.实现简单:松耦合的方法相对简单,因为它们通常将LiDAR和IMU的数据独立处理,然后在高层次上进行融合。这种方式简化了算法设计和实现。
    2.模块化强:松耦合架构下,LiDAR和IMU可以作为独立的模块来开发和调试,方便单独优化和维护。
    3.灵活性高:由于LiDAR和IMU是独立处理的,如果需要替换或升级某一传感器,系统整体影响较小,具有较好的灵活性。
  • 劣势
    1.精度较低:由于数据融合是在高层次进行的,可能导致信息融合不够充分,影响定位和地图构建的精度。
    2.时序同步问题:LiDAR和IMU数据独立处理,可能会存在时序同步问题,从而影响系统的整体性能。
    3.鲁棒性差:对环境变化和传感器误差的鲁棒性较差,因为独立处理可能无法充分利用各传感器的优势来补偿弱点。

    1.2 紧耦合(Tightly Coupled)

    紧耦合的方法则是更深层次的融合,直接在传感器数据的低层次进行整合。具体来说:
    1.联合处理:LiDAR和IMU的数据在一个共同的滤波器(如扩展卡尔曼滤波器或图优化方法)中联合处理。LiDAR的扫描数据和IMU的测量数据一起输入到滤波器中。
    2.互补校正:IMU提供高频率的短时间内精确运动估计,LiDAR则提供低频率但更精确的位置信息和环境特征。两者的数据互相补充和校正,从而提高整体系统的精度和鲁棒性。
  • 优势
  1. 高精度:紧耦合方法在低层次上融合LiDAR和IMU数据,能够更好地利用两者的互补优势,显著提高系统的定位和地图构建精度。
  2. 时序同步好:紧耦合方法中,LiDAR和IMU的数据融合更紧密,可以更好地解决时序同步问题,提升整体性能。
  3. 鲁棒性强:由于充分利用了LiDAR和IMU的互补特性,系统对环境变化和传感器误差的适应能力更强。
  • 劣势
  1. 实现复杂:紧耦合方法需要在算法设计上更复杂的处理,包括更复杂的数据融合算法和更高的计算要求,实现难度较大。
  2. 开发周期长:由于系统复杂度增加,开发和调试时间较长,对团队的技术要求更高。
  3. 调试困难:在紧耦合系统中,各部分高度依赖,出现问题时调试和定位问题会更加困难。

    二、松耦合LIO的实现

    原理:激光雷达里程计的结果作为状态变量,旋转R、位置p的观测值
    框架:
  4. 同步IMU与LIDAR数据
  5. IMU运动方程得到预测值
  6. 利预测值对点云去除畸变
  7. 预测值作为初始值进行迭代优化,最后得到观测值
  8. 更新到卡尔曼滤波器


    松耦合 LIO 系统的代码实现主要分为三个部分:
    第一部分,需要将IMU 数据与雷达数据同步。
    第二部分,用ESKF对每个IMU 数据的预测值处理雷达的运动补偿。
    第三部分,应该从ESKF 中拿到预测的位姿数据,交给里程计算法,再将里程计配准之后的位姿放入ESKF中此外。
    LIO的松耦合与上一节IMU与GNSS的组合导航相似,因为只考虑激光雷达里程计的输出,本质为对R,p的直接观测。

    三、紧耦合LIO的实现

    3.1 步骤

  • 同步IMU与LIDAR数据
  • IMU运动方程得到预测值
  • 利预测值对点云去除畸变
  • 预测值作为初始值计算残差
  • 观测残差和先验残差迭代更新直至收敛
  • 更新到卡尔曼滤波器

详情请见...

 从零入门激光SLAM(十九)——松耦合与紧耦合到底怎么区分 - 古月居 (guyuehome.com)

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是从开始的三维激光雷达SLAM教程的步骤: 1. 搭建激光SLAM的运行环境:确保你的计算机上已经安装了ROS(Robot Operating System)和Gazebo仿真环境。如果没有安装,你可以从ROS官方网站下载并按照官方文档进行安装。 2. 运行数据集在Gazebo中构建仿真地图并添加动态障碍物:使用Gazebo仿真环境创建一个虚拟的三维地图,并添加动态障碍物模拟真实环境。你可以使用ROS提供的相应软件包和插件来实现这一步骤。 3. 采集激光数据:使用仿真小车或者真实的激光雷达设备采集激光数据。你可以使用ROS提供的激光雷达驱动程序来接收和处理激光数据。 4. A-LOAM详解,算法和代码:深入了解A-LOAM算法的原理和实现细节,并查看相应的代码。A-LOAM是一种常用的三维激光SLAM算法,它可以用于在实时环境中建立地图并进行定位和导航。 5. Lego-LOAM详解,算法和代码:除了A-LOAM,你还可以了解Lego-LOAM算法的原理和实现细节,并查看相应的代码。Lego-LOAM是另一种常用的三维激光SLAM算法,它也可以用于实时建图和定位导航。 在进行教程中的实践时,请确保按照每个步骤的指导执行操作,并逐步完成搭建、仿真、数据采集、算法理解和代码实现的过程。你可以参考教程中提供的代码,也可以自己编写代码进行实践。 请注意,这仅是一个从开始的三维激光雷达SLAM教程的简要概述。对于每一步的具体细节和更多深入的解释,请参考教程中提供的引用资料和相关文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

桦树无泪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值