ROS入門筆記(六) ROS系統架構

2022-04-19 03:09:49 字數 2268 閱讀 7901

ros入門筆記(六): ros系統架構

1 ros系統架構

1.1 檔案系統(重點)

1.2 計算圖

1.3 開源社群

檔案系統:主要指在硬碟裡能看到的ros目錄和檔案:

1)元功能包(meta packages):組織多個用於同一目的功能包。

2)元功能包清單(meta packages):類似於功能包清單,不同之處在於元功能包清單中可能會包含執行時需要依賴的功能包或者宣告一些引用的標籤。

3)功能包(package):功能包是ros中軟體組織的基本形式。乙個功能包具有用於建立ros程式的最小結構和最少內容。它可以包含ros執行的程序(節點)、配置檔案等;

4)功能包清單(package manifest):記錄功能包的基本資訊,包含作者資訊、許可資訊、依賴選項、編譯標誌等。

5)訊息型別(message):訊息是ros節點之間發布/訂閱的通訊資訊,可以使用ros系統提供的訊息型別,也可以使用.msg檔案在功能包的msg資料夾下自定義需要的訊息型別。

注:訊息型別的說明儲存在對應功能包的msg資料夾下。

6)服務型別(service):服務型別定義了ros伺服器/客戶端通訊模型下的請求與應答資料型別,可以使用ros系統提供的服務型別,也可以使用.srv檔案在功能包的srv資料夾中進行定義。

注:服務描述說明儲存在對應功能包的src資料夾下

7)**(code):放置功能包節點源**的資料夾。

計算圖是ros在點對點網路裡整合並處理資料的過程。基本計算圖概念是 節點, 主機, 引數伺服器, 訊息, 服務, 話題, 和 資料報,它們通過不同的方式提供資料給圖層。

這些概念是在

ros_comm

庫里實現的。

1)節點(node)—節點是執行任務的程序,也稱為軟體模組。

注:在ros中,最小的程序單元就是節點( node)。乙個軟體包裡可以有多個可執行檔案, 可執行檔案在執行之後就成了乙個程序(process), 這個程序在ros中就叫做節點 。

2)節點管理器(ros master)—管理者角色,統籌管理節點,保證節點的正常執行。

注:當ros程式啟動時, 第一步首先啟動master, 由節點管理器處理依次啟動node 。

作用:通過rpc提供登記列表及對其他計算圖表的查詢功能,幫助節點間互相查詢,建立連線,進行點對點的通訊

控制中心,提供引數伺服器,管理全域性引數

3)引數伺服器(parameter server)—引數伺服器是節點儲存引數的地方、 用於配置引數, 全域性共享引數。 參

數伺服器使用網際網路傳輸, 在節點管理器中執行, 實現整個通訊過程。 引數伺服器維護著乙個資料字典, 字典裡儲存著各種引數和配置。

4)訊息(message)—訊息在ros中,是一種資料型別,節點之間通過訊息來互相通訊。訊息型別有ros標準型別和基於標準訊息開發的自定義型別兩種。

6)主題(topic)—非同步通訊機制,傳輸訊息(message)

主題:指節點發布的訊息的去處。節點可以發布訊息到話題,也可以訂閱話題以接收訊息。當乙個節點傳送資料時,我們就說該節點正在向主題發布訊息。節點可以通過訂閱某個主題,接受來自其他節點的訊息。

發布/訂閱:多對多的傳輸方式

6)服務(service)—同步通訊機制,傳輸請求/應答資料,基於c/s模型

當你需要直接與節點通訊並獲得應答時,將無法通過主題實現,從而需要服務。此外,服務必須有唯一的名稱。當乙個節點提供某個服務時,所有的節點都可以通過使用ros客戶端編寫的**與它通訊。

請求/應答:一對多的傳輸模式

ros開源社群的概念主要是ros資源,其能夠通過獨立的網路社群分享軟體和知識。

ROS系統架構

ros的架構分為三部分 檔案系統級 計算圖級 開源社群級 乙個ros程式的不同元件放在不同的資料夾下 package 功能包 package manifest 功能包清單 metapackage 綜合功能包 metapackage manifest 綜合功能包清單 message msg type ...

ROS學習 ROS通訊架構

作用 每個node啟動時都要想master註冊,管理node之間的通訊 可實現點對點通訊 roscore 啟動ros master pkg裡面的可執行檔案執行的例項。啟動乙個node rosrun 包名 節點名 rosnode rosnode list檢視當前執行的node資訊 rosnode in...

ROS學習筆記 一 ROS系統安裝

sudo apt get install 軟體包 再給出幾點安裝後的問題解決和使用心得 不定期補充 在安裝ros系統之前再說明幾點,簡單介紹下ros的 下面開始真正的安裝ros系統 訪問教程 找到安裝教程sudo sh c echo deb lsb release sc main etc apt s...