大疆激光雷达录制的bag包无法解析出topic怎么办?
摘要:分析了大疆livox hap激光雷达录制的bag包内的/livox/lidar无法用rviz显示和逐帧提取的原因,并给出了解决思路,最后将编写好的c++源代码开源。
1 软硬件环境
ubuntu 18.04
ros1 melodic
大疆激光雷达livox hap
2 出现问题的操作步骤
使用live_ros_driver2中的msg_HAP.launch发布点云topic
使用rosbag record -a录制了bag包
3 问题描述
使用rosbag play xx.bag的同时,使用rviz查看点云,发现竟然topic里面没有这个poitcloud2
使用rostopic list查看,却能看到/livox/lidar这个topic
使用rosrun pcl_ros bag_to_pcd xxx.bag /livox/lidar./xxx无法提取点云
4 原因分析
这是因为大疆激光雷达的数据格式封装了一下,具体的文件格式可以看
livox_ros_driver2下面的msg文件夹
它有两个文件,分别是
CustomMsg.msg
CustomPoint.msg
看这两个文件就知道自定义点云的数据格式了。
5 解决的方法
其实就是按照对应的数据格式来解析即可。
具体的步骤就是调用这个driver2的数据格式,然后按照规定的格式进行解析。
源代码开源,有需要的请下载。
https://gitee.com/tms320vc5402/livox_hap_bag_to_pcd