pi0.5 speed ablation (speeda) — OpenArm + RH56F1, real teleop + synthetic, step 20k

LeRobot-native pi05 (v0.6.1) fine-tuned on real teleop v4 (261 ep, 20 Hz) + 324 synthetic RH56F1 episodes from the EE-speed ablation: A_norm — skeleton flow time-warped so the EE speed matches teleop (keyframe images unchanged). 8 synthetic tasks (airfryer_2, ball, bottle, bottle_over_shelf, bottle_pour_2, box, coffee_pot, doll); 4 real + 8 synthetic = 12 cells, shares ∝ sqrt(frames). Synthetic actions: depth IDM + HaWoR wrist IK on the speed-warped videos.

Comparison points (same recipe): RyanL22/pi05-openarm-rh56f1-ablation-noskel-realsynth-20k, ...-firstkf-realsynth-20k, and the full pipeline RyanL22/pi05-anyh2r-rh56f1-0916-wristik-30k.

Checkpoint: step 20,000 (final), NAVER MLXP 4x H200, batch 16 x 4 = 64.

value
vision encoder (SigLIP) fine-tuned (not frozen)
image augmentation photometric + affine, one draw replayed across the stereo pair
mirror augmentation off
optimizer AdamW, peak lr 2.5e-5, cosine decay, warmup 1000
chunk 50 actions @ 20 fps (2.5 s)
normalization quantiles; constant dims (head) widened to mean ± 0.1 rad

Inputs: base_0_rgb <- left ZED 288x512, left_wrist_0_rgb <- right ZED; state/action 28 dims neck(2) | left_arm(7) | right_arm(7) | left_hand(6) | right_hand(6). Rollout: feed the state neck as 0.889 / 0.001.

from lerobot.policies.pi05.modeling_pi05 import PI05Policy
policy = PI05Policy.from_pretrained("RyanL22/pi05-openarm-rh56f1-ablation-speeda-realsynth-20k")
Downloads last month
22
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Video Preview
loading

Model tree for RyanL22/pi05-openarm-rh56f1-ablation-speeda-realsynth-20k

Finetuned
(776)
this model