Robot Learning

domain randomization

Domain randomization is a trick for training a robot in simulation so its skill survives in the real world: instead of practicing in one carefully tuned virtual setting, you randomly shuffle the simulation's settings on every run. One trial has a slippery floor and dim light, the next has a heavy object and a laggy motor, the next a bright glare and a different camera angle. By the end the robot has practiced across thousands of subtly different fake worlds rather than one. The idea is simple but powerful: if no single version of reality was ever the 'true' one during training, the robot stops over-fitting to any of them and instead learns the underlying skill that works across all of them.

It helps because the real world is just one more setting the robot has never seen exactly — and that is precisely what it has been trained to expect. If a walking policy has coped with a hundred different simulated frictions, the one real friction it eventually steps onto falls comfortably inside the range it already practiced, so it barely notices the change. In effect, domain randomization treats the gap between simulation and reality not as a precise target to hit, but as one more source of variation to drown out. This is why it is the most widely used tool for sim-to-real transfer and for shrinking the reality gap.

The art is in choosing what to randomize and how widely. Vary too little and the simulation stays a narrow bubble that reality still pops; vary too wildly and the task becomes so chaotic the robot can never learn anything stable. Engineers typically randomize the physics that matters — friction, masses, motor delays, sensor noise — and the look of things — lighting, colors, textures, camera placement — tuning each range to be broad enough to span reality without making the problem hopeless.

To train a robot to grab a red block, engineers randomize its color, the lighting, the table texture, and the gripper's friction across runs; the policy stops keying on any one look and grabs the block reliably under real lab lighting it never saw.

Practice in a thousand fake worlds, and the one real world feels familiar.

Randomizing how the world looks (colors, lighting, textures) is sometimes called visual randomization; randomizing the physics (friction, mass, delays) is called dynamics randomization. Both are forms of domain randomization.

Also called
DRdynamics randomization动力学随机化