三维点云地图构建方法

博主由于有逐帧的点云(.bag)需要累加成点云地图,环境:Ubuntu14.04 ROS:indigo,具体步骤如下:

  1. 将点云通过逐帧的累加形成点云地图,即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

  2. 运行loam_SLAM package:

    roslaunch loam_velodyne loam_velodyne.launch

    打开另一个终端,运行本地的点云数据,即:

    rosbag play ~/velodyne.bag

  3. 记录正在运行的点云数据,

    在运行上面的命令的同时,打开另一个终端,运行:

    rosbag record -o out /velodyne_points #一边SLAM,一边记录运行累加完成的点云数据,生成一个.bag文件

  4. 解析生成的.bag文件,变成.pcd文件

    rosrun pcl_ros bag_to_pcd input.bag /laser_cloud_surround pcd #将上一步生成的.bag文件转换成逐帧的.pcd文件,最后一帧就是我们要的.pcd文件。

  5. Ubuntu 下用pcl_viewer查看

    pcl_viewer last.pcd #显示最后一帧.pcd文件

后记:

如果有激光雷达,可以记录自己的点云数据  

记录数据:rosbag record -O out(#点云名称) /velodyne_points(#rostopic)

查看rostopic: rostopic list -v

原文地址:https://www.cnblogs.com/hgl0417/p/8276917.html