Skip to content

feat: various multibody/mjcf fixes#955

Merged
sebcrozet merged 16 commits into
masterfrom
multibody-fixes
Jul 4, 2026
Merged

feat: various multibody/mjcf fixes#955
sebcrozet merged 16 commits into
masterfrom
multibody-fixes

Conversation

@sebcrozet

Copy link
Copy Markdown
Member

Added

  • Multibody joints now support a per-DoF armature (reflected rotor inertia, matching MuJoCo's
    concept), exposed via Multibody::armature() / armature_mut(). The related
    Multibody::dof_inverse_inertia() returns the articulated DoF inverse inertia including armature.
  • Multibody joints now support passive per-DoF springs (MuJoCo-style spring/damper) via
    MultibodyJoint::set_spring() / spring(), integrated implicitly.
  • Multibody joints now support holonomic DoF coupling: constrain one generalized coordinate to
    another via MultibodyDofCoupling and Multibody::add_dof_coupling() / couplings().
  • MultibodyLink::assembly_id() exposes the offset of a link's DoFs in the multibody's generalized
    coordinate/velocity vectors.
  • rapier3d-mjcf: support for tendons, equality constraints, materials (including visual-mesh
    materials), actuator max-force, joint DoF coupling, armature, per-DoF spring/damper, and control.
  • Testbed: the ability to specify a material.

Fixed

  • Corrected the local frame of impulse joints attached to multibodies.
  • Added a missing coupling term for loop-closing impulse-joint constraints (bodies with a non-zero
    center-of-mass offset).
  • Fixed a crash occurring with the parallel feature enabled.

@sebcrozet sebcrozet merged commit 7149ef3 into master Jul 4, 2026
9 of 15 checks passed
@sebcrozet sebcrozet deleted the multibody-fixes branch July 4, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant