1. 程式人生 > >《wiki官網教程》 4 視覺化與除錯工具

《wiki官網教程》 4 視覺化與除錯工具

一、儲存和回放資料

1、錄製資料(通過建立一個bag檔案)

記錄ROS系統執行時的話題資料,記錄的話題資料將會累積儲存到bag檔案中。

1、Terminal 1:

$ roscore

Terminal 2:

$ rosrun turtlesim turtlesim_node 

Terminal 3:

$ rosrun turtlesim turtle_teleop_key

2、Terminal 4:檢檢視當前系統中釋出的所有話題。 

$ rostopic list -v

Published topics:
 * /turtle1/color_sensor [turtlesim/Color] 1 publisher
 * /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisher
 * /rosout [roslib/Log] 2 publishers
 * /rosout_agg [roslib/Log] 1 publisher
 * /turtle1/pose [turtlesim/Pose] 1 publisher

Subscribed topics:
 * /turtle1/cmd_vel [turtlesim/Velocity] 1 subscriber
 * /rosout [roslib/Log] 1 subscriber

3、開始錄製

Terminal 4:

$ cd ~/bagfiles

$ rosbag record -a

然後回到turtle_teleop節點所在的終端視窗並控制turtle隨處移動10秒鐘左右。

4、結束錄製

在執行rosbag record命令的視窗中按Ctrl-C退出該命令。

2、回放

現在我們已經使用rosbag record命令錄製了一個bag檔案,

接下來我們可以使用rosbag info檢檢視它的內容,使用rosbag play命令回放出來。

$ rosbag info <your bagfile> 檢視bag檔案中的內容而無需回放出來。 
$ rosbag play <your bagfile>

回放bag檔案以再現系統執行過程。

3、錄製資料子集

rosbag record -O subset /turtle1/command_velocity /turtle1/pose

命令中的-O引數告訴rosbag record將資料記錄儲存到名為subset.bag的檔案中,同時後面的話題引數告訴rosbag record只能錄製這兩個指定的話題。 --------------------- 本文來自 NodYoung 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/nnnnnnnnnnnny/article/details/75142585?utm_source=copy

二、rqt_console 和 roslaunch

rqt_console屬於ROS日誌框架(logging framework)的一部分,用來顯示節點的輸出資訊。

rqt_logger_level允許我們修改節點執行時輸出資訊的日誌等級(logger levels)(包括 DEBUG、WARN、INFO和ERROR)。通過設定日誌等級你可以獲取該等級及其以上優先等級的所有日誌訊息

例子:turtlesim在rqt_console中的輸出資訊,同時在rqt_logger_level中修改日誌等級。

Terminal 1 2:

$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level

Terminal 3:

$ rosrun turtlesim turtlesim_node

預設日誌等級是INFO,所以你會看到turtlesim啟動後輸出的所有資訊

重新整理一下rqt_logger_level視窗並選擇Warn將日誌等級修改為WARN

Terminal 4:小烏龜動起來

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'