Robotics
LeRobot
Safetensors
pi05
vision-language-action
bimanual

π0.5 · Bimanual YAM · ultrawide + top camera · "Put all oranges in the bowl"

Full fine-tune of lerobot/pi05_base on brandonyang/yam-ultrawide-teleop — 75 episodes / 108,726 frames of bimanual YAM VR teleoperation with UMI-style ultrawide wrist cameras (312×416 @ 30 fps) plus the top camera (480×270). Task string (exact): Put all oranges in the bowl.

Sibling models, same recipe (12,000 steps, global batch 64, seed 1000, fp32): pi05-BimanualYAM-oranges (RealSense 3-cam) · pi05-BimanualYAM-oranges-uw-notop (wrist-only, in-the-wild variant).

Interface

  • Action: 30-step chunks of 14-D absolute joint positions [left_joint_0..5, left_gripper, right_joint_0..5, right_gripper] at 30 Hz; grippers [0,1].
  • Observation: 3 RGB cameras + 14-D state (quantile-normalized, discretized into the π0.5 prompt) + task string.
  • Camera mapping ships in the saved processors: observation.images.{top,left,right}{base_0_rgb, left_wrist_0_rgb, right_wrist_0_rgb} — feed raw dataset-style keys. Corrected normalization stats embedded (the hub dataset's stock q01/q99 carry lerobot#4156 bias up to ~50% of the quantile range; recomputed globally here).

Training

Identical recipe to the siblings (see the RealSense card for the full table): fp32 weights + fp32 AdamW, cosine 2.5e-5→2.5e-6, warmup 600, quantile normalization, narrowed color jitter + affine, gradient checkpointing, 8×RTX PRO 6000. 12,000 steps ≈ 7.06 epochs.

Offline eval (final checkpoint, step 12000)

Open-loop 30-step chunk error on training episodes [3, 17, 41, 62, 74], stride 60. All-in-sample; gates brokenness, does not predict task success.

Metric this model uw-notop (wrist-only) RealSense 3-cam MolmoAct2 run 2
Joint L1 (rad) 0.0093 0.0092 0.0071 0.0515
Gripper L1 0.0040 0.0039 0.0029 0.0036
Shuffled-camera L1 ratio 8.1× 8.1× 5.9× 1.53×
Non-finite 0 0 0 0

Offline probes (grasp-event timing, vision/state ablations) show this model and the wrist-only sibling are near-identical — the top camera adds little measurable value on this dataset. Small boundary overshoots (~1.5k scalars, worst ≈0.02 rad) occur where demonstrations sit exactly on joint/gripper limits; rely on client-side clamping.

Deployment notes

  • Cameras named exactly top, left, right. Task string exactly Put all oranges in the bowl. --robot.max_gripper_delta=0.05.
  • Local lerobot-rollout: pass --rename_map='{"observation.images.top":"observation.images.base_0_rgb","observation.images.left":"observation.images.left_wrist_0_rgb","observation.images.right":"observation.images.right_wrist_0_rgb"}'.
  • Remote policy server: requires the pi05 serving patch (see the RealSense sibling card). config.json ships pretrained_path: null intentionally.
  • fp32 inference ≈16GB weights → ≥24GB GPU; bf16 autocast at inference is safe.

Training curves: wandb aq-robotics/molmoact2-yam-oranges, run pi05-uw-top-12k.

Downloads last month
-
Safetensors
Model size
4B params
Tensor type
F32
·
Video Preview
loading

Model tree for ASethi04/pi05-BimanualYAM-oranges-uw-top

Finetuned
(272)
this model

Dataset used to train ASethi04/pi05-BimanualYAM-oranges-uw-top