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_ik.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Hector Garcia de Marina
3 *
4 * This file is part of paparazzi.
5 *
6 * paparazzi is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * paparazzi is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with paparazzi; see the file COPYING. If not, write to
18 * the Free Software Foundation, 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 *
21 */
22
28#ifndef GVF_IK_H
29#define GVF_IK_H
30
31#define GVF_GRAVITY 9.806
32
34#ifndef GVF_IK_GAMMA_AMPLITUDE
35#define GVF_IK_GAMMA_AMPLITUDE 0
36#endif
37
38#ifndef GVF_IK_GAMMA_OMEGA
39#define GVF_IK_GAMMA_OMEGA 0
40#endif
41
43#ifndef GVF_OCAML_GCS
44#define GVF_OCAML_GCS true
45#endif
46
47#include "std.h"
50
60typedef struct {
61 float ke;
62 float kn;
63 float phi;
64 float error;
65 float error_n;
67
70 float gamma;
71 float gamma_dot;
73
74typedef struct {
75 float n_norm;
76 float t_norm;
77 float omega_d;
78 float omega;
80
81// Extern structs
83
86extern void gvf_ik_init(void);
87extern void gvf_ik_control_2D(float ke, float kn, float e, struct gvf_grad *, struct gvf_Hess *);
88extern void gvf_ik_set_direction(int8_t s);
89
90#endif // GVF_IK_H
float omega
Definition gvf_ik.h:78
float gamma
Definition gvf_ik.h:70
float gamma_amplitude
Definition gvf_ik.h:68
float ke
Definition gvf_ik.h:61
float phi
Definition gvf_ik.h:63
float n_norm
Definition gvf_ik.h:75
float gamma_dot
Definition gvf_ik.h:71
void gvf_ik_init(void)
EXTERN FUNCTIONS ----------------------------------------------------—.
Definition gvf_ik.c:123
void gvf_ik_control_2D(float ke, float kn, float e, struct gvf_grad *, struct gvf_Hess *)
Definition gvf_ik.c:141
float error_n
Definition gvf_ik.h:65
gvf_ik_con gvf_ik_control
Definition gvf_ik.c:35
float t_norm
Definition gvf_ik.h:76
float kn
Definition gvf_ik.h:62
float gamma_omega
Definition gvf_ik.h:69
void gvf_ik_set_direction(int8_t s)
Definition gvf_ik.c:294
float omega_d
Definition gvf_ik.h:77
float error
Definition gvf_ik.h:64
int8_t s
Definition gvf_ik.h:66
static uint32_t s
signed char int8_t
Typedef defining 8 bit char type.