Update Mujoco Deps in preperation for the 3.3.6 release

PiperOrigin-RevId: 805007266
Change-Id: I9332d0b8439f8941b9dc9889c1e27d54e9a70b99
This commit is contained in:
Rishi Krishnan
2025-09-09 12:01:02 -07:00
committed by Copybara-Service
parent 9d5063799f
commit 6ec5f8b9c2
3 changed files with 43 additions and 43 deletions
+2 -2
View File
@@ -39,12 +39,12 @@ set(MUJOCO_DEP_VERSION_qhull
CACHE STRING "Version of `qhull` to be fetched."
)
set(MUJOCO_DEP_VERSION_Eigen3
4be7e6b4e0a82853e853c0c7c4ef72f395e1f497
4033cfcc1dd45b3cdf7285afd93556f2cfbe9425
CACHE STRING "Version of `Eigen3` to be fetched."
)
set(MUJOCO_DEP_VERSION_abseil
76bb24329e8bf5f39704eb10d21b9a80befa7c81 # LTS 20250512.0
987c57f325f7fa8472fa84e1f885f7534d391b0d # LTS 20250814.0
CACHE STRING "Version of `abseil` to be fetched."
)
+38 -38
View File
@@ -2,44 +2,44 @@
Changelog
=========
Upcoming version (not yet released)
3.3.6 (September 9, 2025)
-----------------------------------
General
^^^^^^^
- Constraint island discovery and construction, previously an experimental feature, is now :ref:`documented<soIsland>`
and promoted to default; disable it with :ref:`option/flag/island <option-flag-island>`. We expect islanding to be
a strict improvement over the monolithic constraint solver, please let us know if you experience any issues.
- :ref:`Contact sensor<sensor-contact>` :at-val:`subtree1/subtree2` specification is now available for any body, not
just direct children of the world.
1. Constraint island discovery and construction, previously an experimental feature, is now :ref:`documented<soIsland>`
and promoted to default; disable it with :ref:`option/flag/island <option-flag-island>`. We expect islanding to be
a strict improvement over the monolithic constraint solver, please let us know if you experience any issues.
2. :ref:`Contact sensor<sensor-contact>` :at-val:`subtree1/subtree2` specification is now available for any body, not
just direct children of the world.
.. admonition:: Breaking API changes
:class: attention
- The update of ``mjData.qacc_warmstart`` was moved from the end of the solver call (:ref:`mj_fwdConstraint`) to the
end of :ref:`mj_step`, and is now updated with all other state variables. This change makes :ref:`mj_forward`
fully idempotent.
3. The update of ``mjData.qacc_warmstart`` was moved from the end of the solver call (:ref:`mj_fwdConstraint`) to
the end of :ref:`mj_step`, and is now updated with all other state variables. This change makes :ref:`mj_forward`
fully idempotent.
Before this change, calling :ref:`mj_forward` repeatedly would make the constraint solver converge,
since each subsequent call would start from the previously updated ``qacc_warmstart`` value.
Indeed, this is precisely what happened in the viewer, which calls :ref:`mj_forward` repeatedly in PAUSE mode.
Before this change, calling :ref:`mj_forward` repeatedly would make the constraint solver converge,
since each subsequent call would start from the previously updated ``qacc_warmstart`` value.
Indeed, this is precisely what happened in the viewer, which calls :ref:`mj_forward` repeatedly in PAUSE mode.
**Migration:** If your code depended on this behavior, you can recover it by updating manually after each
:ref:`mj_forward`: ``qacc_warmstart ← qacc``. The behavior is available in :ref:`simulate<saSimulate>` by
clicking the "Pause update" toggle (off by default).
**Migration:** If your code depended on this behavior, you can recover it by updating manually after each
:ref:`mj_forward`: ``qacc_warmstart ← qacc``. The behavior is available in :ref:`simulate<saSimulate>` by
clicking the "Pause update" toggle (off by default).
Furthermore, this change has a numerical impact on the output of the :ref:`RK4 <geIntegrators>` integrator. Before
this change, due to the ``qacc_warmstart`` update occurring after each of the four Runge-Kutta substeps, the solver
convergence of RK4 was faster, at the cost of unprincipled integration. This change makes the RK4 integration
principled and well-defined. Since this change to RK4 is effectively a bug fix, migration to the previous behavior
is not provided.
Furthermore, this change has a numerical impact on the output of the :ref:`RK4 <geIntegrators>` integrator.
Before this change, due to the ``qacc_warmstart`` update occurring after each of the four Runge-Kutta substeps,
the solver convergence of RK4 was faster, at the cost of unprincipled integration. This change makes the RK4
integration principled and well-defined. Since this change to RK4 is effectively a bug fix, migration to the
previous behavior is not provided.
- The ``mjDSBL_PASSIVE`` flag for disabling passive forces was removed and replaced by
:ref:`mjDSBL_SPRING<mjtDisableBit>` and :ref:`mjDSBL_DAMPER<mjtDisableBit>` with corresponding
:ref:`mjcf<option-flag-spring>` :ref:`attributes<option-flag-damper>`. Each flag disables only joint and tendon
springs or dampers, respectively. When both flags are set, **all** passive forces are disabled, including gravity
compensation, fluid forces, forces computed by the :ref:`mjcb_passive` callback, and forces computed by
:ref:`plugins <exPlugin>` when passed the :ref:`mjPLUGIN_PASSIVE<mjtPluginCapabilityBit>` capability flag.
4. The ``mjDSBL_PASSIVE`` flag for disabling passive forces was removed and replaced by
:ref:`mjDSBL_SPRING<mjtDisableBit>` and :ref:`mjDSBL_DAMPER<mjtDisableBit>` with corresponding
:ref:`mjcf<option-flag-spring>` :ref:`attributes<option-flag-damper>`. Each flag disables only joint and tendon
springs or dampers, respectively. When both flags are set, **all** passive forces are disabled, including gravity
compensation, fluid forces, forces computed by the :ref:`mjcb_passive` callback, and forces computed by
:ref:`plugins <exPlugin>` when passed the :ref:`mjPLUGIN_PASSIVE<mjtPluginCapabilityBit>` capability flag.
**Migration:** Set both flags to recover the behavior of the previous flag.
@@ -47,31 +47,31 @@ General
.. admonition:: Breaking ABI changes
:class: attention
- Removed ``mjMOUSE_SELECT`` flag for :ref:`mjtMouse` as it is no longer in use.
5. Removed ``mjMOUSE_SELECT`` flag for :ref:`mjtMouse` as it is no longer in use.
- The promotion of islanding to default involved removing the enable flag ``mjENBL_ISLAND`` and
converting it to a disable flag :ref:`mjDSBL_ISLAND <mjtDisableBit>`.
6. The promotion of islanding to default involved removing the enable flag ``mjENBL_ISLAND`` and
converting it to a disable flag :ref:`mjDSBL_ISLAND <mjtDisableBit>`.
- Added support for shells with a curved reference configuration. See this `example
<https://github.com/google-deepmind/mujoco/blob/main/model/flex/basket.xml>`__.
- Added experimental option for :ref:`passive<flex-contact-passive>` contacts involving flexes.
7. Added support for shells with a curved reference configuration. See this `example
<https://github.com/google-deepmind/mujoco/blob/main/model/flex/basket.xml>`__.
8. Added experimental option for :ref:`passive<flex-contact-passive>` contacts involving flexes.
- Added support for assigning a default material to a mesh asset using the :ref:`mesh/material <asset-mesh-material>`
attribute.
9. Added support for assigning a default material to a mesh asset using the :ref:`mesh/material <asset-mesh-material>`
attribute.
MJX
^^^
- Promote ``ten_length`` to the public MJX API. Add Warp support for ``mjx.tendon``.
10. Promote ``ten_length`` to the public MJX API. Add Warp support for ``mjx.tendon``.
.. admonition:: Breaking API changes
:class: attention
- ``ten_length`` was moved from ``mjx.Data._impl.ten_length`` to a public field ``mjx.Data.ten_length``.
11. ``ten_length`` was moved from ``mjx.Data._impl.ten_length`` to a public field ``mjx.Data.ten_length``.
Bug fixes
^^^^^^^^^
- Fixed a latent bug where MjData objects were not serialized correctly by the Python bindings when islanding was
enabled.
12. Fixed a latent bug where MjData objects were not serialized correctly by the Python bindings when islanding was
enabled.
Version 3.3.5 (August 8, 2025)
+3 -3
View File
@@ -140,7 +140,7 @@ findorfetch(
GIT_REPO
https://github.com/abseil/abseil-cpp
GIT_TAG
76bb24329e8bf5f39704eb10d21b9a80befa7c81 # LTS 20250512.0
987c57f325f7fa8472fa84e1f885f7534d391b0d # LTS 20250814.0.0
TARGETS
${MUJOCO_PYTHON_ABSL_TARGETS}
EXCLUDE_FROM_ALL
@@ -173,7 +173,7 @@ findorfetch(
GIT_REPO
https://gitlab.com/libeigen/eigen
GIT_TAG
4be7e6b4e0a82853e853c0c7c4ef72f395e1f497
4033cfcc1dd45b3cdf7285afd93556f2cfbe9425
TARGETS
Eigen3::Eigen
EXCLUDE_FROM_ALL
@@ -191,7 +191,7 @@ findorfetch(
GIT_REPO
https://github.com/pybind/pybind11
GIT_TAG
f0ecf21301c0c24bc78b8b310347c7507d9f41d0 # v3.0.0
e86205cb2ba070755d582856430c0f83c0af6694 # v3.0.1
TARGETS
pybind11::pybind11_headers
EXCLUDE_FROM_ALL