test.bag 中有一個話題 /hdl64/velodyne_packets,消息類型爲 velodyne_msgs/VelodyneScan(不是ros內置消息)
需要將其轉化爲point_cloud2形式的消息。
1、下載並編譯velodyne的ros驅動(用catkin_make_isolated編譯,而不是catkin_make)
mkdir -p ~/new_workspace/src
cd ~/new_workspace/src
git clone https://github.com/ros-drivers/velodyne.git
cd ..
catkin_make_isolated
source ~/new_workspace/devel_isolated/setup.bash
2、啓動轉換節點(有問題就再執行一下上面的 source 命令)
rosrun nodelet nodelet standalone velodyne_pointcloud/CloudNodelet _calibration:="/home/alan/alan_yaml/velodyne_lidar_VLP32db.yaml"
該節點默認訂閱 /velodyne_packets 話題,消息類型爲 velodyne_msgs/VelodyneScan 。轉換完發佈到 /velodyne_points 話題,消息類型爲 sensor_msgs/PointCloud2
標定文件 velodyne_lidar_VLP32db.yaml 格式:
lasers:
- {dist_correction: 0.0, dist_correction_x: 0.0, dist_correction_y: 0.0, focal_distance: 0.0,
focal_slope: 0.0, horiz_offset_correction: 0.0, laser_id: 0, rot_correction: -0.024434609527920613,
vert_correction: -0.4363323129985824, vert_offset_correction: 0.0}
...
...
num_lasers: 32
distance_resolution: 0.004
3、回放 bag 文件,並將話題名字remap爲 /velodyne_packets
rosbag play test.bag /hdl64/velodyne_packets:=/velodyne_packets
4、在rviz中顯示,並選擇合適的座標系
參考: