Summary

AWS RoboMaker open-sourced cloud extensions that provide ROS nodes for recording and uploading robot data as rosbags to Amazon S3. Three nodes cover different use cases: s3_file_uploader (general file upload), rolling_recorder (captures past N minutes of data on demand), and duration_recorder (captures a future window starting now).

AWS RoboMaker 開源了雲端擴充套件,提供 ROS 節點將機器人資料記錄為 rosbag 並上傳至 Amazon S3。三個節點涵蓋不同使用場景:s3_file_uploader(通用檔案上傳)、rolling_recorder(按需捕獲過去 N 分鐘的資料)、duration_recorder(從現在起捕獲未來時間窗口)。

Key Points

  • s3_file_uploader: ROS action server that uploads any file to configured S3 bucket; single/multiple files per request
  • rolling_recorder: Triggered to save last X minutes of rosbags — useful for capturing failure context
  • duration_recorder: Triggered to save next X minutes — useful for feature testing data collection
  • All nodes require AWS IAM credentials with s3:PutObject permission
  • Supported on ROS Kinetic (Ubuntu 16.04) and Melodic (Ubuntu 18.04) — note: outdated distributions
  • The architecture is event-driven: failure detection code publishes a ROS action request to rolling_recorder

Insights

The rolling/duration recorder pattern solves a fundamental robotics data collection challenge: you can’t know in advance when interesting events will occur. The rolling recorder is particularly valuable for debugging — when a robot fails, you retroactively capture the rosbag from before the failure. This mirrors how flight recorders work. The abstraction (ROS action server + S3 backend) decouples data capture logic from storage infrastructure.

Connections

Raw Excerpt

rolling_recorder: Creates, splits, and uploads rosbag files for certain configured duration in the past, upon receiving a request. One use case is to use the rolling_recorder node along with a programmatic way to detect failures.