Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gvf_param_traj.h
Go to the documentation of this file.
1/*
2 * This file is part of paparazzi.
3 *
4 * paparazzi is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2, or (at your option)
7 * any later version.
8 *
9 * paparazzi is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with paparazzi; see the file COPYING. If not, write to
16 * the Free Software Foundation, 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 *
19 */
20
21#ifndef GVF_PARAMETRIC_TRAJ_H
22#define GVF_PARAMETRIC_TRAJ_H
23
24// Define only one segment by default
25#ifndef GVF_PARAMETRIC_2D_BEZIER_N_SEG
26#define GVF_PARAMETRIC_2D_BEZIER_N_SEG 1
27#endif
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
34#include "std.h"
35
36// Parameters for the trajectories
44
45typedef struct {
47 float p_parametric[16];
48 int p_len;
50
51// Cubic bezier
52typedef struct {
53 float p0[2];
54 float p1[2];
55 float p2[2];
56 float p3[2];
57} bezier_t;
58
60
64 float *f1, float *f2, float *f1d, float *f2d, float *f1dd, float *f2dd,
65 float wb);
67 float *f1, float *f2, float *f3, float *f1d, float *f2d, float *f3d, float *f1dd, float *f2dd, float *f3dd,
68 float wb);
70 float *f1, float *f2, float *f3, float *f1d, float *f2d, float *f3d, float *f1dd, float *f2dd, float *f3dd,
71 float wb);
73 bezier_t *bezier, float *f1, float *f2, float *f1d, float *f2d, float *f1dd, float *f2dd,
74 float w);
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif // GVF_PARAMETRIC_TRAJ_H
trajectories_parametric
@ NONE_PARAMETRIC
@ LISSAJOUS_3D
@ BEZIER_2D
@ TREFOIL_2D
@ ELLIPSE_3D
void gvf_parametric_3d_ellipse_info(float *f1, float *f2, float *f3, float *f1d, float *f2d, float *f3d, float *f1dd, float *f2dd, float *f3dd, float wb)
void gvf_parametric_3d_lissajous_info(float *f1, float *f2, float *f3, float *f1d, float *f2d, float *f3d, float *f1dd, float *f2dd, float *f3dd, float wb)
void gvf_parametric_2d_trefoil_info(float *f1, float *f2, float *f1d, float *f2d, float *f1dd, float *f2dd, float wb)
gvf_parametric_tra gvf_parametric_trajectory
enum trajectories_parametric type
void gvf_parametric_2d_bezier_splines_info(bezier_t *bezier, float *f1, float *f2, float *f1d, float *f2d, float *f1dd, float *f2dd, float w)
uint16_t foo
Definition main_demo5.c:58