Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
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

◆ opticflow_stab_t

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

◆ oa_method

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

◆ guidance_h_module_enter()

void guidance_h_module_enter ( void  )

◆ guidance_h_module_init()

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(), velocity_est_ev, 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:

◆ guidance_h_module_read_rc()

◆ guidance_h_module_run()

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(), opticflow_stab, 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:

◆ OA_update()

Variable Documentation

◆ filter_flag

int8_t filter_flag

Definition at line 93 of file guidance_OA.c.

◆ OA_method_flag

oa_method OA_method_flag

Definition at line 96 of file guidance_OA.c.

Referenced by CN_calculate_target(), OA_update(), and serial_update().

◆ opti_speed_flag

int8_t opti_speed_flag

Definition at line 98 of file guidance_OA.c.

Referenced by OA_update().

◆ opticflow_stab

◆ r_dot_new

float r_dot_new

Definition at line 107 of file guidance_OA.c.

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

◆ ref_pitch

float ref_pitch

Definition at line 103 of file guidance_OA.c.

◆ ref_roll

float ref_roll

Definition at line 104 of file guidance_OA.c.

◆ repulsionforce_filter_flag

int8_t repulsionforce_filter_flag

Definition at line 94 of file guidance_OA.c.

Referenced by CN_vector_escape_velocity(), and CN_vector_velocity().

◆ speed_pot

◆ vref_max