ฯ0.5 RoboTwin โ head-only, 15,000 updates
Full fine-tuning of gs://openpi-assets/checkpoints/pi05_base on 900 RoboTwin demonstrations.
This is the 15,000-update, head-only RGB inference checkpoint, not the later 30,000-update model.
The original zero-based checkpoint directory is 14999.
Inputs and outputs
- One head RGB image, originally 832ร480, resized with OpenPI preprocessing to 224ร224.
- No left/right wrist images, depth, or placeholder wrist tokens.
- A 14-dimensional ALOHA AgileX joint/gripper state and a language instruction.
- Predicts 50 actions. The model has 32 internal action dimensions; the ALOHA output adapter returns 14.
- State/action ordering: left arm (6), left gripper (1), right arm (6), right gripper (1).
- Uses the included quantile normalization and delta-joint action transforms; grippers remain absolute.
Training
Tasks: place_object_stand, place_object_scale, place_object_basket; 300 episodes per task,
900 episodes and 159,568 paired samples in total. Original demonstration states/actions/instructions
were paired with recollected head RGB. No raw demonstrations or videos are included here.
Global batch 32, seed 42, full fine-tuning, horizon 50, EMA 0.99. AdamW: b1=0.9, b2=0.95, eps=1e-8, weight decay=1e-10, gradient clipping=1. Learning-rate schedule: warmup 1,000, peak 2.5e-5, cosine decay horizon 30,000, end value 2.5e-6. Training stopped after 15,000 updates.
params/ contains the inference parameters exported by the original OpenPI checkpoint handler.
train_state/ and optimizer state are deliberately excluded; this repository is not a full training-resume checkpoint.
Evaluation at 15,000 updates
| Task | Successes | Success rate |
|---|---|---|
| place_object_stand | 89/100 | 89% |
| place_object_scale | 75/100 | 75% |
| place_object_basket | 81/100 | 81% |
| Total | 245/300 | 81.7% |
RoboTwin settings: aloha_agilex, joint actions, demo_clean, seed 0,
instruction_type=seen, expert check enabled, frequency 30, 100 trials per task.
These are single-run simulation results, not guarantees of generalization or hardware safety.
Installation and loading
This is an OpenPI JAX/Orbax checkpoint, not a Transformers from_pretrained model.
It requires the single-camera model support included under openpi_overlay/.
The code snapshot is based on XPolicyLab commit 9c98a3aaf02d05c6f9999a5a0a7a42090555ddf3.
Download the repository with huggingface_hub.snapshot_download:
from huggingface_hub import snapshot_download
checkpoint = snapshot_download("renbin1/pi05-robotwin-head-only-15000")
print(checkpoint)
Prepare an isolated checkout of XPolicyLab and its Pi_05/OpenPI environment:
git clone https://github.com/XPolicyLab/XPolicyLab.git
cd XPolicyLab
git checkout 9c98a3aaf02d05c6f9999a5a0a7a42090555ddf3
cd policy/Pi_05/openpi
uv sync
Copy the three files from <checkpoint>/openpi_overlay/src/openpi/ into the corresponding
src/openpi/ paths of this isolated checkout. They are the runtime model/config and ALOHA
adapter used for head-only support. Do not overwrite an unrelated working checkout.
The supplied pyproject.toml and uv.lock record the training environment dependencies;
the original checkout's installation instructions remain applicable.
With that environment activated, load using the bundled portable configuration:
import sys
import numpy as np
sys.path.insert(0, checkpoint)
from head_only_policy import load_policy
policy = load_policy(checkpoint)
observation = {
"images": {"cam_high": np.zeros((480, 832, 3), dtype=np.uint8)}, # replace with real RGB
"state": np.zeros(14, dtype=np.float32), # replace with real state
"prompt": "Place the object on the stand.",
}
result = policy.infer(observation)
assert result["actions"].shape == (50, 14)
Do not use the stock three-camera configuration or add black wrist images. Image data must be RGB, not BGR. Evaluate in simulation before any physical deployment. The tokenizer may download its normal upstream assets on first use.
Provenance and terms
Includes the upstream OpenPI LICENSE and LICENSE_GEMMA.txt; retain and review those
and the upstream base-model terms when using or redistributing the model.
The bundled runtime files contain local single-camera modifications.
inference_config.json records the camera/action settings.
upload_manifest.json records the exact files, byte sizes, and SHA-256 digests in this release
(excluding the manifest itself and Hugging Face's generated .gitattributes).