← superdex_gs simulator

STATE TEACHER · SIMULATION ONLY

superdex_gs RL teacher

A privileged-state teacher for the UR5 + RG2 bottle pick, trained in superdex_gs as the first stage of the teacher → image-student plan. The final teacher was behaviour-cloned from a privileged scripted expert and then fine-tuned with PPO under a domain-randomization curriculum; PPO from random weights learned to grasp and lift but never passed the strict 2 s hold. All attempts, their diagnoses and held-out results are below.

128/128
strict successes at DR scale 0.1 (held-out seeds)
125/128
strict successes at DR scale 0.3 (held-out seeds)
92/128
strict successes at DR scale 0.5 (held-out seeds)
41/128
strict successes at DR scale 1.0 (held-out seeds)
0.6
highest curriculum scale reached

Strict success: bottle bottom ≥10 cm above the tabletop, both pads ≥0.05 N, bottle stable, held 2 s, within a 15 s episode. Evaluations use the deterministic (mean) action, fresh seeds, and each environment's first episode. Rates below 100% at wide randomization include layouts outside the arm's top-down reach; the privileged scripted expert is shown on the same seeds as a reference ceiling.

Teacher contract

Observation43-D privileged state: joint positions and velocities, TCP→bottle and bottle→goal vectors, previous action, bottle up-axis, pad contact forces, hold progress (with teacher observation noise).
Actionsuperdex-gs-cartesian-v1 7-D action; orientation held top-down (rotation outputs ignored) and binary gripper (output < 0 closes). Labels stay valid for the 7-D student.
Network / algorithmrsl_rl 5.5 PPO, actor and critic MLP 256-128-64 ELU with observation normalization, 256 environments × 32 steps per update, adaptive learning rate (KL 0.01).
Reward (teacher-v5; selected checkpoint)Staged above-then-descend reach and progress, centring, closing near the grasp point, bilateral contact (mostly once lifted), lift up to 15 cm, lift progress, holding reward ramping 9–13 cm, push-down / premature-closure / action-bound penalties, −0.5 on tip or fall, +100 once on strict success. A later continuation with teacher-v6 (pre-grasp disturbance penalty) did not improve validation and was not selected.
CurriculumTeacher DR preset (layout, start pose, physics, observation noise, pushes). Scale starts at 0.1 and rises by 0.1 when a deterministic validation of the latest checkpoint (64 envs) reaches min(80%, 0.9 × the scripted expert on the same seeds).

Held-out evaluation

Checkpoint selection (highest mean strict success over validation scales 0.3, 0.6, 1.0 (seed 5001, 64 envs each)); selected ppo_bcft_v2_seed42_model_260. The final test below uses different seeds (9001, 128 environments per scale).

CandidateValidationMean
ppo_bcft_v1_seed42_model_180scale 0.3: 63/64, scale 0.6: 38/64, scale 1.0: 19/6462.5%
ppo_bcft_v2_seed42_model_260scale 0.3: 64/64, scale 0.6: 41/64, scale 1.0: 18/6464.1%
ppo_bcft_v3_seed42_model_380scale 0.3: 63/64, scale 0.6: 34/64, scale 1.0: 15/6458.3%
final evaluation
DR scaleRL teacherbehaviour-cloned startMarkov scripted expert
0.1128/128 (100%, CI 97%–100%)11/128 (9%, CI 5%–15%)128/128 (100%, CI 97%–100%)
0.3125/128 (98%, CI 93%–99%)28/128 (22%, CI 16%–30%)121/128 (95%, CI 89%–97%)
0.592/128 (72%, CI 64%–79%)36/128 (28%, CI 21%–36%)101/128 (79%, CI 71%–85%)
0.761/128 (48%, CI 39%–56%)13/128 (10%, CI 6%–17%)75/128 (59%, CI 50%–67%)
1.041/128 (32%, CI 25%–41%)13/128 (10%, CI 6%–17%)52/128 (41%, CI 33%–49%)

Teacher failure outcomes

ScaleOutcomes
0.1success 128
0.3success 125, tipped 3
0.5lifted, hold < 2 s 4, success 92, never bilaterally grasped 13, tipped 19
0.7never bilaterally grasped 44, success 61, tipped 21, lifted, hold < 2 s 2
1.0never bilaterally grasped 68, success 41, tipped 17, lifted, hold < 2 s 2

