Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 */
void guidance_hybrid_set_cmd_i(struct Int32Eulers *sp_cmd)
Creates the attitude set-points from an orientation vector.
void guidance_hybrid_run(void)
Runs the Hybrid Guidance main functions.
float turn_bank_gain
int32_t horizontal_speed_gain
float alt_pitch_gain
int32_t guidance_hybrid_norm_ref_airspeed
void guidance_hybrid_reset_heading(struct Int32Eulers *sp_cmd)
Description.
void guidance_hybrid_vertical(void)
Description.
void guidance_hybrid_position_to_airspeed(void)
Description.
euler angles
bool force_forward_flight
void guidance_hybrid_init(void)
Hybrid Guidance Initialization function.
void guidance_hybrid_determine_wind_estimate(void)
Description.
int32_t wind_gain
signed long int32_t
Definition: types.h:19
int32_t max_airspeed
float max_turn_bank
void guidance_hybrid_airspeed_to_attitude(struct Int32Eulers *ypr_sp)
Convert a required airspeed to a certain attitude for the Hybrid.
Paparazzi fixed point algebra.