--- license: apache-2.0 library_name: lerobot pipeline_tag: robotics tags: - robotics - lerobot - pi05 - vla - bimanual - deformable-object-manipulation - cloth --- # π0.5 (pi05_evo) — flatten_tshirt (bimanual cloth flattening) A π0.5 vision-language-action policy fine-tuned on the `flatten_tshirt` task of a bimanual deformable-object (cloth / bag) manipulation benchmark. The robot is a dual-arm Piper; the task is to flatten a crumpled t-shirt on a table. Simulation uses a GPU cloth solver co-simulated with the robot in a single model, and observations are rendered with a photorealistic renderer. ## Model | | | |---|---| | Architecture | `pi05_evo` (LeRobot), fine-tuned from `lerobot/pi05_base` | | Precision | bfloat16 | | Observation | 3 × RGB (`static_cam`, `left_hand_cam`, `right_hand_cam`) + 14-D joint state | | Action | 14-D (left 6 joints + gripper, right 6 joints + gripper) | | Chunk size / action steps | 50 / 50 | | `max_state_dim` / `max_action_dim` | 32 / 32 (14-D state and action are padded) | ## Training | | | |---|---| | Dataset | `flatten_tshirt_200` — 200 episodes / 41,464 frames, LeRobot v3.0, 25 fps | | Steps | 30,000 | | Batch size | 8 (single A100-80G, gradient checkpointing) | | Learning rate | 2.5e-5 | | Seed | 1000 | | Image augmentation | enabled, max 3 random transforms per sample | Augmentation follows a tuned recipe (brightness / contrast / saturation / hue / sharpness / small affine) rather than the LeRobot default, which is disabled. The brightness range is deliberately asymmetric toward the darker side: simulation lighting is idealized while real RealSense D435i footage tends to be darker, so biasing augmentation toward darker samples is the right direction for sim-to-real transfer. ### Reproducing: pin the base model revision This checkpoint was fine-tuned from `lerobot/pi05_base` at revision `9e55186ad36e66b95cda57bc47818d9e6237ae30`. **Pin that revision** if you fine-tune from base yourself — a later snapshot of that repo ships a `policy_preprocessor.json` containing a `relative_actions_processor` that is not registered in this version of LeRobot and fails to load. This only affects training from base; loading *this* checkpoint is unaffected. ## Status ⚠️ **This checkpoint has not yet been formally evaluated.** It has only been through a small smoke-level closed-loop run, not the benchmark's standard N=100 protocol. Success-rate numbers are deliberately not published here yet; they will be added once the full evaluation has been run. Treat this as a training artifact, not a reported result. ## Usage ```python from lerobot.policies.pi05_evo.modeling_pi05_evo import PI05EvoPolicy policy = PI05EvoPolicy.from_pretrained("deformable-bench/pi05-flatten-tshirt") ``` The policy expects the three camera streams named exactly as listed above, plus a 14-D `observation.state`, and returns a 14-D action. **Use the model's default inference parameters.** Overriding `n_action_steps` in particular has been observed to degrade closed-loop success substantially on this benchmark. ## License Apache-2.0.