Zagi Uav PDF
Zagi Uav PDF
Zagi Uav PDF
by
Shael Markin
Shael Markin
University of Toronto
2010
means of designing a single controller to satisfy multiple convex closed loop performance
specifications. In this thesis, the method is used to design pitch and roll attitude controllers
for a Zagi flying-wing unmanned aerial vehicle from Procerus Technologies. A linear model
of the aircraft is developed, in which the lateral and longitudinal motions of the aircraft are
decoupled. The controllers are designed for this decoupled state space model. Linear
simulations are performed in Simulink, and all performance specifications are satisfied by the
closed loop system. Nonlinear, hardware-in-the-loop simulations are carried out using the
aircraft, on-board computer, and ground station software. Flight tests are also executed to test
the performance of the designed controllers. The closed loop aircraft behaviour is generally
as expected, however the desired performance specifications are not strictly met in the
ii
ACKNOWLEDGEMENTS
I would like to thank my supervisor, Professor James Mills for providing me with the
opportunity to engage in this research as well as for his guidance and support.
I would like to thank Professor Ruben Perez at the Royal Military College of Canada
for providing me with the software tools to develop the dynamic model of the Zagi aircraft,
and for his advice and guidance throughout the early stages of this project. I would also like
to thank Dr. Baoquan Song for the time and effort he spent assisting me in various aspects
early on in my research.
I would also like to acknowledge sponsorship for this research from the NSERC
Strategic Project Grant, and would like to acknowledge the Koffler Center for providing my
colleagues and myself with a flight testing zone on the Koffler Scientific Reserve at Joker‟s
Hill.
On a personal level, I would like to thank my colleagues, past and present, in the
Laboratory for Nonlinear Systems Control, for their friendship, inspiration, and
encouragement: Mr. Faysal Ahmed, Mr. Henry Chu, Mr. Joel Rebello, Dr. Lidai Wang, and
Dr. Xuping Zhang. I would also like to personally thank my colleagues in the Aircraft Flight
Systems and Control Laboratory at UTIAS, Mr. Difu Shi, Mr. Mingfeng (Jason) Zhang, and
Mr. Rick Zhang, for their friendship, support, and sincere dedication. Additionally, I would
like to thank Professor Hugh Liu for his approachability and constant enthusiasm, even when
my colleagues and I returned early from flight tests with damaged aircraft.
Professor Hugh Liu, and Professor James Mills, for their time and feedback.
iii
and my siblings, for their never-ending support and for always encouraging me to chase after
my dreams.
iv
CONTENTS
Abstract ............................................................................................................................... ii
Acknowledgements ............................................................................................................ iii
List of Figures .................................................................................................................. viii
List of Tables ...................................................................................................................... x
Nomenclature ..................................................................................................................... xi
CHAPTER 1 Introduction ................................................................................................ 1
1.1 Unmanned Aerial Vehicles .................................................................................... 1
1.2 Typical UAV Control Structure ............................................................................. 2
1.3 Aircraft Controller Design: Current Approaches .................................................... 3
1.4 Introduction to the Zagi UAV Platform ................................................................. 5
1.5 Objectives and Contributions................................................................................. 6
1.6 Thesis Outline ....................................................................................................... 6
CHAPTER 2 Aircraft Dynamics ...................................................................................... 8
2.1 Introduction........................................................................................................... 8
2.2 Outline of Aircraft Systems and Notation .............................................................. 8
2.3 Linear Dynamic Model Development .................................................................. 11
2.4 Modal Analysis ................................................................................................... 18
2.4.1 Longitudinal Modes ..................................................................................... 19
2.4.2 Lateral Modes .............................................................................................. 20
2.5 The Zagi Aircraft Model ..................................................................................... 22
2.6 Modal Analysis of the Zagi Aircraft .................................................................... 24
2.6.1 Longitudinal Modes ..................................................................................... 24
2.6.2 Lateral Modes .............................................................................................. 26
2.7 Summary............................................................................................................. 27
CHAPTER 3 The Multiple Simultaneous Specification Controller Design Method ........ 28
3.1 Introduction......................................................................................................... 28
3.2 Convex Specifications ......................................................................................... 28
3.3 Controller Design Framework ............................................................................. 30
3.4 MSS Controller Design: Problem Definition ....................................................... 31
3.5 MSS Controller Design Procedure ....................................................................... 32
3.5.1 Sample Controllers ....................................................................................... 32
3.5.2 Linear Programming and Convex Combination ............................................ 33
3.5.3 Extraction of MSS Controller ....................................................................... 35
3.5.4 Summary of MSS Controller Design Procedure............................................ 36
3.6 Stability Analysis ................................................................................................ 36
3.7 Observations and Practical Notes on MSS Controller Design in MATLAB ......... 38
3.8 Summary............................................................................................................. 39
CHAPTER 4 Attitude Controller Design and Simulation ............................................... 40
4.1 Introduction......................................................................................................... 40
4.2 Selection of Closed Loop Performance Specifications ......................................... 41
v
4.3 Longitudinal Controller ....................................................................................... 41
4.4 Lateral Controller ................................................................................................ 46
4.5 Discrete Time Simulation .................................................................................... 49
4.6 Summary............................................................................................................. 51
CHAPTER 5 Autopilot Control Hardware & Implementation ........................................ 53
5.1 Introduction......................................................................................................... 53
5.2 Kestrel Autopilot System..................................................................................... 53
5.3 Serial Port Communication and Autopilot Communication Protocol.................... 55
5.4 The Gumstix Computer-on-Module ..................................................................... 56
5.5 Basic On-board Electronic Connection Details .................................................... 60
5.6 Throttle Scaling and Trim.................................................................................... 61
5.7 Elevon Trim Deflection ....................................................................................... 64
5.8 MSS Controller Software Implementation ........................................................... 65
5.8.1 Controller Structure...................................................................................... 65
5.8.2 Controller Activation and Data Logging ....................................................... 66
5.9 Summary............................................................................................................. 67
CHAPTER 6 Hardware-in-the-Loop Simulation ............................................................ 69
6.1 Introduction......................................................................................................... 69
6.2 Procerus UAV Simulation Software .................................................................... 71
6.3 Simulation Modes ............................................................................................... 73
6.4 Running the HIL simulation ................................................................................ 75
6.5 HIL Simulation Results ....................................................................................... 76
6.6 Summary............................................................................................................. 80
CHAPTER 7 Flight Testing ........................................................................................... 82
7.1 Introduction......................................................................................................... 82
7.2 Background: The Flight Test Experience ............................................................. 82
7.3 MSS Controller Flight Test Results ..................................................................... 85
7.4 Discussion ........................................................................................................... 88
7.4.1 Initial Conditions.......................................................................................... 88
7.4.2 Aircraft Dynamic Model .............................................................................. 88
7.4.3 Wind Effects ................................................................................................ 89
7.4.4 Linear Thrust Model..................................................................................... 89
7.5 Summary............................................................................................................. 90
CHAPTER 8 Conclusions, Recommendations, and Future Work ................................... 91
8.1 Conclusions ......................................................................................................... 91
8.2 Recommendations and Future Work .................................................................... 92
8.2.1 Re-modeling of the UAV ............................................................................. 92
8.2.2 Testing of Combined Lateral/Longitudinal Manoeuvers ............................... 92
8.2.3 New Flight Test Zone ................................................................................... 93
8.2.4 Design of MSS Controllers with Different Specifications ............................. 94
8.2.5 Outer Loop Controllers ................................................................................ 94
8.2.6 Direct Digital Design Using the MSS Controller Design Method ................. 94
References ......................................................................................................................... 96
APPENDIX A Zagi UAV Stability And Control Derivatives ...................................... 101
vi
APPENDIX B Hardware-In-The-Loop Simulation Protocol ....................................... 103
vii
LIST OF FIGURES
Figure 2.1: Aircraft body-axes coordinate system ..................................................................9
Figure 2.2: Angle of attack and sideslip ............................................................................... 10
Figure 2.3: Phugoid mode oscillations ................................................................................. 20
Figure 2.4: Short period oscillations .................................................................................... 21
Figure 2.5: Dutch roll oscillations ........................................................................................ 22
Figure 2.6: Zagi flying-wing UAV ...................................................................................... 23
Figure 2.7: Zagi aircraft longitudinal modes: pole-zero map ................................................ 25
Figure 2.8: Zagi aircraft lateral modes: pole-zero map ......................................................... 26
Figure 3.1: Geometry of convex functionals ........................................................................ 30
Figure 3.2: Open loop plant framework ............................................................................... 31
Figure 3.3: Closed loop system framework, with w and y being of the same dimension ....... 32
Figure 4.1: Simulation results for MSS longitudinal controller ............................................ 46
Figure 4.2: Simulation results for MSS lateral controller ..................................................... 49
Figure 4.3: Discrete time simulation results for MSS longitudinal controller ....................... 50
Figure 4.4: Discrete time simulation results for MSS lateral controller ................................ 50
Figure 5.1: Kestrel autopilot [29] ......................................................................................... 54
Figure 5.2: UAV platform: aircraft and ground station......................................................... 55
Figure 5.3: Kestrel autopilot serial ports and sensors [29] .................................................... 56
Figure 5.4: Overo Fire COM [31] ........................................................................................ 57
Figure 5.5: Tobi expansion board [32] ................................................................................. 58
Figure 5.6: Communications block diagram: flight configuration ........................................ 59
Figure 5.7: Communications block diagram: alternative configuration................................. 59
Figure 5.8: On-board main electronic components ............................................................... 61
Figure 5.9: Flight controller state machine diagram ............................................................. 67
Figure 6.1: Basic operation of HIL simulators ..................................................................... 70
Figure 6.2: Virtual Cockpit main window ............................................................................ 72
Figure 6.3: Aviones aircraft simulator ................................................................................. 73
Figure 6.4: Hardware/communication block diagram: normal flight .................................... 76
Figure 6.5: Hardware/communication block diagram: HIL simulation mode ....................... 76
Figure 6.6: HIL simulation results - pitch up manoeuver (step applied at time t=0-) ............. 79
viii
Figure 6.7: HIL simulation results - roll manoeuver (step applied at time t=0-) .................... 80
Figure 7.1: Panoramic view of Joker's Hill flight zone ......................................................... 82
Figure 7.2: Flight zone and ground station location (courtesy of Google Maps) ................... 83
Figure 7.3: Pitch-up manoeuver flight test results (step applied at time t=0-) ........................ 86
Figure 7.4: Roll manoeuver flight test results (step applied at time t=0 -) .............................. 87
ix
LIST OF TABLES
Table 2.1: Longitudinal and lateral variables ....................................................................... 14
Table 2.2: Reference flight condition ................................................................................... 23
Table 2.3: Zagi longitudinal modes...................................................................................... 25
Table 2.4: Zagi Lateral modes ............................................................................................. 27
Table 4.1: Performance of longitudinal sample systems ....................................................... 44
Table 4.2: Performance of lateral sample systems ................................................................ 48
Table 4.3: Continuous and discrete time MSS controller simulation results ......................... 51
Table 5.1: Aircraft thrust equation parameters ..................................................................... 62
Table 5.2: Throttle mapping summary ................................................................................. 64
Table 6.1: Virtual Cockpit main window legend .................................................................. 72
Table A.1: Longitudinal Stability and Control Dimensional Derivatives ............................ 101
Table A.2: Lateral Stability and Control Dimensional Derivatives ..................................... 102
x
NOMENCLATURE
Aircraft Dynamics Nomenclature
C center of mass
slug-ft
xi
m mass, slug
rad/s
ts settling time, s
T temperature, K
xii
aileron deflection angle, rad
throttle value
u control signals
xiii
the ith closed loop performance specification
functional defined on H
Acronyms
COM Computer-on-Module
HIL Hardware-in-the-Loop
PID Proportional-Integral-Derivative
xiv
RC Radio-Controlled
SIL Software-in-the-Loop
VC Virtual Cockpit
xv
CHAPTER 1
INTRODUCTION
applications such as aerial surveillance, mapping, reconnaissance, search and rescue, and
more dangerous missions where there may be serious threats to human pilots. Many of the
tasks required for these missions have been demonstrated as accomplishable without a pilot
physically on-board the aircraft. Without the need for an on-board pilot, unmanned aircraft
can be designed to be smaller, lighter, more agile, and less expensive than their manned
There are, in general, two categories of UAVs: remotely piloted vehicles (RPVs) and
fully autonomous UAVs. RPVs are flown by specially trained pilots and crews from a remote
base station, while autonomous UAVs intelligently navigate through their flight path with
very little human intervention. This research focuses on the latter of the two categories,
sensors (specifically inertial sensors such as accelerometers and gyroscopes), and small,
long-range, low power radio communication systems, there has been a strong impetus
amongst aerospace and control engineers to build their own autopilot systems and apply their
own unique control theories to unmanned aircraft [1]. This is evidenced by the numerous
1
papers published on the topic of UAV control at a rapid pace.
systems that have become available to the public for civilian use. Examples of such pre-built
COTS autopilot systems include the “Piccolo” autopilots from Cloud Cap Technology, the
MP series autopilots from MicroPilot, the “Kestrel” autopilot from Procerus Technologies,
and others. These COTS autopilots are small and light-weight, and can therefore be used on a
commercially available autopilot systems stemmed from research from aerospace control
laboratories in universities and colleges across North America. For example, The Kestrel
autopilot and UAV platform under study in this thesis began as an experimental UAV control
There has been particular focus amongst engineers on the control of so called „mini‟
UAVs, a loose definition for aircraft with wingspans of approximately 3-5 feet. While both
larger [3, 4] and smaller [1] UAVs are also popular areas of research, mini-UAVs are
typically less expensive, easier to maintain and repair, and easier to operate logistically than
larger aircraft, yet they are larger and therefore can handle difficult outdoor flight
In [5], Boskovic et al. describe an “Autonomous Intelligent Flight Control System” (AI-FCS)
– a generalization of the control architecture used in most UAV autopilots, although some
designs vary slightly. The AI-FCS is composed of four levels, which, from highest to lowest,
are: decision making, path planning, trajectory generation, and inner loop control. In the
2
decision making layer, control decisions relating to overall mission objectives and situational
awareness are made. The path planning layer involves generating waypoints for the UAV
once the high-level objectives have been determined. The trajectory generation system then
fits a feasible, smooth trajectory between waypoints. Finally, the goal of the inner loop is to
The main benefit of working with COTS autopilot systems is that the ground-work in
the development of the autopilot is complete. An engineer who is working with these systems
can often focus control design and development, i.e. software development, at nearly any
level in the autopilot‟s control system. In this thesis, the focus is on the lowest, inner loop
layer.
loop aircraft system satisfy multiple performance-based specifications. Typically there are
two approaches to solving this problem. One approach is trial-and-error based, using methods
algorithms are used in many COTS autopilot systems due to their simplicity and low
processor and memory requirements [6]. Unfortunately PID tuning is a highly iterative
design process and can therefore be time consuming, and may result in a large amount of
time being spent on a relatively simple control scheme. Furthermore, it may be difficult to
use PID tuning techniques to design a controller to satisfy multiple closed loop performance
nonlinear controller techniques or concepts such as dynamic inversion [7], neural networks
[8], fuzzy logic [9], and others. However, the practical significance of these controllers is
3
limited, as they are unlikely to be implemented in industry. This is due to the specialized
order to be able to apply these techniques. In [10], Blight et al. note that, for this reason,
post-1960 developments in control theory have seen relatively little application in production
aircraft designs.
controller design method. This method allows an engineer to satisfy multiple closed loop
performance specifications using any linear controller design technique. The MSS design
method was first introduced by Liu and Mills in the simulated control of a three degree of
freedom robotic system [11]. The method takes advantage of the convexity inherent in many
performance specifications. For this reason, the MSS controller design method has been
referred to interchangeably as the “Convex Combination Method” [11, 12]. It transforms the
3) Extract a single controller from the linear combination of closed loop systems
The use of the MSS controller design method or the Convex Combination Method for aircraft
controller design has been discussed previously in the aircraft control literature. In [13-15],
the method is used for the design of longitudinal pitch/speed controllers for a Boeing 747
4
transport aircraft, and the closed loop system performance is verified through simulations.
However, due to the nature of the aircraft under study, flight tests could not be performed.
flying-wing foam aircraft [16]. Details of the aircraft and its associated hardware and
The Kestrel autopilot is fully capable of autonomous control of the Zagi aircraft. All
that is required during flight is a selection of desired waypoints for the flight path. The
Boskovic et al. However, the instruction manual for the autopilot discusses at length the steps
required to empirically tune the various inner-loop PID controllers. Moreover, the tuning
must be carried out while it is in flight. These steps are required because the autopilot is not
designed for a specific airframe, rather it is generalized, and its gains must be tuned for the
specific aircraft in which it is operating. The method by which the controllers must be tuned
(in-flight) is not based on any mathematical procedure, but rather on the subjective visual
perception of the user. For instance, various lateral motion PID controllers on the autopilot
are tuned via trial-and-error until the aircraft „appears‟ to make a steady turn [17]. It is
therefore imperative to develop an alternative controller for the UAV based on a better
Since the low level controller on the Kestrel autopilot cannot be modified directly,
this alternative controller can be implemented in the following manner: an external computer
5
on-board the aircraft receives the aircraft states from the autopilot over a data stream; the
external computer then calculates the system error and executes its own control laws, sending
its own calculated control signals back to the autopilot; these new control signals over-write
the control signals generated by the autopilot‟s own PID controllers, and the control surfaces
flying-wing UAV using the MSS controller design method and to validate the controller
performance with flight tests. To the best of the author‟s knowledge, this is the first attempt
at low level controller design and flight testing of a Zagi UAV using a controller designed via
There are also a number of secondary objectives of this research that contribute to the
3) Developing a familiarity with the Kestrel autopilot and its associated hardware
Loop simulations;
software in order to program the MSS controllers and execute them remotely
6
foundation in aircraft dynamics to a level required for understanding the remainder of the
thesis. An analysis of the dynamics of the Zagi aircraft under study is also provided. In
Chapter 3, the MSS controller design method is introduced, followed by discussions on the
topic of convex specifications, the controller design framework, stability analysis, and other
matters. Chapter 4 presents the design and linear simulation results of the longitudinal and
lateral attitude MSS controllers. Chapter 5 then discusses the topics of Software and
Hardware-in-the-Loop simulation and how they are applied with the Procerus UAV platform.
Hardware-in-the-Loop simulation results are then provided for the Zagi UAV. Experimental
flight test results are presented in Chapter 7. Finally, Chapter 8 offers concluding remarks as
7
CHAPTER 2
AIRCRAFT DYNAMICS
2.1 Introduction
This chapter serves as an introduction to aircraft dynamics at a level of detail suitable
for understanding the remainder of the thesis. For a complete discussion on aircraft
dynamics, the reader is referred to [18-21] and other texts on the matter.
reader should be familiar with certain aircraft-related terminology and notation. Figure 2.1
outlines the so called „body-axes‟ co-ordinate system of an aircraft, as well as the forces,
As seen in the figure, in the body-axes coordinate system, the positive x-axis points
out of the nose of the aircraft from the center of mass (C), the positive y-axis points out of the
right wing of the aircraft, and the positive z-axis correspondingly points out of the bottom of
the aircraft. This orthogonal body-axes system is fixed to the body of the aircraft as it moves
through space.
8
Axis: x
Force: X
Torque: L
Velocity: u
x
Angular Rate: p M, q y
X, u
L, p Y, v
Axis: y
C Force: Y
Torque: M
Velocity: v
Angular Rate: q
N, r
Axis: z
Force: Z
Z, w Torque: N
Velocity: w
Angular Rate: r
z
The longitudinal aircraft system refers to motions along the x and z axes and rotations
about the y-axis; the lateral system refers to motions along the y-axis and rotations about the
x and z-axes. The parameters X, Y, and Z represent external forces (either aerodynamic or
u, v, and w represent linear velocities; and p, q, and r represent roll, pitch, and yaw angular
velocities. The x-z, x-y, and y-z planes can be determined from the figure. The x-z plane is
henceforth assumed to be the plane of symmetry in order to simplify subsequent linear model
development [19]. The roll, pitch, and yaw angles, ( , , and , respectively) are used to
describe the orientation of the body axes in space relative to another coordinate system,
9
The net velocity, or V∞ (often referred to as the relative wind) is calculated as the
(1)
There are two additional angles that are important in discussions of the dynamic
model. The first is the angle of attack, α, representing the angle between the x-axis and the
(2)
The second important angle is the sideslip angle, β, representing the angle between the x-axis
(3)
V
β
α v
10
2.3 Linear Dynamic Model Development
The general form of the nonlinear equations of motion of any object with six degrees
of freedom (DOF) can be derived from first principles. However, since these equations are
well known, they are provided as Eq. (4), below without derivation [19].
The first six equations describe the dynamics of the object, while the final three
describe its kinematics. Additional terms that are used in these equations are Ixx, Iyy, Izz, and
Ixz, which represent the moments of inertia of the aircraft about its respective axes and planes;
(4)
For aerial vehicles, these general equations become unique through the way the
external force terms (X, Y, Z, L, M, N) are represented. As mentioned above, these can either
be aerodynamic forces such as lift and drag, or they can be applied by actuators such as
engines or control-surfaces.
On typical aircraft, there are four main types of control surfaces: engines, ailerons,
elevators, and rudders. Some aircraft have additional control surfaces such as air-brakes (or
11
spoilers), flaps, or multiple sets of ailerons and/or elevators. Other aircraft, such as the flying-
wing aircraft discussed in this thesis, may have only an engine and one other set of control
surfaces that functions both as elevators and ailerons – appropriately called elevons. The
engine and the elevators are used to control the pitch angle and airspeed of the aircraft. The
ailerons are the primary control surfaces for controlling roll rate, and the rudder is the
The small disturbance theory (SDT) and small angle theory (SAT) are used to
develop a locally linearized aircraft model from the nonlinear equations. In the SDT, each
disturbance. For example, the force X has the form . For simplicity in the
derivations below, when a particular reference value is equal to zero, the prefix „ ‟ is
A number of assumptions are made about the reference (equilibrium) flight condition
about which linearization occurs. Firstly, the reference flight condition is assumed to be
symmetric with zero angular velocity and zero external lateral forces. This greatly simplifies
the linearization process, because the following values are consequently equal to zero: v0, p0,
r0, Ф0, and Ψ0. Furthermore, a slightly different coordinate frame is used, referred to as the
„stability axis‟ reference frame. In this reference frame, the x-axis is chosen to be pointing in
the direction of the relative wind ( , thus w0 and α are equal to zero in equilibrium. As a
result, u0 is equal to the reference flight speed and θ0 is equal to the reference angle of climb.
Two further assumptions in this development are that the effects of spinning rotors are
When SDT and SAT are applied to the nonlinear equations above, the following
12
results are obtained:
(5)
When all disturbance quantities are set to zero in the above equations, the reference
flight condition is obtained (recall that the „ ‟ notation has been dropped from some of the
disturbance quantities):
(6)
The equilibrium conditions are then substituted back into the previous equations, and
13
(7)
Upon close observation of Eq. (7), one will note that the equations can be decoupled
into two groups: those equations describing longitudinal motion and those describing lateral
motion. The longitudinal and lateral variables are summarized in the following table:
The next step in the dynamic model development is to appropriately describe the
disturbance forces and moments applied to the aircraft. An ideal approach is to model each
force as a nonlinear function of the states of the aircraft and their derivatives, as well as the
current flight conditions. For example, the disturbance force can be described by an
14
(8)
the functions increases. There is no theoretical limit to the level of accuracy and complexity
attainable in the development of a dynamic aircraft model. The limits, rather, are those of
practicality: the engineer must keep in mind his or her design goals and choose a level of
model sophistication according to the accuracy required and the available computational
power. There are a number of disadvantages associated with increasing the level of model
sophistication. The first is that very extensive and time consuming dynamic modeling
techniques must be employed in order to develop the model in the first place. Second, a large
database may be required in order to store all of the data acquired during the tests and a
complex, high-dimensional look-up table must be used if the data is to be accessed in real
time for control purposes. For this research, only the states and applied control forces (and
not their derivatives) have been chosen to be the independent variables. Furthermore, due to
the decoupling of the equations, the lateral variables are not considered in the longitudinal
(9)
where represents applied control forces with components along the x-axis.
The disturbance forces and torques are then chosen to be linear functions of the
aircraft states and applied control forces via Taylor expansion [19]. For example, the
(10)
15
subscript c indicates the actuator-applied control force (the x-axis component). In the case of
the x-axis, these actuators include the elevons ( and motor (denoted by throttle, ):
(11)
where the parameters and are referred to as the control derivatives. These stability
and control derivatives are constant for a specific flight condition – the reference flight
condition about which linearization has taken place. They are a function of the inertial and
geometric properties of the aircraft and can be determined using empirical flight testing
methods [22, 23], or through software tools such as the US Air Force (USAF) Stability and
database can be used to store the stability and control derivatives for various flight
conditions. Furthermore, other stability derivatives, such as those involving the derivatives of
the aircraft states, may be added to the equations for increased accuracy.
For the purposes of this research, only a single flight condition within a much larger
possible flight envelope is discussed. The stability and control derivatives are calculated for
one flight condition and are assumed to be constant throughout the flight envelope. Although
this is a simplified representation, it is used for three reasons. Firstly, developing a full model
throughout the flight envelope is a very time consuming process; secondly, this thesis does
not investigate gain-scheduling control techniques, which may be required if the dynamic
model were to change mid-flight; thirdly, the autopilot computer hardware was not assumed
to be powerful enough to be able execute the multi-dimensional look-up tables in real time as
would be required.
When the Taylor expansions of each of the forces and torques are substituted into Eq.
(7), the decoupled equations can be collected into the common linear state space format,
16
. The state space equations for longitudinal motion are [19]:
(12)
where:
(13)
where:
17
Note that the „ ‟ notation has been inserted for clarity and to remind the reader that
all states are denoted as offsets from their equilibrium values. Note also that, as a result of the
mathematical substitutions, the variable is not included in the state vectors. Furthermore,
these equations assume that the aircraft has four control surfaces – this issue will be
Since the nonlinear dynamic system has been decoupled into sets of linear
longitudinal and lateral state-space equations, further dynamic analysis can be performed.
This is discussed in the next section. Additionally, the controller design process has been
greatly simplified, since the lateral and longitudinal control systems can be developed
separately [19].
analysis of longitudinal and lateral dynamic modes. The interested reader may refer to [18-
21] for in-depth discussions. The purpose here is to discuss these topics qualitatively in order
18
to provide the reader with an appreciation for their use in the discussion of aircraft dynamic
performance. Furthermore, the reader will become aware of the qualitative dynamic
characteristics of the Zagi aircraft used in this research and its inherent instability both in
longitudinal and lateral manoeuvers. Some quantitative information is also provided for
further insight.
and the modes of an aircraft is absolutely pertinent where piloted and/or passenger flight is
involved, the discussion is not as critical for UAVs. In unmanned flight, one could argue that
the closed loop system performance and controller design is limited only by the structural
capabilities of the aircraft. On the other hand, in human-controlled flight, controller design
must additionally take into account passenger comfort and pilot capability.
The eigenvalues of the system matrix Alon are used to characterize the open loop
stability and dynamics of the longitudinal modes of an aircraft. The longitudinal system
matrix of an aircraft has two sets of complex conjugate roots, representing two damped
oscillations: one of low frequency and lightly damped oscillations, and the other of high
frequency and more heavily damped. The conventional names for these modes are “phugoid”
aircraft in level flight, „pulling back‟ on the control stick (to cause the aircraft to pitch up and
lose airspeed), then returning the stick to the neutral position. The observed phugoid response
consists of oscillations with significant variations in pitch attitude and airspeed, while the
angle of attack remains relatively constant. It can be compared to the up and down motion of
19
a roller coaster, as there is a constant ongoing exchange between kinetic and potential energy.
The oscillation starts with the exchange of airspeed for altitude as the aircraft climbs. As
aircraft begins to slow, the pitch angle decreases, and the aircraft eventually pitches down.
The descent is then followed by an increase in airspeed and pitch angle, and the aircraft
∆u
∆α
∆θ
≈ 300 s
Time (s)
The short-period mode, on the other hand, is demonstrated in flight by trimming the
aircraft and then subjecting it with a doublet of forward-aft-neutral pitch stick input, causing
a sudden change in angle of attack. There is then a second order (or first order, in some
cases) exponential decay to trim flight. The motion is characterized by significant oscillations
in angle of attack and pitch attitude, while the airspeed remains essentially constant [21]. The
The lateral dynamics typically consist of three modes: the „Dutch roll‟ mode, the
„roll‟ mode, and the „spiral‟ mode. The eigenvalues describing these methods can be found
20
∆u
∆α
∆θ
≈5s
Time (s)
The Dutch roll mode is a second order response, typically consisting of simultaneous
oscillations in sideslip angle, roll angle, and yaw angle. This mode is due to the coupling
between yawing and rolling moments due to sideslip. These oscillations may be of high or
low order and light or heavy damping, depending on the aerodynamic derivatives. The Dutch
roll and yaw. The motion can be compared to that of an ice skater‟s body weaving from side
to side as weight shifts from one leg to another [21]. An illustration of Dutch roll oscillations
The roll mode eigenvalue has only a real component and its response is therefore
first-order. The motion consists of nearly pure rolling action about the x-axis (in the stability
reference frame). It may be excited by a rolling disturbance such as aileron input. With a step
aileron input, there is an exponential increase in roll rate until a steady roll rate is achieved.
The roll mode may be either stable or unstable depending on the angle of attack [21].
21
Figure 2.5: Dutch roll oscillations
The spiral mode is also a first order response and it involves a relatively slow roll and
yawing motion of the aircraft. It is usually initiated by a displacement in roll angle, and may
be either stable or unstable. If it is stable, the aircraft returns to trim flight after the initial roll
input. On the other hand, if it is unstable, the motion continues as a descending turn with
increasing roll angle. Typically, the sideslip angle remains near zero while the roll and yaw
angles vary.
wingspan, shown in Figure 2.6. It is built of expanded polypropylene (EPP) foam and
reinforced with multiple thin carbon-fibre beams. It is controlled by elevons and an electric
22
motor with an 8x6 propeller. Since there is no rudder, there is no method to directly control
the yaw angle and therefore lateral mobility is less than ideal. This aircraft is part of the
multi-UAV platform at UTIAS. These aircraft have been utilized extensively by UTIAS in
The most relevant parameters that define the flight condition about which the aircraft
Parameter Value
Altitude 164.04 ft (50m)
Airspeed 45.93 ft/sec (14 m/s)
Weight 2.3 lb (1.04 kg)
Trim Angle of Attack +1 degree
The stability and control derivatives for the aircraft model have been determined
using software developed by Dr. Ruben Perez at the Royal Military College of Canada in
collaboration with UTIAS [26] and are based on this information as well as other geometric
and inertial properties of the aircraft. These aerodynamic derivatives can be found in
Appendix A. Perez‟s software emulates the DATCOM by calculating the stability and
23
control derivatives from the geometric and inertial properties of an aircraft at a specified
flight condition. The longitudinal state space matrices have been determined and are
Note that there are no terms in the Blat matrix corresponding to a rudder control
surface and that the elevon angle is still represented as two different control surfaces in the
lateral and longitudinal equations. On the Zagi aircraft, the elevons are used to control both
pitch and roll motion through a process called „mixing.‟ Since rolling motion is caused by
differential deflection of the elevons and pitching motion is caused by symmetric deflections,
(14)
order to gain a basic understanding of its behaviour prior to controller design. It will be
shown that the aircraft is open-loop unstable in both longitudinal and lateral motion.
The longitudinal motion pole-zero map of the Zagi aircraft is shown in Figure 2.7:
24
Figure 2.7: Zagi aircraft longitudinal modes: pole-zero map
The short period mode is stable, with a frequency of 5.93 rad/sec (0.944 Hz) and
damping of 0.912. The phugoid mode, on the other hand, is unstable, and has a frequency of
0.819 rad/sec (0.130 Hz) and poles at s=0.102 ± 0.813. The aircraft is therefore open-loop
unstable to a step in pitch angle. This is an artefact of poor airframe design and causes the
aircraft to be very challenging to control manually in the longitudinal directions. The pole
25
2.6.2 Lateral Modes
The lateral motion pole-zero map of the aircraft is shown in Figure 2.8:
The Dutch roll mode is unstable with a frequency of 2.26 rad/sec (0.360 Hz) and
poles at s=0.422±2.22i. The slow spiral mode is barely stable with a frequency of 0.0094
rad/sec (0.0015 Hz) and the faster roll mode is stable with a frequency of 5.81 rad/sec (0.925
Hz). The stability in the spiral and roll modes are good for open loop control purposes,
however the unstable Dutch roll mode implies that some unstable oscillations may occur as a
result of yaw inputs. The pole locations of the lateral modes are summarized in Table 2.4,
below.
26
Table 2.4: Zagi Lateral modes
2.7 Summary
An outline of the development of a state-space model of aircraft motion has been
provided and applied to the Zagi aircraft. The use of constant stability and control derivatives
for these research purposes has been discussed as well. Finally, an analysis of the
longitudinal and lateral dynamic modes of the Zagi aircraft has been performed.
In summary, the Zagi aircraft has unstable modes in both the longitudinal and lateral
degrees of freedom. These open loop instabilities make the aircraft challenging to fly
manually with a radio transmitter. Flying-wing aircraft with these dynamics are therefore
often recommended for intermediate or advanced radio-controlled (RC) hobby aircraft pilots.
Fortunately, since both the longitudinal and lateral dynamics are controllable, the unstable
poles can be shifted into the open left hand side of the S-plane during controller design,
27
CHAPTER 3
3.1 Introduction
The Multiple Simultaneous Specification (MSS) controller design method transforms
the problem of designing a single controller that satisfies n convex closed loop performance
specifications into one of designing simpler „sample‟ controllers, each of which satisfies at
least one performance specification. This is followed by the convex combination of the
individual sample systems, and results in a single controller that satisfies all n performance
specifications. This final „MSS controller‟ is extracted mathematically from the sample
controllers and plant dynamics and, therefore, no design is required beyond that of the
sample controllers. Consequently, the application of this design method presents the
specifications must be met. The following sections discuss in detail the mathematics of the
the early 1990s [27]. The formal definition of a specification, D, is a function or test on a
28
closed loop system, H:
(15)
where is the set of all closed loop transfer functions, is a functional defined on H (such
as overshoot, etc.), and is the required specification (a numerical value). The function is
said to be convex if, for any two closed loop systems H1 and H2, and any , we have1:
(16)
This means that a specification is convex if its functional on the convex combination of two
closed loop systems is less than or equal to the convex combination of the functional of the
individual systems. This can also be described geometrically. If we define F such that
(17)
(18)
(19)
(20)
The right hand side of Eq. (20) is the equation of a straight line, G, passing through
the points (0, ) and (1, and it can be graphed in the range along with
. Therefore, a function is convex if, for every pair of transfer function matrices H1 and
H2, the graph of lies below the straight line G in the range . This is
1
The definition of convexity in [27] states that λ [0,1]. However, when λ=0 or λ=1, even though convexity
may hold, the statement loses some practical significance, since the weighting of one of the functions is then
null and the result is trivial. Henceforth, the discussion assumes λ (0,1).
29
Figure 3.1: Geometry of convex functionals
Many closed loop system performance specifications in both the time and frequency
domains have been shown to be convex [27]. Among them are specifications such as
format:
(21)
Here, w are the exogenous inputs to the system (disturbance signals, reference
inputs), u are the control signals, z are the regulated signals, and y represents any and all of
the signals available to the controller. As such, Pzw is the transfer function (matrix) from w to
z, Pzu is the transfer function (matrix) from u to z, Pyw is the transfer function (matrix) from w
to y, and Pyu is the transfer function (matrix) from u to y. The plant can also be written as
follows:
30
(22)
and the corresponding closed loop system transfer function matrix H(s) from w to z can be
found:
(23)
(24)
where:
(25)
We see here that there is a one to one correspondence between matrix R and the controller K.
If the output signal y is chosen to be the system error, with w and y being of the same
dimension, then the framework can be represented as in Figure 3.3, below. This is the
framework used in the design of the aircraft attitude controllers in later chapters.
controller, K(s), such that the closed loop system satisfies all n performance specifications.
31
Figure 3.3: Closed loop system framework, with w and y being of the same dimension
An important point to note is that the distinctive quality of the MSS controller design
method is not its ability to produce a controller whose closed loop system simultaneously
satisfies all n performance specifications, since this task can be achieved using many other
design methods. Rather, its attractiveness is its ability to significantly simplify the way in
K(s) that solves the problem defined in Section 3.4. First, the material will be presented in
Consider the ith desired closed loop performance specification. We define controller
Ki(s) to be a sample controller if the closed loop system Hi(s) resulting from controller Ki(s)
(26)
The system Hi(s) is then defined as the sample system corresponding to sample controller
32
Ki(s).
Recall that there are n desired closed loop performance specifications. Let the vector
design problem requires the designer to develop m sample controllers, Ki(s), i=1..m, until
Let denote the ith specification resulting from closed loop system j, so that there is
a matrix :
(27)
Using the information in the matrix and vector , one can determine if a solution to
the MSS controller design problem exists. However, in order to proceed with the solution
algorithm, the matrix must be square. As mentioned above, it may occur at this stage in the
design that m < n, i.e. there are fewer sample controllers than the number performance
specifications. In this case, n - m columns must be added to , the elements of which are
orders of magnitude larger than all other elements of , resulting in a new n x n matrix. The
additional columns simulate fictitious sample controllers that do not satisfy any
specifications and that will not contribute to the final MSS control system. For ease of
discussion and for differentiation between the number of sample systems and the number of
must note that henceforth n = m because additional columns were added. The reason for this
manipulation is due to the determinants that must be calculated as part of the solution
33
process. This will become clear in the following discussion.
There are two conditions that must hold for the existence of a solution to the MSS
(28)
and
(29)
If both of these conditions hold, then a convex combination vector, can be found through
(30)
then calculated as the convex combination of individual sample systems Hi(s) using the
(31)
Using Eqs. (2), (16), and (17), one can verify that all closed loop specifications are
2
For their derivation, the reader is referred to [28]
34
(32)
Finally, it should be noted that the closed loop system in Eq. (31) is not the result of
the direct convex combination of sample controllers Ki, rather it is a convex combination of
(33)
The MSS controller, K*, i.e. the controller that satisfies all closed loop specifications,
(34)
The purpose of the vector is therefore to store the relative weighting of each of the
sample systems in the overall solution. As mentioned in the previous section, the components
of corresponding to the n – m columns appended to the matrix will always be null since
these columns represent fictional sample systems that have very poor closed loop
performance. The optimization performed in the linear programming algorithm does not
Since R* is calculated with the summation in Eq. (33), if the model is of high order or
if many sample controllers are used to satisfy the performance specifications, then R* will
matrix inversions; furthermore, the controller K* that results may be of high order, and model
35
order reduction techniques may be required to reduce the order of K*.
1) Determine the open loop plant structure framework P(s) in Eq. (21);
2) Design individual sample controllers, Ki(s), i=1..m, until each closed loop
checking both conditions of Eqs. (28) and (29). If no solution exists, return to
combination vector, ;
6) Determine the MSS controller, K*, from R* and Pyu using Eq. (34).
Section 3.5.2, is also stable. As a proof, consider the state space models of the sample
systems, Hi(s):
(35)
The transfer functions of the sample systems can be determined from the state space
matrices:
(36)
It has been shown in Eq. (31) that the closed loop system H* is composed of the convex
36
combination of the individual sample systems:
(37)
(38)
It is important to note that while the sample systems Hi(s) and the final system H*(s) have the
same number of inputs, P, and outputs, Q, the number of states internal to H* is mN, i.e. the
number sample systems multiplied by the number of states internal to the sample systems.
To complete the proof, we note that since the matrix A* is diagonal, its eigenvalues
consist of the union of the eigenvalues of the individual matrices Ai, i=1..m:
(39)
Hence, if the sample systems Hi(s) are stable, i.e. the matrices Ai are Hurwitz, then the matrix
37
A* is Hurwitz, and H* is stable.
elegant, there are some important points to note on its implementation in numerical software
such as MATLAB. There are a number steps in the controller design process that require the
memory. However, it was observed that computational time can be reduced by breaking
down long operations into multiple, shorter steps. For example, the two most
Eq. (25) and of the K* matrix in Eq. (34). The calculation of the R matrices (recall that there
is one R matrix for every sample controller) in MATLAB can be performed in one line as
follows3:
r = minreal(K/(eye(5)-Pyu*K));
However, it was observed that performing this calculation in one step causes instability in the
resulting MSS controller. The exact reason for this is unknown and may be very difficult to
determine, though it may be related to the way MATLAB inverts high order transfer function
matrices. Once the operation is broken up into two steps, the computational time decreases
temp = minreal(inv(eye(5)-Pyu*K));
r = minreal(K*temp);
3
The „minreal‟ function is used to eliminate stable pole-zero cancellations.
38
For the same reasons, the calculation of matrix K* is broken into two steps from one step.
temp = minreal(1+R_star*Pyu);
K_star=minreal(temp\R_star);
One further point to note is that the MSS controller design method guarantees
stability only for the strict mathematical procedure described in Section 3.5. However, it has
been mentioned previously that the matrix R* is often of very high order since it is calculated
via the summation of the individual matrices Ri. As a result, the transfer function matrix K*
may also be of very high order, and model order reduction may be required in order to reduce
the order to a level that is applicable for real time control. Unfortunately, stability is not
guaranteed for a reduced-order model. As such, once the model order is reduced, stability
3.8 Summary
The Multiple Simultaneous Specification controller design method has been
introduced and discussed in detail. The mathematical foundations and process for the method
have been outlined and may hopefully serve as a reference or guide to those who wish to
implement the process in the future. The stability of the controller design method has been
proven. Finally, some practical observations and notes on the application of the controller
39
CHAPTER 4
4.1 Introduction
The objective of this thesis is to design longitudinal (pitch) and lateral (roll) attitude
controllers for the Zagi UAV based on the decoupled equations of motion. Since the
longitudinal and lateral motions have been decoupled, the respective controllers can be
designed individually. This is common practice in linear aircraft controller design, as in [19,
20]. Many specifications in aircraft control problems are convex in nature and therefore it is
fitting to apply the MSS controller design method. The following sections describe the design
of the controllers as well as provide continuous and discrete time linear model simulation
results. The results demonstrate the effectiveness of the MSS controller design method.
With regards to notation, the following sections discuss the use of elevators and
ailerons as the control surfaces for longitudinal and lateral motion, respectively. This notation
is used simply to emphasize difference between lateral and longitudinal motions. On the Zagi
aircraft, as discussed in Chapter 2, the there is only one set of control surfaces (in addition to
the electric motor), referred to as elevons, which provide both lateral and longitudinal
motion. Hence, for the discussions in this chapter, the control surfaces will be referred to as
ailerons and elevators; however, they actuate the same physical control surface.
40
4.2 Selection of Closed Loop Performance Specifications
The choice of the number of specifications to place on the aircraft is subjective, and it
the closed loop system, it will naturally be more difficult to find a solution to the linear
programming problem of Eq. (30). This may result in „looser‟ overall specifications than a
design problem that has fewer specifications. Furthermore, when more specifications are
added and (presumably) more sample controllers are developed, the overall order of the
resulting matrix R* as calculated in Eq. (33) increases significantly. This increases the
required computational power to perform the controller design calculations and also requires
more drastic model order reduction of the calculated MSS controller. With regards to this
latter point, as discussed earlier, the closed loop performance is not guaranteed for a reduced-
order controller. On the other hand, the beauty of the MSS controller design method is that if
more specifications are added and the order of the resulting MSS controller can be reduced as
required, then these specifications are welcome. For the each of the longitudinal and lateral
attitude controllers, it has been compromised to place one envelope-type specification on the
deflection of each of the control surfaces and then two additional specifications on the
transient response of the aircraft in the respective manoeuver. The longitudinal controller is
therefore based around four specifications and the lateral controller is designed around three
specifications.
a step input in pitch angle of +15 degrees. This is only one design problem in an overall
longitudinal flight regime that includes takeoff, climb, cruise, descent, landing, etc., however
41
the pitch-up (or its counter-part, the pitch-down) manoeuver is critical in more complex
There are many convex specifications that can be chosen in the design problem, but
this paper deals with four in particular. The first specification is that the five percent settling
time of the pitch angle must be less than three seconds. Secondly, the overshoot during the
manoeuver must be less than five percent. Additionally, the maximum deflection of the
elevator during the manoeuver must be less than five degrees from the trim deflection angle.
Finally, the maximum throttle above trim should be no more than +14 in order to prevent
throttle saturation. For reference, full thrust is represented by a throttle value of +15.26. An
explanation of these values and a detailed discussion on the scaling of the throttle values is
provided in Chapter 5.
One must note that the total deflection of the elevators and throttle are calculated as
(40)
The aforementioned specifications have been chosen based on the intuition gained
from various flight tests and on the limits of the capabilities of the aircraft. The specifications
1) ts θ ≤ 3 sec
2) Overshoot θ ≤ 5 %
The design of the sample controllers and MSS controller follows the general MSS
42
design procedure described previously in Chapter 3. An extra integrator state,
, has been added into the longitudinal equations in order to eliminate steady
state pitch tracking error. The exogenous inputs of the system are therefore
error, and the control signals are the elevator deflection and the throttle value:
matrix. This fits into the framework of Boyd and Barrat in Figure 3.3. In order to determine
the plant transfer function matrix Plong(s), we must first find the open loop 5x2 transfer
function matrix Gyu_long(s) for the longitudinal system using the equation:
(41)
(42)
For brevity, the ten transfer functions are not included here. Once they are obtained,
(43)
Three controllers were designed using LQR techniques to satisfy the three convex
43
(44)
The performance of each closed loop sample system is charted in Table 4.1, below.
The numbers in bold indicate that the corresponding sample system satisfies a closed loop
specification. The section of the chart within the bolded outline represents the transpose of
In this case, since there are more specifications than the number of sample systems,
the matrix must be augmented with an extra column in order to be square. As discussed
previously, this fourth column simulates a fourth sample system, H4, which does not satisfy
any specification and is therefore corresponds to a null weighting in the vector . For clarity,
(45)
With these sample systems, the linear programming problem of Eq. (30) has a
solution and the combination vector is found using the linear programming tools in
44
system H2 is most heavily weighted in the convex combination, followed by systems H3 and
H1, which are nearly equally weighted. This is likely due to the superior settling time and
overshoot of system H2 compared to the other two systems. Again, the fourth element of is
zero because the hypothetical fourth system has very poor performance. The resulting MSS
controller, , is then found; however, it is not included here because it contains elements
with terms of up to 72nd order. A controller of this order is not practical for real time
implementation on the current autopilot hardware. Consequently, the model order reduction
tools in MATLAB have been used to eliminate modes that are of least significance in the
closed loop system. These tools have allowed for significant reduction of the controller order
while maintaining a very similar closed loop response. The reduced-order MSS longitudinal
controller is:
(46)
As described previously, the full order MSS controller is capable of satisfying all four
verified. Simulations were performed using Simulink, with a sample time of 10ms; these are
considered the continuous time simulations. The discrete time simulations discussed later are
performed with a sample time of 100ms. The result of the continuous time simulation of the
closed loop longitudinal aircraft system using controller is shown in Figure 4.1. Three
plots are shown: the first shows the pitch angle during the manoeuver, the second shows the
elevator deflection, and the third shows the throttle. All four specifications have been
1) ts θ = 2.61 ≤ 3 sec
2) Overshoot θ = 0.02% ≤ 5 %
45
3) Max | δe| = 4.85 ≤ 5 degrees
angle. The controller has been designed for a step input of +15 degrees (banked turn to the
right). The design of the lateral controller follows the same process as that of the longitudinal
controller. There are three desired convex performance specifications for the lateral
controller. The first is that the five percent settling time of the bank angle must be less than
four seconds. Secondly, the maximum velocity in the y-axis, Δv, must be less than 4 ft/sec in
order to reduce sideslip during the manoeuver. Finally, the third specification is a maximum
aileron deflection of 1.5 degrees during the roll. The specifications on the elevator and
46
aileron deflections in the longitudinal and lateral controllers have been placed in order to
reduce the likelihood of saturation during complex manoeuvers. Stated formally, the three
specifications are:
1) ts ≤ 4 sec
Note again that the lateral control signal is denoted as in order to differentiate it
from the longitudinal control signal , even though both signals represent actuations of the
same control surfaces. The design of the sample controllers and MSS controllers continues as
state roll tracking error. The exogenous inputs of the system are therefore
error, and the control signal is the aileron deflection, . The output error feedback
controller is therefore where K is a 1x5 matrix. The open loop transfer function
matrix Gyu_lat(s) and the plant matrix Plat(s) are similar in form to Eqs. (42) and (43).
As with the longitudinal controller, LQR methods were used to design sample
(47)
Table 4.2, below. The numbers in bold indicate that the corresponding sample system
satisfies a closed loop specification. As with the longitudinal controller, since there are more
47
specifications than the number of sample systems, the matrix must be augmented with an
extra column in order to be square. This third column simulates a third sample system, H3,
which does not satisfy any specification and is therefore given a null weighting in the vector,
(48)
The linear programming problem has a solution and the weighting vector is
. The first two systems, H1 and H2, are nearly evenly weighted in the
solution. Furthermore, only the first two terms are actually relevant, since the zero represents
the weighting of the fictional system. After model order reduction in MATLAB, the MSS
(49)
The results of the simulation using this controller are shown in Figure 4.2. The first
plot shows the roll angle during the manoeuver, the second shows the y-axis velocity, and the
third shows the aileron deflection angle. All three performance specifications have been met:
1) ts = 3.71 ≤ 4 sec
48
4.5 Discrete Time Simulation
The longitudinal and lateral MSS controllers have been applied in a simulation at a
frequency of 10Hz while the system dynamics are calculated at 100Hz. In other words, the
control laws are calculated one order of magnitude slower than the system dynamics, and
hence this is a form of discrete time simulation. The 10Hz frequency is chosen since it is the
rate at which control signals are generated during flight. Both controllers satisfy their
respective performance specifications in the discrete time simulation. The longitudinal and
lateral discrete time simulation results are shown in Figure 4.3 and Figure 4.4.
49
Figure 4.3: Discrete time simulation results for MSS longitudinal controller
Figure 4.4: Discrete time simulation results for MSS lateral controller
50
Table 4.3 summarizes the performance of the MSS longitudinal and lateral controllers
in both the continuous and discrete time simulations, demonstrating the success of the MSS
Table 4.3: Continuous and discrete time MSS controller simulation results
Simulation Result
Controller Specification Continuous Discrete
Longitudinal ts θ ≤ 3 sec 2.61 sec 2.55 sec
O.S. θ ≤ 5 % 0.2 % 0%
Max | δe| ≤ 5 deg 4.85 deg 4.95 deg
Max | δt| ≤ 14 13.06 13.35
It is important to note that although the MSS longitudinal and lateral controllers
satisfy all performance specifications both in the continuous and discrete time simulations,
there is no discrete time direct-design framework for the MSS controller design method.
Unfortunately, as of the current time, the only method by which to verify the performance of
an MSS controller in the discrete time is to discretize the system and check the simulation
results.
4.6 Summary
Pitch and roll state-space attitude controllers have been designed for the Zagi aircraft
using the MSS controller design method. The method by which a controller can be designed
when there are more specifications than sample systems has been demonstrated for both the
lateral and longitudinal controllers. Furthermore, both controllers satisfy their respective
specifications in both the continuous and discrete time simulations using the linearized
aircraft model. Until a discrete time formulation of the MSS controller design method is
51
developed, the only method of designing discrete time controllers is to design continuous
time controllers and then to verify their performance in a discrete time simulation.
52
CHAPTER 5
5.1 Introduction
The autopilot on the Zagi UAV is implemented on two hardware systems. The first is
the “Kestrel” autopilot from Procerus Technologies. The Kestrel autopilot can act as a
standalone autopilot or serve as an interface between the outside world and the UAV by
handling the communication protocols and interfacing with the aircraft control surfaces. The
second hardware system for controlling the UAV is the Overo Fire Computer-on-Module
(COM) from Gumstix Inc., which runs the MSS digital control system. These two systems
below. The autopilot provides autonomous flight control capabilities to a single UAV,
including takeoff, GPS waypoint navigation, target following, and landing. It is mounted on
the UAV and is connected to the control servos, batteries, and onboard sensors.
The real time autopilot software runs on the Kestrel‟s 8-bit, 29 MHz microprocessor.
The onboard sensor suite includes an inertial measurement unit, magnetometer, GPS, and
53
navigation system for the UAV. The counterpart to the Kestrel autopilot is the ground station
(typically a laptop computer) that is running the Procerus “Virtual Cockpit” software.
The ground station also consists of a radio modem called the „Commbox‟ that
communicates with the onboard Maxstream radio modem over the 900 MHz frequency
spectrum. The full platform, including the UAVs and the ground station, is shown in Figure
5.2, below.
In its typical operation, the autopilot onboard the UAV receives navigation
commands from the Virtual Cockpit, and in return, sends telemetry data for real time
mapping and post-flight analysis. A map of the flight zone can be downloaded from websites
such as Google Maps [30] and loaded into Virtual Cockpit, allowing the UAV flight path to
be superimposed on the map. Other telemetry data is also displayed within Virtual Cockpit,
including navigation data, GPS satellite and radio communication strength, on-board battery
voltage, motor speed, among many others. This provides the user with an excellent overall
After receiving high level navigation commands from the ground station, the
autopilot executes various multi-level control loops that eventually actuate the control
surfaces of the UAV. The details of these control loops are not of interest in this work, as the
54
purpose of this research is to develop new, low level controllers, and therefore to operate the
control surfaces directly and independently of Virtual Cockpit. The method by which this is
Radio
Aircraft Commbox Laptop Controller
the autopilot, which can be used to mirror (or duplicate) the modem communications port,
thereby providing the ability for the autopilot to communicate with an external computer as if
it were the ground station. The serial ports and sensors on the autopilot are shown in Figure
5.3. The four serial ports are located in the top-right corner.
55
Figure 5.3: Kestrel autopilot serial ports and sensors [29]
data transmission and acknowledgement packets. Data packets are assembled by Virtual
Cockpit and/or an external computer, containing either control commands or requests for
various types of information (telemetry, system status, etc.) Upon receiving a command-
based packet from the ground station or the external computer, the autopilot responds with an
acknowledgement (NACK) packet if the command has requested it to perform an action that
is outside of its bounds. If the autopilot receives a request-based packet, it responds with a
packet containing the requested data. The autopilot uses a checksum algorithm to determine
if a packet has been corrupted during transmission, and corrupted packets are discarded
accordingly. Through the use of communication data packets, full state information for the
aircraft is available to the external computer, allowing for full state feedback for the MSS
controllers.
56
Inc. shown in Figure 5.4, below, functions as the external control computer. It is mounted
onboard the aircraft and runs the MSS controller. The term „Gumstix‟ is appropriate as the
brand name since the dimensions of the unit are on the scale of those of a piece of chewing
gum. Its small size and light weight afford it the ability to be mounted to small aircraft such
as the Zagi UAV. The Overo Fire COM is pre-loaded with the Linux operating system and
has an ARM Cortex A-8 CPU and a C64x+ digital signal processor (DSP) core for 2D and
3D graphics acceleration. The CPU has a clock speed of 600MHz, and there is 256 MB of
both RAM and on-board flash memory. The COM also has integrated 802.11g modem and
Bluetooth wireless communication functionality. Many of these features are useful for single
and multi-UAV research projects – for example, the graphics processing capabilities are
useful for image-based control, and the wireless modem can be implemented in multi-UAV
The Gumstix COM connects to the „Tobi‟ expansion board shown in Figure 5.5,
below, in order to provide the Gumstix COM with access to serial communication ports, and
a power supply. The Tobi expansion board also contains Ethernet, USB, audio and video
ports. Consequently, Gumstix COMs, together with their expansion boards, are autonomous
units and can function as complete computer systems with appropriate peripherals attached
57
(such as a keyboard, mouse, and monitor). Additional software packages can be written and
compiled on the Gumstix COM or on another computer and transferred to the COM for
execution.
The current hardware implementation uses the Gumstix COM to execute the MSS
controllers discussed in Chapter 4. Although any programming language could have been
used, the MSS controllers have been written for the UAV in C++. The COM communicates
with the Kestrel autopilot on Serial Port A and requests telemetry packets at a rate of 10Hz.
These telemetry packets contain all pertinent state information for the digital controllers,
including linear and rotational velocities, Euler angles, and other information such as GPS
coordinates. After receiving the telemetry information, the controller outputs the desired
control surface (elevon and motor) deflections to the autopilot through another packet. The
autopilot then actuates the control surfaces accordingly. In this manner, the control system is
partially independent of the ground station and the Virtual Cockpit software. A block
Figure 5.6, below. More detailed communication block diagrams are provided in the
58
High level control
commands
Virtual Cockpit Autopilot
Telemetry
Low level control
Telemetry
commands
(overwrite commands
from Virtual Cockpit)
Gumstix COM
It is worthy to note that it is alternatively possible to use the ground station laptop as
the external controller instead of the Gumstix COM. In this alternative scenario, the low level
control surface commands come from the ground station and not from an on-board computer.
Telemetry data would be transmitted to the ground station as usual; however, the controller,
running in parallel with the Virtual Cockpit software on the ground station laptop, would
transmit desired actuator deflections as packets to the UAV via the commbox. This is
GROUND
STATION High level control
commands
Virtual Cockpit Autopilot
Telemetry
Telemetry
Low level control
commands
Control
Software
59
On the other hand, there are many advantages to using a Gumstix (or any onboard)
computer to generate actuator commands as opposed to doing so on the ground station. The
main advantage stems from the direct wired serial link between the Gumstix COM and the
autopilot, allowing the COM to send and receive data packets directly to and from the
autopilot. When transmitting over a wireless radio frequency to a ground station, there is a
much greater risk of data corruption or loss [25]. Another disadvantage to using the ground
station as the external controller is the fact that a relatively powerful computer must be used
in order to simultaneously execute the Virtual Cockpit software and the controller software.
The Overo Fire COM is inexpensive and is dedicated to the controller‟s execution.
centralized control of multiple UAVs. The control systems for all of the UAVs in a multi-
UAV platform could be executed on the ground station, as opposed on individual Gumstix
COMs on each individual aircraft. However, given that this research concentrates on the
control of a single UAV, the decision has been made to use the Gumstix COM as the low
level controller.
COM with its Tobi expansion board, the Kestrel autopilot, two three-cell Lithium-Polymer
The two 11.1V LiPo batteries operate in parallel and power all on-board electronics.
The Gumstix COM and the autopilot each have voltage regulators to convert the incoming
power to the required voltage levels. Power is also routed to the electric motor through an
electronic speed control unit. Both the autopilot and the motor have power switches, allowing
60
the motor to be turned off while the autopilot is on (for safety) and further allowing the
autopilot to be easily turned on or off without disconnecting the batteries. Figure 5.8, below,
Motor On/Off
Switch
are performed using MATLAB and Simulink software packages. In the Simulink
simulations, the value of the aircraft throttle, , represents an offset from the equilibrium
throttle value. It is imperative to calculate this equilibrium throttle value. Furthermore, the
61
throttle scale that is used in the simulations differs from the scale used on the autopilot
scale of 0 to 100 percent, where 100% is full throttle. In Simulink, the throttle scale is
actually quite different, and it ranges from -1 to +15.26, as will be discussed shortly. Since
the throttle value on the autopilot uses an absolute scale, it will be denoted as . Note the
slight change in notation from that of the throttle value in the Simulink simulation (i.e. the
removal of the „ ‟ symbol). In order to implement the MSS controllers on the autopilot, the
throttle values must be scaled appropriately from the Simulink values to the hardware values.
The equation for calculating thrust force from (where the value is represented on a
(50)
The following table summarizes each parameter and its value. The value of the motor
The software package by Perez that is used to determine the aircraft stability and
control derivatives discussed in Chapter 2 calculates the equilibrium thrust value to be 0.1189
62
lbf (0.5289 N). Using Eq. (50), this corresponds to a throttle value of 0.596. Since this is
simulations.
Furthermore, at full throttle ( ), the thrust is 1.9331 lbf (8.599N). This value is
intuitively sensible given the ability of the aircraft to attain large pitch angles and rapidly
accelerate to speeds near 25 m/s (90 km/h). In order to calculate the throttle value that
(51)
The equation means that the total thrust force is equal to the equilibrium thrust force
plus the change in the X force with change in throttle multiplied by the change in throttle
from its equilibrium value. This equation assumes that all of the thrust is transmitted in the x-
axis of the aircraft. The stability derivative is calculated in Perez‟s software to be 0.1189
lbf. One will note that this is the same value as the equilibrium thrust force itself.
Accordingly, the throttle value representing full throttle on the autopilot hardware is
calculated as:
(52)
Finally, in order to generate no thrust from the propeller (at the reference flight speed)
(53)
(54)
63
Based on these three data points, it can be seen that the mapping is nonlinear to
In summary, when a throttle value is calculated by the MSS controller, the total thrust
force generated by throttle value is calculated using Eq. (51). Then, Eq. (50) is solved for
using this thrust force. The resulting value is the control signal used by the autopilot. One
will note that this mapping varies with the reference flight speed and as such is only an
equilibrium, or trimmed flight. The elevator deflection during equilibrium flight is referred to
as the trim deflection. It is not within the scope of this thesis to discuss the full details of the
static stability of aircraft; however, the following basic development of the trim elevator (or
(55)
The parameter Cm is the non-dimensional pitching moment coefficient and will be assumed to
be a linear function of the angle of attack, the elevator deflection, and various airfoil
properties [19]:
64
(56)
the contribution of the airfoil properties to Cm. In equilibrium (trimmed flight), there is no
pitching moment, and thus Cm is null. Eq. (56) can then be solved for given that the trim
angle of attack is known. Recall from Table 2.2 that the trim angle of attack is +1 degree
(0.0175 rad):
(57)
The MSS controllers are currently implemented on the Gumstix COM, which controls
the UAV by sending aileron and elevator deflection as well as throttle value commands to the
Kestrel autopilot. The autopilot mixes the aileron and elevator commands into elevon
The Gumstix COM C++ code written for this research uses a multi-threaded software
architecture. There are three threads running in parallel, and each performs a specific task or
tasks:
1) The first thread is a low-level serial communications thread that handles bit-
2) The second thread requests for telemetry information from the autopilot at
10Hz, executes the MSS state feedback controllers, and sends the desired
65
control signals to the autopilot;
3) The third thread is used to set the reference command (step input in pitch, roll,
or both) based on the value of a specific byte in the autopilot‟s flash memory.
To initiate the flight, the plane is launched with the Kestrel autopilot engaged and the
Gumstix COM waiting in a standby mode. After launch, with the autopilot still engaged, the
UAV begins to follow specified GPS-based waypoints. The low level MSS controllers do not
There are various bytes of free space within the autopilot‟s flash memory that can be
used for debugging purposes, and these bytes can be set on the aircraft from within Virtual
Cockpit while the UAV is airborne. A change in the value of the byte is sent wirelessly to the
autopilot. The byte currently used to activate the controller is referred to on the autopilot as
“Debug Byte 1.” The value of this byte is set to a default value of zero when the autopilot is
powered on or its power is recycled. When the aircraft is in flight, this value can be set from
within Virtual Cockpit to a specific value that corresponds to the desired manoeuver, at
which point the MSS controller is activated and the control signals calculated by the MSS
controllers are sent to the autopilot and overwrite the control signals coming from the ground
station.
The MSS controller software executes as a state machine. The Gumstix COM checks
the debug byte every 0.1 seconds for changes to its value from the default of zero. When the
ground station operator changes this byte to 1 from within Virtual Cockpit, the aircraft
executes the pitch up manoeuver using the MSS controllers. This interrupts the aircraft from
flying along its designated flight path. After 15 seconds, or if the pitch angle decreases
66
significantly (indicating a probable crash), the controller execution finishes, the debug byte is
set back to zero, and the regular UAV navigation continues as per the flight path set in
Virtual Cockpit. A similar sequence occurs if the debug byte is set to 2; however, this
initiates a roll manoeuver. It is also important to note that both the lateral and longitudinal
controllers execute simultaneously during flight once the debug byte is set to either 1 or 2,
otherwise the aircraft may not be able to maintain a steady pitch angle during roll
manoeuvers and vice versa. Flight telemetry data can then be recorded either on the Gumstix
COM or on the ground station for post-flight analysis. A diagram of the state machine is
Check Debug
Byte
Normal flight,
Debug Byte = 0
15 seconds 15 seconds
elapsed or θ≤-45 elapsed or θ≤-45
5.9 Summary
In this chapter, all of the electronic hardware components responsible for the
autonomous control of the Zagi UAV were discussed. This includes the Kestrel Autopilot,
67
the Gumstix COM, and the Tobi expansion board. The throttle scaling from the MSS
controller output value to the autopilot value is provided. The calculation of the elevator trim
68
CHAPTER 6
HARDWARE-IN-THE-LOOP SIMULATION
6.1 Introduction
It is imperative to simulate the behaviour of an engineered system such as an aircraft
This provides the engineer with a theoretical standard to which he or she can compare
experimental results. Furthermore, assuming the system and environment have been properly
modeled, accurate simulation allows the engineer to safely predict the behaviour of the
system before any experiments are performed. This is especially valuable with airborne
vehicles, as damage to aircraft such as the Zagi UAVs caused by crashes can be costly and
time consuming to repair. Simulation is therefore a valuable tool for averting foreseeable
failures.
Linear simulations of the MSS controller designs have been performed using
Simulink and have been discussed in Chapter 4. However, prior to flight testing, it is desired
to verify the behaviour of the closed loop system in a more realistic, nonlinear simulation
environment.
34]. The former is a method in which the aircraft and its environment are modeled in
software; no physical hardware is required. HIL simulation, on the other hand, provides an
69
additional level of realism by making use of the aircraft hardware. It allows for testing of the
aircraft actuators and control surfaces in order to check for correct operation, since these
actuators physically move during the simulation. Another benefit of HIL simulation is that it
allows for testing of communication protocols and often allows for testing of certain aspects
jitter. It also permits the use of external hardware during the simulation such as the Gumstix
COMs. A high-level flow chart f the operation of a typical HIL simulation is shown in Figure
6.1:
This chapter discusses the topic of nonlinear HIL simulation of the Zagi UAV using
the Kestrel autopilot system. It is expected that the exact results of a nonlinear simulation
will vary from those of the linear simulations examined earlier; however, similar overall
70
6.2 Procerus UAV Simulation Software
There are two software packages that are used by the Procerus UAV system during
for simulation. One is Virtual Cockpit (VC), which has been discussed repeatedly in previous
chapters. The other is “Aviones,” which is the aircraft simulator. The aircraft dynamics,
sensors, actuators, and flight environment are all simulated within Aviones during HIL
simulated aircraft stability and control derivatives are constant yet its dynamics are calculated
Before discussing the SIL and HIL simulation modes in more detail, it is helpful to
outline the operation of VC and Aviones during flight and simulation. Figure 6.2 shows the
main VC window as it would appear during simulation. Table 6.1 lists and describes the
Prior to the flight (real or simulated), the user uploads the desired waypoints for the
flight to the autopilot from within VC. A „Takeoff‟ flight mode is then selected (spiral,
waypoint, or joystick), thereby engaging the throttle. The user then launches the aircraft. For
real flights with the Zagi UAV, the aircraft is hand-launched (and Aviones is not used); in
simulation mode, the aircraft is launched via the „UAV‟ drop-down menu in Aviones. The
aircraft will then climb, and once it reaches a safe altitude, it will automatically engage its
„Navigation‟ flight mode and fly along the desired flight path. The MSS controllers will
engage only once a specific byte is set on the autopilot from within VC.
71
1 2 3 4 5 6 7
8 9
Label Description
1 Flight mode selector
2 Attitude and telemetry information
3 Miscellaneous navigation data
4 Actual flight path
5 Aircraft
6 Desired flight path
7 Waypoint (2 of 3)
8 Warning message area
9 Ground Station GPS Position
72
The actual flight path, aircraft attitude, and telemetry data are all displayed in the VC
screen as shown in the previous figure. Additional telemetry and real-time aircraft
information are available from within various menus within VC. Figure 6.3, below, shows
HIL simulation. In SIL mode, VC and Aviones are run either on the same computer or two
separate computers, and they communicate with one another using the TCP/IP protocol. The
complete UAV system is simulated, including the Kestrel autopilot. Two initial conditions,
namely latitude and longitude, are set in another Aviones configuration file. Unfortunately it
is not possible to set an initial airspeed or altitude; the UAV must be re-launched from the
73
„ground‟ each time the simulation is restarted. While the aircraft is in simulated flight, VC
provides it with high level commands, and the aircraft relays simulated telemetry data in
return. Additional software can be written to communicate with VC and send externally-
generated commands to the simulated aircraft. In real flight, these commands would be sent
to the aircraft over the wireless modem via the commbox. This functionality is beyond the
scope of this thesis research it requires the purchase of additional software packages from
The HIL simulation mode is more complex in its implementation than the SIL
simulation mode, but it is more suitable for low level controller design where additional
hardware such as the Gumstix COM is required. In HIL simulation, high level commands are
generated by VC, initial conditions for the flight are set in Aviones, and the two programs
communicate with each other over the TCP/IP connection as per the SIL simulation mode.
However, the commands that are sent by VC to Aviones are also sent to the Kestrel autopilot
over a serial connection. It is noteworthy that the physical autopilot is used here, unlike in the
SIL simulation mode. Additionally, the low level control surface deflections generated by
Aviones are physically actuated by the respective servos onboard the aircraft. During the HIL
simulation, the Gumstix COM can also be used to communicate with the Autopilot, receive
telemetry, and generate low level control commands. Telemetry information is then also
relayed back through Aviones into VC and is displayed in the VC window. In this manner,
during HIL simulation, the autopilot serves merely as a communications bridge between
74
the normal flight and the HIL simulation modes are shown in Figure 6.4 and Figure 6.5,
1) The autopilot in the block diagram is shown with two of its four
communication ports: the modem port (labelled „M‟) and Serial Port A („A‟).
These are the two main serial ports that are used for communication during
2) The commbox can be used for HIL simulation; however, it is not required nor
recommended. A wired serial connection between the ground station and the
mode between the commbox and the Maxstream modem. This alternative
connection can more robustly handle the substantial number of additional data
packets that are transmitted between the autopilot and the ground station
3) The SIL simulation mode (not shown) consists of only the ground station
serves as a reference for future students. These instructions serve only as a summary of the
steps to initiate the simulation, and are not a substitute for the instruction manuals.
Familiarity with both VC and Aviones is recommended before attempting to run the
75
simulations.
Autopilot
Serial
VC Commbox M A
900
MHz Serial
Radio
Signal
Gumstix COM
Aviones Autopilot
Serial
M A
autopilot.dll
physics.dll
Serial
TCP/IP
Gumstix COM
VC
lateral controllers. Upon performing initial simulations, a noticeable difference between the
76
linear (Simulink) simulations and the nonlinear (HIL) simulations had been noticed. This
inconsistency was most likely due to differences between the dynamic model of the Zagi
aircraft created by Procerus for Aviones and the dynamic model developed from Perez‟s
software (for which the MSS controllers were designed). The general inaccuracy in the
Aviones model has been confirmed during discussions with an engineer at Procerus. Some
slight modifications have since been made to the Aviones configuration files to improve the
model accuracy; however, it is still expected that the in-flight behaviour of the UAV will be
different than in the HIL simulation. Furthermore, by changing the model to be closer to the
model developed using Perez‟s software, the simulated Kestrel autopilot actually becomes
unable to control the aircraft using the built-in navigation controllers. This is surprising
because, as will be discussed in Chapter 7, the autopilot can adequately control the aircraft in
real flight. In other words, the aircraft performance using the built-in autopilot is worse in the
HIL simulation than in real flight. The inability for the autopilot to control the UAV in
simulation made it extraordinarily difficult to set initial conditions for the execution of the
MSS controllers.
with the hope that some of the qualitative behaviours of the UAV during pitch and roll
The results of the pitch up manoeuver are shown in Figure 6.6, below. Three plots are
presented for comparison with the corresponding plots of Figure 4.3. As can be seen from
these results, the initial conditions for each of the parameters are non-zero, compared to the
digital simulation results of Chapter 4. Furthermore, none of the closed loop performance
specifications are met: there is significant pitch angle overshoot, the pitch angle does not
77
settle to within 5% of the +15 degree reference input during the controller‟s execution, the
elevator deflection exceeds 5 degrees away from trim, and the throttle saturates during the
first second of the manoeuver. However, as hypothesized above, the general behaviour of the
UAV is as predicted by the linear simulations. The aircraft pitches up, the initial elevator
deflection is negative and slowly increases, and the throttle initiates at a high value before
decreasing to a near constant value. Upon comparison to Figure 4.3, overall trends within the
The results of the lateral (roll) manoeuver from the HIL simulation are shown below,
in Figure 6.7. An additional note should be added here that, due to observed sensitivity of the
aircraft to aileron deflection in high winds, a limit on the aileron deflection angle was set in
the control software to +/- 2 degrees. Ideally, this would not affect the closed loop system
maximum deflection of +/- 1.5 degrees. However, from the figure it can be seen that in fact
As with the pitch up manoeuver, initial conditions are not exactly as per the linear
simulation. The manoeuver begins at a positive roll angle of +20 degrees. The controller
attempts to correct this initial roll angle error, however there is significant overshoot. The
aircraft then rolls back in the positive direction and reaches a roll angle near +15 degrees.
The y-axis velocity, Δv, initially oscillates about 0 ft/sec with large amplitude, however it
These small oscillations about a midpoint of 0 ft/sec are good results, indicating nearly zero
sideslip during the manoeuver. Finally the aileron deflection angle saturates at the limits of
+/- 2 degrees.
78
Figure 6.6: HIL simulation results - pitch up manoeuver (step applied at time t=0 - )
Upon initial investigation, it appears that none of the closed loop performance
specifications have been met. However, if one observes the system after 4 seconds, one of the
three specifications is actually met: the maximum y-axis velocity is 2.193 ft/sec, i.e. less than
79
Figure 6.7: HIL simulation results - roll manoeuver (step applied at time t=0 - )
6.6 Summary
This chapter introduces the use of Software-in-the-Loop and Hardware-in-the-Loop
simulation for the Zagi UAV. The benefits of Hardware-in-the-Loop simulation over
Software-in-the-Loop and linear simulations are presented as well. The Aviones and Virtual
Cockpit software packages that are provided by Procerus for simulation purposes are
80
controller‟s execution of pitch and roll manoeuvers. Although the HIL simulation results do
not closely match those of the Simulink linear simulations, there are some benefits to the
exercise. The simulated closed loop system performance is interesting to observe, there are
some qualitative similarities to the linear simulations, and most importantly, the benefits of
performing the simulation are still present: it has allowed the author to test the software that
will be running on the Gumstix COM while the UAV is airborne. This includes testing the
proper use of the data communication protocols and proper operation of the control surfaces.
81
CHAPTER 7
FLIGHT TESTING
7.1 Introduction
Flight testing of the Zagi UAV transpired from March until September 2010, once or
twice every week. The flight test location was the Koffler Scientific Reserve at Joker‟s Hill,
located at 17000 Dufferin Street, in King City, Ontario, about 24 kilometers north of UTIAS.
This section discusses the details of the flight testing process and the results of the flight test
UTIAS, Mr. Mingfeng Zhang and Mr. Difu Shi. The ground station was set up on a hill
overlooking the flight zone. A panoramic view of the flight zone as seen from the ground
station is shown in Figure 7.1, and a bird‟s eye view of the flight zone (outlined in red) and
82
Figure 7.2: Flight zone and ground station location (courtesy of Google Maps)
commbox, and the RC transmitter. The commbox is connected to its own dedicated GPS
receiver, in order to track the location of the ground station. This is useful for applications in
which the ground station is moving. The RC transmitter is used to control the UAV manually
when required. Due to the exceptional acceleration and flight speeds attainable by the Zagi
aircraft as well as the open loop instabilities discussed in Chapter 2, controlling the UAV
manually with the RC controller is a challenging task. Finally, the ground station is covered
by a camping tent in order to provide shade for the flight testers and to reduce the brightness
The flight tests require at least three people (flight operators) to be present. One of the
83
flight operators is responsible for UAV takeoff (hand-launching the aircraft) and controlling
the aircraft with the RC controller when necessary – typically only in the case of an
emergency. Since the RC is connected to the commbox at all times, this flight operator has
limited mobility during the flight test. Another flight operator is required to operate Virtual
Cockpit, log telemetry data, monitor the aircraft status, and update the flight path as required.
This operator is therefore required to initiate execution of the pitch and roll manoeuvers by
setting the proper debug byte, as discussed earlier. Finally, the third flight operator is
required to monitor the aircraft visually at all times, take photos or videos, and assist with
The first three months of flight testing were spent on developing a familiarization
with the Zagi UAV and its flight characteristics and with the ground station software, Virtual
Cockpit. In addition, an operations protocol was developed, outlining the procedure for
carrying out flight tests. The first months were difficult due to the learning curve required to
properly fly the Zagi UAV as well as the repairs that were required after crashes. Some flight
tests ended abruptly due to damage (from crashes) that could not be repaired in the field.
Following this initial stage, the next weeks were spent calibrating the aircraft sensors
for flight. This was also a challenge, as the calibration procedure can only be performed with
the aircraft under manual control with the RC transmitter. After the calibration period, the
UAV was able to fly to the designated GPS waypoints as set within Virtual Cockpit. The
level of accuracy with which the UAV could fly along its designated flight path was adequate
for the purposes of this research. However, in strong winds (estimated at 15-30 km/h), the
ability of the aircraft to track the correct heading and altitude diminished significantly.
84
Once all of the preliminary sensor calibration and tuning was completed,
development began on the integration of the MSS controllers on the Gumstix COMs. This
was followed by HIL simulation (the results of which are in the previous chapter) and flight
lateral (roll) and longitudinal (pitch-up) manoeuvers were attempted numerous times. The
results varied between trials because of differences in wind conditions and differences in the
initial conditions of the test manoeuver. The results provided in this section are representative
of the best results of the flight tests that were completed as of the date of the completion of
this thesis.
The results of the pitch-up manoeuver are shown below in Figure 7.3. A number of
interesting observations can be made from these results. Firstly, as with the HIL simulations,
it was very difficult to set the initial conditions for the manoeuver. It can be seen from the
figure that the initial pitch angle is in fact already approximately 15 degrees. The controller is
able to maintain approximately this pitch angle for 2.5 seconds. At this point, a heavy gust
actually caused the aircraft to pitch down and roll quickly to the right.
During the manoeuver, the elevator is oscillating heavily. Presumably, due to the
weather and wind conditions, the aircraft must use significant control effort to maintain a
steady pitch angle. Another interesting observation is that the throttle is nearly saturated
throughout the manoeuver. This is likely caused by the thrust required by the aircraft to fly
against the wind. From these results, it can be seen that none of the closed loop performance
specifications have been met by the MSS controller. A discussion of possible reasons for this
85
result is provided in the next section.
Figure 7.3: Pitch-up manoeuver flight test results (step applied at time t=0 - )
The results of the roll manoeuver are provided in Figure 7.4, below. Unfortunately,
due to hardware constraints during this flight test, the parameter ∆v could not be measured.
The roll angle, however, can be seen to significantly overshoot the reference angle of 15
86
degrees. Initially, the aircraft overshoots the desired roll angle of 15 degrees, and then rolls
back to correct this error. However, the aircraft then continues to roll to the right. Upon
observation of the aileron control angle, one will see that the aileron deflection remains in the
negative region. This may be the cause for the continued increase in roll angle. One will also
note that there is no software-based saturation limit on the aileron deflection for this flight
test as there was in the HIL simulation. The software-based limit was added after this flight
test was completed; however, due to strong winds, the flight tests that were performed with
the saturating limit in place actually had inferior results to this flight test. In summary, the
three closed loop performance specifications on the lateral controller have not been satisfied
Figure 7.4: Roll manoeuver flight test results (step applied at time t=0 - )
87
7.4 Discussion
The results of the previous section demonstrate that the closed loop performance
specifications on the longitudinal and lateral manoeuvers have not been strictly met in-flight
by the MSS controllers, even though they have been met in the discrete time linear
simulations using Simulink. Furthermore, there are some distinct differences between the
behaviour of the model in the HIL simulation and the flight tests. These differences can be
It has been mentioned a number of times that the proper initial conditions for the
execution of the MSS controllers could not be obtained in the HIL simulation or during the
flight tests. The actual initial condition for the manoeuvers is the trimmed (equilibrium)
flight. This difference in initial conditions would have an effect on certain transient response
characteristics of the aircraft (such as settling time and overshoot) once the manoeuver is
executed. The differences in initial conditions may also likely attribute to the differences in
aircraft response between the HIL simulations and the flight tests.
The development of the dynamic model of the UAV using Perez‟s software was the
first step of this research prior to the development of the MSS controllers. However, since
then, some changes have occurred to the aircraft that have an effect on the dynamic model.
Such changes include the addition of the Gumstix COM and Tobi expansion board that were
recently on the aircraft. As well, there has been some damage to the aircraft due to crashes.
This damage has been repaired, although the aerodynamic characteristics of the aircraft may
have been impacted. Additionally, during the flight tests, the two LiPo batteries that powered
88
the electric motor and control hardware were mounted on the aircraft near the nose.
However, the exact placement of the batteries may have been inconsistent from flight to
flight and may shift during flight, even though they were mounted with Velcro. Any of these
changes will have subsequently affected the state space model of the aircraft by modifying its
geometric and inertial properties. It is impractical to update the dynamic model of the aircraft
after every change to the airframe due to the length of time required for this process. As such,
The development of the dynamic model of the Zagi UAV provided in Chapter 2 is
also based on the assumption that the effects of wind are negligible. Therefore, in the
presence of strong winds, the accuracy of the state space model may be significantly reduced.
Additionally, although the UAV can technically fly in winds up to 20-30 km/h, the pressure
changes caused by the high-speed winds cause noise in altitude and velocity measurements
[25], thus negatively affecting other aspects of the state space controllers that rely on these
measurements.
Section 5.6 discusses the development of the linear thrust model for the Zagi aircraft
and the algorithm for the conversion of the throttle value calculated by the controller into the
throttle scale used by the autopilot. This throttle scale conversion algorithm depends on
parameters that have been assumed constant, yet in actuality are time-varying and nonlinear
with respect to the motion of the aircraft. This inaccuracy will have resulted in differences
between actual thrust output and calculated thrust output and, consequently, caused
89
discrepancies between simulated and actual flight performance.
7.5 Summary
This chapter has provided a detailed description of the flight testing experience,
including some of the difficulties that were encountered that prolonged the primary flight
testing process. The MSS controllers were applied during the flight test and the results were
discussed. A number of reasons were provided as to why none of the closed loop
performance specifications were met by the aircraft during the flight tests.
90
CHAPTER 8
8.1 Conclusions
This thesis presents the application of the MSS controller design method to aircraft
control. Specifically, two MSS state space controllers are designed for a Zagi XS 48-inch
wingspan flying-wing mini-UAV. Since the linear dynamic model of the aircraft is
specifications are set for the lateral and longitudinal closed loop systems for roll and pitch-up
manoeuvers, and these specifications are met by the MSS controllers in both continuous and
discrete time linear simulations using Simulink. The MSS controller design method has
therefore demonstrated the way in which it can be used to simplify a complex multiple-
The concept of SIL and HIL simulations are presented, along with the benefits of
each method. HIL simulations are performed on the UAV and the results are compared
qualitatively to the linear simulation results; however, none of the closed loop specifications
A Gumstix COM has been used as an external on-board computer to execute the MSS
controllers. It communicates with the Kestrel autopilot and sends it low level control
commands. These commands overwrite the incoming commands from the ground station.
91
Experimental flight tests are performed and the results for the lateral and longitudinal
manoeuvers are presented. The closed loop performance specifications are not strictly met by
the MSS controllers in flight, however, it is interesting to compare the flight-test results to
those of the linear and HIL simulations. A number of reasons have been suggested as to why
the aircraft did not behave in flight as predicted by the linear simulations in Simulink and
why the behaviour of the aircraft during flight tests differed from the HIL simulations.
The developing of a new dynamic model of the aircraft that incorporates the dynamic
effects of the control hardware on-board would be useful for obtaining more accurate
simulation results. Perez‟s software could be used for the modeling process; however, the
results from the software could be complemented by empirical data from actual flights. For
example, in [23], the stability and control derivatives of a small UAV is determined through
Once the new model is developed, however, the MSS controllers would likely need to
be redesigned.
The MSS controllers developed in this work were designed based on decoupled
longitudinal and lateral state space equations. Additionally, only simple pitch and roll
92
manoeuvers were used as the standard reference commands. Agile aircraft such as the Zagi
are capable of performing more complex manoeuvers, where both pitching and rolling occurs
simultaneously. It would be advantageous to test the MSS controller performance under more
complex manoeuvers.
As discussed in Chapter 7, the current flight test zone is the Koffler Scientific
Reserve at Joker‟s Hill. This flight test zone introduces a number of difficulties into the flight
testing process. Firstly, it takes approximately 30-40 minutes to drive to Joker‟s Hill from
UTIAS. It takes a further 40-50 minutes to commute to UTIAS from the author‟s home near
the St. George Campus of the University of Toronto. As such, the total commute time is
approximately 1.5 hours each way. During the summer months, flight tests were conducted
once or twice per week, and as a result, a significant amount of time and money was spent
simply on transportation to and from the flight tests. Furthermore, if the aircraft was ever
damaged during flight tests to the extent that it had to be repaired with lab equipment, the
flight operators returned to UTIAS and repaired the damage, but could not return to Joker‟s
Hill to continue with flight tests due to the amount of time that would be required to do so.
Finally, and most importantly, Figure 7.2 shows that the actual flight area within Joker‟s Hill
is surrounded by trees, hills, and private farms, and that the section flight area within an
unobstructed view is quite small: approximately 200m long by 100m wide. A much larger
area of flat land would be ideal for the flight tests performed for this, as well as other UAV
It is therefore recommended that in the future, the UAV research group(s) at UTIAS
seek out a larger flight zone that is close to UTIAS or the St. George Campus and that has a
93
flat, unobstructed view of at least 500 meters in each direction.
The results of presented in this thesis demonstrate the difficulties in achieving the
closed loop performance specifications through flight tests, especially with low-weight
aircraft such as the Zagi mini-UAV. This is mainly due to the difficulties in setting initial
conditions and in rejecting external disturbances from sources such as wind. It may therefore
be worth-while to design new longitudinal and lateral MSS controllers to satisfy a different
The MSS controllers designed in this thesis are the inner-most controllers of a multi-
loop aircraft control system because they directly actuate the control surfaces (the elevons
and electric motor). Higher (outer) level controllers can then be designed to use these inner
loop controllers. For example, an altitude-hold controller could calculate a desired pitch
angle based on an altitude error signal. This desired pitch angle could then be fed to the MSS
pitch angle controller, which could actuate the elevons to achieve the desired pitch angle.
8.2.6 Direct Digital Design Using the MSS Controller Design Method
controller design in continuous time. To the best of the author‟s knowledge, there is no
mathematical framework for direct design of a discrete time controller using the MSS
controller design method. Rather, the only way to design a discrete time controller is to
design a controller in the continuous time framework and then test the closed loop system
94
using a discretized version of the controller; if the closed loop specifications are not met, then
the controller must be redesigned. The development of a direct digital design methodology
95
REFERENCES
[1] Hall, J. and Mohseni, K., “Lateral Control of a Tailless Micro Aerial Vehicle,” AIAA
Guidance, Navigation, and Control Conference and Exhibit, August 21-24, 2006,
Keystone, Colorado.
[2] Beard, R. W., McLain, T. W., Nelson, B. W., Kingston, D., and Johanson, D.
Proceedings of the IEEE, Vol. 94, No. 7, July 2006, pp. 1306-1324.
[3] Bayraktar, S., Fainekos, G. E., and Pappas, G. J., “Experimental Cooperative Control of
Fixed-Wing Unmanned Aerial Vehicles,” 43rd IEEE Conference on Decision and Control,
[4] Campa, G., Gu, Y., Seanor, B., Napolitano, M. R., Pollini L., Fravolini, M. L., “Design
[5] Boscovic, J. D., Prasanth, R., and Mehra, R. K., “A Multi-Layer Autonomous Intelligent
[6] Chao, H., Cao, Y., and Chen, Y., “Autopilots for Small Fixed-Wing Unmanned Air
[7] Ngo, A. D., Reigelsperger, W. C., and Banda, S. S., “Tailless Aircraft Control Law
Design Using Dynamic Inversion and µ-synthesis,” Proceedings of the 1996 IEEE
96
[8] Shin, D., and Kim, Y., “Reconfigurable Flight Control System Design Using Adaptive
Neural Networks,” IEEE Transactions on Control Systems Technology, Vol. 12, No. 1,
[9] Innocenti, M., Pollini, L., and Turra, D., “A Fuzzy Approach to the Guidance of
[10] Blight, J. D., Dailey, R. L., and Gangsaas, D., “Practical control law design for aircraft
[11] Liu, H. T., and Mills, J. K., “Controller Design for Multiple Simultaneous
[12] Liu, H. H. T., and Mills, J. K., “Multiple Simultaneous Specifications Control Problem
[13] Liu, H. T., “Multi-objective Design for an Integrated Flight Control System: a
[14] Liu, H. H. T., “Decentralized Flight Control Integration and Performance Evaluation,”
Control and Intelligent Systems, Vol. 33, No. 3, 2005, pp. 166-174.
[15] Yau, D. T. W., Fung, E. H. K., Wong, Y. K., and Liu, H. H. T., “Multivariable
97
identification and controller design of an integrated flight control system,” Applied
[17] Procerus Technologies. Installation and Configuration Guide, Document Version 2.0,
October 2008.
[18] Etkin, B. Dynamics of Atmospheric Flight. 1st ed., Dover Publications, Inc., Mineola,
[19] Etkin, B., and Reid, L. D., Dynamics of Flight: Stability and Control, 3rd ed., John Wiley
[20] Nelson, R. C., Flight Stability and Automatic Control, 2nd ed., WCB McGraw-Hill,
[21] Yechout, T. R., Morris, S. L., Bossert, D. E., and Hallgren, W. F., Introduction to
Aircraft Flight Mechanics: Performance, Static Stability, Dynamic Stability, and Classical
Feedback Control, 1st ed., American Institute of Aeronautics and Astronautics, Inc.,
[22] Bruce, P. D., and Kellet, M. G., “Modelling and identification of non-linear
Engineers, Part G: Journal of Aerospace Engineering, Vol. 24, No. 1, 2000, pp. 27-40.
[23] Jung, D., and Tsiotras, P., “Modeling and Hardware-in-the-Loop Simulation for a Small
[24] Shan, J., and Liu, H. H. T., “Synchronized Tracking Control of Multiple Flying Wings,”
98
2006, pp 1434-1439.
[25] Li, N. “Formation Flight Control of Multiple Unmanned Aerial Vehicles with Motion
[26] Perez, R., Liu, H. T., and Behdinan, K., “A Multidisciplinary Optimization Framework
[27] S. Boyd, C. Barrat, and S. Norman, “Linear Controller Design: Limits of Performance
Via Convex Optimization,” Proceedings of the IEEE, Vol. 78, No. 3, March 1990, pp
529-574.
[29] Procerus Technologies. Kestrel User Guide, Document Version 2.0, October 2008.
_id=227
_id=230
[33] Johnson, E. N., and Mishra, S., “Flight Simulation for the Development of an
[34] Johnson, E. N., and Fontaine, S., “Use of Flight Simulation to Complement Flight
99
Testing of Low-Cost UAVs,” AIAA Modeling and Simulation Technologies Conference
100
APPENDIX A
This appendix contains the lateral and longitudinal stability and control derivatives
(in their dimensional form) for the Zagi UAV. The general notation for the dimensional
Derivative Value
-0.0051
0.0052
0.0195
0
0
0
0
-0.1003
-0.6800
-0.1491
0
0
0
-6.9670e-08
0
-0.0266
-0.0556
0
0
0
0
-11.4075
101
-0.4483
0.1188
0
0
Derivative Value
-0.0042
-0.0425
-8.5695e-04
0
0
0
-0.0645
-0.4972
0.1395
0
0
0
8.9266e-04
-0.0408
-0.0048
0
0
0
0
8.6292
-1.0373
102
APPENDIX B
HARDWARE-IN-THE-LOOP SIMULATION
PROTOCOL
A USB to serial converter cable is required for HIL simulation if the computer that is
running Aviones does not have a standard serial port. This is because the serial
communication cable provided by Procerus is only compatible with 9-pin serial ports.
Through trial and error it has been found that, for some unknown reason, only certain USB
to serial converter cables can be used for this purpose. Although all of the converter cables
are visibly identical, some fail to work for HIL simulation. This finding has been confirmed
by. Consequently, if there is no communication between the ground station and the autopilot
in Step 7, below, it is recommended that the user try to use a different USB-serial converter
cable. The specific cable mentioned below (part number HL340) has proven to work and it is
1) Disconnect the autopilot from the radio modem (the bottom two hardware
boards).
103
3) Connect the DB9 serial connector of the HL340 to the DB9 connector of the
cable to the autopilot‟s modem port. Ensure that the 5th wire (the
folder and change the first line to match the communications port number of
the HL340 (from Step 2), For example, if communications port number 4 is
ever changes in the future, set these initial conditions back to their desired
values.
7) Start VC and open the communications port that the HL340 is connected to;
9) In VC, go to Agents->Edit Agent List, and check the box „HIL Sim‟ next to
the UAV indicator; Click OK; The VC warning message area should display a
10) The screen will refresh, an airplane will appear in Aviones, and the UAVs
104
13) Select a takeoff mode in VC.
14) In Aviones, from the „UAV‟ drop-down menu, select „Launch If Necessary‟
or „Relaunch Current UAV‟ to launch the UAV. The aircraft will launch and
105