目前ROS2引入了DDS作為通信協議,代替了ROS1的自定義通訊協議,下面我們看看DDS協議都有哪些組成部分,起源是什麼?
DDS主要有以下標准,可分為四類:核心標准、擴展標准、網關標准、API標准。
DDS定義為新一代分布式實時通信中間件協議,採用發布/訂閱體系架構,強調以數據為中心,提供豐富的QoS服務質量策略,以保障數據進行實時、高效、靈活地分發,可滿足各種分布式實時通信應用需求。
DDS最早應用在美國海軍系統,用於解決軍艦系統復雜網路環境中大量軟體升級的兼容性問題。在汽車領域,2018年Adaptive AUTOSAR引用了DDS,作為可選擇的通信方式之一。在國內,主機廠已開始研究,主要針對自動駕駛相關需求,工具方面,在汽車電子領域常用的工具廠商也在開發這部分內容。不僅是汽車領域引入DDS,在機器人開發領域,最新升級的ROS2也引入了DDS中間件來傳遞信息。
DDS規范是由OMG(Object Management Group)對象管理組織發布的。OMG組織是一個國際性、開放性、非盈利性技術標准聯盟,由供應商、終端用戶、學術機構、政府機構推動,已經有31年的歷史;OMG工作組針對各種技術和行業制定企業集成標准,並開發可為數千個垂直行業提供現實價值的技術標准。
DDS的相關標准包括核心協議(DDSI-RTPS,DDS-XTypes,DDS-Security,Interface Definition Language (IDL)等),API(DDS C++ API,DDS Java API),拓展協議(DDS-RPC,DDS-XML等)等13份協議集合。
在分布式系統中,DDS位於操作系統和應用程序之間,支持多種編程語言以及多種底層協議。這便是我們常說的跨平台。
DDS中間件API標准包含了編程語言的相關標准,如用於DDS的ISO / IEC C ++ 2003語言PSM - 僅為DDS規范的以數據為中心的發布-訂閱(DCPS)部分定義的C ++ API,用於DDS的Java 5語言PSM - 為DDS規范的以數據為中心的發布-訂閱(DCPS)部分的定義Java API,以及其他語言API - 用於C,Java,傳統C ++,ADA,C#和其他語言的API,是從IDL中的DDS API派生的,使用相應的IDL到語言映射。
DDS發布訂閱模型DCPS講具體協議之前,我們先熟悉下幾個專有名詞:Domain(域)、Domain Participant(域參與者)、Topic(主題)、DataWriter(數據寫入者)、DataReader(數據讀取者)、Publisher(發布者)、Subscriber(訂閱者)。這些名詞構建了DDS的核心,以數據為中心的發布-訂閱模型DCPS(Data-Centric Publish-Subscribe)。
QoS服務質量是DDS的重要知識點,目前支持22種QoS策略,每種策略都可以應用在不同的角色上,而針對同一角色,可單獨使用一種QoS,也可以組合使用多種QoS策略。在應用QoS時,考慮如何應用及具體效果。例如,RELIABILITY(可靠性)參數定義了當網路發生錯誤時,DataReader是否能收到DataWriter的樣本數據;LIFESPAN(生命周期)參數定義了避免交付「過期」的數據,通過時間ration來控制數據的有效性。
總結起來,DDS更針對的是數據本身,去建立各種機制。DDS已廣泛應用於國防、民航、工業控制等領域,成為分布式實時系統中數據發布/訂閱的標准解決方案。
❷ 「DDS」縮寫在英語中的具體含義是什麼
英語縮寫「DDS」在互聯網領域中,通常被理解為"Deep Dark Secrets",中文直譯為「深深的黑暗秘密」。這一術語在英語中具有一定流行度,為1057。它涵蓋了諸如聊天等特定應用領域,代表著一系列不可公開的、秘密的信息或事件。
當我們談論DDS時,它可能指的是過去的秘密歷史,那些隱藏在暗處、不為人知的驚天之事,如:「The past is riddled with deep dark secrets.」(過去充滿了深藏不露的秘密。)或者在人際交流中詢問:「You got any deep, dark secrets we should know about?」(你有沒有一些我們應該知道的秘密?)
縮寫詞DDS的中文解釋為「深深的黑暗秘密」,在日常網路交流和討論中廣泛使用,尤其是在線聊天和神秘話題的探討中。不過,重要的是要明確,這個縮寫詞並非官方術語,而是網路文化的產物,其含義和應用范圍主要取決於上下文。請謹慎使用並理解其可能的多義性。