Function navtk::navutils::d_dcm_to_rpy(const Matrix3&, const Matrix3&, const Matrix3&, const Matrix3&, const Matrix3&, const Matrix3&, const Matrix3&, const Matrix3&)

Function Documentation

Matrix3 navtk::navutils::d_dcm_to_rpy(const Matrix3 &a, const Matrix3 &dadx, const Matrix3 &dady, const Matrix3 &dadz, const Matrix3 &b, const Matrix3 &dbdx, const Matrix3 &dbdy, const Matrix3 &dbdz)

Derivative of the dcm_to_rpy() function wrt 3 variables (usually RPY), where the DCM is composed of the product of 2 other DCMs.

The derivative does not exist at pitch = PI/2 (derived from the composite DCM) and this function is unreliable in that region; user beware.

Say there is a function such that:

\( f = \text{dcm_to_rpy}(C) \)

where

\( C = C_1C_2 \)

then

\( \dot{f(C)} = \dot{f}(C)\dot{C} = \dot{f}(C_1C_2)(\dot{C_1}C_2 + C_1\dot{C_2}) \)

With the above in mind, see below for how each parameter is defined.

Parameters
  • a – DCM C_1

  • dadx – derivative of C_1 wrt variable 1 (x Euler angle).

  • dady – derivative of C_1 wrt variable 2 (y Euler angle).

  • dadz – derivative of C_1 wrt variable 3 (z Euler angle).

  • b – DCM C_2

  • dbdx – derivative of C_2 wrt variable 1 (x Euler angle).

  • dbdy – derivative of C_2 wrt variable 2 (y Euler angle).

  • dbdz – derivative of C_2 wrt variable 3 (z Euler angle).

Returns

Derivative of RPY representation of C wrt some 3-variable input.