Bump version number to 2.3.1.
PiperOrigin-RevId: 493076656 Change-Id: I48c7a45b503c4a7363ea1455a4a3788262d007f7
This commit is contained in:
committed by
Copybara-Service
parent
ef695bb8a8
commit
73fb61e3e2
+1
-1
@@ -28,7 +28,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON)
|
||||
|
||||
project(
|
||||
mujoco
|
||||
VERSION 2.3.0
|
||||
VERSION 2.3.1
|
||||
DESCRIPTION "MuJoCo Physics Simulator"
|
||||
HOMEPAGE_URL "https://mujoco.org"
|
||||
)
|
||||
|
||||
+21
-21
@@ -3,20 +3,20 @@ Changelog
|
||||
=========
|
||||
|
||||
|
||||
Upcoming version (not yet released)
|
||||
Version 2.3.1 (December 5, 2022)
|
||||
-----------------------------------
|
||||
|
||||
Python bindings
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
- The ``simulate`` GUI is now available through the ``mujoco`` Python package as ``mujoco.viewer``.
|
||||
1. The ``simulate`` GUI is now available through the ``mujoco`` Python package as ``mujoco.viewer``.
|
||||
See :ref:`documentation<PyViewer>` for details. (Contribution by `Levi Burner <https://github.com/aftersomemath>`_.)
|
||||
- The ``Renderer`` class from the MuJoCo tutorial Colab is now available directly in the native Python bindings.
|
||||
#. The ``Renderer`` class from the MuJoCo tutorial Colab is now available directly in the native Python bindings.
|
||||
|
||||
General
|
||||
^^^^^^^
|
||||
|
||||
- The tendon :at:`springlength` attribute can now take two values. Given two non-decreasing values, `springlength`
|
||||
3. The tendon :at:`springlength` attribute can now take two values. Given two non-decreasing values, `springlength`
|
||||
specifies a `deadband <https://en.wikipedia.org/wiki/Deadband>`_ range for spring stiffness. If the tendon length is
|
||||
between the two values, the force is 0. If length is outside this range, the force behaves like a regular spring, with
|
||||
the spring resting length corresponding to the nearest :at:`springlength` value. This can be used to create tendons
|
||||
@@ -32,26 +32,26 @@ General
|
||||
:align: right
|
||||
:height: 150px
|
||||
|
||||
- Removed the requirement that stateless actuators come before stateful actuators.
|
||||
- Added :ref:`mju_fill`, :ref:`mju_symmetrize` and :ref:`mju_eye` utility functions.
|
||||
- Added :at:`gravcomp` attribute to :ref:`body<body>`, implementing gravity compensation and bouyancy.
|
||||
#. Removed the requirement that stateless actuators come before stateful actuators.
|
||||
#. Added :ref:`mju_fill`, :ref:`mju_symmetrize` and :ref:`mju_eye` utility functions.
|
||||
#. Added :at:`gravcomp` attribute to :ref:`body<body>`, implementing gravity compensation and bouyancy.
|
||||
See `balloons.xml <https://github.com/deepmind/mujoco/tree/main/model/balloons/balloons.xml>`_ example model.
|
||||
- Renamed the ``cable`` plugin library to ``elasticity``.
|
||||
- Added :at:`actdim` attribute to :ref:`general actuators<actuator-general>`. Values greater than 1 are only allowed
|
||||
#. Renamed the ``cable`` plugin library to ``elasticity``.
|
||||
#. Added :at:`actdim` attribute to :ref:`general actuators<actuator-general>`. Values greater than 1 are only allowed
|
||||
for dyntype :at-val:`user`, as native activation dynamics are all scalar. Added example test implementing 2nd-order
|
||||
activation dynamics to
|
||||
`engine_forward_test.cc <https://github.com/deepmind/mujoco/blob/main/test/engine/engine_forward_test.cc>`_.
|
||||
- Improved particle :ref:`composite<body-composite>` type, which now permits a user-specified geometry and multiple
|
||||
#. Improved particle :ref:`composite<body-composite>` type, which now permits a user-specified geometry and multiple
|
||||
joints. See the two new examples:
|
||||
`particle_free.xml <https://github.com/deepmind/mujoco/tree/main/model/composite/particle_free.xml>`_ and
|
||||
`particle_free2d.xml <https://github.com/deepmind/mujoco/tree/main/model/composite/particle_free2d.xml>`_.
|
||||
- Performance improvements for non-AVX configurations:
|
||||
#. Performance improvements for non-AVX configurations:
|
||||
|
||||
- 14% faster ``mj_solveLD`` using `restrict <https://en.wikipedia.org/wiki/Restrict>`_. See `engine_core_smooth_benchmark_test
|
||||
<https://github.com/deepmind/mujoco/tree/main/test/benchmark/engine_core_smooth_benchmark_test.cc>`_.
|
||||
- 50% faster ``mju_dotSparse`` using manual loop unroll. See `engine_util_sparse_benchmark_test
|
||||
<https://github.com/deepmind/mujoco/tree/main/test/benchmark/engine_util_sparse_benchmark_test.cc>`_.
|
||||
- Added new :at:`solid` passive force plugin:
|
||||
#. Added new :at:`solid` passive force plugin:
|
||||
|
||||
.. youtube:: AGcTGHbbze4
|
||||
:align: right
|
||||
@@ -64,17 +64,17 @@ General
|
||||
- Only suitable for small strains (large displacements but small deformations). Tetrahedra may invert if subject to
|
||||
large loads.
|
||||
|
||||
- Add API functions ``mj_loadPluginLibrary`` and ``mj_loadAllPluginLibraries``. The first function is identical to
|
||||
#. Add API functions ``mj_loadPluginLibrary`` and ``mj_loadAllPluginLibraries``. The first function is identical to
|
||||
``dlopen`` on a POSIX system, and to ``LoadLibraryA`` on Windows. The second function scans a specified directory for
|
||||
all dynamic libraries file and loads each library found. Dynamic libraries opened by these functions are assumed to
|
||||
register one or more MuJoCo plugins on load.
|
||||
- Add an optional ``visualize`` callback to plugins, which is called during ``mjv_updateScene``. This callback allows
|
||||
custom plugin visualizations. Enable stree visualization for the Cable plugin as an example.
|
||||
- Sensors of type :ref:`user<sensor-user>` no longer require :at:`objtype`, :at:`objname` and :at:`needstage`. If
|
||||
#. Add an optional ``visualize`` callback to plugins, which is called during ``mjv_updateScene``. This callback allows
|
||||
custom plugin visualizations. Enable stress visualization for the Cable plugin as an example.
|
||||
#. Sensors of type :ref:`user<sensor-user>` no longer require :at:`objtype`, :at:`objname` and :at:`needstage`. If
|
||||
unspecified, the objtype is now :ref:`mjOBJ_UNKNOWN<mjtObj>`. ``user`` sensors :at:`datatype` default is now
|
||||
:at-val:`"real"`, :at:`needstage` default is now :at-val:`"acc"`.
|
||||
- Add support for capsules in URDF import.
|
||||
- On macOS, issue an informative error message when run under `Rosetta 2 <https://support.apple.com/en-gb/HT211861>`_
|
||||
#. Add support for capsules in URDF import.
|
||||
#. On macOS, issue an informative error message when run under `Rosetta 2 <https://support.apple.com/en-gb/HT211861>`_
|
||||
translation on an Apple Silicon machine. Pre-built MuJoCo binaries make use of
|
||||
`AVX <https://en.wikipedia.org/wiki/Advanced_Vector_Extensions>`_ instructions on x86-64 machines, which is not
|
||||
supported by Rosetta 2. (Before this version, users only get a cryptic "Illegal instruction" message.)
|
||||
@@ -82,13 +82,13 @@ General
|
||||
Bug fixes
|
||||
^^^^^^^^^
|
||||
|
||||
- Fixed bug in ``mj_addFileVFS`` that was causing the file path to be ignored (introduced in 2.1.4).
|
||||
17. Fixed bug in ``mj_addFileVFS`` that was causing the file path to be ignored (introduced in 2.1.4).
|
||||
|
||||
Simulate
|
||||
^^^^^^^^
|
||||
|
||||
- Renamed the directory in which the ``simulate`` application searches for plugins from ``plugin`` to ``mujoco_plugin``.
|
||||
- Mouse force perturbations are now applied at the selection point rather than the body center of mass.
|
||||
18. Renamed the directory in which the ``simulate`` application searches for plugins from ``plugin`` to ``mujoco_plugin``.
|
||||
#. Mouse force perturbations are now applied at the selection point rather than the body center of mass.
|
||||
|
||||
|
||||
Version 2.3.0 (October 18, 2022)
|
||||
|
||||
+2
-2
@@ -30,14 +30,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.3.0.dylib`` (it can be
|
||||
``/Applications/MuJoCo.app/Contents/Frameworks/mujoco.framework/Versions/Current/libmujoco.2.3.1.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.3.0/lib/libmujoco.so.2.3.0`` and rename it as ``libmujoco.so``.
|
||||
``~/.mujoco/mujoco-2.3.1/lib/libmujoco.so.2.3.1`` 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 230
|
||||
#define mjVERSION_HEADER 231
|
||||
|
||||
// needed to define size_t, fabs and log10
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -81,13 +81,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.3.0.dylib)
|
||||
set(MUJOCO_LIBRARY ${MUJOCO_FRAMEWORK}/mujoco.framework/Versions/A/libmujoco.2.3.1.dylib)
|
||||
target_compile_options(mujoco INTERFACE -F${MUJOCO_FRAMEWORK})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT MUJOCO_FRAMEWORK)
|
||||
find_library(MUJOCO_LIBRARY mujoco mujoco.2.3.0 HINTS ${MUJOCO_LIBRARY_DIR} REQUIRED)
|
||||
find_library(MUJOCO_LIBRARY mujoco mujoco.2.3.1 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.3.0'
|
||||
__version__ = '2.3.1'
|
||||
|
||||
MUJOCO_CMAKE = 'MUJOCO_CMAKE'
|
||||
MUJOCO_CMAKE_ARGS = 'MUJOCO_CMAKE_ARGS'
|
||||
|
||||
@@ -24,7 +24,7 @@ set(MSVC_INCREMENTAL_DEFAULT ON)
|
||||
|
||||
project(
|
||||
mujoco_samples
|
||||
VERSION 2.3.0
|
||||
VERSION 2.3.1
|
||||
DESCRIPTION "MuJoCo samples binaries"
|
||||
HOMEPAGE_URL "https://mujoco.org"
|
||||
)
|
||||
|
||||
@@ -29,7 +29,7 @@ set(MUJOCO_DEP_VERSION_lodepng
|
||||
|
||||
project(
|
||||
mujoco_simulate
|
||||
VERSION 2.3.0
|
||||
VERSION 2.3.1
|
||||
DESCRIPTION "MuJoCo simulate binaries"
|
||||
HOMEPAGE_URL "https://mujoco.org"
|
||||
)
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define mjVERSION 230
|
||||
#define mjVERSIONSTRING "2.3.0"
|
||||
#define mjVERSION 231
|
||||
#define mjVERSIONSTRING "2.3.1"
|
||||
|
||||
// names of disable flags
|
||||
const char* mjDISABLESTRING[mjNDISABLE] = {
|
||||
|
||||
@@ -155,7 +155,7 @@ TEST_F(JacobianTest, SubtreeJacNoInternalAcc) {
|
||||
|
||||
using VersionTest = MujocoTest;
|
||||
|
||||
const char *const kExpectedVersionString = "2.3.0";
|
||||
const char *const kExpectedVersionString = "2.3.1";
|
||||
|
||||
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.3.0.dylib",
|
||||
"/mujoco.framework/Versions/Current/libmujoco.2.3.1.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.3.0/lib/libmujoco.so.2.3.0",
|
||||
"/.mujoco/mujoco-2.3.1/lib/libmujoco.so.2.3.1",
|
||||
mujocoPath + "/libmujoco.so");
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
|
||||
@@ -101,7 +101,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 = 230;
|
||||
public const int mjVERSION_HEADER = 231;
|
||||
|
||||
|
||||
// ------------------------------------Enums------------------------------------
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "org.mujoco",
|
||||
"displayName": "MuJoCo",
|
||||
"version": "2.3.0",
|
||||
"version": "2.3.1",
|
||||
"description": "MuJoCo importer and runtime plug-in",
|
||||
"dependencies": {},
|
||||
"author": {
|
||||
|
||||
Reference in New Issue
Block a user