Paparazzi UAS v7.1_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
oneloop_nB.h File Reference
+ Include dependency graph for oneloop_nB.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  guidance_indi_hybrid_params
 
struct  OneloopGuidanceRef
 
struct  OneloopGuidanceState
 
struct  OneloopStabilizationRef
 
struct  OneloopStabilizationState
 
struct  OneloopStabilizationnBState
 
struct  OneloopPushnB
 
struct  OneloopGeneral
 
struct  PolePlacement
 
struct  Gains3rdOrder
 
struct  Gains2ndOrder
 
struct  LP_t
 
struct  Oneloop_LP_t
 
struct  Oneloop_DynFilt_t
 
union  LP_t.meas_filt
 

Macros

#define ANDI_NUM_ACT   COMMANDS_NB_REAL
 
#define COMMANDS_NB_VIRTUAL   0
 
#define ANDI_NUM_VIRTUAL_ACT   COMMANDS_NB_VIRTUAL
 
#define ANDI_NUM_ACT_TOT   (ANDI_NUM_ACT + ANDI_NUM_VIRTUAL_ACT)
 
#define ANDI_OUTPUTS   6
 
#define ANDI_G_SCALING   1000.0f
 
#define CTRL_ANDI   0
 Control types.
 
#define CTRL_INDI   1
 
#define CTRL_NB_ANDI   2
 
#define CTRL_NB_INDI   3
 

Enumerations

enum  FilterType { LOWPASS_1 , BUTTERWORTH_2 , BUTTERWORTH_4 , NOTCH }
 

Functions

void oneloop_nB_init (void)
 Init function of Oneloop ANDI controller

 
void oneloop_nB_enter (bool half_loop_sp, int ctrl_type)
 Function that resets important values upon engaging Oneloop ANDI.
 
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_read_rc (bool in_flight, bool in_carefree, bool coordinated_turn)
 
void oneloop_from_nav (bool in_flight)
 Function that maps navigation inputs to the oneloop controller for the generated autopilot.
 
void guidance_set_min_max_airspeed (float min_airspeed, float max_airspeed)
 
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)
 
void guidance_set_max_descend_speed (float max_descend_speed_quad, float max_descend_speed_fwd)
 

Variables

bool auto_fault_cmd
 
bool use_safety_killer
 
bool safety_killer_trigger
 
float safety_killer_cutoff
 
float delta_fault
 
float oneloop_nB_filt_cutoff
 
bool vel_ctrl_in_manual
 
bool oneloop_nB_Z_hold
 
bool use_push_Position
 
bool use_push_PID
 
float max_bank
 
float max_phi
 
float max_theta
 
int8_t TestMotorIDX
 
float max_pusher_cmd
 
float max_fault_mot
 
float spin_prot_max_rate
 
float spin_prot_start_rate
 
float spin_prot_max_cmd
 
bool spin_trim_on
 
float spin_trim_rate
 
float spin_trim_bleed_rate
 
float spin_trim_release_rate
 
float spin_trim
 
float spin_prot_min_gap
 
float ec_k3
 
float pid_a_max
 
float pid_v_max_manual
 
float pid_v_max_nav
 
bool spin_man_up
 
bool spin_man_down
 
uint8_t spin_man_pair
 
float spin_man_pitch_dir
 
float spin_man_ramp_rate
 
float spin_man_blend_time
 
float spin_man_trim_rate
 
float spin_man_done_rate
 
uint8_t spin_man_state
 
float spin_man_r_ref
 
float SpinQuadRate
 
bool SpinQuad
 
bool fault_pitch_motors
 
bool fault_roll_motors
 
bool fault_ailerons
 
float k_K
 
float k_P
 
float k_I
 
float k_D
 
float k1_NE_tune
 
float k2_NE_tune
 
bool ctrl_off
 
float act_state_filt_vect_1l [ANDI_NUM_ACT]
 
float actuator_state_1l [ANDI_NUM_ACT_TOT]
 
float nu [ANDI_OUTPUTS]
 
float g1g2_1l [ANDI_OUTPUTS][ANDI_NUM_ACT_TOT]
 
float andi_u [ANDI_NUM_ACT_TOT]
 
float andi_du [ANDI_NUM_ACT_TOT]
 
float psi_des_deg
 
bool heading_manual
 
