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(
|
||||
mujoco
|
||||
VERSION 2.2.1
|
||||
VERSION 2.2.2
|
||||
DESCRIPTION "MuJoCo Physics Simulator"
|
||||
HOMEPAGE_URL "https://mujoco.org"
|
||||
)
|
||||
|
||||
+53
-52
@@ -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<adhesion>` mimicking vacuum grippers and adhesive biomechanical appendages.
|
||||
- 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 :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 <equality-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 <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/weld.xml>`_ showing different
|
||||
uses of new weld attributes.
|
||||
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 :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 <equality-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 <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/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<general>` documentation and
|
||||
`refsite.xml <https://github.com/deepmind/mujoco/tree/main/test/engine/testdata/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<general>` documentation and
|
||||
`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
|
||||
: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 <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
|
||||
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 <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
|
||||
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)
|
||||
-----------------------------
|
||||
|
||||
+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
|
||||
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
|
||||
_______
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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}")
|
||||
|
||||
+1
-1
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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] = {
|
||||
|
||||
@@ -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<nv; c++) {
|
||||
mjtNum expected = c-body_dofadr==r ? invtreemass : 0.0;
|
||||
for (int r = 0; r < 3; r++) {
|
||||
for (int c = 0; c < nv; c++) {
|
||||
mjtNum expected = c - body_dofadr == r ? invtreemass : 0.0;
|
||||
EXPECT_THAT(jac_subtree[nv*r+c], DoubleNear(expected, max_abs_err));
|
||||
}
|
||||
}
|
||||
@@ -155,7 +155,7 @@ TEST_F(JacobianTest, SubtreeJacNoInternalAcc) {
|
||||
|
||||
using VersionTest = MujocoTest;
|
||||
|
||||
const char *const kExpectedVersionString = "2.2.1";
|
||||
const char *const kExpectedVersionString = "2.2.2";
|
||||
|
||||
TEST_F(VersionTest, MjVersion) {
|
||||
EXPECT_EQ(mj_version(), mjVERSION_HEADER);
|
||||
|
||||
@@ -37,7 +37,7 @@ public class MujocoBinaryRetriever {
|
||||
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/mujoco.dylib") == null) {
|
||||
File.Copy(
|
||||
"/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");
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
@@ -45,7 +45,7 @@ public class MujocoBinaryRetriever {
|
||||
if (AssetDatabase.LoadMainAssetAtPath(mujocoPath + "/libmujoco.so") == null) {
|
||||
File.Copy(
|
||||
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");
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public const int mjMAXLINEPNT = 1000;
|
||||
public const int mjMAXPLANEGRID = 200;
|
||||
public const bool THIRD_PARTY_MUJOCO_MJXMACRO_H_ = true;
|
||||
public const bool THIRD_PARTY_MUJOCO_MUJOCO_H_ = true;
|
||||
public const int mjVERSION_HEADER = 221;
|
||||
public const int mjVERSION_HEADER = 222;
|
||||
|
||||
|
||||
// ------------------------------------Enums------------------------------------
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "org.mujoco",
|
||||
"displayName": "MuJoCo",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.2",
|
||||
"description": "MuJoCo importer and runtime plug-in",
|
||||
"dependencies": {},
|
||||
"author": {
|
||||
|
||||
Reference in New Issue
Block a user