0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通信模型的多对多通信、异步通信和消息接口是什么

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-27 17:42 次阅读

多对多通信

图片

大家再仔细想下这些可以订阅的东西,是不是并不是唯一的,我们每个人可以订阅很多公众号、报纸、杂志,这些公众号、报纸、杂志也可以被很多人订阅。没错,ROS里的话题也是一样,发布者和订阅者的数量并不是唯一的,可以称之为是多对多的通信模型。

因为话题是多对多的模型,发布控制指令的摇杆可以有一个,也可以有2个、3个,订阅控制指令的机器人可以有1个,也可以有2个、3个。

大家可以想象一下这个画面,似乎还是挺魔性的,如果存在多个发送指令的节点,建议大家要注意区分优先级,不然机器人可能不知道该听谁的了。

异步通信

话题通信还有一个特性,那就是异步,这个词可能有同学是第一次听说?所谓异步,只要是指发布者发出数据后,并不知道订阅者什么时候可以收到。

类似古月居公众号发布一篇文章,你什么时候阅读的,古月居根本不知道,报社发出一份报纸,你什么时候收到,报社也是不知道的。这就叫做异步。

异步的特性也让话题更适合用于一些周期发布的数据,比如传感器的数据,运动控制的指令等等,如果某些逻辑性较强的指令,比如修改某一个参数,用话题传输就不太合适了。

消息接口

最后,既然是数据传输,发布者和订阅者就得统一数据的描述格式,不能一个说英文,一个理解成了中文。在ROS中,话题通信数据的描述格式称之为消息,对应编程语言中数据结构的概念。

比如这里的一个图像数据,就会包含图像的长宽像素值、每个像素的RGB等等,在ROS中都有标准定义。

消息是ROS中的一种接口定义方式,与编程语言无关,我们也可以通过.msg后缀的文件自行定义,有了这样的接口,各种节点就像积木块一样,通过各种各样的接口进行拼接,组成复杂的机器人系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27052

    浏览量

    201431
  • 数据
    +关注

    关注

    8

    文章

    6514

    浏览量

    87609
  • 异步通信
    +关注

    关注

    1

    文章

    45

    浏览量

    10047
  • 通信模型
    +关注

    关注

    0

    文章

    9

    浏览量

    7775
收藏 人收藏

    评论

    相关推荐

    通信串口通信中断

    串口通信时,在什么情况下使用中断服务函数?是不是方式0不能用于通信,方式123都能用于通信
    发表于 04-23 11:27

    MQTT的通信模型及消息

     MQTT通信模型    MQTT协议是基于客户端-服务器模型,在协议中主要有三种身份:发布者(Publisher)、服务器(Broker) 以及订阅者(Subscriber)。 并且消息发布者可以
    发表于 01-19 15:57

    基于VxWorks实时操作系统的通信模型该怎样去设计?

    多任务实时操作系统VxWorks是什么?与传统通信机制相比,模块间通信模型有什么优势?基于VxWorks实时操作系统的通信模型该怎样去设计?
    发表于 04-26 06:25

    怎样通过WebRTC实现通信

    WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过
    发表于 11-03 07:17

    单片机串口通信与同步异步通信的相关资料分享

    文章目录一、串口通信二、异步通信三、同步通信四、串行通信的传输方向一、串口通信1、随着
    发表于 12-08 07:29

    移动Agent位置透明通信模型的设计

    提出一种高效可靠的移动Agent通信模型――D-C通信模型,结合域名字解析器和移动Agent系统中的Communicator实现移动Agent之间的通信。通过引入一种基于全局的、与位置无关的命名方法
    发表于 04-16 08:53 26次下载

    数据网格中基于优化机制的通信模型

    针对基于多计算机机群构成的网格的大规模并行计算的需要,对多级分组通信模型的单一机群分组通信进行了研究。探讨了在单一机群内的主动节点、被动节点个数和各个计算节点
    发表于 06-25 13:52 12次下载

    异步通信,异步通信是什么意思

    异步通信,异步通信是什么意思 异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由
    发表于 03-17 16:31 6277次阅读
    <b class='flag-5'>异步</b><b class='flag-5'>通信</b>,<b class='flag-5'>异步</b><b class='flag-5'>通信</b>是什么意思

    基于VxWorks的通信模型设计

    本文提出了一种任务间的通信模型,将用于网络通信的UDP方式引进到任务间的通信中,使通信更加灵活和便于管理,改善了整个系统的性能。
    发表于 06-01 10:07 925次阅读
    基于VxWorks的<b class='flag-5'>通信模型</b>设计

    网络通信模型

    网络通信模型,在基础讲解的前提下,建立数学模型来分析。
    发表于 03-15 13:56 9次下载

    一种基于Kademlia的P2P语音通信模型

    一种基于Kademlia的P2P语音通信模型_陈立全
    发表于 01-07 16:52 3次下载

    基于Zigbee的无线智能输液通信模型设计杨艳

    基于Zigbee的无线智能输液通信模型设计_杨艳
    发表于 03-16 08:00 3次下载

    通信Petri网的异步通信程序验证

    由于多栈的模型图灵等价,因此,通用的异步通信程序模型的验证问题不可判定.为此,基于Petri网。提出了一个新的模型
    发表于 12-29 15:53 0次下载

    什么是通信模型DDS

    来完成的,它相当于是ROS机器人系统中的神经网络。 通信模型 DDS的核心是通信,能够实现通信模型和软件框架非常多,这里我们列出常用的四种模型
    的头像 发表于 11-24 17:50 618次阅读

    机器人通信模型有哪些

    用到——那就是动作。从这个名字上就可以很好理解这个概念的含义,这种通信机制的目的就是便于对机器人某一完整行为的流程进行管理。 通信模型 举个例子,比如我们想让机器人转个圈,这肯定不是一下就可以完成的,机器人得一点一点旋
    的头像 发表于 11-27 17:05 236次阅读
    机器人<b class='flag-5'>通信模型</b>有哪些