Add Jdot correction for connect and weld constaints

Measured reduction in constraint violations before/after this change:

| Model | Correction ON (Avg Viol) | Correction OFF (Avg Viol) | Reduction |
| :--- | :--- | :--- | :--- |
| `jdotv_connect_2d.xml` | 3.959e-4 | 1.699e-3 | **76.7%** |
| `jdotv_connect_3d.xml` | 1.399e-3 | 5.493e-3 | **74.5%** |
| `jdotv_weld_3d.xml` | 9.472e-3 | 1.148e-2 | **17.5%** |

PiperOrigin-RevId: 899137525
Change-Id: Ic3e33764ebd64239bab916289c23d80c3da0b51b
This commit is contained in:
Yuval Tassa
2026-04-13 12:47:17 -07:00
committed by Copybara-Service
parent 0c337799bd
commit 412cee2059
13 changed files with 481 additions and 43 deletions
+5 -1
View File
@@ -29,9 +29,13 @@ General
may unify the linear and higher-order coefficients into a single array.
- Added :ref:`midpoint integration<geMidpoint>` for standalone free bodies in ``implicit`` and ``implicitfast``
:ref:`integrators<geIntegrators>`. This applies the implicit midpoint rule to the rotational dynamics of free bodies
with no children, exactly conserving kinetic energy and angular momentum in the absence of external torques. The
with no children, conserving kinetic energy to machine precision in the absence of external torques. The
:ref:`invdiscrete<option-flag-invdiscrete>` flag now also disables midpoint integration, providing an opt-out
mechanism.
- Added the centripetal/Coriolis acceleration term :math:`\dot{J}v` to the constraint solver bias for
:ref:`connect<equality-connect>` and :ref:`weld<equality-weld>` equality constaints. This significantly improves the
stability of constrained mechanisms like four-bar linkages. See :ref:`Dual problem<soDual>` for details.
- Introduced :ref:`mjpEncoder`, the counterpart to :ref:`mjpDecoder` for encoding of :ref:`mjSpec` and :ref:`mjModel`
into :ref:`mjResource`.