Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
guidance_OA.h File Reference

Guidance for the obstacle avoidance methods. More...

#include "std.h"
#include "modules/computer_vision/lib/v4l/v4l2.h"
#include "math/pprz_algebra_int.h"
+ Include dependency graph for guidance_OA.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  opticflow_stab_t
 

Enumerations

enum  oa_method {
  NO_OBSTACLE_AVOIDANCE, PINGPONG, POT_HEADING, POT_VEL,
  VECTOR, SAFETYZONE, LOGICBASED
}
 

Functions

void guidance_h_module_init (void)
 Initialization of horizontal guidance module. More...
 
void guidance_h_module_enter (void)
 Entering the horizontal module (user switched to module) More...
 
void guidance_h_module_read_rc (void)
 Read the RC commands. More...
 
void guidance_h_module_run (bool in_flight)
 Main guidance loop. More...
 
void OA_update (void)
 Update the controls based on a vision result. More...
 

Variables

struct opticflow_stab_t opticflow_stab
 
int8_t filter_flag
 
int8_t repulsionforce_filter_flag
 
oa_method OA_method_flag
 
int8_t opti_speed_flag
 
float vref_max
 
float ref_pitch
 
float ref_roll
 
float r_dot_new
 
float speed_pot
 

Detailed Description

Guidance for the obstacle avoidance methods.

Definition in file guidance_OA.h.


Data Structure Documentation

struct opticflow_stab_t

Definition at line 37 of file guidance_opticflow_hover.h.

+ Collaboration diagram for opticflow_stab_t:
Data Fields
struct Int32Eulers cmd The commands that are send to the hover loop.
float desired_vx The desired velocity in the x direction (cm/s)
float desired_vy The desired velocity in the y direction (cm/s)
float err_vx_int The integrated velocity error in x direction (m/s)
float err_vy_int The integrated velocity error in y direction (m/s)
int32_t phi_igain The roll I gain on the err_vx_int.
int32_t phi_pgain The roll P gain on the err_vx.
int32_t theta_igain The pitch I gain on the err_vy_int.
int32_t theta_pgain The pitch P gain on the err_vy.

Enumeration Type Documentation

enum oa_method
Enumerator
NO_OBSTACLE_AVOIDANCE 
PINGPONG 
POT_HEADING 
POT_VEL 
VECTOR 
SAFETYZONE 
LOGICBASED 

Definition at line 52 of file guidance_OA.h.

Function Documentation

void guidance_h_module_enter ( void  )
void guidance_h_module_init ( void  )

Initialization of horizontal guidance module.

Definition at line 80 of file ctrl_module_innerloop_demo.c.

References ctrl_module_init(), horizontal_ctrl_module_init(), stabilization_opticflow_vel_cb(), and VISION_VELOCITY_ESTIMATE_ID.

Referenced by guidance_h_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void guidance_h_module_run ( bool  in_flight)

Main guidance loop.

Parameters
[in]in_flightWhether we are in flight or not

Definition at line 99 of file ctrl_module_innerloop_demo.c.

References ANGLE_BFP_OF_REAL, AP_MODE_NAV, autopilot_static_set_mode(), Electrical::bat_low, opticflow_stab_t::cmd, ctrl_module_demo_struct::cmd, ctrl, ctrl_module_run(), electrical, horizontal_ctrl_module_run(), OA_update(), Int32Eulers::phi, stabilization_attitude_run(), stabilization_attitude_set_rpy_setpoint_i(), and Int32Eulers::theta.

Referenced by guidance_h_run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

int8_t filter_flag

Definition at line 93 of file guidance_OA.c.

oa_method OA_method_flag

Definition at line 96 of file guidance_OA.c.

Referenced by CN_calculate_target(), and serial_update().

int8_t opti_speed_flag

Definition at line 98 of file guidance_OA.c.

struct opticflow_stab_t opticflow_stab

Definition at line 90 of file guidance_opticflow_hover.c.

float r_dot_new

Definition at line 107 of file guidance_OA.c.

Referenced by CN_potential_heading(), CN_potential_velocity(), and OA_update().

float ref_pitch

Definition at line 103 of file guidance_OA.c.

float ref_roll

Definition at line 104 of file guidance_OA.c.

int8_t repulsionforce_filter_flag

Definition at line 94 of file guidance_OA.c.

Referenced by CN_vector_escape_velocity(), and CN_vector_velocity().

float vref_max