# 3.5 常見message
本小節主要介紹常見的message類型,包括std_msgs, sensor_msgs, nav_msgs, geometry_msgs等
**Vector3.msg**
#文件位置:geometry_msgs/Vector3.msg
float64 x
float64 y
float64 z
**Accel.msg**
#定義加速度項,包括線性加速度和角加速度
#文件位置:geometry_msgs/Accel.msg
Vector3 linear
Vector3 angular
**Header.msg**
#定義數據的參考時間和參考坐標
#文件位置:std_msgs/Header.msg
uint32 seq #數據ID
time stamp #數據時間戳
string frame_id #數據的參考坐標系
**Echos.msg**
#定義超聲傳感器
#文件位置:自定義msg文件
Header header
uint16 front_left
uint16 front_center
uint16 front_right
uint16 rear_left
uint16 rear_center
uint16 rear_right
**Quaternion.msg**
#消息代表空間中旋轉的四元數
#文件位置:geometry_msgs/Quaternion.msg
float64 x
float64 y
float64 z
float64 w
**Imu.msg**
#消息包含了從慣性原件中得到的數據,加速度為m/^2,角速度為rad/s
#如果所有的測量協方差已知,則需要全部填充進來如果只知道方差,則
#只填充協方差矩陣的對角數據即可
#位置:sensor_msgs/Imu.msg
Header header
Quaternion orientation
float64[9] orientation_covariance
Vector3 angular_velocity
float64[9] angular_velocity_covariance
Vector3 linear_acceleration
float64[] linear_acceleration_covariance
**LaserScan.msg**
#平面內的激光測距掃描數據,注意此消息類型僅僅適配激光測距設備
#如果有其他類型的測距設備(如聲吶),需要另外創建不同類型的消息
#位置:sensor_msgs/LaserScan.msg
Header header #時間戳為接收到第一束激光的時間
float32 angle_min #掃描開始時的角度(單位為rad)
float32 angle_max #掃描結束時的角度(單位為rad)
float32 angle_increment #兩次測量之間的角度增量(單位為rad)
float32 time_increment #兩次測量之間的時間增量(單位為s)
float32 scan_time #兩次掃描之間的時間間隔(單位為s)
float32 range_min #距離最小值(m)
float32 range_max #距離最大值(m)
float32[] ranges #測距數據(m,如果數據不在最小數據和最大數據之間,則拋棄)
float32[] intensities #強度,具體單位由測量設備確定,如果儀器沒有強度測量,則數組為空即可
**Point.msg**
#空間中的點的位置
#文件位置:geometry_msgs/Point.msg
float64 x
float64 y
float64 z
**Pose.msg**
#消息定義自由空間中的位姿信息,包括位置和指向信息
#文件位置:geometry_msgs/Pose.msg
Point position
Quaternion orientation
**PoseStamped.msg**
#定義有時空基準的位姿
#文件位置:geometry_msgs/PoseStamped.msg
Header header
Pose pose
**PoseWithCovariance.msg**
#表示空間中含有不確定性的位姿信息
#文件位置:geometry_msgs/PoseWithCovariance.msg
Pose pose
float64[36] covariance
**Power.msg**
#表示電源狀態,是否開啟
#文件位置:自定義msg文件
Header header
bool power
######################
bool ON = 1
bool OFF = 0
**Twist.msg**
#定義空間中物體運動的線速度和角速度
#文件位置:geometry_msgs/Twist.msg
Vector3 linear
Vector3 angular
**TwistWithCovariance.msg**
#消息定義了包含不確定性的速度量,協方差矩陣按行分別表示:
#沿x方向速度的不確定性,沿y方向速度的不確定性,沿z方向速度的不確定性
#繞x轉動角速度的不確定性,繞y軸轉動的角速度的不確定性,繞z軸轉動的
#角速度的不確定性
#文件位置:geometry_msgs/TwistWithCovariance.msg
Twist twist
float64[36] covariance #分別表示[x; y; z; Rx; Ry; Rz]
**Odometry.msg**
#消息描述了自由空間中位置和速度的估計值
#文件位置:nav_msgs/Odometry.msg
Header header
string child_frame_id
PoseWithCovariance pose
TwistWithCovariance twist
- 前言
- 第一章 ROS簡介
- 機器人時代的到來
- ROS發展歷程
- 什么是ROS
- 安裝ROS
- 安裝ROS-Academy-for-Beginners教學包
- 二進制與源碼包
- 安裝RoboWare Studio
- 單元測試一
- 第二章 ROS文件系統
- Catkin編譯系統
- Catkin工作空間
- Package軟件包
- CMakeLists.txt
- package.xml
- Metapacakge軟件元包
- 其他常見文件類型
- 單元測試二
- 第三章 ROS通信架構(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常見msg類型
- 單元測試三
- 第四章 ROS通信架構(二)
- Service
- Srv
- Parameter server
- Action
- 常見srv類型
- 常見action類型
- 單元測試四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 單元測試五
- 第六章 roscpp
- Client Library與roscpp
- 節點初始、關閉與NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 時鐘
- 日志與異常
- 第七章 rospy
- Rospy與主要接口
- Topic in rospy
- Service in rospy
- Param與Time
- 第八章 TF與URDF
- 認識TF
- TF消息
- tf in c++
- tf in python
- 統一機器人描述格式
- 附錄:TF數學基礎
- 三維空間剛體運動---旋轉矩陣
- 三維空間剛體運動---歐拉角
- 三維空間剛體運動---四元數
- 第九章 SLAM
- 地圖
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附錄:Navigation工具包說明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery