Rigid solver#

The rigid solver advances articulated rigid bodies: robots, mechanisms, and rigid objects. Every scene.step() runs it in three layers.

  1. Forward dynamics. Place the links from the joint positions, build the mass matrix, and solve for the acceleration under the forces that do not depend on contact.

  2. Collision detection. Cull the geometry pairs that cannot touch, then compute exact contacts for those that remain. That page also covers the support field behind the convex algorithms, and the contact islands hibernation builds on.

  3. Constraint model. Turn those contacts, joint limits, and equality constraints into forces, and correct the acceleration.

The three layers are configured through gs.options.RigidOptions.

A coupler handles soft-body and particle contact against rigid geometry.