DART upgraded from 6.13 to 6.16.6 in Linux Gazebo Jetty (gz-physics9)

Hi all:

The DART physics engine dependency in Gazebo Jetty has been upgraded from version 6.13 to 6.16.6. This update is available now for Ubuntu users running the packages. These kind of of updates to the underlying Gazebo technologies are exceptional for an stable release of the simulator but we think that worth it in this case to solve an important bug with the joint position limits.

This upgrade applies by now to Gazebo Jetty (gz-physics9) only. Other Gazebo distributions continue using their existing DART versions but we plan on rolling this update to the other stable Gazebo distributions if we don’t find any major regression.

Updating and backwards compatibility

If you are running Gazebo Jetty on Ubuntu with packages from the official repository, simply update your system:

sudo apt update && sudo apt upgrade

The new DART 6.16.6 dependency will be pulled in automatically with gz-physics 9.1.0-2 or later. The new linking is loaded by the plugin libgz-physics-dartsim-plugin.so.9.1.0 so initially we don’t expect any problems with ABI/API stability.

The possible regressions could come from behaviour changes in simulation coming from DART changes, he have heavily tested the update against all our automated test suite in gz-physics and gz-sim (see gz-physics#816) and did not find problems. Please report any problem in the gz-physics issue tracker mentioning the gz-physics#816 if you found any.

Key bug fix: joints stuck at position limits

The most impactful fix in this upgrade addresses a long-standing issue reported over three years ago in gz-sim#1684: joints getting permanently stuck when hitting position limits.

When a joint with position limits reached its boundary, it could become unresponsive to new velocity commands. The joint would simply freeze and never recover, even when commanded to move in the opposite direction. In force mode, the issue manifested as extreme integral windup in the PID controller, causing 30+ second delays before the joint would respond.

DART changelog highlights (6.14.0 to 6.16.6)

Here are the most relevant changes for Gazebo users across this version range:

6.14.0 (2024-06-24)

  • Mimic joint per-DOF properties (#1752)
  • LCP problem construction performance improvements
  • Removed planning component (breaking change)

6.14.5 (2024-09-08)

  • Allowed negative scale for MeshShape (#1841)

6.15.0 (2024-11-15)

  • Build improvements: ImGui 1.91.5 and nlopt 2.9.0 support

6.16.0 (2025-11-09)

  • Allow servo joints to recover from position limits (#2086) — the key fix for gz-sim#1684
  • Fix passive joint commands to respect joint actuation limits (#1997)
  • Added gz-physics integration tests to CI (#2000)

6.16.1 – 6.16.4 (2025-12 to 2026-01)

  • Fix compilation without NDEBUG (#2295, #2326)
  • Fix Bullet double-precision includes (#2334)
  • Fix ODE box-cylinder contact stability (#2389)

6.16.5 – 6.16.6

  • Additional joint limit recovery fixes (#2421, #2424)

Links

1 Like