Sunteți pe pagina 1din 10

2013 International Conference on Unmanned Aircraft Systems (ICUAS)

May 28-31, 2013, Grand Hyatt Atlanta, Atlanta, GA

Analysis and development of a reliable fixed wing UAV

control system for mission profiles with restricted GPS

M. Garcia*, T. Muskardin**, A. Viguria*, M. Laiacker**, A. Ollero*,+, K. Kondak**

*Center for Advanced Aerospace Techonologies (CATEC)
Parque Tecnológico y Aeronáutico de Andalucía
c/ Wilbur y Orville Wright 19 41309 - La Rinconada Seville (Spain)
{mgarcia, aviguria and aollero}
German Aerospace Center (DLR) (Munich, Germany)
Universidad de Sevilla (Spain)

Abstract – This paper is motivated by the continuously. For the successful execution of
actual need for safer and more reliable flight most missions, autonomous flight capabilities are
control systems for fixed wing UAVs. In required in order to perform a given task without
certain mission scenarios, it is necessary to fly or with only little, manual guidance. These
close to big structures at low altitudes where capabilities are implemented by means of
the availability of GPS sensor data cannot be suitable sensors and on-board processing
guaranteed. Two different control strategies capabilities. An accurate estimation of all system
have been analyzed, with the main difference states is needed. Commonly used state estimation
consisting in the utilization of GPS data for methods are based on Kalman filters [1]. Many
flight control. An extended system allowing researchers have studied the problems involved
those two control strategies to complement in the guidance and control of small UAVs in
one to another has been developed. Its environments with restricted conditions, such as
performance has been analyzed through lack of GPS signal or poor visibility. To cope
simulation and in flight experiments. The with the difficulties arising from the mentioned
result is a more reliable flight control system constraints, they have used a variety of sensors
for flying in areas with restricted GPS signal. such as lasers or vision sensors, in addition to the
most common combination of GPS and INS
sensors [2], [3], [4].
During the analysis and development of an
The interest in small unmanned aerial vehicles integrated UAV system, many aspects have to be
(UAVs) has been rising in the past years, due to considered. Among others, these could include
the variety of possibilities they offer. UAVs are the airframe configuration, the sensor system, the
already being used for diverse purposes such as flight control system and the communication
remote sensing, traffic monitoring, search and system. In this paper we focus on the
rescue missions, mapping, and surveillance while development of the control strategy.
new application scenarios are being discovered

978-1-4799-0817-2/13/$31.00 ©2013 IEEE 599

