Go to the source code of this file.
◆ Indi_gains
◆ INDI_G_SCALING
#define INDI_G_SCALING 1000.0 |
◆ stabilization_indi_attitude_run()
void stabilization_indi_attitude_run |
( |
struct Int32Quat |
quat_sp, |
|
|
bool |
in_flight |
|
) |
| |
runs stabilization indi
- Parameters
-
enable_integrator | |
rate_control | boolean that determines if we are in rate control or attitude control |
Function that should be called to run the INDI controller
- Parameters
-
in_flight | not used |
rate_control | rate control enabled, otherwise attitude control |
Definition at line 769 of file stabilization_indi.c.
◆ stabilization_indi_enter()
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 424 of file stabilization_indi.c.
◆ stabilization_indi_init()
void stabilization_indi_init |
( |
void |
| ) |
|
Function that initializes important values upon engaging INDI.
Definition at line 351 of file stabilization_indi.c.
◆ stabilization_indi_rate_run()
void stabilization_indi_rate_run |
( |
struct FloatRates |
rate_sp, |
|
|
bool |
in_flight |
|
) |
| |
Does the INDI calculations.
- Parameters
-
att_err | attitude error |
rate_control | boolean that states if we are in rate control or attitude control |
in_flight | boolean that states if the UAV is in flight or not |
Function that calculates the INDI commands
- Parameters
-
indi_commands[] | Array of commands that the function will write to |
att_err | quaternion attitude error |
Definition at line 555 of file stabilization_indi.c.
◆ stabilization_indi_read_rc()
void stabilization_indi_read_rc |
( |
bool |
in_flight, |
|
|
bool |
in_carefree, |
|
|
bool |
coordinated_turn |
|
) |
| |
This function reads rc commands.
- Parameters
-
in_flight | boolean that states if the UAV is in flight or not |
Definition at line 821 of file stabilization_indi.c.
◆ stabilization_indi_set_earth_cmd_i()
Set attitude setpoint from command in earth axes.
- Parameters
-
cmd | 2D command in North East axes |
heading | Heading of the setpoint |
Function that calculates the setpoint quaternion from a command in earth axes
- Parameters
-
cmd | The command in earth axes (North East) |
heading | The desired heading |
Definition at line 518 of file stabilization_indi.c.
◆ stabilization_indi_set_failsafe_setpoint()
void stabilization_indi_set_failsafe_setpoint |
( |
void |
| ) |
|
◆ stabilization_indi_set_quat_setpoint_i()
void stabilization_indi_set_quat_setpoint_i |
( |
struct Int32Quat * |
quat | ) |
|
◆ stabilization_indi_set_rpy_setpoint_i()
void stabilization_indi_set_rpy_setpoint_i |
( |
struct Int32Eulers * |
rpy | ) |
|
Set attitude quaternion setpoint from rpy.
- Parameters
-
rpy | rpy from which to calculate quaternion setpoint |
Function that calculates the setpoint quaternion from rpy
- Parameters
-
Definition at line 493 of file stabilization_indi.c.
◆ stabilization_indi_set_stab_sp()
Set attitude setpoint from stabilization setpoint struct.
- Parameters
-
sp | Stabilization setpoint structure |
Definition at line 541 of file stabilization_indi.c.
◆ stabilization_indi_set_wls_settings()
void stabilization_indi_set_wls_settings |
( |
float |
use_increment | ) |
|
|
inline |
- Parameters
-
use_increment | Function that sets the du_min, du_max and du_pref if function not elsewhere defined |
Definition at line 739 of file stabilization_indi.c.
References act_is_servo, act_pref, actuator_state_filt_vect, du_max_stab_indi, du_min_stab_indi, du_pref_stab_indi, eff_sched_var, guidance_h, GUIDANCE_H_MODE_HOVER, GUIDANCE_H_MODE_NAV, MAX_PPRZ, HorizontalGuidance::mode, STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD, stateGetAirspeed_f(), use_increment, and rot_wing_eff_sched_var_t::wing_rotation_deg.
Referenced by stabilization_indi_rate_run().
◆ act_is_servo
bool act_is_servo[INDI_NUM_ACT] |
|
extern |
◆ act_pref
float act_pref[INDI_NUM_ACT] |
|
extern |
◆ actuator_state_filt_vect
float actuator_state_filt_vect[INDI_NUM_ACT] |
|
extern |
◆ actuator_thrust_bx_pprz
float actuator_thrust_bx_pprz |
|
extern |
◆ Bwls
float* Bwls[INDI_OUTPUTS] |
|
extern |
◆ du_max_stab_indi
float du_max_stab_indi[INDI_NUM_ACT] |
|
extern |
◆ du_min_stab_indi
float du_min_stab_indi[INDI_NUM_ACT] |
|
extern |
◆ du_pref_stab_indi
float du_pref_stab_indi[INDI_NUM_ACT] |
|
extern |
◆ g1g2
float g1g2[INDI_OUTPUTS][INDI_NUM_ACT] |
|
extern |
Definition at line 273 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_rot_wing_update_aileron_effectiveness(), eff_scheduling_rot_wing_update_elevator_effectiveness(), eff_scheduling_rot_wing_update_flaperon_effectiveness(), eff_scheduling_rot_wing_update_hover_motor_effectiveness(), eff_scheduling_rot_wing_update_pusher_effectiveness(), eff_scheduling_rot_wing_update_rudder_effectiveness(), ground_detect_sensor_periodic(), guidance_indi_hybrid_set_wls_settings(), schdule_control_effectiveness(), send_eff_mat_g_indi(), stabilization_indi_init(), and sum_g1_g2().
◆ indi_gains
◆ indi_use_adaptive
◆ indi_Wu
float indi_Wu[INDI_NUM_ACT] |
|
extern |
◆ stab_att_sp_euler
◆ stab_att_sp_quat
◆ thrust_bx_act_dyn
◆ thrust_bx_eff
◆ thrust_bx_state_filt
float thrust_bx_state_filt |
|
extern |