Instructions to use PINlab/pi05-so101 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use PINlab/pi05-so101 with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
model card
Browse files
lift_leave_cubes_skin_3cam/29999/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
tags: [robotics, pi0, pi05, openpi, so101, lerobot, tactile]
|
| 3 |
+
license: apache-2.0
|
| 4 |
+
datasets: [endoard/grab_red_cube_3cam_skin, endoard/grab_green_cube_3cam_skin, endoard/grab_red_cube_distractor_green_cube_3cam_skin, endoard/grab_green_cube_distractor_red_cube_3cam_skin]
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
# PINlab/pi05-so101/lift_leave_cubes_skin_3cam/29999
|
| 8 |
+
|
| 9 |
+
pi0.5 policy for a single SO-101 arm with a 5-chip magnetic tactile skin, prompts "Lift the red cube" / "Lift the green cube" / "Lift the red cube, leave the green cube on the table" / "Lift the green cube, leave the red cube on the table". Fine-tuned from `pi05_base` on `endoard/grab_red_cube_3cam_skin`, `endoard/grab_green_cube_3cam_skin`, `endoard/grab_red_cube_distractor_green_cube_3cam_skin`, `endoard/grab_green_cube_distractor_red_cube_3cam_skin` (merged, one task per source), experiment `liftleave_v1`,
|
| 10 |
+
step 29999 of a 30k-step run. Not yet evaluated on the robot.
|
| 11 |
+
|
| 12 |
+
## Prompts
|
| 13 |
+
|
| 14 |
+
Trained on exactly these text prompts. At inference send one of them verbatim as the
|
| 15 |
+
observation `prompt` (same wording, case and punctuation); other phrasings are untested.
|
| 16 |
+
|
| 17 |
+
Lift the red cube
|
| 18 |
+
Lift the green cube
|
| 19 |
+
Lift the red cube, leave the green cube on the table
|
| 20 |
+
Lift the green cube, leave the red cube on the table
|
| 21 |
+
|
| 22 |
+
Which prompt each training episode carried (dataset task label -> prompt):
|
| 23 |
+
|
| 24 |
+
| dataset task label | episodes | training prompt |
|
| 25 |
+
|---|---|---|
|
| 26 |
+
| Grab the red cube | 150 | Lift the red cube |
|
| 27 |
+
| Grab the green cube | 150 | Lift the green cube |
|
| 28 |
+
| Grab the red cube (green cube distractor) | 150 | Lift the red cube, leave the green cube on the table |
|
| 29 |
+
| Grab the green cube (red cube distractor) | 100 | Lift the green cube, leave the red cube on the table |
|
| 30 |
+
|
| 31 |
+
## Contents
|
| 32 |
+
|
| 33 |
+
params/ weights (EMA, decay 0.99)
|
| 34 |
+
assets/grab_4cube_3cam_skin/norm_stats.json quantile normalisation stats
|
| 35 |
+
_CHECKPOINT_METADATA orbax bookkeeping
|
| 36 |
+
|
| 37 |
+
`train_state/` is not included: it only resumes training.
|
| 38 |
+
|
| 39 |
+
## Serving
|
| 40 |
+
|
| 41 |
+
The checkpoint carries no config. Serve it under `pi05_so101_lift_leave_cubes_skin_3cam` (it pins
|
| 42 |
+
`asset_id=grab_4cube_3cam_skin`):
|
| 43 |
+
|
| 44 |
+
python scripts/serve_policy.py policy:checkpoint \
|
| 45 |
+
--policy.config=pi05_so101_lift_leave_cubes_skin_3cam \
|
| 46 |
+
--policy.dir=<downloaded dir>
|
| 47 |
+
|
| 48 |
+
The policy returns 16 actions **spaced 2 frames apart (15 Hz)**, absolute
|
| 49 |
+
joints (the delta is undone server-side). Replay at that rate or interpolate; replaying
|
| 50 |
+
at 30 Hz halves the speed.
|
| 51 |
+
|
| 52 |
+
## Schema
|
| 53 |
+
|
| 54 |
+
- State 21-D (padded to 32): 5 joints (deg), gripper (0-100), 5 skin chips x xyz (uT).
|
| 55 |
+
- Action 6-D (padded to 32): 5 joints (deg), gripper (0-100). **Delta on the 5
|
| 56 |
+
joints, absolute gripper** (`make_bool_mask(5, -1)`).
|
| 57 |
+
- Images, all three every step: `base_0_rgb` = `fixed`, `left_wrist_0_rgb` = `handeye`,
|
| 58 |
+
`right_wrist_0_rgb` = `side` (mask on). The client must send all three cameras.
|
| 59 |
+
- `action_horizon=16`, `action_stride=2`, prompt from the task string (mapped as above).
|
| 60 |
+
|
| 61 |
+
## Training
|
| 62 |
+
|
| 63 |
+
From `gs://openpi-assets/checkpoints/pi05_base/params` on 4 nodes x 1 A100-64GB,
|
| 64 |
+
`--fsdp-devices=4`, batch 32, AdamW with cosine decay, EMA 0.99, seed 42,
|
| 65 |
+
30000 steps. Data: 550 episodes / 191,324 frames at 30 fps,
|
| 66 |
+
495 train / 55 held out.
|