ROS
[ROS Husky主題實作] 單元9 : 轉換 ROS bag 到 CSV
<source : unsplash>
一、前言
ROS bag 是什麼呢?ROS bag 是用來紀錄和播放 topic 中的內容,對於系統的優化和除錯,有很大的助益。
本篇文章是參考 <clearpathrobotics> 教學,並將實作過程記錄下來。為什麼要將 ROS bag 資料轉換成CSV呢?我個人的理解當然是和 ROS bag 工具的開發原意一樣,將檔案紀錄保存,作為系統優化與除錯的依據。
此外,CSV檔已經廣泛應用在 Machine Learning (機器學習) 的領域,透過將 ROS bag 轉換成 CSV 的格式,或許有機會幫我們從資料中找到一些 pattern (模式),進而能實現一些預測性的應用,讓機器人更加完美。
二、ROS bag的基本指令
(一)、紀錄 bag
$ rosbag record topic1 topic2 (topic可依需求延伸)
範例 : $ rosbag record rosout tf cmd_vel
(二)、檢視 bag 資訊
此指令為向使用者顯示 bag 檔案的資訊,包括起始時間、topics、message數量和平均頻率等資訊,通常以 yaml 的格式呈現。
$ rosbag info -y 檔案路徑
範例 : $ rosbag info -y /path/to/my.bag
(三)、播放 bag
此指令為播放 bag 所記錄的 topic 內容,如果在同一時間紀錄多個 topics ,則這些 topics 的內容被撥放時,會同步顯示。
當同時播放兩個時間不同的 bag,系統會將這兩個視為同一個 bag。舉例來說,假設你現在先錄製 bag A,一個小時後錄製 bag B。現在同時播放 bag A 和 bag B,bag B在一個小時後才會顯示。
$ rosbag play bag1 bag2 (bag可依需求延伸)
範例 : $ rosbag play recorded1.bag recorded2.bag
(四)、壓縮所有 bag 檔案
$ rosbag compress *.bag
(五)、解壓縮 bag 檔案
$ rosbag decompress *.bag
三、Python程式碼實作
---
參考資料 :
#rosbag #YAML
0 留言