Data engineering copilot for robot imitation learning datasets
Project description
ORBIT
Orbit analyzes your robot training data and tells you what's wrong before you waste 8 hours training.
pip install orbit-robotics
orbit analyze lerobot/your-dataset
The Workflow
1. Analyze your dataset
orbit analyze lerobot/xarm_lift_medium
Dataset Readiness: C (score: 65/100)
Usable but has problems — run orbit clean first
✓ High consistency (1.00)
✓ Sufficient episodes (800) for diffusion_policy
✓ Good policy fit (1.00)
✗ 4 joints clipping (>10% of frames)
✗ High action divergence (0.46) — demos contradict each other in similar states
YOUR DATA AT A GLANCE
Episodes: 800 (top 25%)
Coverage: 0.84 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░
Signal Health: 0.00 ░░░░░░░░░░░░░░░░░░░░░░░░░
2. Clean bad episodes
orbit clean lerobot/xarm_lift_medium --dry-run
┌────────────────────┬──────────┐
│ Original episodes │ 800 │
│ Episodes to remove │ 0 (0%) │
│ Episodes to keep │ 800 │
│ Dead joints │ 0 of 4 │
│ Quality │ 71 → 71 │
└────────────────────┴──────────┘
When bad episodes are found, orbit clean removes them using the LeRobot API and tells you exactly what was wrong with each one.
3. Get a training command
orbit suggest lerobot/xarm_lift_medium
Recommended: Diffusion Policy (fit: 1.00)
┌─────────────┬──────────────────────┐
│ Episodes │ 800 │
│ Cameras │ 1 x 480p │
│ Action dims │ 4 │
│ FPS │ 15 │
│ Alternative │ SmolVLA (fit: 1.00) │
└─────────────┴──────────────────────┘
lerobot-train \
--dataset.repo_id=lerobot/xarm_lift_medium \
--policy.type=diffusion_policy \
--batch_size=32 \
--steps=500000 \
--policy.horizon=4 \
...
What Orbit Catches
- Dead servos that stopped moving during data collection — wasting model capacity learning zero outputs
- Aborted or corrupted episodes that are too short, too long, or have no meaningful motion
- Clipping joints hitting their position limits, which creates discontinuous action targets
- Inconsistent demonstrations where you did different things in similar states, confusing behavior cloning
- Wrong policy for your data — ACT needs consistent demos, Diffusion Policy handles multimodal strategies, SmolVLA needs fewer episodes but wants cameras
- Not enough data for your chosen policy, with specific targets: ACT wants 50+, Diffusion Policy wants 100+, BC wants 200+
- Timing problems — frame drops, FPS jitter, and state-action lag from slow teleoperation setups
- Low workspace coverage — demonstrations that only cover a narrow region of the task space
More Commands
# Plan a data collection session
orbit plan "pick up cups" --robot so100 --policy act
# Diagnose training failures from logs
orbit debug outputs/train/my-run
# Browse 82 published benchmarks
orbit benchmark --task pick_and_place --min-success 0.7
# Track progress against your collection plan
orbit track lerobot/my-dataset
# JSON output for scripting
orbit analyze lerobot/my-dataset --json
# Deep AI analysis (requires API key)
orbit analyze lerobot/my-dataset --deep
Policy Support
| Policy | Flag | Best for |
|---|---|---|
| ACT | --policy act |
Consistent, high-res demos (50+ episodes) |
| Diffusion Policy | --policy diffusion_policy |
Multimodal strategies (100+ episodes) |
| SmolVLA | --policy smolvla |
Vision-language tasks, fewer episodes needed |
| DP3 | --policy dp3 |
3D point cloud observations |
| BC / BC-RNN | --policy bc |
Large datasets (200+ episodes) |
--policy auto (default) recommends the best policy for your data.
Install
pip install orbit-robotics # Core analysis (no GPU needed)
pip install orbit-robotics[vision] # + SigLIP embedding analysis
pip install orbit-robotics[vlm] # + Gemini VLM task analysis
pip install orbit-robotics[all] # Everything
License
MIT — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orbit_robotics-0.3.0.tar.gz.
File metadata
- Download URL: orbit_robotics-0.3.0.tar.gz
- Upload date:
- Size: 168.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d220e9d1e696cd74b22783c8b9ceeb3a6f8660104ac4784029416e002ebb22f1
|
|
| MD5 |
daeda894bd0631f50664b3e98c730a7d
|
|
| BLAKE2b-256 |
e4ea439e0caee388e942968d48bb737eea63a10bb0f0cf770a2ada4517e878f1
|
File details
Details for the file orbit_robotics-0.3.0-py3-none-any.whl.
File metadata
- Download URL: orbit_robotics-0.3.0-py3-none-any.whl
- Upload date:
- Size: 146.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
219d8ad83c9b1f5903fecafabb6efea73489c88bf9c155dd8c17ef8449e3ce62
|
|
| MD5 |
2192e72c7818ff9ec3f73bcfcbbcc46e
|
|
| BLAKE2b-256 |
7ae87a2b58d7e6b75c49c63211625e50735548830831b6f0db207d6e0ce64483
|