1. 程式人生 > >ROS入門教程歸納6

ROS入門教程歸納6

ROS話題

使用步驟
i) 開啟新終端,輸入roscore
ii) rosrun開啟視窗端與控制端
iii) rosrun rqt_graph rqt_graph 檢視節點關係 # 以下為檢視資料用,非必須
iv) rostopic list -v 檢視所有話題及其型別詳細資料
v) rostopic echo 調查某個話題上的資料
vi) 重新整理rqt_graph
vii) rosmsg show 對應型別詳細情況
viii) rostopic pub 釋出資料
ix) rostopic hz 資料釋出頻率
x) rosrun rqt_plot rqt_plot 檢視資料實時變化曲線
啟動ROS話題操作步驟


turtlesim
輸入 rosrun turtlesim turtlesim_node
輸出 啟動turtlesim視覺化視窗

輸入 rosrun turtlesim turtle_teleop_key
輸出 可用鍵盤控制turtlesim的終端
Tip
需要選中該終端視窗以確保按鍵能被捕獲

rqt_graph
輸入 rosrun rqt_graph rqt_graph
輸出 節點視覺化視窗
Tip
開啟視窗如圖
rqt_graph

rostopic
輸入 rostopic -h
輸出 rostopic子命令及說明列表

輸入 rostopic echo 話題
輸出 節點在對應話題上釋出的資料
Tip


若未顯示資料,代表還沒有資料發表在該話題上
此時重新整理rqt_graph可看到rostopic echo訂閱了同一個話題
rostopic echo 帶來的變化

輸入 rostopic list -h
輸出 list子命令需要的引數

輸入 rostopic list -v
輸出 有關釋出和訂閱的話題及其型別的詳細資訊

輸入 rostopic type 話題名
輸出 釋出話題的訊息型別

輸入 rosmsg show 訊息型別
輸出 對應話題訊息型別的詳細情況

輸入 rostopic pub 話題名 訊息型別 指令(資料)
輸出 將指令(資料)傳送到對應話題的訊息型別上
舉例

$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

其中
i)-1使釋出次數為1,釋出1條訊息後立馬退出。
ii)/turtle1/cmd_vel 是話題名
iii)geometry_msgs/Twist 釋出的訊息型別
iv)-- 告訴命令選項解析器接下來引數不是命令選項
v)’[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’ 輸出的具體資料

$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

上述命令以1Hz持續釋出命令到對應話題

輸入 rostopic hz 話題名
輸出 對應話題資料釋出的頻率

輸入 rostopic type 話題名 | rosmsg show
輸出 話題深層次資訊

rqt_plot
輸入 rosrun rqt_plot rqt_plot
輸出 實時顯示釋出到某話題上資料變化的圖形
rqt_plot
Tip
可通過+,-新增,減少關注的資料曲線