Bump version number to 2.2.2.
PiperOrigin-RevId: 472513958 Change-Id: I42f321c6681fdd42c5f80368f612534aa885af74
This commit is contained in:
committed by
Copybara-Service
parent
3647584caa
commit
94b6ae2b69
+1
-1
@@ -28,7 +28,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON)
|
|||||||
|
|
||||||
project(
|
project(
|
||||||
mujoco
|
mujoco
|
||||||
VERSION 2.2.1
|
VERSION 2.2.2
|
||||||
DESCRIPTION "MuJoCo Physics Simulator"
|
DESCRIPTION "MuJoCo Physics Simulator"
|
||||||
HOMEPAGE_URL "https://mujoco.org"
|
HOMEPAGE_URL "https://mujoco.org"
|
||||||
)
|
)
|
||||||
|
|||||||
+53
-52
@@ -2,82 +2,83 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Upcoming version (not yet released)
|
|
||||||
-----------------------------------
|
Version 2.2.2 (September 7, 2022)
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
General
|
General
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
.. youtube:: BcHZ5BFeTmU
|
.. youtube:: BcHZ5BFeTmU
|
||||||
:align: right
|
:align: right
|
||||||
:height: 150px
|
:height: 150px
|
||||||
|
|
||||||
- Added :ref:`adhesion actuators<adhesion>` mimicking vacuum grippers and adhesive biomechanical appendages.
|
1. Added :ref:`adhesion actuators<adhesion>` mimicking vacuum grippers and adhesive biomechanical appendages.
|
||||||
- Added related `example model <https://github.com/deepmind/mujoco/tree/main/model/adhesion>`_ and video:
|
#. Added related `example model <https://github.com/deepmind/mujoco/tree/main/model/adhesion>`_ and video:
|
||||||
- Added :ref:`mj_jacSubtreeCom` for computing the translational Jacobian of the center-of-mass of a subtree.
|
#. 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
|
#. 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
|
torque-to-force ratio exerted by the constraint, :at:`anchor` sets the point at which the weld wrench is
|
||||||
applied. See :ref:`weld <equality-weld>` for more details.
|
applied. See :ref:`weld <equality-weld>` for more details.
|
||||||
- Increased ``mjNEQDATA``, the row length of equality constraint parameters in ``mjModel.eq_data``, from 7 to 11.
|
#. 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
|
#. Added visualisation of anchor points for both :el:`connect` and :el:`weld` constraints (activated by the 'N' key in
|
||||||
``simulate``).
|
``simulate``).
|
||||||
- Added `weld.xml <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/weld.xml>`_ showing different
|
#. Added `weld.xml <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/weld.xml>`_ showing different
|
||||||
uses of new weld attributes.
|
uses of new weld attributes.
|
||||||
|
|
||||||
.. youtube:: s-0JHanqV1A
|
.. youtube:: s-0JHanqV1A
|
||||||
:align: right
|
:align: right
|
||||||
:height: 150px
|
:height: 150px
|
||||||
|
|
||||||
- Cartesian 6D end-effector control is now possible by adding a reference site to actuators with :at:`site`
|
#. 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<general>` documentation and
|
transmission. See description of new :at:`refsite` attribute in the :ref:`actuator<general>` documentation and
|
||||||
`refsite.xml <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/refsite.xml>`_ example model.
|
`refsite.xml <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/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
|
If ``autolimits="false"`` (the default) models where a :at:`range` attribute is specified without the :at:`limited`
|
||||||
:at:`ctrllimited`, :at:`forcelimited` and :at:`actlimited` attributes will automatically be set to ``true`` if the
|
attribute will fail to compile. A future release will change the default of :at:`autolimits` to ``true``, and this
|
||||||
corresponding range *is defined* and ``false`` otherwise.
|
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`
|
.. attention::
|
||||||
attribute will fail to compile. A future release will change the default of :at:`autolimits` to ``true``, and this
|
This is a breaking change. In models where a range was defined but :at:`limited` was unspecified, explicitly set
|
||||||
compilation error allows users to catch this future change of behavior.
|
limited to ``false`` or remove the range to maintain the current behavior of your model.
|
||||||
|
|
||||||
.. attention::
|
#. Added moment of inertia computation for all well-formed meshes. This option is activated by setting the compiler
|
||||||
This is a breaking change. In models where a range was defined but :at:`limited` was unspecified, explicitly set
|
flag :at:`exactmeshinertia` to ``true`` (defaults to ``false``). This default may change in the future.
|
||||||
limited to ``false`` or remove the range to maintain the current behavior of your model.
|
#. 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
|
.. youtube:: I2q7D0Vda-A
|
||||||
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
|
|
||||||
:align: right
|
:align: right
|
||||||
:height: 150px
|
:height: 150px
|
||||||
|
|
||||||
- Added catenary visualisation for hanging tendons. The model seen in the video can be found
|
#. Added catenary visualisation for hanging tendons. The model seen in the video can be found
|
||||||
`here <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/catenary.xml>`_.
|
`here <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/catenary.xml>`_.
|
||||||
- Added ``azimuth`` and ``elevation`` attributes to :ref:`visual/global<global>`, defining the initial orientation of
|
#. Added ``azimuth`` and ``elevation`` attributes to :ref:`visual/global<global>`, defining the initial orientation of
|
||||||
the free camera at model load time.
|
the free camera at model load time.
|
||||||
- Added ``mjv_defaultFreeCamera`` which sets the default free camera, respecting the above attributes.
|
#. 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``.
|
#. ``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
|
#. 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).
|
requested factor (if e.g., the timestep is so small that simulation cannot keep up with real-time).
|
||||||
- Added a disable flag for sensors.
|
#. Added a disable flag for sensors.
|
||||||
- :ref:`mju_mulQuat` and :ref:`mju_mulQuatAxis` support in place computation. For example
|
#. :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``.
|
|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 sensor matrices to ``mjd_transitionFD`` (note this is an API change).
|
||||||
|
|
||||||
Deleted/deprecated features
|
Deleted/deprecated features
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
- Removed ``distance`` constraints.
|
21. Removed ``distance`` constraints.
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
- Fixed rendering of some transparent geoms in reflection.
|
22. Fixed rendering of some transparent geoms in reflection.
|
||||||
- Fixed ``intvelocity`` defaults parsing.
|
#. Fixed ``intvelocity`` defaults parsing.
|
||||||
|
|
||||||
|
|
||||||
Version 2.2.1 (July 18, 2022)
|
Version 2.2.1 (July 18, 2022)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|||||||
+2
-2
@@ -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
|
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
|
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``.
|
found by browsing the contents of ``MuJoCo.app``) and rename it as ``mujoco.dylib``.
|
||||||
|
|
||||||
Linux
|
Linux
|
||||||
_____
|
_____
|
||||||
|
|
||||||
Expand the ``tar.gz`` archive to ``~/.mujoco``. Then copy the dynamic library from
|
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
|
Windows
|
||||||
_______
|
_______
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// header version; should match the library version as returned by mj_version()
|
// 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
|
// needed to define size_t, fabs and log10
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
|
|||||||
@@ -75,13 +75,13 @@ if(NOT TARGET mujoco)
|
|||||||
find_path(MUJOCO_FRAMEWORK mujoco.Framework HINTS ${MUJOCO_FRAMEWORK_DIR})
|
find_path(MUJOCO_FRAMEWORK mujoco.Framework HINTS ${MUJOCO_FRAMEWORK_DIR})
|
||||||
if(MUJOCO_FRAMEWORK)
|
if(MUJOCO_FRAMEWORK)
|
||||||
message("MuJoCo framework is at ${MUJOCO_FRAMEWORK}/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})
|
target_compile_options(mujoco INTERFACE -F${MUJOCO_FRAMEWORK})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT MUJOCO_FRAMEWORK)
|
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)
|
find_path(MUJOCO_INCLUDE mujoco/mujoco.h HINTS ${MUJOCO_INCLUDE_DIR} REQUIRED)
|
||||||
message("MuJoCo is at ${MUJOCO_LIBRARY}")
|
message("MuJoCo is at ${MUJOCO_LIBRARY}")
|
||||||
message("MuJoCo headers are at ${MUJOCO_INCLUDE}")
|
message("MuJoCo headers are at ${MUJOCO_INCLUDE}")
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ from setuptools import find_packages
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools.command import build_ext
|
from setuptools.command import build_ext
|
||||||
|
|
||||||
__version__ = '2.2.1'
|
__version__ = '2.2.2'
|
||||||
|
|
||||||
MUJOCO_CMAKE = 'MUJOCO_CMAKE'
|
MUJOCO_CMAKE = 'MUJOCO_CMAKE'
|
||||||
MUJOCO_CMAKE_ARGS = 'MUJOCO_CMAKE_ARGS'
|
MUJOCO_CMAKE_ARGS = 'MUJOCO_CMAKE_ARGS'
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON)
|
|||||||
|
|
||||||
project(
|
project(
|
||||||
mujoco_samples
|
mujoco_samples
|
||||||
VERSION 2.2.1
|
VERSION 2.2.2
|
||||||
DESCRIPTION "MuJoCo samples binaries"
|
DESCRIPTION "MuJoCo samples binaries"
|
||||||
HOMEPAGE_URL "https://mujoco.org"
|
HOMEPAGE_URL "https://mujoco.org"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ set(MUJOCO_DEP_VERSION_lodepng
|
|||||||
|
|
||||||
project(
|
project(
|
||||||
mujoco_simulate
|
mujoco_simulate
|
||||||
VERSION 2.2.1
|
VERSION 2.2.2
|
||||||
DESCRIPTION "MuJoCo simulate binaries"
|
DESCRIPTION "MuJoCo simulate binaries"
|
||||||
HOMEPAGE_URL "https://mujoco.org"
|
HOMEPAGE_URL "https://mujoco.org"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define mjVERSION 221
|
#define mjVERSION 222
|
||||||
#define mjVERSIONSTRING "2.2.1"
|
#define mjVERSIONSTRING "2.2.2"
|
||||||
|
|
||||||
// names of disable flags
|
// names of disable flags
|
||||||
const char* mjDISABLESTRING[mjNDISABLE] = {
|
const char* mjDISABLESTRING[mjNDISABLE] = {
|
||||||
|
|||||||
@@ -141,9 +141,9 @@ TEST_F(JacobianTest, SubtreeJacNoInternalAcc) {
|
|||||||
// the CoM should accelerate the whole mechanism without any internal motion
|
// the CoM should accelerate the whole mechanism without any internal motion
|
||||||
int body_dofadr = model->body_dofadr[bodyid];
|
int body_dofadr = model->body_dofadr[bodyid];
|
||||||
mjtNum invtreemass = 1.0/model->body_subtreemass[bodyid];
|
mjtNum invtreemass = 1.0/model->body_subtreemass[bodyid];
|
||||||
for (int r=0; r<3; r++) {
|
for (int r = 0; r < 3; r++) {
|
||||||
for (int c=0; c<nv; c++) {
|
for (int c = 0; c < nv; c++) {
|
||||||
mjtNum expected = c-body_dofadr==r ? invtreemass : 0.0;
|
mjtNum expected = c - body_dofadr == r ? invtreemass : 0.0;
|
||||||
EXPECT_THAT(jac_subtree[nv*r+c], DoubleNear(expected, max_abs_err));
|
EXPECT_THAT(jac_subtree[nv*r+c], DoubleNear(expected, max_abs_err));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -155,7 +155,7 @@ TEST_F(JacobianTest, SubtreeJacNoInternalAcc) {
|
|||||||
|
|
||||||
using VersionTest = MujocoTest;
|
using VersionTest = MujocoTest;
|
||||||
|
|
||||||
const char *const kExpectedVersionString = "2.2.1";
|
const char *const kExpectedVersionString = "2.2.2";
|
||||||
|
|
||||||
TEST_F(VersionTest, MjVersion) {
|
TEST_F(VersionTest, MjVersion) {
|
||||||
EXPECT_EQ(mj_version(), mjVERSION_HEADER);
|
EXPECT_EQ(mj_version(), mjVERSION_HEADER);
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class MujocoBinaryRetriever {
|
|||||||
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/mujoco.dylib") == null) {
|
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/mujoco.dylib") == null) {
|
||||||
File.Copy(
|
File.Copy(
|
||||||
"/Applications/MuJoCo.app/Contents/Frameworks" +
|
"/Applications/MuJoCo.app/Contents/Frameworks" +
|
||||||
"/mujoco.framework/Versions/Current/libmujoco.2.2.1.dylib",
|
"/mujoco.framework/Versions/Current/libmujoco.2.2.2.dylib",
|
||||||
mujocoPath + "/mujoco.dylib");
|
mujocoPath + "/mujoco.dylib");
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ public class MujocoBinaryRetriever {
|
|||||||
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/libmujoco.so") == null) {
|
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/libmujoco.so") == null) {
|
||||||
File.Copy(
|
File.Copy(
|
||||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) +
|
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) +
|
||||||
"/.mujoco/mujoco-2.2.1/lib/libmujoco.so.2.2.1",
|
"/.mujoco/mujoco-2.2.2/lib/libmujoco.so.2.2.2",
|
||||||
mujocoPath + "/libmujoco.so");
|
mujocoPath + "/libmujoco.so");
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public const int mjMAXLINEPNT = 1000;
|
|||||||
public const int mjMAXPLANEGRID = 200;
|
public const int mjMAXPLANEGRID = 200;
|
||||||
public const bool THIRD_PARTY_MUJOCO_MJXMACRO_H_ = true;
|
public const bool THIRD_PARTY_MUJOCO_MJXMACRO_H_ = true;
|
||||||
public const bool THIRD_PARTY_MUJOCO_MUJOCO_H_ = true;
|
public const bool THIRD_PARTY_MUJOCO_MUJOCO_H_ = true;
|
||||||
public const int mjVERSION_HEADER = 221;
|
public const int mjVERSION_HEADER = 222;
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------Enums------------------------------------
|
// ------------------------------------Enums------------------------------------
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "org.mujoco",
|
"name": "org.mujoco",
|
||||||
"displayName": "MuJoCo",
|
"displayName": "MuJoCo",
|
||||||
"version": "2.2.1",
|
"version": "2.2.2",
|
||||||
"description": "MuJoCo importer and runtime plug-in",
|
"description": "MuJoCo importer and runtime plug-in",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"author": {
|
"author": {
|
||||||
|
|||||||
Reference in New Issue
Block a user