Clarification regarding saving integration state variables.
Fix some documentation bugs. PiperOrigin-RevId: 487492900 Change-Id: I16ab9ae82cf203ebeaca10baaba7319d214202d0
This commit is contained in:
committed by
Copybara-Service
parent
f2bae1ffe3
commit
0b45129ca4
@@ -6599,10 +6599,10 @@ mju_str2Type
|
|||||||
|
|
||||||
Convert type name to type id (mjtObj).
|
Convert type name to type id (mjtObj).
|
||||||
|
|
||||||
.. _mju_warningText:
|
.. _mju_writeNumBytes:
|
||||||
|
|
||||||
mju_writeNumBytes
|
mju_writeNumBytes
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. code-block:: C
|
.. code-block:: C
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ General
|
|||||||
- Added :at:`gravcomp` attribute to :ref:`body<body>`, implementing gravity compensation and bouyancy.
|
- 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.
|
See `balloons.xml <https://github.com/deepmind/mujoco/tree/main/model/balloons/balloons.xml>`_ example model.
|
||||||
- Renamed the ``cable`` plugin library to ``elasticity``.
|
- Renamed the ``cable`` plugin library to ``elasticity``.
|
||||||
- Added :ref:`actdim` attribute to :ref:`general actuators<actuator-general>`. Values greater than 1 are only allowed
|
- 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
|
for dyntype :at-val:`user`, as native activation dynamics are all scalar. Added example test implementing 2nd-order
|
||||||
activation dynamics to
|
activation dynamics to
|
||||||
`engine_forward_test.cc <https://github.com/deepmind/mujoco/blob/main/test/engine/engine_forward_test.cc>`_.
|
`engine_forward_test.cc <https://github.com/deepmind/mujoco/blob/main/test/engine/engine_forward_test.cc>`_.
|
||||||
|
|||||||
+7
-2
@@ -575,7 +575,8 @@ Physics state
|
|||||||
|
|
||||||
User inputs
|
User inputs
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
These input fields are set by the user and affect the physics simulation, but are untouched by the simulator.
|
These input fields are set by the user and affect the physics simulation, but are untouched by the simulator. All input
|
||||||
|
fields except for MoCap poses default to 0.
|
||||||
|
|
||||||
Controls: ``ctrl``
|
Controls: ``ctrl``
|
||||||
Controls are defined by the :ref:`actuator<actuator>` section of the XML. ``mjData.ctrl`` values either produce
|
Controls are defined by the :ref:`actuator<actuator>` section of the XML. ``mjData.ctrl`` values either produce
|
||||||
@@ -592,7 +593,8 @@ These input fields are set by the user and affect the physics simulation, but ar
|
|||||||
MoCap poses: ``mocap_pos`` and ``mocap_quat``
|
MoCap poses: ``mocap_pos`` and ``mocap_quat``
|
||||||
``mjData.mocap_pos`` and ``mjData.mocap_quat`` are special optional kinematic states :ref:`described here<CMocap>`,
|
``mjData.mocap_pos`` and ``mjData.mocap_quat`` are special optional kinematic states :ref:`described here<CMocap>`,
|
||||||
which allow the user to set the positions and orientations of static bodies in real-time, for example when streaming
|
which allow the user to set the positions and orientations of static bodies in real-time, for example when streaming
|
||||||
6D poses from a motion-capture device.
|
6D poses from a motion-capture device. The default values set by :ref:`mj_resetData` are the poses of the bodies at
|
||||||
|
the default configuration.
|
||||||
|
|
||||||
User data: ``userdata``
|
User data: ``userdata``
|
||||||
``mjData.userdata`` acts as a user-defined memory space untouched by the engine. For example it can be used by
|
``mjData.userdata`` acts as a user-defined memory space untouched by the engine. For example it can be used by
|
||||||
@@ -622,6 +624,9 @@ Integration state
|
|||||||
The *integration state* is the union of all the above ``mjData`` fields and constitutes the entire set of inputs to
|
The *integration state* is the union of all the above ``mjData`` fields and constitutes the entire set of inputs to
|
||||||
the *forward dynamics*. In the case of *inverse dynamics*, ``mjData.qacc`` is also treated as an input variable. All
|
the *forward dynamics*. In the case of *inverse dynamics*, ``mjData.qacc`` is also treated as an input variable. All
|
||||||
other ``mjData`` fields are functions of the integration state.
|
other ``mjData`` fields are functions of the integration state.
|
||||||
|
|br| When saving the integration state in order to reload it elsewhere, it is sensible to avoid saving unused fields
|
||||||
|
that always remain in their default values. Specifically, ``xfrc_applied`` can be quite large (``6 x nbody``) yet is
|
||||||
|
often unused.
|
||||||
|
|
||||||
.. _geSimulationState:
|
.. _geSimulationState:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user