2.2.0
Open Sourcing
-
MuJoCo is now fully open-source software. Newly available top level directories are:
src/
: All source files. Subdirectories correspond to the modules described in the Programming chapter introduction:src/engine/
: Core engine.src/xml/
: XML parser.src/user/
: Model compiler.src/visualize/
: Abstract visualizer.src/ui/
: UI framework.
test/
: Tests and corresponding asset files.dist/
: Files related to packaging and binary distribution.
-
Added contributor's guide and style guide.
General
-
Added analytic derivatives of smooth (unconstrained) dynamics forces, with respect to velocities:
- Centripetal and Coriolis forces computed by the Recursive Newton-Euler algorithm.
- Damping and fluid-drag passive forces.
- Actuation forces.
-
Added
implicit
integrator. Using the analytic derivatives above, a new implicit-in-velocity integrator was added. This integrator lies between the Euler and Runge Kutta integrators in terms of both stability and computational cost. It is most useful for models which use fluid drag (e.g. for flying or swimming) and for models which use velocity actuators. For more details, see the Numerical Integration section. -
Added
actlimited
andactrange
attributes to general actuators, for clamping actuator internal states (activations). This clamping is useful for integrated-velocity actuators, see the Activation clamping section for details. -
mjData
fieldsqfrc_unc
(unconstrained forces) andqacc_unc
(unconstrained accelerations) were renamedqfrc_smooth
andqacc_smooth
, respectively. While "unconstrained" is precise, "smooth" is more intelligible than "unc". -
Public headers have been moved from
/include
to/include/mujoco/
, in line with the directory layout common in other open source projects. Developers are encouraged to include MuJoCo public headers in their own codebase via#include <mujoco/filename.h>
. -
The default shadow resolution specified by the shadowsize attribute was increased from 1024 to 4096.
-
Saved XMLs now use 2-space indents.
Bug fixes
-
Antialiasing was disabled for segmentation rendering. Before this change, if the offsamples attribute was greater than 0 (the default value is 4), pixels that overlapped with multiple geoms would receive averaged segmentation IDs, leading to incorrect or non-existent IDs. After this change
offsamples
is ignored during segmentation rendering. -
The value of the enable flag for the experimental multiCCD feature was made sequential with other enable flags. Sequentiality is assumed in the
simulate
UI and elsewhere. -
Fix issue of duplicated meshes when saving models with OBJ meshes using
mj_saveLastXML
.
Update 1 (27 May 2022): Replaced Linux tarball to fix RPATH on the sample binaries. No change in functionality.