bool yaw_stick_in_auto
 
float fwd_sideslip_gain
 
struct FloatEulers eulers_zxy_des
 
float psi_des_rad
 
float max_as
 
float gi_unbounded_airspeed_sp
 
bool drop_yaw
 
bool state_compensation_on
 
struct guidance_indi_hybrid_params gih_params
 
struct OneloopGeneral oneloop_nB
 
struct PolePlacement p_att_e
 
struct PolePlacement p_att_rm
 
struct PolePlacement p_pos_e
 
struct PolePlacement p_pos_rm
 
struct PolePlacement p_alt_e
 
struct PolePlacement p_alt_rm
 
struct PolePlacement p_head_e
 
struct PolePlacement p_head_rm
 
struct Gains3rdOrder k_att_e
 
struct Gains3rdOrder k_att_rm
 
struct Gains2ndOrder k_head_e
 
struct Gains2ndOrder k_head_rm
 
struct Gains3rdOrder k_pos_e
 
struct Gains3rdOrder k_pos_rm
 
struct Oneloop_LP_t LP
 

Detailed Description

Author
Tomaso De Ponti tmlde.nosp@m.pont.nosp@m.i@tud.nosp@m.elft.nosp@m..nl One loop (Guidance + Stabilization) ANDI controller for rotorcrafts
Tomaso De Ponti tmlde.nosp@m.pont.nosp@m.i@tud.nosp@m.elft.nosp@m..nl One loop (Guidance + Stabilization) nB controller

Definition in file oneloop_nB.h.


Data Structure Documentation

◆ guidance_indi_hybrid_params

struct guidance_indi_hybrid_params

Definition at line 80 of file guidance_indi_hybrid.h.

Data Fields
float climb_vspeed_fwd
float climb_vspeed_quad
float descend_vspeed_fwd
float descend_vspeed_quad
float heading_bank_gain
float liftd_asq
float liftd_p50
float liftd_p80
float max_airspeed
float min_airspeed
float pos_gain
float pos_gainz
float speed_gain
float speed_gainz
float stall_protect_gain

◆ OneloopGuidanceRef

struct OneloopGuidanceRef

Definition at line 110 of file oneloop_andi.h.

Data Fields
float acc[3]
float jer[3]
float pos[3]
float vel[3]

◆ OneloopGuidanceState

struct OneloopGuidanceState

Definition at line 116 of file oneloop_andi.h.

Data Fields
float acc[3]
float pos[3]
float vel[3]

◆ OneloopStabilizationRef

struct OneloopStabilizationRef

Definition at line 121 of file oneloop_andi.h.

Data Fields
float att[3]
float att_2d[3]
float att_3d[3]
float att_d[3]

◆ OneloopStabilizationState

struct OneloopStabilizationState

Definition at line 127 of file oneloop_andi.h.

Data Fields
float att[3]
float att_2d[3]
float att_d[3]

◆ OneloopStabilizationnBState

struct OneloopStabilizationnBState

Definition at line 171 of file oneloop_nB.h.

+ Collaboration diagram for OneloopStabilizationnBState:
Data Fields
struct FloatVect3 mu_B
struct FloatVect3 nB
struct FloatVect3 nB_2d
struct FloatVect3 nB_3d
struct FloatVect3 nB_d
struct FloatVect3 nI
struct FloatVect3 nI_2d
struct FloatVect3 nI_3d
struct FloatVect3 nI_d
struct FloatVect3 nI_des

◆ OneloopPushnB

struct OneloopPushnB

Definition at line 183 of file oneloop_nB.h.

Data Fields
float max_push_cmd
float max_v_d
int n
float pE
float pE_d
float pN
float pN_d
float push_cmd
float varepsilon
float vE
float vE_d
float vE_d_filt
float vE_filt
float vN
float vN_d
float vN_d_filt
float vN_filt
float xi
float xi_0

◆ OneloopGeneral

struct OneloopGeneral

Definition at line 132 of file oneloop_andi.h.

+ Collaboration diagram for OneloopGeneral:
Data Fields
int ctrl_type
struct OneloopGuidanceRef gui_ref
struct OneloopGuidanceState gui_state
bool half_loop
struct OneloopPushnB push_nB
struct OneloopStabilizationnBState sta_nB_state
struct OneloopStabilizationRef sta_ref
struct OneloopStabilizationState sta_state

