ROS常用库(三)API学习之常用common_msgs(上)

时间:2023-03-10 02:28:12
ROS常用库(三)API学习之常用common_msgs(上)

一、概述

  common_msgs包含其他ROS软件包广泛使用的消息。这些消息包括动作消息(actionlib_msgs),诊断消息(diagnostic_msgs),几何图元(geometry_msgs),机器人导航(nav_msgs)和常用传感器(sensor_msgs),例如激光测距仪,照相机,点云。

  以下仅列举较常用的msgs。

二、actionlib_msgs

  消息类型:actionlib_msgs/GoalID.msg  包括

 time stamp
string id

actionlib_msgs/GoalStatus.msg

 uint8 PENDING    =    # server端尚未处理的goal
uint8 ACTIVE = # server端正在处理的goal
uint8 PREEMPTED = # goal 在开始执行后收到取消请求
uint8 SUCCEEDED = # goal 被 server端成功发送
uint8 ABORTED = # goal 无法实现
uint8 REJECTED = # goal 未经处理就被拒绝
uint8 PREEMPTING = # goal执行后收到取消请求
uint8 RECALLING = # goal 在执行前被取消,但是 action 未确认goal被取消
uint8 RECALLED = # goal在执行前被成功取消
uint8 LOST = # client判断goal丢失而非server判断
GoalID goal_id
uint8 status
string text

二、geometry_msgs

1、geometry_msgs/Pose.msg位姿

 Point position
Quaternion orientation

2、geometry_msgs/Pose2D.msg更推荐使用3D

 float64 x
float64 y
float64 theta

3、geometry_msgs/PoseArray.msg位姿数组

 std_msgs/Header header
geometry_msgs/Pose[] poses

4、geometry_msgs/Quaternion.msg四元数

 float64 x
float64 y
float64 z
float64 w

5、geometry_msgs/Transform.msg坐标转换

 geometry_msgs/Vector3 translation
geometry_msgs/Quaternion rotation

6、geometry_msgs/Twist.msg 线速度和角速度

 geometry_msgs/Vector3 linear
geometry_msgs/Vector3 angular

7、geometry_msgs/Vector3.msg向量,类似于提供一个模板,如用于表示位置

 float64 x
float64 y
float64 z

8、geometry_msgs/Wrench.msg 不常见,但是可能会被用来考虑动力学的约束

 geometry_msgs/Vector3 force  #力
geometry_msgs/Vector3 torque  #力矩

三、nav_msgs

1、nav_msgs / GridCells.msg 二维栅格

 std_msgs/Header header
float32 cell_width
float32 cell_height
geometry_msgs/Point[] cells

2、nav_msgs/GetMap.srv 栅格地图

 nav_msgs/OccupancyGrid map

3、nav_msgs/MapMetaData.msg 地图分辨率、长宽、初始点

 time map_load_time
float32 resolution
uint32 width
uint32 height
geometry_msgs/Pose origin

4、nav_msgs/GetPlan.srv 上为请求,下为响应

geometry_msgs/PoseStamped start起始位姿
geometry_msgs/PoseStamped goal目标位姿
float32 tolerance如果目标被遮挡,可以容忍多少约束
---
nav_msgs/Path plan

5、nav_msgs/OccupancyGrid.msg 栅格地图信息

 std_msgs/Header header
nav_msgs/MapMetaData info
int8[] data

6、 nav_msgs/SetMap.srv 地图初始位姿

 nav_msgs/OccupancyGrid map
geometry_msgs/PoseWithCovarianceStamped initial_pose
---
bool success

7、nav_msgs/Odometry.msg 位姿和线速度角速度

 std_msgs/Header header   #pose是header.frame_id声明的
string child_frame_id #twist是 child_frame_id声明的
 geometry_msgs/PoseWithCovariance pose 
geometry_msgs/TwistWithCovariance twist

8、nav_msgs/Path.msg 路径,其实是很多姿态组成的数组

std_msgs/Header header
geometry_msgs/PoseStamped[] poses

四、结语

常用传感器的sensor_msgs放在(下)讲。