learner1119's picture
Add LeRobot policy weights, processor configs and model card
dea1f08 verified
|
Raw History Blame Contribute Delete
2.03 kB
---
library_name: lerobot
tags:
- robotics
- lerobot
- pi05
- behavioral-cloning
pipeline_tag: robotics
---
# posco_pi05_260820_left_c50
PI05 (flow-matching VLA) policy trained with [LeRobot](https://github.com/huggingface/lerobot) 0.4.3
on the POSCO left-arm pick-and-place dataset.
## Configuration
| | |
|---|---|
| architecture | `pi05` |
| `chunk_size` / `n_action_steps` | 50 / 50 |
| observation | `observation.images.agentview` (1 camera, 480x640) + `observation.state` |
| action / state dim | **8** (left arm `arm_l_joint1..7` + `gripper_l_joint1`) |
| control rate | 20 Hz -> a chunk of 50 spans 2.5 s |
| training | 50,000 steps, batch 32, lr 2.5e-05 |
| data | `260820_left`, 100 episodes / 44,136 frames |
Right-arm dimensions were dropped before training: in these recordings they are
effectively constant (action std down to 0.0), so under normalization they contribute
unit-variance sensor noise the policy cannot learn.
## Usage
```python
from lerobot.policies.pi05.modeling_pi05 import PI05Policy
from lerobot.policies.factory import make_pre_post_processors
repo = "learner1119/posco_pi05_260820_left_c50"
policy = PI05Policy.from_pretrained(repo).eval()
pre, post = make_pre_post_processors(policy.config, pretrained_path=repo)
processed = pre(observation) # normalizes + tokenizes
chunk = policy.predict_action_chunk(processed) # (B, 50, 8), normalized
actions = post(chunk[:, 0]) # -> real action space
```
> On lerobot >= 0.4 normalization lives in these processor pipelines, **not** inside the
> policy. Calling `predict_action_chunk` on raw observations silently returns wrong
> actions -- always go through `pre` / `post`.
The paligemma tokenizer is bundled in this repository, so no access to the gated
`google/paligemma-3b-pt-224` repo is required.
## Caveat
Trained on all available episodes with no held-out split, so it has no honest
offline validation number attached. Treat reported training loss as fit quality,
not generalization.