Paparazzi UAS  v6.3_unstable
Paparazzi is a free software Unmanned Aircraft System.
gvf_parametric.cpp File Reference

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

+ Include dependency graph for gvf_parametric.cpp:

Go to the source code of this file.

Functions

static void send_gvf_parametric (struct transport_tx *trans, struct link_device *dev)
 
void gvf_parametric_init (void)
 
void gvf_parametric_set_direction (int8_t s)
 
void gvf_parametric_control_2D (float kx, float ky, float f1, float f2, float f1d, float f2d, float f1dd, float f2dd)
 
void gvf_parametric_control_3D (float kx, float ky, float kz, float f1, float f2, float f3, float f1d, float f2d, float f3d, float f1dd, float f2dd, float f3dd)
 
bool gvf_parametric_2D_trefoil_XY (float xo, float yo, float w1, float w2, float ratio, float r, float alpha)
 2D TRAJECTORIES More...
 
bool gvf_parametric_2D_trefoil_wp (uint8_t wp, float w1, float w2, float ratio, float r, float alpha)
 
bool gvf_parametric_3D_ellipse_XYZ (float xo, float yo, float r, float zl, float zh, float alpha)
 3D TRAJECTORIES More...
 
bool gvf_parametric_3D_ellipse_wp (uint8_t wp, float r, float zl, float zh, float alpha)
 
bool gvf_parametric_3D_ellipse_wp_delta (uint8_t wp, float r, float alt_center, float delta, float alpha)
 
bool gvf_parametric_3D_lissajous_XYZ (float xo, float yo, float zo, float cx, float cy, float cz, float wx, float wy, float wz, float dx, float dy, float dz, float alpha)
 
bool gvf_parametric_3D_lissajous_wp_center (uint8_t wp, float zo, float cx, float cy, float cz, float wx, float wy, float wz, float dx, float dy, float dz, float alpha)
 

Variables

uint32_t gvf_parametric_t0 = 0
 
gvf_parametric_con gvf_parametric_control
 
gvf_parametric_tra gvf_parametric_trajectory
 
int gvf_parametric_plen = 1
 
int gvf_parametric_plen_wps = 0
 
int gvf_parametric_elen = 3
 

Detailed Description

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

Definition in file gvf_parametric.cpp.

Function Documentation

◆ 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  wp,
float  r,
float  zl,
float  zh,
float  alpha 
)

◆ gvf_parametric_3D_ellipse_wp_delta()

bool gvf_parametric_3D_ellipse_wp_delta ( uint8_t  wp,
float  r,
float  alt_center,
float  delta,
float  alpha 
)

Definition at line 400 of file gvf_parametric.cpp.

References alpha, gvf_parametric_3D_ellipse_XYZ(), waypoints, EnuCoor_f::x, and EnuCoor_f::y.

+ Here is the call graph for this function:

◆ gvf_parametric_3D_ellipse_XYZ()

bool gvf_parametric_3D_ellipse_XYZ ( float  xo,
float  yo,
float  r,
float  zl,
float  zh,
float  alpha 
)

◆ gvf_parametric_3D_lissajous_wp_center()

bool gvf_parametric_3D_lissajous_wp_center ( uint8_t  wp,
float  zo,
float  cx,
float  cy,
float  cz,
float  wx,
float  wy,
float  wz,
float  dx,
float  dy,
float  dz,
float  alpha 
)

◆ gvf_parametric_3D_lissajous_XYZ()

bool gvf_parametric_3D_lissajous_XYZ ( float  xo,
float  yo,
float  zo,
float  cx,
float  cy,
float  cz,
float  wx,
float  wy,
float  wz,
float  dx,
float  dy,
float  dz,
float  alpha 
)

◆ gvf_parametric_control_2D()

◆ gvf_parametric_control_3D()

◆ gvf_parametric_init()

◆ gvf_parametric_set_direction()

void gvf_parametric_set_direction ( int8_t  s)

Definition at line 113 of file gvf_parametric.cpp.

References gvf_parametric_control, gvf_parametric_con::s, and s.

◆ send_gvf_parametric()

static void send_gvf_parametric ( struct transport_tx *  trans,
struct link_device *  dev 
)
static

Variable Documentation

◆ gvf_parametric_control

◆ gvf_parametric_elen

int gvf_parametric_elen = 3

◆ gvf_parametric_plen

◆ gvf_parametric_plen_wps

◆ gvf_parametric_t0

uint32_t gvf_parametric_t0 = 0

◆ gvf_parametric_trajectory