提取ROS bag文件中LiDAR点云数据为pcd格式

这段代码是用于从ROS bag文件中提取LiDAR点云数据并保存为PCD格式的。

提取ROS bag文件中LiDAR点云数据为pcd格式_第1张图片

1. 命令行

rosrun pcl_ros bag_to_pcd 2022-04-21-21-02-29.bag /rslidar_points_32 lidar_points_80_lines

详细解释如下:

1. `rosrun pcl_ros bag_to_pcd

这是运行一个ROS节点`bag_to_pcd`,它来自`pcl_ros`包。这个节点具有从bag文件中提取点云并转换为PCD的功能。

2. `2022-04-21-21-02-29.bag`

这是我们想要提取点云的数据的bag文件。后缀名为.bag。

3. `/rslidar_points_32`

这是bag文件中发布LiDAR点云数据的ROS topic。从bag信息来看,这个topic发布了sensor_msgs/PointCloud2类型的消息。

4. `lidar_points_80_lines`

这是输出PCD文件的名称前缀。实际的PCD文件会以这作为前缀命名,并添加数字后缀。比如lidar_points_80_lines0000.pcd。

5. 整体流程

bag_to_pcd节点会订阅bag文件中指定的topic(/rslidar_points_32),接收到的PointCloud2数据,转换为PCD格式,并保存到以lidar_points_80_lines为前缀的文件。这样我们就可以得到文件夹下有序编号的所有的PCD文件。

所以这段代码的作用就是从bag文件中提取点云数据,并以PCD格式保存到文件中。参数设定了输入bag文件,topic名称,输出文件名前缀。


2. 提取过程如下:

提取ROS bag文件中LiDAR点云数据为pcd格式_第2张图片

3. 提取结果如下:

提取ROS bag文件中LiDAR点云数据为pcd格式_第3张图片

对结果进行可视化如下: 

提取ROS bag文件中LiDAR点云数据为pcd格式_第4张图片

提取ROS bag文件中LiDAR点云数据为pcd格式_第5张图片

你可能感兴趣的:(LiDAR)