The DLR Robotics and Mechatronics Center and the commanded flight plan. A standard fixed
the Avionics Department of FADA-CATEC wing UAV requires four control parameters
have been working on different control strategies where one is related to the engine and the other
for different types of fixed wing UAVs. The goal three are related to three available control
of the joint work presented here was to surfaces: the elevator, the ailerons and the
investigate the experiences and results made with rudder. In our case the rudder will not be used
the different systems and to come up with a new for flight control. The rudder is usually used for
solution that allows those systems to turn coordination and for the compensation of
complement each other and answer the need for lateral winds. Furthermore, the rudder could also
higher reliability and safety. be used in the take-off and landing phases in
order to align the UAV with the runway. In this
This paper is organized as follows: in section 2 a paper we will assume that the rudder remains in
detailed description of both controllers with the trim position during the whole experiment.
diagrams will be given and the differences
between both strategies will be explained. The The high level structure of both controllers is
simulation environment and results of the composed of three main blocks. The output of
performance analysis for each control structure each block corresponds to the respective input
will be shown in section 3. In section 4 the flight parameter which is to be controlled and
experiment setup and the results obtained from represents the available corrective action (as
telemetry will be described. In section 5 a input to the aircraft’s flight dynamics). Each
backup system will be proposed based on a block represents an independent control loop and
combination of the previously evaluated will be named after its input parameter. This
strategies along with simulation results. Finally, means that throttle is the output of the airspeed
concluding remarks will be presented in section control loop, the elevator output corresponds to
6. the height control loop and the ailerons to the
course control loop. Accordingly the input /
output table looks as follows:
Airspeed  Throttle
Two different control strategies will be
compared in this section. Height  Elevator
Course  Aileron
The first controller to be considered will be
identified with the letter A and is based on GPS Both, controller A and controller B use a set of
sensor data for the calculation of certain cascaded PI controllers. The differences between
variables in the basic flight control loops. On the them appear on the inside of the three main
other hand, the controller identified with B does blocks. Controller A is based on GPS sensor data
not use GPS data to perform the task of flight and involves different control loops than
control. The design of these controllers has been controller B, where the used sensor data is based
implemented in Matlab/Simulink. Only level on inertial and barometric measurements. Hence,
flight and trajectory following phases of the controller A is suitable for platforms which offer
flight plan have been analyzed. This paper does very accurate GPS data (e.g. using enhancement
not deal with the take-off and landing phases. methods like differential GPS) and where
failures or signal loss are rather unlikely. This
Firstly, it is necessary to adapt the inputs of both
controller would be suitable when precise
controllers to the outputs of the flight guidance
trajectory following is required. On the other
module (navigator). It is important to standardize
hand, controller B is appropriate for platforms on
the coordinate systems and the data units for
which GPS data is not as reliable. Sometimes
both controllers. There are three main inputs:
flight plans include areas with poor GPS
airspeed, height and course. These inputs
coverage and it would be dangerous to solely
represent the desired values computed in the
depend on that data.
navigator and, if maintained correctly by the
flight controller, will lead the UAV to perform
The approach for the analysis of the schemes controllers, but the inner control loop structure is
presented below is as follows: each control loop different. Fig. 2 and Fig. 3 illustrate the two
is described for both, controller A and controller proposed control schemes where the GPS
B and the differences between them are pointed dependent signals are labeled in bold. The
out. variables in the following figures and
expressions refer to: height command hcmd, GPS
Airspeed control loop height hgps, barometric height hbar, climb angle
The throttle command (δt) is computed directly command γcmd, climb angle γ, pitch angle
from the airspeed loop. It consists of a PI command θcmd, pitch angle θ angle of attack α,
controller accounting for the airspeed error, and angle of attack command αcmd, GPS velocity
a Feed-Forward term adding in a predefined Vgps, pitch rate q, pitch rate command qcmd, pitch
throttle position depending on the commanded rate compensation for turns qcomp, and elevator
airspeed. command δe.
The average throttle position can be calculated as Controller A
a function of airspeed based on telemetry from
manual flights. This function has to be hcm
determined for the operational range of airspeeds + error_h

for a given UAV. This means that when a certain P

hgps - I Eq.
airspeed is commanded, the expected throttle 1 + error_γ
position is applied and the PI controller will Vgps P
- I
work with the errors around the commanded
value. The variables appearing in Fig. 1 refer to
the airspeed command Vcmd and the airspeed V.
Vcmd P + qcmd
+ error_V
+ error_q δe
V +
PI δt P
+ -
+ q
FF Eq. 2
Fig. 1: Airspeed control loop for both controllers.
Fig. 2: Height control loop for controller A (based on
Due to this Feed-Forward (FF) term, the airspeed GPS).
controller is more reactive which helps the
aircraft in reaching the commanded airspeed Controller B
+ error_h
Height control loop PI
hbar - + error_
The height control loop acts on the longitudinal +
dynamics of the UAV which will be considered - I
as decoupled from the lateral aircraft dynamics.
It is advisable though to couple them in order not q δe
qSAS +
to lose height in turns, as will be discussed later. (damping)
Also, airspeed and height will be controlled
separately, without any direct coupling, which is
Eq. 2 P +
a common approach. V

The biggest difference between the two

controllers lies within this loop. The global Fig. 3: Height control loop for controller B (independent of
inputs and outputs are the same for both GPS) with Stability Augmentation System (SAS)

