《精通ROS机器人编程(原书第2版) 》 —1.5.2 ROS消息
【摘要】 本节书摘来自华章计算机《精通ROS机器人编程(原书第2版) 》 一书中第1章,第1.5.2节,作者是[印度]郎坦·约瑟夫(Lentin Joseph)[意大利]乔纳森·卡卡切(Jonathan Cacace),张新宇 张志杰 等译 。
1.5.2 ROS消息
ROS节点通过向话题发布消息来实现彼此通信。如我们前面讨论过的,消息是一种包含字段类型的简单数据结构。ROS消息支持标准的基本数据类型,也支持这些基本数据类型的组合。
节点还可以使用服务来交换信息。服务也是一种消息。服务消息的定义位于srv 文件内。
可以使用以下方法访问消息定义。例如,要访问 std_msgs/msg/String.msg,可以使用 std_msgs/String。如果使用的是 roscpp 客户端,必须在字符串消息定义的地方包含 std_msgs/String.h头文件。
除了消息数据类型外,ROS还使用 MD5 校验来确认发布者和订阅者是否交换相同的消息数据类型。
ROS有一个内置的工具叫rosmsg,可以获取有关ROS消息的信息。下面列出与rosmsg 相关的命令参数:
$ rosmsg show [message]: 显示消息的描述。
$ rosmsg list: 列出所有的消息。
$ rosmsg md5 [message]: 显示一个消息的md5sum信息。
$ rosmsg package [package_name]: 列出一个软件包中的所有消息。
$ rosmsg packages [package_1] [package_2]: 列出包括某消息的软件包。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)