octomap_server使用--生成二维占据栅格地图和三维概率地图

  octomap_server是ROS中的一个基于octomap的功能包。我在查阅资料的时候,发现所有的介绍、博客等资料都是在介绍其将点云地图转化为基于Octree的OctoMap的功能。由于之前一直在查找三维点云地图转化为二维地图的方法,所以之前试过这个包的三维转换功能后就没有在继续使用,由于之前使用其他方法将二维占据栅格地图生成了,然后准备回过头来再看一下octomap_server的三维概率地图,然后在不经意间就发现了它也有转化为二维地图的功能。。。 。。。

  首先简单介绍下octomap_server的安装

打开一个终端.(ctrl+alt+T)输入下面指令安装octomap.
sudo apt-get install ros-kinetic-octomap-ros #安装octomap
sudo apt-get install ros-kinetic-octomap-msgs
sudo apt-get install ros-kinetic-octomap-server

安装octomap 在 rviz 中的插件
sudo apt-get install ros-kinetic-octomap-rviz-plugins

安装上这个插件以后你可以启动 rviz ,这时候点开Add选项,会多一个octomap_rviz_plugins模组.如下图所示:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第1张图片

其中的OccupancyGrid是显示三维概率地图,也就是octomap地图。OccupancyMap是显示二维占据栅格地图。

可以通过一个launch文件启动octomap_server节点,如下:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第2张图片

其中的param都是可以修改的,具体的修改细节见这里。/octotree_map修改为自己的PointCloud2点云即可。

运行此launch文件会有如下话题:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第3张图片

 打开rviz,在里面添加OccupancyGrid,OccupancyMap,Map显示选项,显示话题选择octomap_full或者octomap_binary。

注意:param中的frame_id要和rviz的Fixed Frame一致。

Map:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第4张图片

OccupancyMap:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第5张图片

OccupancyGrid:

octomap_server使用--生成二维占据栅格地图和三维概率地图_第6张图片

最后放一下北达科他大学( North Dakota State University)cloud_to_map学习代码:https://download.csdn.net/download/sru_alo/12277545 

源文件github地址我找不到了

 

 

 

 

你可能感兴趣的:(导航规划)