different configuration of the roll rate loop. The
roll rate loop is the innermost loop of cascaded
With climb angle: controller A with a dynamically generated
̇ command variable. On the other hand, it
= (1) represents a Stability Augmentation System
(SAS) in controller B with a constant desired roll
and pitch rate turn compensation rate of zero. Mathematically these two variations
can be transformed into one another and are
= (2) equivalent. Hence, similar performance is
expected in lateral dynamics for both controllers.
Here  is the roll angle. The second equation Again, the GPS dependent data is in bold
represents the aforementioned coupling between characters. The variables that appear in the next
the longitudinal and lateral dynamics of the figures and expressions refer to: course
aircraft and is called turn compensation [5], [6]. command χcmd, GPS course χgps, magnetometer
A pitch rate command is calculated from the course χmag, course rate command ̇ , GPS
current flight velocity and roll angle preventing velocity Vgps, roll angle command , roll
the aircraft to pitch down and loose height when angle , roll rate p, roll rate command pcmd,
the vertical component of the tilted lift force is aileron command δa.
reduced in turns. Controller A
As can be seen in the above control schemes, χcmd
both controllers are based on a set of cascaded P + error_χ
and PI controllers. The main difference can be χgps P
- Eq. 4
found in the output of the outer loop. In + error_Φ

controller A the desired climb angle is generated Vgps -

from a difference in height. In controller B the
desired pitch angle is calculated from a given
height difference. error_Φ
PI error_p
It should be noted that the climb angle P
determines the UAV’s flight path and therefore -
directly relates to a change in height (1). Instead, p
the pitch angle is related to the UAV’s attitude,
and is computed as the angle between the Fig. 4: Course control loop for controller A (based on
longitudinal axis of the aircraft and the GPS)
horizontal plane. It is thus only indirectly related Controller B
to a change in height as steady flight conditions
can be obtained with different trim pitch angles. χcmd
The climb angle depends on both the pitch angle + error_χ
and the angle of attack: χmag P + error_ Φ +
: = + (3) δa

Course control loop p SAS +

The course control loop acts on the lateral
dynamics of the aircraft. As mentioned before, it Fig. 5: Course control loop for controller B (independent
can be treated as completely decoupled from the of GPS)
longitudinal dynamics. This loop is very similar
for both controllers. Differences can be found in As mentioned before, controller A uses GPS
the utilization of GPS data for the computation sensor data to determine the desired roll angle.
of the roll angle in controller A as well as the This calculation is based on the output of the

course loop (outermost loop) where the desired component of the functional chain of the aircrafts
course rate is calculated. The following equation flight dynamics where it directly precedes the
is then used to compute the roll angle from actual height change. This means that a change
measured GPS velocity Vgps and desired course in climb angle will necessarily and immediately
change rate ̇ : induce a change in height. On the other hand, by
calculating climb angle from height control
∅= (4) deviation (instead of pitch angle as done in
controller B) the influence of the angle of attack
is not relevant. As for controller B, depending on
III. SIMULATION RESULTS the angle of attack, different pitch angles can
lead to the same flight condition which
For simulations, a flight dynamics model based especially makes an impact during the unsteady
on [7] and [8] has been used. That model had transition phases where the overshoot occurs.
been validated for a different aircraft with Another significant difference is the higher
smaller mass but similar flight characteristics. number of cascaded loops present in controller
Certain parameters were changed in order to A. Due to the additional loop, controller A can
adapt to the mass and geometry settings of the account for disturbances in the primary variable
platform we intended to use in flight faster and control it more effectively. It also
experiments. The model was then utilized to reduces the effects of dead time and phase lag
determine an initial set of autopilot gains to be time in the system.
used as a starting point for the manual tuning
procedure. This approach has been proven valid 140

before, when it was applied to the above 130

mentioned heavier and larger aerial platform and 120

flight controller A. It contains a 6-DOF non- 110

linear aircraft model where forces generated by

Height (m)


the plane’s aerodynamic surfaces (including the 90

fuselage), the engine thrust and the non-linear 80 Reference

actuator behavior have been considered. The 70

controller B
controller A

thrust model has been determined from actual 60

measurements on the ground as described in [8]. 0 20 40 60
time (s)
80 100 120 140

The contact forces of the landing gear have been

incorporated as well, but are of no interest for Fig. 6: Height control loop performance for both
this paper. controllers in nonlinear simulation

