Contacts.rigid_contact_match_generation | History carries across one collision pass into the same Contacts buffer when that pass matched against the solved contact set (rigid_contact_match_generation); a different buffer, skipped passes, or a pass after the pipeline wrote another buffer start cold. |
Contacts.rigid_contact_match_index | Start each step from the previous step's contact impulses, matched by contact identity through rigid_contact_match_index, so the CollisionPipeline must be created with contact matching enabled. |
Contacts.rigid_contact_stiffness | Experimental: solve contacts that carry a positive rigid_contact_stiffness [N/m] with an implicit unilateral spring-damper law instead of the rigid normal law. |
Control.joint_f | A closure has no joint coordinate, so the limits, drive gains, damping, armature, velocity limit and joint_f of a loop-closing REVOLUTE joint's DOF are ignored. |
Model.joint_X_c | The closure rows read joint_enabled, joint_X_p / joint_X_c and, for a REVOLUTE closure, joint_axis every step, so a closure is released, engaged, re-anchored or re-aimed by editing those arrays in place, also from a kernel between CUDA graph replays. |
Model.joint_X_p | The closure rows read joint_enabled, joint_X_p / joint_X_c and, for a REVOLUTE closure, joint_axis every step, so a closure is released, engaged, re-anchored or re-aimed by editing those arrays in place, also from a kernel between CUDA graph replays. |
Model.joint_armature | joint_armature and joint_damping are applied.
|
Model.joint_axis | The closure rows read joint_enabled, joint_X_p / joint_X_c and, for a REVOLUTE closure, joint_axis every step, so a closure is released, engaged, re-anchored or re-aimed by editing those arrays in place, also from a kernel between CUDA graph replays. |
Model.joint_damping | joint_armature and joint_damping are applied.
|
Model.joint_effort_limit | By default (drive_mode="augmented") they are integrated implicitly by folding dt * kd + dt^2 * ke into the mass matrix; only the explicit drive force is clamped to joint_effort_limit, and the implicit stiffness and damping response is unbounded, so under a large external load the drive reaction can exceed the limit. |
Model.joint_enabled | The closure rows read joint_enabled, joint_X_p / joint_X_c and, for a REVOLUTE closure, joint_axis every step, so a closure is released, engaged, re-anchored or re-aimed by editing those arrays in place, also from a kernel between CUDA graph replays. |
Model.joint_friction | Experimental dry joint friction: with enable_joint_friction=True, joint_friction of PRISMATIC, REVOLUTE, BALL and D6 DOFs bounds one row per DOF. |
Model.joint_limit_lower | Joint limits: with enable_joint_limits=True, every finite joint_limit_lower / joint_limit_upper of a PRISMATIC, REVOLUTE or D6 DOF is a unilateral row. |
Model.joint_limit_upper | Joint limits: with enable_joint_limits=True, every finite joint_limit_lower / joint_limit_upper of a PRISMATIC, REVOLUTE or D6 DOF is a unilateral row. |
Model.joint_rest_q | Passive joint springs: joint_stiffness and joint_rest_q on PRISMATIC, REVOLUTE and D6 DOFs, applied explicitly as stiffness * (rest_q - q) like SolverFeatherstone, independently of drives and joint limits. |
Model.joint_stiffness | Passive joint springs: joint_stiffness and joint_rest_q on PRISMATIC, REVOLUTE and D6 DOFs, applied explicitly as stiffness * (rest_q - q) like SolverFeatherstone, independently of drives and joint limits. |
Model.joint_target_kd | Joint drives: joint_target_ke and joint_target_kd on PRISMATIC, REVOLUTE and D6 DOFs. |
Model.joint_target_ke | Joint drives: joint_target_ke and joint_target_kd on PRISMATIC, REVOLUTE and D6 DOFs. |
Model.joint_velocity_limit | Joint velocity limits (joint_velocity_limit) are enforced as rows when enable_joint_velocity_limits is set. |
Model.shape_material_mu | Non-negative factor applied to every shape's friction coefficient (shape_material_mu) in the solver's copy of the materials, refreshed at construction and by notify_model_changed with SHAPE_PROPERTIES. |
Model.shape_material_mu_rolling | Experimental rolling coefficient [m] for every free-body contact, replacing the shapes' steel:condim gate and shape_material_mu_rolling for that coefficient only; |
Model.shape_material_mu_torsional | Experimental torsional coefficient [m] for every free-body contact, replacing the shapes' steel:condim gate and shape_material_mu_torsional for that coefficient only; |
ModelBuilder.ShapeConfig.gap | gap decides which contacts the pipeline reports (also to sensors and other solvers); this gate only decides which of them this solver solves.
|
ModelBuilder.ShapeConfig.restitution | Restitution follows the shapes' restitution. |
State.body_f | …solved motion: inverse dynamics with the post-solve joint accelerations (taken from the velocities the dynamics start from, after any velocity-limit prescaling), less gravity, body_f, and the solved impulses divided by dt of the subtree's contact normal, friction and spin rows and its loop-closure… |
State.joint_q | Like SolverFeatherstone, the solver uses joint_q and joint_qd as its state and does not simulate bodies that are not connected through joints. |
State.joint_qd | Like SolverFeatherstone, the solver uses joint_q and joint_qd as its state and does not simulate bodies that are not connected through joints. |