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 786 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 432 of file stabilization_indi.c.
◆ stabilization_indi_init()
void stabilization_indi_init |
( |
void |
| ) |
|
Function that initializes important values upon engaging INDI.
Definition at line 359 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 565 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 838 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 528 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 503 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 551 of file stabilization_indi.c.
◆ stabilization_indi_set_wls_settings()
void stabilization_indi_set_wls_settings |
( |
void |
| ) |
|
Function that sets the du_min, du_max and du_pref if function not elsewhere defined.
Definition at line 756 of file stabilization_indi.c.
References act_is_servo, act_pref, actuator_state_filt_vect, guidance_h, GUIDANCE_H_MODE_HOVER, GUIDANCE_H_MODE_NAV, MAX_PPRZ, HorizontalGuidance::mode, STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD, stateGetAirspeed_f(), u_max_stab_indi, u_min_stab_indi, and u_pref_stab_indi.
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 |
◆ g1g2
float g1g2[INDI_OUTPUTS][INDI_NUM_ACT] |
|
extern |
Definition at line 281 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
◆ stablization_indi_yaw_dist_limit
float stablization_indi_yaw_dist_limit |
|
extern |
◆ thrust_bx_act_dyn
◆ thrust_bx_eff
◆ thrust_bx_state_filt
float thrust_bx_state_filt |
|
extern |
◆ u_max_stab_indi
float u_max_stab_indi[INDI_NUM_ACT] |
|
extern |
◆ u_min_stab_indi
float u_min_stab_indi[INDI_NUM_ACT] |
|
extern |
◆ u_pref_stab_indi
float u_pref_stab_indi[INDI_NUM_ACT] |
|
extern |