Skip to content

2.2.1

Compare
Choose a tag to compare
@saran-t saran-t released this 17 Jul 17:25
· 2410 commits to main since this release

General

  1. Added mjd_transitionFD to compute efficient finite difference approximations of the state-transition and control-transition matrices, see here for more details.
  2. Added derivatives for the ellipsoid fluid model.
  3. Added ctrl attribute to keyframes.
  4. Added clock sensor which measures time.
  5. Added visualisation groups to skins.
  6. Added actuator visualisation for free and ball joints and for actuators with site transmission.
  7. Added visualisation for actuator activations.
  8. Added <intvelocity> actuator shortcut for "integrated velocity" actuators, documented here.
  9. Added <damper> actuator shortcut for active-damping actuators, documented here.
  10. mju_rotVecMat and mju_rotVecMatT now support in-place multiplication.
  11. mjData.ctrl values are no longer clamped in-place, remain untouched by the engine.
  12. Arrays in mjData's buffer now align to 64-byte boundaries rather than 8-byte.
  13. Add memory poisoning when building with Address Sanitizer (ASAN) and Memory Sanitizer (MSAN). This allows ASAN to detect reads and writes to regions in mjModel.buffer and mjData.buffer that do not lie within an array, and for MSAN to detect reads from uninitialised fields in mjData following mj_resetData.
  14. Add a slider-crank example to model/.

Bug fixes

  1. Activation clamping was not being applied in the implicit integrator.
  2. Stricter parsing of orientation specifiers. Before this change, a specification that included both quat and an alternative specifier e.g., <geom ... quat=".1 .2 .3 .4" euler="10 20 30">, would lead to the quat being ignored and only euler being used. After this change a parse error will be thrown.
  3. Stricter parsing of XML attributes. Before this change an erroneous XML snippet like <geom size="1/2 3 4"> would have been parsed as size="1 0 0" and no error would have been thrown. Now throws an error.
  4. Trying to load a NaN via XML like <geom size="1 NaN 4">, while allowed for debugging purposes, will now print a warning.
  5. Fixed null pointer dereference in mj_loadModel.
  6. Fixed memory leaks when loading an invalid model from MJB.
  7. Integer overflows are now avoided when computing mjModel buffer sizes.
  8. Added missing warning string for mjWARN_BADCTRL.

Packaging

  1. Changed MacOS packaging so that the copy of mujoco.framework embedded in MuJoCo.app can be used to build applications externally.