一、使用rostopic記錄資料
$ rostopic list #檢視所有topic列表
$ mkdir bagfile #新建乙個bagfile資料夾存放生成的rosbag檔案
$ cd bagfile
$ rosbag record -a #記錄所有topic資料,生成rosbag資料報
$ rosbag record -o rosbag_name /topic1 /topic2
只記錄指定topic資料,-o指定要儲存的rosbag檔名,rosbag_name即為生成的rosbag檔名;若為-o,則生成的rosbag檔名後面自動新增年月日時間
(1) 可在bagfile檔案中檢視生成的.bag資料報;若出現.bag.active檔案,則表示正在記錄,使用ctrl+c可終止儲存資料;
(2) rosbag在記錄資料時相當於乙個subscribe程式
二、檢視rosbag資料
$ rostopic echo /topic
可在終端直接列印指定topic的資料資訊
$ rosbag info mybagfile.bag #檢視rosbag資料報基本資訊
三、將rosbag包轉化為txt檔案
$ rostopic echo -b mybagfile.bag -p /topic > mytxtfile.txt
將mybagfile.bag檔案中指定/topic的訊息轉化為txt文件,並存為mytxtfile.txt。
四、回放rosbag資料報
其中,bag time為rosbag資料報收到每一則訊息時的時間。
(1) rosbag在回放資料時相當於乙個publisher程式;
(2) 重新執行訂閱了bag包中發布的topic程式,即可接收到對應topic的資訊。
使用rviz回放rosbag資料報視覺化:
$ rosbag play -d 10 mybagfile.bag
-d 10: 指定延時10秒回放;開啟rviz訂閱topic即可在場景顯示視窗看到視覺化資訊。
注:rviz中訂閱rosbag資料報中的topic,需要先發布rosbag資料報,才能在rviz中搜尋到topic,一旦rosbag資料報發布完畢,則topic再次消失
五、.bag.active恢復為.bag:
$ cd bagfile
$ rosbag reindex mybagfile,bag.active
$ rosbag fix mybagfile.bag.active resultname.bag
ROS錄製與回放資料
rosbag record a附加 a選項,該選項表示將當前發布的所有話題資料都錄製儲存到乙個bag檔案中,個以年份 日期和時間命名並以.bag作為字尾的檔案。rosbag info 檢視bag檔案中的內容而無需回放出來。rosbag play 回放bag檔案以再現系統執行過程rosbag play...
ROS的資料錄取與回放
資料的錄取與回放對日常的工作學習至關重要,因為在裝置上執行相關程式時,難免會出現錯誤或者不符合理想的地方,這就需要我們根據資料進行分析問題出在什麼地方,這時就需要錄取資料並進行回放去研究。一,首先讓我們在ros下執行乙個簡單的話題,以方便後續的資料錄取。開啟乙個終端,輸入以下 roscore再開啟另...
ROS的資料錄取與回放turtlesim小例子
原創 2018 08 06 16 04 22 lz劍鳴驚夢 閱讀數 349 更多分類專欄 ros 資料的錄取與回放對日常的工作學習至關重要,因為在裝置上執行相關程式時,難免會出現錯誤或者不符合理想的地方,這就需要我們根據資料進行分析問題出在什麼地方,這時就需要錄取資料並進行回放去研究。一,首先讓我們...