FAST-LIO2代码解析(二)

感谢FAST-LIO2代码解析(二) - 古月居,代码的注释内容主要参考古月居同志,特此声明,如有异议,欢迎反馈!

目录

0. 简介

1. ImuProcess类定义

2. 构造函数与传入函数

3. IMU初始化

4. IMU更新

5. 雷达去畸变

6. process主程序


0. 简介

在上文中讲述了激光雷达的数据获取以及特征点提取的操作,这一节我们将围绕着IMU_Processing这一节来进行介绍。

1. ImuProcess类定义

在ImuProcess.hpp中,一开始就是完成了对ImuProcess类的申明,里面我们可以看到在imu中最主要的还是角速度和加速度这两项特征,这与视觉SLAM的imu融合非常相似

//判断点的时间是否先后颠倒
const bool time_list(PointType &x, PointType &y) { return (x.curvature < y.curvature); };

/// *************IMU Process and und
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Fast-lio-localization 是一个基于激光雷达的快速定位算法,它使用了基于向量的位姿估计方法,可以在实时性和精确性之间寻找平衡点。下面对其代码进行简要的解析。 1. 首先,该算法使用了 ROS 框架,因此其代码结构和 ROS 节点的结构很相似。在 `src` 目录下,有三个主要的文件:`fast_lio_localization_node.cpp`,`fast_lio_localization.cpp`,`scan_matching.cpp`。 2. `fast_lio_localization_node.cpp` 是 ROS 节点的主文件,它主要负责节点的初始化和运行。在初始化阶段,该文件会读取 ROS 参数,并创建一些 ROS 发布者和订阅者。在运行阶段,它会不断地从激光雷达的话题中获取数据,然后根据这些数据计算机器人的位姿,并将位姿发布到 ROS 的 `/odom` 话题中去。 3. `fast_lio_localization.cpp` 中包含了 Fast-lio-localization 算法的主要逻辑,它定义了一个 `FastLioLocalization` 类,该类主要包含了位姿估计所需要的一些参数和方法。其中最重要的方法是 `update`,它会根据当前的激光雷达数据和上一帧的位姿估计结果,计算出当前的机器人位姿。该方法是 Fast-lio-localization 算法的核心。 4. `scan_matching.cpp` 中包含了激光雷达扫描匹配算法的实现,它定义了一个 `ScanMatcher` 类,该类主要包含了激光雷达扫描匹配算法所需要的一些参数和方法。其中最重要的方法是 `match`,它会根据两帧激光雷达数据之间的差异,计算出两帧之间的位姿变换。该方法是 Fast-lio-localization 算法中实现激光雷达数据匹配的关键。 5. 在 `include` 目录下,有两个头文件:`fast_lio_localization.h` 和 `scan_matching.h`,它们分别定义了 `FastLioLocalization` 和 `ScanMatcher` 类的接口。 6. 在 `launch` 目录下,有一个 `fast_lio_localization.launch` 文件,它定义了 ROS 节点的启动参数,包括激光雷达话题的名称、发布的位姿话题的名称等等。 总的来说,Fast-lio-localization 算法的代码实现相对比较简单,主要是由 `fast_lio_localization_node.cpp`、`fast_lio_localization.cpp` 和 `scan_matching.cpp` 这三个文件组成,其中 `fast_lio_localization.cpp` 实现了 Fast-lio-localization 算法的核心逻辑,而 `scan_matching.cpp` 则实现了激光雷达数据的匹配算法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

他人是一面镜子,保持谦虚的态度

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值