an automated controller design methodology for six degree

126
Wright State University Wright State University CORE Scholar CORE Scholar Browse all Theses and Dissertations Theses and Dissertations 2017 An Automated Controller Design Methodology for Six Degree-of- An Automated Controller Design Methodology for Six Degree-of- Freedom Aircraft Models Freedom Aircraft Models Dominic J. Dierker Wright State University Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all Part of the Mechanical Engineering Commons Repository Citation Repository Citation Dierker, Dominic J., "An Automated Controller Design Methodology for Six Degree-of-Freedom Aircraft Models" (2017). Browse all Theses and Dissertations. 1900. https://corescholar.libraries.wright.edu/etd_all/1900 This Thesis is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].

Upload: others

Post on 16-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Automated Controller Design Methodology for Six Degree

Wright State University Wright State University

CORE Scholar CORE Scholar

Browse all Theses and Dissertations Theses and Dissertations

2017

An Automated Controller Design Methodology for Six Degree-of-An Automated Controller Design Methodology for Six Degree-of-

Freedom Aircraft Models Freedom Aircraft Models

Dominic J. Dierker Wright State University

Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all

Part of the Mechanical Engineering Commons

Repository Citation Repository Citation Dierker, Dominic J., "An Automated Controller Design Methodology for Six Degree-of-Freedom Aircraft Models" (2017). Browse all Theses and Dissertations. 1900. https://corescholar.libraries.wright.edu/etd_all/1900

This Thesis is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].

Page 2: An Automated Controller Design Methodology for Six Degree

An Automated Controller Design Methodology forSix Degree-of-Freedom Aircraft Models

A Thesis submitted in partial fulfillmentof the requirements for the degree of

Master of Science in Mechanical Engineering

by

Dominic J. DierkerB.S.M.E., Wright State University, 2016

2017Wright State University

Page 3: An Automated Controller Design Methodology for Six Degree

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.

Page 4: An Automated Controller Design Methodology for Six Degree

Wright State UniversityGRADUATE SCHOOL

January 16, 2018

I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY SUPER-VISION BY Dominic J. Dierker ENTITLED An Automated Controller Design Methodologyfor Six Degree-of-Freedom Aircraft Models BE ACCEPTED IN PARTIAL FULFILL-MENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of Science in MechanicalEngineering.

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

Joseph C. Slater, Ph.D., P.E.Chair, Department of Mechanical and

Materials Engineering

Committee onFinal 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

Page 5: An Automated Controller Design Methodology for Six Degree

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

Page 6: An Automated Controller Design Methodology for Six Degree

List of Symbols

Roman Symbols

CD drag coefficientCD0 parasite drag coefficientCL lift coefficientCL0 lift coefficient at minimum dragCW weight coefficientcT

cb control surface effectiveness matrixD drag lbg local acceleration due to gravity ft/s2

h nonlinear function of state dataib body fixed x-direction unit vector ftie inertial axes x-direction unit vector ftjb body fixed y-direction unit vector ftje inertial axes y-direction unit vector ftJ intertia tensor slug · ft2kb body fixed z-direction unit vector ftke inertial axes z-direction unit vector ftkinner inner loop gain s−1

kouter outer loop gain s−1

L lift lbL rolling moment ft · lbsL,α change in lift with respect to angle of attack: ∂L

∂α

M pitching moment ft · lbsm mass slugN yawing moment ft · lbsn load factorP power;roll rate hp, radians/sQ pitch rate radians/sq dynamic pressure lb/ft2

R minimum turn radius;yaw rate ft, radians/sS wing area ft2

T thrust lbt time s

v

Page 7: An Automated Controller Design Methodology for Six Degree

Roman Symbols Continued

u input vector to the aircraft plant modelu x-component of the total velocity ft/sv y-component of the total velocity ft/sV velocity ft/sVt true airspeed ft/s~v velocity vector ft/sw z-component of the total velocity ft/sw1(t) Noise inputw2(t) Noise inputW weight lbx state vectorxb forward body-fixed coordinateyb rightward body-fixed spanwise coordinatezb downward body-fixed coordinate

