Spaces:
Running
Running
File size: 6,060 Bytes
51f085d c5b6ca8 51f085d c5b6ca8 51f085d c5b6ca8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | ---
title: Project-IRA
emoji: 🦾
colorFrom: indigo
colorTo: gray
sdk: static
pinned: false
short_description: Vision-Language-Action policies for LeRobot SO101
---
# Project-IRA — Interactive Robotic Arm
Vision-Language-Action policies and multi-task manipulation datasets for the
**SO-101** low-cost robot arm, built on [LeRobot](https://github.com/huggingface/lerobot).
**Code:** https://github.com/Project-IRA/interactive-robotic-arm — the repositories here and that repo depend on each other; the code
repo contains the recording, validation, merging, training and inference pipeline that
produced everything in this organization.
**Authors:** Cleo Baten, Bela Keppler, Jonas Sapper
---
## Start here
If you just want a policy that works on an SO-101:
> **[`Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V7_Full_V2`](https://huggingface.co/Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V7_Full_V2)** — checkpoint **008000**
This is the strongest model in the org: Pi0.5 fine-tuned on all four tasks, with image
augmentation. Note its unusual internal directory layout, documented on its card.
## Demo
<video controls src="https://huggingface.co/Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V7_Full_V2/resolve/main/assets/pi05_lego_demo.mp4"></video>
Pi0.5 sorting lego bricks onto colour-matched plates on the physical SO-101.
## Tasks
| Task | What the arm does |
|---|---|
| **Sort Lego Color** | Sort lego bricks onto colour-matched plates |
| **Desk Cleanup** | Clear objects from the desk into a bowl |
| **Dice Throw** | Pick up a dice cup and tip the dice onto the table ("true random") |
| **Fetch Ball** | Pick up a ball and place it into a waiting human hand |
## Models
Quality ratings are qualitative operator assessments from rollouts on the physical arm.
There are no formal success-rate numbers.
| Model | Base | Trained on | Best checkpoint | Quality |
|---|---|---|---|---|
| [Pi05 V7 Full V2](https://huggingface.co/Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V7_Full_V2) | Pi0.5 | all 4 tasks | **008000** | **Best overall** — works really well |
| [Pi05 V7 Full](https://huggingface.co/Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V7_Full) | Pi0.5 | all 4 tasks | **010000** | Works really well |
| [Pi05 V4 Lego](https://huggingface.co/Project-IRA/TPSoSe2026_Pi05_LeRobot_SO101_Finetuning_V4_Lego) | Pi0.5 | Lego only | **030000** | Works really well (Lego only) |
| [SmolVLA V6 Full](https://huggingface.co/Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V6_Full) | SmolVLA | all 4 tasks | ~150000 (untested) | OK-ish, across most tasks |
| [SmolVLA V5 Full](https://huggingface.co/Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V5_Full) | SmolVLA | all 4 tasks | **100000** | Works, but worse than V6 |
| [SmolVLA V2 Lego](https://huggingface.co/Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V2_Lego) | SmolVLA | Lego only | **030000** | OK-ish (Lego only) |
| [SmolVLA V3 Desk Cleanup](https://huggingface.co/Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V3_Desk_Cleanup) | SmolVLA | Desk Cleanup only | — | Does not work |
| [SmolVLA V1 Misc](https://huggingface.co/Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V1_Misc_Dataset) | SmolVLA | misc early data | — | Does not work |
**The headline result:** Pi0.5 substantially outperforms SmolVLA on this setup. The
~450M SmolVLA appears capacity-limited across four tasks, while Pi0.5 handles the full
multi-task set well — and needs far fewer steps to get there (8k–10k vs 100k–200k).
## Datasets
| Dataset | Episodes | Content |
|---|---|---|
| [Full Merged Final V1](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Full_Merged_Final_LeRobot_SO101_V1) | **930** | The training set. All 4 tasks, 93 prompts, 844,208 frames |
| [Lego](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Lego_LeRobot_SO101) | 460 | Colour sorting |
| [Desk Cleanup](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Desk_Cleanup_LeRobot_SO101) | 350 | Desk clearing (250 of these went into the merge) |
| [Dice Throw](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Dice_Throw_LeRobot_SO101) | 120 | Dice cup |
| [Fetch Ball](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Fetch_Ball_LeRobot_SO101) | 100 | Ball handover |
| [Collection](https://huggingface.co/datasets/Project-IRA/TPSoSe2026_Dataset_Collection_LeRobot_SO101) | — | Early miscellaneous data; superseded |
## Robot setup
| | |
|---|---|
| Robot | SO-101 follower arm (6-DOF), `robot_type: so_follower` |
| Teleoperation | SO-101 leader arm |
| Control frequency | 30 fps |
| State / action space | 6-dim: `shoulder_pan.pos`, `shoulder_lift.pos`, `elbow_flex.pos`, `wrist_flex.pos`, `wrist_roll.pos`, `gripper.pos` |
| Camera `observation.images.desk_view` | 800x600, h264 (recording) |
| Camera `observation.images.wrist_left` | 640x480, h264 (recording) |
> **Inference note:** both cameras are run at **640x480 during inference**, not at their
> recording resolutions, to reduce the payload sent to the inference server.
## Prompt design
Language conditioning was varied deliberately: the prompt phrasing was changed roughly
every 10 episodes during recording. The merged dataset therefore contains **93 distinct
prompts across 10 episodes each**, all in English. Full prompt lists are on each dataset card.
## Licensing
All models and datasets here are **CC BY-SA 4.0** — share-alike, so derivatives must stay
open. Upstream LeRobot, SmolVLA and Pi0.5/openpi components are Apache-2.0; their
copyright notices and licence text are retained as Apache-2.0 Section 4 requires.
## Citation
```bibtex
@misc{project_ira_2026,
title = {Project-IRA: Interactive Robotic Arm},
author = {Baten, Cleo and Keppler, Bela and Sapper, Jonas},
year = {2026},
howpublished = {\url{https://huggingface.co/Project-IRA}},
note = {Code: \url{https://github.com/Project-IRA/interactive-robotic-arm}}
}
``` |