Videos

Left: third-person view. Right: the D415 wrist image rendered for the same state (the teacher itself uses privileged state only).

teacher_scale_0.3: teacher DR scale 0.3, env 0 — RL teacher selected; strict success=True, max clearance 24.8 cm, best hold 3.65 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.3: teacher DR scale 0.3, env 1 — RL teacher selected; strict success=True, max clearance 22.4 cm, best hold 8.90 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.3: teacher DR scale 0.3, env 2 — RL teacher selected; strict success=True, max clearance 25.5 cm, best hold 7.70 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.3: teacher DR scale 0.3, env 3 — RL teacher selected; strict success=True, max clearance 22.3 cm, best hold 4.25 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.7: teacher DR scale 0.7, env 0 — RL teacher selected; strict success=False, max clearance 18.1 cm, best hold 1.75 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.7: teacher DR scale 0.7, env 1 — RL teacher selected; strict success=True, max clearance 23.8 cm, best hold 12.10 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.7: teacher DR scale 0.7, env 2 — RL teacher selected; strict success=False, max clearance 41.1 cm, best hold 1.55 s. Deterministic policy; shown episodes are not selected by outcome.
teacher_scale_0.7: teacher DR scale 0.7, env 3 — RL teacher selected; strict success=True, max clearance 21.3 cm, best hold 7.75 s. Deterministic policy; shown episodes are not selected by outcome.

Training history

1. PPO from random weights (reward iterations)

scratch returns
RunEnv stepsFinal returnTraining successWhat happened
v1 reward696,32040%
diagnosis
# ppo_v1_seed42 — stopped at iteration 85 (696,320 env steps)

Reward `teacher-v1` (SuperDex YAM task v2 shaping), teacher DR scale 0.1, 256 envs.
Rolling training success 0/512; mean return rose from −1.8 to 4.0 and plateaued.

Deterministic rollout of `model_50.pt` (16 envs, 200 ticks):
TCP settled 5.7 cm from the grasp point — 3.8 cm off the bottle axis and 4.3 cm below it (beside the bottle);
mean raw gripper action +1.8 (beyond the +1 clip, fully open), no bilateral contact in any env.

Cause: the closing bonus only paid within ~2.5 cm while premature closure was penalized everywhere else,
the reach term rewarded descending beside the bottle, and unbounded raw gripper means saturated open, removing exploration.
Revision `teacher-v2`: above-then-descend reach target, centring term, closing/contact reward ×5/×3, premature-closure penalty only
beyond 5 cm, raw-action bound penalty. Reward ordering check (8 envs): scripted pick 200.0, hover open at grasp 13.7, beside bottle 1.2.
v2 (staged reach)1,466,368930%
diagnosis
# ppo_v2_seed42 — stopped at iteration ~180 (≈1.47 M env steps)

Reward `teacher-v2`, teacher DR scale 0.1, 256 envs, from random weights. Mean training return rose from 0.2 to 92.7 and plateaued;
rolling strict success 0/512 (4 bottles dropped after lifting during the whole run).

Deterministic rollout of `model_150.pt` (16 envs, 200 ticks): bilateral grasp in 16/16 envs from tick ~40, but the z action stayed at −1
(pressing down) and no bottle was lifted (max clearance 0 cm). Local optimum: steady contact/closing reward while pressing down.
Reward ordering was already correct (scripted pick 200 vs scripted grasp-and-press 36.7), so the obstacle was exploration of lifting.

