Skip to content

2.3.4

Choose a tag to compare

@saran-t saran-t released this 20 Apr 16:56
· 3695 commits to main since this release

24 April 2023: This version is affected by an asset loading bug that prevents OBJ and PNG files from being read from disk when mjVFS is used. Users are advised to skip to version 2.3.5 instead.

General

  1. Removed the "global" setting of the compiler/coordinate attribute. This rarely-used setting complicates the compiler logic and is blocking future improvements. In order to convert older models which used this option, load and save them in MuJoCo 2.3.3 or older.
  2. Added visual-global flag ellipsoidinertia to visualize equivalent body inertias with ellipsoids instead of the default boxes.
  3. Added midphase and broadphase collision statistics to mjData.
  4. Added documentation for engine plugins.
  5. Added struct information to the introspect module.
  6. Added a new extension mechanism called "resource provider" . This extensible mechanism allows MuJoCo to read assets from data sources other than the local OS filesystem or the Virtual file system.

Python bindings

  1. Offscreen rendering on macOS is no longer restricted to the main thread. This is achieved by using the low-level Core OpenGL (CGL) API to create the OpenGL context, rather than going via GLFW which relies on Cocoa's NSOpenGL. The resulting context is not tied to a Cocoa window, and is therefore not tied to the main thread.
  2. Fixed a race condition in viewer.launch_passive and viewer.launch_repl. These functions could previously return before an internal call to mj_forward. This allows user code to continue and potentially modify physics state concurrently with the internal mj_forward, resulting in e.g. MuJoCo stack overflow error or segmentation fault.
  3. The viewer.launch_passive function now returns a handle which can be used to interact with the viewer. The passive viewer now also requires an explicit call to sync on its handle to pick up any update to the physics state. This is to avoid race conditions that can result in visual artifacts. See documentation for details.
  4. The viewer.launch_repl function has been removed since its functionality is superceded by launch_passive.
  5. Added a small number of missing struct fields discovered through the new introspect metadata.

Bug fixes

  1. Fixed bug in the handling of ellipsoid-based fluid model forces in the new implicitfast integrator.
  2. Removed spurious whole-arena copying in mj_copyData, which can considerably slow down the copying operation (#568).
  3. Make shellinertia ignore exactmeshinertia, which is only used for legacy volume computations (#759).