vi

Page 8: An Automated Controller Design Methodology for Six Degree

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ωnsp short period undamped natural frequency rad/s~ω angular velocity vector rad/s

vii

Page 9: An Automated Controller Design Methodology for Six Degree

List of Acronyms2.5-DOF Two and a Half Degree-of-Freedom6-DOF Six Degree-of-FreedomAFSIM Advanced Framework for Simulation, Integration and ModelingAPI Application Program InterfaceBFS Basic Feasible SolutionCAP Control Anticipation ParameterCFD Computational Fluid DynamicsCS Control SurfaceCV Control VariableDoD Department of DefenseISRES Improved Stochastic Ranking Evolution StrategyLQR Linear Quadratic RegulatorMATLAB Matrix LaboratoryNASA National Aeronautics and Space AdministrationNDI Nonlinear Dynamic InversionNED North East DownNLOPT Nonlinear OptimizationPI Proportional and Integral ControlTSPI Time Space Position InformationUAV Unmanned Aerial VehicleWGS84 World Geodetic Survey 1984HALE High Altitude Long Endurance Aircraft

viii

Page 10: An Automated Controller Design Methodology for Six Degree

Contents

1 INTRODUCTION 11.1 The 6-DOF Modeling Process . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 6DOF PLANT MODELING 82.1 Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Applied Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Aerodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.2 Propulsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 FEEDBACK LINEARIZATION 173.1 Control Architecture Background . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1 Gain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.2 Nonlinear Dynamic Inversion (NDI) . . . . . . . . . . . . . . . . . 193.1.3 Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Current Control Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.1 Applied NDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.2 Inner loop regulator (NDI) . . . . . . . . . . . . . . . . . . . . . . 243.2.3 Outer loop regulator (NDI) . . . . . . . . . . . . . . . . . . . . . . 263.2.4 Tracking control loop . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Gain Selection via Handling Qualities . . . . . . . . . . . . . . . . . . . . 303.3.1 Longitudinal Dynamics . . . . . . . . . . . . . . . . . . . . . . . . 343.3.2 Lateral Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3.3 Linmod Linearization . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.4 NLOPT Optimization . . . . . . . . . . . . . . . . . . . . . . . . 43

4 CONTROL ALLOCATION 464.1 Linear Control Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Euminx Control Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 IMPLEMENTATION AND CASE STUDIES 605.1 Automated Gain Selection Results . . . . . . . . . . . . . . . . . . . . . . 60

ix

Page 11: An Automated Controller Design Methodology for Six Degree

5.2 Control Allocation Results . . . . . . . . . . . . . . . . . . . . . . . . . . 645.3 HALE Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3.1 Limited Euminx Allocation vs. Linear Stick and Rudder Mixer . . . 675.3.2 Euminx Results with Free Control Surfaces . . . . . . . . . . . . . 75

5.4 F16 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6 CONCLUSIONS AND SUGGESTED FUTURE IMPROVEMENTS 996.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Bibliography 102

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

x

Page 12: An Automated Controller Design Methodology for Six Degree

List of Figures

1.1 Top level work flow process for 6-DOF model development . . . . . . . . . 21.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 . . . . . . . . . . . . . . . . . 183.2 Generic NDI control architecture . . . . . . . . . . . . . . . . . . . . . . . 203.3 Generic backstepping control architecture . . . . . . . . . . . . . . . . . . 213.4 Block Diagram of the current control architecture . . . . . . . . . . . . . . 233.5 2.5-DOF Free Body Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 293.6 Cooper-Harper rating scale (1969) . . . . . . . . . . . . . . . . . . . . . . 323.7 Damped and undamped motion of the short period mode . . . . . . . . . . 343.8 Typical motion of the phugoid mode . . . . . . . . . . . . . . . . . . . . . 353.9 Short period natural frequency requirements as a function of acceleration

sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.10 Short period CAP and damping ratio requirements . . . . . . . . . . . . . . 383.11 Typical motion of the Dutch Roll mode . . . . . . . . . . . . . . . . . . . 383.12 Reduced model used with Linmod . . . . . . . . . . . . . . . . . . . . . . 403.13 Longitudinal Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.14 Lateral Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.15 Combined Poles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 HALE Control Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 Feasible region P for the Example shown in Appendix A. . . . . . . . . . . 534.3 Local slope approximation with and without intercept term [1] . . . . . . . 564.4 Global vs. Local effectiveness approximation [1] . . . . . . . . . . . . . . 574.5 Local slope approximation with delta moment commands . . . . . . . . . . 584.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

Page 13: An Automated Controller Design Methodology for Six Degree

5.3 Tracking results using the HALE model with a stick and rudder mixer usingunit gains in the inner and outer control loops. . . . . . . . . . . . . . . . . 63

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

5.5 Euminx implementation tested by commanding δL, δM , and δN . . . . . . 655.6 Euminx response time commanding δL, δM , and δN . . . . . . . . . . . . 665.7 Linear control mixer tracking results . . . . . . . . . . . . . . . . . . . . . 685.8 Limited Euminx control allocator tracking results . . . . . . . . . . . . . . 695.9 Commanded moments for both control allocation methods . . . . . . . . . 705.10 Achieved moments for both control allocation methods . . . . . . . . . . . 715.11 Control surface moment effects for both control allocation methods . . . . 725.12 Engine moment effects for both control allocation methods . . . . . . . . . 735.13 Control surface deflections for the linear control mixer . . . . . . . . . . . 745.14 Control surface deflections for the limited Euminx control allocator . . . . 745.15 Euminx Tracking with free control surfaces and a preference vector used to

minimize the overall deflections from the current control surface locations. 765.16 Euminx Tracking with free control surfaces and a preference vector used

to minimize the overall deflections from zero. . . . . . . . . . . . . . . . . 765.17 Euminx tracking with free control surfaces and PI tracking control. . . . . . 775.18 Euminx lift commanded with free control surfaces and PI tracking control. . 785.19 Euminx lift achieved with free control surfaces and PI tracking control. . . 785.20 Euminx allocator commanded and achieved moments with PI tracking con-

trol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.21 Commanded angle of attack, side slip angle, and bank angle for the Euminx

control allocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.22 Achieved angle of attack, side slip angle, and bank angle for the Euminx

control allocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.23 Euminx allocator tracking results with moderate turbulence. . . . . . . . . 815.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 Euminxcontrol 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 Euminxcontrol 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 usedto minimize the overall deflections from the current control surface locations. 87

xii

Page 14: An Automated Controller Design Methodology for Six Degree

5.30 Induced drag for the Euminx control allocator with a preference vector usedto minimize the overall deflections from zero. . . . . . . . . . . . . . . . . 87

5.31 Control surface deflections with all rate limits set to 120 degrees per second. 885.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 persecond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.33 Initial control surface deflections with all rate limits set to 120 degrees persecond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.34 Initial control surface deflections with aileron and rudder rate limits set to120 degrees per second and with the ruddervator rate limit set to 10 degreesper second. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.35 Control surface deflections with the right bottom rudder’s rate limit set tozero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . 945.38 F16 tracking using the Euminx control allocator and a selected F16 gain set. 955.39 Zoomed F16 tracking using the Euminx control allocator and the HALE

gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.40 Zoomed F16 tracking using the Euminx control allocator and a selected

F16 gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.41 F16 turbulent tracking using the Euminx control allocator and a selected

F16 gain set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.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

Page 15: An Automated Controller Design Methodology for Six Degree

List of Tables

3.1 Short period damping ratio requirements . . . . . . . . . . . . . . . . . . . 373.2 Dutch Roll requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

xiv

Page 16: An Automated Controller Design Methodology for Six Degree

AcknowledgmentFunding 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

Page 17: An Automated Controller Design Methodology for Six Degree

Dedicated to

My wonderful parents,

xvi

Page 18: An Automated Controller Design Methodology for Six Degree

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

