--- tags: - framework:openpi - model:pi05 - platform:trossen-ai - robot:stationary - task:block-transfer --- # pi05-block-transfer-trossen-ai-openpi A **π₀.₅ (pi0.5)** policy fine-tuned with **openpi** (Physical Intelligence's JAX trainer) for the **block transfer** task on the **Trossen AI Stationary** bimanual platform. > **Framework:** openpi (JAX/XLA) — this is **not** a LeRobot/PyTorch checkpoint. Load it with the openpi runtime, not `lerobot`. ## Inputs - **Dataset:** [`TrossenRoboticsCommunity/trossen_ai_stationary_block_transfer`](https://huggingface.co/datasets/TrossenRoboticsCommunity/trossen_ai_stationary_block_transfer) — LeRobot **v2** format (openpi requires v2; v3 is rejected). - **Base model:** `π₀.₅ (pi0.5)` pretrained checkpoint from Physical Intelligence, LoRA fine-tuned. - **Training code:** [`TrossenRobotics/openpi`](https://github.com/TrossenRobotics/openpi) - **Hardware:** Trossen AI Stationary (bimanual), trained locally on an **RTX 5090**. - **Action/state space:** 14-dim (per `assets/trossen/norm_stats.json`). ## Configuration - **Steps:** 100,000 - **Batch size:** 8 - **Fine-tuning:** LoRA - Norm stats: `assets/trossen/norm_stats.json` (auto-computed at train time). ## How it was trained Fine-tuned locally on an RTX 5090 using the openpi JAX trainer (LoRA, batch size 8, 100K steps). openpi's first-class π implementation generally outperforms LeRobot's PyTorch π policies. Exported as the final orbax checkpoint (`params/` = weights, `train_state/` = optimizer state for resuming). ## How to use ```bash git clone https://github.com/TrossenRobotics/openpi # follow openpi serving/inference instructions; point the policy at this repo's params/ # recommended inference rate: 50 Hz ``` ## Outputs - **Best checkpoint:** step 100,000 - **Checkpoint exported:** 2025-10-29 ## Evaluation ## Versions - r1 (2025-10-29) — initial openpi checkpoint export.