一、基础消息类型
1.std_msgs/Header(标准元数据)
通常用于在特定坐标系中传输带时间戳的数据:
-
uint32 seq
(序列号):- 表示消息的顺序ID,是一个无符号32位整数。
- 用于标识一系列消息的顺序,每次发布新消息时,它会递增。这样,接收者可以识别消息的顺序,确保没有消息丢失。
-
time stamp
(时间戳):- 表示消息的时间戳,由两部分组成:秒数(
sec
)和纳秒数(nsec
)。stamp.sec
: 从Unix纪元(1970年1月1日)开始的秒数。(类型为int32_t
)stamp.nsec
: 秒内的纳秒数,用于更精细的时间表示。(类型为int32_t
)
- 这个时间戳通常用于标记数据的生成时间,以确保不同传感器的数据能够按照时间顺序对齐。ROS的客户端库中提供了时间操作的辅助函数来方便时间的处理。
- 表示消息的时间戳,由两部分组成:秒数(
-
string frame_id
(坐标系ID):- 表示数据关联的坐标系,通常为一个字符串。例如,可以是
base_link
(机器人基座坐标系)、odom
(里程计坐标系)、map
(全局地图坐标系)等。 - 这个字段用于指示该消息的数据是在哪个坐标系下定义的,以便于与其他传感器数据进行空间上的配准和转换。
- 表示数据关联的坐标系,通常为一个字符串。例如,可以是
2.geometry_msgs/Pose
3.geometry_msgs/PoseStamped
由 std_msgs/Header header 和 geometry_msgs/Pose pose 组成。
4.nav_msgs/Path
由 std_msgs/Header header 和 nav_msgs/PoseStamped[] poses数组 组成。