HomeLearnCoursesHackathonsAccount
Robot Simulation & Sim-to-Real Transfer
What a Physics Simulator Actually Has to Model · 1/2

Rigid bodies, contact, and the hardest problem in the room

At its core, a physics simulator has to track rigid body dynamics: given a robot's mass distribution, joint structure, and the forces and torques acting on it, compute how its position and velocity change over each small timestep. This part is well understood mathematically and simulators handle it reliably, integrating Newton's and Euler's equations of motion forward in time for every linked body in the scene.

The much harder problem is contact and collision. Any time a robot's foot touches the ground, a gripper closes on an object, or two parts of a robot brush against each other, the simulator has to detect that contact is happening, compute how much force passes between the surfaces, and prevent bodies from interpenetrating, all while keeping the simulation numerically stable. Real contact involves discontinuous events, an object is either touching or it isn't, forces can spike instantly, and friction at the contact point determines whether a foot grips or slides. Getting this right is notoriously difficult: too stiff a contact model and the simulation becomes unstable or unrealistically bouncy, too soft and objects sink into each other unrealistically. Decades of work in robotics simulation have gone into contact solvers precisely because this is where simulators most often diverge from reality.