Version 2.1.2: Python bindings, OBJ assets support, bugfixes.
PiperOrigin-RevId: 434731612 Change-Id: I0cfda3e7a3d1c72036764986efc252ffa1b8c6b0
This commit is contained in:
+79
-2
@@ -2,6 +2,83 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Version 2.1.2 (Date TBD, 2022)
|
||||
------------------------------
|
||||
|
||||
New modules
|
||||
^^^^^^^^^^^
|
||||
|
||||
1. Added new :doc:`Python bindings<python>`, which can be installed via ``pip install mujoco``,
|
||||
and imported as ``import mujoco``.
|
||||
#. Added new :doc:`Unity plug-in<unity>`.
|
||||
#. Added a new ``introspect`` module, which provides reflection-like capability for MuJoCo's public API, currently
|
||||
describing functions and enums. While implemented in Python, this module is expected to be generally useful for
|
||||
automatic code generation targeting multiple languages. (This is not shipped as part of the ``mujoco`` Python
|
||||
bindings package.)
|
||||
|
||||
API changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
4. Moved definition of ``mjtNum`` floating point type into a new header
|
||||
`mjtnum.h <https://github.com/deepmind/mujoco/blob/main/include/mjtnum.h>`_.
|
||||
#. Renamed header `mujoco_export.h` to :ref:`mjexport.h<inHeader>`.
|
||||
#. Added ``mj_printFormattedData``, which accepts a format string for floating point numbers, for example to increase
|
||||
precision.
|
||||
|
||||
General
|
||||
^^^^^^^
|
||||
|
||||
7. MuJoCo can load `OBJ <https://en.wikipedia.org/wiki/Wavefront_.obj_file>`_ mesh files.
|
||||
|
||||
a. Meshes containing polygons with more than 4 vertices are not supported.
|
||||
#. In OBJ files containing multiple object groups, any groups after the first one will be ignored.
|
||||
|
||||
#. Added optional frame-of-reference specification to :ref:`framepos<sensor-framepos>`,
|
||||
:ref:`framequat<sensor-framequat>`, :ref:`framexaxis<sensor-framexaxis>`, :ref:`frameyaxis<sensor-frameyaxis>`,
|
||||
:ref:`framezaxis<sensor-framezaxis>`, :ref:`framelinvel<sensor-framelinvel>`, and
|
||||
:ref:`frameangvel<sensor-frameangvel>` sensors. The frame-of-reference is specified by new :at:`reftype` and
|
||||
:at:`refname` attributes.
|
||||
|
||||
#. Sizes of :ref:`user parameters <CUser>` are now automatically inferred.
|
||||
|
||||
a. Declarations of user parameters in the top-level :ref:`size <size>` clause (e.g. :at:`nuser_body`,
|
||||
:at:`nuser_jnt`, etc.) now accept a value of -1, which is the default. This will automatically set the value to
|
||||
the length of the maximum associated :at:`user` attribute defined in the model.
|
||||
#. Setting a value smaller than -1 will lead to a compiler error (previously a segfault).
|
||||
#. Setting a value to a length smaller than some :at:`user` attribute defined in the model will lead to an error
|
||||
(previously additional values were ignored).
|
||||
|
||||
#. Increased the maximum number of lights in an :ref:`mjvScene` from 8 to 100.
|
||||
|
||||
#. Saved XML files only contain explicit :ref:`inertial <inertial>` elements if the original XML included them. Inertias
|
||||
that were automatically inferred by the compiler's :ref:`inertiafromgeom <compiler>` mechanism remain unspecified.
|
||||
|
||||
#. User-selected geoms are always rendered as opaque. This is useful in interactive visualizers.
|
||||
|
||||
#. Static geoms now respect their :ref:`geom group<geom>` for visualisation. Until this change rendering of static geoms
|
||||
could only be toggled using the :ref:`mjVIS_STATIC<mjtVisFlag>` visualisation flag . After this change, both the geom
|
||||
group and the visualisation flag need to be enabled for the geom to be rendered.
|
||||
|
||||
#. Pointer parameters in function declarations in :ref:`mujoco.h<inHeader>` that are supposed to represent fixed-length
|
||||
arrays are now spelled as arrays with extents, e.g. ``mjtNum quat[4]`` rather than ``mjtNum* quat``. From the
|
||||
perspective of C and C++, this is a non-change since array types in function signatures decay to pointer types.
|
||||
However, it allows autogenerated code to be aware of expected input shapes.
|
||||
|
||||
Bug Fixes
|
||||
^^^^^^^^^
|
||||
|
||||
15. ``mj_loadXML`` and ``mj_saveLastXML`` are now locale-independent. The Unity plugin should now work correctly for
|
||||
users whose system locales use commas as decimal separators.
|
||||
#. XML assets in VFS no longer need to end in a null character. Instead, the file size is determined by the size
|
||||
parameter of the corresponding VFS entry.
|
||||
#. Fix a vertex buffer object memory leak in ``mjrContext`` when skins are used.
|
||||
#. Camera quaternions are now normalized during XML compilation.
|
||||
|
||||
Binary build
|
||||
^^^^^^^^^^^^
|
||||
|
||||
18. Windows binaries are now built with Clang.
|
||||
|
||||
Version 2.1.1 (Dec. 16, 2021)
|
||||
-----------------------------
|
||||
|
||||
@@ -45,7 +122,7 @@ Bug Fixes
|
||||
:ref:`weld <equality-weld>` constraints.
|
||||
|
||||
.. note::
|
||||
Forces generated by :ref:`spatial tendons <spatial>` which are outside the kinematic tree (i.e. between bodies
|
||||
Forces generated by :ref:`spatial tendons <spatial>` which are outside the kinematic tree (i.e., between bodies
|
||||
which have no ancestral relationship) are still not taken into account by force and torque sensors. This remains a
|
||||
future work item.
|
||||
|
||||
@@ -118,7 +195,7 @@ New features
|
||||
General
|
||||
^^^^^^^
|
||||
|
||||
3. The pre-allocated sizes in the virtual file system (VFS) increased to 2000 and 1000, to allow for larger projects.
|
||||
3. The preallocated sizes in the virtual file system (VFS) increased to 2000 and 1000, to allow for larger projects.
|
||||
#. The C structs in the ``mjuiItem`` union are now named, for compatibility.
|
||||
#. Fixed: ``mjcb_contactfilter`` type is ``mjfConFilt`` (was ``mjfGeneric``).
|
||||
#. Fixed: The array of sensors in ``mjCModel`` was not cleared.
|
||||
|
||||
Reference in New Issue
Block a user