mattewg commited on
Commit
2b2903d
·
verified ·
1 Parent(s): 87e955b

Add grab_cubes_skin_3cam and lift_leave_cubes_skin_3cam; explicit training prompts

Browse files
Files changed (1) hide show
  1. README.md +34 -2
README.md CHANGED
@@ -2,7 +2,7 @@
2
  library_name: openpi
3
  license: apache-2.0
4
  tags: [robotics, pi0, pi05, openpi, so101, lerobot, tactile]
5
- datasets: [endoard/grab_ball_3cam_skin, endoard/grab_cup_3cam_skin, endoard/grab_red_cube_3cam_skin, endoard/grab_green_cube_3cam_skin, endoard/grab_green_cylinder_3cam_skin]
6
  ---
7
 
8
  # pi0.5 SO-101 with a tactile skin
@@ -19,11 +19,42 @@ None has been evaluated on the robot yet.
19
  | `grab_ball_skin_3cam/` | `pi05_so101_grab_ball_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the ball" | `endoard/grab_ball_3cam_skin`, 150 episodes / 65,989 frames | 10000, 20000, 29999 |
20
  | `grab_cup_skin_3cam/` | `pi05_so101_grab_cup_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the blue cup" | `endoard/grab_cup_3cam_skin`, 166 episodes / 64,812 frames | 10000, 20000, 29999 |
21
  | `grab_3obj_skin_3cam/` | `pi05_so101_grab_3obj_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the red cube" / "Grab the green cube" / "Grab the green cylinder" | `endoard/grab_{red_cube,green_cube,green_cylinder}_3cam_skin` merged, 450 episodes / 161,918 frames, one task per source | 10000, 20000, 28000 |
 
 
22
 
23
  `grab_3obj_skin_3cam` is multi-task: the prompt selects the object. Its run was stopped at
24
  step 28,500 of 30k, so 28000 is its last checkpoint. Its held-out split is stratified per task
25
  (15 episodes each).
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  Each step folder is an openpi checkpoint without optimizer state: `params/` (EMA weights),
28
  `assets/<asset_id>/norm_stats.json` (quantile stats), `_CHECKPOINT_METADATA`, and a `README.md`
29
  with that checkpoint's details.
@@ -57,6 +88,7 @@ The 3-camera policies need all three cameras every step.
57
  - Action 6-D (padded to 32): **delta on the 5 joints, absolute gripper** (`make_bool_mask(5, -1)`).
58
  - Images: `base_0_rgb` = `fixed`, `left_wrist_0_rgb` = `handeye`; `right_wrist_0_rgb` = `side`
59
  (mask on) for 3-camera runs, zeros with mask off for `grab_ball_skin`.
60
- - `action_horizon=16`, `action_stride=2`, prompt from the dataset task string.
 
61
  - From `pi05_base`, 4 nodes x 1 A100-64GB, `--fsdp-devices=4`, batch 32, AdamW with cosine
62
  decay, EMA 0.99, seed 42, 30k steps, 10% of episodes held out.
 
2
  library_name: openpi
3
  license: apache-2.0
4
  tags: [robotics, pi0, pi05, openpi, so101, lerobot, tactile]
5
+ datasets: [endoard/grab_ball_3cam_skin, endoard/grab_cup_3cam_skin, endoard/grab_red_cube_3cam_skin, endoard/grab_green_cube_3cam_skin, endoard/grab_green_cylinder_3cam_skin, endoard/grab_red_cube_distractor_green_cube_3cam_skin, endoard/grab_green_cube_distractor_red_cube_3cam_skin]
6
  ---
7
 
8
  # pi0.5 SO-101 with a tactile skin
 
19
  | `grab_ball_skin_3cam/` | `pi05_so101_grab_ball_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the ball" | `endoard/grab_ball_3cam_skin`, 150 episodes / 65,989 frames | 10000, 20000, 29999 |
20
  | `grab_cup_skin_3cam/` | `pi05_so101_grab_cup_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the blue cup" | `endoard/grab_cup_3cam_skin`, 166 episodes / 64,812 frames | 10000, 20000, 29999 |
21
  | `grab_3obj_skin_3cam/` | `pi05_so101_grab_3obj_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the red cube" / "Grab the green cube" / "Grab the green cylinder" | `endoard/grab_{red_cube,green_cube,green_cylinder}_3cam_skin` merged, 450 episodes / 161,918 frames, one task per source | 10000, 20000, 28000 |
