Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Functions | |
void | qr_solve_wrapper (int m, int n, float **A, float *b, float *x) |
Wrapper for qr solve. More... | |
int | wls_alloc (float *u, float *v, float *umin, float *umax, float **B, float *u_guess, float *W_init, float *Wv, float *Wu, float *ud, float gamma, int imax) |
active set algorithm for control allocation More... | |
void qr_solve_wrapper | ( | int | m, |
int | n, | ||
float ** | A, | ||
float * | b, | ||
float * | x | ||
) |
Wrapper for qr solve.
Possible to use a different solver if needed. Solves a system of the form Ax = b for x.
m | number of rows |
n | number of columns |
Definition at line 74 of file wls_alloc.c.
References A, b, and qr_solve().
Referenced by wls_alloc().
int wls_alloc | ( | float * | u, |
float * | v, | ||
float * | umin, | ||
float * | umax, | ||
float ** | B, | ||
float * | u_guess, | ||
float * | W_init, | ||
float * | Wv, | ||
float * | Wu, | ||
float * | up, | ||
float | gamma_sq, | ||
int | imax | ||
) |
active set algorithm for control allocation
Takes the control objective and max and min inputs from pprz and calculates the inputs that will satisfy most of the control objective, subject to the weighting matrices Wv and Wu
u | The control output vector |
v | The control objective |
umin | The minimum u vector |
umax | The maximum u vector |
B | The control effectiveness matrix |
n_u | Length of u |
n_v | Lenght of v |
u_guess | Initial value for u |
W_init | Initial working set, if known |
Wv | Weighting on different control objectives |
Wu | Weighting on different controls |
up | Preferred control vector |
gamma_sq | Preference of satisfying control objective over desired control vector (sqare root of gamma) |
imax | Max number of iterations |
Definition at line 112 of file wls_alloc.c.
References A, alpha, B, b, CA_N_C, p, print_final_values(), print_in_and_outputs(), qr_solve_wrapper(), UNUSED, up, and Wv.
Referenced by stabilization_indi_rate_run().