ROS學習筆記(2)

2021-08-17 07:27:15 字數 1984 閱讀 6155

1. 理解ros節點

圖概念概述:

nodes:節點,乙個節點為乙個可執行檔案,可以通過ros與其他節點通訊

messages:訊息,一種ros資料型別,可以訂閱或發布到乙個話題

topics:話題,節點可以發布訊息到話題,也可以訂閱話題接收訊息

master:節點管理器,ros名稱服務

rosout:相當於 stdout/stderr

roscore:主機 + rosout + 引數伺服器

客戶端庫:

允許使用不同程式語言編寫的節點之間進行通訊

● rospy = python 客戶端庫

● roscpp = c++ 客戶端庫

使用 rosnode

檢視當前正在執行的節點:

檢視具體節點資訊:

使用rosrun

使用包名直接執行乙個包內的節點:

可以直接改變節點名稱

改變節點名稱後,可以再次通過rosnode list 檢視執行的節點列表

並通過rosnode 命令 ping 測試節點

2. 理解ros話題

任何時候,只需有乙個roscore執行,否則會報錯。

節點之間通過話題通訊,乙個節點在乙個話題上發布訊息,另乙個節點訂閱該話題以接收訊息。

使用rqt_graph建立顯示當前系統運**況的動態圖形。

使用rqt_plot 命令可以顯示發布到某一話題上的資料變化情況。

使用 rostopic echo 命令列工具,可以檢視話題發布的資料

使用 rostopic list 可以檢視發布和訂閱的話題及其型別的詳細資訊

發布器與訂閱器之間的通訊,必須傳送和接收相同型別的訊息,也就意味著話題型別是由發布在它上面的訊息型別決定的。使用 rostopic type 命令可以檢視發布在某個話題上的訊息型別。

使用 rosmsg 命令檢視訊息的詳細情況

使用 rostopic pub 命令可以發布資料到當前某個正在廣播的話題上。

使用 rostopic hz 可以檢視資料發布的頻率

3. 理解ros服務和引數

服務允許節點傳送乙個請求(request)並獲得乙個響應(response)

rosservice常用命令:

rosservice list —— 輸出可用服務的資訊

rosservice call —— 呼叫帶引數的服務

rosservice type —— 輸出服務型別

rosservice find —— 根據型別尋找服務

rosservice url —— 輸出服務的rosrpc url

可以使用 rosparam 儲存和操作ros引數伺服器上的資料。

常用命令:

rosparam set —— 設定引數

rosparam get —— 獲取引數

rosparam load —— 從檔案讀取引數

rosparam dump —— 向檔案中寫入引數

rosparam delete —— 刪除引數

rosparam list —— 列出引數名

4. 使用 rqt_console 和 roslaunch 進行除錯

rqt_console 屬於ros日誌框架的一部分,用於顯示節點的輸出資訊。

rqt_logger_level 允許修改節點執行時輸出資訊的日誌等級。

使用 roslaunch 啟動定義在 launch 檔案中的多個節點。

在工作空間下建立 launch資料夾,在資料夾下建立 .launch 字尾的配置檔案,然後執行。

可同時執行多個節點和模仿節點。

ROS2學習筆記之了解ros2doctor篇

總結學習目標 學會使用ros2doctor工具分析出現的問題 當ros2沒有安裝我們預期的設定執行的時候,我們可以用ros2doctor工具檢查ros2的設定。ros2doctor對ros2全面的檢查,包括平台 版本 連線情況 環境 執行的系統等等。然後給出可能的錯誤和原因。ros2doctor是乙...

ROS 學習筆記(2)ROS 命令列工具

古月居 命令列工具 啟動終端指令,也是ros使用中第一步需要執行的指令 啟動終端,使用roscore啟動 ros master roscore會出現如下介面 這個終端是不可以關閉的。執行指令,執行ros功能包中的某個節點 接著開啟另外乙個終端,使用 rosrun 指令執行節點,節點屬於功能包,因此執...

ROS學習筆記

catkin make首先輸出它所使用到的每個空間所在的路徑。更多關於空間的資訊,請參考rep128和catkin workspaces。需要注意的是由於這些空間存在預設配置的原因,有幾個資料夾已經在catkin工作空間自動生成了,使用ls檢視 build devel src build 目錄是bu...