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

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

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

什么是通信模型DDS

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

Hello,大家好,歡迎來到《ROS2入門21講》,我是主講人古月。

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

通信模型

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

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

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

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

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

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

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

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

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

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

DDS

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

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

什么是DDS

好啦,說了半天DDS,到底啥意思呢?我們來做一個完整的介紹

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

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

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

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

    關(guān)注

    210

    文章

    28103

    瀏覽量

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

    關(guān)注

    18

    文章

    5949

    瀏覽量

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

    關(guān)注

    12

    文章

    8958

    瀏覽量

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

    關(guān)注

    21

    文章

    629

    瀏覽量

    152483
收藏 人收藏

    評論

    相關(guān)推薦

    MQTT的通信模型及消息

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

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

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

    移動Agent位置透明通信模型的設(shè)計

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

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

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

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

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

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

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

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

    為了改善企業(yè)資產(chǎn)管理(EAM)系統(tǒng)在用戶體驗、模塊間數(shù)據(jù)傳輸效率及耦合度等方面的不足,構(gòu)建了基于Silverlight與WCF技術(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>的研究與實現(xiàn)

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

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

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

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

    一種基于Kademlia的P2P語音通信模型

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

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

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

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

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

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

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

    機器人通信模型有哪些

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

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

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