ROS的資料錄取與回放

2021-08-22 08:14:05 字數 2124 閱讀 7003

資料的錄取與回放對日常的工作學習至關重要,因為在裝置上執行相關程式時,難免會出現錯誤或者不符合理想的地方,這就需要我們根據資料進行分析問題出在什麼地方,這時就需要錄取資料並進行回放去研究。

一, 首先讓我們在ros下執行乙個簡單的話題,以方便後續的資料錄取。

開啟乙個終端,輸入以下**:

roscore
再開啟另外乙個終端(第乙個終端不要關閉),輸入以下**:

rosrun turtlesim turtlesim_node
這時會跳出乙個有乙隻烏龜的視窗。

再開啟乙個終端(前兩個終端都不要關閉),輸入以下**:

rosrun turtlesim turtle_teleop_key
輸入鍵保持在此終端視窗,按鍵盤上的上下左右鍵可以控制小烏龜的移動。

好了,以上就是我們執行的乙個小例項,裡面包含話題。下面讓我們真正開始今天的學習主題——資料的錄取和恢復。

首先,我們來檢視一下有什麼話題正在執行,我們可以錄取什麼話題的資料,新開啟乙個終端,輸入:

rostopic list -v
會輸出以下結果:

published topics:

* /turtle1/color_sensor [turtlesim/color] 1 publisher

* /turtle1/cmd_vel [geometry_msgs/twist] 1 publisher

* /rosout [rosgraph_msgs/log] 2 publishers

* /rosout_agg [rosgraph_msgs/log] 1 publisher

* /turtle1/pose [turtlesim/pose] 1 publisher

subscribed topics:

* /turtle1/cmd_vel [geometry_msgs/twist] 1 subscriber

* /rosout [rosgraph_msgs/log] 1 subscriber

我們可以看到,現在系統中執行的話題如上。

二,建立資料儲存目錄並錄製

然後,在錄製資料前,我們需要建立或選擇資料儲存的目錄,下面我們建立相關目錄,並切換到相關目錄下,開始錄製資料。開啟新的終端,建立相關目錄(使用 mkdir 建立bagfiles的檔案目錄),輸入一下命令:

mkdir ~/bagfiles
然後切換到所建立的檔案目錄下(使用cd 命令切換到bagfiles檔案目錄下),輸入命令:

cd ~/bagfiles
最後,讓我們開始使用命令 rosbag 錄取資料,輸入命令:

rosbag record -a
此命令,錄製當前發布的全部話題。

這時可以回到控制小烏龜運動的終端裡去移動小烏龜,錄製一段資料後,回到錄製資料的終端按ctrl+c結束錄製。

首先,檢視一下我們所錄取的資料,切換到儲存資料的目錄下,檢視資料。輸入以下命令:

cd ~/bagfiles

ls

會輸出以年份,日期,時間命名的.bag為字尾的檔案

2018-08-04-15-52-49.bag
此檔案即為我們所錄取的資料。

我們錄取資料的目的當然是想能夠再現資料,下面我們通過回放bag檔案進行資料的回放。

輸入以下命令,檢視所錄資料的相關資訊,

rosbag info 2018-08-04-15-52-49.bag
會顯示出所錄取資料的路徑,開始時間,結束時間,大小等資訊。

下面我們回放所錄取的bag檔案中的資料,輸入命令:

rosbag play 2018-08-04-15-52-49.bag
這時,我們會看到,小烏龜會按照我們先前操作的動作再做一遍,其實就是我們所錄取資料的再現。而命令視窗中會顯示以時間為節點的小烏龜位置資訊。

好了,今天的學習到此為止,剛開會別打斷了好長時間。

ROS的資料錄取與回放turtlesim小例子

原創 2018 08 06 16 04 22 lz劍鳴驚夢 閱讀數 349 更多分類專欄 ros 資料的錄取與回放對日常的工作學習至關重要,因為在裝置上執行相關程式時,難免會出現錯誤或者不符合理想的地方,這就需要我們根據資料進行分析問題出在什麼地方,這時就需要錄取資料並進行回放去研究。一,首先讓我們...

ROS錄製與回放資料

rosbag record a附加 a選項,該選項表示將當前發布的所有話題資料都錄製儲存到乙個bag檔案中,個以年份 日期和時間命名並以.bag作為字尾的檔案。rosbag info 檢視bag檔案中的內容而無需回放出來。rosbag play 回放bag檔案以再現系統執行過程rosbag play...

ROS記錄回放資料

一 使用rostopic記錄資料 rostopic list 檢視所有topic列表 mkdir bagfile 新建乙個bagfile資料夾存放生成的rosbag檔案 cd bagfile rosbag record a 記錄所有topic資料,生成rosbag資料報 rosbag record ...