Downloads · 30 days
18
29% of all-time downloads
arrow-hf/xvla-robotwin-place-bread-skillet-300ep
xvla-robotwin-place-bread-skillet-300ep is a robotics model from arrow-hf. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for lerobot. The card lists the license as apache-2.0.
X-VLA policy fine-tuned on 300 demonstration episodes of the placebreadskillet task from RoboTwin 2.0 (democlean config), starting from the lerobot/xvla-base base checkpoint.
Downloads · 30 days
18
29% of all-time downloads
All-time downloads
62
Public
Parameters
880M
1.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.8 GB · 100%
From the Hugging Face model README
place_bread_skillet (300 ep, single instruction)X-VLA policy fine-tuned on 300 demonstration episodes of the place_bread_skillet task from RoboTwin 2.0 (demo_clean config), starting from the lerobot/xvla-base base checkpoint.
This is the X-VLA counterpart to arrow-hf/smolvla-robotwin-place-bread-skillet-50ep (SmolVLA, 50ep + smolvla_robotwin base).
Dual-arm pick-and-place: pick up the bread and place it inside the skillet.
dual_cam_global, cam_wrist_65, cam_wrist_75 (240×320, D435)"place the bread in the skillet"| Config | Value |
|---|---|
| Base checkpoint | lerobot/xvla-base (Florence2 backbone, 879M params) |
| Training data | 300 RoboTwin demonstrations, single instruction (Strategy A) |
| Batch size | 32 |
| Steps | 20000 (~5 epochs) |
| Optimizer | AdamW, lr=1e-4 |
| Scheduler | Cosine, warmup=1000, decay=20000 |
| Chunk size | 32 |
| dtype | bfloat16 |
| Freeze | None (vision encoder + language encoder + policy transformer + soft prompts all unfrozen) |
Evaluated in RoboTwin 2.0 simulator (demo_clean config), 10 episodes, max_steps=400, action_chunk_exec=32 (full chunk).
Success rate: 8/10 (80%)
| Episode | Result | Steps |
|---|---|---|
| 0 | ❌ FAIL | 400 (timeout, likely sim cold start) |
| 1 | ❌ FAIL | 400 (timeout, sim cold start) |
| 2-9 | ✅ SUCCESS × 8 | 119-150 (10-15s) |
The first 2 episodes fail due to RoboTwin SAPIEN sim cold start (vulkan / cache warmup); from episode 2 onward, the policy is consistently successful.
| Model | Data | Base | Success rate |
|---|---|---|---|
SmolVLA (smolvla_base) | 300 ep | smolvla_base | 0/10 (0%) |
SmolVLA (smolvla_robotwin 50 ep) | 50 ep | smolvla_robotwin | 6/10 (60%) |
| X-VLA (this model) | 300 ep | xvla-base | 8/10 (80%) |
X-VLA outperforms generic-pretrained SmolVLA significantly on this task, but requires 6× more data and a longer training schedule compared to the SmolVLA + RoboTwin-pretrained-base strategy.
from lerobot.policies.xvla import XVLAPolicy
policy = XVLAPolicy.from_pretrained("arrow-hf/xvla-robotwin-place-bread-skillet-300ep")
Important: At inference time, use action_chunk_exec=32 (full chunk). With the default action_chunk_exec=16, TOPP replanning interference causes the policy to fail.
See LeRobot documentation for inference setup.
Built on X-VLA pretrained base, fine-tuned on data collected from RoboTwin 2.0.