◆ PolePlacement

struct PolePlacement

Definition at line 143 of file oneloop_andi.h.

Data Fields
float omega_n
float p3
float zeta

◆ Gains3rdOrder

struct Gains3rdOrder

Definition at line 148 of file oneloop_andi.h.

Data Fields
float k1[3]
float k2[3]
float k3[3]

◆ Gains2ndOrder

struct Gains2ndOrder

Definition at line 153 of file oneloop_andi.h.

Data Fields
float k2
float k3

◆ LP_t

struct LP_t

Definition at line 184 of file oneloop_andi.h.

Data Fields
float bandwidth
enum FilterType filter_type
float freq
float freq_set
float meas
union LP_t meas_filt
union LP_t.meas_filt meas_filt
float meas_prev
float out
float tau

◆ Oneloop_LP_t

struct Oneloop_LP_t

Definition at line 200 of file oneloop_andi.h.

+ Collaboration diagram for Oneloop_LP_t:
Data Fields
struct LP_t ax
struct LP_t ay
struct LP_t az
struct LP_t p
struct LP_t p_ddot
struct LP_t p_dot
struct LP_t q
struct LP_t q_ddot
struct LP_t q_dot
struct LP_t r
struct LP_t r_ddot
struct LP_t r_dot

◆ Oneloop_DynFilt_t

struct Oneloop_DynFilt_t

Definition at line 211 of file oneloop_andi.h.

Data Fields
float fs
float mu_c
float mu_c_0
float sigma
float u_c
float u_c_0
float varepsilon

◆ LP_t.meas_filt

union LP_t.meas_filt

Definition at line 267 of file oneloop_nB.h.

Data Fields
Butterworth2LowPass bw2
Butterworth2LowPass bw2
Butterworth4LowPass bw4
Butterworth4LowPass bw4
struct FirstOrderLowPass lp1
struct FirstOrderLowPass lp1
struct SecondOrderNotchFilter notch
struct SecondOrderNotchFilter notch

Macro Definition Documentation

◆ ANDI_G_SCALING

#define ANDI_G_SCALING   1000.0f

Definition at line 57 of file oneloop_nB.h.

◆ ANDI_NUM_ACT

#define ANDI_NUM_ACT   COMMANDS_NB_REAL

Definition at line 40 of file oneloop_nB.h.

◆ ANDI_NUM_ACT_TOT

#define ANDI_NUM_ACT_TOT   (ANDI_NUM_ACT + ANDI_NUM_VIRTUAL_ACT)

Definition at line 51 of file oneloop_nB.h.

◆ ANDI_NUM_VIRTUAL_ACT

#define ANDI_NUM_VIRTUAL_ACT   COMMANDS_NB_VIRTUAL

Definition at line 48 of file oneloop_nB.h.

◆ ANDI_OUTPUTS

#define ANDI_OUTPUTS   6

Definition at line 55 of file oneloop_nB.h.

◆ COMMANDS_NB_VIRTUAL

#define COMMANDS_NB_VIRTUAL   0

Definition at line 44 of file oneloop_nB.h.

◆ CTRL_ANDI

#define CTRL_ANDI   0

Control types.

Definition at line 60 of file oneloop_nB.h.

◆ CTRL_INDI

#define CTRL_INDI   1

Definition at line 61 of file oneloop_nB.h.

◆ CTRL_NB_ANDI

#define CTRL_NB_ANDI   2

Definition at line 62 of file oneloop_nB.h.

◆ CTRL_NB_INDI

#define CTRL_NB_INDI   3

Definition at line 63 of file oneloop_nB.h.

Enumeration Type Documentation

◆ FilterType

Enumerator
LOWPASS_1 
BUTTERWORTH_2 
BUTTERWORTH_4 
NOTCH 

Definition at line 252 of file oneloop_nB.h.

Function Documentation

◆ guidance_set_max_bank_angle()

void guidance_set_max_bank_angle ( float  max_bank)
extern

Guidance limit setters called by rotwing_state (also implemented by guidance_indi_hybrid).

The one loop controller uses its own limits, so these are no-ops here.

Definition at line 388 of file guidance_indi_hybrid.c.

References foo, guidance_indi_max_bank, and max_bank.

