Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Fast DDS

eProsima 的高效能 DDS 中介軟體:ROS 2 底下的預設傳輸層

授權條款

Apache-2.0

概述

Fast DDS(前身為 Fast RTPS)是 eProsima 以 C++ 實作的 OMG Data Distribution Service 標準及其 RTPS 傳輸協定。它提供去中心化、無代理(broker-less)的發布/訂閱通訊與精細的服務品質(QoS)控制,也是 ROS 2 的預設中介軟體(rmw_fastrtps),這意味著全球大多數 ROS 2 機器人的每一個主題、服務與動作底下,都在執行 Fast DDS。

Fast DDS 實作完整的 DDS 規範:DomainParticipant、主題、發布者與訂閱者透過 UDP、TCP、共享記憶體或自訂傳輸自動互相探索,並以點對點方式通訊,QoS 策略涵蓋可靠性、持久性、期限、存活性與歷史。效能功能包括為同一主機上的行程提供零複製傳遞的共享記憶體傳輸、非同步流量控制器,以及靜態探索模式與 Discovery Server,適用於多播探索無法擴展的大型或受限網路。專案附有 Fast DDS-Gen(IDL 程式碼產生),以及 eProsima 的 Fast DDS Monitor 所使用的統計與監控掛鉤,它也是微控制器上 micro-ROS 的基礎。作為 ROS 2 的預設 rmw 層,它的版本緊密追隨 ROS 2 發行版,也經歷了所有中介軟體中規模最大的機器人部署之一的考驗。

為何重要

Fast DDS 可以說是部署最廣、卻最少開發者會去細看的機器人基礎設施:作為 ROS 2 的預設中介軟體,它承載了大多數 ROS 2 機器人的流量,也是少數完整且有商業支援的開源 DDS 實作之一。

解決的問題

分散式機器人系統需要在行程與機器之間進行可靠、低延遲、可設定的通訊,而且不能有中央代理成為單一故障點。Fast DDS 提供以標準為基礎的發布/訂閱通訊,具備即時系統所需的 QoS 控制,從微控制器到多機器人車隊都適用。

重點

  • OMG DDS 標準與 RTPS 傳輸協定的完整開源實作
  • 近期各 ROS 2 發行版的預設 ROS 2 中介軟體(rmw_fastrtps)
  • 共享記憶體與零複製傳輸,用於同一主機上的高吞吐量通訊
  • Discovery Server 與靜態探索讓 DDS 能擴展到不適合多播的網路
  • 透過 eProsima Micro XRCE-DDS 為微控制器等級的裝置提供 micro-ROS 支援

適用對象

  • 調校通訊與 QoS 的 ROS 2 開發者
  • 分散式與即時系統工程師
  • 機器人平台與基礎設施團隊
  • 使用 micro-ROS 的嵌入式開發者

限制

  • DDS 概念與 QoS 組合的學習曲線陡峭
  • 以 XML 為基礎的設定檔冗長,容易出現不易察覺的錯誤
  • 超出 RTPS 基本範圍的跨廠商 DDS 互通可能需要小心處理
  • 針對容易掉封包的 Wi-Fi 網路進行微調,往往需要傳輸層的專業知識

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。