Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nav_fish.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 Adjiri Adam <adam.adjiri@etu.isae-ensma.fr>
3  * Gautier Hattenberger <gautier.hattenberger@enac.fr>
4  *
5  * This file is part of paparazzi
6  *
7  * paparazzi is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * paparazzi is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with paparazzi; see the file COPYING. If not, see
19  * <http://www.gnu.org/licenses/>.
20  */
21 
27 #ifndef NAV_FISH_H
28 #define NAV_FISH_H
29 
30 #include "std.h"
31 
35 struct NavFishParams {
36  float max_velocity;
37  float min_velocity;
38  float min_d2d;
39  float fluct;
40  float alpha;
41  float e_w1;
42  float e_w2;
43  float y_w;
44  float l_w;
45  float y_att;
46  float l_att;
47  float d0_att;
48  float y_ali;
49  float l_ali;
50  float d0_ali;
51  float alpha_rep;
52  float tr_y_ali;
53  float tr_l_ali;
54  float tr_y_att;
55  float tr_l_att;
56  float alt;
58 };
59 
60 extern struct NavFishParams nav_fish_params;
61 
65 extern void nav_fish_init(void);
66 
70 extern bool nav_fish_velocity_run(void);
71 
72 #endif // NAV_FISH_H
73 
float y_ali
alignement intensity
Definition: nav_fish.h:48
float e_w1
wall interaction's first coefficient
Definition: nav_fish.h:41
float d0_att
attraction balance distance
Definition: nav_fish.h:47
float tr_l_ali
alignement distance to trajectory intensity
Definition: nav_fish.h:53
float min_d2d
minimum distance between two drones
Definition: nav_fish.h:38
float min_velocity
minimum velocity when facing obstacles
Definition: nav_fish.h:37
float max_velocity
max velocity allowed
Definition: nav_fish.h:36
float alt
flight altitude
Definition: nav_fish.h:56
float l_att
attraction distance
Definition: nav_fish.h:46
float d0_ali
alignement balance distance
Definition: nav_fish.h:50
float tr_y_att
attraction to trajectory intensity
Definition: nav_fish.h:54
float y_w
wall interaction intensity
Definition: nav_fish.h:43
float tr_y_ali
alignement to trajectory intensity
Definition: nav_fish.h:52
float l_ali
alignement distance
Definition: nav_fish.h:49
float alpha
random fluctuation reduction to wall
Definition: nav_fish.h:40
float alpha_rep
intensity of repulsion
Definition: nav_fish.h:51
float tr_l_att
attraction distance to trajectory intensity
Definition: nav_fish.h:55
float y_att
attraction intensity
Definition: nav_fish.h:45
float e_w2
wall interaction's first coefficient
Definition: nav_fish.h:42
struct NavFishParams nav_fish_params
Definition: nav_fish.c:153
void nav_fish_init(void)
nav fish init
Definition: nav_fish.c:175
float l_w
wall interaction distance
Definition: nav_fish.h:44
uint8_t strategy
strategy for choosing focal uav : 0 for closest uav , 1 for most influential uav
Definition: nav_fish.h:57
float fluct
random fluctuation intensity
Definition: nav_fish.h:39
bool nav_fish_velocity_run(void)
nav fish velocity run
Definition: nav_fish.c:487
nav fish param structure
Definition: nav_fish.h:35
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98