Referenced by rotwing_state_periodic().

+ Here is the caller graph for this function:

◆ guidance_set_max_climb_speed()

void guidance_set_max_climb_speed ( float  max_climb_speed_quad,
float  max_climb_speed_fwd 
)
extern

Definition at line 392 of file guidance_indi_hybrid.c.

References guidance_indi_hybrid_params::climb_vspeed_fwd, guidance_indi_hybrid_params::climb_vspeed_quad, foo, and gih_params.

Referenced by rotwing_state_periodic().

+ Here is the caller graph for this function:

◆ guidance_set_max_descend_speed()

void guidance_set_max_descend_speed ( float  max_descend_speed_quad,
float  max_descend_speed_fwd 
)
extern

Definition at line 397 of file guidance_indi_hybrid.c.

References guidance_indi_hybrid_params::descend_vspeed_fwd, guidance_indi_hybrid_params::descend_vspeed_quad, foo, and gih_params.

Referenced by rotwing_state_periodic().

+ Here is the caller graph for this function:

◆ guidance_set_min_max_airspeed()

void guidance_set_min_max_airspeed ( float  min_airspeed,
float  max_airspeed 
)
extern

Definition at line 383 of file guidance_indi_hybrid.c.

References gih_params, max_airspeed, guidance_indi_hybrid_params::max_airspeed, max_as, guidance_indi_hybrid_params::min_airspeed, and min_as.

Referenced by rotwing_state_periodic().

+ Here is the caller graph for this function:

◆ oneloop_from_nav()

◆ oneloop_nB_enter()

void oneloop_nB_enter ( bool  half_loop_sp,
int  ctrl_type 
)
extern

Function that resets important values upon engaging Oneloop ANDI.

FIXME: Ideally we should distinguish between the "stabilization" and "guidance" needs because it is unlikely to switch stabilization in flight, and there are multiple modes that use (the same) stabilization. Resetting the controller is not so nice when you are flying.

Definition at line 2352 of file oneloop_nB.c.

References calc_normalization(), OneloopGeneral::ctrl_type, eulers_zxy, foo, G1G2_oneloop(), OneloopGeneral::half_loop, init_controller_gains(), oneloop_nB, FloatEulers::psi, psi_des_deg, psi_des_rad, reinit_controller(), safety_killer_trigger, and spin_man_reset().

Referenced by oneloop_from_nav().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ oneloop_nB_init()

◆ oneloop_nB_read_rc()

void oneloop_nB_read_rc ( bool  in_flight,
bool  in_carefree,
bool  coordinated_turn 
)
extern

◆ oneloop_nB_RM()

void oneloop_nB_RM ( bool  half_loop,
struct FloatVect3  PSA_des,
bool  in_flight_oneloop 
)
extern

Function to generate the reference signals for the oneloop controller.

Parameters
half_loopIn half-loop mode the controller is used for stabilization only
PSA_desDesired position/speed/acceleration

Definition at line 2371 of file oneloop_nB.c.

