0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是通信模型DDS

麥辣雞腿堡 ? 來(lái)源:古月居 ? 作者:古月 ? 2023-11-24 17:50 ? 次閱讀

Hello,大家好,歡迎來(lái)到《ROS2入門(mén)21講》,我是主講人古月。

終于講到ROS2中最為重大的變化——DDS,我們?cè)谇斑呎n程中學(xué)習(xí)的話題、服務(wù)、動(dòng)作,他們底層通信的具體實(shí)現(xiàn)過(guò)程,都是靠DDS來(lái)完成的,它相當(dāng)于是ROS機(jī)器人系統(tǒng)中的神經(jīng)網(wǎng)絡(luò)。

通信模型

DDS的核心是通信,能夠?qū)崿F(xiàn)通信的模型和軟件框架非常多,這里我們列出常用的四種模型。

第一種,點(diǎn)對(duì)點(diǎn)模型,許多客戶端連接到一個(gè)服務(wù)端,每次通信時(shí),通信雙方必須建立一條連接。當(dāng)通信節(jié)點(diǎn)增多時(shí),連接數(shù)也會(huì)增多。

而且每個(gè)客戶端都需要知道服務(wù)器的具體地址和所提供的服務(wù),一旦服務(wù)器地址發(fā)生變化,所有客戶端都會(huì)受到影響。

第二種,Broker模型,針對(duì)點(diǎn)對(duì)點(diǎn)模型進(jìn)行了優(yōu)化,由Broker集中處理所有人的請(qǐng)求,并進(jìn)一步找到真正能響應(yīng)該服務(wù)的角色。

這樣客戶端就不用關(guān)心服務(wù)器的具體地址了。不過(guò)問(wèn)題也很明顯,Broker作為核心,它的處理速度會(huì)影響所有節(jié)點(diǎn)的效率,當(dāng)系統(tǒng)規(guī)模增長(zhǎng)到一定程度,Broker就會(huì)成為整個(gè)系統(tǒng)的性能瓶頸。

更麻煩是,如果Broker發(fā)生異常,可能導(dǎo)致整個(gè)系統(tǒng)都無(wú)法正常運(yùn)轉(zhuǎn)。之前的ROS1系統(tǒng),使用的就是類(lèi)似這樣的架構(gòu)。

第三種,廣播模型,所有節(jié)點(diǎn)都可以在通道上廣播消息,并且節(jié)點(diǎn)都可以收到消息。這個(gè)模型解決了服務(wù)器地址的問(wèn)題,而且通信雙方也不用單獨(dú)建立連接,但是廣播通道上的消息太多了,所有節(jié)點(diǎn)都必須關(guān)心每條消息,其實(shí)很多是和自己沒(méi)有關(guān)系的。

第四種,就是以數(shù)據(jù)為中心的DDS模型了,這種模型與廣播模型有些類(lèi)似,所有節(jié)點(diǎn)都可以在DataBus上發(fā)布和訂閱消息。

但它的先進(jìn)之處在于,通信中包含了很多并行的通路,每個(gè)節(jié)點(diǎn)可以只關(guān)心自己感興趣的消息,忽略不感興趣的消息,有點(diǎn)像是一個(gè)旋轉(zhuǎn)火鍋,各種好吃的都在這個(gè)DataBus傳送,我們只需要拿自己想吃的就行,其他的和我們沒(méi)有關(guān)系。

可見(jiàn),在這幾種通信模型中,DDS的優(yōu)勢(shì)更加明顯。

DDS

DDS并不是一個(gè)新的通信方式,在ROS2之前,DDS已經(jīng)廣泛應(yīng)用在很多領(lǐng)域。

比如在自動(dòng)駕駛領(lǐng)域,通常會(huì)存在感知,預(yù)測(cè),決策和定位等模塊,這些模塊都需要非常高速和頻繁地交換數(shù)據(jù)。借助DDS,可以很好地滿足它們的通信需求。

什么是DDS

好啦,說(shuō)了半天DDS,到底啥意思呢?我們來(lái)做一個(gè)完整的介紹

DDS的全稱是Data Distribution Service,也就是數(shù)據(jù)分發(fā)服務(wù),2004年由對(duì)象管理組織OMG發(fā)布和維護(hù),是一套專門(mén)為實(shí)時(shí)系統(tǒng)設(shè)計(jì)的數(shù)據(jù)分發(fā)/訂閱標(biāo)準(zhǔn),最早應(yīng)用于美國(guó)海軍, 解決艦船復(fù)雜網(wǎng)絡(luò)環(huán)境中大量軟件升級(jí)的兼容性問(wèn)題,現(xiàn)在已經(jīng)成為強(qiáng)制標(biāo)準(zhǔn)。

