Field note
DoorGym and useful randomness
A short introduction to domain randomization, robot learning, and opening unfamiliar doors.
Opening a door looks simple because people have accumulated an enormous amount of experience with handles, hinges, friction, and the small corrections needed when reality differs from expectation.
For a robot, every one of those details can become a failure mode. A policy trained on one perfect simulated door may learn that door rather than the more general skill of door opening.
Randomize the world
DoorGym was designed around domain randomization. Instead of trying to model one target door perfectly, the training environment generates many plausible worlds with different:
- door dimensions, mass, friction, and hinge direction;
- round, lever, and pull handles;
- robot arms and end effectors;
- lighting, materials, colors, and camera effects.
The goal is not randomness for its own sake. It is to make the stable solution—the behavior that survives across environments—more useful than a shortcut tied to one simulation.
From simulation to reality
The project included PPO and SAC baseline agents, vision-based handle localization, and real-world transfer experiments. The strongest simulated configurations reached success rates up to 95%, and a policy trained in simulation was able to open a real door.
That last step is the interesting one. Real-world performance exposes everything the simulator failed to capture: visual estimation error, timing, compliance, and physical variation. Domain randomization helps, but it does not remove the need to understand the system as a whole.
The environment and baseline code are available in the DoorGym repository.