Revision `teacher-v3` (continues from this run's final weights): contact pays mostly once the bottle is above 1 cm, lift-progress reward
(20 × clearance gain per tick while grasped), push-down penalty while grasped below 10 cm. Ordering: scripted pick 197.4, grasp-and-press 17.7.
v3 (+lift progress)1,400,8321610%
diagnosis
# ppo_v3_seed42 — continued from ppo_v2_seed42 (iteration 179); stopped after 173 more iterations (≈1.42 M env steps)

Reward `teacher-v3`. Mean training return rose from ~30 to ~162 and plateaued; lifts began (≈110 bottles lifted then dropped) but
rolling strict success stayed 0/512. Forced-lift probe on `model_200.pt`: the learned grasp is centred within 4 mm at the planned height
and lifts every bottle past 10 cm with bilateral contact when z = +1 is commanded, so physics and grasp quality were not the obstacle.

Deterministic rollout of `model_300.pt`: bilateral grasp and lift in 16/16 envs, then hover at 4.4–5.7 cm clearance with z ≈ 0;
no tick above 10 cm. Scripted pick vs scripted hover-at-5 cm returned 197 vs 151 under v3 — too small a margin, and success terminated the
episode, cutting off further reward. Revision `teacher-v4`: lift reward ×1.5, lift progress ×2 below 13 cm, holding reward 1.0 per tick
when grasped, stable and ≥10 cm, and episodes no longer end at success (hold keeps paying).
v4 (+holding)286,7202730%
diagnosis
# ppo_v4_seed42 — continued from ppo_v3_seed42; stopped after 35 iterations (286,720 env steps)

Reward `teacher-v4`, episodes continue after success. Return rose quickly (106 → 273). Deterministic `model_200.pt` (rsl iteration count)
lifted all 16 bottles within ~3.5 s but settled at 10.0–10.2 cm clearance, exactly the success threshold; small dips reset the strict
2 s hold timer (max 0.2 s). Cause: step holding reward at 10 cm and lift reward saturating at 12 cm gave no margin above the threshold.
Revision `teacher-v5`: lift saturates at 15 cm, holding reward ramps from 9 to 13 cm. Scripted pick-and-hold return under v5: 515.6 (8/8 success).
v5 (13 cm ramp)319,4882370%
diagnosis
v5 + eval gate491,5202670%
diagnosis
# ppo_v5b_seed42 — continued from ppo_v5_seed42 (v5 reward, eval-gated curriculum); stopped after ~90 iterations

Deterministic validations (64 envs, scale 0.1): model_50 0/64 and model_75 0/64 strict successes; all 64 lifted but held at
10.1–10.2 cm max clearance. Per-tick v5 reward for the scripted hold rose from 1.76 at 9.9 cm to 2.87 at 13.4 cm, so the reward favoured
higher holds. Forced-lift probe from the policy's hover state: z = +1 with the policy's own gripper output dropped the bottles within 0.5 s
(its gripper command drifted from −0.84 toward −0.6 as the state left the training distribution); z = +1 with gripper −1 lifted all 16
bottles to 29 cm. Cause: partial gripper closure. Revision: teacher uses a binary gripper (action < 0 fully closed), same reward.
v5 + binary gripper376,83290%
diagnosis
# ppo_v6_seed42 — continued from ppo_v5b_seed42 with a binary gripper; stopped after ~45 iterations

Switching the gripper to binary (action < 0 fully closed) removed the partial-closure slip, but the inherited policy's gripper command
crossed zero during approach, so it closed early and never grasped (deterministic validation 0/64 "never bilaterally grasped" at
model_100 and model_125; training return fell from ~12 to ~9). PPO did not re-discover grasp timing in 45 iterations.
Decision: stop reward iteration from scratch-trained weights and bootstrap the teacher from demonstrations of the privileged scripted
expert (binary gripper commands, orientation locked), then fine-tune with PPO under the evaluation-gated curriculum.

2. Demonstrations and behaviour cloning

A state-feedback (Markov) scripted expert was written so that every decision is observable (the timer-based expert's lift timing is not, and a first clone never lifted). 276,480 demonstration steps at scales 0.1, 0.3, 0.6; 30% of environments executed noisy actions while recording the clean expert label. Expert success on complete episodes: scale 0.1 99%, scale 0.3 97%, scale 0.6 70%. The clone (40 epochs, final action MSE 0.0041) grasped and lifted but succeeded rarely:

ScaleBehaviour-cloned startOutcomes
0.16/64lifted, hold < 2 s 41, tipped 14, grasped, not lifted 10 cm 3, success 6
0.318/64success 18, tipped 17, lifted, hold < 2 s 17, grasped, not lifted 10 cm 11, never bilaterally grasped 1
0.611/64grasped, not lifted 10 cm 9, tipped 16, success 11, never bilaterally grasped 20, lifted, hold < 2 s 8
1.04/64grasped, not lifted 10 cm 9, never bilaterally grasped 28, lifted, hold < 2 s 8, tipped 14, success 4, bottle fell off table 1

3. PPO fine-tuning

fine-tune progress

3,145,728 environment steps over three continuations (2.4 h at ≈370 steps/s including PPO updates and concurrent validation). Two training processes were terminated by the kernel OOM killer when a third 56-worker environment ran alongside training and validation (each physics worker holds ≈1.1 GiB); both continued from their last periodic checkpoint.

IterationScaleValidationGateRun
90.1 → 0.2100%80%ppo_bcft_v1_seed42
260.2 → 0.398%80%ppo_bcft_v1_seed42
680.3 → 0.498%80%ppo_bcft_v1_seed42
880.4 → 0.588%80%ppo_bcft_v1_seed42
140.5 → 0.666%62%ppo_bcft_v2_seed42
All deterministic validations
RunCheckpointScaleSuccessesExpert (same seeds)Outcomes
ppo_bcft_v1_seed42model_0.pt0.164/64success 64
ppo_bcft_v1_seed42model_20.pt0.263/64success 63, tipped 1
ppo_bcft_v1_seed42model_40.pt0.343/64success 43, tipped 20, lifted, hold < 2 s 1
ppo_bcft_v1_seed42model_60.pt0.363/64success 63, tipped 1
ppo_bcft_v1_seed42model_80.pt0.456/64success 56, tipped 8
ppo_bcft_v1_seed42model_100.pt0.540/64grasped, not lifted 10 cm 4, never bilaterally grasped 4, tipped 15, success 40, lifted, hold < 2 s 1
ppo_bcft_v1_seed42model_120.pt0.541/64never bilaterally grasped 7, tipped 15, success 41, lifted, hold < 2 s 1
ppo_bcft_v1_seed42model_140.pt0.540/64never bilaterally grasped 8, tipped 12, grasped, not lifted 10 cm 1, success 40, bottle fell off table 2, lifted, hold < 2 s 1
ppo_bcft_v1_seed42model_160.pt0.542/64never bilaterally grasped 7, tipped 13, grasped, not lifted 10 cm 1, success 42, bottle fell off table 1
ppo_bcft_v1_seed42model_180.pt0.545/64never bilaterally grasped 12, success 45, tipped 7
ppo_bcft_v1_seed42model_200.pt0.541/64never bilaterally grasped 10, tipped 12, success 41, grasped, not lifted 10 cm 1
ppo_bcft_v2_seed42model_200.pt0.542/6469%never bilaterally grasped 14, success 42, tipped 7, grasped, not lifted 10 cm 1
ppo_bcft_v2_seed42model_220.pt0.629/6477%tipped 22, success 29, never bilaterally grasped 11, bottle fell off table 2
ppo_bcft_v2_seed42model_240.pt0.637/6477%success 37, tipped 13, never bilaterally grasped 13, bottle fell off table 1
ppo_bcft_v2_seed42model_260.pt0.639/6477%success 39, never bilaterally grasped 14, tipped 8, lifted, hold < 2 s 2, bottle fell off table 1
ppo_bcft_v2_seed42model_280.pt0.632/6477%success 32, never bilaterally grasped 13, tipped 15, lifted, hold < 2 s 4
ppo_bcft_v2_seed42model_300.pt0.634/6477%success 34, never bilaterally grasped 13, tipped 16, lifted, hold < 2 s 1
ppo_bcft_v3_seed42model_320.pt0.633/6477%success 33, never bilaterally grasped 13, tipped 17, grasped, not lifted 10 cm 1
ppo_bcft_v3_seed42model_340.pt0.636/6477%success 36, never bilaterally grasped 13, tipped 15
ppo_bcft_v3_seed42model_360.pt0.635/6477%success 35, never bilaterally grasped 13, tipped 15, grasped, not lifted 10 cm 1
ppo_bcft_v3_seed42model_380.pt0.634/6477%success 34, never bilaterally grasped 14, tipped 16

Limitations

Raw artifacts

report/summary.json · bc_start/summary.json · expert/summary.json · teacher/summary.json · ppo_bcft_v1_seed42/curriculum.json · ppo_bcft_v1_seed42/evaluations.jsonl · ppo_bcft_v2_seed42/curriculum.json · ppo_bcft_v2_seed42/evaluations.jsonl · ppo_bcft_v3_seed42/evaluations.jsonl