References a_thrust, OneloopGuidanceState::acc, ANDI_NUM_ACT, OneloopStabilizationRef::att, OneloopStabilizationState::att, OneloopStabilizationRef::att_2d, OneloopStabilizationRef::att_3d, OneloopStabilizationRef::att_d, OneloopStabilizationState::att_d, commands, CTRL_ANDI, ctrl_effort_model, CTRL_INDI, CTRL_NB_ANDI, CTRL_NB_INDI, ctrl_off, OneloopGeneral::ctrl_type, F_M_Body::dFdu, dt_1l, EFF_MAT_G, eul_of_acc(), eulers_zxy, eulers_zxy_des, fault_pitch_motors, fault_roll_motors, float_vect_zero(), foo, OneloopGeneral::gui_state, heading_manual, IDX_aD, Gains3rdOrder::k1, Gains3rdOrder::k2, Gains3rdOrder::k3, k_att_rm, k_D, k_I, k_K, k_P, k_pos_e, RW_Model::m, max_phi, MAX_PPRZ, OneloopPushnB::max_push_cmd, max_pusher_cmd, max_r, max_theta, OneloopPushnB::max_v_d, RW_Model::mP, OneloopPushnB::n, nav, RotorcraftNavigation::nav_altitude, nav_target, OneloopStabilizationnBState::nI, OneloopStabilizationnBState::nI_2d, OneloopStabilizationnBState::nI_3d, OneloopStabilizationnBState::nI_d, OneloopStabilizationnBState::nI_des, nu, SecondOrderLowPass::o, oneloop_nB, oneloop_nB_sideslip(), oneloop_nB_Z_hold, OneloopPushnB::pE, OneloopPushnB::pE_d, FloatEulers::phi, pid_a_max, pid_v_max_manual, pid_v_max_nav, OneloopPushnB::pN, OneloopPushnB::pN_d, OneloopGuidanceState::pos, POS_BFP_OF_REAL, POS_FLOAT_OF_BFP, Pos_KPID_ARW(), positive_non_zero(), FloatEulers::psi, psi_des_deg, psi_des_rad, psi_vec, OneloopPushnB::push_cmd, OneloopGeneral::push_nB, push_PID_vel, push_PID_vel_d, pusher_cmd_fun(), radio_body_ctrl, radio_control_get(), RADIO_PITCH, RADIO_ROLL, RADIO_THROTTLE, RADIO_YAW, ratio_u_un, ratio_vn_v, rm_3rd_attitude(), rm_3rd_nI(), RW, shape_vector(), SPIN_MAN_IDLE, spin_man_state, SpinQuad, sta_bounds, OneloopGeneral::sta_nB_state, OneloopGeneral::sta_ref, OneloopGeneral::sta_state, stateGetSpeedNed_f(), RotorcraftNavigation::target, temp_acc_des, FloatEulers::theta, update_butterworth_2_low_pass(), use_push_PID, use_push_Position, OneloopPushnB::varepsilon, OneloopPushnB::vE, OneloopPushnB::vE_d, OneloopPushnB::vE_d_filt, OneloopPushnB::vE_filt, OneloopGuidanceState::vel, vel_ctrl_in_manual, Vel_PID_ARW(), OneloopPushnB::vN, OneloopPushnB::vN_d, OneloopPushnB::vN_d_filt, OneloopPushnB::vN_filt, FloatVect3::x, NedCoor_f::x, EnuCoor_f::x, FloatVect3::y, NedCoor_f::y, EnuCoor_f::y, yaw_stick_in_auto, and FloatVect3::z.

Referenced by oneloop_nB_run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ oneloop_nB_run()

void oneloop_nB_run ( bool  in_flight,
bool  half_loop,
struct FloatVect3  PSA_des 
)
extern

Main function that runs the controller and performs control allocation.

Parameters
half_loopIn half-loop mode the controller is used for stabilization only
in_flightThe drone is in flight
PSA_desDesired position/speed/acceleration

Definition at line 2649 of file oneloop_nB.c.