Page 19: An Automated Controller Design Methodology for Six Degree

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

Figure 1.1: Top level work flow pro-cess for 6-DOF model development

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-

resentative data, generally in tabular form, must be

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

Page 20: An Automated Controller Design Methodology for Six Degree

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

Page 21: An Automated Controller Design Methodology for Six Degree

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., CATIAr 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

1This Figure, in slightly modified form, originates from Tewari [2]

4

Page 22: An Automated Controller Design Methodology for Six Degree

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 MATLABr 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

Page 23: An Automated Controller Design Methodology for Six Degree

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’ MATLAB/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

Page 24: An Automated Controller Design Methodology for Six Degree

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

Page 25: An Automated Controller Design Methodology for Six Degree

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

Page 26: An Automated Controller Design Methodology for Six Degree

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.

ie

je

ke

=

cosψ − sinψ 0

sinψ cosψ 0

0 0 1

cos θ 0 sin θ

0 1 0

− sin θ 0 cos θ

1 0 0

0 cosφ − sinφ

0 sinφ cosφ

ib

jb

kb

=

cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ

cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ

−sθ sφcθ cφcθ

ib

jb

kb

(2.1)

In Figure 2.1, the orientation of the unit vectors bib, jb, kbc 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 bie, je, kec 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

Page 27: An Automated Controller Design Methodology for Six Degree

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

~ω = pib + qjb + rkb. (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

Page 28: An Automated Controller Design Methodology for Six Degree

axis system,d~r

dt=∂~r

∂t+ ~ω × ~r (2.3)

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

∑~F =

d (m~v)

dt= m~v + ~ω ×m~v (2.4a)

∑~M =

d (J~ω)

dt= J~ω + ~ω × J~ω (2.4b)

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 = uib + vjb + wkb (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

J =

Ixx 0 −Ixz

0 Iyy 0

−Izx 0 Izz

. (2.6)

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

Page 29: An Automated Controller Design Methodology for Six Degree

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θ

0 cφ −sφ

0 sφ/cθ cφ/cθ

p

q

r

. (2.7)

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

~W = mg

−sθ

sφcθ

cφcθ

. (2.8)

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

12

Page 30: An Automated Controller Design Methodology for Six Degree

appearing as

xe

ye

ze

=

cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ

cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ

−sθ sφcθ cφcθ

u

v

w

(2.9a)

u

v

w

=1

m

Fx

Fy

Fz

+ g

−sθ

sφcθ

cφcθ

+

rv − qw

pw − ru

qu− pv

(2.9b)

φ

θ

ψ

=

1 sφsθ/cθ cφsθ/cθ

0 cφ −sφ

0 sφ/cθ cφ/cθ

p

q

r

(2.9c)

p

q

r

=

Ixx 0 −Ixz

0 Iyy 0

−Izx 0 Izz

−1

Mx + (Iyy − Izz)qr + Ixzpq

My + (Izz − Ixx)pr + Ixz(r2 − p2)

Mz + (Ixx − Iyy)pq − Ixzqr

(2.9d)

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, Fzc and bMx, My, Mzc 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

Page 31: An Automated Controller Design Methodology for Six Degree

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

α = tan−1(wu

)(2.10)

β = tan−1(vu

)(2.11)

and the scalar speed V is simply

V =√u2 + v2 + 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:

q =1

2ρV 2 (2.13)

1Note the use of caligraphic font L to distinguish the roll moment from the lift, L.

14

Page 32: An Automated Controller Design Methodology for Six Degree

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

CX =X

qSCL =

LqSb

CY =Y

qSCM =

M

qSc

CZ =Z

qSCN =

N

qSb

and the lift and drag coefficients may be expressed as

CL =L

qS= CX sinα− CZ cosα (2.14)

CD =D

qS= −CX cosα cos β − CY sin β − CZ sinα cos β (2.15)

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

Page 33: An Automated Controller Design Methodology for Six Degree

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

Page 34: An Automated Controller Design Methodology for Six Degree

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

Page 35: An Automated Controller Design Methodology for Six Degree

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

Page 36: An Automated Controller Design Methodology for Six Degree

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

dt= F (x, u) (3.1)

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

dt=∂H

∂xTF (x, u) (3.3)

19

Page 37: An Automated Controller Design Methodology for Six Degree

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

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

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

Page 38: An Automated Controller Design Methodology for Six Degree

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

Page 39: An Automated Controller Design Methodology for Six Degree

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

Page 40: An Automated Controller Design Methodology for Six Degree

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

x = 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

Page 41: An Automated Controller Design Methodology for Six Degree

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)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)−1v − 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:

