Paparazzi UAS v7.0_unstable
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
36
39extern int32_t wind_gain;
41extern float max_turn_bank;
42extern float turn_bank_gain;
43
46extern float fwd_alt_thrust_gain;
47extern float fwd_pid_div;
48extern float fwd_nominal_pitch;
49extern float fwd_pitch_gain;
51
55extern void guidance_hybrid_init(void);
56
60
64extern struct ThrustSetpoint guidance_hybrid_v_run_pos(bool in_flight, struct VerticalGuidance *gv);
65extern struct ThrustSetpoint guidance_hybrid_v_run_speed(bool in_flight, struct VerticalGuidance *gv);
66extern struct ThrustSetpoint guidance_hybrid_v_run_accel(bool in_flight, struct VerticalGuidance *gv);
67
72
77
81
85
92
93extern bool force_forward_flight;
94
95#endif /* GUIDANCE_HYBRID_H */
euler angles
float fwd_pitch_gain
int32_t guidance_hybrid_norm_ref_airspeed
struct StabilizationSetpoint guidance_hybrid_h_run_pos(bool in_flight, struct HorizontalGuidance *gh)
float fwd_alt_thrust_gain
struct StabilizationSetpoint guidance_hybrid_h_run_accel(bool in_flight, struct HorizontalGuidance *gh)
float fwd_pid_div
float turn_bank_gain
struct StabilizationSetpoint guidance_hybrid_run(void)
Runs the Hybrid Guidance main functions.
struct StabilizationSetpoint guidance_hybrid_h_run_speed(bool in_flight, struct HorizontalGuidance *gh)
void guidance_hybrid_determine_wind_estimate(void)
Description.
int32_t max_airspeed
int32_t hover_p_gain
struct ThrustSetpoint guidance_hybrid_vertical(struct ThrustSetpoint *th)
Description.
int32_t fwd_speed_p_gain
float fwd_nominal_pitch
void guidance_hybrid_groundspeed_to_airspeed(void)
Description.
struct ThrustSetpoint guidance_hybrid_v_run_speed(bool in_flight, struct VerticalGuidance *gv)
void guidance_hybrid_airspeed_to_attitude(struct Int32Eulers *ypr_sp)
Convert a required airspeed to a certain attitude for the Hybrid.
int32_t horizontal_speed_gain
struct ThrustSetpoint guidance_hybrid_v_run_accel(bool in_flight, struct VerticalGuidance *gv)
int32_t wind_gain
int32_t cruise_throttle
struct StabilizationSetpoint guidance_hybrid_set_cmd_i(struct Int32Eulers *sp_cmd)
Creates the attitude set-points from an orientation vector.
float max_turn_bank
void guidance_hybrid_init(void)
Hybrid Guidance Initialization function.
bool force_forward_flight
struct ThrustSetpoint guidance_hybrid_v_run_pos(bool in_flight, struct VerticalGuidance *gv)
uint16_t foo
Definition main_demo5.c:58
Paparazzi fixed point algebra.
General stabilization interface for rotorcrafts.
Stabilization setpoint.
Thrust setpoint // TODO to a setpoint header Structure to store the desired thrust vector with differ...
int int32_t
Typedef defining 32 bit int type.