Add mjd_inverseFD for finite-difference approximations of inverse dynamics Jacobians.
Fixes #703. PiperOrigin-RevId: 527899700 Change-Id: I10e41a381dcecf62c53b3b9aa72a4ce666161366
This commit is contained in:
committed by
Copybara-Service
parent
90e14ac8d0
commit
c50177d301
+19
-1
@@ -1200,7 +1200,25 @@ MJAPI mjtNum mju_sigmoid(mjtNum x);
|
||||
MJAPI void mjd_transitionFD(const mjModel* m, mjData* d, mjtNum eps, mjtByte flg_centered,
|
||||
mjtNum* A, mjtNum* B, mjtNum* C, mjtNum* D);
|
||||
|
||||
|
||||
// Finite differenced Jacobians of (force, sensors) = mj_inverse(state, acceleration)
|
||||
// All outputs are optional. Output dimensions (transposed w.r.t Control Theory convention):
|
||||
// DfDq: (nv x nv)
|
||||
// DfDv: (nv x nv)
|
||||
// DfDa: (na x nv)
|
||||
// DsDq: (nv x nsensordata)
|
||||
// DsDv: (nv x nsensordata)
|
||||
// DsDa: (nv x nsensordata)
|
||||
// DmDq: (nv x nM)
|
||||
// single-letter shortcuts:
|
||||
// inputs: q=qpos, v=qvel, a=qacc
|
||||
// outputs: f=qfrc_inverse, s=sensordata, m=qM
|
||||
// notes:
|
||||
// optionally computes mass matrix Jacobian DmDq
|
||||
// flg_actuation specifies whether to subtract qfrc_actuator from qfrc_inverse
|
||||
MJAPI void mjd_inverseFD(const mjModel* m, mjData* d, mjtNum eps, mjtByte flg_actuation,
|
||||
mjtNum *DfDq, mjtNum *DfDv, mjtNum *DfDa,
|
||||
mjtNum *DsDq, mjtNum *DsDv, mjtNum *DsDa,
|
||||
mjtNum *DmDq);
|
||||
|
||||
//---------------------- Plugins -------------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user