1
首先使用 rosbag info bag_file_name 命令查看bag的信息,其中 velodyne_msgs/MultipleScan 是点云的数据类型,接下来的教程就是将该消息转为pcd文件存储下来。
liuhang@liuhang:~/Documents/Momenta/data$ rosbag info fak353-wudaokou3-2018-09-19-16-18-38.bag path: fak353-wudaokou3-2018-09-19-16-18-38.bag version: 2.0 duration: 10:35s (635s) start: Sep 19 2018 16:18:38.54 (1537345118.54) end: Sep 19 2018 16:29:14.46 (1537345754.46) size: 2.2 GB messages: 133500 compression: none [2118/2118 chunks] types: hdmap_msgs/gpfpd [79959cc25a3a784a3dee0fb4c115f99c] hdmap_msgs/imu [9e0d04711510b9ab03c3f6e2797b9f8f] velodyne_msgs/MultipleScan [4f7a45d3843582ca955654166d29d6dd] topics: /sensor/gpfpd 63573 msgs : hdmap_msgs/gpfpd /sensor/imu 63574 msgs : hdmap_msgs/imu /velodyne_multi_scans 6353 msgs : velodyne_msgs/MultipleScan
2
使用 catkin_make 命令编译/home/liuhang/Documents/Momenta/catkin_ws/src/velodyne文件夹(称为站),该文件夹有多个子文件夹(package包)。
编译时关于PCL库的
libproj-dev报错,解决方法使用安装libvtk5-dev库, sudo apt-get install libvtk5-dev 参考
https://askubuntu.com/questions/871485/point-cloud-library-pcl-basic-tutorial-cmake-and-make-errors-on-ubuntu-16-04/872522编译时关于yaml-cpp的报错,解决方法是重新编译yaml的时候 cmake -DBUILD_SHARED_LIBS=ON .. 参考https://blog.csdn.net/u011736771/article/details/79130049
3
编译成功后,在终端运行 roslaunch velodyne_pointcloud momenta-three-lidar-cloud.launch fixed_frame_id:=car
4
打开另一个终端,运行 rosbag play fak353-wudaokou3-2018-09-19-16-18-38.bag
5
再打开一个终端,运行 rosrun rviz rviz
依次选择rviz中的 Add、By Topic、PointCLoud2,再将Fixed Frame 更换为car。
6
再打开一个终端,运行 rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points