PACER: Process-Aware VLA Policy Learning from Human Corrections for Robotic Disassembly
Organizations: Texas A&M University · University of California, Riverside · Georgia Institute of Technology
Abstract
Robotic disassembly of end-of-life (EoL) products requires robots to accommodate product variation, follow prerequisite sequences, and approach components precisely for contact-rich manipulation. Supervised fine-tuning (SFT) provides a practical path for adaptation, but limited and costly disassembly data cannot capture the distribution shifts arising from changing environments and product uncertainties. The policy's own rollouts record its approach attempts, and human corrections demonstrate recovery from its errors, but turning these experiences into better policy performance remains challenging. We introduce PACER, a Process-Aware Correction and Evidence Reweighting framework that learns from these experiences through SFT, using progress toward the target and each trace's source and outcome to weight valid action chunks in the native supervised action loss. PACER trains one policy per weighting setting and selects one of the resulting policies through held-out validation. We evaluate PACER on UR5e motherboard disassembly across five component classes, where it achieves 87/100 successful approach-and-handoff trials on the held-out benchmark, compared with 54/100 for vanilla post-SFT.
Figures & tables
| Overall ( ) | Per component ( ) | Offline | ||||||
| Method | Success | 95% CI (%) | RAM | Conn. | CPU | GPU | CPU fan | |
| Initial SFT | 12 | 7 | 0 | 0 | 5 | 0 | ||
| Vanilla post-SFT | 54 | 12 | 5 | 3 | 20 | 14 | ||
| Uniform all-eligible | 64 | 16 | 3 | 8 | 20 | 17 | ||
| Outcome only | 11 | 0 | 0 | 0 | 10 | 1 | ||
| Clean only | 24 | 0 | 0 | 9 | 8 | 7 | ||
| Success counts | PACER gap | |||||
| Policy | Mild | Strong | Overall | 95% CI (%) | (pp) | 95% CI |
| PACER selected | 43 | 29 | 72 | Reference | — | |
| Fixed weighting rules | ||||||
| Fixed geometry | 35 | 16 | 51 | |||
| RW-like | 33 | 18 | 51 | |||
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | Canonical prompt |
|---|---|
| CPU | Extract the CPU by unlocking the bracket first, then pick up the CPU and place it inside the blue area as a high-value component. |
| RAM | Extract the closest visible RAM stick and place it inside the blue area as a high-value component. |
| CPU fan | Extract the CPU fan and place it inside the yellow area as a low-value component. |
| Connector | Extract the closest visible connector and place it inside the yellow area as a low-value component. |
| GPU | Extract the graphics card and place it inside the green area, as it needs subsequent disassembly. |
| Component | Configs | Rollouts | Success | Partial | Wrong orientation or location | Wrong region or target | Excluded |
|---|---|---|---|---|---|---|---|
| RAM | 7 | 70 | 7 | 3 | 6 | 54 | 0 |
| Connector | 7 | 70 | 2 | 25 | 23 | 20 | 0 |
| CPU | 7 | 70 | 4 | 8 | 6 | 52 | 0 |
| GPU | 7 | 70 | 31 | 37 | 2 | 0 | 0 |
| CPU fan | 7 | 70 | 11 | 6 | 12 | 41 | 0 |
| Component | Correction rows | Supp. clean rows | All compiled train rows |
|---|---|---|---|
| RAM | 301 | 480 | 1616 |
| Connector | 351 | 572 | 2019 |
| CPU | 348 | 587 | 1880 |
| GPU | 107 | 334 | 1698 |
| CPU fan | 269 | 364 | 1623 |
| Total | 1376 | 2337 | 8836 |
| Component | Clean | Correction | Auto success | Partial | Failure / excluded |
|---|---|---|---|---|---|
| RAM | 73 | 46 | 0 | 73 | 29 |
| Connector | 78 | 73 | 0 | 22 | 72 |
| CPU | 85 | 45 | 0 | 12 | 115 |
| GPU | 116 | 69 | 0 | 50 | 176 |
| CPU fan | 45 | 52 | 0 | 11 | 86 |
| Candidate | ||||||||
|---|---|---|---|---|---|---|---|---|
| rw_like | 0.30 | 0.45 | 0.15 | 0.05 | 1.20 | 0.60 | 1.00 | 4.50 |
| progress_heavy | 0.55 | 0.20 | 0.15 | 0.05 | 1.20 | 0.60 | 1.00 | 4.50 |
| hover_proximity_heavy | 0.20 | 0.60 | 0.10 | 0.05 | 1.20 | 0.60 | 1.00 | 4.50 |
| terminal_stop_heavy | 0.20 | 0.25 | 0.35 | 0.15 | 1.20 | 0.60 | 1.00 | 4.50 |
| correction_heavy | 0.30 | 0.45 | 0.15 | 0.05 | 1.80 | 0.70 | 1.00 | 4.50 |
| conservative | 0.30 | 0.45 | 0.15 | 0.05 | 1.20 | 0.40 | 1.50 | 2.50 |
| Candidate | Internal validation score | Selected |
|---|---|---|
| terminal_stop_heavy | 0.770760 | yes |
| hover_proximity_heavy | 0.770343 | no |
| correction_heavy | 0.769622 | no |
| rw_like | 0.769558 | no |
| balanced_low_clip | 0.769395 | no |
| conservative | 0.769244 | no |
| Baseline | Rows used | Train | Horizons | Non-correction rows | Weight | Gate | Selected |
|---|---|---|---|---|---|---|---|
| no post-train | none | 0 | 0 | 0 | none | no | no |
| Vanilla post-SFT | clean, correction | 3713 | 37130 | 2337 | 1 | no | no |
| Uniform all-eligible | all eligible | 4613 | 46130 | 3237 | 1 | yes | no |
| Outcome only | clean, auto_success | 2662 | 26620 | 2662 | 1 | yes | no |
| Clean only | supp. clean | 2337 | 23370 | 2337 | 1 | yes | no |
| Correction only | correction | 1376 | 13760 | 0 | 1 | yes | no |
| Comparison | Difference | 95% CI (pp) |
|---|---|---|
| PACER vanilla post-SFT | 33 pp | [14, 49] |
| PACER uniform all-eligible | 23 pp | [9, 40] |
| PACER fixed geometry | 8 pp | [3, 12] |
| Candidate | Overall | 95% CI (%) | Setup 1 | Setup 2 |
|---|---|---|---|---|
| terminal_stop_heavy | ||||
| progress_heavy | ||||
| conservative | ||||
| ram_connector_recovery | ||||
| rw_like | ||||
| hover_proximity_heavy |
| Candidate | RAM | Connector | CPU | GPU | CPU fan | Overall |
|---|---|---|---|---|---|---|
| terminal_stop_heavy | ||||||
| progress_heavy | ||||||
| conservative | ||||||
| ram_connector_recovery | ||||||
| rw_like | ||||||
| hover_proximity_heavy |
| Candidate | RAM | Connector | CPU | GPU | CPU fan | Setup total |
|---|---|---|---|---|---|---|
| (a) Setup 1 | ||||||
| terminal_stop_heavy | ||||||
| progress_heavy | ||||||
| conservative | ||||||
| ram_connector_recovery | ||||||
| rw_like | ||||||
| Training run | Hardware success | 95% CI (%) |
|---|---|---|
| Selected policy, seed 42 | 33/50 | [52.2,77.6] |
| Selected policy, seed 43 | 35/50 | [56.2,80.9] |
| Selected policy, seed 44 | 32/50 | [50.1,75.9] |
| Geometry perturbation | 38/50 | [62.6,85.7] |
Robot Policy Learning
Robot policy learning develops controllers that map sensory observations, task goals, and interaction history to actions for embodied robots.
See all 372 papers