本文主要分享一下在运行fast_lio2时遇到的问题以及解决办法
Fast-LIO2 启动后 RVIZ 不显示点云?最全排查与解决记录(Livox Mid-360 为例)
1. 问题背景
在 ROS 环境下使用 Livox Mid-360 雷达运行 Fast-LIO2 算法,执行 roslaunch fast_lio mapping_mid360.launch 后,所有节点(/laserMapping、/livox_lidar_publisher2、/rviz)均正常启动,但在 RVIZ 中看不到任何点云。
这通常是 数据链路、坐标系或配置参数 出现问题。本文记录从排查到最终解决的全过程,为遇到同类问题的开发者提供参考。
2. 排查命令
在开始之前,请先确认以下命令的输出:
bash
rosnode list # 查看所有节点
rostopic list # 查看所有话题
rostopic info /livox/lidar # 查看激光话题的类型及订阅关系
rostopic echo /cloud_registered -n1 # 检查FAST-LIO2输出的地图话题
rostopic hz /livox/lidar # 检查雷达数据频率
3. 如果节点正常,但RVIZ 无点云
例如我这里的节点列表显示:
/laserMapping
/livox_lidar_publisher2
/rosout
/rviz
说明 SLAM 节点与驱动节点均已启动且没有崩溃。于是重点排查 数据流通 和 RVIZ 配置。
4.解决方案:修改 xfer_format 参数
Livox 驱动通过 xfer_format 控制发布的消息类型:
| xfer_format | 消息类型 | 说明 |
|---|---|---|
| 0 | sensor_msgs/PointCloud2 | 标准点云格式,可直接在 RVIZ 预览 |
| 1 | livox_ros_driver2::CustomMsg | Fast-LIO2 所必须的格式 |
| 2 | pcl::PointXYZI | PCL 点云格式 |
因此需要将 xfer_format 改为 1。
4.1 定位配置文件
问题在于,直接打开 mapping_mid360.launch 可能找不到这个参数。
实际上它在 Livox 驱动的 launch 文件 中定义,例如 msg_MID360.launch(位于 livox_ros_driver2/launch/)。在 mapping_mid360.launch 中通常会通过 <include> 或 <node> 引用它。
4.2 修改方式
打开驱动的 launch 文件,可以看到类似内容:
下面是我的文件路径,msg_MID360.launch就是我们要修改的文件

我要修改的是第六行,xfer_format

<arg name="xfer_format" default="0"/> <!-- 将默认值改为 1 -->
<!-- ... -->
<param name="xfer_format" value="$(arg xfer_format)"/>
最后再重新运行就可以看见点云
767

被折叠的 条评论
为什么被折叠?



