Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
A guidance mode based on Incremental Nonlinear Dynamic Inversion. More...
Go to the source code of this file.
Functions | |
void | guidance_indi_enter (void) |
Call upon entering indi guidance. More... | |
void | guidance_indi_run (float heading_sp) |
void | stabilization_attitude_set_setpoint_rp_quat_f (struct FloatEulers *indi_rp_cmd, bool in_flight, float heading) |
void | guidance_indi_init (void) |
Init function. More... | |
Variables | |
float | guidance_indi_thrust_specific_force_gain |
float | guidance_indi_pos_gain |
float | guidance_indi_speed_gain |
float | guidance_indi_max_bank |
A guidance mode based on Incremental Nonlinear Dynamic Inversion.
Definition in file guidance_indi.h.
void guidance_indi_enter | ( | void | ) |
Call upon entering indi guidance.
Definition at line 134 of file guidance_indi.c.
References filter_cutoff, init_butterworth_2_low_pass(), FloatEulers::phi, stabilization_cmd, stateGetNedToBodyEulers_f(), FloatEulers::theta, thrust_act, and thrust_in.
Referenced by guidance_h_mode_changed().
void guidance_indi_init | ( | void | ) |
Init function.
Definition at line 125 of file guidance_indi.c.
References accel_sp_cb(), and GUIDANCE_INDI_ACCEL_SP_ID.
void guidance_indi_run | ( | float | heading_sp | ) |
heading_sp | the desired heading [rad] |
main indi guidance function
Definition at line 154 of file guidance_indi.c.
References control_increment, float_eulers_of_quat_yxz(), float_quat_of_eulers_yxz(), Ga, Ga_inv, get_sys_time_float(), guidance_euler_cmd, guidance_h, guidance_indi_calcG_yxz(), guidance_indi_max_bank, guidance_indi_pos_gain, guidance_indi_propagate_filters(), guidance_indi_speed_gain, guidance_v_z_ref, indi_accel_sp_set_2d, indi_accel_sp_set_3d, MAT33_INV, MAT33_VECT3_MUL, SecondOrderLowPass::o, FloatEulers::phi, HorizontalGuidanceReference::pos, POS_FLOAT_OF_BFP, FloatEulers::psi, QUAT_BFP_OF_REAL, radio_control, RADIO_PITCH, RADIO_ROLL, RADIO_THROTTLE, HorizontalGuidance::ref, stab_att_sp_quat, stabilization_cmd, stateGetNedToBodyEulers_f(), stateGetNedToBodyQuat_f(), stateGetPositionNed_f(), stateGetPositionNed_i(), stateGetSpeedNed_f(), FloatEulers::theta, thrust_in, THRUST_INCREMENT_ID, time_of_accel_sp_2d, time_of_accel_sp_3d, RadioControl::values, FloatVect3::x, NedCoor_f::x, Int32Vect2::x, FloatVect3::y, NedCoor_f::y, Int32Vect2::y, FloatVect3::z, and NedCoor_f::z.
Referenced by guidance_h_from_nav(), and guidance_h_guided_run().
void stabilization_attitude_set_setpoint_rp_quat_f | ( | struct FloatEulers * | indi_rp_cmd, |
bool | in_flight, | ||
float | heading | ||
) |
float guidance_indi_max_bank |
Definition at line 110 of file guidance_indi.c.
Referenced by guidance_indi_run().
float guidance_indi_pos_gain |
Definition at line 58 of file guidance_indi.c.
Referenced by guidance_indi_run().
float guidance_indi_speed_gain |
Definition at line 64 of file guidance_indi.c.
Referenced by guidance_indi_run().
float guidance_indi_thrust_specific_force_gain |