Embodied AI Glossary中文

Constraint Solver

约束求解器Advanced

The physics-engine module that computes contact and joint constraint forces, keeping objects from interpenetrating and joints from coming apart.

Collision detection only tells the engine where objects are touching; how much supporting and frictional force each contact needs, and how much force each joint needs to stay connected, is computed by the constraint solver. These forces must simultaneously satisfy conditions like no interpenetration and friction staying within the friction cone, which is fundamentally a complementarity problem or an optimization problem, usually solved iteratively. Projected Gauss-Seidel (PGS) updates one constraint component at a time and sweeps through them repeatedly; PhysX added Temporal Gauss-Seidel (TGS) starting with version 5.1, which splits a step into several substeps to solve, and its documentation generally recommends TGS. MuJoCo defines constraint forces as the unique global solution to a convex optimization problem, offering PGS, Conjugate Gradient (CG), and Newton's method (the default) as solvers. Too few iterations leads to interpenetration, joint drift, and grasps slipping, which is why iteration count is a key parameter to tune.

ExamplePhysX rigid bodies default to 4 position iterations and 1 velocity iteration; scenes with heavy contact and many joints, such as a dexterous hand grasping something, often need the position-iteration count turned up.

Also called
Contact Solver
Related
Solver Iteration Count (Position / Velocity Iterations) · Projected Gauss-Seidel · Linear Complementarity Problem · Contact Model · Soft Contact Model · Physics Engine
Sources
MuJoCo Documentation: Computation - Constraint solver
NVIDIA PhysX 5 SDK Documentation: Rigid Body Dynamics - Constraint Solver
As of
2026-09

See it in the full glossary →