Longitudinal dynamics results The next figure shows the behavior in pitch- and
climb angle for both controllers when
In this section, the simulation results for the
performing the steps in height. Controller A is
height control loop will be presented. Fig. 6
very reactive and performs changes in both
shows the step response of both controllers for
angles faster than controller B.
different height steps.
30 20

Even with the appropriate controller gain 20

controller B
controller A 10
controller B
controller A

combination (calculation based on a simplified

Climb angle (deg)

Pitch angle (deg)

linear model using pole placement and 0


successive manual fine-tuning) an overshoot can -10


be observed for controller B. This behavior -20


cannot be observed for controller A where no -40

0 20 40 60 80 100 120 140
0 20 40 60 80 100 120 140

overshoot occurs. The explanation can be found time (s) time (s)

in the different control structures of controller A Fig. 7: Pitch (left) and climb angle (right) comparison for
and controller B (Fig. 2 and Fig. 3). As described both controllers
above, climb angle is used as one of the control
variables in controller A. This parameter is a
ground station. The communications link is
Lateral dynamics results established by means of a wireless 5.8GHz
A simulation has been performed for the course router and a 2.4GHz digital modem as backup
control loop as well. As described in the solution in case of communication loss. The
controller scheme section, the structure of both 5.8GHz high gain antenna has been mounted on
lateral controllers does not differ significantly. an antenna tracker constantly pointing at the
Hence, a similar behavior was expected. Fig. 8 aircraft whereat the 2.4GHz omnidirectional
shows the simulation results; as expected, the antenna was installed on the ground. During the
lateral flight control performance is very similar whole flight the safety pilot had the option to
in both cases. switch off the autopilot system and gain full RC
control of the aircraft.
Reference 60 controller B
150 controller B
controller A 40
controller A As mentioned before all flight control laws have

been designed and analyzed with

Roll angle (deg)
Co urse (deg)


0 0 Matlab/Simulink. The Simulink Real Time


Workshop (RTW) toolbox has been used for
automatic code generation and the code has been


0 20 40 60 80
time (s)
100 120 140 160 0 20 40 60 80
time (s)
100 120 140 160 compiled for the real-time operating system
QNX which is running on the Flight Control
Fig. 8: Course (left) and roll angle (right) comparison for Computer. Considering the existing aircraft
both controllers model as representative enough, it has been used
to calculate a first set of controller gains as
starting point for a manual tuning procedure. In
IV. FLIGHT TESTS doing so, the airspeed controller was first tuned,
The flight experiments have been performed then the height controller, and finally the course
using ELWIRA, one of DLR’s fixed wing controllers.
platforms as shown in Fig. 9.
Longitudinal dynamics results
For the analysis of the longitudinal dynamics, it
is important to consider both the performance of
the height controller as well as the airspeed
controller performance. The nominal cruise
airspeed for the ELWIRA platform is 22 m/s.
Fig. 10 shows a sequence of the airspeed
controller performance during the flight
experiments. A good general aircraft behavior
Fig. 9: ELWIRA platform used for flight experiments
can be observed.
With a wingspan of 4.3m and a maximum
payload of 20kg ELWIRA is an electrically 25

powered universal test platform suitable for most 24

experiments without the need for

Airspeed (m/s)


miniaturization. The available sensor data 22

consists of inertial measurement data, data from 21

the Air Data System and the data derived from 19
differential GPS (DGPS) working in RTK mode 18

(positioning accuracy of several centimeters). 350 360 370 380 390 400
time (s)
410 420 430 440

