三维点云地图转二维栅格地图

三维点云地图转二维栅格地图的实现需要1.地图转换工具——octomap;2.栅格地图保存工具——map_server;3.点云发布和转换工具启动launch文件。

安装octomap

sudo apt-get install ros-melodic-octomap-ros
sudo apt-get install ros-melodic-octomap-server

安装octomap在rviz中的插件

 sudo apt-get install ros-melodic-octomap-rviz-plugins

再打开RViz,点击Add时可以看到增加了octomap-rviz-plugins相关的模块。

sudo apt-get install ros-melodic-map-server

或者直接

sudo apt-get install ros-melodic-navigation

1.运行三维地图发布程序

如果是存为pcd文件的点云地图,需要自己写点云文件读取和发布的代码,通过ROS的publish以话题形式发布出来,所发布的点云地图topic在下一步中被使用。最好一定频率发布,方便octomap获取数据。

一般的SLAM系统具备地图发布功能,也可以获取到相应的地图topic,供octomap_server使用。

2.启动octomap_server

和一般的ROS工具包启动方式一样,rosrun或者roslaunch。由于地图转换涉及到一些参数的调整,最好配置成launch文件来启动。

进入octomap_server的launch文件夹(此步可选,也可以放在其他地方)
cd /opt/ros/melodic/share/octomap_server/launch

创建launch文件
sudo touch octomap_server.launch

如果无权限,则给launch文件加可写权限(可选)
sudo chmod a+w octomap_server.launch

填写文件内容

<launch>
  <!--启动的节点-->
  <node pkg="octomap_server" type="octomap_server_node" name="octomap_server">

     <!--栅格分辨率-->
    <param name="resolution" value="0.1" />

    <!--世界坐标系话题,一般为map-->
    <param name="frame_id" type="string" value="/map" />

    <param name="sensor_model/max_range" value="1000.0" />
    <param name="latch" value="true" />

     <!--截取的三维点云范围-->
    <param name="pointcloud_max_z" value="0.8" />
    <param name="pointcloud_min_z" value="-0.5" />

    <param name="graound_filter_angle" value="3.14" />

     <!--订阅的点云消息名称 PointClout2,即上一步发布出来的点云topic-->
     <!-- cloud_in是octomap默认的输入话题,做一下映射-->
    <remap from="cloud_in" to="your_map_topic" />
  </node>

</launch>

3.RViz显示结果
启动RViz后,点击”add”,分别添加”Map”、”OccupancyGrid”与”OccupancyMap”,并把其话题名依次改为”/projected_map”、”octomap_full”与”octomap_binary”,结合点云发布程序就可以看了。

4.保存二维地图

rosrun map_server map_saver map:=/projected_map -f [PATH_TO_FILE]/mymap

/projected_map是octomap_server默认发布的名字;
[PATH_TO_FILE]/mymap是转换后的栅格地图保存的路径。

over!

Original: https://blog.csdn.net/Wenyue_Wang/article/details/125243957
Author: NarutoKAKA
Title: 三维点云地图转二维栅格地图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/597902/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球