Paparazzi UAS  v5.18.0_stable
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 
NavFishParams::min_d2d
float min_d2d
minimum distance between two drones
Definition: nav_fish.h:38
NavFishParams::e_w2
float e_w2
wall interaction's first coefficient
Definition: nav_fish.h:42
NavFishParams::tr_l_ali
float tr_l_ali
alignement distance to trajectory intensity
Definition: nav_fish.h:53
nav_fish_init
void nav_fish_init(void)
nav fish init
Definition: nav_fish.c:175
NavFishParams::l_att
float l_att
attraction distance
Definition: nav_fish.h:46
NavFishParams::y_w
float y_w
wall interaction intensity
Definition: nav_fish.h:43
NavFishParams::e_w1
float e_w1
wall interaction's first coefficient
Definition: nav_fish.h:41
NavFishParams::strategy
uint8_t strategy
strategy for choosing focal uav : 0 for closest uav , 1 for most influential uav
Definition: nav_fish.h:57
NavFishParams::alpha
float alpha
random fluctuation reduction to wall
Definition: nav_fish.h:40
NavFishParams
nav fish param structure
Definition: nav_fish.h:35
NavFishParams::fluct
float fluct
random fluctuation intensity
Definition: nav_fish.h:39
NavFishParams::alpha_rep
float alpha_rep
intensity of repulsion
Definition: nav_fish.h:51
std.h
NavFishParams::y_ali
float y_ali
alignement intensity
Definition: nav_fish.h:48
NavFishParams::d0_att
float d0_att
attraction balance distance
Definition: nav_fish.h:47
uint8_t
unsigned char uint8_t
Definition: types.h:14
NavFishParams::y_att
float y_att
attraction intensity
Definition: nav_fish.h:45
NavFishParams::tr_y_ali
float tr_y_ali
alignement to trajectory intensity
Definition: nav_fish.h:52
nav_fish_velocity_run
bool nav_fish_velocity_run(void)
nav fish velocity run
Definition: nav_fish.c:487
NavFishParams::max_velocity
float max_velocity
max velocity allowed
Definition: nav_fish.h:36
NavFishParams::min_velocity
float min_velocity
minimum velocity when facing obstacles
Definition: nav_fish.h:37
NavFishParams::l_w
float l_w
wall interaction distance
Definition: nav_fish.h:44
NavFishParams::l_ali
float l_ali
alignement distance
Definition: nav_fish.h:49
nav_fish_params
struct NavFishParams nav_fish_params
Definition: nav_fish.c:153
NavFishParams::tr_l_att
float tr_l_att
attraction distance to trajectory intensity
Definition: nav_fish.h:55
NavFishParams::d0_ali
float d0_ali
alignement balance distance
Definition: nav_fish.h:50
NavFishParams::alt
float alt
flight altitude
Definition: nav_fish.h:56
NavFishParams::tr_y_att
float tr_y_att
attraction to trajectory intensity
Definition: nav_fish.h:54