Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
guidance_hybrid.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Ewoud Smeur <e.j.j.smeur@tudelft.nl>
3  * This is code for guidance of hybrid UAVs. It needs a simple velocity
4  * model to control the ground velocity of the UAV while estimating the
5  * wind velocity.
6  *
7  * This file is part of paparazzi.
8  *
9  * paparazzi is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2, or (at your option)
12  * any later version.
13  *
14  * paparazzi is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with paparazzi; see the file COPYING. If not, write to
21  * the Free Software Foundation, 59 Temple Place - Suite 330,
22  * Boston, MA 02111-1307, USA.
23  */
24 
30 #ifndef GUIDANCE_HYBRID_H
31 #define GUIDANCE_HYBRID_H
32 
33 #include "math/pprz_algebra_int.h"
34 
36 extern float alt_pitch_gain;
37 extern int32_t max_airspeed;
38 extern int32_t wind_gain;
40 extern float max_turn_bank;
41 extern float turn_bank_gain;
42 
45 extern void guidance_hybrid_run(void);
46 
50 extern void guidance_hybrid_init(void);
51 
55 extern void guidance_hybrid_set_cmd_i(struct Int32Eulers *sp_cmd);
56 
60 extern void guidance_hybrid_airspeed_to_attitude(struct Int32Eulers *ypr_sp);
61 
64 extern void guidance_hybrid_position_to_airspeed(void);
65 
69 
73 extern void guidance_hybrid_reset_heading(struct Int32Eulers *sp_cmd);
74 
77 extern void guidance_hybrid_vertical(void);
78 
79 extern bool force_forward_flight;
80 
81 #endif /* GUIDANCE_HYBRID_H */
alt_pitch_gain
float alt_pitch_gain
Definition: guidance_hybrid.c:50
force_forward_flight
bool force_forward_flight
Definition: guidance_hybrid.c:72
max_airspeed
int32_t max_airspeed
Definition: guidance_hybrid.c:51
pprz_algebra_int.h
Paparazzi fixed point algebra.
guidance_hybrid_run
void guidance_hybrid_run(void)
Runs the Hybrid Guidance main functions.
Definition: guidance_hybrid.c:129
max_turn_bank
float max_turn_bank
Definition: guidance_hybrid.c:54
guidance_hybrid_airspeed_to_attitude
void guidance_hybrid_airspeed_to_attitude(struct Int32Eulers *ypr_sp)
Convert a required airspeed to a certain attitude for the Hybrid.
Definition: guidance_hybrid.c:145
turn_bank_gain
float turn_bank_gain
Definition: guidance_hybrid.c:55
Int32Eulers
euler angles
Definition: pprz_algebra_int.h:146
wind_gain
int32_t wind_gain
Definition: guidance_hybrid.c:52
guidance_hybrid_norm_ref_airspeed
int32_t guidance_hybrid_norm_ref_airspeed
Definition: guidance_hybrid.c:49
guidance_hybrid_determine_wind_estimate
void guidance_hybrid_determine_wind_estimate(void)
Description.
Definition: guidance_hybrid.c:332
guidance_hybrid_init
void guidance_hybrid_init(void)
Hybrid Guidance Initialization function.
Definition: guidance_hybrid.c:99
int32_t
signed long int32_t
Definition: types.h:19
horizontal_speed_gain
int32_t horizontal_speed_gain
Definition: guidance_hybrid.c:53
guidance_hybrid_position_to_airspeed
void guidance_hybrid_position_to_airspeed(void)
Description.
Definition: guidance_hybrid.c:264
guidance_hybrid_set_cmd_i
void guidance_hybrid_set_cmd_i(struct Int32Eulers *sp_cmd)
Creates the attitude set-points from an orientation vector.
Definition: guidance_hybrid.c:350
guidance_hybrid_reset_heading
void guidance_hybrid_reset_heading(struct Int32Eulers *sp_cmd)
Description.
Definition: guidance_hybrid.c:137
guidance_hybrid_vertical
void guidance_hybrid_vertical(void)
Description.
Definition: guidance_hybrid.c:378