pcd 地图转 栅格地图
Posted 怪皮蛇皮怪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pcd 地图转 栅格地图相关的知识,希望对你有一定的参考价值。
前言
最近在弄地图,所以把正在做的东西记录下来
本篇方法使用到了
autoware (软件)(可以替代)
octomap (库)
安装octomap
安装完后 在终端输入*** roslaunch octo*** + tab键 会自动补全octomap一系列的东西代表安装成功
有了octomap之后就可以通过pcd地图转换成栅格地图了
接下来就是怎么将pcd地图发布出去让octomap接收并转换了
自己发布pcd地图
使用autowre发布pcd地图
打开autoware 找到 map 选项,然后第一行的ref寻找需要发布的pcd文件,然后点左边的发布
如果没有装autoware就不要单独装autoware,用上面的方法
我用这方法是因为电脑有autoware
autoware发布之后会有个points raw 的话题,frame id 是map
pcd 转换成栅格地图
写个launch文件,roslaunch 一下就好
如果是自己发布的话题,需要注意:
- frame id 需要修改为对应的发布的话题的frame id
- remap from 同理
- pointcloud max/min z 是需要转换成栅格地图的z轴区间,根据需要修改
<launch>
<node pkg="octomap_server" type="octomap_server_node" name="octomap_server">
<!-- resolution in meters per pixel -->
<param name="resolution" value="0.05" />
<!-- name of the fixed frame, needs to be "/map" for SLAM -->
<param name="frame_id" type="string" value="map" />
<!-- max range / depth resolution of the kinect in meter -->
<param name="sensor_model/max_range" value="100.0" />
<param name="latch" value="true" />
<!-- max/min height for occupancy map, should be in meters -->
<param name="pointcloud_max_z" value="2" />
<param name="pointcloud_min_z" value="0" />
<!-- topic from where pointcloud2 messages are subscribed -->
<remap from="/cloud_in" to="/points_map" />
</node>
</launch>
运行完后有如下提示
rviz查看
rviz查看需要安装插件
sudo apt-get install ros-kinetic-octomap-rviz-plugins
左下角add添加topic
在by display type中选择occupancygrid
topic选择/octomap——full
然后等一会就好了
以上是关于pcd 地图转 栅格地图的主要内容,如果未能解决你的问题,请参考以下文章