Вы находитесь на странице: 1из 125

An Automated Controller Design Methodology for

Six Degree-of-Freedom Aircraft Models

A Thesis submitted in partial fulfillment


of the requirements for the degree of
Master of Science in Mechanical Engineering

by

Dominic J. Dierker
B.S.M.E., Wright State University, 2016

2017
Wright State University
Distribution Statement A: Unlimited Distribution

Cleared for Public Release by AFRL/WS Public Affairs on 04 DEC 2017


Case Number: 2017-6057

The views expressed in this article are those of the author and do not reflect the official
policy or position of the United States Air Force, Department of Defense, or the U.S.
Government.
Wright State University
GRADUATE SCHOOL

January 16, 2018

I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY SUPER-


VISION BY Dominic J. Dierker ENTITLED An Automated Controller Design Methodology
for Six Degree-of-Freedom Aircraft Models BE ACCEPTED IN PARTIAL FULFILL-
MENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of Science in Mechanical
Engineering.

Rory Roberts, Ph.D., P.E.


Thesis Director

Joseph C. Slater, Ph.D., P.E.


Chair, Department of Mechanical and
Materials Engineering

Committee on
Final Examination

Rory Roberts, Ph.D.

Mitch Wolff, Ph.D.

William Schley, S.M.

Darcy Allison, Ph.D.

Barry Milligan, Ph.D.


Interim Dean of the Graduate School
ABSTRACT

Dierker, Dominic J. . M.S.M.E., Department of Mechanical Engineering, Wright State University,


2017. An Automated Controller Design Methodology for Six Degree-of-Freedom Aircraft Models.

This thesis presents an automated design methodology for development of six degree-
of-freedom aircraft controllers. The essential functions required of the controller design are
1) to provide sufficient inner loop compensation to guarantee dynamic stability and accept-
able handling qualities over the full flight envelope, and, 2) to enable automated mission
following capabilities through implementation of outer loop trackers. A hierarchical con-
trol architecture consisting of nested nonlinear dynamic inversion control loops is proposed
as a means of achieving these top level objectives. Gain tuning based on an automated lin-
earization methodology is then suggested. Next, an automated optimal control allocation
algorithm is tested and implemented. The performance of the control allocator is explored
by varying the user-specified secondary objective functions within the context of non-linear
time domain six degree-of-freedom simulations. Sample results and recommendations for
future improvements to the methodology are then provided.

iv
List of Symbols
Roman Symbols

CD drag coefficient
CD0 parasite drag coefficient
CL lift coefficient
CL0 lift coefficient at minimum drag
CW weight coefficient
cT
cb control surface effectiveness matrix
D drag lb
g local acceleration due to gravity f t/s2
h nonlinear function of state data
îb body fixed x-direction unit vector ft
îe inertial axes x-direction unit vector ft
ĵb body fixed y-direction unit vector ft
ĵe inertial axes y-direction unit vector ft
J intertia tensor slug · f t2
k̂b body fixed z-direction unit vector ft
k̂e inertial axes z-direction unit vector ft
kinner inner loop gain s−1
kouter outer loop gain s−1
L lift lb
L rolling moment f t · lbs
∂L
L,α change in lift with respect to angle of attack: ∂α
M pitching moment f t · lbs
m mass slug
N yawing moment f t · lbs
n load factor
P power;roll rate hp, radians/s
Q pitch rate radians/s
q̄ dynamic pressure lb/f t2
R minimum turn radius;yaw rate f t, radians/s
S wing area f t2
T thrust lb
t time s

v
Roman Symbols Continued

u input vector to the aircraft plant model


u x-component of the total velocity f t/s
v y-component of the total velocity f t/s
V velocity f t/s
Vt true airspeed f t/s
~v velocity vector f t/s
w z-component of the total velocity f t/s
w1 (t) Noise input
w2 (t) Noise input
W weight lb
x state vector
xb forward body-fixed coordinate
yb rightward body-fixed spanwise coordinate
zb downward body-fixed coordinate

vi
Greek Symbols


α angle of attack

α0 zero-lift angle of attack

αHO best cruise angle of attack

αKP critical angle of attack

β angle of side-slip

γ climb angle

δa differential deflection of the left and right ailerons

δe collective deflection of the left and right elevators

δr differential deflection of the left and right rudders
ζ damping ratio
η efficiency

θ pitch angle
ν1 (t) Noise input
σ damping rate
τw time constant s−1
τ time constant s−1

φ roll angle

φ0 roll angle at beginning of the turn

ψ heading angle
ωn natural frequency rad/s
ωns p short period undamped natural frequency rad/s
ω
~ angular velocity vector rad/s

vii
List of Acronyms
2.5-DOF Two and a Half Degree-of-Freedom
6-DOF Six Degree-of-Freedom
AFSIM Advanced Framework for Simulation, Integration and Modeling
API Application Program Interface
BFS Basic Feasible Solution
CAP Control Anticipation Parameter
CFD Computational Fluid Dynamics
CS Control Surface
CV Control Variable
DoD Department of Defense
ISRES Improved Stochastic Ranking Evolution Strategy
LQR Linear Quadratic Regulator
MATLAB Matrix Laboratory
NASA National Aeronautics and Space Administration
NDI Nonlinear Dynamic Inversion
NED North East Down
NLOPT Nonlinear Optimization
PI Proportional and Integral Control
TSPI Time Space Position Information
UAV Unmanned Aerial Vehicle
WGS84 World Geodetic Survey 1984
HALE High Altitude Long Endurance Aircraft

viii
Contents

1 INTRODUCTION 1
1.1 The 6-DOF Modeling Process . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 6DOF PLANT MODELING 8


2.1 Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Applied Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Aerodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Propulsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 FEEDBACK LINEARIZATION 17
3.1 Control Architecture Background . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Gain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 Nonlinear Dynamic Inversion (NDI) . . . . . . . . . . . . . . . . . 19
3.1.3 Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Current Control Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Applied NDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Inner loop regulator (NDI) . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3 Outer loop regulator (NDI) . . . . . . . . . . . . . . . . . . . . . . 26
3.2.4 Tracking control loop . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Gain Selection via Handling Qualities . . . . . . . . . . . . . . . . . . . . 30
3.3.1 Longitudinal Dynamics . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 Lateral Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.3 Linmod Linearization . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.4 NLOPT Optimization . . . . . . . . . . . . . . . . . . . . . . . . 43

4 CONTROL ALLOCATION 46
4.1 Linear Control Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Euminx Control Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 IMPLEMENTATION AND CASE STUDIES 60


5.1 Automated Gain Selection Results . . . . . . . . . . . . . . . . . . . . . . 60

ix
5.2 Control Allocation Results . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 HALE Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.1 Limited Euminx Allocation vs. Linear Stick and Rudder Mixer . . . 67
5.3.2 Euminx Results with Free Control Surfaces . . . . . . . . . . . . . 75
5.4 F16 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6 CONCLUSIONS AND SUGGESTED FUTURE IMPROVEMENTS 99


6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Bibliography 102

A Simplex Algorithm 106


A.1 Simplex Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

x
List of Figures

1.1 Top level work flow process for 6-DOF model development . . . . . . . . . 2
1.2 Traditional top level aircraft control architecture . . . . . . . . . . . . . . . 4

2.1 Axis orientation of the body-fixed coordinate frame . . . . . . . . . . . . . 10

3.1 Generic gain scheduled control architecture . . . . . . . . . . . . . . . . . 18


3.2 Generic NDI control architecture . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Generic backstepping control architecture . . . . . . . . . . . . . . . . . . 21
3.4 Block Diagram of the current control architecture . . . . . . . . . . . . . . 23
3.5 2.5-DOF Free Body Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 Cooper-Harper rating scale (1969) . . . . . . . . . . . . . . . . . . . . . . 32
3.7 Damped and undamped motion of the short period mode . . . . . . . . . . 34
3.8 Typical motion of the phugoid mode . . . . . . . . . . . . . . . . . . . . . 35
3.9 Short period natural frequency requirements as a function of acceleration
sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.10 Short period CAP and damping ratio requirements . . . . . . . . . . . . . . 38
3.11 Typical motion of the Dutch Roll mode . . . . . . . . . . . . . . . . . . . 38
3.12 Reduced model used with Linmod . . . . . . . . . . . . . . . . . . . . . . 40
3.13 Longitudinal Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.14 Lateral Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.15 Combined Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 HALE Control Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


4.2 Feasible region P for the Example shown in Appendix A. . . . . . . . . . . 53
4.3 Local slope approximation with and without intercept term [1] . . . . . . . 56
4.4 Global vs. Local effectiveness approximation [1] . . . . . . . . . . . . . . 57
4.5 Local slope approximation with delta moment commands . . . . . . . . . . 58
4.6 Aero data clipping logic [1] . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.1 Optimum inner loop gains for the linearized model with the stick and rud-
der mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2 Optimum outer loop gains for the linearized model with the stick and rud-
der mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

xi
5.3 Tracking results using the HALE model with a stick and rudder mixer using
unit gains in the inner and outer control loops. . . . . . . . . . . . . . . . . 63
5.4 Tracking results using the HALE model with a stick and rudder mixer using
modified handling quality gains in the inner and outer control loops. . . . . 63
5.5 Euminx implementation tested by commanding δL, δM , and δN . . . . . . 65
5.6 Euminx response time commanding δL, δM , and δN . . . . . . . . . . . . 66
5.7 Linear control mixer tracking results . . . . . . . . . . . . . . . . . . . . . 68
5.8 Limited Euminx control allocator tracking results . . . . . . . . . . . . . . 69
5.9 Commanded moments for both control allocation methods . . . . . . . . . 70
5.10 Achieved moments for both control allocation methods . . . . . . . . . . . 71
5.11 Control surface moment effects for both control allocation methods . . . . 72
5.12 Engine moment effects for both control allocation methods . . . . . . . . . 73
5.13 Control surface deflections for the linear control mixer . . . . . . . . . . . 74
5.14 Control surface deflections for the limited Euminx control allocator . . . . 74
5.15 Euminx Tracking with free control surfaces and a preference vector used to
minimize the overall deflections from the current control surface locations. 76
5.16 Euminx Tracking with free control surfaces and a preference vector used
to minimize the overall deflections from zero. . . . . . . . . . . . . . . . . 76
5.17 Euminx tracking with free control surfaces and PI tracking control. . . . . . 77
5.18 Euminx lift commanded with free control surfaces and PI tracking control. . 78
5.19 Euminx lift achieved with free control surfaces and PI tracking control. . . 78
5.20 Euminx allocator commanded and achieved moments with PI tracking con-
trol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.21 Commanded angle of attack, side slip angle, and bank angle for the Euminx
control allocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.22 Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.23 Euminx allocator tracking results with moderate turbulence. . . . . . . . . 81
5.24 Euminx control surface deflections with free control surfaces and a prefer-
ence vector used to minimize the overall deflections from the current con-
trol surface locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.25 Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator with a preference vector used to minimize the overall de-
flections from the current control surface locations. . . . . . . . . . . . . . 84
5.26 Euminx control surface deflections with free control surfaces and a prefer-
ence vector used to minimize the overall deflections from zero. . . . . . . . 85
5.27 Euminx control surface deflections with free control surfaces under turbu-
lent conditions and a preference vector used to minimize the overall deflec-
tions from zero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.28 Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator with a preference vector used to minimize the overall de-
flections from zero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.29 Induced drag for the Euminx control allocator with a preference vector used
to minimize the overall deflections from the current control surface locations. 87

xii
5.30 Induced drag for the Euminx control allocator with a preference vector used
to minimize the overall deflections from zero. . . . . . . . . . . . . . . . . 87
5.31 Control surface deflections with all rate limits set to 120 degrees per second. 88
5.32 Control surface deflections with aileron and rudder rate limits set to 120
degrees per second and with the ruddervator rate limit set to 10 degrees per
second. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.33 Initial control surface deflections with all rate limits set to 120 degrees per
second. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.34 Initial control surface deflections with aileron and rudder rate limits set to
120 degrees per second and with the ruddervator rate limit set to 10 degrees
per second. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.35 Control surface deflections with the right bottom rudder’s rate limit set to
zero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.36 Control surface deflections with the left outer aileron, left bottom rudder,
and right top rudder as the preferred surfaces used to generate the com-
manded moments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.37 F16 tracking using the Euminx control allocator and the HALE gain set. . . 94
5.38 F16 tracking using the Euminx control allocator and a selected F16 gain set. 95
5.39 Zoomed F16 tracking using the Euminx control allocator and the HALE
gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.40 Zoomed F16 tracking using the Euminx control allocator and a selected
F16 gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.41 F16 turbulent tracking using the Euminx control allocator and a selected
F16 gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.42 F16 turbulent tracking using the Euminx control allocator and the HALE
gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

A.1 Feasible region P for the Example shown in Appendix A. . . . . . . . . . . 107

xiii
List of Tables

3.1 Short period damping ratio requirements . . . . . . . . . . . . . . . . . . . 37


3.2 Dutch Roll requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

xiv
Acknowledgment
Funding support for this research effort was provided by AFRL/RQQC under contract
AF-FA8650-04-D-2409. I wish to thank Ms. Andrea Gilkey, Ms. Bonnie Schwartz and
Mr. Matthew Duquette for their support, and look forward to the opportunity to further
develop and implement the methods presented in this thesis. I also wish to thank Dr. Mike
Oppenheimer and Dr. Steven Rasmussen of AFRL/RQQA for their willingness to share
their time and expertise, especially as consultants in integration of the control allocation
algorithm used in this work.
I would like to thank Dr. Rory Roberts for serving as thesis advisor and for helping
to arrange the collaboration between AFRL and Wright State University that made this
project possible. Dr. Mitch Wolff was also instrumental in bringing me on board to take
advantage of this opportunity, and so I thank him as well. Finally, to Dr. Darcy Allison and
Mr. Bill Schley, I would like to like to extend my appreciation for your time and attention
in serving on my review committee.

xv
Dedicated to
My wonderful parents,

xvi
INTRODUCTION

Time domain six degree of freedom (6-DOF) aircraft simulation models find widespread
use among airframers, aircraft subsystem suppliers, flight training schools, universities and
research organizations, and even among video game enthusiasts. The dynamics modeled
in a “6-DOF” simulation are the six rigid body degrees of freedom of the aircraft; namely,
three linear displacements, say, north, east and up, and three angular displacements, roll,
pitch and yaw. For many studies the rigid body assumption is not well suited to model the
relevant physics. For example, wing flexibility can be a critical factor in properly modeling
the dynamics of a hard landing. Wing flutter, torsional divergence, control reversal, and
many other important aeroelastic phenomena are likewise outside the scope of 6-DOF ap-
plications. For these studies, a more sophisticated model is required. On the other hand,
there are many applications for which full 6-DOF modeling is not required. Many aircraft
performance metrics can be adequately estimated using point mass models with drag po-
lar aerodynamics. Examples include turning performance, rate of climb calculations, or
estimates of range and endurance. When lower order models are adequate to answer the
questions of interest, they are generally preferred because creation of a high quality 6-DOF
model is both data and labor intensive. Nevertheless, there are many applications for which
6-DOF aircraft modeling is the fidelity level of choice. 6-DOF models are used to design
and tune autopilots, to evaluate and design actuation subsystems, to simulate performance
in the presence of gusts and turbulence, to find the operational corners of the flight enve-
lope, to evaluate control power, handling qualities characteristics and stability margins, and

1
to train pilots and flight crews. This is only a small sampling of the many modeling and
simulation activities that rely on 6-DOF air vehicle models.
This chapter provides a brief overview of the processes typically involved with creat-
ing a 6-DOF aircraft model, with an emphasis on the control design aspects. This context
helps to clarify the principal goals and objectives of this thesis.

1.1 The 6-DOF Modeling Process

There are many different ways that the 6-DOF de-


velopment process can be decomposed, but for the
present purpose, the very high level work flow dia-
gram presented in Figure 1.1 is sufficient.
As shown, the development process begins with
Data Acquisition and Preparation. Depending on the
type of aircraft being modeled, the types of studies
to be performed and the size of the flight envelope
in which the model is expected to execute, this step
can be very time consuming and expensive. Rep-

Figure 1.1: Top level work flow pro- resentative data, generally in tabular form, must be
cess for 6-DOF model development
acquired for three major areas: power plant, aerody-
namics, and weight and balance.
In many applications, the power plant is represented by a highly detailed dynamic
model. Depending on the physics resolved in a particular engine model, such dynamics
may require smaller time steps than those for the 6-DOF integrations, in which case the
engine model may become the pacing element in the overall runtime ratio. Frequently,
however, the engine model is represented in traditional “5-column” engine tables wherein
there are three independent variables (Mach number, altitude and throttle position) and

