跳至主要内容

ROS2 DBMS

簡介

ros2bag 是一套命令列工具,可錄製系統中各個 Topic 發佈的資料,方便日後重播、分析與除錯。依照需求不同,bag 檔裡可能只有簡單的機械手臂軌跡,也可能是多顆高階感測器的自駕車資料。透過錄製 Topic,你也能把成果分享給其他人,讓他們在自己的裝置上重現。

主要功能:

  • 開始/停止錄製
  • 循環模式(每小時切一個檔案,並自動刪除 24 小時前的舊資料)
  • 列出所有已錄製的檔案
  • 匯出錄製的資料

操作方式

可以透過 DBMS 的 RESTful API(/dbms/ros)直接操控 ros2bag 來錄製 ROS 2 資料。

API 說明文件:http://ServerIP:8081/dbms/ros/api-docs

ROS2_DBMS_RESTful_API

步驟一:檢查 ros2bag 服務狀態

"record": "start" 代表正在錄製;"record": "stop" 代表已停止。

ROS2_DBMS_step1

步驟二:開始錄製

topics 欄位填入要錄製的 Topic,可用空白分隔多個 Topic,例如 /parameter_events /rosout

ROS2_DBMS_step2

提交後,服務狀態會變成 "record": "start"

ROS2_DBMS_step2-2

步驟三:列出所有 ros2 bag 檔案

伺服器會依照 UNIX timestamp 命名(例如 2022-12-26-16-14-209_0)。

ROS2_DBMS_step3

步驟四:查看指定 bag 檔案資訊

ROS2_DBMS_step4

步驟五:下載指定 bag 檔案

ROS2_DBMS_step5