References OneloopGuidanceState::acc, act_dyn_ctrl, act_max, act_min, actuator_state_1l, ANDI_NUM_ACT, ANDI_NUM_ACT_TOT, andi_u, andi_u_n, OneloopStabilizationRef::att, OneloopStabilizationState::att, OneloopStabilizationRef::att_2d, OneloopStabilizationState::att_2d, OneloopStabilizationRef::att_3d, OneloopStabilizationRef::att_d, OneloopStabilizationState::att_d, auto_fault_cmd, autopilot, Oneloop_LP_t::ax, Oneloop_LP_t::ay, Oneloop_LP_t::az, bwls_1l, calc_normalization(), Stabilization::cmd, COMMAND_PITCH, COMMAND_ROLL, commands, CTRL_ANDI, ctrl_effort_model, CTRL_INDI, CTRL_NB_ANDI, CTRL_NB_INDI, OneloopGeneral::ctrl_type, delta_fault, drop_axis(), ec_3rd_att(), eulers_zxy, eulers_zxy_des, fault_pitch_motors, fault_roll_motors, float_eulers_of_quat_zxy(), foo, G1G2_oneloop(), g2_ff, G2_RW, get_act_state_oneloop(), OneloopGeneral::gui_state, heading_manual, IDX_aD, IDX_ap, IDX_aq, IDX_ar, init_controller_gains(), Gains3rdOrder::k1, Gains3rdOrder::k2, Gains3rdOrder::k3, k_att_e, LP, max_fault_mot, max_phi, MAX_PPRZ, max_theta, OneloopStabilizationnBState::mu_B, OneloopStabilizationnBState::nB, OneloopStabilizationnBState::nB_2d, nB_2d_filt, nB_3d_state_filt, OneloopStabilizationnBState::nB_d, nB_EC(), nB_jerk_des, normalize_nu(), nu, num_thrusters_oneloop, SecondOrderLowPass::o, oneloop_calc_model_disturbance(), oneloop_nB, oneloop_nB_calc_nB_states(), ONELOOP_NB_DEBUG_MODE, oneloop_nB_propagate_filters(), oneloop_nB_RM(), oneloop_nB_state_compensation(), LP_t::out, Oneloop_LP_t::p, Oneloop_LP_t::p_dot, FloatEulers::phi, OneloopGuidanceState::pos, FloatEulers::psi, psi_des_deg, psi_des_rad, Oneloop_LP_t::q, Oneloop_LP_t::q_dot, Oneloop_LP_t::r, Oneloop_LP_t::r_dot, radio_control_get(), RADIO_THROTTLE, ratio_u_un, safety_killer_cutoff, safety_killer_trigger, set_WLS_settings(), spin_man_alpha, SPIN_MAN_DOWN_SLOW, spin_man_mot, spin_man_state, spin_man_trim_rate, spin_man_u_hold, spin_man_u_last, spin_man_update(), spin_prot_bound_params(), spin_prot_max_cmd, spin_prot_max_rate, spin_prot_ratio, spin_prot_start_rate, spin_trim, spin_trim_bleed_rate, spin_trim_on, spin_trim_rate, spin_trim_release_rate, SpinQuad_overwrite(), sta_bounds, OneloopGeneral::sta_nB_state, OneloopGeneral::sta_ref, OneloopGeneral::sta_state, stabilization, state_compensation_on, stateGetNedToBodyQuat_f(), stateGetPositionNed_f(), stateGetSpeedNed_f(), TestMotorIDX, FloatEulers::theta, pprz_autopilot::throttle, WLS_t::u, u_filt, use_safety_killer, OneloopGuidanceState::vel, wls_alloc(), WLS_one_p, FloatVect3::x, NedCoor_f::x, FloatVect3::y, NedCoor_f::y, FloatVect3::z, and NedCoor_f::z.

Referenced by guidance_oneloop_nB_run_mode(), and oneloop_from_nav().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ oneloop_nB_set_failsafe_setpoint()

void oneloop_nB_set_failsafe_setpoint ( void  )
extern

Variable Documentation

◆ act_state_filt_vect_1l

float act_state_filt_vect_1l[ANDI_NUM_ACT]
extern

◆ actuator_state_1l

◆ andi_du

float andi_du[ANDI_NUM_ACT_TOT]
extern

Definition at line 285 of file oneloop_andi.c.

Referenced by oneloop_andi_init(), and oneloop_nB_init().

◆ andi_u

◆ auto_fault_cmd

bool auto_fault_cmd
extern

Definition at line 514 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ ctrl_off

bool ctrl_off
extern

Definition at line 460 of file oneloop_andi.c.

Referenced by G1G2_oneloop(), oneloop_andi_run(), and oneloop_nB_RM().

◆ delta_fault

float delta_fault
extern

Definition at line 524 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ drop_yaw

bool drop_yaw
extern

◆ ec_k3

float ec_k3
extern

Definition at line 622 of file oneloop_nB.c.

Referenced by init_controller_gains().

◆ eulers_zxy_des

◆ fault_ailerons

bool fault_ailerons
extern

Definition at line 501 of file oneloop_nB.c.

Referenced by G1G2_oneloop(), and set_WLS_settings().

◆ fault_pitch_motors

bool fault_pitch_motors
extern

◆ fault_roll_motors

bool fault_roll_motors
extern

◆ fwd_sideslip_gain

float fwd_sideslip_gain
extern

Definition at line 376 of file oneloop_andi.c.

Referenced by oneloop_andi_sideslip(), and oneloop_nB_sideslip().

◆ g1g2_1l

◆ gi_unbounded_airspeed_sp

float gi_unbounded_airspeed_sp
extern

◆ gih_params

◆ heading_manual

bool heading_manual
extern

Definition at line 309 of file oneloop_andi.c.

Referenced by oneloop_andi_RM(), oneloop_andi_run(), oneloop_nB_RM(), and oneloop_nB_run().

