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
π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
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.
- Downloads last month
- 21