Physical AI Lab // Episode 2.5 // One-pager

Sim2real: domain randomization and system identification

Two ways to patch the seam between simulation and reality

Three key points

  1. Simulation and the real robot have a "reality gap": friction, mass, latency and sensor noise may all fail to match, so what works in simulation may not work on the real robot.
  2. Domain randomization: keep randomizing the simulation's visual or physical parameters (textures, or mass / friction / latency) during training, so the policy holds up across a whole range of cases before moving to the real robot (Tobin 2017: the paper reports that training only on simulated images with random textures gave real-world object localization accurate to 1.5 cm, R; Peng 2017: the paper reports that after randomizing simulated dynamics, with no training on the real robot, the policy did the pushing task it tested, R).
  3. System identification: work back to parameters from real-robot data (demo: fitting friction from one trajectory; recovered value ≈ true value). In practice the two are combined: identification narrows the range, randomization covers the remaining error.

Evidence: O official · R research · M media

R1.5 cmreal-world localisation accuracy. The paper reports that, trained only on random textures in simulation (domain randomization), object localisation in the real world reaches 1.5 cm
O1is MuJoCo's default sliding friction coefficient (friction = 1 / 0.005 / 0.0001: sliding is the first, 1, then torsional and rolling)
O2 msis MuJoCo's default simulation time step (0.002 s)
RNo real-robot trainingThe paper reports that, with the simulator's dynamics randomized during training, the policy was not trained on the real robot and still did the robotic-arm object-pushing task it tested there

Further reading