34#include "generated/airframe.h"
40#define ANDI_NUM_ACT COMMANDS_NB_REAL
43#ifndef COMMANDS_NB_VIRTUAL
44#define COMMANDS_NB_VIRTUAL 0
47#ifndef ANDI_NUM_VIRTUAL_ACT
48#define ANDI_NUM_VIRTUAL_ACT COMMANDS_NB_VIRTUAL
51#define ANDI_NUM_ACT_TOT (ANDI_NUM_ACT + ANDI_NUM_VIRTUAL_ACT)
54#error "You must specify the number of controlled axis (outputs)"
57#define ANDI_G_SCALING 1000.0f
struct guidance_indi_hybrid_params gih_params
float gi_unbounded_airspeed_sp
Simple first order low pass filter with bilinear transform.
struct SecondOrderLowPass Butterworth2LowPass
Second order Butterworth low pass filter.
Fourth order Butterworth low pass filter.
First order low pass filter structure.
struct PolePlacement p_pos_e
struct PolePlacement p_head_rm
struct Gains3rdOrder k_att_rm
struct FloatEulers eulers_zxy_des
struct PolePlacement p_att_rm
struct Gains3rdOrder k_att_e
struct Gains3rdOrder k_pos_e
struct PolePlacement p_alt_rm
float andi_u[ANDI_NUM_ACT_TOT]
struct PolePlacement p_att_e
struct PolePlacement p_alt_e
struct PolePlacement p_head_e
float andi_du[ANDI_NUM_ACT_TOT]
struct Gains3rdOrder k_pos_rm
struct PolePlacement p_pos_rm
float actuator_state_1l[ANDI_NUM_ACT_TOT]
float g1g2_1l[ANDI_OUTPUTS][ANDI_NUM_ACT_TOT]
struct Gains2ndOrder k_head_rm
struct Gains2ndOrder k_head_e
float act_state_filt_vect_1l[ANDI_NUM_ACT]
float oneloop_nB_filt_cutoff
float spin_man_blend_time
bool safety_killer_trigger
float spin_trim_release_rate
float safety_killer_cutoff
float spin_trim_bleed_rate
struct OneloopGeneral oneloop_nB
bool state_compensation_on
float spin_prot_start_rate
struct OneloopGuidanceState gui_state
struct OneloopStabilizationState sta_state
void guidance_set_max_bank_angle(float max_bank)
Guidance limit setters called by rotwing_state (also implemented by guidance_indi_hybrid).
void guidance_set_max_climb_speed(float max_climb_speed_quad, float max_climb_speed_fwd)
union LP_t::@324202153354356061211053020005360346147215120230 meas_filt
void oneloop_from_nav(bool in_flight)
Function that maps navigation inputs to the oneloop controller for the generated autopilot.
struct OneloopGuidanceRef gui_ref
struct FirstOrderLowPass lp1
struct OneloopStabilizationRef sta_ref
void guidance_set_min_max_airspeed(float min_airspeed, float max_airspeed)
struct OneloopStabilizationnBState sta_nB_state
struct SecondOrderNotchFilter notch
void guidance_set_max_descend_speed(float max_descend_speed_quad, float max_descend_speed_fwd)
void oneloop_nB_enter(bool half_loop_sp, int ctrl_type)
Function that resets important values upon engaging Oneloop ANDI.
enum FilterType filter_type
struct OneloopPushnB push_nB
void oneloop_nB_read_rc(bool in_flight, bool in_carefree, bool coordinated_turn)
void oneloop_nB_set_failsafe_setpoint(void)
void oneloop_nB_run(bool in_flight, bool half_loop, struct FloatVect3 PSA_des)
Main function that runs the controller and performs control allocation.
void oneloop_nB_RM(bool half_loop, struct FloatVect3 PSA_des, bool in_flight_oneloop)
Function to generate the reference signals for the oneloop controller.
void oneloop_nB_init(void)
Init function of Oneloop ANDI controller.
Paparazzi floating point algebra.
General stabilization interface for rotorcrafts.
Common data structures shared by euler and quaternion int implementations.
Rotorcraft attitude reference generation.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
signed char int8_t
Typedef defining 8 bit char type.