pi0 β€” ManiGuard real-teleop jar (DROID schema)

LoRA fine-tune of pi0 on 60 real Franka teleop trajectories. This is the pi0 half of a model comparison: the pi0.5 counterpart was trained on the same data with the same recipe, so the two differ only in the model.

  • Task prompt: "Move the jar into the bowl, ensuring that the lid remains securely closed during the transfer"
  • Dataset: IDEAS-Lab-Northwestern/real-jar-60-droid-refined (private) β€” 60 episodes, 15,012 frames, 15 fps
  • Warm start: gs://openpi-assets/checkpoints/pi0_droid/params
  • Norm stats: pi0_droid's bundled DROID statistics, reused verbatim β€” not recomputed on this dataset. Bundled per rung at <step>/assets/droid/norm_stats.json. ⚠️ They are pi0's own; the pi0.5 sibling ships pi05_droid's different file. Do not swap them.
  • LoRA: gemma_2b_lora (rank 16) + gemma_300m_lora (rank 32), batch 4, EMA off, 50,000 steps.

Controller β€” read this before running on a robot

Action actions[0:7] = arm joint VELOCITY (rad/s) Β· actions[7] = next-frame gripper target (normalized 0=open, 1=closed)
Apply as joint-velocity command to the arm + position target to the gripper
Chunk action_horizon = 10 (pi0.5 sibling uses 15)
⚠️ No delta reconstruction the actions are already velocities. openpi's LeRobotDROIDDataConfig deliberately applies no delta transform β€” do not integrate or difference them, unlike the ManiGuard sim checkpoints which emit absolute joint targets
State joint_position (7) + gripper_position (1)
Cameras exterior_image_1_left ← exterior third-view Β· wrist_image_left ← wrist Β· exterior_image_2_left is a zero-filled placeholder (the rig has no second exterior camera) and is masked
Rate data collected at 15 fps

Checkpoints

Ladder 10000/ 20000/ 30000/ 40000/ 50000/ (the final rung is openpi's 0-indexed 49999, relabeled). train_state/ is omitted β€” inference only.

⚠️ Use 20000/ when comparing against the pi0.5 sibling β€” that checkpoint stopped at 20,000 steps, so 20k is the step-matched point. 50000/ is this model trained to the same budget as the other two families.

The best real-robot rung is not assumed to be the last one; sweep the ladder on the robot.

Serving

openpi policy server with config pi0-droid_real_jar_60_refined_lora from the ManiGuard openpi fork (maniguard/openpi_sft/train_configs.py), pointed at a downloaded rung. Evaluated on a real Franka, not in simulation.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Model tree for IDEAS-Lab-Northwestern/pi0-real-jar-60-droid-refined-lora

Base model

lerobot/pi0_old
Finetuned
(13)
this model