一、概述
common_msgs包含其他ROS軟件包廣泛使用的消息。這些消息包括動作消息(actionlib_msgs),診斷消息(diagnostic_msgs),幾何圖元(geometry_msgs),機器人導航(nav_msgs)和常用傳感器(sensor_msgs),例如激光測距儀,照相機,點雲。
以下僅列舉較常用的msgs。
二、actionlib_msgs
消息類型:actionlib_msgs/GoalID.msg 包括
1 time stamp 2 string id
actionlib_msgs/GoalStatus.msg
1 uint8 PENDING = 0 # server端尚未處理的goal 2 uint8 ACTIVE = 1 # server端正在處理的goal 3 uint8 PREEMPTED = 2 # goal 在開始執行后收到取消請求 4 uint8 SUCCEEDED = 3 # goal 被 server端成功發送 5 uint8 ABORTED = 4 # goal 無法實現 6 uint8 REJECTED = 5 # goal 未經處理就被拒絕 7 uint8 PREEMPTING = 6 # goal執行后收到取消請求 8 uint8 RECALLING = 7 # goal 在執行前被取消,但是 action 未確認goal被取消 9 uint8 RECALLED = 8 # goal在執行前被成功取消 10 uint8 LOST = 9 # client判斷goal丟失而非server判斷 11 GoalID goal_id 12 uint8 status 13 string text
二、geometry_msgs
1、geometry_msgs/Pose.msg位姿
1 Point position 2 Quaternion orientation
2、geometry_msgs/Pose2D.msg更推薦使用3D
1 float64 x 2 float64 y 3 float64 theta
3、geometry_msgs/PoseArray.msg位姿數組
1 std_msgs/Header header 2 geometry_msgs/Pose[] poses
4、geometry_msgs/Quaternion.msg四元數
1 float64 x 2 float64 y 3 float64 z 4 float64 w
5、geometry_msgs/Transform.msg坐標轉換
1 geometry_msgs/Vector3 translation 2 geometry_msgs/Quaternion rotation
6、geometry_msgs/Twist.msg 線速度和角速度
1 geometry_msgs/Vector3 linear 2 geometry_msgs/Vector3 angular
7、geometry_msgs/Vector3.msg向量,類似於提供一個模板,如用於表示位置
1 float64 x 2 float64 y 3 float64 z
8、geometry_msgs/Wrench.msg 不常見,但是可能會被用來考慮動力學的約束
1 geometry_msgs/Vector3 force #力 2 geometry_msgs/Vector3 torque #力矩
三、nav_msgs
1、nav_msgs / GridCells.msg 二維柵格
1 std_msgs/Header header 2 float32 cell_width 3 float32 cell_height 4 geometry_msgs/Point[] cells
2、nav_msgs/GetMap.srv 柵格地圖
1 nav_msgs/OccupancyGrid map
3、nav_msgs/MapMetaData.msg 地圖分辨率、長寬、初始點
1 time map_load_time 2 float32 resolution 3 uint32 width 4 uint32 height 5 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 柵格地圖信息
1 std_msgs/Header header 2 nav_msgs/MapMetaData info 3 int8[] data
6、 nav_msgs/SetMap.srv 地圖初始位姿
1 nav_msgs/OccupancyGrid map 2 geometry_msgs/PoseWithCovarianceStamped initial_pose
--- 3 bool success
7、nav_msgs/Odometry.msg 位姿和線速度角速度
1 std_msgs/Header header #pose是header.frame_id聲明的 2 string child_frame_id #twist是 child_frame_id聲明的
3 geometry_msgs/PoseWithCovariance pose
4 geometry_msgs/TwistWithCovariance twist
8、nav_msgs/Path.msg 路徑,其實是很多姿態組成的數組
std_msgs/Header header
geometry_msgs/PoseStamped[] poses
四、結語
常用傳感器的sensor_msgs放在(下)講。