Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Rotorcraft attitude reference generation. More...
#include "stabilization_attitude_ref_int.h"
#include "attitude_ref_saturate_naive.h"
#include "math/pprz_algebra_float.h"
Go to the source code of this file.
Data Structures | |
struct | IntRefModel |
Attitude reference model parameters (quat int) More... | |
struct | AttRefQuatInt |
Attitude reference models and state/output (quat int) More... | |
Rotorcraft attitude reference generation.
(quaternion int version)
Definition in file stabilization_attitude_ref_quat_int.h.
struct IntRefModel |
Attitude reference model parameters (quat int)
Definition at line 40 of file stabilization_attitude_ref_quat_int.h.
Data Fields | ||
---|---|---|
struct FloatRates | omega | |
struct Int32Rates | two_omega2 | |
struct Int32Rates | two_zeta_omega | |
struct FloatRates | zeta |
struct AttRefQuatInt |
Attitude reference models and state/output (quat int)
Definition at line 49 of file stabilization_attitude_ref_quat_int.h.
Data Fields | ||
---|---|---|
struct Int32Rates | accel | with REF_ACCEL_FRAC |
struct Int32Eulers | euler | with INT32_ANGLE_FRAC |
struct IntRefModel | model | |
struct Int32Quat | quat | |
struct Int32Rates | rate | with REF_RATE_FRAC |
struct Int32RefSat | saturation |
void attitude_ref_quat_int_enter | ( | struct AttRefQuatInt * | ref, |
struct Int32Quat * | state_quat | ||
) |
Definition at line 77 of file stabilization_attitude_ref_quat_int.c.
References INT_RATES_ZERO, QUAT_COPY, and ref.
Referenced by stabilization_attitude_enter().
void attitude_ref_quat_int_init | ( | struct AttRefQuatInt * | ref | ) |
Definition at line 50 of file stabilization_attitude_ref_quat_int.c.
References attitude_ref_quat_int_set_max_p(), attitude_ref_quat_int_set_max_pdot(), attitude_ref_quat_int_set_max_q(), attitude_ref_quat_int_set_max_qdot(), attitude_ref_quat_int_set_max_r(), attitude_ref_quat_int_set_max_rdot(), attitude_ref_quat_int_set_omega(), attitude_ref_quat_int_set_zeta(), int32_quat_identity(), INT_EULERS_ZERO, INT_RATES_ZERO, ref, STABILIZATION_ATTITUDE_REF_MAX_P, STABILIZATION_ATTITUDE_REF_MAX_PDOT, STABILIZATION_ATTITUDE_REF_MAX_Q, STABILIZATION_ATTITUDE_REF_MAX_QDOT, STABILIZATION_ATTITUDE_REF_MAX_R, STABILIZATION_ATTITUDE_REF_MAX_RDOT, and update_ref_model().
Referenced by stabilization_attitude_quat_int_init().
void attitude_ref_quat_int_set_max_p | ( | struct AttRefQuatInt * | ref, |
float | max_p | ||
) |
Definition at line 243 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, ref, and REF_RATE_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_max_pdot | ( | struct AttRefQuatInt * | ref, |
float | max_pdot | ||
) |
Definition at line 258 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, ref, and REF_ACCEL_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_max_q | ( | struct AttRefQuatInt * | ref, |
float | max_q | ||
) |
Definition at line 248 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, ref, and REF_RATE_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_max_qdot | ( | struct AttRefQuatInt * | ref, |
float | max_qdot | ||
) |
Definition at line 263 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, ref, and REF_ACCEL_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_max_r | ( | struct AttRefQuatInt * | ref, |
float | max_r | ||
) |
Definition at line 253 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, max_r, ref, and REF_RATE_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_max_rdot | ( | struct AttRefQuatInt * | ref, |
float | max_rdot | ||
) |
Definition at line 268 of file stabilization_attitude_ref_quat_int.c.
References BFP_OF_REAL, ref, and REF_ACCEL_FRAC.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_omega | ( | struct AttRefQuatInt * | ref, |
struct FloatRates * | omega | ||
) |
Definition at line 211 of file stabilization_attitude_ref_quat_int.c.
References attitude_ref_quat_int_set_omega_p(), attitude_ref_quat_int_set_omega_q(), attitude_ref_quat_int_set_omega_r(), FloatRates::p, FloatRates::q, FloatRates::r, and ref.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_omega_p | ( | struct AttRefQuatInt * | ref, |
float | omega_p | ||
) |
Definition at line 193 of file stabilization_attitude_ref_quat_int.c.
References omega_p, ref, and update_ref_model_p().
Referenced by attitude_ref_quat_int_set_omega().
void attitude_ref_quat_int_set_omega_q | ( | struct AttRefQuatInt * | ref, |
float | omega_q | ||
) |
Definition at line 199 of file stabilization_attitude_ref_quat_int.c.
References omega_q, ref, and update_ref_model_q().
Referenced by attitude_ref_quat_int_set_omega().
void attitude_ref_quat_int_set_omega_r | ( | struct AttRefQuatInt * | ref, |
float | omega_r | ||
) |
Definition at line 205 of file stabilization_attitude_ref_quat_int.c.
References omega_r, ref, and update_ref_model_r().
Referenced by attitude_ref_quat_int_set_omega().
void attitude_ref_quat_int_set_zeta | ( | struct AttRefQuatInt * | ref, |
struct FloatRates * | zeta | ||
) |
Definition at line 236 of file stabilization_attitude_ref_quat_int.c.
References attitude_ref_quat_int_set_zeta_p(), attitude_ref_quat_int_set_zeta_q(), attitude_ref_quat_int_set_zeta_r(), FloatRates::p, FloatRates::q, FloatRates::r, and ref.
Referenced by attitude_ref_quat_int_init().
void attitude_ref_quat_int_set_zeta_p | ( | struct AttRefQuatInt * | ref, |
float | zeta_p | ||
) |
Definition at line 218 of file stabilization_attitude_ref_quat_int.c.
References ref, update_ref_model_p(), and zeta_p.
Referenced by attitude_ref_quat_int_set_zeta().
void attitude_ref_quat_int_set_zeta_q | ( | struct AttRefQuatInt * | ref, |
float | zeta_q | ||
) |
Definition at line 224 of file stabilization_attitude_ref_quat_int.c.
References ref, update_ref_model_q(), and zeta_q.
Referenced by attitude_ref_quat_int_set_zeta().
void attitude_ref_quat_int_set_zeta_r | ( | struct AttRefQuatInt * | ref, |
float | zeta_r | ||
) |
Definition at line 230 of file stabilization_attitude_ref_quat_int.c.
References ref, update_ref_model_r(), and zeta_r.
Referenced by attitude_ref_quat_int_set_zeta().
void attitude_ref_quat_int_update | ( | struct AttRefQuatInt * | ref, |
struct Int32Quat * | sp_quat, | ||
float | dt | ||
) |
Propagate reference.
CAUTION! Periodic frequency is assumed to be 512 Hz. FIXME: use dt instead of hardcoded 512Hz via F_UPDATE_RES
Definition at line 97 of file stabilization_attitude_ref_quat_int.c.
References attitude_ref_int_saturate_naive(), F_UPDATE_RES, int32_eulers_of_quat(), int32_quat_derivative(), INT32_QUAT_FRAC, int32_quat_inv_comp(), int32_quat_normalize(), int32_quat_wrap_shortest(), INT32_RATE_FRAC, OFFSET_AND_ROUND, Int32Quat::qi, QUAT_ADD, Int32Quat::qx, Int32Quat::qy, Int32Quat::qz, RATES_ADD, RATES_SUM, ref, REF_ACCEL_FRAC, REF_RATE_FRAC, TWO_OMEGA_2_RES, and TWO_ZETA_OMEGA_RES.
Referenced by stabilization_attitude_run().