--- license: apache-2.0 base_model: lerobot/pi05_base pipeline_tag: robotics tags: - LeRobot - so101 - pi0.5 - lora --- # pi05_so101_block_stack_sim pi0.5 fine-tuned to stack one 30 mm block on another with an [SO-101](https://github.com/TheRobotStudio/SO-ARM100), in simulation. Trained by `train/pi05_so101_lora_backbone.yaml` in [vla-test](https://github.com/danwahl/vla-test) on revision `v2` of [drwahl/so101_block_stack_sim](https://huggingface.co/drwahl/so101_block_stack_sim/tree/v2). LoRA on `lerobot/pi05_base`'s gemma_2b language backbone, with the action expert and the projection heads dense and SigLIP frozen. `adapter/` holds the adapter and the normalization processors; `train/merge.py` folds it into the base weights for a checkpoint that loads without one. ```bash hf download drwahl/pi05_so101_block_stack_sim --local-dir pi05_so101_block_stack_sim uv run python train/merge.py pi05_so101_block_stack_sim/adapter pi05_so101_block_stack_sim/merged uv run python sim/scripts/eval.py pi05_so101_block_stack_sim/merged ``` The eval rolls the checkpoint out on the 150 held-out layouts and scores it by the gates that screened the oracle. Chunks are stitched with [Real-Time Chunking](https://www.physicalintelligence.company/research/real_time_chunking) and read back off a shape-preserving cubic before they are executed. [drwahl/pi05_so101_block_stack](https://huggingface.co/drwahl/pi05_so101_block_stack) is the same recipe trained on sim and hardware episodes together, and is the one that runs on the arm.