Embodied AI Glossary中文

Projected Gauss-Seidel

投影高斯-赛德尔求解器PGSAdvanced

A classic iterative method that solves contact and joint forces one constraint at a time, clamping each to a valid range.

At every step, a physics engine must compute the contact and joint forces (or impulses) that keep bodies from interpenetrating and keep friction within bounds — a system of equations with inequality conditions, commonly written as a Linear Complementarity Problem (LCP). PGS is the classic way to solve it: process one constraint at a time, assume the forces from all other constraints stay fixed, compute how much force this one constraint needs, then “project” (clamp) the result into a valid range — for example, normal force can't be negative, and friction can't exceed the friction cone. Sweeping through all constraints once counts as one iteration; more iterations means more accuracy but more time. ODE's quick solver, PhysX, and MuJoCo all offer PGS. Starting with PhysX 5.1, NVIDIA added TGS (Temporal Gauss-Seidel), which splits a timestep into several substeps, solves constraints once per substep, and integrates immediately — more accurate for large mass ratios and driven joints, and now the officially recommended default; Isaac Lab also defaults to TGS. The “position/velocity iteration count” in a simulator's settings refers to how many rounds this kind of solver runs.

ExampleIn Isaac Lab, a dexterous hand's block jittering between the fingers or slowly slipping is often debugged by confirming the solver is set to TGS and raising the position-iteration count.

Also called
PGS, Projective Gauss-Seidel, TGS, Temporal Gauss-Seidel
Related
Constraint Solver · Linear Complementarity Problem · Solver Iteration Count (Position / Velocity Iterations) · PhysX · MuJoCo (Multi-Joint dynamics with Contact) · Contact Model
Sources
PhysX 5 文档:Rigid Body Dynamics(Solver Type: PGS / TGS) (Chinese)
Gazebo Classic 教程:Physics Parameters(quick 求解器为 PGS) (Chinese)
Isaac Lab API:isaaclab.sim(PhysxCfg.solver_type 默认 TGS) (Chinese)
As of
2026-09

See it in the full glossary →