ROS系统学习3---ROS最小话题系统的制作

本文档详细介绍了如何构建一个ROS最小的话题系统,包括话题的基本概念、如何通过话题进行节点间通信,以及创建和使用自定义消息的步骤。通过实例展示了如何编写发布和订阅话题的cpp文件,并解释了编译和运行过程。

上一篇博客中,我们介绍了怎么创建一个ROS的最小系统,该系统包括工作空间、包和一个存放在包中的节点,然后我们让该节点打印“Hello ROS”。

在这一篇博客中,我们将进一步来搭建一个最小的话题系统。

在开始之前,我们来简单的介绍下ROS的"话题"。

回想我们以前编程,一般是用什么进行通信的?

是网络协议,比如我们要在两个程序中传输数据,一般的做法是建立一个TCP或者UDP连接,然后从A->B扔数据。

而ROS系统本质上是一个管理多进程工作的系统,它里面的一个节点就是一个进程,节点之间又不可避免的要进行数据交互,因此通信是免不了的。我们可以非常容易的想到直接用TCP或者UDP来通信就可以了,但是ROS给我们一个更加上层的方法,那就是"话题"(虽然我们只需要花0.1s就能想到它的本质也是TCP或UDP,但人家帮我们封装好了,当然是更加方便的)。

那么"话题"是怎么实现通信的呢?

它的操作非常简单,节点A如果有数据要往外扔,那么它就直接通过"话题"告诉ROS系统它要把数据发布出来。节点B如果想要接收节点A的数据,则告诉ROS系统它要订阅这个话题。

这样,当节点A发布了话题而节点B订阅了该话题,则ROS系统会帮他们之间建立通信。

说白了,ROS相当于一个媒婆,将节点A和节点B连到一块去。

另外需要注意的是发布话题的时候需要先声明话题所具有的数据类型,这就相当于媒婆起码要知道你是男是女。

下面我们就做出两个节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值