Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
gvf_parametric.h File Reference

Guiding vector field algorithm for 2D and 3D parametric trajectories. More...

+ Include dependency graph for gvf_parametric.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gvf_parametric_con
 
struct  gvf_parametric_tra
 

Macros

#define GVF_PARAMETRIC_GRAVITY   9.806
 
#define GVF_PARAMETRIC_CONTROL_KROLL   1
 
#define GVF_PARAMETRIC_CONTROL_KCLIMB   1
 
#define GVF_PARAMETRIC_CONTROL_L   0.1
 
#define GVF_PARAMETRIC_CONTROL_BETA   0.01
 
#define GVF_PARAMETRIC_CONTROL_KPSI   1
 
#define GVF_OCAML_GCS   true
 

Enumerations

enum  trajectories_parametric {
  TREFOIL_2D = 0 , ELLIPSE_3D = 1 , LISSAJOUS_3D = 2 , BEZIER_2D = 3 ,
  NONE_PARAMETRIC = 255
}
 

Functions

void gvf_parametric_init (void)
 
void gvf_parametric_set_direction (int8_t s)
 
void gvf_parametric_control_2D (float, float, float, float, float, float, float, float)
 
void gvf_parametric_control_3D (float, float, float, float, float, float, float, float, float, float, float, float)
 
bool gvf_parametric_2D_trefoil_XY (float, float, float, float, float, float, float)
 2D TRAJECTORIES More...
 
bool gvf_parametric_2D_trefoil_wp (uint8_t, float, float, float, float, float)
 
bool gvf_parametric_2D_bezier_wp (uint8_t)
 
bool gvf_parametric_2D_bezier_XY (void)
 
bool gvf_parametric_3D_ellipse_XYZ (float, float, float, float, float, float)
 
bool gvf_parametric_3D_ellipse_wp (uint8_t, float, float, float, float)
 
bool gvf_parametric_3D_ellipse_wp_delta (uint8_t, float, float, float, float)
 
bool gvf_parametric_3D_lissajous_XYZ (float, float, float, float, float, float, float, float, float, float, float, float, float)
 
bool gvf_parametric_3D_lissajous_wp_center (uint8_t, float, float, float, float, float, float, float, float, float, float, float)
 

Variables

gvf_parametric_con gvf_parametric_control
 
gvf_parametric_tra gvf_parametric_trajectory
 
bezier_t gvf_bezier_2D [GVF_PARAMETRIC_2D_BEZIER_N_SEG]
 

Detailed Description

Guiding vector field algorithm for 2D and 3D parametric trajectories.

Definition in file gvf_parametric.h.


Data Structure Documentation

◆ gvf_parametric_con

struct gvf_parametric_con

Definition at line 79 of file gvf_parametric.h.

Data Fields
float beta
float delta_T
float k_climb
float k_psi
float k_roll
float L
int8_t s
float w

◆ gvf_parametric_tra

struct gvf_parametric_tra

Definition at line 101 of file gvf_parametric.h.

Data Fields
float p_parametric[16]
float phi_errors[3]
enum trajectories_parametric type

Macro Definition Documentation

◆ GVF_OCAML_GCS

#define GVF_OCAML_GCS   true

Default GCS trajectory painter

Definition at line 59 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_CONTROL_BETA

#define GVF_PARAMETRIC_CONTROL_BETA   0.01

Default scale for w

Definition at line 49 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_CONTROL_KCLIMB

#define GVF_PARAMETRIC_CONTROL_KCLIMB   1

Default gain kclimb for tuning the climbing setting point

Definition at line 39 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_CONTROL_KPSI

#define GVF_PARAMETRIC_CONTROL_KPSI   1

Default gain kpsi for tuning the alignment of the vehicle with the vector field

Definition at line 54 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_CONTROL_KROLL

#define GVF_PARAMETRIC_CONTROL_KROLL   1

Default gain kroll for tuning the "coordinated turn"

Definition at line 34 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_CONTROL_L

#define GVF_PARAMETRIC_CONTROL_L   0.1

Default scale for the error signals

Definition at line 44 of file gvf_parametric.h.

◆ GVF_PARAMETRIC_GRAVITY

#define GVF_PARAMETRIC_GRAVITY   9.806

Definition at line 30 of file gvf_parametric.h.

Enumeration Type Documentation

◆ trajectories_parametric

Enumerator
TREFOIL_2D 
ELLIPSE_3D 
LISSAJOUS_3D 
BEZIER_2D 
NONE_PARAMETRIC 

Definition at line 93 of file gvf_parametric.h.

Function Documentation

◆ gvf_parametric_2D_bezier_wp()

◆ gvf_parametric_2D_bezier_XY()

bool gvf_parametric_2D_bezier_XY ( void  )

◆ gvf_parametric_2D_trefoil_wp()

bool gvf_parametric_2D_trefoil_wp ( uint8_t  wp,
float  w1,
float  w2,
float  ratio,
float  r,
float  alpha 
)

◆ gvf_parametric_2D_trefoil_XY()

bool gvf_parametric_2D_trefoil_XY ( float  xo,
float  yo,
float  w1,
float  w2,
float  ratio,
float  r,
float  alpha 
)

◆ gvf_parametric_3D_ellipse_wp()

bool gvf_parametric_3D_ellipse_wp ( uint8_t  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_3D_ellipse_wp_delta()

bool gvf_parametric_3D_ellipse_wp_delta ( uint8_t  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_3D_ellipse_XYZ()

bool gvf_parametric_3D_ellipse_XYZ ( float  ,
float  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_3D_lissajous_wp_center()

bool gvf_parametric_3D_lissajous_wp_center ( uint8_t  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_3D_lissajous_XYZ()

bool gvf_parametric_3D_lissajous_XYZ ( float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_control_2D()

◆ gvf_parametric_control_3D()

void gvf_parametric_control_3D ( float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float  ,
float   
)

◆ gvf_parametric_init()

◆ gvf_parametric_set_direction()

void gvf_parametric_set_direction ( int8_t  s)

Definition at line 120 of file gvf_parametric.cpp.

References gvf_parametric_control, gvf_parametric_con::s, and s.

Variable Documentation

◆ gvf_bezier_2D

◆ gvf_parametric_control

◆ gvf_parametric_trajectory