Skip to content

2.3.2

Compare
Choose a tag to compare
@quagla quagla released this 07 Feb 15:46
· 1974 commits to main since this release

General

  1. A more performant mju_transposeSparse has been implemented that doesn't require dense memory allocation. For a constraint Jacobian matrix from the humanoid100.xml model, this function is 35% faster.
  2. The function mj_name2id is now implemented using a hash function instead of a linear search for better performance.
  3. Geom names are now parsed from URDF. Any duplicate names are ignored. mj_printData output now contains contacting geom names.

Bug fixes

  1. Fixed a bug that for shellinertia equal to true caused the mesh orientation to be overwritten by the principal components of the shell inertia, while the vertex coordinates are rotated using the volumetric inertia. Now the volumetric inertia orientation is used also in the shell case.
  2. Fixed misalignment bug in mesh-to-primitive fitting when using the bounding box fitting option fitaabb.
  3. The launch_repl functionality in the Python viewer has been fixed.
  4. Set time correctly in mjd_transitionFD, to support time-dependent user code.
  5. Fixed sensor data dimension validation when user type sensors are present.
  6. Fixed incorrect plugin error message when a null nsensordata callback is encountered during model compilation.
  7. Correctly end the timer (TM_END) mj_fwdConstraint returns early.
  8. Fixed an infinite loop in mj_deleteFileVFS.

Simulate

  1. Increased precision of simulate sensor plot y-axis by 1 digit #719.
  2. Body labels are now drawn at the body frame rather than inertial frame, unless inertia is being visualised.

Plugins

  1. The reset callback now receives instance-specific plugin_state and plugin_data as arguments, rather than the entire mjData. Since reset is called inside mj_resetData before any physics forwarding call has been made, it is an error to read anything from mjData at this stage.
  2. The capabilities field in mjpPlugin is renamed capabilityflags to more clearly indicate that this is a bit field.