◆ k1_NE_tune

float k1_NE_tune
extern

Definition at line 505 of file oneloop_andi.c.

Referenced by init_controller_gains().

◆ k2_NE_tune

float k2_NE_tune
extern

Definition at line 506 of file oneloop_andi.c.

Referenced by init_controller_gains().

◆ k_att_e

◆ k_att_rm

struct Gains3rdOrder k_att_rm
extern

◆ k_D

float k_D
extern

Definition at line 509 of file oneloop_andi.c.

Referenced by oneloop_andi_run(), oneloop_nB_RM(), Pos_KPID_ARW(), Pos_PID(), and Vel_PID_ARW().

◆ k_head_e

struct Gains2ndOrder k_head_e
extern

◆ k_head_rm

struct Gains2ndOrder k_head_rm
extern

◆ k_I

float k_I
extern

Definition at line 510 of file oneloop_andi.c.

Referenced by oneloop_andi_run(), oneloop_nB_RM(), Pos_KPID_ARW(), Pos_PID(), and Vel_PID_ARW().

◆ k_K

float k_K
extern

Definition at line 700 of file oneloop_nB.c.

Referenced by oneloop_nB_RM(), and Pos_KPID_ARW().

◆ k_P

float k_P
extern

Definition at line 508 of file oneloop_andi.c.

Referenced by oneloop_andi_run(), oneloop_nB_RM(), Pos_KPID_ARW(), Pos_PID(), and Vel_PID_ARW().

◆ k_pos_e

struct Gains3rdOrder k_pos_e
extern

Definition at line 500 of file oneloop_andi.c.

Referenced by init_controller_gains(), oneloop_andi_run(), and oneloop_nB_RM().

◆ k_pos_rm

struct Gains3rdOrder k_pos_rm
extern

Definition at line 501 of file oneloop_andi.c.

Referenced by init_controller_gains(), oneloop_andi_RM(), and reshape_wind().

◆ LP

◆ max_as

float max_as
extern

Definition at line 407 of file oneloop_andi.c.

Referenced by guidance_set_min_max_airspeed(), and reshape_wind().

◆ max_bank

float max_bank
extern

Definition at line 264 of file oneloop_nB.c.

Referenced by guidance_set_max_bank_angle(), and init_controller_gains().

◆ max_fault_mot

float max_fault_mot
extern

Definition at line 314 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ max_phi

◆ max_pusher_cmd

float max_pusher_cmd
extern

Definition at line 518 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ max_theta

float max_theta
extern

Definition at line 276 of file oneloop_nB.c.

Referenced by eul_of_acc(), oneloop_nB_RM(), and oneloop_nB_run().

◆ nu

◆ oneloop_nB

◆ oneloop_nB_filt_cutoff

float oneloop_nB_filt_cutoff
extern

◆ oneloop_nB_Z_hold

bool oneloop_nB_Z_hold
extern

Definition at line 510 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ p_alt_e

struct PolePlacement p_alt_e
extern

Definition at line 492 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_pos().

◆ p_alt_rm

struct PolePlacement p_alt_rm
extern

Definition at line 493 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_pos().

◆ p_att_e

struct PolePlacement p_att_e
extern

Definition at line 485 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_att().

◆ p_att_rm

struct PolePlacement p_att_rm
extern

Definition at line 487 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_att().

◆ p_head_e

struct PolePlacement p_head_e
extern

Definition at line 495 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_att().

◆ p_head_rm

struct PolePlacement p_head_rm
extern

Definition at line 496 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_att().

◆ p_pos_e

struct PolePlacement p_pos_e
extern

Definition at line 489 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_pos().

◆ p_pos_rm

struct PolePlacement p_pos_rm
extern

Definition at line 490 of file oneloop_andi.c.

Referenced by init_controller_gains(), init_poles(), and init_poles_pos().

◆ pid_a_max

float pid_a_max
extern

Definition at line 639 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ pid_v_max_manual

float pid_v_max_manual
extern

Definition at line 640 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ pid_v_max_nav

float pid_v_max_nav
extern

Definition at line 641 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ psi_des_deg

◆ psi_des_rad

◆ safety_killer_cutoff

float safety_killer_cutoff
extern

Definition at line 516 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ safety_killer_trigger

