pi05-flatten-tshirt / README.md
hwk0809's picture
pi05_evo policy for flatten_tshirt (30k steps, 200-episode dataset)
0f8f6d3 verified
|
Raw
History Blame Contribute Delete
3.12 kB
---
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.