Robot and ego data, ready for the next policy.
Turn public datasets and raw teleop dumps into versioned, replay-ready training data.
- 6
- ingest formats
- 5
- export formats
- Open
- docs + adapters
from openbot import Data
raw = Data.load("teleop_dump.hdf5")
clean = (
raw.deduplicate()
.drop_noise()
.detect_drift(by="operator")
)
augmented = clean.augment_viewpoints(
cameras=["wrist", "overhead", "third_person"]
)
# Bench tells us which subtasks failed
hard_negatives = augmented.mine_failures(
bench_run="run_8c91a4"
)
hard_negatives.export(
format="lerobot",
output_dir="./clean_dataset"
)What separates a training set from noise.
Decide which episodes to keep before training.
- 01
Auto-dedup & noise filter
Collapse near-duplicates and keep what teaches.
- 02
Operator-drift detection
Score demonstrator consistency and flag bias.
- 03
Viewpoint augmentation
Re-render wrist, overhead, or third-person views.
- 04
Action replay & re-recording
Replay actions in sim under new lighting and dynamics.
- 05
Failure mining from Bench
Pull matching episodes into hard-negative sets.
- 06
Versioned datasets
Reproduce every curation step by hash.
From raw dump to ready-to-train.
Six reproducible stages, from ingest to export.
- 01
Ingest
Read RLDS, LeRobot, HDF5, Parquet, or MP4 + JSON sidecars.
- 02
Deduplicate
Collapse near-identical trajectories into unique behaviors.
- 03
Drift detection
Score demonstrator consistency and flag bias.
- 04
Viewpoint augmentation
Re-render wrist, overhead, or third-person views.
- 05
Failure mining
Pull matching episodes into targeted hard-negative sets.
- 06
Version & export
Export reproducibly to LeRobot, RLDS, HDF5, WebDataset, or Parquet.
Every format you already have.
Close the loop with better data.
Point Data at robot, ego, or teleop sources. Get a curated, versioned dataset back.
