ROS中geometry_msgs消息类型、nav_msg消息

ROS中geometry_msgs消息类型、nav_msg消息

参考: 链接: https://blog.csdn.net/ganbaoni9yang/article/details/50060343.

官方文档:http://docs.ros.org/en/api/geometry_msgs/html/index-msg.html

目录

  • ROS中geometry_msgs消息类型、nav_msg消息
    • 1.geometry_msgs Msg 消息类型
      • geometry_msgs/Point
      • geometry_msgs/Pose
      • geometry_msgs/Pose2D
      • geometry_msgs/PoseWithCovariance
      • geometry_msgs/Quaternion
      • geometry_msgs/TransformStamped
    • 2.nav_msg Msg/Srv 消息类型
      • nav_msgs/Odometry
    • 3.diagnostic_msgs Msg/Srv消息类型
      • diagnostic_msgs/DiagnosticArray
    • 4.sensor_msgs Msg/Srv消息类型
      • sensor_msgs/Imu

1.geometry_msgs Msg 消息类型

节点之间仅支持使用消息通讯

### Message types
Accel
AccelStamped
AccelWithCovariance
AccelWithCovarianceStamped
Inertia
InertiaStamped
Point
Point32
PointStamped
Polygon
PolygonStamped
Pose
Pose2D
PoseArray
PoseStamped
PoseWithCovariance
PoseWithCovarianceStamped
Quaternion
QuaternionStamped
Transform
TransformStamped
Twist
TwistStamped
TwistWithCovariance
TwistWithCovarianceStamped
Vector3
Vector3Stamped
Wrench
WrenchStamped

geometry_msgs/Point

float64 x
float64 y
float64 z

geometry_msgs/Pose

geometry_msgs/Point position # 调用的上面的Point
	float64 x
	float64 y
	float64 z
geometry_msgs/Quaternion orientation #调用的下面的Quarternion
	float64 x
	float64 y
	float64 z
	float64 w

geometry_msgs/Pose2D

	float64 x
	float64 y
	float64 theta

geometry_msgs/PoseWithCovariance

Header header
    uint32 seq
    time stamp
    string frame_id
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
#这表示具有不确定性的自由空间中的姿势。
#6x6协方差矩阵的行主要表示
#方向参数使用固定轴表示。
#按顺序,参数为:
 # (x,y,z,绕X轴旋转,绕Y轴旋转,绕Z轴旋转)
 # geometry_msgs/Pose pose #这个又用的是Pose的消格式
 # float64[36] covariance #表示协方差

geometry_msgs/Quaternion

以四元数形式表示自由空间中的方向

float64 x
float64 y
float64 z
float64 w

geometry_msgs/TransformStamped

这表示从坐标框架header.frame_id到坐标框架child_frame_id的转换
此消息主要由tf软件包使用。

包含内容:

std_mags/Header header 
    uint32 seq #存储原始数据类型
    time stamp #存储ROS中的时间戳信息
    string frame_id #用于表示和此数据关联的帧,在坐标系变化中可以理解为数据所在的坐标系名称
string child_frame_id   # the frame id of the child frame
geometry_msgs/Transform transform
    geometry_msgs/Vector3 translation # x,y,z 位置
        float64 x
        float64 y
        float64 z
    geometry_msgs/Quaternion rotation #四元数
        float64 x
        float64 y
        flaot64 z
        float64 w
        */

以后用一点补一点吧 真题内容太多了 官网里都有
官方文档:http://docs.ros.org/en/api/geometry_msgs/html/index-msg.html

2.nav_msg Msg/Srv 消息类型

支持节点之间服务和消息通讯

### Message types
Path
MapMetaData
OccupancyGrid
GridCells
Odometry
### Service types
GetPlan
GetMap

nav_msgs/Odometry

Header header
    uint32 seq
    time stamp
    string frame_id
string child_frame_id
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
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

很多消息都是用的geometry里面的msg
比如这句话

nav_msgs::Odometry odom;
odom.pose.pose.position.x = x_pos_;

odom的消息包含:

Header header
string child_frame_id
geometry_msgs/PoseWithCovariance pose
geometry_msgs/TwistWithCovariance twist

官网: http://wiki.ros.org/navigation/Tutorials/RobotSetup/Odom#The_nav_msgs.2FOdometry_Message

第一个.pose用的 geometry_msgs/PoseWithCovariance pose
第二个.pose用的 geometry_msgs/Pose pose
第三个.position用的 geometry_msgs/Point position
第四个.x用的geometry_msgs/Point position中的float64 x
需要一层层耐心查看

3.diagnostic_msgs Msg/Srv消息类型

节点通讯支持消息和服务

## Message types
DiagnosticArray
DiagnosticStatus
KeyValue
## Service types
AddDiagnostics
SelfTest

diagnostic_msgs/DiagnosticArray

std_msgs/Header header
	uint32 seq ##序列id
	time stamp ##秒和纳秒计时
	string frame_id ##TF_frame
diagnostic_msgs/DiagnosticStatus[] status
	byte OK=0
	byte WARN=1
	byte ERROR=2
	byte STALE=3
	byte level
	string name
	string message
	string hardware_id
	diagnostic_msgs/KeyValue[] values
	## 与状态关联的值数组
		string key
		string value        

4.sensor_msgs Msg/Srv消息类型

节点通讯支持消息和服务

### Message types
NavSatStatus
JointState
CameraInfo
PointCloud2
Imu
NavSatFix
LaserScan
PointCloud
Range
PointField
Image
RegionOfInterest
CompressedImage
ChannelFloat32
### Service types
SetCameraInfo

sensor_msgs/Imu

Header header
    uint32 seq
    time stamp
    string frame_id
geometry_msgs/Quaternion orientation
    float64 x
    float64 y
    float64 z
    float64 w
float64[9] orientation_covariance
geometry_msgs/Vector3 angular_velocity
    float64 x
    float64 y
    float64 z
float64[9] angular_velocity_covariance
geometry_msgs/Vector3 linear_acceleration
    float64 x
    float64 y
    float64 z
float64[9] linear_acceleration_covariance

持续补充中

你可能感兴趣的:(ros,c++,面向对象编程)