y = x =

p

q

r

, u =

L

M

N

(3.9)

24

Page 42: An Automated Controller Design Methodology for Six Degree

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 = ∇Hx (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

∇H =

1 0 0

0 1 0

0 0 1

(3.13)

The nonlinear functions F (x) andG(x) are taken from the equations of motion, specifically

the conservation of angular momentum equations which can be found in [16].

L

M

N

cmd

=

Ixx 0 −Ixz

0 Iyy 0

−Ixz 0 Izz

p

q

r

ref

+

RQ(Izz − Iyy)− pqIxz

PR(Ixx − Izz) + (p2 − r2)Ixz

PQ(Iyy − Ixx) + qrIxz

(3.14)

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

Page 43: An Automated Controller Design Methodology for Six Degree

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:

x = G(x)u (3.16)

φ

θ

ψ

U

V

W

=

1 sinφ cos θ cosφ tan θ

0 cosφ − sinφ

0 sinφ sec θ cosφ sec θ

0 −W V

W 0 −U

−V U 0

p

q

r

(3.17)

26

Page 44: An Automated Controller Design Methodology for Six Degree

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):

∇H =

0 0 0 αu 0 αw

0 0 0 βu βv βw

1 0 0 0 0 0

(3.19)

where the subscript is used to denote the partial derivative with respect to the subscript

variable. For example: αu = ∂α∂u

.

α = tan−1(W

U

)(3.20)

β = sin−1(V

Vt

)(3.21)

27

Page 45: An Automated Controller Design Methodology for Six Degree

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 =

α

β

φ

= ∇HG(x)u =

−V UU2+W 2 1 −VW

U2+W 2

W√V 2t −V 2

0 −U√V 2t −V 2

1 sinφ tan θ cosφ tan θ

p

q

r

(3.22)

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

p

q

r

cmd

=

−V UU2+W 2 1 −VW

U2+W 2

W√V 2t −V 2

0 −U√V 2t −V 2

1 sinφ tan θ cosφ tan θ

−1

α

β

φ

ref

(3.23)

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

Page 46: An Automated Controller Design Methodology for Six Degree

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.

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

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

ψ =gtanφ

Vtcosγ(3.24c)

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

Page 47: An Automated Controller Design Methodology for Six Degree

can be seen by Shimmin in [17].

T = m(gsinγ + Vt) + (CDadj + kC2L0

)qS +2kmCL0(Vtsinγ − gcos2γ − h)

cosγcosφ

+km2(g2cos2γ − V 2

t − 2gVtsinγ + 2gh)

qScos2φ+

km2(V 2t − 2Vthsinγ + h2)

qScos2γcosφ(3.25a)

L =m(gcos2γ − Vtsinγ + h)

cosγcosφ(3.25b)

φ = tan−1(ψVtcosγ

g) (3.25c)

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 Vt, ψ, and h.

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

Page 48: An Automated Controller Design Methodology for Six Degree

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

Page 49: An Automated Controller Design Methodology for Six Degree

Figure 3.6: Cooper-Harper rating scale (1969)

32

Page 50: An Automated Controller Design Methodology for Six Degree

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

Page 51: An Automated Controller Design Methodology for Six Degree

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

Page 52: An Automated Controller Design Methodology for Six Degree

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,

damping ratio, and the acceleration sensitivity∂n

∂αdefined in equation 3.26.

∂n

∂α=

1

W

∂L

∂α=

1

CW

∂CL∂α

