ROS常用庫(三)API學習之常用common_msgs(上)


一、概述

  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放在(下)講。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM