Taming VLAs under Robot Execution Errors: Self-Compensation and Stress Testing
Organizations: POSTECH · MBZUAI
Abstract
Vision-language-action (VLA) policies often fail when a robot's executed motion deviates from their commanded action. Such execution errors arise from the robot's mechanics and operating conditions, such as wear and payload changes. We propose self-compensating VLA, a deployment-time adaptation method that enables a VLA policy to pre-compensate for the robot's execution errors when generating commands. Without task rewards or labels, it updates the policy online using the residual between the action commanded by a VLA and the motion executed by the robot. To stress-test VLA robustness across execution conditions that are impractical to cover with physical robots alone, we introduce RoboStress, a controlled simulation benchmark. It combines established joint-level models of friction, backlash, compliance, and gravity-compensation error into seven deployment scenarios whose execution errors depend on the robot's state and motion history. On RoboStress, self-compensating VLA achieves higher average task success than both the base policies and methods that build in robustness during training. On two physical robot arms with different usage histories, it raises the average task success rate by more than 30 percentage points on each arm, and the gains extend to objects not seen in the task demonstrations.
Figures & tables
| Scenario | Physical cause | Fric. | Grav. | Back. | Comp. | Severity over episode | Joints |
|---|---|---|---|---|---|---|---|
| Heavy Payload | grasped load | While grasping | all | ||||
| Thermal Drift-Stribeck | temperature change | Linearly increasing | all | ||||
| Thermal Drift-Backlash | temperature change | Linearly increasing | all | ||||
| Aged Transmission | gear wear | Fixed | all | ||||
| Aged Joint-Uniform | gear + bearing wear | Fixed | all | ||||
| Aged Joint-Shoulder | gear + bearing wear | Fixed | J1–J3 |
| Scenario | Base | DR | RobustVLA | Ours | Base | DR | RobustVLA | Ours |
|---|---|---|---|---|---|---|---|---|
| Clean | 97.0 | 97.1 | 96.6 | 95.8 | 91.1 | 90.5 | 92.0 | 92.6 |
| Heavy Payload | 44.1 | 42.1 | 38.9 | 56.8 | 42.3 | 32.0 | 30.9 | 42.8 |
| Thermal Drift-Stribeck | 54.1 | 54.6 | 55.9 | 60.5 | 46.1 | 46.3 | 46.0 | 50.6 |
| Thermal Drift-Backlash | 83.4 | 84.5 | 83.1 | 84.8 | 75.5 | 77.3 | 77.3 | 78.8 |
| Aged Transmission | 33.2 | 39.7 | 40.2 | 41.8 | 26.8 | 22.9 | 23.8 | 28.9 |
| Robot A | Robot B | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Task | Base | RobustVLA | Ours | Base | RobustVLA | Ours | Base | RobustVLA | Ours | Base | RobustVLA | Ours |
| 1 | 48 | 52 | 84 | 44 | 52 | 76 | 44 | 56 | 80 | 36 | 56 | 60 |
| 2 | 36 | 60 | 76 | 40 | 28 | 80 | 36 | 48 | 72 | 32 | 52 | 84 |
| 3 | 48 | 48 | 76 | 44 | 68 | 72 | 56 | 52 | 84 | 52 | 44 | 84 |
| 4 | 40 | 48 | 68 | 32 | 40 | 60 | 36 | 44 | 60 | 32 | 44 | 56 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Joint | (Nm) | (Nm) | (rad/s) | (Nm s/rad) | (rad) | (kg m 2 ) | (Nm s/rad) | (Nm/rad) | |
|---|---|---|---|---|---|---|---|---|---|
| J1 | 2.175 | 3.480 | 0.15 | 0.348 | 0.00087 | 0.70 | 90.73 | 6000 | 0.05 |
| J2 | 2.175 | 3.480 | 0.15 | 0.348 | 0.00087 | 0.70 | 90.73 | 6000 | 0.10 |
| J3 | 2.175 | 3.480 | 0.15 | 0.348 | 0.00087 | 0.70 | 90.73 | 6000 | 0.06 |
| J4 | 2.175 | 3.480 | 0.15 | 0.348 | 0.00087 | 0.70 | 90.73 | 6000 | 0.10 |
| J5 | 0.480 | 0.720 | 0.10 | 0.048 | 0.00130 | 0.20 | 39.60 | 4000 | 0.08 |
| Component | Applied to | Full setting |
|---|---|---|
| Stribeck friction ( ) | , , ( fixed) | |
| Backlash ( ) | ||
| Compliance ( ) | , ( fixed) | , |
| Gravity ( ) |
| Component | Setting | Injected values (J1–J4 / J5–J7) |
|---|---|---|
| Stribeck | friction | Nm, Nm, Nm s/rad, rad/s |
| Backlash | rad ( ) | |
| Compliance | , | Nm/rad, Nm s/rad, kg m 2 ( ) |
| Gravity |
| Scenario | Components with increased severity | Injected values |
|---|---|---|
| Thermal Drift-Stribeck | Stribeck (ramp) | , , and ramp over the episode: / Nm, / Nm, / Nm s/rad. |
| Thermal Drift-Backlash | Backlash (ramp) | ramps : / rad. |
| Heavy Payload | Compliance + Gravity (while grasped) | Nm/rad, Nm s/rad, kg m 2 ; (J1–J7): 0.20, 0.40, 0.24, 0.40, 0.32, 0.32, 0.20. |
| Aged Transmission | Stribeck + Backlash | all joints: Nm; Nm; Nm s/rad; rad. |
| Aged Joint-Uniform | Stribeck + Backlash + Compliance | all joints: the above Stribeck and backlash parameters plus Nm/rad, Nm s/rad. |
| Aged Joint-Shoulder | Stribeck + Backlash + Compliance | J1–J3 at the full setting; J4–J7 nominal. |
| Scenario | Residual (%) |
|---|---|
| Simulation (RoboStress) | |
| Clean | 23.4 |
| Heavy Payload | 48.6 |
| Thermal Drift-Stribeck | 47.5 |
| Thermal Drift-Backlash | 46.1 |
| Aged Transmission | 38.7 |
| Scenario | w/o anchor | w/ anchor |
|---|---|---|
| Heavy Payload | 38.2 | 42.8 |
| Thermal Drift-Stribeck | 50.4 | 50.6 |
| Thermal Drift-Backlash | 77.9 | 78.8 |
| Aged Transmission | 25.2 | 28.9 |
| Aged Joint-Uniform | 22.8 | 24.0 |
| Aged Joint-Shoulder | 35.5 | 39.2 |
| Wear factors | Heavy Payload | Thermal Drift ramp end | |||||
| Level | Stribeck | Backlash | Compliance | Stribeck | Backlash | ||
| L1 (mild) | 1.5 | 5 | 2 | 2 | 2 | 1.5 1.5 | 5 5 |
| L2 | 1.625 | 7.5 | 2.75 | 2.75 | 2.5 | 1.5 1.625 | 5 7.5 |
| L3 | 1.75 | 10 | 3.5 | 3.5 | 3 | 1.5 1.75 | 5 10 |
| L4 | 1.875 | 12.5 | 4.25 | 4.25 | 3.5 | 1.5 1.875 | 5 12.5 |
| L5 (full) | 2 | 15 | 5 | 5 | 4 | 1.5 2 | 5 15 |