Solver Iteration Count (Position / Velocity Iterations)
求解器迭代次数AdvancedHow many rounds a physics engine spends per step correcting contact and joint constraints; more rounds means more accuracy but less speed.
Every time a physics engine advances one simulation step, it has to satisfy all contact and joint constraints at once, usually approximated round by round with an iterative method like Gauss-Seidel; the number of rounds is the solver iteration count. In NVIDIA PhysX (the physics core behind Isaac Sim / Isaac Lab), iterations split into position iterations, which correct penetration and joint misalignment, and velocity iterations, which correct velocity error, defaulting to 4 position iterations and 1 velocity iteration. NVIDIA's documentation says more iterations give more accurate results, but generally only bodies with many joints or low tolerance for joint error need it raised noticeably. PhysX also offers both PGS and TGS solvers, with TGS converging better at a slightly higher per-iteration cost. Too few iterations commonly shows up as loose or jittery joints and interpenetrating bodies, while raising the count slows down simulation throughput. Together with the simulation timestep and substep count, this is one of the parameters most often adjusted when tuning simulation stability.
ExampleIsaac Lab's built-in Franka arm configuration sets solver_position_iteration_count to 8 and solver_velocity_iteration_count to 0, more position iterations than PhysX's default of 4; each object can set its own values, and the scene simulates at the maximum across all objects, clamped between 1 and 255.
- Also called
- Position Iterations, Velocity Iterations, solver_position_iteration_count
- Related
- Constraint Solver · Projected Gauss-Seidel · Simulation Timestep · Substeps · Simulation Instability · PhysX
- Sources
- NVIDIA PhysX 5 文档 - Rigid Body Dynamics (Chinese)
Isaac Lab API - isaaclab.sim(PhysxCfg)
Isaac Lab 源码 - franka.py (Chinese) - As of
- 2026-09