(3.26)

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 12. This means that the square

of the undamped natural frequency at any point along any one of these boundary lines is

35

Page 53: An Automated Controller Design Methodology for Six Degree

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

correlate to lines of constant (ω2n)SP∂n∂α

. This shows that the natural frequency requirements

can be combined with the acceleration sensitivity to make a single requirement that has

a set maximum and minimum value. The lines of constant (ω2n)SP∂n∂α

are defined by a new

parameter, the control anticipation parameter (CAP).

CAP =(ω2

n)SP∂n/∂α

=(ω2

n)SPL,α/W

=(ω2

n)SPCL,α/CW

=glmpr2yyb

(3.27)

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

Page 54: An Automated Controller Design Methodology for Six Degree

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

Page 55: An Automated Controller Design Methodology for Six Degree

Figure 3.10: Short period CAP and damping ratio requirements

Figure 3.11: Typical motion of the Dutch Roll mode

38

Page 56: An Automated Controller Design Methodology for Six Degree

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]

The roll mode handling qualities require a maximum time constant τ =1

σ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

Page 57: An Automated Controller Design Methodology for Six Degree

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.

x = 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

Page 58: An Automated Controller Design Methodology for Six Degree

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

Page 59: An Automated Controller Design Methodology for Six Degree

Figure 3.14: Lateral Poles

Figure 3.15: Combined Poles

42

Page 60: An Automated Controller Design Methodology for Six Degree

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

Page 61: An Automated Controller Design Methodology for Six Degree

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

Page 62: An Automated Controller Design Methodology for Six Degree

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

Page 63: An Automated Controller Design Methodology for Six Degree

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

Page 64: An Automated Controller Design Methodology for Six Degree

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

Page 65: An Automated Controller Design Methodology for Six Degree

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

∆CM

∆CN

=

∂CL/∂δa ∂CL/∂δe ∂CL/∂δr

∂CM/∂δa ∂CM/∂δe ∂CM/∂δr

∂CN/∂δa ∂CN/∂δe ∂CN/∂δr

∆δa

∆δe

∆δr

(4.1)

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

Page 66: An Automated Controller Design Methodology for Six Degree

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

Page 67: An Automated Controller Design Methodology for Six Degree

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

Page 68: An Automated Controller Design Methodology for Six Degree

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

∂δCS1, ... , ∂L

∂δCSm, ∂M

∂δCS1, ... , ∂M

∂δCSm, ∂N

∂δCS1, ... , ∂N

∂δCSm

](4.2)

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

Page 69: An Automated Controller Design Methodology for Six Degree

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

Page 70: An Automated Controller Design Methodology for Six Degree

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

Page 71: An Automated Controller Design Methodology for Six Degree

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

Page 72: An Automated Controller Design Methodology for Six Degree

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

Page 73: An Automated Controller Design Methodology for Six Degree

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

Page 74: An Automated Controller Design Methodology for Six Degree

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

Page 75: An Automated Controller Design Methodology for Six Degree

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

Page 76: An Automated Controller Design Methodology for Six Degree

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

Page 77: An Automated Controller Design Methodology for Six Degree

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

Page 78: An Automated Controller Design Methodology for Six Degree

Figure 5.1: Optimum inner loop gains for the linearized model with the stick and ruddermixer

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

61

Page 79: An Automated Controller Design Methodology for Six Degree

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

Page 80: An Automated Controller Design Methodology for Six Degree

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

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

63

Page 81: An Automated Controller Design Methodology for Six Degree

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

Page 82: An Automated Controller Design Methodology for Six Degree

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

Page 83: An Automated Controller Design Methodology for Six Degree

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

Page 84: An Automated Controller Design Methodology for Six Degree

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

Page 85: An Automated Controller Design Methodology for Six Degree

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

Page 86: An Automated Controller Design Methodology for Six Degree

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

Page 87: An Automated Controller Design Methodology for Six Degree

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

Page 88: An Automated Controller Design Methodology for Six Degree

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

Page 89: An Automated Controller Design Methodology for Six Degree

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

