ROS中解析bag包中的点云文件到pcd格式

       在ROS中使用bag包来记录运行过程中各个topic中的message,对于这些message,我们可以使用

rosbag play *.bag

的方式进行播放,但如果要截取bag包中的某一些数据,并逐一对其进行处理,那么我们就需要的bag进行解析。

       ros中的点云文件为PointCloud2,我们将一个用velodyne64线雷达采集的bag包中的点云文件转换为我们能够使用pcl_viewer直接显示的pcd点云文件。

       我们先对我们的bag内有什么样的数据进行显示。输入以下命令:

rosbag info *.bag

就可以显示bag包中记录的话题及其记录的消息的类型。截图如下:

     上面的信息显示,在这个bag包中我们记录很多topic的数据以及这些topic的消息类型,以及对应的有多少帧消息。在上图中,除了我们需要的PointCloud2消息类型外还有其他不同的消息,例如GPS的数据,这些数据也是十分重要的。对于这个包,目前我们只解析其中的点云文件,这是因为ros中自带将bag包中点云文件解析的工具。

      输入以下命令:

rosrun pcl_ros bag_to_pcd 3.bag /velodyne_points pcd

     上述命令中,三个参数分别为bag包名,需要解析的节点名称和解析后存储的位置。解析完成后,我们可以在pcd文件夹中看到我们所需的每一帧点云文件。

使用pcl_viewer,我们可以打开查看pcd的数据,我能打开第一个pcd文件,显示如下:

猜你喜欢

转载自blog.csdn.net/Mr_yangsir/article/details/94559945
今日推荐