Add mjtSameFrame enum to specify frame alignment of bodies with their children.
PiperOrigin-RevId: 666303674 Change-Id: I53dc56e1ca52afa280ae5abaf4158edc465fb1e0
This commit is contained in:
committed by
Copybara-Service
parent
a2649d6cec
commit
8b03daa09b
@@ -346,6 +346,16 @@ These are the possible sensor data types, used in ``mjData.sensor_datatype``.
|
||||
.. mujoco-include:: mjtDataType
|
||||
|
||||
|
||||
.. _mjtSameFrame:
|
||||
|
||||
mjtSameFrame
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Types of frame alignment of elements with their parent bodies. Used as shortcuts during :ref:`mj_kinematics` in the
|
||||
last argument to :ref:`mj_local2global`.
|
||||
|
||||
.. mujoco-include:: mjtSameFrame
|
||||
|
||||
|
||||
.. _tyDataEnums:
|
||||
|
||||
|
||||
@@ -551,7 +551,7 @@ mj_local2Global
|
||||
|
||||
.. mujoco-include:: mj_local2Global
|
||||
|
||||
Map from body local to global Cartesian coordinates.
|
||||
Map from body local to global Cartesian coordinates, sameframe takes values from mjtSameFrame.
|
||||
|
||||
.. _mj_getTotalmass:
|
||||
|
||||
|
||||
+14
-11
@@ -12,31 +12,34 @@ General
|
||||
early stages of testing.
|
||||
2. Added :ref:`mjSpec` option for creating a texture from a buffer.
|
||||
3. :ref:`shellinertia <body-geom-shellinertia>` is now supported by all geom types.
|
||||
4. Added support for :ref:`attaching<meAttachment>` keyframes.
|
||||
4. When :ref:`attaching<meAttachment>` sub-models, :ref:`keyframes<keyframe>` will now be correctly merged into the
|
||||
parent model, but only on the first attachment.
|
||||
5. Added the :ref:`mjtSameFrame` enum which contains the possible frame alignments of bodies and their children. These
|
||||
alignments are used as shortcuts in :ref:`mj_kinematics`.
|
||||
|
||||
MJX
|
||||
^^^
|
||||
5. Added ``efc_pos`` to ``mjx.Data`` (:github:issue:`1388`).
|
||||
6. Added position-dependent sensors: ``MAGNETOMETER``, ``CAMPROJECTION``, ``RANGEFINDER``, ``JOINTPOS``,
|
||||
6. Added ``efc_pos`` to ``mjx.Data`` (:github:issue:`1388`).
|
||||
7. Added position-dependent sensors: ``MAGNETOMETER``, ``CAMPROJECTION``, ``RANGEFINDER``, ``JOINTPOS``,
|
||||
``ACTUATORPOS``, ``BALLQUAT``, ``FRAMEPOS``, ``FRAMEXAXIS``, ``FRAMEYAXIS``, ``FRAMEZAXIS``, ``FRAMEQUAT``,
|
||||
``SUBTREECOM``, ``CLOCK``.
|
||||
7. Added velocity-dependent sensors: ``JOINTVEL``, ``ACTUATORVEL``, ``BALLANGVEL``.
|
||||
8. Added acceleration/force-dependent sensors: ``ACTUATORFRC``, ``JOINTACTFRC``.
|
||||
9. Changed default policy to avoid placing unused (MuJoCo-only) arrays on device.
|
||||
10. Added ``device`` parameter to ``mjx.make_data`` to bring it to parity with ``mjx.put_model`` and ``mjx.put_data``.
|
||||
11. Added support for :ref:`implicitfast integration<geIntegration>` for all cases except
|
||||
8. Added velocity-dependent sensors: ``JOINTVEL``, ``ACTUATORVEL``, ``BALLANGVEL``.
|
||||
9. Added acceleration/force-dependent sensors: ``ACTUATORFRC``, ``JOINTACTFRC``.
|
||||
10. Changed default policy to avoid placing unused (MuJoCo-only) arrays on device.
|
||||
11. Added ``device`` parameter to ``mjx.make_data`` to bring it to parity with ``mjx.put_model`` and ``mjx.put_data``.
|
||||
12. Added support for :ref:`implicitfast integration<geIntegration>` for all cases except
|
||||
:doc:`fluid drag <computation/fluid>`.
|
||||
|
||||
Bug fixes
|
||||
^^^^^^^^^
|
||||
12. Fixed a performance regression introduced in 3.1.7 in mesh Bounding Volume Hierarchies (:github:issue:`1875`,
|
||||
13. Fixed a performance regression introduced in 3.1.7 in mesh Bounding Volume Hierarchies (:github:issue:`1875`,
|
||||
contribution by :github:user:`michael-ahn`).
|
||||
13. Fixed a bug wherein, for models that have both muscles and stateless actuators and used one of the implicit
|
||||
14. Fixed a bug wherein, for models that have both muscles and stateless actuators and used one of the implicit
|
||||
integrators, wrong derivatives would be computed.
|
||||
|
||||
Python bindings
|
||||
^^^^^^^^^^^^^^^
|
||||
14. Added support for engine plugins in :ref:`mjSpec` (:github:issue:`1903`).
|
||||
15. Added support for engine plugins in :ref:`mjSpec` (:github:issue:`1903`).
|
||||
|
||||
|
||||
Version 3.2.2 (Aug 8, 2024)
|
||||
|
||||
@@ -684,6 +684,11 @@ typedef enum mjtDataType_ { // data type for sensors
|
||||
mjDATATYPE_AXIS, // 3D unit vector
|
||||
mjDATATYPE_QUATERNION // unit quaternion
|
||||
} mjtDataType;
|
||||
typedef enum mjtSameFrame_ { // frame alignment of bodies with their children
|
||||
mjSAMEFRAME_NONE = 0, // no alignment
|
||||
mjSAMEFRAME_BODY, // frame is same as body frame
|
||||
mjSAMEFRAME_INERTIA, // frame is same as inertial frame
|
||||
} mjtSameFrame;
|
||||
typedef enum mjtLRMode_ { // mode for actuator length range computation
|
||||
mjLRMODE_NONE = 0, // do not process any actuators
|
||||
mjLRMODE_MUSCLE, // process muscle actuators
|
||||
@@ -978,7 +983,7 @@ struct mjModel_ {
|
||||
int* body_geomnum; // number of geoms (nbody x 1)
|
||||
int* body_geomadr; // start addr of geoms; -1: no geoms (nbody x 1)
|
||||
mjtByte* body_simple; // 1: diag M; 2: diag M, sliders only (nbody x 1)
|
||||
mjtByte* body_sameframe; // inertial frame is same as body frame (nbody x 1)
|
||||
mjtByte* body_sameframe; // same frame as inertia (mjtSameframe) (nbody x 1)
|
||||
mjtNum* body_pos; // position offset rel. to parent body (nbody x 3)
|
||||
mjtNum* body_quat; // orientation offset rel. to parent body (nbody x 4)
|
||||
mjtNum* body_ipos; // local position of center of mass (nbody x 3)
|
||||
@@ -1047,7 +1052,7 @@ struct mjModel_ {
|
||||
int* geom_group; // group for visibility (ngeom x 1)
|
||||
int* geom_priority; // geom contact priority (ngeom x 1)
|
||||
int* geom_plugin; // plugin instance id; -1: not in use (ngeom x 1)
|
||||
mjtByte* geom_sameframe; // same as body frame (1) or iframe (2) (ngeom x 1)
|
||||
mjtByte* geom_sameframe; // same frame as body (mjtSameframe) (ngeom x 1)
|
||||
mjtNum* geom_solmix; // mixing coef for solref/imp in geom pair (ngeom x 1)
|
||||
mjtNum* geom_solref; // constraint solver reference: contact (ngeom x mjNREF)
|
||||
mjtNum* geom_solimp; // constraint solver impedance: contact (ngeom x mjNIMP)
|
||||
@@ -1068,7 +1073,7 @@ struct mjModel_ {
|
||||
int* site_bodyid; // id of site's body (nsite x 1)
|
||||
int* site_matid; // material id for rendering; -1: none (nsite x 1)
|
||||
int* site_group; // group for visibility (nsite x 1)
|
||||
mjtByte* site_sameframe; // same as body frame (1) or iframe (2) (nsite x 1)
|
||||
mjtByte* site_sameframe; // same frame as body (mjtSameframe) (nsite x 1)
|
||||
mjtNum* site_size; // geom size for rendering (nsite x 3)
|
||||
mjtNum* site_pos; // local position offset rel. to body (nsite x 3)
|
||||
mjtNum* site_quat; // local orientation offset rel. to body (nsite x 4)
|
||||
|
||||
Reference in New Issue
Block a user