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 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


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.3.0.tar.gz (168.2 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.3.0-py3-none-any.whl (146.5 kB view details)

Uploaded Python 3

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

Hashes for orbit_robotics-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d220e9d1e696cd74b22783c8b9ceeb3a6f8660104ac4784029416e002ebb22f1
MD5 daeda894bd0631f50664b3e98c730a7d
BLAKE2b-256 e4ea439e0caee388e942968d48bb737eea63a10bb0f0cf770a2ada4517e878f1

See more details on using hashes here.

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

Hashes for orbit_robotics-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 219d8ad83c9b1f5903fecafabb6efea73489c88bf9c155dd8c17ef8449e3ce62
MD5 2192e72c7818ff9ec3f73bcfcbbcc46e
BLAKE2b-256 7ae87a2b58d7e6b75c49c63211625e50735548830831b6f0db207d6e0ce64483

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