Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Data Structures | |
struct | GainsPID |
struct | OFhistory |
struct | OpticalFlowHoverControl |
struct | OpticalFlowHover |
struct | DesiredInputs |
Functions | |
float | set_cov_div (bool cov_method, struct OFhistory *history, struct DesiredInputs *inputs) |
Set the covariance of the divergence and the thrust / past divergence This funciton should only be called once per time step. | |
void | set_cov_flow (bool cov_method, struct OFhistory *historyX, struct OFhistory *historyY, struct DesiredInputs *inputs, struct FloatVect3 *covs) |
Set the covariance of the flow and past flow / desired angle This funciton should only be called once per time step. | |
float | PID_flow_control (float dt, struct OpticalFlowHoverControl *of_hover_ctrl) |
Determine and set the desired angle for constant flow control. | |
int32_t | PID_divergence_control (float dt, struct OpticalFlowHoverControl *of_hover_ctrl) |
Determine and set the thrust for constant divergence control. | |
Variables | |
uint32_t | ind_histXY |
uint8_t | cov_array_filledXY |
uint32_t | ind_histZ |
uint8_t | cov_array_filledZ |
struct OpticalFlowHover | of_hover |
struct GainsPID |
Definition at line 27 of file optical_flow_functions.h.
Data Fields | ||
---|---|---|
float | D | D-gain for control. |
float | d_err | difference of error for the D-gain |
float | err | Current tracking error. |
float | I | I-gain for control. |
float | P | P-gain for control. |
float | previous_err | Previous tracking error. |
float | sum_err | integration of the error for I-gain |
struct OFhistory |
Definition at line 37 of file optical_flow_functions.h.
Data Fields | ||
---|---|---|
float | input[COV_WINDOW_SIZE] | |
float | OF[COV_WINDOW_SIZE] | |
float | past_OF[COV_WINDOW_SIZE] |
struct OpticalFlowHoverControl |
Definition at line 43 of file optical_flow_functions.h.
Data Fields | ||
---|---|---|
float | cov_setpoint | for adaptive gain control, setpoint of the covariance (oscillations) |
float | nominal_value | The nominal value of thrust, phi or theta depending on Z, Y, X. |
struct GainsPID | PID | The struct with the PID gains. |
float | ramp | The ramp pused is increased with per dt. |
float | reduction_factor | Reduce the gain by this factor when oscillating. |
float | setpoint | setpoint for constant divergence/flow |
struct OpticalFlowHover |
Definition at line 56 of file optical_flow_functions.h.
Data Fields | ||
---|---|---|
float | divergence | Divergence estimate. |
float | flowX | Flow estimate in X direction. |
float | flowY | Flow estimate in Y direction. |
struct DesiredInputs |
Definition at line 62 of file optical_flow_functions.h.
Data Fields | ||
---|---|---|
float | phi | |
float | theta | |
int32_t | thrust |
|
extern |
Determine and set the thrust for constant divergence control.
[out] | thrust | |
[in] | dt | time difference since last update |
[in] | *of_hover_ctrl | OpticalFlowHoverControl structure |
Definition at line 161 of file optical_flow_functions.c.
References foo, lp_factor, MAX_PPRZ, and OF_LP_CONST.
Referenced by vertical_ctrl_module_run().
|
extern |
Determine and set the desired angle for constant flow control.
[out] | desired | angle |
[in] | dt | time difference since last update |
[in] | *of_hover_ctrl | OpticalFlowHoverControl structure |
Definition at line 133 of file optical_flow_functions.c.
References foo, lp_factor, OF_LP_CONST, and OFH_MAXBANK.
Referenced by horizontal_ctrl_module_run().
|
extern |
Set the covariance of the divergence and the thrust / past divergence This funciton should only be called once per time step.
[in] | thrust | the current thrust value |
Definition at line 53 of file optical_flow_functions.c.
References cov_array_filledZ, cov_div, cov_method, COV_WINDOW_SIZE, covariance_f(), OpticalFlowHover::divergence, foo, ind_histZ, MAX_PPRZ, normalized_thrust, OF_COV_DELAY_STEPS, of_hover, and DesiredInputs::thrust.
Referenced by vertical_ctrl_module_run().
|
extern |
Set the covariance of the flow and past flow / desired angle This funciton should only be called once per time step.
Definition at line 90 of file optical_flow_functions.c.
References cov_array_filledXY, cov_method, COV_WINDOW_SIZE, covariance_f(), OpticalFlowHover::flowX, OpticalFlowHover::flowY, foo, historyX, historyY, ind_histXY, OFhistory::input, OFhistory::OF, OF_COV_DELAY_STEPS, of_hover, OFH_MAXBANK, OFhistory::past_OF, DesiredInputs::phi, and DesiredInputs::theta.
Referenced by horizontal_ctrl_module_run().
|
extern |
Definition at line 42 of file optical_flow_functions.c.
Referenced by reset_horizontal_vars(), and set_cov_flow().
|
extern |
Definition at line 44 of file optical_flow_functions.c.
Referenced by reset_vertical_vars(), and set_cov_div().
|
extern |
Definition at line 41 of file optical_flow_functions.c.
Referenced by reset_horizontal_vars(), and set_cov_flow().
|
extern |
Definition at line 43 of file optical_flow_functions.c.
Referenced by reset_vertical_vars(), and set_cov_div().
|
extern |
Definition at line 46 of file optical_flow_functions.c.
Referenced by horizontal_ctrl_module_run(), reset_horizontal_vars(), reset_vertical_vars(), send_optical_flow_hover(), set_cov_div(), set_cov_flow(), and vertical_ctrl_module_run().