domain randomization
Instead of building one perfect simulator, you build thousands of imperfect ones — randomizing masses, friction, lighting, textures, and sensor delays — and force a single policy to succeed across all of them. Real life then looks like just one more random variant the policy has already learned to handle.
At the start of each episode you sample physical and visual parameters from chosen ranges. If those ranges are wide enough to bracket reality, the trained policy becomes robust by treating the real world as in-distribution. Visual randomization helps camera-based policies; dynamics randomization helps control; automatic domain randomization widens the ranges as the agent gets stronger.
Too much randomization makes the task so hard the agent settles for an overly cautious, mediocre policy; too little and the real world falls outside the training distribution. Choosing the ranges well is itself a craft, often the difference between transfer and failure.