第五章:ROS常用組件
5.5 圖形化界面RQT
相對於之前的純命令行操作,QRT功能真的不要太爽。具體有多爽呢,下面聽我娓娓道來。
5.5.1 啟動和安裝RQT
一般來說我們都有RQT,沒有的話可以通過,下面的代碼來安裝RQT。
$ sudo apt-get install ros-noetic-rqt
$ sudo apt-get install ros-noetic-rqt-common-plugins
啟動RQT有兩只方式:
方式1:rqt
方式2:rosrun rqt_gui rqt_gui
然后就會打開一個空白的窗口:
然后這個窗口中最重要的地方就是 plugins
功能,其中包括了很多我們之前用過的功能性插件:
下面會挑幾個重要的插件來詳細講解。
5.5.2 Introspection
這個插件實際上就是 RQT_Graph
。使用方法:
打開一個例子,就以ROS官方給出的小烏龜跟隨器為例。
roslaunch turtle_tf2 turtle_tf2_demo_cpp.launch
然后點nodegraph
就可以打開節點關系圖,在紅色方框的位置可以選擇要查看的是只有節點還是節點和話題都查看。
在上圖中,橢圓的是節點,方框是話題,立方是工具。然后通過箭頭指名節點、話題、工具之間的關系。
5.5.3 Logging
這個是日志文件,其中比較有用的(我會用的)是 bag
和 console
。
- bag
rosbag
是一個記錄工具,可以針對話題來記錄其所作的操作。下面還是以烏龜跟隨器作為演示。
打開bag
點擊錄制按鍵 :
選擇想要錄制操作的話題(也可以通過From Nodes
來選擇想要錄制的節點):
這里想要錄制控制烏龜控制話題。
然后點擊record
,再為bag
選擇一個路徑。然后錄制就開始了。我們對烏龜隨便操作一下,然后直接 × 掉窗口以結束錄制。
當我們操作烏龜的時候,就會看見進度條上又藍色的痕跡,表示在這個時間點上我們對於話題有所操作。
然后,我們可以通過命令來查看我們錄制的文件:
並且我們也可以通過rqt
對於之前的操作進行回放,操作方法是,先點擊文件夾圖標。
然后找到我們之前記錄的文件,打開,進度條會再次出現。之前我們只需要點擊播放按鍵和右擊進度條,勾選publish
,就可以將之前記錄的數據回復出來:
- console
在這里,我們可以查看到系統發出來的日志。
還是以烏龜跟隨為例子:
5.5.4 Miscellaneous Tools
這里可以開啟一個控制台,比如 py console
然后我可以寫一些py的代碼:
5.5.5 Robot Tools
這里有很多很有用的工具,但是目前還沒有學習到,所以先留坑。
5.5.6 Services
這個就很清楚,就是服務通信。打開以后我們可以選擇想要控制的服務。
這里我們選擇一個最明顯的例子: /spwan
設置完參數后,點擊電話就可以提供服務,生成一只新的烏龜。
5.5.7 Messages、Topic
這個與 Service 類似,可以自行探索
5.5.8 Visualization
- TF trees
這個也可以簡單的查看到打開系統的 TF 關系。以烏龜跟隨器為例。
- Rviz
這個就不在這里展示了,以后仿真的時候機會多多。
- Pose view
還不會用,留坑
- Plot
可以通過Topic
來繪制話題下的消息內容隨時間的變換。比如:在烏龜跟隨器下,添加/turtle1/pose.x
(輸入完以后點加號),就可以查看烏龜的位姿信息。
然后動一下烏龜:
當然這個是可以記錄下圖表信息的,但是這個功能相當於截圖,只能保存瞬時的圖標值。
- nevigation
還不會用,留坑。