Sim-to-Real Transfer of Robotic Control with Dynamics Randomization
About
Simulations are attractive environments for training agents as they provide an abundant source of data and alleviate certain safety concerns during the training process. But the behaviours developed by agents in simulation are often specific to the characteristics of the simulator. Due to modeling error, strategies that are successful in simulation may not transfer to their real world counterparts. In this paper, we demonstrate a simple method to bridge this "reality gap". By randomizing the dynamics of the simulator during training, we are able to develop policies that are capable of adapting to very different dynamics, including ones that differ significantly from the dynamics on which the policies were trained. This adaptivity enables the policies to generalize to the dynamics of the real world without any training on the physical system. Our approach is demonstrated on an object pushing task using a robotic arm. Despite being trained exclusively in simulation, our policies are able to maintain a similar level of performance when deployed on a real robot, reliably moving an object to a desired location from random initial configurations. We explore the impact of various design decisions and show that the resulting policies are robust to significant calibration error.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Command tracking recovery after push | Flat terrain task | Recovery Steps9.2 | 28 | |
| Humanoid Locomotion | Humanoid Randomized Task (OOD Sweep) | Reward-3.58 | 24 | |
| Push recovery | Flat task Push-recovery protocol | Peak Tracking Error3.05 | 14 | |
| Locomotion recovery performance | Agility Cassie Mass 1.15x increase (test) | SSR Score1.07 | 7 | |
| Locomotion recovery performance | Agility Cassie Friction 1.4x (test) | SSR1.082 | 7 | |
| Locomotion recovery performance | Unitree H1 Mass 1.15x increase (test) | Success Score (SSR)1.06 | 7 | |
| Locomotion recovery performance | Unitree H1 Friction 1.3x increase (test) | SSR1.041 | 7 | |
| Velocity tracking | Combined-shift Level 0 | Tracking Error1.31 | 4 | |
| Velocity tracking | Combined-shift Level 1 | Tracking Error2.19 | 4 | |
| Velocity tracking | Combined-shift Level 2 | Tracking Error3.01 | 4 |