本节我们主要介绍如何创建和编译消息和服务文件,以及与之相关的命令行工具。
3.7.1 消息和服务文件
消息文件是用来描述 ROS 中消息字段的简单的文本文件,一般存放在一个功能包目录下的 msg 目录中。消息文件每行都有一个字段类型和字段名称,可以使用的字段类型有:
- int8, int16, int32, int64 (plus uint*)
- float32, float64
- string
- time, duration
- other msg files
- variable-length array[] and fixed-length array[C]
此外在 ROS 中还有一个特殊类型 Header ,Header中包含了时间戳和在 ROS 中常用的坐标系信息,今后的开发工作中会经常遇到消息文件中的第一行具有Hearder这个字段。以下为一个消息文件的示例:
Header header
string child_frame_id
geometry_msgs/PoseWithCovariance pose
geometry_msgs/TwistWithCovariance twist
服务文件和消息文件相似,,一般存放在一个功能包目录下的 srv 目录中,但是服务文件包含两部分内容:请求和响应。这两部分内容被分隔符“—”分开,以下为一个服务的示例,其中 A 和 B 是请求, Sum 是响应:
int64 A
int64 B
---
int64 Sum
3.7.2 创建消息
ROS中有很多类似 String 这样的预定义的消息类型&