ROS操作系統學習(二)ROS要了解的東西

ROS是什麼?

ROS=通信機制+開發工具+應用功能+生態系統

節點(Node)–執行單元

  • 執行具體任務的進程、獨立運行的可執行文件;
  • 不同節點可使用不同的編程語言,可分佈式運行在不同的主機;
  • 節點在系統中的名稱必須是唯一的。

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

  • 爲節點提供命名和註冊服務;
  • 跟蹤和記錄話題/服務通信,輔助節點相互查找、建立連接;
  • 提供參數服務器,節點使用此服務器存儲和檢索運行時的參數

ROS通信機制

1.話題通信

話題(Topic)–異步通信機制

  • 節點間用來傳輸數據的重要總線;
  • 使用發佈/訂閱模型,數據由發佈者傳輸到訂閱者,同一個話題的訂閱者或發佈者可以不唯一。

消息(message)–話題數據

  • 具有一定的類型和數據結構,包括ROS提供的標準類型和用戶自定義類型;
  • 使用編程語言無關的.msg文件定義,編程過程中生成對應的代碼文件。
    在這裏插入圖片描述

服務通信

服務(Service)–同步通信機制

  • 使用客戶端/服務器(C/S)模型,客戶端發送請求數據,服務器完成處理後返回應答數據;
  • 使用編程語言無關的.srv文件定義請求和應答數據結構,編譯過程中生成對應的代碼文件。
    在這裏插入圖片描述

話題與服務

在這裏插入圖片描述

參數(Parameter)–全局共享字典

  • 可通過網絡訪問的共享、多變量字典;
  • 節點使用此服務器來存儲和檢索運行時的參數;
  • 適合存儲靜態、非二進制的配置參數,不適合存儲動態配置的數據。
    在這裏插入圖片描述

文件系統

功能包(Package)

  • ROS軟件中的基本單元,包含節點源碼、配置文件、數據定義等

功能包清單(Package manifest)

  • 記錄功能包的基本信息,包含作者信息、許可信息、依賴選項、編譯標誌等

元功能包(Meta Packages)

  • 組織多個用於同一目的功能包
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章