ROS初探:(一)ROS架構
阿新 • • 發佈:2017-12-31
-c 獨立 put 網絡 配置 只有一個 依賴庫 請求 linux
計算圖級包含:節點、節點管理器、參數服務器、消息、服務、主題和消息記錄包。
ROS創建一個網絡(Computation Network)來進行計算,該網絡連接了系統中的所有進程(節點),如下圖所示:
開源社區級,通過獨立的網絡社區分享軟件、知識,包含如下幾部分:
一.ROS架構
ROS架構上分為三個層級:
- 計算圖級(Computation Graph level):體現進程與系統的關系,描述系統怎麽運行。
- 文件系統級(Filesystem level):組織構建程序文件。
- 社區級(Community level):開源社區,共享知識、算法和代碼等。
1.1 計算圖級
計算圖級包含:節點、節點管理器、參數服務器、消息、服務、主題和消息記錄包。
- 節點(node):主要的計算執行進程,可自行創建節點,加入網絡。
- 節點管理器(master):是節點通信的基礎,用於節點的註冊、查找。
- 參數服務器(parameter server):屬於節點管理器的一部分,將數據存放在系統關鍵位置,節點可以獲取這些數據來配置、改變自己的狀態。
- 消息(message):具有各種類型,節點間溝通傳輸的信息數據。
- 主題(topic):一類消息的集合,節點可以發布、訂閱主題。發布者和訂閱者之間相互解耦,不知對方的存在。
- 服務(service):區別於主題,服務用於節點直接向節點交互,獲得請求或應答。
- 消息記錄包(bag):保存回放消息數據的文件格式。
ROS創建一個網絡(Computation Network)來進行計算,該網絡連接了系統中的所有進程(節點),如下圖所示:
1.2 文件系統級
功能包(package):一種特定結構的文件、文件夾的組合。ROS中各種軟件的組織方式,包含節點、配置文件、ROS依賴庫、第三方軟件及其它任何邏輯構成。
元功能包(Metapackage):只有一個文件(package.xml)的特殊包,將多個具有某些功能的包組織在一起形成邏輯包。
1.3 社區級
開源社區級,通過獨立的網絡社區分享軟件、知識,包含如下幾部分:
- 發行版:可獨立安裝、類似於Linux。
- 軟件庫:聯網的代碼存儲庫,不同機構可以發布。
- ROS Wiki:論壇,可貢獻自己的文件。
- Bug提交系統
- 郵件列表:交流軟件更新等各種問題。
- 博客:發布一些定期更新、新聞。
- ROS問答
ROS初探:(一)ROS架構