34#ifndef STABILIZATION_ANDI_H
35#define STABILIZATION_ANDI_H
39#include "generated/airframe.h"
45 #define ANDI_NUM_ACT COMMANDS_NB_REAL
49 #error "You must specify the number of controlled axis (outputs)"
Simple first order low pass filter with bilinear transform.
General stabilization interface for rotorcrafts.
float actuator_state[ANDI_NUM_ACT]
float nu_obm[ANDI_OUTPUTS]
struct PolesOrder2Vect3 andi_p_rate_rm
void stabilization_andi_enter(void)
Initializes the ANDI stabilization controller state upon entering stabilization mode.
void stabilization_andi_run(bool use_rate_control, bool in_flight, struct StabilizationSetpoint *stab_setpoint, struct ThrustSetpoint *thrust_setpoint, int32_t *cmd)
Main ANDI stabilization control loop.
float evaluate_obm_thrust_z(const float actuator_state[ANDI_NUM_ACT])
Compute total thrust produced by the current actuator state.
struct PolesOrder3Vect3 andi_p_att_ec
struct PolesOrder2Vect3 andi_p_rate_ec
void stabilization_andi_init(void)
struct FloatVect3 omega_a
struct FloatVect3 omega_a
struct FloatVect3 omega_n
struct FloatVect3 evaluate_obm_forces(const struct FloatRates *rates, const struct FloatVect3 *vel_body, const float actuator_state[ANDI_NUM_ACT])
Evaluate total force acting on the vehicle from the OBM.
struct FloatVect3 evaluate_obm_moments(const struct FloatRates *rates, const struct FloatVect3 *vel_body, const float actuator_state[ANDI_NUM_ACT])
Evaluate total moments acting on the vehicle from the OBM.
struct PolesOrder3Vect3 andi_p_att_rm
void evaluate_obm_f_stb_u(float fu_mat[ANDI_NUM_ACT *ANDI_OUTPUTS], const struct FloatRates *rates, const struct FloatVect3 *vel_body, const float actuator_state[ANDI_NUM_ACT])
Evaluate the state-dependent control effectiveness matrix F_u for stabilization.
void evaluate_obm_f_stb_x(float nu_obm[ANDI_OUTPUTS], const struct FloatRates *rates, const struct FloatVect3 *vel_body, const struct FloatVect3 *ang_accel, const struct FloatVect3 *accel_body, const float actuator_state[ANDI_NUM_ACT])
Evaluate the state-dependent contribution F_x * x_dot for stabilization.
Structure representing attitude in quaternion form along with its first three derivatives,...
Structure representing attitude in quaternion form along with its first two derivatives,...
Structure defining second-order gain parameters for vectorized 3D quantities.
Structure defining third-order gain parameters for vectorized 3D quantities.
Structure representing linear state with velocity and acceleration vectors.
Structure defining second-order pole parameters for vectorized 3D quantities.
Structure defining third-order pole parameters for vectorized 3D quantities.
Structure representing (specific) thrust reference and its derivative.
Rate stabilization for rotorcrafts.
Thrust setpoint // TODO to a setpoint header Structure to store the desired thrust vector with differ...
int int32_t
Typedef defining 32 bit int type.