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_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_TRAJ_H
22#define GVF_TRAJ_H
23
25
27 LINE = 0,
30 NONE = 255,
31};
32
33typedef struct {
35 float p[16];
36 int p_len;
37} gvf_tra;
38
39struct gvf_grad {
40 float nx;
41 float ny;
42 float nz;
43};
44
45struct gvf_Hess {
46 float H11;
47 float H12;
48 float H13;
49 float H21;
50 float H22;
51 float H23;
52 float H31;
53 float H32;
54 float H33;
55};
56
66typedef struct {
67 int seg;
68 float x1;
69 float y1;
70 float x2;
71 float y2;
72} gvf_seg;
73
75extern gvf_seg gvf_segment;
76
79extern void gvf_line_info(float *phi, struct gvf_grad *, struct gvf_Hess *);
80extern void gvf_ellipse_info(float *phi, struct gvf_grad *, struct gvf_Hess *);
81extern void gvf_sin_info(float *phi, struct gvf_grad *, struct gvf_Hess *);
82
83#endif // GVF_TRAJ_H
float H13
Definition gvf_traj.h:48
float x1
Definition gvf_traj.h:68
float H12
Definition gvf_traj.h:47
enum trajectories type
Definition gvf_traj.h:34
float H23
Definition gvf_traj.h:51
int p_len
Definition gvf_traj.h:36
float H21
Definition gvf_traj.h:49
void gvf_line_info(float *phi, struct gvf_grad *, struct gvf_Hess *)
Definition gvf_traj.c:29
float H11
Definition gvf_traj.h:46
trajectories
Definition gvf_traj.h:26
@ SIN
Definition gvf_traj.h:29
@ ELLIPSE
Definition gvf_traj.h:28
@ LINE
Definition gvf_traj.h:27
@ NONE
Definition gvf_traj.h:30
float ny
Definition gvf_traj.h:41
gvf_seg gvf_segment
Definition gvf_traj.c:25
float nz
Definition gvf_traj.h:42
void gvf_ellipse_info(float *phi, struct gvf_grad *, struct gvf_Hess *)
Definition gvf_traj.c:53
float nx
Definition gvf_traj.h:40
int seg
Definition gvf_traj.h:67
float y1
Definition gvf_traj.h:69
float H32
Definition gvf_traj.h:53
gvf_tra gvf_trajectory
Definition gvf_traj.c:24
float y2
Definition gvf_traj.h:71
float x2
Definition gvf_traj.h:70
float H31
Definition gvf_traj.h:52
float H22
Definition gvf_traj.h:50
void gvf_sin_info(float *phi, struct gvf_grad *, struct gvf_Hess *)
Definition gvf_traj.c:86
float H33
Definition gvf_traj.h:54
static float p[2][2]