当前位置: 首页 > news >正文

速腾聚创激光雷达复现FAST-LIO

目录

1.软件环境

2.测试执行

3.代码学习

3.1.找主节点代码文件

3.2.整体流程结构

3.3.具体函数理解


记录复现FAST-LIO算法的过程和,代码梳理和理解


1.软件环境

Windows 10(64bits) + VMware 16 Pro + Ubuntu 20.04 + ROS Noetic

FAST-LIO的简化版、注释版。感谢大佬的工作!

zlwang7/S-FAST_LIO: A simplified implementation of FAST_LIO (with Chinese note) (github.com)

PCL 1.10.0,Eigen 3.3.7。

Sophus按照上面代码中的readme过程安装即可,但是会遇到一些问题,一些报错可参考:

VMware虚拟机走主机代理-CSDN博客

SLAM十四讲中Sophus库的make报错 lvalue required as left operand of assignment unit_complex_.real()_sophus lvalue required as left operand of assignme-CSDN博客

Sophus 编译错误_undefined reference to `sophus::so3::so3-CSDN博客 

已解决:动态库加载失败:cannot open shared object file: No such file or directory-CSDN博客 

以上依赖环境实测可以成功运行!

2.测试执行

大佬的代码支持了速腾激光雷达,和我自己使用的雷达一致,所以主要按照这条路进行学习。先用大佬的数据集进行测试和学习,后面用自己录的包进行了运行。

跑自己的包主要修改rslidar.yaml文件

  1. imu_topic和自己IMU传感器的话题一致。
  2. 根据自己的场景修改blind参数,用于滤除距离原点半径blind内的点云。
  3. 由于我的IMU传感器与激光雷达的方向一致,所以没改空间外参就出了还不错的结果。

如果出现无法匹配intensity的报错,参考以下博客修改点云格式:

激光雷达点云格式对比与转换,速腾、Velodyne、Ouster-CSDN博客

3.代码学习

3.1.找主节点代码文件

查看节点关系,只有一个节点,在laserMapping.cpp

rqt_graph

3.2.整体流程结构

读取yaml文件中的配置参数——》定义Subscriber和Publisher——》设置滤波器参数和IMU变量定义——》while循环:

读取IMU数据和点云数据到队列——》打包数据到结构MeasureGroup——》IMU数据预处理,包括IMU初始化,IMU正向传播,反向传播补偿运动失真 ——》迭代更新——》发布里程计、路径和去畸变的点云。

3.3.具体函数理解

待补……

http://www.lryc.cn/news/406802.html

相关文章:

  • k8s核心知识总结
  • 语言模型及数据集
  • linux如何卸载python3.5
  • 【BUG】已解决:TypeError: expected string or bytes-like object
  • 在linux上面用drissionpage自动化遇到反爬?
  • vue3大事件管理系统 === 首页 layout 文章分类页面 -
  • 堆的基本实现
  • Ubuntu上编译多个版本的frida
  • 概率论三大分布
  • Spring系统学习-基于XML的声明式事务
  • iOS中的MVVM设计模式
  • ES中的数据类型学习之ARRAY
  • vue网络请求
  • 几何光学基本原理——费马原理和射线方程
  • OpenCV车牌识别技术详解
  • 解决llama_index中使用Ollama出现timed out 问题
  • Python爬虫技术 第14节 HTML结构解析
  • 【vue3|第18期】Vue-Router路由的三种传参方式
  • ElasticSearch(六)— 全文检索
  • Oracle核心进程详解并kill验证
  • 【BUG】已解决:SyntaxError:positional argument follows keyword argument
  • 怎样在 Nginx 中配置基于请求客户端 Wi-Fi 连接状态的访问控制?
  • 逆向案例二十九——某品威客登录,请求头参数加密,简单webpack
  • 河道高效治理新策略:视频AI智能监控如何助力河污防治
  • [React]如何提高大数据量场景下的Table性能?
  • 基于Vision Transformer的mini_ImageNet图片分类实战
  • JS中map()使用记录
  • JavaWeb学习——请求响应、分层解耦
  • Vue中!.和?.是什么意思
  • 秋招突击——7/22——复习{堆——前K个高频元素}——新作{回溯——单次搜索、分割回文串。链表——环形链表II,合并两个有序链表}