Quick Start
Recording
skip
Replaying
skip
TimedSensorStorage
Stores sensor data with timestamps as pickle files. Each frame is saved as000.pickle, 001.pickle, etc.
skip
.raw_msg attribute, that’s pickled instead of the full object. You can customize with the autocast parameter:
skip
TimedSensorReplay
Replays stored sensor data with timestamp-aware iteration and seeking.Basic Iteration
skip
Realtime Playback
skip
Seeking and Slicing
skip
Finding Specific Frames
skip
Observable Stream
The.stream() method returns an Observable that emits frames with original timing:
skip
Usage: Stub Connections for Testing
A common pattern is creating replay-based connection stubs for testing without hardware. Fromrobot/unitree/go2/connection.py:
This is a bit primitive. We’d like to write a higher-order API for recording full module I/O for any module, but this is a work in progress at the moment.
skip
skip
Data Format
Each pickle file contains a tuple(timestamp, data):
- timestamp: Unix timestamp (float) when the frame was captured
- data: The sensor data (or result of
autocastif provided)
000.pickle, 001.pickle, etc.
Recordings are stored in the data/ directory. See Data Loading for how data storage works, including Git LFS handling for large datasets.