2
two output variables, the net thrust and the specific fuel consumption. With such tables
anchoring the engine performance, approximate engine dynamics are often added through
use of low-order filters. Nevertheless, acquisition of 5-column engine data is, itself, a non-
trivial and important task.
Obtaining an aerodynamic database is an even bigger task. For integration into a
6-DOF model, the aerodynamics of the aircraft must ultimately be resolved as resultant
force and moment vectors acting at the aircraft cg location. This much is true of all body
and applied forces. However, to properly capture the effectiveness of control surfaces, the
aerodynamic tables must be able to account for individual control surface contributions.
This requires tabular aerodynamic data that is a function of Mach number, angle of attack,
angle of sideslip, control surface deflection angle and possible interference effects. Such
tables are usually implemented as “delta tables” meaning that the data represents just the
effect of deflecting a particular control surface. Whether the aerodynamic data is collected
via flight test, wind tunnel test, computational fluid dynamics (CFD) or through use of
empirical databases, generating a representative aerodynamic database in this format is a
very significant effort. If actuation studies are to be pursued, hinge moment data about
each of the control surface hinge lines are also required. Even after all of the control
surface aerodynamic tables have been put in place, there remain several other aerodynamic
effects to be considered, including estimating the rate dependent derivatives, accounting
for engine installation effects and possible effects due to propeller downwash, just to name
a few. Obtaining the aerodynamic database is usually the biggest single effort required to
instantiate a quality 6-DOF model.
For bookkeeping weight and balance, a 6-DOF model requires knowledge of the gross
weight, the cg location and the inertia tensor at all times in the simulation. Sometimes this
is summarized by stating that a full accounting of the zeroth, first and second mass moments
must be implemented. Traditionally, this problem is approached by establishing a weight,
cg location and inertia tensor for the empty aircraft, and then updating these measures as

3
Figure 1.2: Traditional top level aircraft control architecture

a function of the fuel fraction state for each fuel tank. This requires that basic weight and
balance data for the empty aircraft be available, and that the locations and volumes of the
fuel tanks are known in aircraft coordinates. There are approximate empirical methods to
help provide these data, but preferable is to either 1) have a weight and balance report if
modeling an existing aircraft, or 2) to use CAD programs (e.g., C ATIAr or Unigraphics
NXr ) to facilitate the component weight estimates. For military aircraft, an accounting of
expendables is also required.
Acquiring and preparing the data required for creation of a 6-DOF model is thus a
very significant effort, explaining why the previously mentioned reduced order models are
widely used. The next step in the development process shown in Figure 1.1 is the Control
System Design and Tuning.
At a top level, the controller can be thought to have two major functions. The first is
to assure adequate stability and handling of the aircraft at all points in the flight envelope.
The second is to provide a basic guidance and navigation capability so that the aircraft will
track desired speed and position commands. Figure 1.21 depicts a standard top-level control
1
This Figure, in slightly modified form, originates from Tewari [2]

4
system with nested loops to provide these functionalities. The aircraft attitude dynamics
is paramount in stability and handling considerations, with the inner loop feedback block
typically operating at frequencies an order of magnitude greater than the tracking controller
represented by the outer loop. Input and feedback signals for the attitude control loop
typically consist of the euler angles, ψ, θ, φ, the velocity, V , and the aerodynamic angles
of attack and sideslip, α and β. For the tracking loop, the input and feedback data are
typically position data in the form of latitude, longitude and altitude, and velocity data
in the form of true airspeed, heading and climb angle. The noise inputs shown in Figure
1.2 denoted by w1 (t), w2 (t), ν1 (t) emphasize that the control systems must provide robust,
stable performance even in the presence of noisy state data.
Figure 1.2 does not, however, provide any insight into the detailed design and tuning
of the inner and outer control loops. There are a number of different architectures and
techniques that have been successfully employed, both for simulation purposes and, of
course, for real world aircraft. While most fly-by-wire aircraft controllers are built as a
nested set of gain-scheduled PID control loops, non-linear control techniques have gained
prominence since at least the mid-1990’s [3]. A noteworthy example of this is the F-
35 flight control laws, which were developed using nonlinear dynamic inversion (NDI)
techniques [4]. However, regardless of which particular control methodologies are favored
by the prospective 6-DOF modeler, there is a significant amount of work to be done in the
design, tuning and testing of the aircraft control laws. Developing a methodology to speed
up this process – ultimately to automate the process entirely – is the main objective of this
thesis.
In questioning why automated aircraft control design techniques are not already widely
available, say through the M ATLABr Aerospace Toolbox, we may turn our attention once
again to Figure 1.2. Here the control input vector u(t) is the signal sent to the plant model
(shown in the Figure as “Aircraft Dynamics”). What command signals comprise u(t)?
From an aircraft dynamics perspective, control of the vehicle ultimately depends on the

5
moments applied about each of its three body-fixed axes. These moments result from de-
flection of control surfaces, and, in some cases, from the orientation of the thrust vector
relative to the longitudinal axis of the aircraft. Thus, whether included in the controller or
the plant model, somewhere there must exist a control allocator that determines the best
way to deploy the control effectors to achieve the desired applied moments. If the alloca-
tion function resides in the controller, then u(t) consists of a set of desired deflections of
the various control effectors for a given aircraft. If the allocator is included in the plant,
then the input vector u(t) may consist simply of the three desired control moments about
the aircraft body axes. However, aircraft vary widely in their number and types of control
effectors and thus each control system design is customized to best suit the aircraft being
modeled. The principal hypothesis of this thesis is that if the control allocation function can
be automated, then the control design is limited to simply determining the desired control
moments L, M, N about the roll, pitch and yaw axes respectively.
Identification of a Control Allocation method was thus separated out as the third major
step in the development process shown in Figure 1.1. Chapter 4 of this report provides a
detailed account of the control allocation method suggested to enable this decoupling – it
is based on an “on-the-fly” optimizer that utilizes linear programming methods to achieve
rapid convergence. It is because the allocation solutions are being calculated during the
solution process instead of being pre-programmed that we are able to separate it from the
control design.
The fourth and final step in the 6-DOF development process laid out in Figure 1.1
is the realization of the time domain non-linear model. This process has been simplified
considerably by the widespread availability of Mathworks’ M ATLAB/Simulinkr Aerospace
Toolbox and Aerospace Blockset. Most significantly, the geodetic libraries, the atmosphere
and turbulence models, and the quaternion-based 6-DOF equations of motion block enable
rapid synthesis of time-domain 6-DOF simulations. The use of these tools in the present
application is detailed throughout this thesis.

6
1.2 Goals and Objectives

As just discussed, the primary goal of this research is to formulate and produce an au-
tomated design process of the flight control laws needed in assembling a six degree of
freedom aircraft simulation model. A key enabler of the proposed methodology is the sep-
aration of the control allocation function from the control law design and development.
This allows us to propose a generic control architecture based Nonlinear Dynamic Inver-
sion and a traditional nested loop hierarchy such as that shown in Figure 1.2.
The use of dynamic inversion allows for a significant reduction in the number of gains
present in the controller, as compared to traditional PID designs. Furthermore, successful
inversions should reduce, if not eliminate, the need to gain-schedule the loop gains that
remain. One of the objectives of this research is therefore to test this hypothesis. To
progress towards a fully automated capability, a criteria for selecting the loop gains to
achieve desired handling qualities standards is suggested. Researching the viability and
effectiveness of such an approach is another goal of this thesis.

7
6DOF PLANT MODELING

Controls engineers frequently refer to “plant models” of the systems that they are attempt-
ing to control. In the context of real-world hardware, there is no doubt but that the dif-
ferential equations being used to represent the dynamics of the system are approximate
mathematical models. A “good” model is one that reproduces the dynamics of interest
without undue burden in creating and executing the model. In a simulation environment,
where a mathematical model is the system, it is still sometimes the case that effective con-
trol implementation is best achieved when the plant model is a simplified subset of the full
nonlinear system model. This can certainly be the case for 6-DOF control development.
In this chapter, the essential dynamics of the aircraft 6-DOF plant model are presented.
The objective is to provide a clear understanding of the plant model to which the subse-
quent control designs are targeted. Areas where the full nonlinear system model includes
dynamics that are not relevant to the plant model are identified.

2.1 Equations of Motion

The six differential equations describing the motion of a rigid body are obtained by appli-
cation of Newton’s second law. These consist of three force equations and three moment
equations. Most frequently, a body-fixed coordinate system is attached to the rigid body un-
der consideration; in this way the mass moments of inertia are constant with respect to the
local coordinate axes. However, the local body-fixed frame of reference is not generally

8
an inertial system in the Newtonian sense. Therefore a (time dependent) transformation
between the inertial coordinates and the body coordinates must be established. Thorough
treatments of the analysis of such transformations, and of rigid body dynamics in general
are readily available; see, for example, Goldstein [5].
For application to the analysis of aircraft motion, the coordinate transformation be-
tween the inertial axes and the body axes is traditionally accomplished using the “aerospace
sequence” of euler rotation angles in the order yaw-pitch-roll. Thus we may relate unit vec-
tors in the body-fixed frame to the inertial frame through the rotation sequence indicated in
equation 2.1.

      
îe  cos ψ − sin ψ 0  cos θ 0 sin θ  1 0 0  îb 

   

 
  
      

 

ĵe =  sin ψ cos ψ 0  0
   1 0  0 cos φ − sin φ
   ĵb

 
     

   
 k̂e  0 0 1 − sin θ 0 cos θ 0 sin φ cos φ k̂b 
  
 

  
 cθ cψ s φ s θ cψ − cφ s ψ cφ s θ cψ + s φ s ψ   îb 

 
 

   
=
cθ sψ sφ sθ sψ + cφ cψ cφ s θ s ψ − s φ cψ 
 ĵb
 




−sθ s φ cθ cφ cθ k̂b 

 

(2.1)

In Figure 2.1, the orientation of the unit vectors bîb , ĵb , k̂b c is depicted: xb -axis pos-
itive forward, along longitudinal axis of the aircraft, yb -axis positive to the pilot’s right,
zb -axis positive down. Unit vectors for the inertial axes, denoted bîe , ĵe , k̂e c in equation
2.1, may refer to a variety of inertial coordinate frames depending on the application. As
written, the inertial axes refer to a standard “North-East-Down” reference system whose
origin is located at an arbitrary point on the earth’s surface. If a flat earth approximation
is sufficient for a particular application of the 6-DOF model, then equation 2.1 provides all

9
Figure 2.1: Axis orientation of the body-fixed coordinate frame

of the kinematic details necessary to assemble a formulation. If accurate accounting of the


aircraft’s latitude, longitude and altitude is important, then a geodetic model of the earth
is required – such models may be spherical or ellipsoidal (most commonly through use of
the WGS84 standard model) and may or may not include the earth’s rotational effects. For
the present application, a non-rotating, WGS84 earth model is employed through use of
the Simulinkr Aerospace Blockset. However, for simplicity and clarity of presentation, the
additional details related to the inclusion of an inertial system whose origin is located at the
earth’s center are not presented here. Both Stevens and Lewis [6] and Phillips [7] provide
definitive discussions of the subject.
Denoting angular velocities about the xb , yb , zb body-axes by p, q, r, respectively, we
define the angular velocity vector by

ω
~ = pîb + q ĵb + rk̂b . (2.2)

Through equation 2.2, the equations of motion may now be resolved in the body-fixed
axes. To do so, we note that to write the full time derivative of any vector ~r in a rotating

10
axis system,
d~r ∂~r
= ~ × ~r
+ω (2.3)
dt ∂t

where the partial time derivative indicates the derivative of ~r relative to the local axes, and
the cross product term accounts for the rotation of the local coordinates with respect to the
inertial frame. Now the rigid body aircraft equations of motion can be written by applying
equations 2.2 and 2.3 to the linear and angular momentum vectors. Newton’s second law
then yields

X d (m~v )
F~ = = m~v˙ + ω
~ × m~v (2.4a)
dt

~ = d (J~ω ) = J ω
X
M ~˙ + ω
~ × J~ω (2.4b)
dt

where the inertia tensor J and the vector quantities ~v and ω


~ are measured with respect to
the aircraft body axes. By convention, we denote the components of the aircraft inertial
velocity as
~v = uîb + v ĵb + wk̂b (2.5)

while the inertia tensor J is simplified for nearly all fixed-wing formulations to account for
lateral symmetry. Thus only four second mass moments are bookkept as the inertia tensor
reduces to  
 Ixx 0 −Ixz 
 
J =
 0 Iyy 0 . (2.6)
 
−Izx 0 Izz

The formulation of the aircraft equations of motion is nearly complete, however the
euler angles ψ, θ, φ must be updated dynamically to reflect the integration of the angular
velocity vector. To this end, we must relate the euler rates ψ̇, θ̇, φ̇ to the angular velocity
components p, q, r. This is done by cascading the angular velocity components through

11
the appropriate portions of the euler transformation given in equation 2.1. The result can
be expressed in matrix form as

    
φ̇ 
 1 sφ sθ /cθ cφ sθ /cθ  
p

   

 
     

θ̇ = 0
 cφ −sφ  q .
 (2.7)

 
   

   
ψ̇ 
  0 sφ /cθ cφ /cθ

 r

It is evident from equation 2.7 that elements of the matrix are undefined for cos θ = ± π2 .
This condition is referred to as the “gimbal lock” singularity in the aerospace euler se-
quence. To avoid numerical difficulties when the 6-DOF model is operating at or near
these conditions, a quaternion-based kinematic implementation of the equations of motion
is employed in place of equation 2.7. The Simulinkr Aerospace Blockset enables this ca-
pability with no additional modeling burden for the user; a review of the quaternion math
is not included in this summary of the plant equations of motion. Again Stevens and Lewis
[6] and Phillips [7] both provide thorough coverage of the use of quaternions in 6-DOF
modeling.
We are now in position to summarize the equations of motion that are the basis of
the 6-DOF plant model. The applied forces and moments which are represented by the
left-hand side of equations 2.4 include all applied or body forces, including aerodynamics,
propulsion, landing gear loads and weight. Of these, weight can be handled explicitly. With
the origin of the body axes located at the aircraft cg, there are no net moments due to the
gross weight. The force components follow directly from equation 2.1 and appear as

 
−sθ 

 

 

 
~
W = mg sφ cθ . (2.8)

 

 
 cφ cθ 
 

The plant dynamics are now collected as a set of twelve first-order differential equations,

12
appearing as

    
  cθ cψ s φ s θ cψ − cφ s ψ cφ s θ cψ + s φ s ψ  
ẋe  u

   

 
     

ẏe = cθ sψ sφ sθ sψ + cφ cψ cφ sθ sψ − sφ cψ  v
  (2.9a)

 
   


   
że −sθ s φ cθ cφ cθ w
 
 
 

       
u̇  Fx  −sθ  rv − qw 

 
 
 
 
 
 
 

  
  
  
 

  1      
v̇ = Fy + g s φ cθ + pw − ru (2.9b)

 
 m 
 
 
 
 

       
ẇ
   Fz 
  cφ cθ   qu − pv 
   

    
φ̇  p
 1 sφ sθ /cθ cφ sθ /cθ  

   

 
     

θ̇ = 0
 cφ −sφ  q  (2.9c)

 
   

 
  
ψ̇ 0 sφ /cθ cφ /cθ r
 
 
 

   −1  
ṗ Ixx 0 −Ixz   Mx + (Iyy − Izz )qr + Ixz pq 

   

 
  
 

     
q̇ =  0
 Iyy 0  2 2
My + (Izz − Ixx )pr + Ixz (r − p ) (2.9d)

 
     


   
ṙ −Izx 0 Izz Mz + (Ixx − Iyy )pq − Ixz qr 
 
 
 

2.2 Applied Loads

The applied loads acting on the aircraft must be resolved about the body axes at the aircraft
cg location. These are the six quantities appearing as bFx , Fy , Fz c and bMx , My , Mz c in
equations 2.9. For “up-and-away” simulations, the landing gear reactions are zero and so
the net propulsive loads and the aerodynamic loads are the two major contributors to be
bookkept.

13
2.2.1 Aerodynamics

Following standard notational conventions [6], [7], [8], [9] the aerodynamic forces in the
xb , yb , zb directions are denoted X, Y, Z, respectively, while the roll, pitch and yaw mo-
ments are denoted L, M, N .1 As mentioned in chapter 1, the overall aerodynamic loads on
the aircraft are approximated by superposing the contributions from all of the control sur-
faces with the “baseline” aerodynamic loads acting on the aircraft with all control surface
deflections set to zero. The aerodynamic tables are written in terms of nondimensional co-
efficients that are functions of Mach number, angle of attack, angle of sideslip and control
surface deflection angle. Thus to assemble the net aerodynamic loads, two functions must
be performed: 1) the moment terms must be modified as a function of cg location to include
the appropriate “r × F ” terms, and, 2) the nondimensional data must be re-dimensionalized
to reflect the current flight conditions.
From Figure 2.1 and equation 2.5, the aerodynamic angles of attack and sideslip are
defined as
w
α = tan−1 (2.10)
u
v
β = tan−1 (2.11)
u

