Skip to main content

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 quickstart                       # Try it in 30 seconds
orbit analyze lerobot/your-dataset     # Analyze your own data
orbit fix lerobot/your-dataset         # Auto-fix: analyze + clean + suggest

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

4. Or just run the full pipeline in one command

orbit fix lerobot/my-dataset

Runs analyze, clean, and suggest in sequence. Use --dry-run to preview changes.

5. Zero-config quickstart

orbit quickstart

Analyzes a public reference dataset so you can see what ORBIT does in 30 seconds, before pointing it at your own data.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orbit_robotics-0.4.0.tar.gz (317.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orbit_robotics-0.4.0-py3-none-any.whl (284.9 kB view details)

Uploaded Python 3

File details

Details for the file orbit_robotics-0.4.0.tar.gz.

File metadata

  • Download URL: orbit_robotics-0.4.0.tar.gz
  • Upload date:
  • Size: 317.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for orbit_robotics-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b2aabad47943435dbe908e6ff03c1d3ac5dcde4cdfef09671e84a96f5e76eff2
MD5 f515334a1a21abdd51ef6504d6fc43d6
BLAKE2b-256 5b33734bf57958e007a58f2773749de10fd7c848705a1792abf207228e81f829

See more details on using hashes here.

File details

Details for the file orbit_robotics-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: orbit_robotics-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 284.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for orbit_robotics-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc7107ac47f6fe4854dfe0c99b6ea7fb5b31889da04672b17e429927a405b395
MD5 6f60e759870599a6625452a310b1dcdd
BLAKE2b-256 99d1f645db6d29b29bc32c0a53e562968fec3c4e31ee049aaacc25bdfa64b727

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page