Page 90: An Automated Controller Design Methodology for Six Degree

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

Page 91: An Automated Controller Design Methodology for Six Degree

Figure 5.13: Control surface deflections for the linear control mixer

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

74

Page 92: An Automated Controller Design Methodology for Six Degree

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

Page 93: An Automated Controller Design Methodology for Six Degree

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

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

76

Page 94: An Automated Controller Design Methodology for Six Degree

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

Page 95: An Automated Controller Design Methodology for Six Degree

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

Page 96: An Automated Controller Design Methodology for Six Degree

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

Page 97: An Automated Controller Design Methodology for Six Degree

Figure 5.21: Commanded angle of attack, side slip angle, and bank angle for the Euminxcontrol allocator

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

80

Page 98: An Automated Controller Design Methodology for Six Degree

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

Page 99: An Automated Controller Design Methodology for Six Degree

Figure 5.24: Euminx control surface deflections with free control surfaces and a preferencevector 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

Page 100: An Automated Controller Design Methodology for Six Degree

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

Page 101: An Automated Controller Design Methodology for Six Degree

Figure 5.25: Achieved angle of attack, side slip angle, and bank angle for the Euminxcontrol allocator with a preference vector used to minimize the overall deflections from thecurrent 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

Page 102: An Automated Controller Design Methodology for Six Degree

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

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

85

Page 103: An Automated Controller Design Methodology for Six Degree

Figure 5.28: Achieved angle of attack, side slip angle, and bank angle for the Euminxcontrol allocator with a preference vector used to minimize the overall deflections fromzero.

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

Page 104: An Automated Controller Design Methodology for Six Degree

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

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

87

Page 105: An Automated Controller Design Methodology for Six Degree

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

Page 106: An Automated Controller Design Methodology for Six Degree

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

Page 107: An Automated Controller Design Methodology for Six Degree

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

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

90

Page 108: An Automated Controller Design Methodology for Six Degree

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

Page 109: An Automated Controller Design Methodology for Six Degree

Figure 5.36: Control surface deflections with the left outer aileron, left bottom rudder, andright 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

Page 110: An Automated Controller Design Methodology for Six Degree

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

Page 111: An Automated Controller Design Methodology for Six Degree

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

Page 112: An Automated Controller Design Methodology for Six Degree

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 gainset.

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

Page 113: An Automated Controller Design Methodology for Six Degree

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

Figure 5.41: F16 turbulent tracking using the Euminx control allocator and a selected F16gain 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

Page 114: An Automated Controller Design Methodology for Six Degree

Figure 5.42: F16 turbulent tracking using the Euminx control allocator and the HALE gainset.

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

Page 115: An Automated Controller Design Methodology for Six Degree

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

Page 116: An Automated Controller Design Methodology for Six Degree

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

Page 117: An Automated Controller Design Methodology for Six Degree

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

Page 118: An Automated Controller Design Methodology for Six Degree

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

Page 119: An Automated Controller Design Methodology for Six Degree

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

Page 120: An Automated Controller Design Methodology for Six Degree

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

Page 121: An Automated Controller Design Methodology for Six Degree

[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

Page 122: An Automated Controller Design Methodology for Six Degree

[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

Page 123: An Automated Controller Design Methodology for Six Degree

Appendix A

Simplex Algorithm

A.1 Simplex Example

Maximize : 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

Page 124: An Automated Controller Design Methodology for Six Degree

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

Page 125: An Automated Controller Design Methodology for Six Degree

cTx = 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.

x2 = 1 +1

2x1 −

1

2x3, (A.3a)

x4 = 3− 3

2x1 −

1

2x3, (A.3b)

x5 = 6− 3

2x1 −

1

2x3, (A.3c)

cTx = 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.

x1 = 2 +1

3x3 −

2

3x4, (A.4a)

108

Page 126: An Automated Controller Design Methodology for Six Degree

x2 = 2− 1

3x3 −

1

3x4, (A.4b)

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

cTx = 6− 1

3x3 −

4

3x4. (A.4d)

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