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 在处理点云时,主要依赖 PointXYZI 或 PointXYZINormal 这类结构,其中包含 x、y、z 坐标以及 intensity (反射强度) 等关键字段。MID360 雷达通过 livox_ros_driver2 发布的点云不包含名为 'reflectivity' 的字段,名字为intensity,导致程序在解析时找不到它,所以报错"Failed to find match for field 'reflectivity'"。

解决方法

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

此外需要修改:preprocess.cpp

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

相关推荐
在所不辞兄8 小时前
【零基础学智能仿真-58】Foam-Agent协作与知识检索
人工智能·深度学习·神经网络·机器学习·有限元·仿真计算
老鱼说AI9 小时前
卷积神经网络的反向传播细节
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·超分辨率重建
星辰云-9 小时前
基于机器学习的敦煌壁画修复数据分析系统
大数据·人工智能·机器学习·数据分析·毕设·文物修复·壁画修复
星川皆无恙9 小时前
基于知识图谱的百科问答系统:Django + Neo4j 与实现
人工智能·python·机器学习·自然语言处理·django·知识图谱·neo4j
Raas1009 小时前
MemT-1.0 接入设计指南:硬件核算、三方案选型与写入触发点
大数据·网络·人工智能·机器学习·数据挖掘·ai agent
嘉行文9 小时前
传统机器学习与深度学习的特点与选择
人工智能·深度学习·机器学习
咕泡科技9 小时前
深度学习碾压机器学习?经典机器学习是否真的无用了?从LLM底层逻辑到工业落地全景解析
人工智能·深度学习·机器学习·llm·nlp
饼饼学习空间智能10 小时前
机器人规模化部署平台怎么选?Fleet、VDA 5050、多机器人调度与运营闭环解析
大数据·深度学习·机器学习
新新学长搞科研20 小时前
【会议征稿 | 杭州站】第七届机器学习与计算机应用国际学术会议 (ICMLCA 2026)
人工智能·机器学习·计算机
成都旺小宝科技1 天前
首访决策人没来,AI一客一策两天成交!
大数据·人工智能·机器学习·ffmpeg·语音识别