Training for a distribution, not a point
Domain randomization takes the reality gap and turns it into a training strategy rather than treating it as an obstacle to eliminate. Instead of training a policy against one carefully tuned simulated world, you deliberately vary the simulator's parameters across training: friction coefficients shift within a plausible range on every episode, object masses and dimensions are perturbed, sensor noise is injected at varying levels, actuator delays are randomized, and even visual properties like lighting, textures, and colors are shuffled if the policy uses camera input. The policy never gets to see the exact same physics twice.
The effect is that the policy can no longer succeed by exploiting one specific, exact set of physical assumptions, because those assumptions keep changing underneath it. To perform well across the full range of randomized conditions, it has to learn behavior that's robust to variation rather than finely tuned to a single point. This reframes the entire goal of simulation-based training: instead of trying to build one simulator that matches reality as closely as possible, which is an unreachable target, you build a simulator that covers a wide enough range of plausible worlds that reality plausibly falls somewhere inside that range.
