Version 2.1.1: Binaries for ARM64, proper macOS bundles, minor bugfixes.
Closes #2 Closes #42 Closes #59 PiperOrigin-RevId: 416794598 Change-Id: I1306df1127d6acecf2323873c0da0910f35d31a0
This commit is contained in:
+109
-5
@@ -1,12 +1,111 @@
|
||||
.. include:: includes/macros.rst
|
||||
.. include:: includes/roles.rst
|
||||
|
||||
=========
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Version 2.1 (Oct. 18, 2021)
|
||||
---------------------------
|
||||
Version 2.1.1 (Dec. 16, 2021)
|
||||
-----------------------------
|
||||
|
||||
API changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
1. Added ``mj_printFormattedModel``, which accepts a format string for floating point numbers, for example to increase
|
||||
precision.
|
||||
#. Added ``mj_versionString``, which returns human-readable string that represents the version of the MuJoCo binary.
|
||||
#. Converted leading underscores to trailing underscores in private instances of API struct definitions, to conform to
|
||||
reserved identifier directive, see
|
||||
`C standard: Section 7.1.3 <www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>`__.
|
||||
|
||||
.. attention::
|
||||
This is a minor breaking change. Code which references private instances will break. To fix, replace leading
|
||||
underscores with trailing underscores, e.g. ``_mjModel`` |rarr| ``mjModel_``.
|
||||
|
||||
General
|
||||
^^^^^^^
|
||||
|
||||
4. Safer string handling: replaced ``strcat``, ``strcpy``, and ``sprintf`` with ``strncat``, ``strncpy``, and
|
||||
``snprintf`` respectively.
|
||||
#. Changed indentation from 4 spaces to 2 spaces everywhere.
|
||||
|
||||
Bug Fixes
|
||||
^^^^^^^^^
|
||||
|
||||
6. Fixed reading from uninitialized memory in PGS solver.
|
||||
#. Computed capsule inertias are now exact. Until this change, capsule masses and inertias computed by the
|
||||
:ref:`compiler <compiler>`'s :at:`inertiafromgeom` mechanism were approximated by a cylinder, formed by the
|
||||
capsule's cylindrical middle section, extended on both ends by half the capsule radius. Capsule inertias are now
|
||||
computed with the `Parallel Axis theorem <https://en.wikipedia.org/wiki/Parallel_axis_theorem>`_, applied to the two
|
||||
hemispherical end-caps.
|
||||
|
||||
.. attention::
|
||||
This is a minor breaking change. Simulation of a model with automatically-computed capsule inertias will be
|
||||
numerically different, leading to, for example, breakage of golden-value tests.
|
||||
#. Fixed bug related to :ref:`force <sensor-force>` and :ref:`torque <sensor-torque>` sensors. Until this change, forces
|
||||
torques reported by F/T sensors ignored out-of-tree constraint wrenches except those produced by contacts. Force and
|
||||
and torque sensors now correctly take into account the effects of :ref:`connect <equality-connect>` and
|
||||
:ref:`weld <equality-weld>` constraints.
|
||||
|
||||
.. note::
|
||||
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.
|
||||
|
||||
Code samples
|
||||
^^^^^^^^^^^^
|
||||
|
||||
9. ``testspeed``: Added injection of pseudo-random control noise, turned on by default. This is to avoid settling into
|
||||
some fixed contact configuration and providing an unrealistic timing measure.
|
||||
#. ``simulate``:
|
||||
|
||||
a. Added slower-than-real-time functionality, which is controlled via the '+' and '-' keys.
|
||||
#. Added sliders for injecting Brownian noise into the controls.
|
||||
#. Added "Print Camera" button to print an MJCF clause with the pose of the current camera.
|
||||
#. The camera pose is not reset when reloading the same model file.
|
||||
|
||||
Updated dependencies
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
11. ``TinyXML`` was replaced with ``TinyXML2`` 6.2.0.
|
||||
#. ``qhull`` was upgraded to version 8.0.2.
|
||||
#. ``libCCD`` was upgraded to version 1.4.
|
||||
#. On Linux, ``libstdc++`` was replaced with ``libc++``.
|
||||
|
||||
Binary build
|
||||
^^^^^^^^^^^^
|
||||
|
||||
15. MacOS packaging. We now ship Universal binaries that natively support both Apple Silicon and Intel CPUs.
|
||||
|
||||
a. MuJoCo library is now packaged as a
|
||||
`Framework Bundle <https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html>`_,
|
||||
allowing it to be incorporated more easily into Xcode projects (including Swift projects). Developers are
|
||||
encouraged to compile and link against MuJoCo using the ``-framework mujoco`` flag, however all header files and
|
||||
the ``libmujoco.2.1.1.dylib`` library can still be directly accessed inside the framework.
|
||||
#. Sample applications are now packaged into an Application Bundle called ``MuJoCo.app``. When launched via GUI,
|
||||
the bundle launches the ``simulate`` executable. Other precompiled sample programs are shipped inside that bundle
|
||||
(in ``MuJoCo.app/Contents/MacOS``) and can be launched via command line.
|
||||
#. Binaries are now signed and the disk image is notarized.
|
||||
|
||||
#. Windows binaries and libraries are now signed.
|
||||
#. Link-time optimization is enabled on Linux and macOS, leading to an average of \~20% speedup when benchmarked on
|
||||
three test models (``cloth.xml``, ``humanoid.xml``, and ``humanoid100.xml``).
|
||||
#. Linux binaries are now built with LLVM/Clang instead of GCC.
|
||||
#. An AArch64 (aka ARM64) Linux build is also provided.
|
||||
#. Private symbols are no longer stripped from shared libraries on Linux and MacOS.
|
||||
|
||||
Sample models
|
||||
^^^^^^^^^^^^^
|
||||
21. Clean-up of the ``model/`` directory.
|
||||
|
||||
a. Rearranged into subdirectories which include all dependencies.
|
||||
#. Added descriptions in XML comments, cleaned up XMLs.
|
||||
#. Deleted some composite models: ``grid1``, ``grid1pin``, ``grid2``, ``softcylinder``, ``softellipsoid``.
|
||||
|
||||
#. Added descriptive animations in ``docs/images/models/`` :
|
||||
|
||||
|humanoid| |particle|
|
||||
|
||||
|
||||
Version 2.1.0 (Oct. 18, 2021)
|
||||
-----------------------------
|
||||
|
||||
New features
|
||||
^^^^^^^^^^^^
|
||||
@@ -63,3 +162,8 @@ Earlier Versions
|
||||
----------------
|
||||
|
||||
For changelogs of earlier versions please see `roboti.us <https://www.roboti.us/download.html>`_.
|
||||
|
||||
.. |humanoid| image:: images/models/humanoid.gif
|
||||
:width: 270px
|
||||
.. |particle| image:: images/models/particle.gif
|
||||
:width: 270px
|
||||
|
||||
Reference in New Issue
Block a user