ROS2官網教程學習筆記使用rqt_console篇
學習目標:瞭解rqt_console
背景
rqt_console
是一個用於查看ROS日誌消息的GUI工具。通常日誌的消息會顯示在終端中。使用rqt_console的好處是,我們可以按照時間收集這些日誌,以一個更有條理的方式查看日誌,還可以對日誌進行過濾和保存,甚至可以重新加載保存的文件對日誌進行重放。
節點通過日誌的方式輸出它的狀態、過程變換等信息。這些信息通常是編程時輸出想在運行的時候看到的信息。
準備條件
需要按照rqt_console 和 turtlesim
學習內容
1. 打開節點
新打開一個終端,用下面的命令打開rqt_console
ros2 run rqt_console rqt_console
打開過後頁面如下
最上面的部分是日誌顯示的地方
中間的框是按照日誌等級不進行顯示的過濾選項,選擇了對應的日誌信息就不會顯示該等級的日誌了
最下面是高級過濾條件的選項
現在我們打開小烏龜
ros2 run turtlesim turtlesim_node
2. rqt_console上的消息
爲了產生消息我們發送一個命令讓烏龜一直走直到撞到牆
ros2 topic pub -r 1 /turtle1/cmd_vel geometry_msgs/msg/Twist '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
我們給烏龜賦了一個恆定的速度,烏龜走一會就會撞到牆上。
這個時候我們在rqt_console
上就會看到有消息輸出
現在用Ctrl + C把發佈消息的節點關掉,不讓烏龜繼續撞牆了,這個時候我們可以看到不再有消息輸出
3. 日誌等級
日誌按照重要程序依次排序如下
Fatal
Error
Warn
Info
Debug
對於每個等級沒有嚴格的標準,可以進行和理假設:
- Fatal 表明系統將終止以保護自身不受損害。
- Error 表示不一定會損壞系統的重大問題,但會阻止系統正常運行。
- Warn 表示出現一下意外或者不理想結果和表現,但不會直接導致系統不能正常運行。
- Info 表示系統的一信息或狀態更新,作爲系統按預期運行的可視化驗證。
- Debug 詳細說明了系統執行的整個逐步過程。
通常默認設置的消息級別爲Info
,我們只能看到這個級別及其以上等級的消息
3.1 設置默認的消息等級
我們可以在節點啓動的時候設置默認的消息等級,例如
ros2 run turtlesim turtlesim_node --ros-args --log-level WARN
這個時候我們就看不到程序剛剛運行的消息了,因爲現在我們把默認的消息等級設置爲了WARN
總結
rqt_console
是一個非常有用的工具,特別是我們在調試程序的時候,會帶來很多方便。