The ground control equipment consisted of a Fig. 10: Airspeed control loop performance in real flight
computer running the Matlab/Simulink, a second
computer for telemetry monitoring, the At the moment, few flight experiments have
communications equipment and the DGPS been conducted. The tuning of the height
controller has shown to be complex and time-
consuming, due its higher number of cascaded At this point we can only conclude that
loops. It was important to fly in a straight line controller B is suitable for keeping the aircraft in
during the basic tuning process in order to avoid the air within about 15 meters of a specified
the introduction of any coupling effects with the altitude. A quantitative comparison of the two
aircraft’s turning dynamics. Only by doing so it control strategies was not possible based on the
was possible to tune loop by loop, starting with performed flight experiments. It remains the
the lower level loops. By following this objective of future research.
systematic approach it should be possible to find
a good set of controller gains based on the values Lateral dynamics results
obtained from the simulator and providing a
The course control loop performance was
satisfactory flight performance. Height controller
analyzed by following an eight-pattern waypoint
A had already successfully undergone the whole
route successively with both controllers. Only
tuning process as just described in previous flight
small differences in the performance of the
experiments. Unfortunately we were not able to
course controllers were expected due to the high
reach this goal for both controllers yet. As can be
similarity of their control structures. Fig. 13
seen in Fig. 11 the pitch loop has been tuned
shows the performance of the course- and roll
angle control loop. The actual differences are
indeed minor.
200 60
Controller B Controller B
5 Controller A Controller A
pitch angle (deg)


course (deg)


roll (deg)
0 0
-15 -20

-20 -40
-200 -60
100 120 140 160 180 200 220 0 20 40 60 80 100 120
600 620 640 660 680 700 720 740 760 time (s) time (s)
time (s)

Fig. 13: Course and roll angle for both controllers in real
Fig. 11: Pitch loop performance of controller B in real flight

The outer loop though, which corresponds to the

height control loop, was still oscillating. After
the tuning process performed so far, Controller B In this section, a new strategy for an extended
did allow for coarsely following a given height controller concept will be presented. As
reference but did not perform optimally. Future previously discussed, some applications require
analyses and flight tests will be devoted to the precise trajectory following capabilities in order
improvement of the tuning of controller B. The to adhere to the pre-planned flight routes.
performance of both controllers in their current Common examples are mission scenarios such as
state is shown in Fig. 12: . urban surveillance or rural search and rescue
missions where UAVs have to fly around

reference buildings or other structures at low altitudes.
controller A controller B
These environments are surrounded by abrupt
terrain changes which makes precise trajectory
height (m)

height (m)


