Instructions to use deformable-bench/pi05-flatten-tshirt with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use deformable-bench/pi05-flatten-tshirt with LeRobot:
- Notebooks
- Google Colab
- Kaggle
| 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. | |