1. 程式人生 > 其它 >ROS2學習之旅(9)——使用rqt_console

ROS2學習之旅(9)——使用rqt_console

學會使用rqt_console...

rqt_console是一個GUI工具,用於在ROS2中檢視日誌訊息。通常,日誌訊息會顯示在終端中。使用rqt_console,可以隨著時間的推移收集這些訊息,以更有組織的方式仔細檢視它們,過濾它們,儲存它們,甚至重新載入已儲存的檔案以在不同的時間進行檢視。
節點使用日誌以各種方式輸出有關事件和狀態的訊息。

1.準備

執行rqt_console,在終端執行:

ros2 run rqt_console rqt_console

此時,會開啟rqt_console:

控制檯的第一部分將顯示來自系統的日誌訊息。

中間部分可以通過排除嚴重級別來過濾訊息,還可以使用右邊的加號按鈕新增更多排除過濾器。

底部部分用於突出顯示包含輸入的字串的訊息,也可以在此部分新增更多的過濾器。

現在用下面的命令在新終端中啟動turturlesim:

ros2 run turtlesim turtlesim_node

2.rqt_console中的訊息

讓海龜撞到牆,以此生成rqt_console要顯示的日誌訊息。在一個新終端中,輸入下面的ros2 topic pub命令:

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

中,會看到warn安全級別的訊息被一遍又一遍地顯示,如下所示:

在執行ros2 topic pub命令的終端中按Ctrl+C,以結束海龜撞牆。

3.日誌級別

ROS2的記錄器級別按嚴重程度排序:

Fatal
Error
Warn
Info
Debug

對於每個級別所代表的內容並沒有明確的標準,但可以這樣假設:

  • Fatal訊息表明系統將終止以保護自身免受損害。

  • Error訊息指出的重大問題不一定會損害系統,但會妨礙系統正常執行。

  • Warn訊息表示可能代表更深層次問題的意外活動或非理想結果,但不會直接損害功能。

  • Info訊息指示事件和狀態更新,這些更新可作為系統是否按預期執行的可視驗證。

  • Debug訊息詳細說明了系統執行的整個步驟。

預設級別為Info,所以將看到預設嚴重級別和更嚴重級別的訊息。

通常,只有Debug訊息被隱藏,因為它們是唯一比Info級別輕的級別。例如,如果將預設級別設定為Warn,則只會看到嚴重性為WarnErrorFatal的訊息。

3.1更改預設日誌級別

可以在第一次執行/turtlesim節點時設定預設記錄器級別,在終端中輸入如下命令:

ros2 run turtlesim turtlesim_node --ros-args --log-level WARN

現在不會看到上次在控制檯啟動turtlesim時出現的初始Info級別警告,這是因為Info訊息的優先順序低於新的預設級別Warn

4.總結

如果需要仔細檢查來自系統的日誌訊息,rqt_consle可能非常有用。出於各種原因,可能希望檢查日誌訊息,通常是為了找出哪裡出了問題以及導致該問題的一系列事件。

如果給您帶來幫助,希望能給點個關注,以後還會陸續更新有關機器人的內容,點個關注不迷路~歡迎大家一起交流學習。
都看到這了,點個推薦再走吧~
未經允許,禁止轉載。