1. 程式人生 > 其它 >ROS的通訊機制

ROS的通訊機制

通訊機制

節點--執行單元

  • 執行具體任務的程序、獨立執行的可執行檔案;
  • 不同節點可以使用不同的程式語言,可分散式執行在不同的主機上。
  • 節點在系統中的名稱是必須是唯一的。

節點管理器(ROS Master)--控制中心

  • 為節點提供命名和註冊服務;
  • 跟蹤和記錄話題/服務通訊,輔助節點互相查詢、建立連線;
  • 提供引數伺服器,節點使用此伺服器儲存和檢索執行時的引數。

話題通訊

  • 話題--非同步通訊機制
  • 節點間用來傳輸資料的重要匯流排;
  • 使用釋出/訂閱模型,資料由釋出者傳輸到訂閱者,同一個話題的訂閱者或釋出者可以不唯一。

訊息--話題資料

  • 具有一定的型別和資料結構,包括ROS提供的標準型別和使用者 自定義型別;
  • 使用程式語言無關的.msg檔案定義,編譯過程中生成對應的程式碼檔案。

服務(service)--同步通訊機制

  • 使用客戶端/伺服器(c/s)模型,客戶端請求資料,伺服器完成處理後返回應答資料;
  • 使用程式語言無關的.srv檔案定義請求和應答資料結構,編譯過程中,生成對應的程式碼檔案。

引數--全域性共享字典

  • 可通過網路訪問的共享、多變數字典;
  • 節點使用此伺服器來儲存和檢索執行時的引數;
  • 適合儲存靜態、非二進位制的配置引數,不適合儲存動態配置的資料。

檔案系統

  • 功能包:ROS軟體中的基本單元,包含節點原始碼,配置檔案,資料定義等
  • 功能包清單:記錄功能包的基本資訊,包含作者資訊、許可資訊、依賴選項、編譯標誌等
  • 元功能包:組織多個用於同一目的的功能包。

開發工具

應用功能

生態系統