|
Paparazzi UAS
v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
|
Include dependency graph for optical_flow_functions.h:
This graph shows which files directly or indirectly include this file: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. More... | |
| 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. More... | |
| float | PID_flow_control (float dt, struct OpticalFlowHoverControl *of_hover_ctrl) |
| Determine and set the desired angle for constant flow control. More... | |
| int32_t | PID_divergence_control (float dt, struct OpticalFlowHoverControl *of_hover_ctrl) |
| Determine and set the thrust for constant divergence control. More... | |
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.
| 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.
Collaboration diagram for OpticalFlowHoverControl:| 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 | |
| int32_t PID_divergence_control | ( | float | dt, |
| struct OpticalFlowHoverControl * | of_hover_ctrl | ||
| ) |
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 160 of file optical_flow_functions.c.
References GainsPID::D, GainsPID::d_err, GainsPID::err, GainsPID::I, MAX_PPRZ, OpticalFlowHoverControl::nominal_value, OF_LP_CONST, GainsPID::P, OpticalFlowHoverControl::PID, GainsPID::previous_err, and GainsPID::sum_err.
Referenced by vertical_ctrl_module_run().
Here is the caller graph for this function:| float PID_flow_control | ( | float | dt, |
| struct OpticalFlowHoverControl * | of_hover_ctrl | ||
| ) |
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 132 of file optical_flow_functions.c.
References GainsPID::D, GainsPID::d_err, GainsPID::err, GainsPID::I, OF_LP_CONST, OFH_MAXBANK, GainsPID::P, OpticalFlowHoverControl::PID, GainsPID::previous_err, and GainsPID::sum_err.
Referenced by horizontal_ctrl_module_run().
Here is the caller graph for this function:| 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.
| [in] | thrust | the current thrust value |
Definition at line 52 of file optical_flow_functions.c.
References cov_array_filledZ, cov_div, COV_WINDOW_SIZE, covariance_f(), OpticalFlowHover::divergence, ind_histZ, OFhistory::input, MAX_PPRZ, normalized_thrust, OFhistory::OF, OF_COV_DELAY_STEPS, of_hover, OFhistory::past_OF, and DesiredInputs::thrust.
Referenced by vertical_ctrl_module_run().
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Definition at line 89 of file optical_flow_functions.c.
References cov_array_filledXY, COV_WINDOW_SIZE, covariance_f(), OpticalFlowHover::flowX, OpticalFlowHover::flowY, ind_histXY, OFhistory::input, OFhistory::OF, OF_COV_DELAY_STEPS, of_hover, OFH_MAXBANK, OFhistory::past_OF, DesiredInputs::phi, DesiredInputs::theta, FloatVect3::x, and FloatVect3::y.
Referenced by horizontal_ctrl_module_run().
Here is the call graph for this function:
Here is the caller graph for this function:| uint8_t cov_array_filledXY |
Definition at line 42 of file optical_flow_functions.c.
Referenced by reset_horizontal_vars(), and set_cov_flow().
| uint8_t cov_array_filledZ |
Definition at line 44 of file optical_flow_functions.c.
Referenced by reset_vertical_vars(), and set_cov_div().
| uint32_t ind_histXY |
Definition at line 41 of file optical_flow_functions.c.
Referenced by reset_horizontal_vars(), and set_cov_flow().
| uint32_t ind_histZ |
Definition at line 43 of file optical_flow_functions.c.
Referenced by reset_vertical_vars(), and set_cov_div().
| struct OpticalFlowHover of_hover |
Definition at line 73 of file optical_flow_functions.h.
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().