--- license: other license_name: gemma-terms-of-use license_link: https://ai.google.dev/gemma/terms tags: - robotics - pi0.5 - openpi - lora - tactile - xarm base_model: physical-intelligence/pi05_droid --- # pi05_xarm_dishwasher_points9_arrow_len0_lora pi0.5 (openpi) LoRA fine-tune for the xArm **dishwasher** task (`"pull the basket outside of the dishwasher and pick up the mug and put it into the basket"`), trained on camera frames with the **points9_arrow_len0** tactile overlay: 9 tactile-pad dots per finger at FK-projected positions, force arrows at **zero length** — the force-information ablation of points9_arrow. ## Training | | | |---|---| | Base | `pi05_droid` (knowledge-insulated pi0.5, DROID pre-training) | | Recipe | LoRA r16/a16 on Gemma-2B backbone + r32/a32 on 300M action expert, attn+ffn | | Batch / LR | 8 / cosine 1e-4 -> 1e-5, 500 warmup, AdamW, grad-clip 1.0 | | Data | [EdwardoSunny/xarm_dishwasher_points9_arrow_len0](https://huggingface.co/datasets/EdwardoSunny/xarm_dishwasher_points9_arrow_len0) (100 eps, 28096 frames) | | Early stop | step 7800 (rolling-1k-window <0.5% rel. improvement, 2 consecutive checks) | | Final train loss | **0.0287** (baseline no-overlay: 0.029; full points9_arrow: 0.024) | Training-loss comparison across this task's variants (identical hyperparameters/protocol, only the burned-in overlay differs) — see the collection for all four tasks. ## Contents - `params/` — merged base+LoRA weights (orbax), self-contained for inference - `assets/local/xarm_dishwasher_points9_arrow_len0/norm_stats.json` — state/action normalization - Optimizer state stripped (inference-ready). Config name: `pi05_xarm_dishwasher_points9_arrow_len0_lora` ## Deployment note At inference, render the live camera frames with the SAME overlay (`SensorDrawer` mode `points9_arrow`, `arrow_length_scale=0`, thickness 8, dot size 22) or the policy will be out-of-distribution. See `tactile-data-collection/scripts/render_arrowlen0.py`.