following strictly required. In order to comply
with this requirement, two factors play a crucial
role. The first is the accuracy of the available
650 660 670 680 690 700
time (s)
710 720 730 740 750
600 620 640 660 680
time (s)
700 720 740 760
positioning data (GPS) and the second is the
performance of the flight controller. Controllers
Fig. 12: Height control loop performance in real flight based on precise GPS data, such as controller A,
are suitable for this kind of application. The
problem arises in areas where the GPS reception
is compromised, which might render the
positioning data untrustworthy. In that case
another “backup” controller, not requiring GPS
data to perform the basic flight control tasks,
would pitch in. This controller would then safely
fly the aircraft until the GPS signal is recovered.
In this section a composed control structure will
be proposed, having controller A commanding
the aircraft when GPS data is of appropriate
quality to track the pre-planned trajectory, and
controller B commanding when GPS data is
compromised or not available.
In addition to changing the active flight
controller, it might also be necessary to change
the navigation plan. If GPS positioning data is
fully unavailable, it will not be possible to track Fig. 15: Simulated trajectory with sudden GPS failure
a route of waypoints. In that case controller B
would control the aircraft and initiate a turning
maneuver with a constant course rate while
increasing the altitude to a value high enough in
order not to collide with any obstacle.
Fig. 15 shows the result of a simulated GPS
failure. The aircraft was supposed to follow an
eight-pattern route of waypoints when GPS data
suddenly becomes unavailable (beginning of
blue dashed line in Fig. 14 and Fig. 15). The fail-
safe system kicks in (changeover to GPS
independent controller B) and the aircraft starts
turning around the position at which the error Fig. 16: Simulated height control performance in case of
was first identified. During this turning GPS failure during flight
maneuver the flight altitude is constantly
increased to allow for a better GPS reception and For this type of mission profile it is important to
consequent recovery as described above. The synchronize the height information obtained
height controller therefore uses barometric through GPS measurements and by means of
altitude measurements as shown in Fig. 3. The barometric measurements. GPS height
height change is illustrated in Fig. 16. In the information is given in WGS84 coordinates
moment GPS-lock is re-established, controller A which can differ from the barometric height data
takes back control, returning the aircraft to the depending on the current ground pressure and the
previous waypoint route (end of blue dashed line deviation of the actual vertical temperature
in Fig. 14 and Fig. 15). gradient from its definition in the standard
atmosphere. It is therefore essential to
synchronize both measurements before flight in
order not to have offsets when changing from
one to another. Another important point to be
considered arises from the difference between
course angle and heading. The course angle is
computed from GPS velocity components and
therefore represents the actual direction of flight.
In the case of GPS data being unavailable, it is
Fig. 14: Simulated GPS failure only possible to compute the heading using a
magnetometer. This parameter represents the A new backup controller was proposed in the last
pointing direction of the aircraft’s x-axis in section, representing a combination of both
relation to magnetic north. The difference strategies. This extended controller was able to
between both values is called sideslip angle and maintain safe flight conditions in cases when
is caused by the wind. This means that a GPS reception was lost during flight. This
smoother controller switching, in terms of course behavior could only be analyzed in simulation
control performance, can be expected in less experiments for now. The next step consists in
windy conditions. the validation of the proposed method by means
of actual flight experiments crossing over GPS
denied areas.
In this paper, two different flight controllers for
fixed wing UAVs have been analyzed and This work was partially funded by the FP7
compared. The main difference between their European Commission PEOPLE Program under
respective control strategies was rooted in the the project MUAC-IREN (FP7-295300) and the
usage of GPS positioning data within the basic FP7 large-scale integrating project EC-
flight control loops. Apart from that, both SAFEMOBIL (FP7-ICT-2011-7).
controller concepts were similar, with some
differences in the loop distribution of the
cascaded control structures (especially in the
longitudinal controller). Both systems have been
analyzed in simulation and in flight experiments REFERENCES
and a qualitative performance analysis has been
conducted. A non-linear model of the test
platform was used to compute an initial set of [1] H. Chao, Y. Cao and Y. Chen, Autopilots for
control parameters as starting point for the first Small Unmanned Aerial Vehicles,
test flights. The simulation has shown little International Journal of Control, Automation
difference between both controllers with regard and Systems 8(1):36-44., 2010.
to the lateral dynamics. The longitudinal
controller analysis showed a small but systematic [2] A. Bry, A. Bachrach and N. Roy, State
overshoot in the height step response of Estimation for Aggressive Flight in GPS-
controller B. This effect can be led back to the Denied Environments Using Onboard
use of different control variables and the unequal Sensing, Proceedings of the IEEE
number of loops used in the two cascaded International Conference on Robotics and
controllers. Automation., 2012.
Two flight tests have been performed with the
[3] M. Hwangbo, Vision-Based Navigation for a
ELWIRA aerial platform which was equipped Small Fixed-Wing Airplane in Urban
with the full DLR avionics system. The lateral
Environment, Robotics Institute Carnegie
dynamics results were very satisfactory, as no Mellon University Pittsburgh., 2012.
considerable difference between both controllers
was observed. However, due to the unsuccessful [4] A. Wu, E. Johnson and A. Proctor, Vision-
fine-tuning performed until now, the longitudinal Aided Inertial Navigation for Flight Control,
controller B was still showing some oscillations
AIAA Guidance, Navigation, and Control
in the height loop. The overshoot which has been Conference and Exhibit., 2005.
encountered during the simulations was observed
as well during the flight experiments. The [5] B. L. Stevens and F. L. Lewis, Aircraft
successful termination of the tuning procedure Control and Simulation, 2003.
for the height loop of controller B will be part of
successive analyses and experiments in the [6] R. Brockhaus, Flugregelung, Springer, 2001.

[7] T. Lombaerts, Aerodynamic model
identification of Frauke UAV, AIAA 2012
Atmospheric Flight Mechanics Conference
and Exhibit, 2012.

[8] M. Laiacker, Entwurf und Implementierung

einer Steuerung für eine Drohne auf Basis
eines Modellflugzeugs., Diplomarbeit am
Lehrstuhl für Prozessdatenverarbeitung und
Robotik der Technischen Universität Berlin,