Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "firmwares/rotorcraft/guidance/guidance_indi_hybrid.h"
#include "filters/low_pass_filter.h"
#include "state.h"
#include "autopilot.h"
#include "generated/modules.h"
Go to the source code of this file.
Macros | |
#define | GUIDANCE_INDI_PITCH_EFF_SCALING 1.0 |
Functions | |
void | guidance_indi_quadplane_init (void) |
Call upon entering indi guidance. More... | |
void | guidance_indi_quadplane_propagate_filters (void) |
Low pass the accelerometer measurements to remove noise from vibrations. More... | |
void | guidance_indi_calcg_wing (float Gmat[GUIDANCE_INDI_HYBRID_V][GUIDANCE_INDI_HYBRID_U], struct FloatVect3 a_diff, float body_v[GUIDANCE_INDI_HYBRID_V]) |
Perform WLS. More... | |
void WEAK | guidance_indi_hybrid_set_wls_settings (float body_v[3], float roll_angle, float pitch_angle) |
bool | autopilot_in_flight_end_detection (bool motors_on UNUSED) |
Quadplanes can still be in-flight with COMMAND_THRUST==0 and can even soar not descending in updrafts with all thrust off. More... | |
Variables | |
float | bodyz_filter_cutoff = 0.2 |
Butterworth2LowPass | accel_bodyz_filt |
#define GUIDANCE_INDI_PITCH_EFF_SCALING 1.0 |
bool autopilot_in_flight_end_detection | ( | bool motors_on | UNUSED | ) |
Quadplanes can still be in-flight with COMMAND_THRUST==0 and can even soar not descending in updrafts with all thrust off.
Definition at line 156 of file guidance_indi_hybrid_quadplane.c.
void guidance_indi_calcg_wing | ( | float | Gmat[GUIDANCE_INDI_HYBRID_V][GUIDANCE_INDI_HYBRID_U], |
struct FloatVect3 | a_diff, | ||
float | body_v[GUIDANCE_INDI_HYBRID_V] | ||
) |
Perform WLS.
Gmat | Dynamics matrix |
a_diff | acceleration errors in earth frame |
body_v | 3D vector to write the control objective v |
Definition at line 80 of file guidance_indi_hybrid_quadplane.c.
void guidance_indi_hybrid_set_wls_settings | ( | float | body_v[3], |
float | roll_angle, | ||
float | pitch_angle | ||
) |
Definition at line 128 of file guidance_indi_hybrid_quadplane.c.
References Stabilization::cmd, g1g2, guidance_indi_max_bank, GUIDANCE_INDI_MAX_PITCH, GUIDANCE_INDI_MIN_PITCH, guidance_indi_pitch_pref_deg, guidance_indi_thrust_z_eff, MAX_PPRZ, and stabilization.
void guidance_indi_quadplane_init | ( | void | ) |
Call upon entering indi guidance.
Definition at line 55 of file guidance_indi_hybrid_quadplane.c.
References accel_bodyz_filt, bodyz_filter_cutoff, and init_butterworth_2_low_pass().
void guidance_indi_quadplane_propagate_filters | ( | void | ) |
Low pass the accelerometer measurements to remove noise from vibrations.
The roll and pitch also need to be filtered to synchronize them with the acceleration Called as a periodic function with PERIODIC_FREQ
Definition at line 67 of file guidance_indi_hybrid_quadplane.c.
References accel_bodyz_filt, ACCEL_FLOAT_OF_BFP, stateGetAccelBody_i(), and update_butterworth_2_low_pass().
Butterworth2LowPass accel_bodyz_filt |
Definition at line 49 of file guidance_indi_hybrid_quadplane.c.
Referenced by guidance_indi_calcg_wing(), guidance_indi_quadplane_init(), and guidance_indi_quadplane_propagate_filters().
float bodyz_filter_cutoff = 0.2 |
Definition at line 47 of file guidance_indi_hybrid_quadplane.c.
Referenced by guidance_indi_quadplane_init().