FAST_LIO2(2): 运行记录

0. 前情回顾

打算通过FAST_LIO2为建图提供里程计。硬件基于:jetson, mid360。

FAST_LIO2(1):安装记录-CSDN博客

1. 启动命令

通过如下命令行启动FAST_LIO2

bash 复制代码
cd <ros2_ws>
. install/setup.bash # use setup.zsh if use zsh
ros2 launch fast_lio mapping.launch.py config_file:=avia.yaml

2. 前置步骤

在运行上面的启动命令之前,需要修改一些配置。否则,会看到一个什么都没有的rviz。

第一步、修改配置文件为:mid360.yaml

注意原脚本中的启动配置为:avia.yaml。

我使用的是mid360, 数据格式为msg::PointCloud2。因此需要修改配置文件为:mid360.yaml

第二步、修改lidar_type参数

阅读源码:laserMapping.cpp,发现数据格式与配置类型相关。

将其中的lidar_type修改为4

bash 复制代码
preprocess:
    lidar_type: 4

3. 解决报错: Failed to find 'reflectivity'

启动FAST_LIO2后,弹出rviz2并在屏幕输出日志。遇到报错:

bash 复制代码
[fastlio_mapping-1] Failed to find match for field 'reflectivity'.

错误原因

这个错误是因为你使用的 FAST-LIO2 版本默认期望点云数据包含特定的字段,而你手中的 MID360 雷达点云数据结构与它不匹配造成的。FAST-LIO2 在处理点云时,主要依赖 PointXYZIPointXYZINormal 这类结构,其中包含 xyz 坐标以及 intensity (反射强度) 等关键字段。MID360 雷达通过 livox_ros_driver2 发布的点云不包含名为 'reflectivity' 的字段,名字为intensity,导致程序在解析时找不到它,所以报错"Failed to find match for field 'reflectivity'"。

解决方法

打开preprocess.h,将reflectivity修改为intensity

此外需要修改:preprocess.cpp

回到文章开头,运行启动命令即可,rviz视图如下

相关推荐
城事漫游Molly3 小时前
用AI提炼研究问题与假设的完整提示词——从模糊想法到精准RQ/Hypothesis,AI辅助精化全流程
人工智能·机器学习·prompt·ai for science·博士生必读·应用语言学·研究问题
workflower3 小时前
室内外配送机器人-应用路径
人工智能·机器学习·设计模式·矩阵·自动化
三品吉他手会点灯6 小时前
嵌入式机器学习 - 学习笔记1.0.2 - 学习路线导览:从机器学习基础到 TinyML应用
人工智能·笔记·嵌入式硬件·学习·机器学习
lisw057 小时前
人-智能体协同的信任研究!
人工智能·机器学习·软件工程
科技圈观察7 小时前
GEO技术深度解析:RAG检索增强如何重塑品牌在AI搜索中的认知权重
人工智能·机器学习
三品吉他手会点灯8 小时前
嵌入式机器学习 - 学习笔记1.0.1 - 从 Alexa 到 TinyML:为什么机器学习开始跑进微控制器?
人工智能·笔记·嵌入式硬件·学习·机器学习
大鱼>8 小时前
模型公平性与偏差检测:AI伦理实战指南
人工智能·深度学习·算法·机器学习
AI科技星8 小时前
乖乖数学全域超复数统一场论:未来可能形成的历史地位
人工智能·机器学习·金融·乖乖数学·全域数学
学究天人8 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷3.2)
线性代数·算法·机器学习·数学建模·动态规划·抽象代数·拓扑学