and the scalar speed V is simply


V = u2 + v 2 + w2 . (2.12)

With 2.5, the dynamic pressure q̄ may then be defined if the ambient density is known as a
function of Mach number and altitude:

1
q̄ = ρV 2 (2.13)
2
1
Note the use of caligraphic font L to distinguish the roll moment from the lift, L.

14
Re-dimensionalization of the aerodynamic coefficients then follows standard conven-
tions based on dynamic pressure and geometric characteristics of the aircraft. The nondi-
mensinal definitions are summarized as

X L
CX = CL =
q̄S q̄Sb
Y M
CY = CM =
q̄S q̄Sc
Z N
CZ = CN =
q̄S q̄Sb

and the lift and drag coefficients may be expressed as

L
CL = = CX sin α − CZ cos α (2.14)
q̄S

D
CD = = −CX cos α cos β − CY sin β − CZ sin α cos β (2.15)
q̄S

or equations 2.14 and 2.15 may be inverted to write CX and CZ as functions of the lift and
drag coefficients.

2.2.2 Propulsion

For standard jets and and prop-driven airplanes, the orientation of the net thrust vector is
fixed relative to the longitudinal axis of the aircraft. Thus accounting for the net forces and
moments resolved at the aircraft cg is typically a very straightforward calculation where
only the magnitude of the thrust vector is variable. In the most general case where both
vertical and lateral thrust vectoring is enabled as a directional control effector, simple plant
models typically include two angular degrees of freedom through which the orientation of
the net thrust vector is specified. As thrust vectoring cases have not been considered in this
thesis, further details of such a formulation will not be pursued.

15
Of greater interest from a plant modeling perspective is the question of whether char-
acteristic engine time constants are modeled. In cases where a static 5-column engine
table is being used to define the thrust and specific fuel consumption, transient lags can
often be incorporated through use of low-order filters. Interestingly, in cases where high
fidelity time-domain transient engine models are employed, it is often very difficult to in-
tegrate these effects into the design and operation of the throttle controller. In many of
these instances, low order filters are again used as engine plant models for the controllers.
However, the control architectures developed here have focused on the attitude dynamics;
speed control has been considered de-coupled to simplify the development. Thus modeling
the effects of engine dynamics on the primary flight controllers has not been pursued in this
effort.

16
FEEDBACK LINEARIZATION

3.1 Control Architecture Background

The purpose of this chapter is to briefly introduce the commonly used methods to generate
control laws for the inner control loops of the 6-DOF model. The three primary methods
used are: nested PID controllers that are gain scheduled between flight conditions, non-
linear dynamic inversion, and backstepping. Each method has pros and cons that will be
discussed, resulting in the selection of NDI derived control laws for the automated design
of 6-DOF models. The NDI architecture is then discussed in greater detail, followed by the
strategy used to automate the gain selection process.

3.1.1 Gain Scheduling

Gain scheduled PID control architectures are the most prevalent design methodology used
on board aircraft and in aircraft simulation. Gain scheduling is an effective design approach
as the full flight envelope is partitioned into smaller regions until the region of interest is
small enough that the aircraft dynamics can be linearized around a given flight point. With
the system linearized around a given flight point, linear control techniques can be applied
to derive control laws for each operating points. The linearized control laws at the selected
operating points can then be used to derive control laws for new flight conditions. “Between
the operating points, the controllers are blended together using gain-scheduling to make

17
Figure 3.1: Generic gain scheduled control architecture

the transition between different regions smooth and transparent to the pilot.” [10] Gain
scheduling is usually performed around Mach numbers, altitudes, and dynamic pressure.
By eliminating the effects due to these scheduling variables, the same closed loop behavior
can be seen across the flight envelope. It is important to note that this method of gain
scheduling does not account for the nonlinear effects due to high angles of attack or high
angular rates. Therefore, stability is only guaranteed for low angles of attack and low
angular rates. [10]
Gain scheduling has been shown to be an effective control method in practice as it
has been incorporated on board multiple aircraft and in countless simulations. By dividing
the total flight envelope into smaller sections that can be linearized, traditional control
design tools and analysis methods can be utilized. This is a major advantage as most
control designers have a vast amount of experience controlling linear systems. The major
draw back of a gain scheduled controller is the amount of time that is required to develop
controllers and gain schedules that can be used to cover the entire flight envelope. This
method can be efficient for small flight envelopes, but in many cases the flight envelope is
required to be partitioned into many sections, and for each section a new controller must be
designed. If the designer chooses to only use a few flight conditions, more work is required
to gain schedule across the flight envelope. Either way, creating a gain scheduled controller
can be a tremendous amount of work. A generic gain scheduled control architecture can be

18
seen in figure 3.1

3.1.2 Nonlinear Dynamic Inversion (NDI)

Similar to the gain scheduling approach, the goal of nonlinear dynamic inversion is to ex-
press a nonlinear system as a linear one. This is done by inverting the natural aircraft
dynamics and raplacing them with desired linear dynamics. This is done through feed-
back control. Unlike the gain scheduled approach, all nonlinear effects are accounted for,
including high angles of attack and high angular rates. Nonlinear dynamic inversion also
allows a single controller to be used over the entire flight envelope as apposed to scheduling
between multiple controllers. Control laws can be derived using NDI as follows, as seen in
Enns et al. [3]

dx
= F (x, u) (3.1)
dt

y = H(x) (3.2)

Where x denotes the state vector, u the positions of all control effectors, and y denotes
the selected control variables. The first step in deriving the NDI control laws is to time-
differentiate y(x(t)) in equation 3.2 until the control variables, u, appear explicitly in the
next time-derivative. Then, as a final step, we must complete the state transformation
by selecting a function, z(x), which fills out (y1 (x), y2 (x), ..., ym (x), z(x))T = T(x) and
makes it invertible for all x. [3]
For fixed wing aircraft, as a result, we get a single three-element equation. [3]

dy ∂H
= F (x, u) (3.3)
dt ∂xT

19
Figure 3.2: Generic NDI control architecture

The right hand side is typically linear in u, therefore equation 3.3 can be rewritten as:

dy
= f (x) + g(x)u (3.4)
dt

Where g(x) is invertible for all x. The linearized system shown in equation 3.4 now
allows a simple method to construct control laws that reduce the control variables nonlinear
dynamics to linear dynamics. A detailed introduction to nonlinear dynamic inversion is
presented by Enns et al. in [3]. Further application of NDI control, and attempts at making
the design more robust are presented in Snell et al. [11], Adams et al. [12], and Reiner et
al. [13]. A generic NDI control architecture for an aircraft system can be seen in figure 3.2.

3.1.3 Backstepping

Backstepping is a constructive tool for nonlinear control design based on Lyapunov theory.
Lyapunov theory has been an important tool in linear as well as nonlinear control, but it is
less commonly used in nonlinear control due to the difficulty of finding a Lyapunov func-
tion for a given system. [10] In order to fully understand the theory and benefits behind
Backstepping controllers, an understanding of Lyapunov theory is beneficial. Lyapunov
theory is discussed in [10] as it pertains to backstepping control theory, and is presented
in numerous control texts. Backstepping is performed by letting some states act as virtual

20
Figure 3.3: Generic backstepping control architecture

control for other states in order to find a control Lyapunov function (clf). The clf can the
be used to find globally stabilizing control laws. Similar to dynamic inversion, the back-
stepping process is repeated until the control inputs are present in the solution. In this case,
as long as the virtual control remains a state variable, the backstepping procedure is per-
formed until the virtual control is the actual control input. The primary benefit of using
backstepping control laws, is that backstepping allows the designer to select virtual control
laws that are able to benefit for nonlinearities that are naturally stabilizing to the system.
This reduces the amount of effort required by the controller. Backstepping approaches
also add design freedoms as the psuedo controls and the control input u are not unique. A
drawback of backstepping is the resulting systems remain nonlinear to include stabilizing
nonlinearities. While this is beneficial in reducing the required control effort, it results in
the aircraft’s response to pilot inputs being depended on the angle of attack. Methods used
to create optimal backstepping control laws are presents in [10], Robust backstepping is
presented in [14] for designs without perfect model information, while adaptive backstep-
ping techniques are presented in [15] for systems where all state variables are not available
for feedback. A generic backstepping control architecture for an aircraft system can be
seen in figure 3.3 as presented in [10].

21
3.2 Current Control Architecture

For the 6-DOF model, it was determined that a nonlinear dynamic inversion controller
would be the backbone of the architecture. This was decided as NDI allows for the cancel-
lation of nonlinear effects while also eliminating the need to gain schedule over the entire
flight envelope. The primary drawback of NDI controllers is the fact that the nonlinear
effects must be known exactly to be successfully eliminated. As this thesis focuses on
simulation and not the actual flight of an aircraft, the nonlinear effects are exactly known
through table look-up. The other downside of using nonlinear dynamic inversion is that
all nonlinear effects are eliminated including stabilizing effects. Back stepping is capable
of benefiting from stabilizing nonlinearities, but the virtual control laws must be properly
selected for a given aircraft and the result is still a nonlinear system. For the goal of au-
tomating the 6-DOF design process, cascaded NDI controllers appear to be the most logical
solution.
The current control architecture uses smoothed Mach, altitude, and heading com-
mands as inputs into the tracking control loop. The tracking control loop utilizes NDI
derived control laws to generate thrust, angle of attack, and roll commands that are inputs
into a set of cascaded nonlinear dynamic inversion regulators. The outer loop regulator
accounts for the lower frequency dynamics while the inner loop regulator accounts for the
higher frequency dynamics. The control loop regulators use NDI derived control laws to
calculate the roll, pitch, and yaw moment commands from the commanded angle of attack,
side-slip angle, and roll angle. The control architecture including the tracking and inner
loop controllers can be seen in figure 3.4.
The commanded moments are then sent to the control mixer where the control alloca-
tion problem is solved. The corresponding control surface deflections are then sent to the
6-DOF block where look-up tables are used to calculate the aerodynamic forces and mo-
ments produced. The thrust is accounted for in the engine block to account for the forces

22
Figure 3.4: Block Diagram of the current control architecture

and moments produced by the aircraft’s engine. A Simulink 6-DOF quaternion block is
then used to solve the equations of motion. Wind and turbulence effects as well as sensor
effects can be accounted for in the sensors and environmental data block after the equa-
tions of motion have been solved. The state data is then post-processed and packaged for
feedback to the controllers.
The construction of the control architecture using nonlinear dynamic inversion is dis-
cussed in more detail below:

3.2.1 Applied NDI

Nonlinear dynamic inversion uses feedback linearizion to generate control laws for a non-
linear system. Assuming that the system is affine in the inputs, the nonlinear system can be
represented as
ẋ = F (x) + G(x)u (3.5)

y = H(x) (3.6)

While this was not the case for the derivation of the 2.5 DOF controller, the inner and outer
loop regulators are both of this type. Ultimately the goal of NDI is to transform the system

23
into a perfect integrator where the output is a set of control variables that are selected by
the user. Thus, the first step in the process is to define these control variables, v ≡ y.
These control variables will be the desired values of the outputs and there must be the same
number of control variables as there are inputs. The next step is to differentiate the virtual
input such that the functional dependence on the inputs is revealed.

v̇ = ∇H(x)ẋ = ∇H(x)(F (x) + G(x)u) (3.7)

This system is then solved for the input, u. Resulting in the control law that linearizes
the system to a perfect integration. In addition the state dependencies of the controller are
explicitly included in the inversion. As such, gain scheduling is not required to provide a
feasible controller. This drastically simplifies the control design process for each instance
of the 6DOF.
u = G−1 (x)(∇H(x)−1 v̇ − F (x)) (3.8)

The resulting equation provides a control law that turns the plant into a perfect integrator.
In a situation where the plant model is known exactly, this controller can be used in an
open-loop fashion and will result in excellent performance. In actuality this system will be
used in conjunction with a closed loop controller to provide additional robustness.

3.2.2 Inner loop regulator (NDI)

In this hierarchical control system the inner-loop is tasked with regulating the “fast” aircraft
states (p, q, r). As such the derivation of an NDI regulator begins by defining the system:

   
p L

  
 

 
 
 
   
y = x = q ,u = M (3.9)

 
 
 

   
r 
  N 
 

24
where the output, y, is equal to the “fast” aircraft states, the states, x, are equal to the
subset of the 6DOF states that influence the outputs, and the inputs are the moments on
the aircraft. The derivation proceeds by defining the functional relationship between the
system states and the outputs. For this system the result is trivial. The steps from Section
3.2.1 are followed resulting in
v = y = H(x) = x (3.10)

v̇ = ∇H ẋ (3.11)

v̇ = F (x) + G(x)u (3.12)

In this case the outputs are simply the states, as a result the gradient of H(x) is an identity
matrix  
1 0 0
 
∇H = 
0 1 0
 (3.13)
 
0 0 1

The nonlinear functions F (x) and G(x) are taken from the equations of motion, specifically
the conservation of angular momentum equations which can be found in [16].

      
 L I 0 −Ixz  ṗ RQ(Izz − Iyy ) − pqIxz
 xx

 
 

 
     

 
   
  

 
  



  

    
  
   
M =
 0 Iyy 0  q̇
 +
P R(Ixx − Izz ) + (p − r )Ixz  (3.14)
2 2 

 
      

 
   
  

 
   
  

 
   

   

  
N  −Ixz 0 Izz

 
ṙ  P Q(Iyy − Ixx ) + qrIxz
cmd ref

It is important to point out that the control laws derived here accept the body angular ac-
celerations as inputs, not the angular rates themselves. Thus, a relationship between the
reference angular rates and the angular acceleration inputs must be provided. For this a
simple negative feedback loop with proportional gain is employed giving the following

25
expression.
v̇ = (v − y)K (3.15)

where K is a 3x3 matrix of user defined gains. There are many methods that could be
employed to select the appropriate values for these gains. In this work, a method for tun-
ning these gains based on handling quality metrics as defined in MIL-F-8785C has been
developed and is described in detail in section 3.3.

3.2.3 Outer loop regulator (NDI)

The outer-loop regulator is developed by applying the same methods as the inner-loop.
However, the plant model for this derivation includes the inner-loop regulator. Additionally,
the timescales separating the inner and outer loops is assumed to be sufficiently large that
the reaction time of the inner-loop can be ignored for the derivation of the outer-loop. Thus,
the resulting plant model is:
ẋ = G(x)u (3.16)
   


 φ̇ 

 1 sin φ cos θ cos φ tan θ

 
  
 
   

 
  

 
  
   
− sin φ 
 
 θ̇
 
 

 0
 cos φ  
 
p

 
  

 
   


 
   


 
   


 
  
 
ψ̇  0 sin φ sec θ cos φ sec θ  

 
   

  
 q

    
 

=


  (3.17)

 
   
   
U̇   0 −W V

 
  
 


   


 
  
 

 r



 
   


 
   


 
    
−U 
 


 V̇ 


W
 0 

 
  

 
  

 
  

 
 
  


Ẇ  −V U 0

26
 
α
 
v=y=
β 
 (3.18)
 
φ

In this instance, H(x) represents a transformation from the states to the control variables.
Unlike the inner-loop the control variables are not simply equal to the states in the outer-
loop, resulting in the following for the gradient of H(x):

 
0 0 0 αu 0 αw 
 
 
 
 
0 0 0 βu βv βw 
 
∇H = 


 (3.19)
 
 
 
1 0 0 0 0 0 
 
 

where the subscript is used to denote the partial derivative with respect to the subscript
∂α
variable. For example: αu = ∂u
.

 
−1 W
α = tan (3.20)
U

 
−1 V
β = sin (3.21)
Vt

27
Substituting the partial derivatives derived from (3.20) and (3.21) gives the following ex-
pression for the derivative of the virtual input, v̇.

    
−V U −V W
α̇

 
  U 2 +W 2
1 U 2 +W 2

p 
  

 
    

 
   


 
   


    
 
v̇ = β̇ = ∇HG(x)u =  √ W2 2

0 √ −U 
 q (3.22)
   Vt −V Vt2 −V 2   

 
   


 
   


 
   


 
   


φ̇ 
r 
1 sin φ tan θ cos φ tan θ
 

which is then solved for {p, q, r} resulting in the outer-loop regulator NDI expression.

   −1  
−V U −V W


 p
  U 2 +W 2
1  
α̇
U 2 +W 2
  

 
     


 
     


 
     

 
     
 
−U
=  √ W2 2 0 √ 2 2  (3.23)
 
q β̇

 
  Vt −V Vt −V    


 
    

 
    





 
     


     
r  φ̇

1 sin φ tan θ cos φ tan θ
 
cmd ref

This results in a similar situation to the inner-loop where the control law has been devel-
oped such that the reference signal rates are the input, not the reference signal itself. This
situation is handled in the same manner, resulting in 6 total gains that must be set in the
regulator.

3.2.4 Tracking control loop