DDS強(qiáng)調(diào)以數(shù)據(jù)為中心,可以提供豐富的服務(wù)質(zhì)量策略,以保障數(shù)據(jù)進(jìn)行實(shí)時(shí)、高效、靈活地分發(fā),可滿足各種分布式實(shí)時(shí)通信應(yīng)用需求。

這里也提一下對(duì)象管理組織OMG,成立于1989年,它的使命是開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn),為數(shù)以千計(jì)的垂直行業(yè)提供真實(shí)的價(jià)值,比如大家課可能聽(tīng)說(shuō)過(guò)的統(tǒng)一建模語(yǔ)言SYSML和UML,還有中間件標(biāo)準(zhǔn)CORBA等,當(dāng)然還有DDS。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    27994

    瀏覽量

    205551
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5926

    瀏覽量

    135702
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8849

    瀏覽量

    84954
  • DDS
    DDS
    +關(guān)注

    關(guān)注

    21

    文章

    627

    瀏覽量

    152427
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MQTT的通信模型及消息

     MQTT通信模型    MQTT協(xié)議是基于客戶端-服務(wù)器模型,在協(xié)議中主要有三種身份:發(fā)布者(Publisher)、服務(wù)器(Broker) 以及訂閱者(Subscriber)。 并且消息發(fā)布者可以
    發(fā)表于 01-19 15:57

    基于VxWorks實(shí)時(shí)操作系統(tǒng)的通信模型該怎樣去設(shè)計(jì)?

    多任務(wù)實(shí)時(shí)操作系統(tǒng)VxWorks是什么?與傳統(tǒng)通信機(jī)制相比,模塊間通信模型有什么優(yōu)勢(shì)?基于VxWorks實(shí)時(shí)操作系統(tǒng)的通信模型該怎樣去設(shè)計(jì)?
    發(fā)表于 04-26 06:25

    移動(dòng)Agent位置透明通信模型的設(shè)計(jì)

    提出一種高效可靠的移動(dòng)Agent通信模型――D-C通信模型,結(jié)合域名字解析器和移動(dòng)Agent系統(tǒng)中的Communicator實(shí)現(xiàn)移動(dòng)Agent之間的通信。通過(guò)引入一種基于全局的、與位置無(wú)關(guān)的命名方法
    發(fā)表于 04-16 08:53 ?26次下載

    過(guò)程控制工業(yè)以太網(wǎng)通信模型探討

    提出了建立在交換式以太網(wǎng)和IEEE 802.1Q/P 技術(shù)基礎(chǔ)上用于過(guò)程控制的以太網(wǎng)通信模型REPC,并進(jìn)行了分析。關(guān)鍵詞:通信模型工業(yè)以太網(wǎng) 過(guò)程控制Abstract: REPC, a communication model of in
    發(fā)表于 06-19 08:34 ?27次下載

    數(shù)據(jù)網(wǎng)格中基于優(yōu)化機(jī)制的通信模型

    針對(duì)基于多計(jì)算機(jī)機(jī)群構(gòu)成的網(wǎng)格的大規(guī)模并行計(jì)算的需要,對(duì)多級(jí)分組通信模型的單一機(jī)群分組通信進(jìn)行了研究。探討了在單一機(jī)群內(nèi)的主動(dòng)節(jié)點(diǎn)、被動(dòng)節(jié)點(diǎn)個(gè)數(shù)和各個(gè)計(jì)算節(jié)點(diǎn)
    發(fā)表于 06-25 13:52 ?12次下載

    基于VxWorks的通信模型設(shè)計(jì)

    本文提出了一種任務(wù)間的通信模型,將用于網(wǎng)絡(luò)通信的UDP方式引進(jìn)到任務(wù)間的通信中,使通信更加靈活和便于管理,改善了整個(gè)系統(tǒng)的性能。
    發(fā)表于 06-01 10:07 ?1000次閱讀
    基于VxWorks的<b class='flag-5'>通信模型</b>設(shè)計(jì)

    企業(yè)資產(chǎn)管理系統(tǒng)中通信模型的研究與實(shí)現(xiàn)

    為了改善企業(yè)資產(chǎn)管理(EAM)系統(tǒng)在用戶體驗(yàn)、模塊間數(shù)據(jù)傳輸效率及耦合度等方面的不足,構(gòu)建了基于Silverlight與WCF技術(shù)研究與實(shí)現(xiàn)EAM系統(tǒng)中的通信模型。利用Silverlight構(gòu)建客戶端提升
    發(fā)表于 07-06 16:57 ?34次下載
    企業(yè)資產(chǎn)管理系統(tǒng)中<b class='flag-5'>通信模型</b>的研究與實(shí)現(xiàn)

    基于DDS的云協(xié)作研究

    本文介紹了一種云方代理,云方代理的引入提供了標(biāo)準(zhǔn)的云方協(xié)作請(qǐng)求響應(yīng)機(jī)制,云方代理是數(shù)據(jù)分發(fā)服務(wù)(DDS)的實(shí)現(xiàn),它利用DDS可靠低耦合的發(fā)布訂閱消息通信模型進(jìn)行消息交互,同時(shí)采用基于xml方式編目云方資源實(shí)現(xiàn)云方與云方資源匹配,
    發(fā)表于 01-04 17:13 ?8次下載

    網(wǎng)絡(luò)通信模型

    網(wǎng)絡(luò)通信模型,在基礎(chǔ)講解的前提下,建立數(shù)學(xué)模型來(lái)分析。
    發(fā)表于 03-15 13:56 ?9次下載

    一種基于Kademlia的P2P語(yǔ)音通信模型

    一種基于Kademlia的P2P語(yǔ)音通信模型_陳立全
    發(fā)表于 01-07 16:52 ?3次下載

    基于Zigbee的無(wú)線智能輸液通信模型設(shè)計(jì)楊艷

    基于Zigbee的無(wú)線智能輸液通信模型設(shè)計(jì)_楊艷
    發(fā)表于 03-16 08:00 ?3次下載

    電力通信模型自動(dòng)生成方法及其優(yōu)化

    為了在電力通信模型的建立過(guò)程中生成一個(gè)比較合理和強(qiáng)壯的初始通信模型,在傳統(tǒng)的Waxman方法的基礎(chǔ)上,運(yùn)用K-means的聚類(lèi)思想生成節(jié)點(diǎn),并對(duì)所生成的拓?fù)渚W(wǎng)絡(luò)進(jìn)行脆弱性分析和信息孤島檢測(cè),然后對(duì)于
    發(fā)表于 02-02 17:05 ?0次下載

    DDS為ROS的通信系統(tǒng)提供了哪些特性

    質(zhì)量服務(wù)策略QoS DDS為ROS的通信系統(tǒng)提供了哪些特性呢?我們通過(guò)這個(gè)通信模型圖來(lái)看下。 DDS中的基本結(jié)構(gòu)是Domain,Domain將各個(gè)應(yīng)用程序綁定在一起進(jìn)行
    的頭像 發(fā)表于 11-24 17:59 ?644次閱讀
    <b class='flag-5'>DDS</b>為ROS的<b class='flag-5'>通信</b>系統(tǒng)提供了哪些特性

    機(jī)器人通信模型有哪些

    用到——那就是動(dòng)作。從這個(gè)名字上就可以很好理解這個(gè)概念的含義,這種通信機(jī)制的目的就是便于對(duì)機(jī)器人某一完整行為的流程進(jìn)行管理。 通信模型 舉個(gè)例子,比如我們想讓機(jī)器人轉(zhuǎn)個(gè)圈,這肯定不是一下就可以完成的,機(jī)器人得一點(diǎn)一點(diǎn)旋
    的頭像 發(fā)表于 11-27 17:05 ?499次閱讀
    機(jī)器人<b class='flag-5'>通信模型</b>有哪些

    通信模型的多對(duì)多通信、異步通信和消息接口是什么

    的數(shù)量并不是唯一的,可以稱之為是多對(duì)多的通信模型。 因?yàn)樵掝}是多對(duì)多的模型,發(fā)布控制指令的搖桿可以有一個(gè),也可以有2個(gè)、3個(gè),訂閱控制指令的機(jī)器人可以有1個(gè),也可以有2個(gè)、3個(gè)。 大家可以想象一下這個(gè)畫(huà)面,似乎還是挺魔性的
    的頭像 發(fā)表于 11-27 17:42 ?466次閱讀
    <b class='flag-5'>通信模型</b>的多對(duì)多<b class='flag-5'>通信</b>、異步<b class='flag-5'>通信</b>和消息接口是什么