【SLAM】之建图Bag->Pcd->OctoMap

上篇中我们得到了3D激光雷达获得的点云图,存在.bag文件中,接下来我们再用上上篇末尾的做法跑loam_velodyne算法,在RVIZ中的显示效果如下:

【SLAM】之建图Bag->Pcd->OctoMap_第1张图片

这时我们用rqt_graph可以看到:

【SLAM】之建图Bag->Pcd->OctoMap_第2张图片

【SLAM】之建图Bag->Pcd->OctoMap_第3张图片


上面三幅图分别是All、Active和Nodes Only时Node和Topic的关系。经过在RVIZ中的测试,发现/laser_cloud_surround这个Topic是构成的全部点云图,我们用下面指令把bag数据转换成pcd格式:

rosrun pcl_ros bag_to_pcd input.bag /laser_cloud_surround pcd

转换成的pcd文件会存到指定的pcd目录下,因为这个不是每一帧实时的点云图,而是逐步积累匹配合成的整体点云图,所以我们选最后一张pcd文件,即是完整建好的点云图。这时我们可以用pcl_viewer显示一下效果:

【SLAM】之建图Bag->Pcd->OctoMap_第4张图片

下一步就是转换pcd文件到octomap,我们使用了一个开源代码(链接),使用C++11规则的g++编译后:

./pcd2octomap 1.pcd 1.bt
获得的bt文件就是octomap文件,然后我们下载 OctoMap,然后用octovis显示一下:

./octovis 1.bt 
如下效果:

【SLAM】之建图Bag->Pcd->OctoMap_第5张图片

我们放大看看:

【SLAM】之建图Bag->Pcd->OctoMap_第6张图片

接下来做地图的重建。

转载请注明: 转自 http://blog.csdn.net/littlethunder/article/details/51955849

你可能感兴趣的:(SLAM)