三维点云地图构建方法
博主由于有逐帧的点云(.bag)需要累加成点云地图,环境:Ubuntu14.04 ROS:indigo,具体步骤如下:
-
将点云通过逐帧的累加形成点云地图,即SLAM方法,我们采用loam_SLAM方法构建地图,具体安装方法为:loam_slam的详细介绍见:http://blog.csdn.net/nksjc/article/details/76401092; https://zhuanlan.zhihu.com/p/29719106;
cd ~/ROS_WORKSPACE/src # ROS_WORKSPACE自己的ROS工作空间。
git clone https://github.com/laboshinl/loam_velodyne.git
cd ~/ ROS_WORKSPACE
catkin_make -DCMAKE_BUILD_TYPE=Release
source ~/ROS_WORKSPAC/devel/setup.bas
-
运行loam_SLAM package:
roslaunch loam_velodyne loam_velodyne.launch
打开另一个终端,运行本地的点云数据,即:
rosbag play ~/velodyne.bag
-
记录正在运行的点云数据,
在运行上面的命令的同时,打开另一个终端,运行:
rosbag record -o out /velodyne_points #一边SLAM,一边记录运行累加完成的点云数据,生成一个.bag文件
-
解析生成的.bag文件,变成.pcd文件
rosrun pcl_ros bag_to_pcd input.bag /laser_cloud_surround pcd #将上一步生成的.bag文件转换成逐帧的.pcd文件,最后一帧就是我们要的.pcd文件。
-
在Ubuntu 下用pcl_viewer查看
pcl_viewer last.pcd #显示最后一帧.pcd文件
后记:
如果有激光雷达,可以记录自己的点云数据
记录数据:rosbag record -O out(#点云名称) /velodyne_points(#rostopic)
查看rostopic: rostopic list -v