From 94b6ae2b694a7e3a6b39a69a0e3da811f5b5dfb9 Mon Sep 17 00:00:00 2001 From: Saran Tunyasuvunakool Date: Tue, 6 Sep 2022 11:32:25 -0700 Subject: [PATCH] Bump version number to 2.2.2. PiperOrigin-RevId: 472513958 Change-Id: I42f321c6681fdd42c5f80368f612534aa885af74 --- CMakeLists.txt | 2 +- doc/changelog.rst | 105 +++++++++--------- doc/unity.rst | 4 +- include/mujoco/mujoco.h | 2 +- python/mujoco/CMakeLists.txt | 4 +- python/setup.py | 2 +- sample/CMakeLists.txt | 2 +- simulate/CMakeLists.txt | 2 +- src/engine/engine_support.c | 4 +- test/engine/engine_support_test.cc | 8 +- .../Editor/Bindings/MujocoBinaryRetriever.cs | 4 +- unity/Runtime/Bindings/MujocoBindings.cs | 2 +- unity/package.json | 2 +- 13 files changed, 72 insertions(+), 71 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5aee6b1..ee665ca0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON) project( mujoco - VERSION 2.2.1 + VERSION 2.2.2 DESCRIPTION "MuJoCo Physics Simulator" HOMEPAGE_URL "https://mujoco.org" ) diff --git a/doc/changelog.rst b/doc/changelog.rst index 3b24bfdf..a559c781 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -2,82 +2,83 @@ Changelog ========= -Upcoming version (not yet released) ------------------------------------ + +Version 2.2.2 (September 7, 2022) +--------------------------------- General ^^^^^^^ -.. youtube:: BcHZ5BFeTmU - :align: right - :height: 150px +.. youtube:: BcHZ5BFeTmU + :align: right + :height: 150px -- Added :ref:`adhesion actuators` mimicking vacuum grippers and adhesive biomechanical appendages. -- Added related `example model `_ and video: -- Added :ref:`mj_jacSubtreeCom` for computing the translational Jacobian of the center-of-mass of a subtree. -- Added :at:`torquescale` and :at:`anchor` attributes to :el:`weld` constraints. :at:`torquescale` sets the - torque-to-force ratio exerted by the constraint, :at:`anchor` sets the point at which the weld wrench is - applied. See :ref:`weld ` for more details. -- Increased ``mjNEQDATA``, the row length of equality constraint parameters in ``mjModel.eq_data``, from 7 to 11. -- Added visualisation of anchor points for both :el:`connect` and :el:`weld` constraints (activated by the 'N' key in - ``simulate``). -- Added `weld.xml `_ showing different - uses of new weld attributes. +1. Added :ref:`adhesion actuators` mimicking vacuum grippers and adhesive biomechanical appendages. +#. Added related `example model `_ and video: +#. Added :ref:`mj_jacSubtreeCom` for computing the translational Jacobian of the center-of-mass of a subtree. +#. Added :at:`torquescale` and :at:`anchor` attributes to :el:`weld` constraints. :at:`torquescale` sets the + torque-to-force ratio exerted by the constraint, :at:`anchor` sets the point at which the weld wrench is + applied. See :ref:`weld ` for more details. +#. Increased ``mjNEQDATA``, the row length of equality constraint parameters in ``mjModel.eq_data``, from 7 to 11. +#. Added visualisation of anchor points for both :el:`connect` and :el:`weld` constraints (activated by the 'N' key in + ``simulate``). +#. Added `weld.xml `_ showing different + uses of new weld attributes. - .. youtube:: s-0JHanqV1A + .. youtube:: s-0JHanqV1A :align: right :height: 150px -- Cartesian 6D end-effector control is now possible by adding a reference site to actuators with :at:`site` - transmission. See description of new :at:`refsite` attribute in the :ref:`actuator` documentation and - `refsite.xml `_ example model. +#. Cartesian 6D end-effector control is now possible by adding a reference site to actuators with :at:`site` + transmission. See description of new :at:`refsite` attribute in the :ref:`actuator` documentation and + `refsite.xml `_ example model. +#. Added :at:`autolimits` compiler option. If ``true``, joint and tendon :at:`limited` attributes and actuator + :at:`ctrllimited`, :at:`forcelimited` and :at:`actlimited` attributes will automatically be set to ``true`` if the + corresponding range *is defined* and ``false`` otherwise. -- Added :at:`autolimits` compiler option. If ``true``, joint and tendon :at:`limited` attributes and actuator - :at:`ctrllimited`, :at:`forcelimited` and :at:`actlimited` attributes will automatically be set to ``true`` if the - corresponding range *is defined* and ``false`` otherwise. + If ``autolimits="false"`` (the default) models where a :at:`range` attribute is specified without the :at:`limited` + attribute will fail to compile. A future release will change the default of :at:`autolimits` to ``true``, and this + compilation error allows users to catch this future change of behavior. - If ``autolimits="false"`` (the default) models where a :at:`range` attribute is specified without the :at:`limited` - attribute will fail to compile. A future release will change the default of :at:`autolimits` to ``true``, and this - compilation error allows users to catch this future change of behavior. + .. attention:: + This is a breaking change. In models where a range was defined but :at:`limited` was unspecified, explicitly set + limited to ``false`` or remove the range to maintain the current behavior of your model. - .. attention:: - This is a breaking change. In models where a range was defined but :at:`limited` was unspecified, explicitly set - limited to ``false`` or remove the range to maintain the current behavior of your model. +#. Added moment of inertia computation for all well-formed meshes. This option is activated by setting the compiler + flag :at:`exactmeshinertia` to ``true`` (defaults to ``false``). This default may change in the future. +#. Added parameter :at:`shellinertia` to :at:`geom`, for locating the inferred inertia on the boundary (shell). + Currently only meshes are supported. +#. For meshes from which volumetric inertia is inferred, raise error if the orientation of mesh faces is not consistent. + If this occurs, fix the mesh in e.g., MeshLab or Blender. -- Added moment of inertia computation for all well-formed meshes. This option is activated by setting the compiler - flag :at:`exactmeshinertia` to ``true`` (defaults to ``false``). This default may change in the future. -- Added parameter :at:`shellinertia` to :at:`geom`, for locating the inferred inertia on the boundary (shell). - Currently only meshes are supported. -- For meshes from which volumetric inertia is inferred, raise error if the orientation of mesh faces is not consistent. - If this occurs, fix the mesh in e.g., MeshLab or Blender. - - .. youtube:: I2q7D0Vda-A + .. youtube:: I2q7D0Vda-A :align: right :height: 150px -- Added catenary visualisation for hanging tendons. The model seen in the video can be found - `here `_. -- Added ``azimuth`` and ``elevation`` attributes to :ref:`visual/global`, defining the initial orientation of - the free camera at model load time. -- Added ``mjv_defaultFreeCamera`` which sets the default free camera, respecting the above attributes. -- ``simulate`` now supports taking a screenshot via a button in the File section or via ``Ctrl-P``. -- Improvements to time synchronisation in `simulate`, in particular report actual real-time factor if different from - requested factor (if e.g., the timestep is so small that simulation cannot keep up with real-time). -- Added a disable flag for sensors. -- :ref:`mju_mulQuat` and :ref:`mju_mulQuatAxis` support in place computation. For example - |br| ``mju_mulQuat(a, a, b);`` sets the quaternion ``a`` equal to the product of ``a`` and ``b``. -- Added sensor matrices to ``mjd_transitionFD`` (note this is an API change). +#. Added catenary visualisation for hanging tendons. The model seen in the video can be found + `here `_. +#. Added ``azimuth`` and ``elevation`` attributes to :ref:`visual/global`, defining the initial orientation of + the free camera at model load time. +#. Added ``mjv_defaultFreeCamera`` which sets the default free camera, respecting the above attributes. +#. ``simulate`` now supports taking a screenshot via a button in the File section or via ``Ctrl-P``. +#. Improvements to time synchronisation in `simulate`, in particular report actual real-time factor if different from + requested factor (if e.g., the timestep is so small that simulation cannot keep up with real-time). +#. Added a disable flag for sensors. +#. :ref:`mju_mulQuat` and :ref:`mju_mulQuatAxis` support in place computation. For example + |br| ``mju_mulQuat(a, a, b);`` sets the quaternion ``a`` equal to the product of ``a`` and ``b``. +#. Added sensor matrices to ``mjd_transitionFD`` (note this is an API change). Deleted/deprecated features ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Removed ``distance`` constraints. +21. Removed ``distance`` constraints. Bug fixes ^^^^^^^^^ -- Fixed rendering of some transparent geoms in reflection. -- Fixed ``intvelocity`` defaults parsing. +22. Fixed rendering of some transparent geoms in reflection. +#. Fixed ``intvelocity`` defaults parsing. + Version 2.2.1 (July 18, 2022) ----------------------------- diff --git a/doc/unity.rst b/doc/unity.rst index d5c8e711..a5029399 100644 --- a/doc/unity.rst +++ b/doc/unity.rst @@ -29,14 +29,14 @@ _____ The MuJoCo app needs to be run at least once before the native library can be used, in order to register the library as a trusted binary. Then, copy the dynamic library file from -``/Applications/MuJoCo.app/Contents/Frameworks/mujoco.framework/Versions/Current/libmujoco.2.2.1.dylib`` (it can be +``/Applications/MuJoCo.app/Contents/Frameworks/mujoco.framework/Versions/Current/libmujoco.2.2.2.dylib`` (it can be found by browsing the contents of ``MuJoCo.app``) and rename it as ``mujoco.dylib``. Linux _____ Expand the ``tar.gz`` archive to ``~/.mujoco``. Then copy the dynamic library from -``~/.mujoco/mujoco-2.2.1/lib/libmujoco.so.2.2.1`` and rename it as ``libmujoco.so``. +``~/.mujoco/mujoco-2.2.2/lib/libmujoco.so.2.2.2`` and rename it as ``libmujoco.so``. Windows _______ diff --git a/include/mujoco/mujoco.h b/include/mujoco/mujoco.h index 8f0ffff8..821c1a5f 100644 --- a/include/mujoco/mujoco.h +++ b/include/mujoco/mujoco.h @@ -24,7 +24,7 @@ extern "C" { #endif // header version; should match the library version as returned by mj_version() -#define mjVERSION_HEADER 221 +#define mjVERSION_HEADER 222 // needed to define size_t, fabs and log10 #include "stdlib.h" diff --git a/python/mujoco/CMakeLists.txt b/python/mujoco/CMakeLists.txt index 02bafd45..c589de28 100644 --- a/python/mujoco/CMakeLists.txt +++ b/python/mujoco/CMakeLists.txt @@ -75,13 +75,13 @@ if(NOT TARGET mujoco) find_path(MUJOCO_FRAMEWORK mujoco.Framework HINTS ${MUJOCO_FRAMEWORK_DIR}) if(MUJOCO_FRAMEWORK) message("MuJoCo framework is at ${MUJOCO_FRAMEWORK}/mujoco.framework") - set(MUJOCO_LIBRARY ${MUJOCO_FRAMEWORK}/mujoco.framework/Versions/A/libmujoco.2.2.1.dylib) + set(MUJOCO_LIBRARY ${MUJOCO_FRAMEWORK}/mujoco.framework/Versions/A/libmujoco.2.2.2.dylib) target_compile_options(mujoco INTERFACE -F${MUJOCO_FRAMEWORK}) endif() endif() if(NOT MUJOCO_FRAMEWORK) - find_library(MUJOCO_LIBRARY mujoco mujoco.2.2.1 HINTS ${MUJOCO_LIBRARY_DIR} REQUIRED) + find_library(MUJOCO_LIBRARY mujoco mujoco.2.2.2 HINTS ${MUJOCO_LIBRARY_DIR} REQUIRED) find_path(MUJOCO_INCLUDE mujoco/mujoco.h HINTS ${MUJOCO_INCLUDE_DIR} REQUIRED) message("MuJoCo is at ${MUJOCO_LIBRARY}") message("MuJoCo headers are at ${MUJOCO_INCLUDE}") diff --git a/python/setup.py b/python/setup.py index a72bd705..fad9204e 100644 --- a/python/setup.py +++ b/python/setup.py @@ -30,7 +30,7 @@ from setuptools import find_packages from setuptools import setup from setuptools.command import build_ext -__version__ = '2.2.1' +__version__ = '2.2.2' MUJOCO_CMAKE = 'MUJOCO_CMAKE' MUJOCO_CMAKE_ARGS = 'MUJOCO_CMAKE_ARGS' diff --git a/sample/CMakeLists.txt b/sample/CMakeLists.txt index 1756dae2..58974b0c 100644 --- a/sample/CMakeLists.txt +++ b/sample/CMakeLists.txt @@ -24,7 +24,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON) project( mujoco_samples - VERSION 2.2.1 + VERSION 2.2.2 DESCRIPTION "MuJoCo samples binaries" HOMEPAGE_URL "https://mujoco.org" ) diff --git a/simulate/CMakeLists.txt b/simulate/CMakeLists.txt index e0dec11f..9ea1c8a9 100644 --- a/simulate/CMakeLists.txt +++ b/simulate/CMakeLists.txt @@ -29,7 +29,7 @@ set(MUJOCO_DEP_VERSION_lodepng project( mujoco_simulate - VERSION 2.2.1 + VERSION 2.2.2 DESCRIPTION "MuJoCo simulate binaries" HOMEPAGE_URL "https://mujoco.org" ) diff --git a/src/engine/engine_support.c b/src/engine/engine_support.c index ceeddf3e..5bf9071e 100644 --- a/src/engine/engine_support.c +++ b/src/engine/engine_support.c @@ -35,8 +35,8 @@ #endif #endif -#define mjVERSION 221 -#define mjVERSIONSTRING "2.2.1" +#define mjVERSION 222 +#define mjVERSIONSTRING "2.2.2" // names of disable flags const char* mjDISABLESTRING[mjNDISABLE] = { diff --git a/test/engine/engine_support_test.cc b/test/engine/engine_support_test.cc index 2c51ff58..8bb9948c 100644 --- a/test/engine/engine_support_test.cc +++ b/test/engine/engine_support_test.cc @@ -141,9 +141,9 @@ TEST_F(JacobianTest, SubtreeJacNoInternalAcc) { // the CoM should accelerate the whole mechanism without any internal motion int body_dofadr = model->body_dofadr[bodyid]; mjtNum invtreemass = 1.0/model->body_subtreemass[bodyid]; - for (int r=0; r<3; r++) { - for (int c=0; c