Update mjd_transitionFD documentation.

Fixes #713

PiperOrigin-RevId: 506248062
Change-Id: I1fbf8b378f500a6463a07eb5da5349c4f01ccb88
This commit is contained in:
Yuval Tassa
2023-02-01 01:52:20 -08:00
committed by Copybara-Service
parent a7888d473c
commit e2691f58a5
3 changed files with 47 additions and 12 deletions
+18 -2
View File
@@ -2983,6 +2983,22 @@ mjd_transitionFD
.. mujoco-include:: mjd_transitionFD
Finite differenced state-transition and control-transition matrices dx(t+h) = A*dx(t) + B*du(t). Required output matrix
dimensions: A: (2*nv+na x 2*nv+na), B: (2*nv+na x nu).
Finite differenced transition matrices. Letting :math:`x, u` denote the current :ref:`state<gePhysicsState>` and control
vectors and letting :math:`y, s` denote the next state and sensor values, the top-level :ref:`mj_step` function computes
:math:`(x,u) \rightarrow (y,s)`. :ref:`mjd_transitionFD` computes the four associated Jacobians using
finite-differencing. These matrices and their dimensions are:
.. csv-table::
:header: "matrix", "Jacobian", "dimension"
:widths: auto
:align: left
``A``, :math:`\partial y / \partial x`, ``2*nv+na x 2*nv+na``
``B``, :math:`\partial y / \partial u`, ``2*nv+na x nu``
``C``, :math:`\partial s / \partial x`, ``nsensordata x 2*nv+na``
``D``, :math:`\partial s / \partial u`, ``nsensordata x nu``
- All four matrix outputs are optional (can be ``NULL``).
- ``eps`` is the finite-differencing epsilon.
- ``centered`` is a flag denoting whether to use forward (0) or centered (1) differences.