Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
gvf_parametric.cpp File Reference
+ 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)
 
static void send_circle_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
 

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 
)

Definition at line 343 of file gvf_parametric.cpp.

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

+ Here is the call graph for this function:

◆ 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 
)

Definition at line 385 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_wp_delta()

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

Definition at line 391 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 
)

Definition at line 435 of file gvf_parametric.cpp.

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

+ Here is the call graph for this function:

◆ 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()

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 
)

◆ gvf_parametric_init()

◆ gvf_parametric_set_direction()

void gvf_parametric_set_direction ( int8_t  s)

Definition at line 125 of file gvf_parametric.cpp.

References gvf_parametric_control, s, and gvf_parametric_con::s.

◆ send_circle_parametric()

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

Definition at line 89 of file gvf_parametric.cpp.

References dev, ELLIPSE_3D, get_sys_time_msec(), gvf_parametric_t0, gvf_parametric_trajectory, gvf_parametric_tra::p_parametric, and gvf_parametric_tra::type.

Referenced by gvf_parametric_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ send_gvf_parametric()

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

Variable Documentation

◆ gvf_parametric_control

◆ gvf_parametric_t0

◆ gvf_parametric_trajectory