bool safety_killer_trigger
extern

Definition at line 513 of file oneloop_nB.c.

Referenced by oneloop_nB_enter(), oneloop_nB_init(), and oneloop_nB_run().

◆ spin_man_blend_time

float spin_man_blend_time
extern

Definition at line 656 of file oneloop_nB.c.

Referenced by spin_man_update(), and spin_prot_bound_params().

◆ spin_man_done_rate

float spin_man_done_rate
extern

Definition at line 658 of file oneloop_nB.c.

Referenced by spin_man_update(), and spin_prot_bound_params().

◆ spin_man_down

bool spin_man_down
extern

Definition at line 652 of file oneloop_nB.c.

Referenced by send_oneloop_debug(), spin_man_reset(), and spin_man_update().

◆ spin_man_pair

uint8_t spin_man_pair
extern

Definition at line 653 of file oneloop_nB.c.

Referenced by spin_man_update(), and spin_prot_bound_params().

◆ spin_man_pitch_dir

float spin_man_pitch_dir
extern

Definition at line 654 of file oneloop_nB.c.

Referenced by spin_man_update(), and spin_prot_bound_params().

◆ spin_man_r_ref

float spin_man_r_ref
extern

◆ spin_man_ramp_rate

float spin_man_ramp_rate
extern

Definition at line 655 of file oneloop_nB.c.

Referenced by spin_man_ramp_ref(), and spin_prot_bound_params().

◆ spin_man_state

uint8_t spin_man_state
extern

◆ spin_man_trim_rate

float spin_man_trim_rate
extern

Definition at line 657 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and spin_prot_bound_params().

◆ spin_man_up

bool spin_man_up
extern

Definition at line 651 of file oneloop_nB.c.

Referenced by send_oneloop_debug(), spin_man_reset(), and spin_man_update().

◆ spin_prot_max_cmd

float spin_prot_max_cmd
extern

Definition at line 541 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and spin_prot_bound_params().

◆ spin_prot_max_rate

float spin_prot_max_rate
extern

Definition at line 539 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and spin_prot_bound_params().

◆ spin_prot_min_gap

float spin_prot_min_gap
extern

Definition at line 567 of file oneloop_nB.c.

Referenced by spin_man_update(), and spin_prot_bound_params().

◆ spin_prot_start_rate

float spin_prot_start_rate
extern

Definition at line 540 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), spin_man_update(), and spin_prot_bound_params().

◆ spin_trim

float spin_trim
extern

Definition at line 563 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and send_oneloop_debug().

◆ spin_trim_bleed_rate

float spin_trim_bleed_rate
extern

Definition at line 561 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and spin_prot_bound_params().

◆ spin_trim_on

bool spin_trim_on
extern

Definition at line 559 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ spin_trim_rate

float spin_trim_rate
extern

Definition at line 560 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and spin_prot_bound_params().

◆ spin_trim_release_rate

float spin_trim_release_rate
extern

Definition at line 562 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), spin_man_update(), and spin_prot_bound_params().

◆ SpinQuad

bool SpinQuad
extern

Definition at line 495 of file oneloop_nB.c.

Referenced by oneloop_nB_RM(), and SpinQuad_overwrite().

◆ SpinQuadRate

float SpinQuadRate
extern

Definition at line 494 of file oneloop_nB.c.

◆ state_compensation_on

bool state_compensation_on
extern

Definition at line 506 of file oneloop_nB.c.

Referenced by oneloop_nB_run(), and oneloop_nB_state_compensation().

◆ TestMotorIDX

int8_t TestMotorIDX
extern

Definition at line 113 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ use_push_PID

bool use_push_PID
extern

Definition at line 507 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ use_push_Position

bool use_push_Position
extern

Definition at line 508 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ use_safety_killer

bool use_safety_killer
extern

Definition at line 512 of file oneloop_nB.c.

Referenced by oneloop_nB_run().

◆ vel_ctrl_in_manual

bool vel_ctrl_in_manual
extern

Definition at line 511 of file oneloop_nB.c.

Referenced by oneloop_nB_RM().

◆ yaw_stick_in_auto

bool yaw_stick_in_auto
extern

Definition at line 315 of file oneloop_andi.c.

Referenced by oneloop_andi_RM(), and oneloop_nB_RM().