![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Data Structures | |
struct | DoubleVect2 |
struct | DoubleVect3 |
struct | DoubleQuat |
Roation quaternion. More... | |
struct | DoubleMat33 |
struct | DoubleRMat |
rotation matrix More... | |
struct | DoubleEulers |
euler angles More... | |
struct | DoubleRates |
angular rates More... | |
Macros | |
#define | DOUBLE_VECT3_ROUND(_v) DOUBLE_VECT3_RINT(_v, _v) |
#define | DOUBLE_VECT3_RINT(_vout, _vin) |
#define | DOUBLE_RMAT_OF_EULERS(_rm, _e) WARNING("DOUBLE_RMAT_OF_EULERS macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e)) |
#define | DOUBLE_RMAT_OF_EULERS_321(_rm, _e) WARNING("DOUBLE_RMAT_OF_EULERS_321 macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e)) |
#define | DOUBLE_QUAT_OF_EULERS(_q, _e) WARNING("DOUBLE_QUAT_OF_EULERS macro is deprecated, use the lower case function instead") double_quat_of_eulers(&(_q), &(_e)) |
#define | DOUBLE_EULERS_OF_QUAT(_e, _q) WARNING("DOUBLE_EULERS_OF_QUAT macro is deprecated, use the lower case function instead") double_eulers_of_quat(&(_e), &(_q)) |
#define | DOUBLE_QUAT_VMULT(v_out, q, v_in) WARNING("DOUBLE_QUAT_VMULT macro is deprecated, use the lower case function instead") double_quat_vmult(&(v_out), &(q), &(v_in)) |
struct DoubleVect2 |
Definition at line 41 of file pprz_algebra_double.h.
Data Fields | ||
---|---|---|
double | x | |
double | y |
struct DoubleVect3 |
Definition at line 46 of file pprz_algebra_double.h.
Data Fields | ||
---|---|---|
double | x | |
double | y | |
double | z |
struct DoubleQuat |
struct DoubleMat33 |
Definition at line 62 of file pprz_algebra_double.h.
Data Fields | ||
---|---|---|
double | m[3 *3] |
struct DoubleRMat |
rotation matrix
Definition at line 69 of file pprz_algebra_double.h.
Data Fields | ||
---|---|---|
double | m[3 *3] |
#define DOUBLE_EULERS_OF_QUAT | ( | _e, | |
_q | |||
) | WARNING("DOUBLE_EULERS_OF_QUAT macro is deprecated, use the lower case function instead") double_eulers_of_quat(&(_e), &(_q)) |
Definition at line 204 of file pprz_algebra_double.h.
#define DOUBLE_QUAT_OF_EULERS | ( | _q, | |
_e | |||
) | WARNING("DOUBLE_QUAT_OF_EULERS macro is deprecated, use the lower case function instead") double_quat_of_eulers(&(_q), &(_e)) |
Definition at line 203 of file pprz_algebra_double.h.
#define DOUBLE_QUAT_VMULT | ( | v_out, | |
q, | |||
v_in | |||
) | WARNING("DOUBLE_QUAT_VMULT macro is deprecated, use the lower case function instead") double_quat_vmult(&(v_out), &(q), &(v_in)) |
Definition at line 205 of file pprz_algebra_double.h.
#define DOUBLE_RMAT_OF_EULERS | ( | _rm, | |
_e | |||
) | WARNING("DOUBLE_RMAT_OF_EULERS macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e)) |
Definition at line 201 of file pprz_algebra_double.h.
#define DOUBLE_RMAT_OF_EULERS_321 | ( | _rm, | |
_e | |||
) | WARNING("DOUBLE_RMAT_OF_EULERS_321 macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e)) |
Definition at line 202 of file pprz_algebra_double.h.
#define DOUBLE_VECT3_ROUND | ( | _v | ) | DOUBLE_VECT3_RINT(_v, _v) |
Definition at line 91 of file pprz_algebra_double.h.
|
extern |
Definition at line 68 of file pprz_algebra_double.c.
References foo, DoubleEulers::phi, DoubleEulers::psi, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, DoubleQuat::qz, and DoubleEulers::theta.
Referenced by fetch_state(), and get_orient().
|
extern |
Composition (multiplication) of two quaternions.
a2c = a2b comp b2c , aka a2c = a2b * b2c
Definition at line 114 of file pprz_algebra_double.c.
References foo.
Referenced by get_orient().
|
inlinestatic |
initialises a quaternion to identity
Definition at line 118 of file pprz_algebra_double.h.
References DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, and DoubleQuat::qz.
|
inlinestatic |
Definition at line 126 of file pprz_algebra_double.h.
References foo, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, DoubleQuat::qz, and SQUARE.
Referenced by double_quat_normalize().
|
inlinestatic |
Definition at line 132 of file pprz_algebra_double.h.
References double_quat_norm(), foo, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, and DoubleQuat::qz.
|
extern |
Definition at line 49 of file pprz_algebra_double.c.
References foo, DoubleEulers::phi, DoubleEulers::psi, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, DoubleQuat::qz, and DoubleEulers::theta.
Referenced by decode_ahrspacket(), gazebo_read(), and nps_fdm_run_step().
|
extern |
Definition at line 90 of file pprz_algebra_double.c.
References foo, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, and DoubleQuat::qz.
Referenced by get_acc(), get_ang_acc(), get_ang_vel(), nps_ivy_display(), and nps_sensor_mag_run_step().
|
extern |
Composition (multiplication) of two rotation matrices.
m_a2c = m_a2b comp m_b2c , aka m_a2c = m_b2c * m_a2b
Definition at line 139 of file pprz_algebra_double.c.
References foo.
|
inlinestatic |
initialises a rotation matrix to identity
Definition at line 166 of file pprz_algebra_double.h.
References FLOAT_MAT33_DIAG, and foo.
|
extern |
Inverse/transpose of a rotation matrix.
m_b2a = inv(_m_a2b) = transp(_m_a2b)
Definition at line 123 of file pprz_algebra_double.c.
|
inlinestatic |
Definition at line 195 of file pprz_algebra_double.h.
References double_rmat_of_eulers_321(), and foo.
Referenced by nps_sensor_mag_init(), and nps_sensors_init().
|
extern |
Rotation matrix from 321 Euler angles (double).
The Euler angles are interpreted as zy'x'' (intrinsic) rotation. First rotate around z with psi, then around the new y' with theta, then around new x'' with phi. This is the same as a xyz (extrinsic) rotation, rotating around the fixed x, then y then z axis.
[out] | rm | pointer to rotation matrix |
[in] | e | pointer to Euler angles |
Definition at line 29 of file pprz_algebra_double.c.
References foo, DoubleEulers::phi, DoubleEulers::psi, RMAT_ELMT, and DoubleEulers::theta.
Referenced by double_rmat_of_eulers().
|
extern |
Definition at line 173 of file pprz_algebra_double.c.
References foo, M_SQRT2, DoubleQuat::qi, DoubleQuat::qx, DoubleQuat::qy, DoubleQuat::qz, and RMAT_ELMT.
|
extern |
rotate 3D vector by transposed rotation matrix.
vb = m_b2a^T * va
Definition at line 165 of file pprz_algebra_double.c.
References foo, DoubleVect3::x, DoubleVect3::y, and DoubleVect3::z.
|
extern |
rotate 3D vector by rotation matrix.
vb = m_a2b * va
Definition at line 155 of file pprz_algebra_double.c.
References foo, DoubleVect3::x, DoubleVect3::y, and DoubleVect3::z.
|
inlinestatic |
Definition at line 100 of file pprz_algebra_double.h.
References foo, and VECT3_NORM2.
Referenced by decode_gpspacket(), and double_vect3_normalize().
|
inlinestatic |
normalize 3D vector in place
Definition at line 106 of file pprz_algebra_double.h.
References double_vect3_norm(), DoubleVect3::x, DoubleVect3::y, and DoubleVect3::z.
Referenced by init_ltp().