Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "firmwares/rotorcraft/stabilization/stabilization_indi.h"
#include "firmwares/rotorcraft/stabilization/stabilization_attitude_rc_setpoint.h"
#include "firmwares/rotorcraft/stabilization/stabilization_attitude_quat_transformations.h"
#include "math/pprz_algebra_float.h"
#include "state.h"
#include "generated/airframe.h"
#include "modules/radio_control/radio_control.h"
#include "modules/actuators/actuators.h"
#include "modules/core/abi.h"
#include "filters/low_pass_filter.h"
#include "math/wls/wls_alloc.h"
#include <stdio.h>
#include "modules/datalink/telemetry.h"
Go to the source code of this file.
Macros | |
#define | INDI_ALLOWED_G_FACTOR 2.0 |
#define | STABILIZATION_INDI_FILT_CUTOFF_P 20.0 |
#define | STABILIZATION_INDI_FILT_CUTOFF_Q 20.0 |
#define | STABILIZATION_INDI_FILT_CUTOFF_R 20.0 |
#define | STABILIZATION_INDI_ALLOCATION_PSEUDO_INVERSE FALSE |
#define | STABILIZATION_INDI_FILTER_RATES_SECOND_ORDER FALSE |
#define | STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD 8.0 |
Functions | |
static void | lms_estimation (void) |
Function that estimates the control effectiveness of each actuator online. More... | |
static void | get_actuator_state (void) |
Function that tries to get actuator feedback. More... | |
static void | calc_g1_element (float dx_error, int8_t i, int8_t j, float mu_extra) |
static void | calc_g2_element (float dx_error, int8_t j, float mu_extra) |
static void | bound_g_mat (void) |
void | init_filters (void) |
Function that resets the filters to zeros. More... | |
void | sum_g1_g2 (void) |
Function that sums g1 and g2 to obtain the g1g2 matrix It also undoes the scaling that was done to make the values readable. More... | |
static void | send_wls_v_stab (struct transport_tx *trans, struct link_device *dev) |
static void | send_wls_u_stab (struct transport_tx *trans, struct link_device *dev) |
static void | send_eff_mat_g_indi (struct transport_tx *trans, struct link_device *dev) |
static void | send_ahrs_ref_quat (struct transport_tx *trans, struct link_device *dev) |
static void | send_att_full_indi (struct transport_tx *trans, struct link_device *dev) |
void | stabilization_indi_init (void) |
Function that initializes important values upon engaging INDI. More... | |
void | stabilization_indi_enter (void) |
Function that resets important values upon engaging INDI. More... | |
void | stabilization_indi_update_filt_freq (float freq) |
void | stabilization_indi_rate_run (bool in_flight, struct StabilizationSetpoint *sp, struct ThrustSetpoint *thrust, int32_t *cmd) |
void WEAK | stabilization_indi_set_wls_settings (void) |
Function that sets the u_min, u_max and u_pref if function not elsewhere defined. More... | |
void | stabilization_indi_attitude_run (bool in_flight, struct StabilizationSetpoint *att_sp, struct ThrustSetpoint *thrust, int32_t *cmd) |
Variables | |
struct WLS_t | wls_stab_p |
float | indi_v [INDI_OUTPUTS] |
float * | Bwls [INDI_OUTPUTS] |
int32_t | stabilization_att_indi_cmd [COMMANDS_NB] |
struct Indi_gains | indi_gains |
bool | indi_use_adaptive = false |
bool | act_is_servo [INDI_NUM_ACT] = {0} |
bool | act_is_thruster_x [INDI_NUM_ACT] = {0} |
bool | act_is_thruster_z [INDI_NUM_ACT] |
float | act_pref [INDI_NUM_ACT] = {0.0} |
float | act_first_order_cutoff [INDI_NUM_ACT] = STABILIZATION_INDI_ACT_FREQ |
float | act_dyn_discrete [INDI_NUM_ACT] |
float | stablization_indi_yaw_dist_limit = 99999.f |
Limit the maximum specific moment that can be compensated (units rad/s^2) More... | |
float | actuator_state_filt_vect [INDI_NUM_ACT] |
struct FloatRates | angular_accel_ref = {0., 0., 0.} |
struct FloatRates | angular_rate_ref = {0., 0., 0.} |
float | angular_acceleration [3] = {0., 0., 0.} |
float | actuator_state [INDI_NUM_ACT] |
float | indi_u [INDI_NUM_ACT] |
float | q_filt = 0.0 |
float | r_filt = 0.0 |
float | stabilization_indi_filter_freq = 20.0 |
float | g1g2_trans_mult [INDI_OUTPUTS][INDI_OUTPUTS] |
float | g1g2inv [INDI_OUTPUTS][INDI_OUTPUTS] |
float | actuator_state_filt_vectd [INDI_NUM_ACT] |
float | actuator_state_filt_vectdd [INDI_NUM_ACT] |
float | estimation_rate_d [INDI_NUM_ACT] |
float | estimation_rate_dd [INDI_NUM_ACT] |
float | du_estimation [INDI_NUM_ACT] |
float | ddu_estimation [INDI_NUM_ACT] |
float | mu1 [INDI_OUTPUTS] = {0.00001, 0.00001, 0.000003, 0.000002} |
float | mu2 = 0.002 |
float | act_obs [INDI_NUM_ACT] |
int32_t | num_thrusters |
int32_t | num_thrusters_x |
static struct Int32Eulers | stab_att_sp_euler |
static struct Int32Quat | stab_att_sp_quat |
float | g1g2_pseudo_inv [INDI_NUM_ACT][INDI_OUTPUTS] |
float | g2 [INDI_NUM_ACT] = STABILIZATION_INDI_G2 |
float | g1 [INDI_OUTPUTS][INDI_NUM_ACT] |
float | g1g2 [INDI_OUTPUTS][INDI_NUM_ACT] |
float | g1_est [INDI_OUTPUTS][INDI_NUM_ACT] |
float | g2_est [INDI_NUM_ACT] |
float | g1_init [INDI_OUTPUTS][INDI_NUM_ACT] |
float | g2_init [INDI_NUM_ACT] |
Butterworth2LowPass | actuator_lowpass_filters [INDI_NUM_ACT] |
Butterworth2LowPass | estimation_input_lowpass_filters [INDI_NUM_ACT] |
Butterworth2LowPass | measurement_lowpass_filters [3] |
Butterworth2LowPass | estimation_output_lowpass_filters [3] |
Butterworth2LowPass | acceleration_lowpass_filter |
Butterworth2LowPass | acceleration_body_x_filter |
static struct FirstOrderLowPass | rates_filt_fo [3] |
struct FloatVect3 | body_accel_f |
#define INDI_ALLOWED_G_FACTOR 2.0 |
Definition at line 48 of file stabilization_indi.c.
#define STABILIZATION_INDI_ALLOCATION_PSEUDO_INVERSE FALSE |
Definition at line 70 of file stabilization_indi.c.
#define STABILIZATION_INDI_FILT_CUTOFF_P 20.0 |
Definition at line 53 of file stabilization_indi.c.
#define STABILIZATION_INDI_FILT_CUTOFF_Q 20.0 |
Definition at line 59 of file stabilization_indi.c.
#define STABILIZATION_INDI_FILT_CUTOFF_R 20.0 |
Definition at line 65 of file stabilization_indi.c.
#define STABILIZATION_INDI_FILTER_RATES_SECOND_ORDER FALSE |
Definition at line 74 of file stabilization_indi.c.
#define STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD 8.0 |
Definition at line 80 of file stabilization_indi.c.
|
static |
Definition at line 1041 of file stabilization_indi.c.
References g1_est, g1_init, g2_est, g2_init, and INDI_ALLOWED_G_FACTOR.
Referenced by lms_estimation().
ddx_error | error in output change |
i | row of the matrix element |
j | column of the matrix element |
mu | learning rate |
Function that calculates an element of the G1 matrix. The elements are stored in a different matrix, because the old matrix is necessary to caclulate more elements.
Definition at line 857 of file stabilization_indi.c.
References du_estimation, g1_est, and mu.
Referenced by lms_estimation().
|
static |
ddx_error | error in output change |
j | column of the matrix element |
mu | learning rate |
Function that calculates an element of the G2 matrix. The elements are stored in a different matrix, because the old matrix is necessary to caclulate more elements.
Definition at line 871 of file stabilization_indi.c.
References ddu_estimation, g2_est, and mu.
Referenced by lms_estimation().
|
static |
Function that tries to get actuator feedback.
If this is not available it will use a first order filter to approximate the actuator state. It is also possible to model rate limits (unit: PPRZ/loop cycle)
Definition at line 821 of file stabilization_indi.c.
References act_dyn_discrete, act_obs, actuator_state, float_vect_copy(), indi_u, and UNUSED.
Referenced by stabilization_indi_rate_run().
void init_filters | ( | void | ) |
Function that resets the filters to zeros.
Definition at line 470 of file stabilization_indi.c.
References acceleration_body_x_filter, acceleration_lowpass_filter, actuator_lowpass_filters, estimation_input_lowpass_filters, estimation_output_lowpass_filters, init_butterworth_2_low_pass(), init_first_order_low_pass(), measurement_lowpass_filters, p, rates_filt_fo, STABILIZATION_INDI_ESTIMATION_FILT_CUTOFF, STABILIZATION_INDI_FILT_CUTOFF, STABILIZATION_INDI_FILT_CUTOFF_P, STABILIZATION_INDI_FILT_CUTOFF_Q, STABILIZATION_INDI_FILT_CUTOFF_R, and stateGetBodyRates_f().
Referenced by stabilization_indi_init().
|
static |
Function that estimates the control effectiveness of each actuator online.
It is assumed that disturbances do not play a large role. All elements of the G1 and G2 matrices are be estimated.
Definition at line 881 of file stabilization_indi.c.
References acceleration_lowpass_filter, ACCELS_FLOAT_OF_BFP, actuator_state_filt_vectd, actuator_state_filt_vectdd, body_accel_f, bound_g_mat(), calc_g1_element(), calc_g2_element(), ddu_estimation, du_estimation, estimation_rate_dd, float_vect_copy(), float_vect_smul(), g1, g1_est, g2, g2_est, mu1, mu2, SecondOrderLowPass::o, stateGetAccelBody_i(), sum_g1_g2(), update_butterworth_2_low_pass(), and FloatVect3::z.
|
static |
Definition at line 320 of file stabilization_indi.c.
References dev, Int32Quat::qi, Int32Quat::qx, Int32Quat::qy, Int32Quat::qz, stab_att_sp_quat, and stateGetNedToBodyQuat_i().
Referenced by stabilization_indi_init().
|
static |
Definition at line 334 of file stabilization_indi.c.
References angular_accel_ref, angular_acceleration, angular_rate_ref, dev, EULERS_FLOAT_OF_BFP, float_eulers_of_quat_zxy(), FloatRates::p, FloatEulers::phi, FloatEulers::psi, FloatRates::q, QUAT_FLOAT_OF_BFP, FloatRates::r, stab_att_sp_euler, stab_att_sp_quat, stateGetBodyRates_f(), stateGetNedToBodyEulers_f(), stateGetNedToBodyQuat_f(), and FloatEulers::theta.
Referenced by stabilization_indi_init().
|
static |
Definition at line 310 of file stabilization_indi.c.
References dev, g1g2, and g2_est.
Referenced by stabilization_indi_init().
|
static |
Definition at line 305 of file stabilization_indi.c.
References dev, send_wls_u(), and wls_stab_p.
Referenced by stabilization_indi_init().
|
static |
Definition at line 301 of file stabilization_indi.c.
References dev, send_wls_v(), and wls_stab_p.
Referenced by stabilization_indi_init().
void stabilization_indi_attitude_run | ( | bool | in_flight, |
struct StabilizationSetpoint * | att_sp, | ||
struct ThrustSetpoint * | thrust, | ||
int32_t * | cmd | ||
) |
in_flight | enable integrator only in flight | |
att_sp | attitude stabilization setpoint | |
thrust | thrust setpoint | |
[out] | output | command vector |
Function that should be called to run the INDI controller
Definition at line 765 of file stabilization_indi.c.
References angular_rate_ref, Indi_gains::att, float_quat_inv_comp_norm_shortest(), float_quat_tilt_twist(), indi_gains, FloatRates::p, FloatRates::q, FloatQuat::qx, FloatQuat::qy, FloatQuat::qz, FloatRates::r, Indi_gains::rate, RATES_ADD, StabilizationSetpoint::sp, stab_att_sp_euler, stab_att_sp_quat, stab_sp_from_rates_f(), stab_sp_to_eulers_i(), stab_sp_to_quat_f(), stab_sp_to_quat_i(), stab_sp_to_rates_f(), stabilization_indi_rate_run(), stateGetNedToBodyQuat_f(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by stabilization_attitude_run().
void stabilization_indi_enter | ( | void | ) |
Function that resets important values upon engaging INDI.
Don't reset inputs and filters, 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. FIXME: Ideally we should detect when coming from something that is not INDI
Definition at line 445 of file stabilization_indi.c.
References ddu_estimation, du_estimation, and float_vect_zero().
Referenced by stabilization_attitude_enter(), and stabilization_rate_enter().
void stabilization_indi_init | ( | void | ) |
Function that initializes important values upon engaging INDI.
Definition at line 369 of file stabilization_indi.c.
References act_dyn_discrete, act_feedback_cb(), act_feedback_ev, act_first_order_cutoff, act_is_servo, act_is_thruster_x, act_is_thruster_z, actuator_state_filt_vect, actuator_state_filt_vectd, actuator_state_filt_vectdd, Bwls, DefaultPeriodic, estimation_rate_d, estimation_rate_dd, float_vect_copy(), float_vect_zero(), g1, g1_est, g1_init, g1g2, g2, g2_est, g2_init, init_filters(), num_thrusters, num_thrusters_x, register_periodic_telemetry(), send_ahrs_ref_quat(), send_att_full_indi(), send_eff_mat_g_indi(), send_wls_u_stab(), send_wls_v_stab(), and sum_g1_g2().
void stabilization_indi_rate_run | ( | bool | in_flight, |
struct StabilizationSetpoint * | sp, | ||
struct ThrustSetpoint * | thrust, | ||
int32_t * | cmd | ||
) |
in_flight | boolean that states if the UAV is in flight or not |
sp | rate setpoint |
thrust | thrust setpoint |
cmd | output command array |
Function that calculates the INDI commands
Definition at line 520 of file stabilization_indi.c.
References acceleration_body_x_filter, ACCELS_FLOAT_OF_BFP, actuator_lowpass_filters, actuator_state, actuator_state_filt_vect, actuator_state_filt_vectd, actuator_state_filt_vectdd, angular_accel_ref, angular_acceleration, body_accel_f, Bwls, estimation_input_lowpass_filters, estimation_output_lowpass_filters, estimation_rate_d, estimation_rate_dd, float_mat_vect_mul(), float_vect_diff(), float_vect_dot_product(), float_vect_zero(), g2, get_actuator_state(), INDI_G_SCALING, indi_gains, measurement_lowpass_filters, SecondOrderLowPass::o, FloatRates::p, FloatRates::q, FloatRates::r, Indi_gains::rate, rates_filt_fo, stab_sp_to_rates_f(), stablization_indi_yaw_dist_limit, stateGetAccelBody_i(), stateGetBodyRates_f(), update_butterworth_2_low_pass(), update_first_order_low_pass(), and FloatVect3::x.
Referenced by stabilization_indi_attitude_run(), and stabilization_rate_read_rc().
void stabilization_indi_set_wls_settings | ( | void | ) |
Function that sets the u_min, u_max and u_pref if function not elsewhere defined.
Definition at line 732 of file stabilization_indi.c.
References act_is_servo, act_pref, guidance_h, GUIDANCE_H_MODE_HOVER, GUIDANCE_H_MODE_NAV, MAX_PPRZ, HorizontalGuidance::mode, STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD, stateGetAirspeed_f(), WLS_t::u_max, WLS_t::u_min, WLS_t::u_pref, and wls_stab_p.
void stabilization_indi_update_filt_freq | ( | float | freq | ) |
Definition at line 451 of file stabilization_indi.c.
References init_butterworth_2_low_pass(), init_first_order_low_pass(), p, rates_filt_fo, stabilization_indi_filter_freq, and stateGetBodyRates_f().
void sum_g1_g2 | ( | void | ) |
Function that sums g1 and g2 to obtain the g1g2 matrix It also undoes the scaling that was done to make the values readable.
Definition at line 964 of file stabilization_indi.c.
References g1, g1g2, g2, and INDI_G_SCALING.
Referenced by lms_estimation(), and stabilization_indi_init().
Butterworth2LowPass acceleration_body_x_filter |
Definition at line 287 of file stabilization_indi.c.
Referenced by init_filters(), and stabilization_indi_rate_run().
Butterworth2LowPass acceleration_lowpass_filter |
Definition at line 286 of file stabilization_indi.c.
Referenced by init_filters(), and lms_estimation().
float act_dyn_discrete[INDI_NUM_ACT] |
Definition at line 197 of file stabilization_indi.c.
Referenced by get_actuator_state(), and stabilization_indi_init().
float act_first_order_cutoff[INDI_NUM_ACT] = STABILIZATION_INDI_ACT_FREQ |
Definition at line 196 of file stabilization_indi.c.
Referenced by stabilization_indi_init().
bool act_is_servo[INDI_NUM_ACT] = {0} |
Definition at line 171 of file stabilization_indi.c.
Referenced by ground_detect_periodic(), stabilization_indi_init(), and stabilization_indi_set_wls_settings().
bool act_is_thruster_x[INDI_NUM_ACT] = {0} |
Definition at line 177 of file stabilization_indi.c.
Referenced by stabilization_indi_init().
bool act_is_thruster_z[INDI_NUM_ACT] |
Definition at line 180 of file stabilization_indi.c.
Referenced by stabilization_indi_init().
float act_obs[INDI_NUM_ACT] |
Definition at line 238 of file stabilization_indi.c.
Referenced by get_actuator_state().
float act_pref[INDI_NUM_ACT] = {0.0} |
Definition at line 187 of file stabilization_indi.c.
Referenced by ctrl_eff_scheduling_periodic(), and stabilization_indi_set_wls_settings().
Butterworth2LowPass actuator_lowpass_filters[INDI_NUM_ACT] |
Definition at line 282 of file stabilization_indi.c.
Referenced by init_filters(), and stabilization_indi_rate_run().
float actuator_state[INDI_NUM_ACT] |
Definition at line 214 of file stabilization_indi.c.
Referenced by get_actuator_state(), and stabilization_indi_rate_run().
float actuator_state_filt_vect[INDI_NUM_ACT] |
Definition at line 210 of file stabilization_indi.c.
Referenced by eff_scheduling_cyfoam_periodic(), eff_scheduling_periodic_b(), eff_scheduling_rotwing_update_cmd(), eff_scheduling_rotwing_update_hover_motor_effectiveness(), ground_detect_periodic(), guidance_indi_hybrid_set_wls_settings(), stabilization_indi_init(), stabilization_indi_rate_run(), and stabilization_indi_set_wls_settings().
float actuator_state_filt_vectd[INDI_NUM_ACT] |
Definition at line 225 of file stabilization_indi.c.
Referenced by lms_estimation(), stabilization_indi_init(), and stabilization_indi_rate_run().
float actuator_state_filt_vectdd[INDI_NUM_ACT] |
Definition at line 226 of file stabilization_indi.c.
Referenced by lms_estimation(), stabilization_indi_init(), and stabilization_indi_rate_run().
struct FloatRates angular_accel_ref = {0., 0., 0.} |
Definition at line 210 of file stabilization_indi.c.
Referenced by send_att_full_indi(), and stabilization_indi_rate_run().
float angular_acceleration[3] = {0., 0., 0.} |
Definition at line 213 of file stabilization_indi.c.
Referenced by send_att_full_indi(), and stabilization_indi_rate_run().
struct FloatRates angular_rate_ref = {0., 0., 0.} |
Definition at line 210 of file stabilization_indi.c.
Referenced by send_att_full_indi(), and stabilization_indi_attitude_run().
struct FloatVect3 body_accel_f |
Definition at line 287 of file stabilization_indi.c.
Referenced by ekf_aw_wrapper_fetch(), lms_estimation(), and stabilization_indi_rate_run().
float* Bwls[INDI_OUTPUTS] |
Definition at line 133 of file stabilization_indi.c.
Referenced by eff_scheduling_cyfoam_periodic(), stabilization_indi_init(), and stabilization_indi_rate_run().
float ddu_estimation[INDI_NUM_ACT] |
Definition at line 230 of file stabilization_indi.c.
Referenced by calc_g2_element(), lms_estimation(), and stabilization_indi_enter().
float du_estimation[INDI_NUM_ACT] |
Definition at line 229 of file stabilization_indi.c.
Referenced by calc_g1_element(), lms_estimation(), and stabilization_indi_enter().
Butterworth2LowPass estimation_input_lowpass_filters[INDI_NUM_ACT] |
Definition at line 283 of file stabilization_indi.c.
Referenced by init_filters(), and stabilization_indi_rate_run().
Butterworth2LowPass estimation_output_lowpass_filters[3] |
Definition at line 285 of file stabilization_indi.c.
Referenced by init_filters(), and stabilization_indi_rate_run().
float estimation_rate_d[INDI_NUM_ACT] |
Definition at line 227 of file stabilization_indi.c.
Referenced by stabilization_indi_init(), and stabilization_indi_rate_run().
float estimation_rate_dd[INDI_NUM_ACT] |
Definition at line 228 of file stabilization_indi.c.
Referenced by lms_estimation(), stabilization_indi_init(), and stabilization_indi_rate_run().
float g1[INDI_OUTPUTS][INDI_NUM_ACT] |
Definition at line 270 of file stabilization_indi.c.
Referenced by gain_scheduling_periodic(), lms_estimation(), stabilization_indi_init(), and sum_g1_g2().
float g1_est[INDI_OUTPUTS][INDI_NUM_ACT] |
Definition at line 277 of file stabilization_indi.c.
Referenced by bound_g_mat(), calc_g1_element(), lms_estimation(), and stabilization_indi_init().
float g1_init[INDI_OUTPUTS][INDI_NUM_ACT] |
Definition at line 279 of file stabilization_indi.c.
Referenced by bound_g_mat(), and stabilization_indi_init().
float g1g2[INDI_OUTPUTS][INDI_NUM_ACT] |
Definition at line 276 of file stabilization_indi.c.
Referenced by eff_scheduling_falcon_init(), eff_scheduling_falcon_periodic(), eff_scheduling_falcon_report(), eff_scheduling_generic_periodic(), eff_scheduling_periodic_a(), eff_scheduling_periodic_b(), eff_scheduling_rotwing_update_aileron_effectiveness(), eff_scheduling_rotwing_update_elevator_effectiveness(), eff_scheduling_rotwing_update_flaperon_effectiveness(), eff_scheduling_rotwing_update_hover_motor_effectiveness(), eff_scheduling_rotwing_update_pusher_effectiveness(), eff_scheduling_rotwing_update_rudder_effectiveness(), ground_detect_periodic(), guidance_indi_hybrid_set_wls_settings(), schdule_control_effectiveness(), send_eff_mat_g_indi(), stabilization_indi_init(), and sum_g1_g2().
float g1g2_pseudo_inv[INDI_NUM_ACT][INDI_OUTPUTS] |
Definition at line 259 of file stabilization_indi.c.
float g1g2_trans_mult[INDI_OUTPUTS][INDI_OUTPUTS] |
Definition at line 223 of file stabilization_indi.c.
float g1g2inv[INDI_OUTPUTS][INDI_OUTPUTS] |
Definition at line 224 of file stabilization_indi.c.
float g2[INDI_NUM_ACT] = STABILIZATION_INDI_G2 |
Definition at line 260 of file stabilization_indi.c.
Referenced by gain_scheduling_periodic(), lms_estimation(), stabilization_indi_init(), stabilization_indi_rate_run(), and sum_g1_g2().
float g2_est[INDI_NUM_ACT] |
Definition at line 278 of file stabilization_indi.c.
Referenced by bound_g_mat(), calc_g2_element(), lms_estimation(), send_eff_mat_g_indi(), and stabilization_indi_init().
float g2_init[INDI_NUM_ACT] |
Definition at line 280 of file stabilization_indi.c.
Referenced by bound_g_mat(), and stabilization_indi_init().
struct Indi_gains indi_gains |
Definition at line 144 of file stabilization_indi.c.
Referenced by eff_scheduling_periodic_b(), stabilization_indi_attitude_run(), and stabilization_indi_rate_run().
float indi_u[INDI_NUM_ACT] |
Definition at line 215 of file stabilization_indi.c.
Referenced by get_actuator_state().
bool indi_use_adaptive = false |
Definition at line 161 of file stabilization_indi.c.
float indi_v[INDI_OUTPUTS] |
Definition at line 132 of file stabilization_indi.c.
Butterworth2LowPass measurement_lowpass_filters[3] |
Definition at line 284 of file stabilization_indi.c.
Referenced by init_filters(), and stabilization_indi_rate_run().
float mu1[INDI_OUTPUTS] = {0.00001, 0.00001, 0.000003, 0.000002} |
Definition at line 233 of file stabilization_indi.c.
Referenced by lms_estimation().
float mu2 = 0.002 |
Definition at line 235 of file stabilization_indi.c.
Referenced by lms_estimation().
int32_t num_thrusters |
Definition at line 241 of file stabilization_indi.c.
Referenced by stabilization_indi_init().
int32_t num_thrusters_x |
Definition at line 242 of file stabilization_indi.c.
Referenced by stabilization_indi_init().
float q_filt = 0.0 |
Definition at line 217 of file stabilization_indi.c.
float r_filt = 0.0 |
Definition at line 218 of file stabilization_indi.c.
|
static |
Definition at line 287 of file stabilization_indi.c.
Referenced by init_filters(), stabilization_indi_rate_run(), and stabilization_indi_update_filt_freq().
|
static |
Definition at line 242 of file stabilization_indi.c.
Referenced by send_att_full_indi(), and stabilization_indi_attitude_run().
|
static |
Definition at line 242 of file stabilization_indi.c.
Referenced by send_ahrs_ref_quat(), send_att_full_indi(), and stabilization_indi_attitude_run().
int32_t stabilization_att_indi_cmd[COMMANDS_NB] |
Definition at line 144 of file stabilization_indi.c.
float stabilization_indi_filter_freq = 20.0 |
Definition at line 220 of file stabilization_indi.c.
Referenced by stabilization_indi_update_filt_freq().
float stablization_indi_yaw_dist_limit = 99999.f |
Limit the maximum specific moment that can be compensated (units rad/s^2)
Definition at line 206 of file stabilization_indi.c.
Referenced by stabilization_indi_rate_run().
struct WLS_t wls_stab_p |
Definition at line 1 of file stabilization_indi.c.
Referenced by schdule_control_effectiveness(), send_wls_u_stab(), send_wls_v_stab(), and stabilization_indi_set_wls_settings().