Ros规划主要结构体解析
导航
1.位姿PoseStamped
Header_{ uint32_t seq; ros::Time stamp; basic_string frame_id; }
Quaternion_{ double x; double y; double z; double w; } Pose_{ Point_ position; Quaternion_ orientation; } PoseStamped{ Header_ header; Pose_ pose; }
2.栅格地图OccupancyGrid
MapMetaData_{ ros::Time map_load_time; float resolution; uint32_t width; uint32_t height; Pose_ origin; } OccupancyGrid_{ Header_ header; MapMetaData_ info; vector<int8_t> data; }
3.Path(nav_msgs::Path path;)
Path_{ Header_ header; vector<PoseStamped_> poses; }
定位
1.PoseWithCovarianceStamped
表示带有时间标签和参考坐标的估计位姿。
std_msgs/Header header; geometry_msgs/PoseWithCovariance pose;
{
//其中PoseWithCovariance: geometry_msgs/Pose pose; float64[36] covariance; //其中geometry_msgs/Pose: geometry_msgs/Point position; geometry_msgs/Quaternion orientation;
}
2.geometry_msgs/TwistStamped
std_msgs/Header header geometry_msgs/Twist twist // Twist 速度(1)geometry_msgs/Vector3 linear 线速度 // (2)geometry_msgs/Vector3 angular角速度
3.sensor_msgs/NavSatFix
#include <sensor_msgs/NavSatFix.h> std_msgs/Header header; //head.stamp:指此测量的ROS时间 //header.frame_id:是卫星接收器报告的参考帧,通常是天线的位置。 sensor_msgs/NavSatStatus status; //# 卫星定位状态信息 /*int8 STATUS_NO_FIX = -1 # 无法确定位置 int8 STATUS_FIX = 0 # 未能精准定位 int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation int8 status # Bits defining which Global Navigation Satellite System signals were # used by the receiver. uint16 SERVICE_GPS = 1 uint16 SERVICE_GLONASS = 2 uint16 SERVICE_COMPASS = 4 # includes BeiDou. uint16 SERVICE_GALILEO = 8 uint16 service */ float64 latitude;//# 纬度[度],正赤道以北; float64 longitude;//# 经度[度],正数在本初子午线的东部,负的是西。 float64 altitude;//高度# Altitude [m]. Positive is above the WGS 84 ellipsoid float64[9] position_covariance; //#位置协方差 uint8 position_covariance_type; uint8 COVARIANCE_TYPE_UNKNOWN=0 uint8 COVARIANCE_TYPE_APPROXIMATED=1 uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN=2 uint8 COVARIANCE_TYPE_KNOWN=3
未完待续。。。