Contact Model
接触模型CommonThe physics engine's rule for how much force and friction two touching objects generate.
Collision detection only answers whether and where two objects are touching; a contact model answers how much force results from that contact: a normal force that keeps objects from interpenetrating, and a tangential friction force that resists sliding, capped by a friction cone whose size is the friction coefficient times the normal force. The classical approach is a hard-contact model, which writes “no force without contact, and no interpenetration once there is contact” as a complementarity condition, reducing to a Linear Complementarity Problem (LCP) that becomes NP-hard once friction is included, so different engines rely on various approximations. MuJoCo instead uses soft contact: it allows a small amount of interpenetration and defines the contact force as the unique solution to a convex optimization problem, with parameters like solref and solimp used to tune how soft or stiff it is. How accurate the contact model is directly affects whether contact-heavy tasks — grasping, peg insertion, legged locomotion — can transfer successfully from simulation to a real robot.
ExampleIn MuJoCo, setting a geom's condim to 3 computes only the normal force and in-plane sliding friction; setting it to 4 adds torsional friction, which the official documentation says helps simulate soft fingertips for steadier grasping; setting it to 6 further adds rolling friction.
- Also called
- contact dynamics
- Related
- Soft Contact Model · Linear Complementarity Problem · Friction Cone · Constraint Solver · Collision Detection · Coulomb Friction
- Sources
- MuJoCo Documentation: Computation - Soft contact model
Isaac Sim Documentation: Simulation Fundamentals