Raw capture is rarely training-ready. We clean it, score it, and hand it back in the exact schema your pipeline expects — with the audit trail to prove nothing was lost on the way.
We catch dropped frames, desynced sensors, label drift, duplicates, and outliers, then validate every episode against task-level rules — each ships with a quality score.
We map schemas explicitly, preserve modalities and timestamps, and verify every conversion with an automated round-trip — so datasets never silently degrade into your training loop.
Datasets rarely arrive in the format you train on. We move between them — and check the trip both ways.
| from \ to | RLDS | HDF5 | MCAP | LeRobot |
|---|---|---|---|---|
| RLDS | — | ✓ | ✓ | ✓ |
| HDF5 | ✓ | — | ✓ | ✓ |
| MCAP | ✓ | ✓ | — | ✓ |
| LeRobot | ✓ | ✓ | ✓ | — |
Every conversion maps fields explicitly, keeps timestamps and modalities intact, and is round-trip-checked so nothing silently degrades.
Working in something custom? We map it. ROS bags, Parquet, Zarr, and bespoke episode schemas are all in scope.
Every batch ships with pass rates, agreement stats, and per-episode quality scores — you see the numbers, not just the data.
Every cleaning rule, conversion, and label revision is versioned. You can trace any episode back to its raw capture.
Conversions are validated by converting back and diffing — timestamps, modalities, and schema fields all confirmed intact.
Task-level validation rules — gripper states, contact events, workspace bounds — are encoded and applied to every episode.
Strict access controls and NDAs by default. Data is processed in isolated environments and deleted on your schedule.
Send a sample dataset and get it back cleaned, scored, and converted within 48 hours — judge the quality yourself.
Share a sample of raw episodes and your target format. We'll return them cleaned, scored, and converted — with the QA report — so you can judge the work yourself.