前言
ROS栅格地图格式
在了解了ROS地图消息包的数据结构后(链接在上),本文将编写一个节点,发布地图消息包,看看在RViz中显示是什么效果。
一、准备
1、为了简单起见,发布一个两行四列的地图
2、为了便于观测,只对地图第一行进行赋值(注意,第一行是从下往上数),第二行保持空白。
3、根据ROS定义的栅格占据值,有障碍物占据的栅格值为100,没有障碍物的为0,未知状态的为-1.
4、进行如下赋值,则0和1号格有障碍物,2号格没有,3号格未知。
二、实现步骤
三、操作
1、输入cd catkin_ws1/src/ 进入工作空间的src目录
2、输入catkin_create_pkg map_pkg rospy roscpp nav_msgs创建软件包map_pkg
3、输入code .打开VScode
4、在map_pkg软件包的src目录下创建节点代码文件map_pub_node.cpp
5、在map_pub_node.cpp节点文件中,写入如下代码
#include <ros/ros.h>// 引入ROS和导航消息
#include <nav_msgs/OccupancyGrid.h>
int ma