22
+ | `grab_cubes_skin_3cam/` | `pi05_so101_grab_cubes_skin_3cam` | 3: `fixed`, `handeye`, `side` | "Grab the red cube" / "Grab the green cube" (see [Prompts](#prompts)) | `endoard/grab_{red_cube,green_cube,red_cube_distractor_green_cube,green_cube_distractor_red_cube}_3cam_skin` merged, 550 episodes / 191,324 frames | 10000 (20000, 29999 in training) |
23
+ | `lift_leave_cubes_skin_3cam/` | `pi05_so101_lift_leave_cubes_skin_3cam` | 3: `fixed`, `handeye`, `side` | "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" (see [Prompts](#prompts)) | same 4 cube datasets merged, 550 episodes / 191,324 frames | 10000, 20000 (29999 in training) |
24
 
25
  `grab_3obj_skin_3cam` is multi-task: the prompt selects the object. Its run was stopped at
26
  step 28,500 of 30k, so 28000 is its last checkpoint. Its held-out split is stratified per task
27
  (15 episodes each).
28
 
29
+ `grab_cubes_skin_3cam` and `lift_leave_cubes_skin_3cam` are trained on the same 550 cube episodes
30
+ with different prompts; their held-out split is stratified per source (15/15/15/10 episodes).
31
+
32
+ ## Prompts
33
+
34
+ Every policy here was trained on a fixed set of text prompts. At inference send one of them
35
+ **verbatim** as the observation `prompt` (same wording, case and punctuation); other phrasings
36
+ are untested.
37
+
38
+ | folder | training prompts (exact strings) |
39
+ |---|---|
40
+ | `grab_ball_skin/`, `grab_ball_skin_3cam/` | `Grab the ball` |
41
+ | `grab_cup_skin_3cam/` | `Grab the blue cup` |
42
+ | `grab_3obj_skin_3cam/` | `Grab the red cube`, `Grab the green cube`, `Grab the green cylinder` |
43
+ | `grab_cubes_skin_3cam/` | `Grab the red cube`, `Grab the green cube` |
44
+ | `lift_leave_cubes_skin_3cam/` | `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` |
45
+
46
+ Which prompt each source dataset was trained with in the two cube runs:
47
+
48
+ | source dataset (episodes) | scene | `grab_cubes_skin_3cam` | `lift_leave_cubes_skin_3cam` |
49
+ |---|---|---|---|
50
+ | `endoard/grab_red_cube_3cam_skin` (150) | red cube alone | `Grab the red cube` | `Lift the red cube` |
51
+ | `endoard/grab_green_cube_3cam_skin` (150) | green cube alone | `Grab the green cube` | `Lift the green cube` |
52
+ | `endoard/grab_red_cube_distractor_green_cube_3cam_skin` (150) | red cube + green cube | `Grab the red cube` | `Lift the red cube, leave the green cube on the table` |
53
+ | `endoard/grab_green_cube_distractor_red_cube_3cam_skin` (100) | green cube + red cube | `Grab the green cube` | `Lift the green cube, leave the red cube on the table` |
54
+
55
+ So `grab_cubes_skin_3cam` uses one prompt per target colour whether or not the other cube is
56
+ on the table, and `lift_leave_cubes_skin_3cam` also names the distractor when there is one.
57
+
58
  Each step folder is an openpi checkpoint without optimizer state: `params/` (EMA weights),
59
  `assets/<asset_id>/norm_stats.json` (quantile stats), `_CHECKPOINT_METADATA`, and a `README.md`
60
  with that checkpoint's details.
 
88
  - Action 6-D (padded to 32): **delta on the 5 joints, absolute gripper** (`make_bool_mask(5, -1)`).
89
  - Images: `base_0_rgb` = `fixed`, `left_wrist_0_rgb` = `handeye`; `right_wrist_0_rgb` = `side`
90
  (mask on) for 3-camera runs, zeros with mask off for `grab_ball_skin`.
91
+ - `action_horizon=16`, `action_stride=2`, prompt from the dataset task string (remapped per
92
+ source for the two cube runs, see [Prompts](#prompts)).
93
  - From `pi05_base`, 4 nodes x 1 A100-64GB, `--fsdp-devices=4`, batch 32, AdamW with cosine
94
  decay, EMA 0.99, seed 42, 30k steps, 10% of episodes held out.