官方文档:nav_msgs Msg/Srv Documentation
调用到的geometry_msg参考:ROS中geometry_msgs常用消息类型_马微微?!的博客-CSDN博客
nav_msgs里面所有的消息数据类型:
//支持节点之间服务和消息通讯
GridCells
MapMetaData
OccupancyGrid
Odometry
Path
Odometry(里程计信息):
1、std_msgs/Header header //包含坐标系和时间戳信息
uint32 seq #存储原始数据类型
time stamp #存储ROS中的时间戳信息
string frame_id #用于表示和此数据关联的帧,在坐标系变化中可以理解为数据所在的坐标系名称
2、string child_frame_id
3、geometry_msgs/PoseWithCovariance pose
geometry_msgs/Pose pose
geometry_msgs/Point position
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation
float64 x
float64 y
float64 z
float64 w
float64[36] covariance
4、geometry_msgs/TwistWithCovariance twist
geometry_msgs/Twist twist
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
float64[36] covariance
MapMetaData (地图元数据)
//地图的基本特征信息,包括地图的宽度、高度、分辨率等
time map_load_time //地图加载的时间
float32 resolution //地图分辨率,单位:m/像素
uint32 width //地图宽度,单位:横向上的像素数
uint32 height //地图高度,单位:纵向上的像素数
geometry_msgs/Pose origin //地图位姿数据
geometry_msgs/Point position //偏移量
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation //欧拉角
float64 x
float64 y
float64 z
float64 w
OccupancyGrid(地图栅格数据)
//地图栅格数据,一般会在rviz中以图形化的方式显示。
std_msgs/Header header
uint32 seq
time stamp
string frame_id
nav_msgs/MapMetaData info //调用地图元数据
time map_load_time //地图加载的时间
float32 resolution //地图分辨率,单位:m/像素
uint32 width //地图宽度,单位:横向上的像素数
uint32 height //地图高度,单位:纵向上的像素数
geometry_msgs/Pose origin //地图位姿数据
geometry_msgs/Point position //偏移量
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation //欧拉角
float64 x
float64 y
float64 z
float64 w
int8[] data
//地图内容数据,数组长度 = width * height,每个像素对应一个int值(用p值计算)
//这个int值如何根据p值计算参考http://wiki.ros.org/map_server