The tracking controller that is implemented in the 6-DOF model is based on NDI derived
control laws for the 2.5-DOF model. The 2.5-DOF model is a reduced-order dynamic
formulation where the equations of motion comprise a fifth order state space system. [17]
The 2.5-DOF models equations of motion are derived using a point mass system, and linear

28
Figure 3.5: 2.5-DOF Free Body Diagram

force equations derived from Newton’s laws. The X and Z forces are derived using the
free body diagram shown in figure 3.5 and the third equation correlates to a first order
coordinated turn. The fifth order system of equations can be seen in equation 3.24.

mẍ = (T − D)cosγ − Lcosφsinγ (3.24a)

mz̈ = (T − D)sinγ − Lcosφcosγ − W (3.24b)

gtanφ
ψ̇ = (3.24c)
Vt cosγ

In the 2.5-DOF model, thrust, lift, and bank angle are used to track aircraft speed,
altitude, and heading. Nonlinear dynamic inversion is used to derive control laws for the
tracking loop. The resulting equations can be seen in equation 3.25 and a full derivation

29
can be seen by Shimmin in [17].

2kmCL0 (V̇t sinγ − gcos2 γ − ḧ)


T = m(gsinγ + V̇t ) + (CDadj + kCL2 0 )qS +
cosγcosφ
km2 (g 2 cos2 γ − V̇t2 − 2g V̇t sinγ + 2g ḧ) km2 (V̇t2 − 2V̇t ḧsinγ + ḧ2 )
+ +
qScos2 φ qScos2 γcosφ
(3.25a)
2
m(gcos γ − V̇t sinγ + ḧ)
L= (3.25b)
cosγcosφ

ψ̇Vt cosγ
φ = tan−1 ( ) (3.25c)
g

When applied to the 6-DOF model, instead of commanding lift directly in the tracking
control laws, a relationship between angle of attack and lift is used to calculate the desired
angle of attack based on the lift command. This results in thrust, angle of attack, and
roll commands being output from the tracking control loop. In addition, a desired side-
slip angle is also output to the Outer loop regulator and is usually commanded to hold a
side-slip angle of zero throughout the mission.
To provide tracking, feedback control is used to close out errors in V̇t , ψ̇, and ḧ.
Proportional and integral control is currently used to close out any errors, but solutions
based on linear quadratic regulator (LQR) and linear quadratic integral (LQI) control have
been explored.

3.3 Gain Selection via Handling Qualities

The current control architecture of two cascaded nonlinear dynamic inversion controllers
results in a set of six gains that need to be defined for each model. Three in the inner
control loop, and three in the outer control loop. One benefit of dynamic inversion is that
the nonlinear effects are canceled by feedback control. This means that the valid gains

30
for one flight condition should be valid for all flight conditions. This eliminates the need
for gain scheduling which can be a tedious and time consuming task. With this in mind,
it is a goal of this research to develop a methodology to automatically select the six NDI
controller gains that can be used over the entire flight envelope. The goal is to use level one
handling quality requirements for the aircrafts’ longitudinal and lateral dynamics combined
with pole placement methods to achieve a desirable gain set.
The handling quality requirements used are those provided in the U.S. Military Spec-
ifications MIL-F-8785C (1980). The MIL-F-8785C handling quality requirements are de-
rived based on the results obtained through surveys of pilot opinions. The Cooper-Harper
rating scale is the most commonly used method to quantify pilot opinions in terms of air-
craft handling quantities. The Cooper-Harper rating scale can be seen below in figure 3.6
where pilot ratings of 1, 2 and 3 are deemed as level one handling qualities, 4, 5 and 6 are
deemed as level two handling qualities, 7, 8 and 9 are deemed as level three handling qual-
ities. Any aircraft that is uncontrollable in some portion of a required operation is labeled
as level four handling qualities and is an unacceptable design. The acceptable handling
quality requirements are also shown to be aircraft and mission dependent. The following
flight phase classifications are provided by Phillips in [7].
Flight Phase:
Category A: Nonterminal flight phases that require rapid maneuvering, precision
tracking, or precise flight-path control. Included in the category are air-to-air combat,
ground attack, weapon delivery or launch, aerial recovery, reconnaissance, in-flight re-
fueling (receiver), terrain following, antisubmarine search, and close-formation flying.
Category B: Nonterminal flight phases that are normally accomplished using gradual
maneuvers and without precision tracking, although accurate flight-path control may be
required. Included in the category are climb, cruise, loiter, in-flight refueling (tanker),
descent, emergency descent, emergency deceleration, and aerial delivery.
Category C: Terminal flight phases that are normally accomplished using gradual

31
Figure 3.6: Cooper-Harper rating scale (1969)

32
maneuvers and usually require accurate flight-path control. Included in this category are
takeoff, catapult takeoff, approach, wave-off/go-around and landing.

The following aircraft classifications are provided by Phillips in [7].


Aircraft Classification:
Class I: Small, light aircraft such as: Light utility, Primary trainer, Light observation.
Class II. Medium-weight, low-to medium-maneuverability aircraft such as: Heavy
utility/search and rescue, Light or medium transport/cargo/tanker, Early warning/electronic
countermeasures/airborne command, control or communication relay, Antisubmarine, As-
sault transport, Reconnaissance, Tactical bomber, Heavy attack, and Trainer for class II.
Class III: Large, heavy, low-to medium-maneuverability aircraft such as: Heavy
transport/cargo/tanker, Heavy bomber, Patrol/early warning/electronic countermeasures/air-
borne command, control or communication relay, and Trainer for class III.
Class IV: High-maneuverability aircraft such as: Fighter-interceptor, Attack, Tactical
reconnaissance, Observation, Trainer for class IV.

With the aircraft classifications and flight phases defined, the correct handling quality
requirements can be used for a given aircraft and mission to be modeled. It is important
to note that the handling quality requirements are defined using results from pilot input
surveys and therefore do not apply directly to unmanned aircraft. Attempts have been
made to redefine unmanned aircraft handling qualities as in [18], but an accepted standard
has yet to be determined to the author’s knowledge. For demonstration purposes, a High
Altitude Long Endurance (HALE) aircraft is used in this thesis. The HALE model is based
on open source RQ-4A geometry, though it is treated as if it were a manned aircraft for
the present purposes. It should be noted that the HALE model is only loosely based on
the RQ-4A and none of the results should imply performance characteristics of the actual
aircraft.

33
Figure 3.7: Damped and undamped motion of the short period mode

3.3.1 Longitudinal Dynamics

The natural response of traditional aircraft to longitudinal perturbations consists of two


under-damped oscillatory modes. One of the modes, known as the short period mode,
has a relatively short period and is usually quite heavily damped. The other mode has a
much longer period and is rather lightly damped; this is called the phugoid mode. [19] A
graphical representation of the short period and phugoid modes can be seen in figures 3.7
and 3.8 respectively. If both the short period and phugoid modes are critically damped,
one short period root moves towards the right-hand plane and intercepts the phugoid root
moving to the left. The roots then join to create another oscillatory mode, which is called
the third oscillatory mode. [19]
Figure 3.7 shows the stable and unstable response to a typical short period perturba-
tion. Figure 3.8 shows the natural motion of the phugoid mode that is typically constant
over the entire flight. The motion is over such a long period that the pilot is able to keep
the aircraft in level flight without realizing they are accounting for the phugoid mode.

34
Figure 3.8: Typical motion of the phugoid mode

The long period of the phugoid mode, allows the pilot to easily correct the phugoid
motion and even an unstable phugoid mode can be handled without much pilot attention.
[19] With this in mind, the short period mode is determined to be the primary mode of
interest and will be the focus of meeting handling quality requirements. The short period
mode handling quality requirements are based on the short period mode’s natural frequency,
∂n
damping ratio, and the acceleration sensitivity defined in equation 3.26.
∂α

∂n 1 ∂L 1 ∂CL
= = (3.26)
∂α W ∂α CW ∂α

The short period natural frequency handling quality requirements as a function of the
acceleration sensitivity can be seen in figure 3.9. The pictured requirements correspond to
category B flight phases for all classes of aircraft. This classification is used for the HALE
requirements due to a typical HALE mission consisting of climb, cruise, and descent.
Through analysis on the handling qualities shown in figure 3.9 it is found that the level
one handling qualities fall between two lines of constant slope when plotted on a log-log
plot. It can also be seen that this slope is always found to be 21 . This means that the square
of the undamped natural frequency at any point along any one of these boundary lines is

35
Figure 3.9: Short period natural frequency requirements as a function of acceleration sen-
sitivity

