Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
obstacle_avoidance.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Roland + Clint
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 
27 #ifndef READ_MATRIX_SERIAL_H
28 #define READ_MATRIX_SERIAL_H
29 
30 extern void serial_init(void);
31 extern void serial_update(void);
32 extern void serial_start(void);
33 void setAnglesMeasurements(float *anglesMeasurements, float *centersensorRad, float *fieldOfViewRad,
34  uint16_t *size_matrix_local);
35 
36 extern void pingpong_euler(float *distances_hor, float *horizontalAnglesMeasurements,
37  int horizontalAmountOfMeasurements, float attitude_reference_pitch, float attitude_reference_roll, float dist_treshold);
38 extern void matrix_2_pingpong(float *distancesMeters, uint16_t *size_matrix, float *distances_hor);
39 
40 //functions CN
41 extern void CN_matrix_Kalman_filter(void);
42 extern void CN_matrix_butterworth(void);
43 extern void CN_calculate_target(void);
44 extern void CN_potential_heading(void);
45 extern void CN_potential_velocity(void);
46 extern void CN_vector_velocity(void);
47 extern void CN_vector_escape_velocity(void);
48 extern void CN_escape_velocity(void);
49 
50 //variables for settings
51 //Vector Method
52 extern float F1;
53 extern float F2;
54 extern float Cfreq;
55 extern float Ko;
56 extern float Kg;
57 extern float Dist_offset;
58 extern int8_t dis_treshold;
59 extern float dx_ref;
60 extern float dy_ref;
61 //Potential Method
62 extern float K_goal;
63 extern float K_obst;
64 extern float b_damp;
65 extern float c1_oa;
66 extern float c2_oa;
67 extern float c3_oa;
68 extern float c4_oa;
69 extern float c5_oa;
70 extern float kv;
71 extern float epsilon;
72 
73 #endif
CN_vector_velocity
void CN_vector_velocity(void)
Definition: obstacle_avoidance.c:590
uint16_t
unsigned short uint16_t
Definition: types.h:16
CN_matrix_Kalman_filter
void CN_matrix_Kalman_filter(void)
Definition: obstacle_avoidance.c:263
dy_ref
float dy_ref
Definition: obstacle_avoidance.c:81
CN_vector_escape_velocity
void CN_vector_escape_velocity(void)
Definition: obstacle_avoidance.c:777
Ko
float Ko
Definition: obstacle_avoidance.c:102
serial_update
void serial_update(void)
Definition: obstacle_avoidance.c:176
Dist_offset
float Dist_offset
Definition: obstacle_avoidance.c:104
c3_oa
float c3_oa
Definition: obstacle_avoidance.c:115
matrix_2_pingpong
void matrix_2_pingpong(float *distancesMeters, uint16_t *size_matrix, float *distances_hor)
Definition: obstacle_avoidance.c:237
F2
float F2
Definition: obstacle_avoidance.c:100
K_obst
float K_obst
Definition: obstacle_avoidance.c:112
distances_hor
float distances_hor[AVOIDANCES_DISTANCES_HOR_COUNT]
Definition: obstacle_avoidance.c:67
epsilon
float epsilon
Definition: obstacle_avoidance.c:119
size_matrix
uint16_t size_matrix[]
Definition: obstacle_avoidance.c:57
pingpong_euler
void pingpong_euler(float *distances_hor, float *horizontalAnglesMeasurements, int horizontalAmountOfMeasurements, float attitude_reference_pitch, float attitude_reference_roll, float dist_treshold)
Definition: obstacle_avoidance.c:357
serial_init
void serial_init(void)
Definition: obstacle_avoidance.c:146
c2_oa
float c2_oa
Definition: obstacle_avoidance.c:114
CN_matrix_butterworth
void CN_matrix_butterworth(void)
Definition: obstacle_avoidance.c:295
kv
float kv
Definition: obstacle_avoidance.c:118
CN_calculate_target
void CN_calculate_target(void)
Definition: obstacle_avoidance.c:321
CN_potential_velocity
void CN_potential_velocity(void)
Definition: obstacle_avoidance.c:506
dist_treshold
float dist_treshold
Definition: obstacle_avoidance.c:66
F1
float F1
Definition: obstacle_avoidance.c:99
K_goal
float K_goal
Definition: obstacle_avoidance.c:111
CN_escape_velocity
void CN_escape_velocity(void)
Definition: obstacle_avoidance.c:1032
c1_oa
float c1_oa
Definition: obstacle_avoidance.c:113
CN_potential_heading
void CN_potential_heading(void)
Definition: obstacle_avoidance.c:404
dx_ref
float dx_ref
Definition: obstacle_avoidance.c:80
int8_t
signed char int8_t
Definition: types.h:15
c4_oa
float c4_oa
Definition: obstacle_avoidance.c:116
c5_oa
float c5_oa
Definition: obstacle_avoidance.c:117
setAnglesMeasurements
void setAnglesMeasurements(float *anglesMeasurements, float *centersensorRad, float *fieldOfViewRad, uint16_t *size_matrix_local)
Definition: obstacle_avoidance.c:164
Kg
float Kg
Definition: obstacle_avoidance.c:103
Cfreq
float Cfreq
Definition: obstacle_avoidance.c:101
serial_start
void serial_start(void)
Definition: obstacle_avoidance.c:159
dis_treshold
int8_t dis_treshold
Definition: obstacle_avoidance.c:105
b_damp
float b_damp
Definition: obstacle_avoidance.c:110