proportional to the acceleration sensitivity. [7] In other words, the lines of constant slope
2)
(ωn SP
correlate to lines of constant ∂n . This shows that the natural frequency requirements
∂α

can be combined with the acceleration sensitivity to make a single requirement that has
2)
(ωn SP
a set maximum and minimum value. The lines of constant ∂n are defined by a new
∂α

parameter, the control anticipation parameter (CAP).

(ωn2 )SP (ω 2 )SP (ωn2 )SP glmp


CAP = = n = = 2 (3.27)
∂n/∂α L,α /W CL,α /CW ryyb

The furthest term on the right in equation 3.27 is fully derived in [7], and shows that
the control anticipation parameter can be completely defined by the acceleration due to
gravity, the maneuver margin, and the pitch radius of gyration.
In addition to the handling quality requirements for the control anticipation parameter,
conditions must also be met for the short period damping ratio requirements. Table 3.1
shows the damping ratio requirements for the short period mode.

36
Table 3.1: Short period damping ratio requirements

The CAP and damping ratio requirements then completely describe the short period
mode handling quality requirements and can be plotted to fully define regions of level one,
level two, and level three handling qualities. This plot can be seen in figure 3.10. The plot
again shows the handling quality requirements for category B flight phases for all aircraft
classifications.

3.3.2 Lateral Dynamics

The natural response of traditional aircraft to lateral/directional perturbations consists of


one damped oscillatory mode and two exponential modes. The oscillatory mode has a rel-
atively short period and can be relatively light damped, especially for swept-wing aircraft;
this is called the Dutch Roll mode as the response consists of a combined rolling, sideslip-
ping, yawing motion reminiscent of a (Dutch) speed-skater. [19] The traditional motion
corresponding to the Dutch Roll mode can be seen in figure 3.11. The rolling mode pri-
marily represents the aircraft response in roll, and is a heavily damped exponential mode.
The second exponential mode, called the spiral mode, can be either stable or unstable, but
usually has a long enough time constant that is presents no difficulty for piloted vehicles,
even when it is unstable. [19]
The Dutch Roll mode is typically the primary mode of interest for most fixed wing
aircraft as is the most troublesome of the dynamic modes associated with the stick-fixed

37
Figure 3.10: Short period CAP and damping ratio requirements

Figure 3.11: Typical motion of the Dutch Roll mode

38
Table 3.2: Dutch Roll requirements

longitudinal and lateral response of a conventional airplane. [7] Table 3.2 shows the Dutch
Roll handling quality requirements for all flight phases and aircraft classifications. Table
3.2 shows that the Dutch Roll mode requirements consist of minimum values for the natural
frequency, damping ratio, and attenuation, ζωn . The minimum frequency requirement is
always based on the undamped natural frequency, and the minimum damping requirement
is that which yields the largest damping ratio. [7]
1
The roll mode handling qualities require a maximum time constant τ = where σ is
σ
the damping rate, or the negative of the real component of the roll mode eigenvalue. The roll
mode time constant requirement is typically met provided that the Dutch Roll requirements
are met. If the roll mode time constant is much longer than a second, the primary drawback
is that the transient persists well into the maneuver and the pilot begins to feel as though
they are commanding roll acceleration instead of rolling rate. [7] This typically degrades
the pilot’s opinion of the overall handling qualities, but is still controllable by pilot inputs.
As stated previously, the spiral mode can also easily be corrected by pilot inputs. The
spiral mode requirements are based on a minimum time-to-double-amplitude in seconds
and is calculated by t = − ln(2)/σ. This shows that even an unstable spiral mode can be
quantified as level one handling qualities.

39
Figure 3.12: Reduced model used with Linmod

3.3.3 Linmod Linearization

MATLAB’s Linmod function is used to linearize the aircraft model broken just before the
outer loop regulator. The reduced model can be seen in figure 3.12. Linmod linearizes
the reduced model in order to fit the form shown in equation 3.28. The A and B matrices
are constructed using the states of interest for either the longitudinal, lateral, or complete
 
dynamics. The states of interest for the longitudinal dynamics are θ, u, w, q and the states
 
of interest for the lateral dynamics are φ, ψ, v, p, r . The combined states are simply the
lateral states appended to the longitudinal states.

ẋ = Ax + Bu (3.28)

The Eigenvalues of the matrix A correspond to the pole locations of the linearized
system. The pole locations can then be used to identify the different aircraft modes, and to
calculate the modes respective natural frequencies and damping ratios. For the longitudinal
dynamics, with two oscillatory modes, the short period mode corresponds to the oscillatory
pair with a larger natural frequency. For this thesis, when critical damping is reached, it
is said that the short period mode does not satisfy the handling quality requirements. This
allows the designer to avoid interactions with the less documented third oscillatory mode.
For the lateral dynamics, the Dutch Roll poles correspond to the oscillatory mode while the
roll and spiral poles correspond to the non-zero real poles. A fifth pole, not corresponding

40
Figure 3.13: Longitudinal Poles

to a given mode, is always seen to be present at the origin. This is an expected result
as five states are used in the lateral dynamics, resulting in five poles. In certain cases,
the roll and spiral poles can converge on the real axis and form a second oscillatory pair.
In this case, the eigenfunctions can be used to determine the location of the Dutch Roll
poles. The Dutch Roll poles were found to always have the largest contribution from φ in
the corresponding eigenvectors. While this was seen to always be the case for the HALE
aircraft, it is important to note that further research is required before this generalized
statement can be applied to other aircraft.
With the poles successfully identified in all cases, the next step was to explore the
combined longitudinal and lateral dynamics to ensure that the dynamics can be completely
decoupled. Figure 3.13 shows the longitudinal poles for a given flight condition, figure 3.14
shows the lateral poles for the same flight condition, and 3.15 shows the longitudinal and
lateral poles for the same flight condition using the combined state vectors. It should again
be noted that the longitudinal and lateral dynamics were shown to be decoupled for the
HALE model, but this check must be performed for other aircraft before the optimization

41
Figure 3.14: Lateral Poles

Figure 3.15: Combined Poles

42
process can be run.
The pole locations calculated using the combined state vectors correlate to the same
locations calculated using the longitudinal and lateral state vectors independently. This
shows that the longitudinal and lateral dynamics can be completely decoupled as was ini-
tially assumed. This allows the longitudinal and lateral handling quality requirements to be
handled separately. The inner and outer loop gains can then be varied and the correspond-
ing effects on the handling quality requirements for the short period and Dutch Roll modes
can be explored.

3.3.4 NLOPT Optimization

The NLOPT optimization software is a free open source library for nonlinear optimization,
providing a common interface for a number of different free optimization routines available
online as well as original implementation of various other algorithms. [20] NLOPT sup-
ports large-scale optimizations, global and local optimization algorithms, derivative-free
and user-supplied gradients based algorithms, algorithms for unconstrained optimization,
bound-constrained optimization, and general nonlinear inequality/equality constraints. [20]
In order to use the NLOPT optimization software, or any optimization procedure, ob-
jective functions must be created for the longitudinal and lateral dynamics handling quality
requirements. The longitudinal mode of interest, the short period mode, was shown to have
requirements based on the control anticipation parameter (CAP) and the damping ratio.
The longitudinal objective function was based on the level one handling qualities shown
in figure 3.10. The objective function was set to define an optimum solution in the center
of the level one handling quality requirements box. This corresponds to a CAP of approx-
imately 0.64 while the damping ratio was required to be between 0.5 and 1.3. For the
objective function, given that the damping ratio requirement was met, the objective func-
tion minimizes the difference between the CAP value and the “optimum” CAP value. This
can be seen in equation 3.29.

43
f (k1 , k2 ) = CAP (k1, k2 ) − CAPopt (3.29)

Where k1 and k2 are the inner and outer control loop gains.
The Dutch Roll mode was determined to be the lateral mode of interest, and included
minimum requirements on the undamped natural frequency, the damping ratio, and the
attenuation, or the product of the natural frequency and damping ratio. To generate an
objective function, it was required by the author that the natural frequency and damping
ratio be one and a half times larger than the minimum requirement, ωn ≥ 0.6 and ζ ≥ 1.2.
It was then set that the “optimum” Dutch Roll requirements would be to maximize the
attenuation, ζωn , while ensuring the other conditions are met. This can be seen in equation
3.30.

f (k1 , k2 ) = ζ(k1, k2 ) ∗ ωn (k1, k2 ) (3.30)

Where k1 and k2 are the inner and outer control loop gains.
With objective functions defined, the next step towards using the NLOPT software is
to select an optimization algorithm and to setup the optimization problem including up-
per and lower limits, initial guesses, and termination conditions. For this problem, global
optimization is performed using derivative-free algorithms. Future work may include de-
veloping methodology to calculate the gradient, or, the change in solution with respect to
the change in selected gains. A gradient based optimization algorithm is of interest as it
would greatly expedite the optimization process. Currently the Improved Stochastic Rank-
ing Evolution Strategy (ISRES) developed by Thomas Philip Runarsson and Xin Yao in
[21] is used to optimize the longitudinal and later objective functions. “The evolution strat-
egy is based on a combination of a mutation rule (with a log-normal step-size update and
exponential smoothing) and differential variation (a Nelder-Mead-like update rule).” [21]
The algorithm was selected amongst other global optimization methods provided by the

44
NLOPT package as it performed a reduced gain optimization problem in the least amount
of time. The termination conditions used for the longitudinal dynamics were a stop value
of 1e− 5 and a maximum time. The maximum time was selected to be longer than required
time to reach the optimum stop value if possible. The maximum time was used to catch any
of the given flight conditions where it was not possible to reach the “optimum” short pe-
riod handling quality requirements. The lateral dynamics termination conditions included
only a maximum run time as the objective function attempts to maximize the Dutch Roll
attenuation.
The NLOPT optimization technique is used over the entire flight envelope for every
Mach number and increments of 10, 000 feet up to 70, 000 feet. The resulting “optimal”
gains are then used to generate a surface fit to allow the optimal gains to be found through
interpolation at any given flight condition. The results of the automated gain selection
process are found in section 5.1.

45
CONTROL ALLOCATION

As discussed in chapter 3, feedback linearization is performed through nonlinear dynamic


inversion to command the aerodynamic moments that are required to accurately track a
given mission. The next major step towards developing a 6-DOF model that can be used
for all aircraft is to incorporate a control allocation technique that can be used for any set of
independent control surfaces. Without any restrictions on which control surfaces are used,
the allocator must be able to handle the problem of control redundancy. Control redundancy
is the term given to a situation where an aircraft can achieve an acceptable solution by using
multiple sets of different control surface deflections. In the case of control redundancy, the
allocator is then tasked with producing the optimal set of control surface deflections. The
optimal set is dependent on the target solution, such as deflections chosen to minimize the
required control effort, or to minimize the induced drag produced by the control surface
deflections. Choice of the optimal solution is left to the control designer as it is dependent
on the aircraft of interest and the current mission.
A well functioning control allocator is of utmost importance for a 6-DOF aircraft
simulation as it is the mechanism that relates the commands produced by the controller to
the physical response of the aircraft. In an ideal simulation, the aircraft’s response would
be known a priori by the designer of the on board control system. Without access to this
knowledge, a logical approach to the control allocation process is used to predict how an
aircraft would respond to given inputs. The allocator should be able to select the most
effective control surface to complete a given maneuver at the current operating condition,

46
while also satisfying all control surface position and rate limits. The original and updated
allocation techniques are described below.

4.1 Linear Control Mixer

The original control allocation technique, the linear stick and rudder control mixer, works
exceptionally well for the three primary aircraft control surfaces: ailerons, elevators, and
rudders, but is unable to make use of any additional control surfaces. This restriction is due
to the simple design of a linear stick and rudder control mixer. By limiting the allocation
to the three primary control actuators, the mixer uses three surface deflections to generate
the three commanded aerodynamic moments. This corresponds to a square effectiveness
matrix that can be inverted to calculate the desired control surface deflections. The primary
control effectors were defined so as to achieve a traditional and maximally decoupled flight
control system. The following conventions were adopted as in: [22]
Roll axis: δa : differential deflection of the left and right ailerons
Pitch axis: δe : collective deflection of the left and right elevators
Yaw axis: δr : collective deflection of the left and right rudders
By restricting all aircraft to the above three control effectors in the defined conven-
tion, equation 4.1 can be written and inverted to calculate the change in surface deflections
resulting from a corresponding change in moments commanded. A benefit of commanding
∆CL , ∆CM , and ∆CN rather than L, M, and N is that the mixer finds a solution close
to the current deflections, rather than finding a new solution for each commanded moment.
For example, if the moment command was allocated based only on the optimum solution,
small changes in the command could result in large deflection changes. This is due to the
presence of control redundancy or multiple solutions to a single moment command. For
instance, if an aircraft is holding trim with the right aileron down and the left aileron up,
a slight change in the moment commanded may result in a moment that is optimized with

47
the right aileron up and the left aileron down. The actuators would then be required to
move the ailerons to completely new positions rather than only making slight adjustments
to the current locations. By using delta moment commands, the solution closest to the
current deflections is found by using the effectiveness values at the current control surface
deflections.

    
∆CL  ∂CL /∂δa ∂CL /∂δe ∂CL /∂δr   ∆δa 

   

 
  
 

    
∆CM = ∂CM /∂δa ∂CM /∂δe ∂CM /∂δr  ∆δe 
  (4.1)

 
   
   
 ∆CN 
  ∂CN /∂δa ∂CN /∂δe ∂CN /∂δr

 ∆δr 

The square matrix in equation 4.1 shows the benefit of restricting the mixer to the
three primary control effectors, resulting in a square effectiveness matrix. This allows the
equation to be easily inverted during simulation, providing an accurate solution, dependent
on the accuracy of the control effectiveness matrix, without a significant increase in com-
putational time. The nine control derivatives are known through table look-up values as a
function of the given flight condition. The stick and rudder control mixer forces the square
matrix in equation 4.1 to be diagonally dominant as the effectors were chosen to maximally
decouple the flight control system. This diagonal can therefore be used to create quick es-
timates of the allocation solution, or to check the accuracy of a provided solution. All of
the nine control derivatives must be known before the start of the simulation, therefore, the
corresponding data must be preprocessed before simulation. The derivatives, or control sur-
face effectiveness values, at a given flight condition are calculated using the aerodynamic
data surface fits for each control effector described in Chapter 2.
As stated previously, the stick and rudder linear mixer works exceptionally well for
reduced systems but does not have the capability to handle more than three independent
control surface deflections. In order to account for additional effectors such as flaps or

48
Figure 4.1: HALE Control Surfaces

spoilers, the corresponding surface deflections must either be scheduled over the flight
envelope and included in the aircraft’s baseline data, or defined as a function of one of
the three primary deflections. In either case, the effects are not part of the mixer analysis
and need to be accounted for when generating the commanded change in the aerodynamic
moments. An example of the shortcomings for this type of control allocator can be seen in
the analysis of the HALE aircraft. The computation fluid dynamics (CFD) drawing for the
HALE can be seen in figure 4.1 with the modeled control effectors highlighted. Figure 4.1
shows the four control surfaces included in the HALE model: the outer and inner ailerons
shown in purple and green respectively, and the top and bottom rudder shown in blue and
red.
In this instance, with only ailerons and V-tail rudders used to generate the three aero-
dynamic moments, the three primary effectors are not immediately realized. To accommo-
date for this, the bottom rudders are used as the elevator component in the control mixing
equation. This is due to the bottom rudders having the largest effectiveness for controlling
the pitching moment. For the remainder of this thesis, the bottom rudders will be referred
to as the ruddervators and the top rudders will be referred to simply as the rudders. As

49
the ruddervators are used to primarily obtain the commanded pitching moment, the rud-
dervator deflection convention used in this thesis will follow the standard convention for
elevators. This means that a positive ruddervator deflection corresponds to trailing edge
down deflections. This means that for collective ruddervator deflections, the left and right
ruddervators are deflected in opposite directions in regards to the typical trailing edge right
or left conventions that are generally used for aircraft rudders.
Additionally, only a single aileron deflection can be accounted for in the stick and
rudder control mixing algorithm. The outer aileron will be used in the control mixer as it is
further from the center of gravity and is capable of generating larger moments with smaller
deflections. With the three primary deflections already defined, the control mixer is unable
to account for the inner aileron deflections in the analysis. Two possible solutions to this
problem are to assume the inner and outer aileron deflections are equivalent and to use the
two surfaces as a single larger surface, or to determine the inner aileron deflection by using
a generated function of outer aileron deflection. The latter could be done in this case by
weighing the deflections based on the control effectiveness at the given flight condition.
Using the ailerons as a combined control surface could be reasonable in this instance, but
the methodology does not hold when additional surfaces such as spoilers, slats, flaps, and
tabs are introduced. The ability to model additional control surfaces independently stresses
the need of incorporating a new control allocation technique such as the Euminx control
allocator.

4.2 Euminx Control Allocation

The Euminx control allocation technique is based on the implementation of the Euminx
control allocation algorithm created by March Bodson from the University of Utah. As
described in the C Source code; “The program uses the simplex algorithm to perform a
mixed minimization of the norm of the error and of the deviation of the control input from

50
a preferred value.” [23] In other words, the algorithm finds a solution to generate the
commanded moments, while also attempting to minimize the error of the control surface
deflection solution from an ideal control surface deflection solution. The ideal solutions as
described previously can be a set of control surfaces that produce a minimum drag solution,
deflections selected to minimize the required control effort, or any other design preference.
The Euminx control allocator is also capable of accounting for all control surface deflection
and rate limits whereas the linear stick and rudder mixer needed these limits to be accounted
for after the fact. The input to the Euminx control allocator is a vector containing the
following:
n, the number of axes,
m, the number of independent control surfaces,
cb(n, m), the control surface effectiveness vector, of the form shown in equation 4.2,

 
cb(n, m) = ∂L ∂L ∂M ∂M ∂N ∂N (4.2)
∂δCS1
, ... , ∂δCSm
, ∂δCS1
, ... , ∂δCSm
, ∂δCS1
, ... , ∂δCSm

ad(n), the desired moments L, M, and N ,


wa(n), the axis weights, or the weight of the three moment commands L, M, and N ,
wu(m), the control surface weights,
umin(m), the control surface minimum deflections,
umax(m), the control surface maximum deflections,
upref (m), the preferred control surface deflections to achieve a desired solution,
delta input(m), the current control surface deflections.
The number of axes is typically set to 3 for the three primary moment commands but
can be set to 6 to include the three primary forces in the allocation process. The inputs
umin and umax are calculated at each individual time step to determine if the minimum
and maximum deflections are determined by position or rate limits. The current control
surface deflections are used with the minimum and maximum deflections to find a solution

51
that follows all limitations rather than having to account for the deflection and rate limits
after the control allocation calculation has been performed. This allows for alternative
solutions to be found if possible when saturation or rate limits are met. With the linear stick
and rudder allocation, if the mixer finds a solution that does not satisfy rate constraints, the
solution is adjusted to meet the constraints and the commanded moments are not achieved.
This can happen in the stick and rudder mixer even if the commanded moments can be met
by other control surfaces. This is because the stick and rudder mixer uses the most effective
control surface without accounting for any rate limits. By accounting for the rate limits in
the allocation process, the Euminx control allocator is able to know which solutions are
valid and which are not. This allows the allocator to find a valid solution given that one
exists. In this case, the Euminx allocator has achieved the commanded moments, while the
incorrect moments produced by the stick and rudder mixer require the controller to adjust
the commanded moments for the next time step. This process continues until the correct
moments are produced by the stick and rudder mixer, but the process of catching up to the
controller can lead to unfavorable tracking results.
The Euminx control allocator uses the current, minimum, and maximum deflections
for a given time step as the boundary conditions to the simplex algorithm which is the
backbone of this method. “The simplex algorithm is the preeminent tool for solving lin-
ear programs, where we are to maximize or minimize a linear function subject to linear
constraints.” [24] George Dantzig invented the simplex algorithm in 1947 as a means of
solving an Air Force diet problem where the Air Force looked to satisfy a man’s minimum
daily requirement of nine basic nutrients by using seventy-seven different food options at
the least cost. [24] The fundamental fact on which the algorithm relies is that if a linear
program has a bounded optimal solution, then the optimum value is attained at a Basic
Feasible Solution (BFS) i.e., at a vertex or extreme point, of the polytope of feasible points
P. This feasible polytope is referred to as a “simplex,” which is where the algorithm gets
its name. An example of a feasible region with vertices corresponding to the basic feasible

52
Figure 4.2: Feasible region P for the Example shown in Appendix A.

solutions can be seen in figure 4.2. The simplex algorithm works by following the simple
procedure described below:

Step 0 Pick a BFS.


Step 1 Test whether this BFS is optimal by using the corresponding objective function.
If so, stop. If not, go to step 2.
Step 2 Find a better BFS. Repeat from step 1.

As the linear program has a finite amount of basic feasible solutions, (vertices of the
feasible polytope P) the simplex algorithm is guaranteed to stop on a given solution. To give
a clearer understanding of how the simplex algorithm works, a simple example is provided
in [24] and is discussed in Appendix A.
This example shows the process of using the simplex algorithm with a simple n = 2
and m = 3 problem, where n corresponds to the decision variables, and m corresponds to

53
the number of given constraints. This method can easily be implemented for cases where n
and m can be greater than 100, 000 as long as the problem and constraints are fully defined.
Further research has been performed in literature to explore methods of minimizing
the required number of steps to reach the optimal solution. Of interest is the selection of
the pivot, that is, the variable that is to be increased from zero. Starting at O, we could have
chosen to increase x1 before increasing x2 . This would change the path to C from O, B, C,
to O, E, D, C. Currently there is no known way to guarantee that the algorithm will take
the shortest possible path. [24] Klee and Minty [25], by selecting the pivot by choosing the
variable in which the objective function increases at the greatest rate, then the algorithm
visits all 2n vertices before finding the optimal value. For most deterministic pivot selection
rules, examples show are known in which the number of steps grows exponentially in n.
[24] Khachian [26], by using the ellipsoid algorithm, has shown that linear programs can
be solved with running times that only grow polynomially in n. Karmarkar [27] proposes a
new method in which the solution moves through the interior of the polytope P, rather than
by moving from vertex to vertex. This method can sometimes solve larger linear programs
quicker than the simplex algorithm.
With the simplex algorithm capable of finding the optimum solution at a vertex of the
feasible region, to solve the control allocation problem, an objective function and a feasible
region need to be defined. Marc Bodson was able to define the control allocation problem as
a linear programming problem by setting the difference between the aerodynamic moments
commanded and achieved as an objective function to minimize, and by using the current
control surface deflections, the maximum and minimum deflection limits, and the control
surface rate limits to define the feasible region for the solution. The control surface effec-
tiveness values and the moments commanded are used to provide the additional constraints
used to further define the feasible region and to generate the system of linear equations. In
the Euminx control allocation code, Marc Bodson uses a secondary objective function to
minimize the deviation from the preferred value. The weight on the secondary objective

54
is usually set to a small value so that the primary objective is to achieve the desired mo-
ments. The weight on the secondary objective can vary for different control surfaces and
can be used to select which control surfaces will be preferred. If the secondary objective
is weighted larger than the primary objective, matching the preferred solution will become
the primary objective and achieving the commanded moments becomes the secondary ob-
jective. In this case, the allocator will produce the preferred solution irrelevant of what the
produced moments are and will likely produce divergent tracking results.
With the problem defined, the other input of interest is the control surface effective-
ness matrix cb. The setup of the cb vector is shown in equation 4.2 where all partials of
the roll moment coefficients are followed by partials of pitch moment, and yaw moment
coefficients, each with respect to all of the available control surface deflections. The partial
derivatives, or effectiveness values, correspond to the slopes of the moments vs. deflection
curves. It is important to note that these curves are only accurate for a given flight con-
dition, and a new curve must be used whenever there is a change in Mach, altitude, angle
of attack or side slip angle. With typical nonlinear aero data, these effectiveness values do
not typically result in a slope that extends to the origin, and this needs to be accounted for
in the analysis. Figure 4.3 shows two approaches for calculating the effectiveness values.
Both methods use the slope at the current deflection to define the effectiveness, but one
method uses the corresponding y-intercept to define an offset on the moment axis. This is a
better solution than using the local slope projected from the origin as the control effective-
ness matrix at the origin is likely very different from the effectiveness matrix at the current
operating position. By using the correct control effectiveness matrix and accounting for the
corresponding y-intercept term, a reasonable prediction can be made for the surface deflec-
tions at the next time increment. With small enough time increments, this method could
predict the correct deflections whereas the global approximation using the local slope will
remain inaccurate.
Figure 4.3 shows the local slope approximation with an intercept term for a single

55
Figure 4.3: Local slope approximation with and without intercept term [1]

moment, and a single control surface deflection. To achieve the correct result using the
Euminx control allocator, the intercepts for all three moments and every control surface
must be accounted for. A method for calculating the intercept using a curve fit of the
aerodynamic coefficients is seen in [1]. Another method used to calculate the effectiveness
matrix without accounting for the y-intercept term is to use the slope of a linear fit between
the origin and the point on the curve corresponding to the current control surface deflection.
This method is compared to the local slope approximation using the y-intercept term in
figure 4.4.
From figure 4.4 it can be seen that the global slope approximation is typically more
accurate than the global approximation using the local slope seen in figure 4.3. While the
global slope approximation is the more accurate of the two methods not accounting for an
intercept term, the local slope approximation with an intercept term is still shown to be
more accurate. It should be noted that the global slope and global approximation with the
local slope can be shown to be more accurate in certain instances when a larger time step is

56
Figure 4.4: Global vs. Local effectiveness approximation [1]

used, but the inclusion of the intercept term is more robust and much more accurate when
small time increments are used.
In the current research, a variation of the local slope approximation with an intercept
term is used to calculate the next time increment’s control surface deflections. By subtract-
ing off the current moments produced from those commanded, ∆CL , ∆CM , and ∆CN are
input into Euminx rather than L, M, and N . This means that the Euminx control allo-
cator will only output the change in deflection required to match the commanded change
in moment. From a control effectiveness moment curve perspective, this allows the local
slope to be used without accounting for the y-intercept term. The problem is now solved
with Euminx treating the current control surface deflections as the new origin location by
redefining the y-axis as a change in moment rather than the full moment created. This acts
as the coordinate transformation shown in figure 4.5.
The transformation shown in figure 4.5 provides extremely accurate control allocation
provided that a small enough time increment is used. The results are identical to using

57
Figure 4.5: Local slope approximation with delta moment commands

Figure 4.6: Aero data clipping logic [1]

the local slope with a corresponding y-intercept, but produces the same results without the
required step of recalculating the combined intercept at each flight condition. For any of the
above listed methods, the control effectiveness values can only be used on monotonic data.
Any data that is not monotonic has at least one point with a control surface deflection that
has a corresponding control effectiveness value of zero. With a slope of zero, the allocator
will see that it cannot effect the generated moment by moving the given control surface
and therefore will always chose to allocate with the remaining surfaces. This problem can
be addressed by making use of clipping logic as seen in figure 4.6 or by restricting the

58
maximum deflections to remain in the monotonic region.
It should be noted that if non-monotonic data is used, the allocator can still use a given
control surface as long as at least one of the generated moments is non-zero. For example,
if an elevator is at a point of zero effectiveness with respect to generating a rolling moment,
the allocator will likely still use the elevator to control the pitching moment, as the elevator
is likely still the most effective control surface to command pitch. Issues arise when a
control surface reaches a point of zero effectiveness with respect to generating the primary
moment it is intended to control. If an elevator has zero effectiveness with respect to pitch,
the control allocator will always try to use the aileron and rudder to control the pitching
moment. These surfaces likely will not be able to generate the commanded moments and
errors will accumulate until the model diverges.

59
IMPLEMENTATION AND CASE

STUDIES

5.1 Automated Gain Selection Results

As discussed in section 3.3, the six gains in the inner and outer control loops are to be
optimized using the NLOPT optimization code. Handling quality requirements for the short
period mode and dutch roll mode were used to create objective functions to be optimized for
the longitudinal and lateral dynamics respectively. MATLAB’s Linmod function has been
used with the linear stick and rudder mixer to optimize the discussed objective functions
over a reduced set of the flight envelope. The reduced set is then used to generate a surface
fit that can be used to select the optimal gains at each new flight condition. The optimum
inner and outer loop gain fits can be seen below in figures 5.1 and 5.2.
The first thing to note for the optimal gain surface fits, is that the corner points cor-
responding to high Mach, low altitude data points and the low Mach, high altitude data
points, are not valid solutions. This is because the gains are optimized around a trimmed
flight condition, and at these portions of the flight envelope, a trim condition does not ex-
ist. It can also be seen that the raw data used to generate the surface fits follows a general
pattern but the individual data points fluctuate within a given range. This result shows that

60
Figure 5.1: Optimum inner loop gains for the linearized model with the stick and rudder
mixer

Figure 5.2: Optimum outer loop gains for the linearized model with the stick and rudder
mixer

61
equivalent handling quality results can be produced from multiple sets of inner and outer
loop gains. This is possible, as similar results can be obtained by slightly changing one
of the gains in one direction, while slightly adjusting the other gain in the opposite direc-
tion. This allows two adjacent flight conditions to have longitudinal gains that vary by a
magnitude of up to one and a half even though the control anticipation parameter (CAP)
values vary by less than the optimization tolerance of 1e− 5. Results could likely be im-
proved by reducing the optimization tolerance, but this would result in the optimization
time increasing exponentially. The benefits of automating the gain selection process would
be drastically reduced with increased optimization times. In addition, the optimal lateral
gains were shown to get larger and larger depending on the limits set for the optimization
code. This is a result of the objective function used for the lateral dynamics. Attempting to
maximize the attenuation; higher gains were seen to increase the natural frequency without
altering the corresponding damping ratio. This led to a higher attenuation and therefore
was deemed the “optimal” solution. The higher commanded gains require more effort for
the controller and may need to be accounted for in future work.
The models produced using the selected “optimal” gains provide mixed results. When
using the full set of gains derived from handling quality pole placement methods, the model
produces divergent tracking results. It was then shown by trial and error that by reducing
the gains on the angle of attack and the rolling rate and by using the handling quality gain
set for the other four gains, tracking results could be improved. Figures 5.3 and 5.4 show
the results produced with a unit gain set and a modified handling qualities gain set for the
inner and outer control loops. Proportional tracking has been used in the tracking control
loop to allow the reader to easily visualize the differences between figures.
The improved tracking results indicate that handling qualities can be used to select an
optimal gain set for the inner and outer control loops. As the optimized gains acting on
the angle of attack and the rolling rate needed to be adjusted, there is still a disconnect that

62
Figure 5.3: Tracking results using the HALE model with a stick and rudder mixer using
unit gains in the inner and outer control loops.

Figure 5.4: Tracking results using the HALE model with a stick and rudder mixer using
modified handling quality gains in the inner and outer control loops.

63
needs to be explored between the linearized model used to optimize the gains, and the full
aircraft model used to produce results. While the selection of optimal gains is an important
step in the 6-DOF automation process, gains can be hand selected without a tremendous
amount of effort for each new aircraft. While the control loop gains could be adjusted for
any aircraft, the current linear stick and rudder mixer is incapable of modeling the control
surfaces for any aircraft. For this reason, the primary focus of the research was then turned
to the incorporation of the Euminx control allocator rather than exploring the handling
quality gain selection disconnects.
After the successful implementation of the Euminx control allocator (described be-
low), the handling quality analysis method was used on the adjusted model. It was found
that MATLAB’s Linmod function was incapable of linearizing the model with the Euminx
allocator included. This is due to the fact that the Euminx control allocator is implemented
using a MATLAB S-function based on mexed C Source code. This shortcoming also led to
the realization that different variations of the Linmod command produced slight variations
in the results obtained for the linear stick and rudder mixer. Future work includes imple-
menting a new method to linearize the Euminx models and to then explore any remaining
disconnects between the linearized models used for gain selection and the full model used
to produce results.

5.2 Control Allocation Results

The first step in the implementation process of the Euminx S-function, is to ensure that the
allocator is providing control surface deflections that generate the required aerodynamic
moments commanded at the given flight condition. To perform this check, the model was
cut around the control allocation block and constant Mach number, angle of attack, altitude,
side slip angle, and moment commands were used as inputs. The aerodynamics block was
then used to calculate the generated moments from the resulting control surface deflections.

64
Figure 5.5: Euminx implementation tested by commanding δL, δM , and δN

Initially, the full moment command was used as an input into the Euminx S-function with
mixed results. The control allocator provided the correct aerodynamic moments at certain
flight conditions, but was unable to produce consistent results across the entire flight enve-
lope. This shortcoming was explored and led to a redesign of the S-function input format
described in section 4.2. Replacing the moment commands L, M , and N , with a change
in moment command δL, δM , and δN eliminates the need to include an intercept term in
the control surface effectiveness calculation. This allows the allocator to produce the cor-
rect moments at any given flight condition provided that the effectiveness calculations are
performed on monotonic data. The resulting test model can be seen in figure 5.5. The test
model commands moments of L = 2000, M = 100, and N = −500 ft-lbs and calculates
the required δL, δM , and δN before calling Euminx.
Figure 5.5 shows that Euminx outputs new control surface deflections that produce
the exact value of the desired moment inputs. It is important to note that the produced
moments do not happen instantaneously as the nonlinear nature of the control surface data
results in varying effectiveness over the flight envelope. Rate limits are also taken into ac-
count restricting Euminx from attempting to use the initial effectiveness value to calculate

65
Figure 5.6: Euminx response time commanding δL, δM , and δN

the full change in deflection needed to produce the desired moment. This rate limit restric-
tion is only applicable if the commanded change in deflection exceeds that governed by a
product of the current time step and the control effector rate limit. The time response of the
produced moments can be seen in figure 5.6. The test model uses a time step of t = 0.02
seconds.
Figure 5.6 shows that the produced moments converge to the commanded values in
approximately 0.1 seconds before holding the commanded values for the remainder of the
test. Control surface deflections are initialized to hold trim at the given flight condition and
correspond to the moments produced at time t = 0.
Before presenting any simulation results, it is important to discuss an error that is
present in all simulations. The thrust commanded is calculated by using NDI derived con-
trol laws based on the 2.5-DOF model. The simplifications in the 2.5-DOF model, such
as not including the induced lift and drag produced by control surface deflections, leads

66
to differences in the thrust commanded versus the actual thrust needed in a 6-DOF model.
This error causes an incorrect initial thrust that prevents the simulation from beginning at
a trimmed flight condition. The feedback control quickly accounts for the initial error, but
the controller is forced to find a new trim solution as a result. The initial thrust error leads
to quick changes in the control surface deflections and to initial errors in the tracking re-
sults which can be seen in the following results. It is important to note that the errors are
typically eliminated in a matter of seconds, and the only lasting effect is the aircraft is now
operating at a new trim solution. This can affect how the aircraft responds to particular
maneuvers. A redesign of the tracking control laws for a 6-DOF model is planned as a
focus for future work, but is not in the scope of this thesis. With the thrust error in mind,
the results produced for the HALE and F16 aircrafts are discussed below.

5.3 HALE Results

5.3.1 Limited Euminx Allocation vs. Linear Stick and Rudder Mixer

After it was shown that Euminx was capable of producing the commanded moments, the
control allocator was incorporated with the rest of the model and test cases were run. The
first test case of interest was to compare the results of Euminx control allocation with
the results obtained using the linear mixer described in section 4.1. In order to conduct
a direct comparison, the Euminx control allocator was restricted to functioning with the
same ganged control surfaces that are used in the linear mixer. This includes the follow-
ing restrictions: The left and right outer ailerons function differentially, the left and right
ruddervators function collectively in respect to the standard elevator deflection convention,
and the left and right rudders function collectively in respect to the standard rudder deflec-
tion convention. This restriction also prohibits the Euminx control allocator from using the
inner ailerons as the linear mixer cannot handle more than three control surfaces generating

67
Figure 5.7: Linear control mixer tracking results

the three aerodynamic moments. For the initial comparison, equivalent proportional control
is incorporated in the tracking loop, and a consistent gain set is used on the inner and outer
control loops for both mixers. Proportional control is incorporated in the models for ease
of comparison between any potential differences in the overall tracking results. Figures 5.7
through 5.8 show the results produced by the linear mixer and the limited Euminx control
allocator. The mission selected for this comparison consists of a level flight deceleration, a
constant speed climb, a level flight and constant speed heading change, and an accelerating
descent with a simultaneous heading change. The Euminx control allocator is run with all
axes weighted at 1 while the control surfaces were all weighted at 1e−6 . These values al-
low the user to tell Euminx that all of the moment commands are equally important, while
which control surfaces are used to attain these moments is much less important. The pref-
erence vector used in this comparison commands Euminx to find a solution that minimizes
the overall deflection from the current location of the control surfaces. This preference
vector is used as a simple approach to attempt to minimize the control effort required for
each maneuver.

68
Figure 5.8: Limited Euminx control allocator tracking results

Figures 5.7 and 5.8 show that the linear mixer and the limited Euminx control alloca-
tor produce nearly identical tracking results. The models track within 0.0015 of the Mach
number, 10 feet of the altitude, and 0.1 degrees of the heading. This tracking is reasonably
accurate for typical missions, and eliminates the risk of integrator windup as only propor-
tional control is used. To achieve better tracking results, integrators can easily be added to
the tracking control loop. The enhanced tracking using PI control will be shown in later
results. Another method used to compare the two control allocation methods is to compare
the achieved moments to the commanded moments. This is an important check due to the
robustness of feedback control laws. For example, when commanding an actual moment
without accounting for the intercept term as explained in section 4.2, the Euminx control
allocator does not always produce the moments desired. Logically, this would mean the
aircraft would not track very accurately, but, due to the robustness of feedback control
laws, the model updates the commanded moments until the allocator produces what the
controller initially wanted. This means that the tracking remains accurate even though the
control allocator is unable to produce the desired moments. This quality of feedback con-
trol is extremely beneficial in studies where an aircraft is physically unable to produce the

69
Figure 5.9: Commanded moments for both control allocation methods

requested moments, but should not be taken advantage of when it is not necessary. The
moments commanded and achieved using both the original linear mixer, and by using δL,
δM , and δN commands to Euminx can be seen below in figures 5.9 and 5.10. It should
be noted that the resulting plots are identical for the two control allocation techniques and
therefore only one example of each plot is shown in this report.
One thing of particular interest from figure 5.9 is the fact that a large Pitch moment is
commanded at time t = 0. This is due to the initial condition error in the thrust commanded.
The thrust commanded is calculated using the 2.5-DOF tracking control laws derived using
dynamic inversion. The calculated thrust therefore does not match the trim thrust that
would be required to hold trim in the 6-DOF model. This leads to initial errors in Mach
and altitude that must be corrected immediately to maintain accurate tracking. Other than
the initial condition error, the moment commands appear to be reasonable as they can easily

70
Figure 5.10: Achieved moments for both control allocation methods

be correlated to the maneuvers seen in the tracking plots in figures 5.7 and 5.8. The largest
peak at time t = 475 seconds, corresponds to the portion of the mission where Mach,
altitude, and heading are all commanded to remain constant after a period in which all
were commanded to change at a constant rate. This quick change requires the brief, sharp
moments seen in figure 5.9. It is important to note that by commanding delta moment
commands by subtracting off the current aerodynamic and engine moments, the control
allocator only accounts for the moments produced by the aircraft’s control surfaces. By
doing this, when the 6-DOF block sums the aerodynamic and engine moments, the result
is equivalent to the total desired moment. This can be seen in figures 5.11 and 5.12. In
many aircraft models the engine moments can be overlooked as the engine is often in line
with the aircraft’s center of gravity. In the current case, the HALE engine is offset above
the center of gravity at the rear of the plane. This causes a negative pitching moment on
the aircraft as shown in figure 5.12. Another case showing the necessity of accounting for

71
Figure 5.11: Control surface moment effects for both control allocation methods

the engine moments in the control allocator, is the application of thrust vectoring. Thrust
vectoring can be scheduled over the flight envelope and subtracted off of the total moment
commands, or can be included in Euminx as an additional control effector that can be
allocated. With the latter, full look-up tables would be required for varying thrust angles at
each flight condition.
Figures 5.9 through 5.12 show that the moments produced by the two control alloca-
tion techniques are equivalent. The next comparison to be made, is to explore how each
control allocator deflected each control surface to achieve the desired moments. As we are
using a limited version of the Euminx control allocator by using only differential ailerons,
and restricting the ruddervators and rudders to collective movement, it would be expected
that the control surfaces would be deflected in an identical manner. The convention used
to define the three acceptable control surface deflections decouples the aircraft dynamics

72
Figure 5.12: Engine moment effects for both control allocation methods

so that one primary control surface is more effective than the others for each aerodynamic
moment. For example, the ailerons should be used to control roll moment commands,
ruddervators used to control pitch moment commands, and rudders used to control yaw
moment commands. For each command, the two remaining control effectors should only
be used when the primary control surface is restricted due to deflection and rate limitations.
The resulting deflections can be seen for the linear control mixer in figure 5.13 and for the
limited Euminx control allocator in figure 5.14.
As anticipated, the control surface deflections are shown to be identical between the
linear control mixer and the limited Euminx control allocator. This comparison provides
confidence in the results previously obtained using the linear control mixer while also pro-
viding a critical first step towards using Euminx control allocation for additional control
effectors.

73
Figure 5.13: Control surface deflections for the linear control mixer

Figure 5.14: Control surface deflections for the limited Euminx control allocator

74
5.3.2 Euminx Results with Free Control Surfaces

The model was then adjusted to allow Euminx to allocate all available control surfaces in-
dependently, including the inner ailerons that previously could not be accounted for in the
linear stick and rudder mixer. The aerodynamics block and control allocation block need to
be updated accordingly to include the effects due to the additional surfaces and unrestricted
deflections. This includes small adjustments such as including any additional look-up aero-
dynamic and control surface effectiveness tables, as well as adding the additional control
effector restraints to the Euminx inputs. No changes are required for the tracking loop
gains, or the inner control loop gains as the feedback values are only dependent on the
moments produced by the control surface deflections.
The initial free control surface Euminx allocator again is run with all axes weighted
at 1 while the control surface weights are all set to 1e−6 . The preference vector is set to
minimize the overall deflection from the current location of the control surfaces. The free
control surface Euminx allocator with proportional tracking control was shown to provide
nearly equivalent tracking results to the limited Euminx allocator though it was determined
that the tracking was effected by the choice of the control surface preference vector. The
tracking results using two different preference vectors are shown in figures 5.15 and 5.16.
It can be seen by comparing figures 5.15 and 5.16 to 5.8 that the Mach and altitude
tracking is slightly worse when Euminx is allowed to use all control surfaces independently
as opposed to using the limited approach discussed previously. The slight differences seen
in the tracking results are of minimal concern as only proportional control is used for these
runs to make it easier to visualize any noticeable differences. To improve the tracking
results, integrators were added to the tracking control loop to allow the controller to close
out the altitude and Mach tracking errors that are seen in the proportional control results. In
addition, a PI controller is also wrapped around the lift command that is used to calculate
the commanded angle of attack. This ensures that the model produces the lift commanded,

75
Figure 5.15: Euminx Tracking with free control surfaces and a preference vector used to
minimize the overall deflections from the current control surface locations.

Figure 5.16: Euminx Tracking with free control surfaces and a preference vector used to
minimize the overall deflections from zero.

76
Figure 5.17: Euminx tracking with free control surfaces and PI tracking control.

which was shown to not be the case without the additional feedback control. The improved
tracking results are shown in figure 5.17 and the commanded and achieved lift are shown
in figures 5.18 and 5.19.
The addition of a controller wrapped around the commanded lift values reduces the
magnitude of the tracking errors, and can be used with fully proportional control if the user
wishes to completely avoid using integral terms. This method provides accurate tracking
while eliminating the risk of integrator windup at the cost of a constant steady state error
resulting from proportional control. The proportional and integral gains used in the PI
controller were hand picked by the designer, attempting to minimize the sum of the total
tracking errors.
With the improved tracking results from the incorporation of the lift controller and the
use of PI control in the tracking loop, the tracking errors resulting from the thrust initial
condition error are eliminated in less time. This can be seen by comparing the moments
commanded and achieved with proportional control in figures 5.9 and 5.10 to the moments

77
Figure 5.18: Euminx lift commanded with free control surfaces and PI tracking control.

Figure 5.19: Euminx lift achieved with free control surfaces and PI tracking control.

78
Figure 5.20: Euminx allocator commanded and achieved moments with PI tracking control.

commanded and achieved using PI control shown in figure 5.20.


By looking at the pitch moment plot, it can be seen that the aircraft returns to a
trimmed flight condition a few seconds into the simulation as opposed to oscillating for
approximately fifty seconds before reaching trim in the proportional control case. This is
a major difference as any initial condition errors need to be corrected before maneuvers
are performed. This allows the model to accurately simulate the given maneuvers. The
longer settling time of the proportionally controlled system makes it more likely that any
errors from a prior maneuver would persist into the following maneuver. Errors could then
accumulate and produce poor tracking results.
Accurate Mach, altitude, and heading tracking have been shown by using PI control in
the outer tracking loop. The accuracy of the commanded inputs to the inner control loops,
angle of attack, side-slip angle and roll angle, are shown in figures 5.21 and 5.22. It can be
seen that the controller tracks the angle of attack and the bank angle extremely well but is

79
Figure 5.21: Commanded angle of attack, side slip angle, and bank angle for the Euminx
control allocator

Figure 5.22: Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator

80
Figure 5.23: Euminx allocator tracking results with moderate turbulence.

unable to maintain a zero side slip angle during the flight. As one might anticipate with a
commanded side slip angle of zero, the achieved side slip angle is shown to be proportional
to the achieved bank angle. This is due to the small amount of side slip generated due to the
yaw moment produced by a non-zero bank angle. The generated side slip in this instance
has a small impact on the tracking accuracy as the error is within a quarter of a degree over
the entire mission.
With a gain set selected that produces accurate tracking results, Simulink’s Dryden
turbulence model as well as additional wind and wind gust models are used to ensure
that the model can accurately track in turbulent conditions. Moderate turbulence is used
as it is unlikely that the HALE, an unmanned surveillance aircraft, will encounter severe
turbulence at its’ standard cruise altitudes and speeds. The standard mission turbulent
tracking results are shown in figure 5.23.
The turbulent tracking is shown to remain accurate throughout the mission with the
same gain set for the inner control loops and the outer tracking loop as was used in the
previous cases. The turbulent effects are most prevalent in the Mach tracking as the velocity
is directly influenced by the wind speeds and turbulent conditions. The “blips“ in the

81
Figure 5.24: Euminx control surface deflections with free control surfaces and a preference
vector used to minimize the overall deflections from the current control surface locations.

altitude and heading plots are much smaller as the fluctuations in wind speed do not have
as big of an affect. As a warning, the inclusion of turbulence makes the risk of integrator
windup more prevalent and the probability of unwinding occurring during the simulation
is increased with higher integral gains. For this reason, the turbulence tracking was used
with the standard tracking to select the tracking loop gains.
With accurate tracking results produced by the Euminx control allocator with indepen-
dent control surfaces, test cases were run to explore the additional capabilities provided by
the Euminx allocator. As shown previously, the Euminx allocator produces accurate track-
ing results with two different preference vectors. The control surface deflections produced
with preference vectors used to minimize the total deflections from the current locations
and from zero deflection are shown in figures 5.24 and 5.26 respectively.
Figure 5.24 shows interesting results as five of the eight control surfaces are held at

82
their respective maximum deflection limits for the majority of the mission. It is important to
note that the deflections shown produce the correct moments and accurate tracking results
even with fully saturated control surfaces. This is due to the V-tail rudder used on the HALE
aircraft. With a rudder capable of controlling all three of the aerodynamic moments, the
other control surfaces are only required to stabilize the aircraft and to provide a generated
moment when the rudders are not capable of producing the full moment commanded. The
allocator commands the control surfaces to the maximum deflections due to the way the
preference vector is defined. By telling the allocator to minimize the deflections from
the current locations as a secondary objective, after a maneuver or in this case an initial
condition error, that requires large deflections away from the trim solution, the allocator
attempts to hold the control surface at the new deflections away from the original trim
solution. Figure 5.24 then shows that the allocator finds a minimum deflection solution at
each time increment that corresponds to using the top rudders and using the other controls
surfaces when required. The minimum deflection solution at each time step for the outer
ailerons, ruddervators, and the left inner aileron, to fix the initial thrust condition error,
brings the control surfaces to their respective minimum deflections, and then is capable of
flying the majority of the mission by holding these surfaces constant. Holding five of the
eight control surfaces at a saturation value for the majority of the mission is an unfavorable
solution as the aircraft loses the ability to generate larger moment commands using the
control surfaces at a given flight condition. Therefore the simulation is forced to make
other changes such as increasing the angle of attack to achieve the commanded moments.
The angle of attack resulting from a preference vector used to minimize the deflection from
the current location is shown in figure 5.25. Comparing to figure 5.22, it can be seen that
the resulting angle of attack is a few degrees higher over the majority of the mission.
With the increased angle of attack and by using the control surfaces at maximum
deflection, the induced drag is much larger compared to the drag produced by generating
the required moments with only the control surface deflections at a given condition. This

83
Figure 5.25: Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator with a preference vector used to minimize the overall deflections from the
current control surface locations.

increased drag negatively affects aircraft performance and for this reason, a preference
vector is set to minimize the total deflections from zero. This allows the aircraft surfaces
to be able to produce the largest possible required moments for the next time steps and is a
good approximation to a minimum drag solution. The control surface deflections produced
with the described preference vector are shown in figure 5.26
As anticipated, the control surfaces behave in a more predictable manner and all sur-
faces except for the inner ailerons are used throughout the mission. The inner ailerons are
displaced from zero deflection to help correct for the thrust initial condition error and then
remain constant due to the fact that the outer ailerons control the produced roll moment
more effectively. In instances such as the inclusion of turbulence, the commanded mo-
ments often require quick deflections of multiple control surfaces. In these instances, all
eight control surfaces are used throughout the mission as only using a few of the surfaces
is not possible with the set rate limits. The control surface deflections under turbulent con-
ditions using a preference set to minimize the overall deflections from zero can be seen in

84
Figure 5.26: Euminx control surface deflections with free control surfaces and a preference
vector used to minimize the overall deflections from zero.

Figure 5.27: Euminx control surface deflections with free control surfaces under turbulent
conditions and a preference vector used to minimize the overall deflections from zero.

85
Figure 5.28: Achieved angle of attack, side slip angle, and bank angle for the Euminx
control allocator with a preference vector used to minimize the overall deflections from
zero.

figure 5.27.
The angle of attack resulting from the preference vector used to minimize the overall
deflections from zero under standard conditions is also reduced as the control surfaces are
not saturated and therefore are capable of producing a larger change in moment over a
given time increment. The resulting angle of attack corresponds to the plot presented in
figure 5.22 but is repeated here in figure 5.28 for ease of the reader.
The reduced angle of attack and control surface deflections result in a smaller amount
of induced drag, thus improving aircraft performance. The produced drag for the two
preference vectors can be seen in figures 5.29 and 5.30.
It can be seen that by using a preference vector to minimize the overall deflections
from zero rather than from the current locations, the induced drag is reduced by approx-
imately 600 lbs for the entire mission. This reduction in induced drag improves aircraft
performance and therefore the preference vector used to minimize the overall deflections
from zero will be used for the remainder of the results shown. This reduction based on a

86
Figure 5.29: Induced drag for the Euminx control allocator with a preference vector used
to minimize the overall deflections from the current control surface locations.

Figure 5.30: Induced drag for the Euminx control allocator with a preference vector used
to minimize the overall deflections from zero.

87
Figure 5.31: Control surface deflections with all rate limits set to 120 degrees per second.

simple approximation to a minimum drag solution leads to the desire of using a preference
vector of the actual minimum drag solution for all flight conditions. This solution requires
the determination of the minimum drag deflections for all flight conditions including angle
of attack, and the current side slip angle and has been left as a goal for future work. It is
desired to have a preference vector that is a combination of minimizing the induced drag
and the required control effort that can be weighted according to the given mission. Solu-
tions attempting to minimize control effort may require a reset solution preference vector
to avoid control surfaces reaching saturation as in the case of a preference vector used to
minimize the deflection from the current location.
The Euminx control allocator accounts for control surface rate limits when solving
the control allocation problem and can be seen by comparing results with adjusted rate
limits. In this example, the control surface deflections produced with all rate limits set at
120 degrees per second are compared to the deflections produced when the ruddervator rate
limit is set to 10 degrees per second without altering the aileron and rudder rate limits.
The results show that with a reduced rate limit acting on the ruddervators, the allocator

88
Figure 5.32: Control surface deflections with aileron and rudder rate limits set to 120 de-
grees per second and with the ruddervator rate limit set to 10 degrees per second.

is forced to find a new initial trim position to operate around. This is due to the fact that the
allocator is not allowed to move the ruddervators as far in the initial time steps as it preferred
to when the rate limit was left at 120 degrees per second. This forces the allocator to correct
for the thrust initial condition error using the other controls surfaces. After the new trim
condition is found by the allocator, the remainder of the simulation is nearly identical as the
commanded maneuvers are not extreme and do not require large changes of control surface
deflection over short periods of time. To better show the differences required to correct for
the initial error, figures 5.33 and 5.34 show the allocation solutions over the first 10 seconds
of simulation.
By focusing on the bottom rudder deflections, it can be seen that with a rate limit of
120 degrees per second, the ruddervator deflections almost instantaneously deflect from
the initial deflection of approximately −5.5 degrees to a deflection of −1 degrees. With the
rate limit reduced to 10 degrees per second, this deflection cannot be reached in the same
amount of time, therefore the allocator is smart enough to find a new approach to reaching
a trimmed solution. The new trim solution corresponds to the differences in the deflections

89
Figure 5.33: Initial control surface deflections with all rate limits set to 120 degrees per
second.

Figure 5.34: Initial control surface deflections with aileron and rudder rate limits set to 120
degrees per second and with the ruddervator rate limit set to 10 degrees per second.

90
Figure 5.35: Control surface deflections with the right bottom rudder’s rate limit set to zero.

in the remaining six control surfaces.


The control surface rate limits can also be used to model a jammed actuator on the
aircraft. This is done by setting the control surface rate to zero or essentially locking the
control surface at the initial deflection value. Figure 5.35 shows the HALE aircraft flying
with the right ruddervator (right bottom rudder) locked at the initial trim value.
As commanded, the right ruddervator holds the initial trim value for the entire mission
and the other control surfaces are required to produce the commanded moments accord-
ingly. The model is not currently set up for real time changes, so missions where a control
surface may lock up in the middle of a mission are not currently possible. This will be a
focus of future work when longer, real life missions and encounters are simulated.
The final Euminx input that has been explored is changing the weights used for the
three primary moments, and for each control surface. As stated previously, if the weights
on the control surfaces are set higher than the weights on the moment commands, the allo-
cator will produce the preferred solution whether or not the correct moments are produced.
If a portion of the control surfaces are weighted higher than the moment weights, the se-
lected control surfaces will remain at the preferred solution while the remaining surfaces

91
Figure 5.36: Control surface deflections with the left outer aileron, left bottom rudder, and
right top rudder as the preferred surfaces used to generate the commanded moments.

will attempt to generate the commanded moments. If all surface weights are below the
moment weights, all surfaces will be used to create the commanded moments with the low-
est weighted control surfaces used first. The weights are applied to the objective functions
created by the effectiveness vector cb so that the allocator uses a combination of the sur-
face weights and effectiveness values to decide which surface to use in each instance. For
example, if the ailerons are weighted less than the rudders, the allocator would still elect to
use the rudders to generate a yaw moment command unless the rudder weights are set to a
value higher than the moment weights. In figure 5.36 the weights on the left outer aileron,
left ruddervator (bottom rudder), and the right top rudder are left at the reduced value of
1e−6 while the remaining surface weights are set equal to the moment weighted value of
1. With the chosen weights, the allocator will attempt to only use the left outer aileron,
left ruddervator, and the right top rudder to generate all of the commanded moments, but,
can use the other control surfaces as necessary. If the remaining control surfaces were set
to a weighted value of 2 rather than 1, they would remain at the preferred solution of zero
deflection.

92
It can be seen that the allocator uses all eight control surfaces to account for the thrust
initial condition error, but then performs the remainder of the mission using only the left
outer aileron, left ruddervator, and right top rudder as commanded. The remaining control
surfaces remain at an offset away from the preferred solution of zero deflection because the
allocator still functions as if the commanded moments are the only primary objective. If a
solution is desired that forces the surface deflections to return to zero, the surface weights
will need to be changed to a value higher than the moment weights during the mission. As
the current preference vector is merely a rough approximation to a minimum drag solution,
the small offset is of minimal concern. As mentioned previously, solutions requiring real
time command changes are out of the scope of the thesis but will be of interest in future
work when longer, real life missions and encounters are simulated.

5.4 F16 Results

With the Euminx allocator inputs explored, the model architecture is then tested using the
F16 aircraft. The F16 was first tested using the linear stick and rudder mixer to ensure the
6-DOF model was functioning properly. These results are not included here as the primary
focus was to test the robustness of the model using the Euminx allocator. The control
allocation and 6-DOF Simulink blocks were adjusted to account for the new control surface
aerodynamic data and restrictions. The F16 data provided by NASA [28] includes the same
aerodynamic data used by the HALE and additionally provides data for p, q, and r effects.
These effects are accounted for in the aerodynamics block and need to be subtracted off in
order to generate the δL, δM , and δN command inputs into the Euminx allocator.
The first test using the F16 Euminx model, was to run a similar mission, with the
selected HALE gain set.
Figure 5.37 shows that overall, the tracking results remain accurate throughout the
mission but are not as accurate as the HALE tracking results. The first noticeable difference

93
Figure 5.37: F16 tracking using the Euminx control allocator and the HALE gain set.

is the thrust initial condition error is much larger in the F16 model, resulting in larger errors
at the beginning of the simulation. Focusing on the Mach tracking, oscillations can be seen
persisting well into the mission and are a function of the small integral gains required to
obtain accurate tracking results in the HALE model. This shows that the F16 tracking
results can easily be improved by increasing the integral control to reduce the amplitude of
the oscillations and to eliminate the thrust initial condition error in a shorter amount of time.
The tracking results with a modified gain set are shown in figure 5.38. It is important to note
that the robustness of nonlinear dynamic inversion (NDI) allows the same set of control and
tracking gains to produce accurate results for both the F16 and HALE aircraft. Although the
F16 and HALE are completely difference classes of aircraft, by eliminating the nonlinear
effects with NDI, the aircraft function in a similar manner and can be controlled using the
exact same inner control loop. This is an encouraging result for future work as the desire
of automating the gain selection process remains a desired goal.
As expected, with increased integral control, the initial error is eliminated in a fraction
of the time and the amplitude of the tracking oscillations is reduced. To make it easier see
the difference in amplitude, zoomed images of the Mach tracking between 250 seconds and

94
Figure 5.38: F16 tracking using the Euminx control allocator and a selected F16 gain set.

Figure 5.39: Zoomed F16 tracking using the Euminx control allocator and the HALE gain
set.

300 seconds are shown below in figures 5.39 and 5.40.


It can be seen that the adjusted F16 gains with higher integral control provide tracking
around time t = 300 seconds that is approximately two orders of magnitude better than that
produced using the HALE gain set. The F16 gains can be seen to be more than two orders
of magnitude better at all other points in the interval. The Mach tracking loses accuracy
as time approaches 300 seconds due to the fact that the heading change is no longer at
a constant rate. A similar decrease in accuracy occurs at time t = 200 seconds when
the heading initially begins to change. It is encouraging that at these points of decreased

95
Figure 5.40: Zoomed F16 tracking using the Euminx control allocator and a selected F16
gain set.

Figure 5.41: F16 turbulent tracking using the Euminx control allocator and a selected F16
gain set.

accuracy, the tracking remains extremely accurate.


The F16 gain set is then used to account for wind, wind gusts, and turbulent effects to
ensure that the increased integral control can handle the added perturbations. The turbulent
tracking using the F16 gain set, figure 5.41, is compared to the F16 turbulent tracking using
the HALE gain set in figure 5.42.
Although the turbulent tracking is nearly identical between the two gain sets, it can be
seen that the larger integral gains present in the F16 gain set results in larger peaks in the

96
Figure 5.42: F16 turbulent tracking using the Euminx control allocator and the HALE gain
set.

tracking error. This can be seen in the Mach tracking at time t = 300 seconds and between
t = 80 and t = 125 seconds but can be seen more easily in the heading tracking results
over the entire mission. The larger peaks result from the higher integral gains attempting
to close out the errors quicker that a smaller integral gain would close the error. These
fast corrections accompanied by the unpredictable nature of turbulence lead to instances
of increased tracking error as apposed to a system that reacts slower to the errors induced
by turbulent effects. This makes the automation of the gain selection process a difficult
task as higher integral gains produce more accurate tracking in standard conditions, but
can negatively affect turbulent tracking. Higher integral gains also increases the risk of
an integrator unwinding and leading to divergent tracking results. The idea of scheduling
these gains as a function of flight conditions, and the current mission, is not a desired
solution as a larger design effort would be required for every new aircraft model. Future
work on the gain selection process will focus on producing excellent tracking results under
standard conditions, while eliminating the risk of integrator windup through gain selection
or anti-windup logic. Accurate tracking under turbulent conditions will be a requirement,
and a factor in choosing the optimal gain set, but optimized turbulent tracking will not be a

97
primary focus. This falls in line with the scope of the research: to automatically generate a
6-DOF model that produces accurate results, without necessarily being the best possible 6-
DOF model. This is an attempt to balance the achieved accuracy and the amount of design
effort or man hours required to generate the given model.

98
CONCLUSIONS AND SUGGESTED

FUTURE IMPROVEMENTS

6.1 Conclusions

6-DOF modeling is an efficient method of simulating aircraft performance that can be help-
ful in both the design process and real time encounter scenarios. The downside of using
6-DOF models is the amount of man hours required to create a full set of the required aero-
dynamic data, a control architecture with control laws derived for the given aircraft, and to
select the necessary gains for the given control laws/gain schedule if necessary. The first
task of generating the required aero data is an expensive and time consuming process con-
sisting of wind tunnel testing, or performing CFD simulations. The data then needs to be
analyzed to exclude outliers and to be surface fit over the entire flight envelope. This step is
required so that the data look-up tables are able to interpolate between flight conditions and
so that the derivatives can easily be calculated at any point. The derivatives correlate to the
control surface effectiveness values and are used in the allocation process. Potential con-
trol architectures have been explored through literature review, though nonlinear dynamic
inversion (NDI) remains the method of choice. This is due to the fact that all nonlinear
effects are subtracted off resulting in a linear system that does not require any additional
gain scheduling over the flight envelope. The major drawbacks of NDI control are that the

99
nonlinear effects must be known exactly to appropriately subtract them off using feedback
control and that NDI architectures cancel out even stabilizing nonlinear effects. As the
current research is only applicable for aircraft simulations, the nonlinear effects are known
exactly through table look-ups and do not pose a problem. Stabilizing nonlinear effects are
canceled, but the benefit of producing a linearized system currently outweighs this draw-
back. Back stepping is capable of benefiting from stabilizing nonlinearities, but the virtual
control laws must be properly selected for a given aircraft and the result is still a nonlinear
system. For the goal of automating the 6-DOF design process, cascaded NDI controllers
appear to be the most logical solution.
The goal of the current research was to then automate key components of the 6-DOF
design process. In particular, given cascaded nonlinear dynamic inversion controllers, it
was desired to automate the gain selection process for the six remaining controller gains
and to replace or improve the linear stick and rudder control allocation technique used in
previous models. Handling quality requirements were used to predict the optimum control
loop gains with limited success. Improved results were shown by using the gains predicted
by the handling quality pole placement method, but only after two of the six gains were
adjusted after the fact. The disconnect between the linearized model and the aircraft model
causing divergent tracking results when all handling quality gains are used has yet to be
explored. The tracking control loop design and associated gains have been briefly explored
to improve tracking results, but major design changes and attempts to automate this portion
of the control architecture have been left to future work.
A new control allocation technique has been implemented rather than attempting to
continue to use the linear stick and rudder mixer by defining any additional control surface
deflections as a function of the three primary deflections, δa, δe, and δr. The Euminx con-
trol allocation strategy allows all control surfaces to be handled independently and accounts
for all rate and position limits directly in the allocation solution. The Euminx allocator also
provides additional capabilities such as using a preference vector to steer towards a favor-

100
able solution, and surface and axis weights that can be used to set primary and secondary
objective functions. Control surface weights can be used to command the use of a preferred
control surface or to force control surfaces to the preferred solution regardless of the corre-
sponding moments produced. Control surface rate limits can be set to zero to model cases
such as a jammed actuator. Two vastly different aircraft were used to show the robustness
of the NDI control architecture as only aircraft dependent data such as geometric data and
aerodynamic tables need to be adjusted between the two models. The robustness of the
NDI control laws is further shown by the fact that the F16 aircraft model produced accurate
tracking results while using a gain set derived for the HALE model. The gain selection
technique was unable to be incorporated on the Euminx allocator models as the method of
linearizing using MATLAB’s Linmod function is unable to linearize the model with a built
in S-function based on mexed C Source code.

6.2 Future Work

A key aspect of the future work is to incorporate automation techniques into the design of
the tracking control loop. Currently the tracking loop is based off of NDI derived control
laws based on the 2.5-DOF model, with PI tracking control. The first area of interest is to
correct the NDI derived control laws based on the 6-DOF model so that the initial thrust
commanded corresponds to the initial trim thrust that the model expects. This is required
to correct for the initial thrust condition seen throughout the results. Once the control laws
are fixed, it will be of interest to automate the controller design by either automating the
PI controller gains or by automating the design of a new control architecture such as LQR
or LQI. This may be done by minimizing the total sum of the tracking errors for a short
mission to minimize computation time, or by developing new methodologies to obtain an
objective function for the tracking control loop. Literature review may be beneficial in
this regard, but a majority of companies and institutions withhold such information for

101
monetary purposes. If the total sum of the tracking errors is used, the automation of the
tracking control loop will be dependent on the methods used to automate the selection
process for the six inner control loop gains.
The second major focus of the follow on research is to develop or implement a new
methodology for linearizing the aircraft models. This is required to further pursue handling
quality based pole placement methods to select the six NDI control loop gains. Once the
Euminx allocator models are linearized, it will be of interest to see if the optimal gains
selected through the handling quality pole placement method produce accurate tracking
results, or if there is still a disconnect between the linearization method and the full aircraft
model. If a disconnect persists, future work will include tracking down any potential errors
in the linearization technique or the pole placement method.
Additional areas of interest for future work include: The creation of new preference
vectors to be used in the Euminx allocator such as a true minimum drag solution, or a
solution that minimizes the total required control power. The incorporation of real time
command changes to Euminx inputs, allowing for in flight modifications to the preference
vector, weighted values, and rate limits. The development of new control laws to develop
an attitude hold mode of operation for situations such as takeoff and landing. A modified
lateral directional objective function that incorporates the required controller effort in an
attempt to reduce the magnitude of the lateral directional “optimal” gains. Finally, the
incorporation of the 6-DOF model into the AFSIM framework for large scale simulation
purposes is a key focus for future work.

102
Bibliography

[1] D. Doman and M. Oppenheimer, “Improving control allocation accuracy for nonlinear
aircraft dynamics.” AIAA Guidance, Navigation, and Control Conference, 2002.

[2] A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets. John Wiley &
Sons, Ltd., 2011.

[3] D. Enns et al., “Dynamic inversion: An evolving methodology for flight control de-
sign,” International Journal of Control, vol. 59, no. 1, pp. 71–91, 1994.

[4] J. Bosworth and D. Enns, “Nonlinear multivariable flight control,” 2011, http://
ieeecss.org/sites/ieeecss.org/files/documents/IoCT-Part2-10FlightControl-LR.pdf.

[5] H. Goldstein, Classical Mechanics. Addison-Wesley, 1959.

[6] B. L. Stevens and F. L. Lewis, Aircraft Control and Simulation, 2nd ed. John Wiley
& Sons, Inc., 2003.

[7] W. F. Phillips, Mechanics of Flight, 2nd ed. John Wiley & Sons, Inc., 2010.

[8] B. Etkin, Dynamics of Flight, Stability and Control. Wiley, 1982.

[9] J. D. Anderson, Aircraft Performance and Design. McGraw-Hill, 1999.

[10] O. Harkegard, “Flight control design using backstepping,” Master’s thesis, Linkoping
University, Linkoping, Sweden, 2001.

103
[11] D. E. S. Anthony Snell and W. G. Jr., “Nonlinear inversion flight control for a super-
maneuverable aircraft,” Journal of Guidance, Control, and Dynamics, vol. 15, no. 4,
pp. 976–984, 1992.

[12] R. Adams et al., “Design of nonlinear control laws for high-angle-of-attack flight,”
Journal of Guidance, Control, and Dynamics, vol. 17, no. 4, pp. 737–746, 1994.

[13] J. Reiner et al., “Flight control design using robust dynamic inversion and time-scale
seperation,” Automatica, vol. 32, no. 11, pp. 1493–1504, 1996.

[14] R. A. Freeman and P. V. Kokotovic, Robust Nonlinear Control Design: State-Space


and Lyapunov Techniques. Birkhauser, 1996.

[15] M. Krstic, NOnlinear and Adaptive Control Design. John Wiley & Sons, Inc., 1995.

[16] M. R. Napolitano, Aircraft Dynamics From Modeling to Simulation. John Wiley &
Sons, Inc., 2012.

[17] K. Shimmin, “An architecture for rapid modeling and simulation of an air-vehicle
system,” Master’s thesis, University of Dayton, Dayton, Ohio, 2016.

[18] M. C. Cotting, “Evolution of flying qualities analysis: Problems for a new genera-
tion of aircraft,” Master’s thesis, Virginia Polytechnic Institute and State University,
Blacksburg, Virginia, 2010.

[19] D. Caughey, “Introduction to aircraft stability and control course notes for m & ae
5070,” Cornell University, 2011.

[20] S. G. Johnson, “The nlopt nonlinear-optimization package,” http://ab-initio.mit.edu/


nlopt.

[21] T. P. Runarsson and X. Yao, “Search biases in constrained evolutionary optimization,”


IEEE Trans. on Systems, Man, and Cybernetics, vol. 35, no. 2, pp. 233–243, 2005.

104
[22] K. S. J. Bruce Boggs and G. Russell, “Development of an afrl mq-9 reaper model,”
PCKA, Tech. Rep., 2016.

[23] M. Bodson, “Evaluation of optimization methods for control allocation.” AIAA


Guidance, Navigation, and Control Conference, 2001.

[24] R. Weber, The Princeton Companion to Mathematics: The Simplex Algorithm, J. B.-
G. Timothy Gowers and I. Leader, Eds. Princeton University Press, 2008.

[25] V. Klee and G. Minty, “How good is the simplex algorithm?” Inequalities III, vol. 16,
pp. 159–175, 1972.

[26] L. G. Kachian, “A polynomial algorithm in linear programming,” Soviet Mathematics


Doklady, vol. 20, pp. 191–194, 1979.

[27] N. Karmarkar, “A new polynomial-time algorithm for linear programming,” Combi-


natorica, vol. 4, pp. 373–395, 1984.

[28] L. T. Nguyen et al., “Simulator study of stall/post-stall characteristics of a fighter


airplane with relaxed longitudinal static stability,” NASA, Tech. Rep. 1538, 1979.

105
Appendix A
Simplex Algorithm

A.1 Simplex Example


M aximize : x1 + 2x2

Subject to : −x1 + 2x2 ≤ 2,

x1 + x2 ≤ 4,

2x1 − x2 ≤ 5,

x1 , x2 ≥ 0.

The constraints define the feasible region for x1 and x2 shown in figure A.1. Slack
variables x3 , x4 , and x5 all of which must be greater than zero, are introduced to rewrite
the inequality constraints as the following system of first order linear equations.

− x1 + 2x2 + x3 = 2, (A.1a)

x1 + x2 + x4 = 4, (A.1b)

2x1 − x2 + x5 = 5. (A.1c)

This results in a system of three linear equations with five unknown variables. Setting

106
Figure A.1: Feasible region P for the Example shown in Appendix A.

any two variables to zero and solving the system for the remaining three variables, shows
that there are ten possible solutions, five of which satisfy the condition x1 , x2 , x3 , x4 , x5 ≥
0. These five solutions are therefore the corresponding basic feasible solutions and corre-
spond to vertices O, B, C, D, and E in figure A.1.
Now suppose that at step 0, we arbitrarily select the BFS at vertex O as the initial
guess. We then check to see if it is possible to increase the objective function by increasing
either of the two zero variables, currently x1 and x2 . This is done by rewriting A.1 and
the objective function in terms of the zero variables x1 and x2 . The resulting equations are
presented in A.2.

x3 = 2 + x1 − 2x2 , (A.2a)

x4 = 4 − x1 − x2 , (A.2b)

x5 = 5 − 2x1 + x2 , (A.2c)

107
cT x = x1 + 2x2 . (A.2d)

It can now be seen that the objective function can be increased by increasing either x1
or x2 . We will choose to increase x2 as it has a larger increase on the objective function.
From A.2 it can be seen from equation a. that x2 cannot be increased beyond one, due to
the requirement that x3 be greater than zero. By increasing x2 as much as possible, and
inserting in equation A.2 we arrive at a new BFS corresponding to vertex B. Equation A.2
a. is then solved for x2 as a function of the new zero variables x1 and x3 , and the system of
equations and the objective function are again rewritten in terms of the new zero variables.
This results in the equations shown in A.3.

1 1
x2 = 1 + x1 − x3 , (A.3a)
2 2
3 1
x4 = 3 − x1 − x3 , (A.3b)
2 2
3 1
x5 = 6 − x1 − x3 , (A.3c)
2 2

cT x = 2 + 2x1 − x3 . (A.3d)

The objective function is again not optimized, as it can be increased by increasing the
value of x1 . From A.3 equation b. it is seen that the value of x1 cannot be increased beyond
two. This is due to the restraint that x4 be greater than zero. Increasing x1 to its maximum
value, we arrive at the BFS corresponding to vertex C. The system of equations and the
objective function are now rewritten in terms of the new zero variables x3 and x4 and are
shown in A.4.

1 2
x1 = 2 + x3 − x4 , (A.4a)
3 3

108
1 1
x2 = 2 − x3 − x4 , (A.4b)
3 3

x5 = 3 − x 3 + x4 , (A.4c)

1 4
cT x = 6 − x 3 − x 4 . (A.4d)
3 3

It is now shown that the only way to further increase the objective function is to force
x3 or x4 to be a negative value. This would violate the conditions that x3 and x4 must be
greater than zero, and therefore vertex C is found to be the optimal solution. The solution
of x1 = 2 and x2 = 2 corresponds to the expected solution of maximizing x1 + 2x2 over
the given feasible region.

109

Вам также может понравиться