Você está na página 1de 92

Nonlinear Flight Control

Dynamic Inversion Based Control of Aircraft Pitch Dynamics

Miguel Ângelo Rocha Leitão

Dissertação para obtenção do Grau de Mestre em

Engenharia Aeroespacial

Júri
Presidente: Prof. João Manuel Lage de Miranda Lemos

Orientadores:: Prof. Dr. Ing. Florian Holzapfel

Prof. Carlos Jorge Ferreira Silvestre

Vogal: Prof. José Raul


Rau Carreira Azinheira

Novembro 2008
Abstract
The problem of controlling the pitch dynamics of an aircraft is considered. A nonlinear model for
the aircraft F-16 based on real wind-tunnel data is implemented and nonlinear dynamic
inversion control loops are suggested in this document. Stability analysis for the closed loop is
performed considering the error dynamics and the technique called Pseudo-control hedging.
Numerical simulation is also carried out taking real flight data into account and the performance
of each implemented control loop is analyzed.

Key-words: Aircraft Pitch Dynamics, Nonlinear Control, Nonlinear Dynamic Inversion, Pseudo-
control Hedging.

O trabalho desenvolvido baseia-se no controlo da dinâmica longitudinal de uma aeronave. Para


tal, é implementado um modelo do avião F-16 baseado em dados reais obtidos num túnel de
vento. São também sugeridos diversos anéis de controlo obtidos através de inversão dinâmica
não-linear. A estabilidade destes anéis de controlo é analisada e provada tendo em conta os
diversos erros que possam existir, assim como a influência do “Pseudo-control hedging”.
Finalmente, é efectuada uma simulação numérica, que permite estudar e analisar o
comportamento dos diversos anéis em causa.

Palavras-chave: Dinâmica Longitudinal de uma Aeronave, Controlo Não-Linear, Inversão


Dinâmica Não-Linear, Pseudo-control Hedging.

iii
Table of Contents
Abstract ........................................................................................................................................ iii
List of Figures and Tables .............................................................................................................vii
List of Symbols and Abbreviations ................................................................................................ix
Chapter 1 – Introduction ............................................................................................................... 1
Chapter 2 – Description of the Simulation Model ........................................................................ 3
2.1. Derivation of the Equations of Motion ......................................................................... 3
2.1.1. Model Assumptions............................................................................................... 3
2.1.2. Equations of Motion.............................................................................................. 4
2.1.3. Atmospheric Model ............................................................................................... 6
2.1.4. Gravitation Model ................................................................................................. 7
2.1.5. Propulsion Model .................................................................................................. 8
2.1.6. Aerodynamics Model ............................................................................................ 8
2.1.7. Summary of Equations of Motion and Outputs .................................................. 10
2.2. Actuator Model ........................................................................................................... 11
2.2.1. Elevator Actuator ................................................................................................ 12
2.2.2. Engine Actuator ................................................................................................... 12
2.3. Implementation of the Plant ....................................................................................... 13
Chapter 3 – Nonlinear Dynamic Inversion of the Control Loops ................................................ 17
3.1. Input-Output Linearization (Nonlinear Dynamic Inversion Basics) ............................. 17
3.1.1. Feedback Linearization Basics ............................................................................. 17
3.1.2. Transformation into the Normalform ................................................................. 19
3.1.3. Dynamic Inversion ............................................................................................... 21
3.1.4. Control Allocation................................................................................................ 23
3.2. Derivation of the Nonlinear Dynamic Inversion Equations ......................................... 23
3.2.1. Inversion of Pitch Rate RD-1................................................................................ 25
3.2.2. Inversion of Velocity RD-1 ................................................................................... 29
3.2.3. Inversion of Pitch Angle RD-1 .............................................................................. 32
3.2.4. Inversion of Pitch Angle RD-2 .............................................................................. 33
3.2.5. Inversion of Angle of Attack RD-1 ....................................................................... 34
3.2.6. Inversion of Angle of Attack RD-2 ....................................................................... 35
3.2.7. Inversion of Flight Path Angle RD-1..................................................................... 37
3.2.8. Inversion of Flight Path Angle RD-2..................................................................... 38

iv
3.2.9. Inversion of Flight Path Angle RD-3..................................................................... 39
3.2.10. Inversion of Load Factor RD-1 ............................................................................. 41
3.2.11. Inversion of Load Factor RD-2 ............................................................................. 42
Chapter 4 – Error Dynamics of the Control Loops ...................................................................... 44
4.1. Basic Information on Error Dynamics.......................................................................... 44
4.1.1. Reference Models ............................................................................................... 44
4.1.2. Modeling and Error Controller ............................................................................ 45
4.1.3. Influence of the Actuators................................................................................... 48
4.1.4. Pseudo-Control Hedging ..................................................................................... 49
4.2. Implemented Error Dynamics and Stability Analysis of the Control Loops ................ 51
4.2.1. Parameter Space Approach: Gamma Stability .................................................... 51
4.2.2. Stability Analysis for Pitch Rate RD-1 Loop ......................................................... 52
4.2.3. Stability Analysis for Velocity RD-1 Loop............................................................. 56
4.2.4. Stability Analysis for Pitch Angle RD-1 Loop ....................................................... 56
4.2.5. Stability Analysis for Pitch Angle RD-2 Loop ....................................................... 57
4.2.6. Stability Analysis for Angle of Attack RD-1 Loop ................................................. 59
4.2.7. Stability Analysis for Angle of Attack RD-2 Loop ................................................. 59
4.2.8. Stability Analysis for Flight Path Angle RD-1 Loop .............................................. 60
4.2.9. Stability Analysis for Flight Path Angle RD-2 Loop .............................................. 60
4.2.10. Stability Analysis for Flight Path Angle RD-3 Loop .............................................. 61
4.2.11. Stability Analysis for Load Factor RD-1 Loop....................................................... 62
4.2.12. Stability Analysis for Load Factor RD-2 Loop....................................................... 62
4.3. Implementation of the Control Loops ......................................................................... 62
Chapter 5 – Interpretation of the Simulation Results ................................................................. 67
5.1. General Behavior of the System.................................................................................. 67
5.2. The Influence of the Pseudo-Control Hedging ............................................................ 69
5.3. Differences Between RD-1 and RD-2 .......................................................................... 70
5.4. Outputs Behavior ........................................................................................................ 71
Chapter 6 – Conclusion ............................................................................................................... 74
6.1. General Conclusions .................................................................................................... 74
6.2. Future Work ................................................................................................................ 75
Bibliographic References ............................................................................................................. 76
Appendix A - Reference Frames .................................................................................................. 78
• North East Down System................................................................................................. 78

v
• Body Fixed Frame ............................................................................................................ 78
• Kinematic Frame ............................................................................................................. 79
• Transformation Matrices................................................................................................. 80
Appendix B – Geometrical and Inertial Data of the F-16 ............................................................ 81

vi
List of Figures and Tables
Figure 1 – The F-16 Fighting Falcon. 1
Figure 2 – Representation of the longitudinal motion of an aircraft, including pitch angle ,
pitch rate q, longitudinal velocity V, angle of attack  and flight path angle . 4
Figure 3 – Illustration of the forces and moments acting on an aircraft in longitudinal
motion. 9
Figure 4 – Model of a second-order lag actuator. 11
Figure 5 – Step Response of the Elevator Actuator. 12
Figure 6 – Step Response of the Engine Actuator. 13
Figure 7 – Top Level of the Whole Project in Simulink. 13
Figure 8 – Top Level of the Plant implemented in Simulink. 14
Figure 9 – Engine Actuator implemented in Simulink. 14
Figure 10 – System Process Dynamics implemented in Simulink. 15
Figure 11 – Inside view from the Aerodynamics block implemented in Simulink. 15
Figure 12 – Inside view from the Propulsion block implemented in Simulink. 16
Figure 13 – Inside view from the Gravitation block implemented in Simulink. 16
Figure 14 – Scheme of exact Input-Output Linearization. 18
Figure 15 – Schematic representation of the Dynamic Inversion. 22
Figure 16 – Nonlinear behavior of the aircraft aerodynamic moment. 25
Figure 17 – Pitch Rate Inversion Error using “Analytical Approach”. 26
Figure 18 – Result of Pitch Rate dynamic inversion using Control Allocation. 27
Figure 19 – Pitch Rate inversion transient error for different sample times using Control
Allocation. 27
Figure 20 – Pitch Rate inversion static error using Control Allocation. 28
Figure 21 – Nonlinear behavior of the aircraft propulsion forces. 30
Figure 22 – Velocity inversion transient error for different sample times. 31
Figure 23 – Velocity inversion static error. 31
Figure 24 – Representation of the cascaded loop strategy for  RD-1 inversion. 32
Figure 25 – Angle of Attack RD-2 inversion transient error. 36
Figure 26 – Angle of Attack RD-2 inversion static error. 37
Figure 27 – Flight Path Angle RD-3 inversion static error. 40
Figure 28 – Linear Reference Model for a control loop with Relative Degree r. 45
Figure 29 – Schematic representing the Dynamic Inversion considering the Error
Dynamics. 48
Figure 30 – Linear Reference Model using PCH. 50
Figure 31 – Schematic of the Dynamic Inversion using PCH. 50
Figure 32 – Structure of the Controller for a RD-1 Loop. 52
Figure 33 – Stability Region for Pitch Angle RD-1 in the (Kp,Ki)-Plane. 55

vii
Figure 34 – Structure of the Controller for a RD-2 Loop. 57
Figure 35 – Representation of the “Flight_Control_System” Block. 63
Figure 36 – View from the Angle of Attack RD-2 Loop Block. 63
Figure 37 – Implemented First Order Reference Model. 64
Figure 38 – Implemented Second Order Reference Model. 64
Figure 39 – Implemented Error Controller for a RD-1 Loop. 64
Figure 40 – Implemented Error Controller for a RD-2 Loop. 65
Figure 41 – Implemented Control Allocation for Pitch Rate dynamic inversion. 65
Figure 42 – Implemented Angle of Attack RD-2 Loop Inversion 66
Figure 43 – Pitch Rate and Velocity Time-history Plots. 67
Figure 44 – Actuator Time-history Plots during Pitch Rate and Velocity Loop Simulation. 68
Figure 45 – Angle of Attack Time-history plot without PCH. 69
Figure 46 – Angle of Attack Time-history plot using PCH. 69
Figure 47 – Comparison between Pitch Angle RD-1 and RD-2 Loops. 70
Figure 48 – Detailed view from the Pitch Angle RD-1 and RD-2 Loops response. 71
Figure 49 – Time-history plot of the Flight Path Angle RD-1 Loop behavior. 72
Figure 50 – Time-history plot of the Load Factor RD-1 Loop behavior. 72
Figure 51 – Time-history Plot showing the Non-Minimum Phase Behavior present in the 73
Load Factor RD-1 Loop.
Figure 52 – Representation of the NED System. 78
Figure 53 – Representation of the Body Fixed Frame. 79
Figure 54 – Representation of the Kinematic Frame. 79

Table 1 – Actuator data. 12


Table 2 – New notation used in and after Chapter 3. 24
Table 3 – Controller Gains and Pole Positions of the Pitch Rate RD-1 Loop. 55
Table 4 – Controller Gains and Pole Positions of the Velocity RD-1 Loop. 56
Table 5 – Controller Gains and Pole Positions for the Pitch Angle RD-1 Loop. 57
Table 6 – Controller Gains and Pole Positions for the Pitch Angle RD-2 Loop. 59
Table 7 – Controller Gains and Pole Positions for the Angle of Attack RD-1 Loop. 59
Table 8 – Controller Gains and Pole Positions for the Angle of Attack RD-2 Loop. 60
Table 9 – Controller Gains and Pole Positions for the Flight Path Angle RD-1 Loop. 60
Table 10 – Controller Gains and Pole Positions for the Flight Path Angle RD-2 Loop. 61
Table 11 – Controller Gains and Pole Positions for the Load Factor RD-1 Loop. 62
Table 12 – F-16 Data. 81

viii
List of Symbols and Abbreviations
 Decoupling Matrix
;  Speed of Sound; Reference Model constant
( ) Parameter Vector
Control Efficiency Matrix
Force or Moment Coefficient
 Mean Aerodynamic Chord
 Aerodynamic Drag Force
 Error Controller Variable
  Force Vector - A represents the point where the force is applied while B is
the type of force and C is the reference frame where it is defined
 Transfer Function
 Acceleration of Gravity
ℎ Altitude


Inertia Moment around the y-axis
 Error Controller Gain
; ;  Aerodynamic Lift Force; Aerodynamic Moment around the x-axis; Lie
Derivatives
!!!  Moment Vector - A represents the point where the moment is applied,
while B is the type of moment and C the reference frame where it is
defined

"; "; "


Aerodynamic Moment around the y-axis; Transformation Matrix; Mach
Number
# Mass of the Aircraft
$ Aerodynamic Moment around the z-axis
% Order of the System
% &' Troposphere Polytropic Exponent
%( Longitudinal Load Factor
); ); ); ) Roll Rate; Air Static Pressure; System Pole; Polynomial
* Pitch Rate
+ Ideal Gas Constant
,; , Yaw Rate; Relative Degree
(-  ) Position Vector of the point A in the reference frame B
(-  ) Position Vector of the point B relative to point A in the reference frame C
. Wing Reference Area
/; /; / Air Temperature; Thrust Forces; Time Constant
0 Input Vector
! 

1 2
Velocity Vector of point A in the reference frame C - B represents the type

ix
of velocity while D is the frame where the coordinates are defined
! 
2
1 3
Velocity Vector of point A relative to point B velocity in the reference frame
D - C represents the type of velocity while E is the frame where the
coordinates are defined
4 Longitudinal Force in the Body Fixed Frame
5 State Vector
6 Output Vector
7 Vertical Force in the Body Fixed Frame
8 System Zero
9 Angle of Attack
: Angle of Sideslip
; Flight Path Angle
<& Engine Thrust Lever Position
= Damping Coefficient
> Elevator Deflection Angle
? Pitch Angle
@ Isentropic Exponent
AB Kinematic Bank Angle
C Pseudo-control
D Pseudo-control Vector
E Air Density
F Auxiliary Variable
G Orientation Vector
H Roll Angle
IB Kinematic Azimuth Angle
J Yaw Angle
KL Natural Frequency
(M
!!! )2
3 Angular Velocity Vector of system B relative to system A in the reference
frame D – C represents the type of angular velocity and E is the reference
frame where the coordinates are defined.

Superscripts and Subscripts


N Aerodynamic Center, Actuator
 O Actual
N,P Aerodynamic
Q Body Fixed Frame
" Commanded
R% Denominator
RS Desired

x
 Derivative gain
T Earth Centered Earth Fixed Frame
 Center of Gravity
,U Gravitational
ℎ Hedge
 Integrative Gain
 Kinematic, Kinematic Frame
TV Leading Edge Flap
W Proportional Gain
W,P) Propulsive
+ Reference Model
. Sea Level
/ Transpose, Thrust Reference Point
0 NED System
11 Tropopause
+ Maximum Limit
− Minimum Limit

Abbreviations
+Q Complex Root Boundary
+Q Infinite Root Boundary
TV Leading Edge Flap
""\ Multiple Input, Multiple Output
$N.N National Aeronautics and Space Administration
$T North East Down System
W ] Pseudo-Control Hedging
W Proportional, Integrative and Derivative Gain
+ Relative Degree
++Q Real Root Boundary
..\ Single Input, Single Output
^. − 84 World Geodesic System from 1984

xi
1. Chapter 1 – Introduction
In recent years, nonlinear control methods have been developed and successfully implemented
in aviation as it can be seen in references [5] and [18]. The purpose of the developed work was
to apply nonlinear control to an aircraft with fast response and quick dynamics. The chosen
nonlinear control method was the nonlinear dynamic inversion, a very powerful approach when
the dynamics of the system are well known. Several control loops considering only the pitch
dynamics were implemented and simulated using Simulink, which is a very useful tool from
engineering software Matlab. Stability aspects are also considered for the closed loop and
analyzed using an approach called Gamma Stability.

Before discussing the control aspects, it was necessary to implement a model of an aircraft
which must correspond to reality. It has been already said that the aircraft to be modeled must
present fast dynamics and because of this, an American fighter airplane was chosen: the F-16.
Another thing that supported this decision is the fact that all real geometric, inertial and
aerodynamic data can be easily found on books (reference [12]) and in the internet ([17]).
Chapter 2 deals with all aspects regarding the implementation of the aircraft and actuators
model. At the end of the chapter, some screenshots showing the plant in Simulink are
presented.

Figure 1 – The F-16 Fighting Falcon.

Chapter 3 presents the theory associated to the nonlinear control method that was
implemented: nonlinear dynamic inversion and also some basics on input-output linearization.
All the equations necessary to perform dynamic inversion for each developed control loop (pitch
rate, velocity, pitch angle, angle of attack, flight path angle and load factor) are derived and
analyzed. Some plots obtained in Simulink are also shown, in order to verify if the inversion can
be considered perfect or if the modeling errors must be taken into account.

1
After realizing that some loops present modeling errors, Chapter 4 deals with the analysis of the
error dynamics and introduces a technique called Pseudo-control Hedging. This chapter also
contains all calculations relative to the stability of the closed loop for all implemented control
loops, as well as screenshots from the controller implemented in Simulink.

Finally, Chapter 5 presents some interesting results for all the implemented loops like the
differences of the signals when PCH is considered and when it is neglected. Some discussions
about the obtained results are also made in this chapter. This document contains also two
appendices: the first one (Appendix A) presents the used transformation matrices and useful
information about reference frames, while the second (Appendix B) shows a table with all
geometrical and inertial data for the F-16.

2
2. Chapter 2 – Description of the Simulation
Model
In order to perform and check the results of the inverse non-linear control loops developed
during the project, a high fidelity model of an aircraft is needed. This model was implemented
using a simulation tool from software Matlab called Simulink. This chapter will explain this
implementation in detail, starting by showing the assumptions made before the start of the
project. After this, the equations of motion of an airplane are derived and all the plant necessary
models including the atmospheric and actuator models are presented. At the end of the chapter,
a section containing several screenshots from the plant is presented.

2.1. Derivation of the Equations of Motion


In order to simulate correctly the behavior of an airplane, it is necessary to implement a plant
that closely corresponds to reality. The next sub-sections explain in detail the equations of
physics that allow the calculations of a high fidelity model and how they can be implemented
using the simulation tool Simulink.

2.1.1. Model Assumptions

Before starting the derivation of the equations of motion, it is advisable to make some important
assumptions that were taken into consideration during the implementation of the simulation
model (check reference [17]). First of all, it was decided that, since the point of the work is to
just perform tests on the non-linear dynamic inversion control loops, a simple longitudinal model
would be enough to demonstrate and observe the behavior of the aircraft. So, under this
assumption it is clear that the aircraft motion can only take place in its xz-plane, which means
that the angles of sideslip :, roll angle H, and yaw angle J will all be set to zero, as well as the
following angular velocities: roll rate ) and yaw rate ,.

Next assumption is that the aircraft will be considered a rigid-body, which means that any two
points in the aircraft have a fixed position relative to the body fixed frame. This can be
considered valid for a fighter airplane like F-16. Since the aim of the project is to study and to
analyze the response of one aircraft controller, it is also assumed that the Earth is considered to
be flat and non-rotating which makes the calculation of the equations of motion much easier.
The final assumption is that the mass of the aircraft will remain constant during motion. This
assumption can be considered valid in the present case since the interval of observation will be
small enough in order to avoid considerable fuel consumption that could eventually change
dramatically the total mass of the aircraft.

It is assumed now that only longitudinal motion will take place in the Simulation Model, which
means that the considered inputs are going to be only the elevator deflection angle > and the
engine thrust lever position <& :

3
0 = b> <& c& (2.1)

Since wind effects are not considered in the model, there are no differences between the
aerodynamic frame and the kinematic frame (for more information regarding Reference Frames,
check Appendix A). The chosen states are the velocity of the aircraft dB , its pitch rate (*Be ) , its
pitch angle ?, its angle of attack 9B . The state vector is presented next:

5 = bdB (*Be ) ? 9B c& (2.2)

The flight path angle ; and the Load Factor %( are chosen as outputs.

6 = b; %( c& (2.3)

2.1.2. Equations of Motion

According to the assumptions made before, the implemented model has only 2 degrees of
freedom: rotation and translation in one dimension (velocity dB and pitch rate (*Be ) ). The

time. The position vector is determined as: (-  ) = bf  8  c& ; the velocity vector is:
aircraft dynamics is determined by its position, orientation, velocity and angular velocity over
g
!B  = bhB iB cLB , where hB , UB and iB represent the longitudinal, lateral and normal
L
1 B
UB
velocities respectively; the orientation vector is defined as: G = bH ? Jc& and finally the
angular velocity vector is given by: (M B ) = b)B
!!!e *Be ,Be c& . Since only the longitudinal
e

motion of the aircraft is considered, the previous vectors take the following form: (-  ) =

bf  !B  = bhB
8  c& ; 1 iB c& ; G = b0 0c& ; (M B ) = b0 0c& . Longitudinal
3
g B
0 ? !!!e *Be
motion of an aircraft can be seen in Figure 2:

angle , pitch rate q, longitudinal velocity V, angle of attack  and flight path angle .
Figure 2 – Representation of the longitudinal motion of an aircraft, including pitch

According to [13] and considering only the longitudinal motion, the relation between the
orientation vector and the angular velocity vector is given by (Strap-Down Equation):

4
1 0 tan ? 1 0 tan ? 0
Gj = k0 1 0 t (M B ) = k0
!!!e 1 0 t k(*Be ) t
(2.4)

0 0 cos rs ? 0 0 cos rs ? 0

Considering now dB as the total velocity, ; as the flight path angle and 9B as the angle of attack
in the Kinematic Frame, the following expressions can be defined:

dB = uhB + iB
v v
(2.5)

iB
9B = arctan x y
hB
(2.6)

; = ? − 9B (2.7)

Using Newton’s Second Law and according to [17], the next two equations can be determined:

R
z  = !
#1
RO
(2.8)

R
z !!! = !!
{
RO
(2.9)

Starting with Equation (2.8) and using the Coriolis equation found in [5] the following expression
is obtained:

j LB 1
!!!!
B B + (M
!!!!
!!!LB )B × d zB
L
d B B =
#
(2.10)

!!!LB is the angular velocity of the aircraft with respect to the Earth. If this last expression
where M
is expanded for the three dimensions, one can obtain the following equations:

„z V ‰
dBj 1 1 0 0 ƒ ˆ
}Ij B dB cos ;~ = k0 cos AB −sin AB t . ƒ z V ˆ
# 0 sin AB cos AB BB€ ƒ ˆ
−;j dB ƒ ˆ
(2.11)

z V
B
‚ †‡
€
B

only longitudinal motion: AB = IjB = 0, the second equation is simply ∑ V = 0):


The last result leads to the final two equations coming from the balance of forces (assuming

∑(V )B€
dBj =
#
(2.12)

∑(V† )B€
;j = −
#dB
(2.13)

Considering now the balance of moments in (2.9) and its expansion, the following expression
can be obtained just like demonstrated in the same bibliographic reference as above:

(M j ) = (  )rs . ‹z!!!  − (M
!!!L !!!L ) × b(Œ  ) . (M
!!!L ) c
  
(2.14)

5
The last equation is only valid under the assumption that the Earth is flat, which implies that
(M
!!!3L ) = 0. (Π )
j ) = (b)j L
According to the definition of provided in [8] and since
(M
!!!L  *j L ,j L c )& , the two last equations of motion for the longitudinal mode can
be easily obtained. Considering )L = , L = ! = $
!  = 0 (where ! and $
!  represent
respectively the roll and yaw moments, relative to the center of gravity), and the equations
presented in [5] it is possible to obtain the differential equations of the Euler angle ? and pitch
rate *, as follows:

!! 
∑"
(*j Be ) = 


(2.15)

?j = (*Be ) (2.16)

!! is the pitch moment of the aircraft. Next step will be the expansion of the summation
where "
of forces in the x and z directions of the kinematic reference frame, as well as the summation of
moments around the y-axis in the body fixed frame.

Generically, the summation of forces and moments in the kinematic frame and body fixed frame
are respectively defined by:

zB = Ž' B€ + '‘ B€ + '’“ B€ (2.17)

z!!!  = !!!Ž'

 + !!!'‘



(2.18)

Later in this chapter, each of the terms in the right hand side of equations (2.17) and (2.18) are
expanded in detail in order to finally obtain the equations of motion implemented in the
Simulation Model.

2.1.3. Atmospheric Model

In this sub-section, the equations used for simulating a real atmosphere in the model are
defined. Since the thrust generated from the aircraft engines depends highly on the Air Density
E, and also the Mach Number Ma depends on both of E and Air Temperature T, an accurate
atmospheric model is required for a good simulation. It was said before that the chosen aircraft
was a fighter airplane, so for our purposes, it is enough to consider an atmospheric model until
the altitude of 20 km.

In the range of altitudes between the sea level and 20 km, two different atmospheric layers are
to be considered: the Troposphere (from 0 km until 11 km) and the Lower Stratosphere (from 11
km until 20 km). Since the conditions in the Troposphere are adiabatic, the equations for the
atmospheric properties in this layer are (considering [8]):

6
/ = /˜ . ™1 − . . ℎ = 288.15 − 0.0065. ℎ
š›œ rs 
— š›œ ž.&Ÿ
• ¤›œ
«
©.v©©¨¨
) = )˜ . ™1 − . .ℎ = 101325. ™
š›œ rs  ¤›œ ¥¦ &

– š›œ ž.&Ÿ v¨¨.s©


(2.19)
•
¦
ª.v©©¨¨
” E = E˜ . ™1 − š›œ . ž.&Ÿ . ℎ = 1.225. ™
š›œ rs  ¤›œ ¥¦ &
v¨¨.s©

where /˜ , E˜ and p® are respectively the temperature, air density and air static pressure at sea
level,  is the acceleration of gravity, + is the ideal gas constant, % &' is the Troposphere
polytropic exponent and h is the altitude in meters.

For altitudes above 11 km until 20 km, other equations are needed, since the air leaves an
adiabatic region and enter an isothermal region. So, using the same reference as before, the
following equations are obtained for the Lower Stratosphere:

/ = /ss = 216.65 
= 22632 rL.LLLs©³´¨¨.(²rssLLL) «
°
¯) = )ss . 
r (²r²¦¦ )
±.›¦¦
(2.20)
°
E = Ess .  = 0.364 rL.LLLs©³´¨¨.(²rssLLL)
r (²r²¦¦ )
±.›¦¦

where /ss , Ess and )ss are respectively the temperature, air density and air static pressure at the
Tropopause, ℎss is the Tropopause altitude and h is once again the altitude in meters. In the
Simulation Model these expressions were implemented in an Embedded Matlab function called
atmospheric_model.

This sub-section ends with the calculation of the Mach number using the following expressions:

 = √@. +. /
µ «
"= ¸
· (2.21)
’

where  is the speed of sound and @ is the isentropic exponent.

2.1.4. Gravitation Model

This sub-section contains all the information about the gravitational forces that act on the
aircraft and how they are implemented in the simulation model. It is trivial that the forces due to
the acceleration of Earth’s gravity are very important in the dynamics of an aircraft. Considering
the NED System, one can assume that the gravitational force acts only in the z-axis direction
and that it is applied in the Center of Gravity of the aircraft. The following expression can then
be written:

'’“

L = b0 0 #c&L (2.22)

where # represents the total mass of the aircraft and  the acceleration of gravity. Notice that
for geometrical and inertial data regarding the modeled aircraft, Appendix B should be
consulted. Looking at the equations of motion (2.12) and (2.13), one can easily state that the
forces need to be defined in the Kinematic Frame and not in the NED System. For this purpose,
a transformation must be performed using the proper matrix. Taking a look at Appendix A and
using equation (1.19), the final expression for the gravitational forces can be given by:

7
'’“

B€ = "B€L . '’“

L = b−# sin ; 0 # cos ;c&B€ (2.23)

where "B€L is the matrix necessary to switch from the NED System to the Kinematic frame.

2.1.5. Propulsion Model

The F-16 fighter is equipped with one Pratt & Whitney F100-PW-220 afterburning turbofan
engine which generates the propulsion forces considered in this sub-section. The thrust
generated by the engine is provided in tabular form and depends on the altitude, Mach number
and the thrust lever position <& .

For the implementation of this model, a look-up table containing the thrust data in tabular form
was used in Simulink. The inputs for the table were index vectors for the altitude, Mach number
and level of thrust. The method used for obtaining the correspondent Thrust is linear
interpolation.

Unlike the gravitational forces, the thrust data contained in the tabular form is defined in the
Body Fixed Frame and the propulsion forces are applied in the Thrust Reference Point. Like it
was done before, some transformation matrix must be applied in order to change reference
frames. Again, taking a look into Appendix A, the final expression for the propulsion forces is:

'‘

 € = "B€ . '‘
&
 = b−/ sin 9B 0 / cos 9B c&B€
B 
(2.24)

where "B€ is the transformation matrix that switches from the Body Fixed to the Kinematic
frame and T is the thrust that is obtained from the look-up table.

Since the propulsion forces are applied in the Thrust Reference Point and the position of this
point differs from the position of the Center of Gravity, a propulsion moment is generated
around the Center of Gravity. Assuming that the Thrust Reference Point is situated in the z-axis

(- & ) = b0 8 & c& , the propulsion moment can be defined as:
of the aircraft, and that its position relative to the Center of Gravity is given by
0

!!!'‘

 = (- & ) × '‘
&
 = b0 /. 8 & 0c&
 
(2.25)

2.1.6. Aerodynamics Model

Since the propulsive forces and moments and also the gravitational forces are defined, the last
step before gathering all the necessary information into the final form of the equations is to
obtain the forces and moments that come from the aircraft aerodynamics. Like the thrust data in
the previous sub-section, also all the aerodynamic data was obtained in the tabular form. This
data has been derived from low-speed static and dynamic wind-tunnel tests conducted with
sub-scale models of the F-16 in facilities at the NASA Ames and Langley Research Centers,
just like it is stated in [17]. The aerodynamics data is valid for the following flight envelope:

• The angle of attack 9B , must not exceed 90° and must not be less than −20°.
• The Mach Number must stay between the values of 0.1 and 0.6.

8
The aerodynamic forces, considering only longitudinal motion, applied in the aerodynamic
center can be defined in the kinematic reference frame as:

Ž'

B€ = b− 0 −c&B€ (2.26)

where  is the Drag Force and  the Lift Force generated by aerodynamic devices such as the
wing and the elevator. Since the aerodynamic data contained in the wind-tunnel tables is not
defined in the Kinematic frame but in the Body Fixed frame, it is necessary to use once again
the transformation matrix "B€ . After doing so, and defining the vector of the aerodynamic forces
in the Body Fixed frame as Ž'

 = b4 0 7c& , the following expression can be obtained:

 = −4. cos 9B − 7. sin 9B «


¼
 = 4. sin 9B − 7. cos 9B
(2.27)

Figure 3 – Illustration of the forces and moments acting on an aircraft in longitudinal


motion.

Once the aerodynamic data provided in the tables is split into various contributions and it is in
the coefficient form, it is convenient to express the total equations for a better comprehension.
First of all, the definition of coefficient form is presented:

4 = EdB v .
s

½ v ¾
«
7= EdB .
s v
(2.28)
v (

where S is the Wing Reference Area, ¾ and ( are force coefficients. The next step will be the
definition of these two force coefficients, since they come directly from the information contained
in the tables.

The total coefficient forms are presented next, considering that the deflection of the Leading
Edge Flap is non-existent:

(*Be ) 
= ¾,¿ (9B , >) + ¾,À3Á (9B ) − ¾,¿ (9B , 0) + Â ¾,Ã (9B ) +< ¾,ÃÀ3Á (9B )Ä
¾
2dB
(2.29)

9
(*Be ) 
= (,¿ (9B , >) + (,À3Á (9B ) − (,¿ (9B , 0) + Â (,Ã (9B ) +< (,ÃÀ3Á (9B )Ä
(
2dB
(2.30)

where  is the wing mean aerodynamic chord, and Å,¿ , Å,À3Á , Å,Ã and < Å,ÃÀ3Á are the
coefficients contained in the wind tunnel data tables for Æ = 4, 7. In order to obtain the desired
aerodynamic forces in the Kinematic frame, one should only calculate the total coefficients
according to equations (2.29) and (2.30) and then use Equation (2.27) after (2.28).

It is now time to find the equations which allow the calculation of the aerodynamic moments. So,
similarly as before, the aerodynamic moments in longitudinal motion are given by:

!!!Ž'

 = b0 " 0c& (2.31)

1
"= Ed v . 
2 B Ç (2.32)

= ( . (f − f ) + Ç,¿ (9B , >) + Ç,À3Á (9B ) − Ç,¿ (9B , 0)



Ç

(*Be ) 
+ Â Ç,Ã (9B ) +< Ç,ÃÀ3Á (9B )Ä +< Ç (9B ) +< Ç,ÈÉ (9B , >)
2dB
(2.33)

where ( is the total coefficient for the 7 forces, f  is the location of the aerodynamic reference
point, f  is the center of gravity location and Ç,¿ , Ç,À3Á , Ç,Ã , < Ç,ÃÀ3Á , < Ç and < Ç,ÈÉ are
coefficients obtained from the aerodynamic data tables.

Just like before, the aerodynamic tables are also implemented in the Simulation Model using
look-up tables in Simulink with linear interpolation method.

2.1.7. Summary of Equations of Motion and Outputs

Now that all the forces and moments are introduced and defined in the correct reference
frames, it is possible to proceed to the gathering of the equations of motion. Expanding
expressions (2.12), (2.13) and (2.15), the final equations of motion that were implemented in the
Simulation Model can be obtained:

− + / cos 9B − # sin ;
dBj =
#
(2.34)

− − / sin 9B + # cos ;
9j B = + *\Q 
#dB  Q
(2.35)

" + /. 8/
(*j Be ) =
gg
(2.36)

?j = (*Be ) (2.37)

Since information relative to the position and altitude needs to be known (e.g. in the
atmospheric model), the following trivial expressions were also considered and implemented in
the plant:

(fj  ) = dÊ cos ; (2.38)

10
(8j  )L = dÊ sin ; (2.39)

As it was said before, the outputs were chosen to be the Flight Path Angle and the Load Factor.
The equation for determining the Flight Path Angle has already been shown in equation (2.7),
so the next two equations represent respectively the derivative of the Flight Path Angle (which
will be useful in the next chapter, where dynamic inversion is performed) and the Load Factor:

 + / sin −# cos ;


;j =
#dB
(2.40)

dB
%( = ;j + cos ;

(2.41)

2.2. Actuator Model


Since the atmospheric model and all the equations of motion are known now, the only aspect
missing for the plant model to be finished is the implementation of the actuator dynamics. It was
said before that in the longitudinal motion, only two inputs are of interest. They are the elevator
deflection angle > and the engine thrust level state <& . Then, it is clear that the plant model shall
have two actuators, one for each input. Both of these actuators were simulated by a second-
order lag model (different from reference [17]) that depends on two parameters, their natural
frequency KL and damping coefficient =. The representation of the implemented actuators is
shown next.

Figure 4 – Model of a second-order lag actuator.

In the figure above the variable fË2 represents obviously the commanded input, and f the
input to be forwarded to the plant. It is now possible to proceed to the calculation of the transfer
function obtained with this actuator model:

f KLv
 (S) = =
fË2 S v + 2=KL S + KLv
(2.42)

The values of the natural frequencies and damping coefficients for both implemented actuators
are shown in the next table, such as the maximum and minimum deflection angles and
deflection rates.

11
Natural Maximum Minimum
Coefficient Î
Damping Maximum Minimum
ÌÍ [rad/s]
Frequency Deflection Deflection
Deflection Deflection
>
Rate Rate
20 1.2 25° -25° 60°⁄S -60°⁄S
<&
Actuator
3 1.2 1 0 0.4/ S -0.3/ S
Actuator
Table 1 – Actuator data.

Now that all data relative to actuator dynamics is found, it is time to present the Simulink results
obtained for both actuators.

2.2.1. Elevator Actuator

The elevator actuator is the input responsible for the generation of the moments of an aircraft in
longitudinal motion. Because of this, its response must be fast and smooth. Using equation
(2.42) with the data provided in Table 1 for this actuator, the poles can be determined: Ss,Л =
−37.2665 and Sv,Л = −10.7335. Therefore, since the poles are real and negative, the actuator
system is stable. The poles are also fast because they are far away from the imaginary axis.
The next figure shows the response of the actuator to a step input.

Figure 5 – Step Response of the Elevator Actuator.

The picture above shows that the response is quite fast as expected, and that both the output >
and its derivative are smooth and stable. One can also see that a bit after O = 1S, the rate of the
elevator deflection achieves its maximum generating saturation.

2.2.2. Engine Actuator

The engine response is obviously much slower than the elevator deflection. That can be seen
from the values for this actuator in Table 1. Just like it was done for the elevator actuator, first
the poles are computed: Ss,¿ = −5.59 and Sv,¿ = −1.61. In this case, the poles are also real, but
closer to the imaginary axis which means proximity to instability and slower response. The
following figure represents the step response of the modeled engine actuator.

12
Figure 6 – Step Response of the Engine Actuator.

From the previous picture two conclusions can be made: both the output signal and its
derivative are smooth and stable like before, and the response is slower than the previous
actuator: the engine takes approximately 6 seconds to achieve 50% of its total power from the
idle state (0%).

2.3. Implementation of the Plant


In the last section of this chapter, some screenshots taken from the implemented plant in
Simulink will be presented and explained in here. In order to provide correct guidance, the
screenshots will be presented in a descending order of implementation levels. According to this,
the next picture shows the top level of the entire project:

Figure 7 – Top Level of the Whole Project in Simulink.

In the previous figure, six different blocks can be seen. The blue colored one is the visualization
block, which only contains a scope with the data to be observed from the control loop, such as
the actuator response, the controlled input, etc. Two green blocks can also be seen: the Flight
Control System simulates the controller implemented in the project while the F16 Model
represents the plant, and this one is the block that is going to be shown in detail in this section.

13
Finally, three red small blocks are present also in the top level, they contain the workspace
variables related to the plant simulation block (Simulation Control), the workspace variables
related to the control loops (Controller Parameters), and the commanding signal for the desired
inputs (External Commands).

Figure 8 shows the implemented plant using software Simulink: three main blocks and a bus
creator can be seen. The Actuators block simulates obviously the actuator dynamics, while the
Integrator block contains a chain of integrators, one for each chosen state, that simulate the real
Physics associated to an aircraft. The System Process Dynamics block contains the calculation
of all the forces and moments, as well as the gathering of all the equations of motion derived in
Section 2.1. Finally, the bus selector gathers all the signals that are going to provide information
about the current state of the plant to the controller.

Figure 8 – Top Level of the Plant implemented in Simulink.

The next picture shows one of the two implemented actuators. An analogy between this figure
and Figure 4 can easily be done, where the gains are given by: L = KLv and s = 2=KL .

Figure 9 – Engine Actuator implemented in Simulink.

14
Inside the previously referred System Process Dynamics block (see Figure 10), one can see the
Atmosphere block containing all the calculations mentioned in Section 2.1.3, the Outputs
Calculation block which computes equations (2.38) and (2.39), the Aerodynamics, Propulsion
and Gravitation blocks containing respectively the information considered in Sections 2.1.6,
2.1.5 and 2.1.4, the Effort Summation block which simply assembles the total forces and
moments in the correct directions (according to equations (2.17) and (2.18)), and finally the
Equations of Motion blocks which performs the assembly and computations of the equations of
motion derived and presented in Section 2.1.

Figure 10 – System Process Dynamics implemented in Simulink.

Figure 11 shows the inside of the Aerodynamics block presented before. The subsystems seen
on the left side contain the look-up tables and return the value of the aerodynamic forces and
also moments according to equations in Section 2.1.6. The upper subsystem block represents
the transformation matrix "B€ applied in order to change between frames.

Figure 11 – Inside view from the Aerodynamics block implemented in Simulink.

15
The next two figures represent respectively the propulsion and the gravitation block
implemented in Simulink.

Figure 12 – Inside view from the Propulsion block implemented in Simulink.

Figure 13 – Inside view from the Gravitation block implemented in Simulink.

All the data relative to the plant’s workspace parameters and their initialization can be found in
the following Matlab files:

• AC_Model_INIT.m
• actuator_INIT.m
• aerodynamics_INIT.m
• gravitation_INIT.m
• integrator_INIT.m
• propulsion_INIT.m
• weight_balance_INIT.m

16
3. Chapter 3 – Nonlinear Dynamic Inversion
of the Control Loops
This chapter presents all the necessary information about the Nonlinear Dynamic Inversion
performed in all implemented control loops. Since this topic is the main basis for the developed
work, an introductory section will be presented next, containing the detailed theory about the so
called Input-Output Linearization and also about Dynamic Nonlinear Inversion. After that,
sections containing the derivation of the inversion laws for the different control loops will be
presented and in the end, some results obtained with this technique will be shown.

3.1. Input-Output Linearization (Nonlinear


Dynamic Inversion Basics)
This section will present the basic theory about the Nonlinear Control approach implemented in
the developed work. Some major concepts as Feedback Linearization, Nonlinear Dynamic
Inversion, Relative Degree or the Isidori-Byrnes Normal Form will be introduced here in detail.
More information about these can be found in references [5], [7], [10] and [16].

3.1.1. Feedback Linearization Basics

Feedback Linearization is considered to be an approach to nonlinear control design which has


been used quite often in the recent years. The aim of this approach is to algebraically transform
the nonlinear dynamics of a system into a linear one, in order to apply linear control techniques.
This kind of linearization has nothing to do with the one generally applied in control systems,
since it uses exact state transformations and feedback instead of linear approximations of the
dynamics. This approach has been recently used successfully in control problems related with
helicopters, high performance aircraft and so on.

Consider the nonlinear system with multiple inputs and outputs of the form:

5j š×s = Қ×s (5 š×s ) + Ӛ×Ç (5 š×s ). 0Ç×s (3.1)

6Ç×s = ÔÇ×s (5 š×s ) (3.2)

where 5 š×s is the State Vector, 0Ç×s is the Input Vector and 6Ç×s is the Output Vector. The
functions Ò:  Ö ×š , Ó: Ø Ö ×Ç and Ô:  Ö ×Ç are in a smooth differentiable domain  ⊂ ך

and Ø ⊂ ×Ç . The system is linear in terms of 0, which means that it is affine in 0.

The matrix Ӛ×Ç (5) can be defined as:

Ó(5) = bÚs (5) … Ú Ç (5)c (3.3)

17
and the field vectors Ò, Ô and Ú Å are defined as nonlinear functions from the state vector 5, just
as follows:

Ò(5) = bÜs (5) … ܚ (5)c& (3.4)

Ô(5) = bℎs (5) … ℎÇ (5)c& (3.5)

Ú Å (5) = bÅs (5) … Ś (5)c& , 1≤Æ≤# (3.6)

These are the general equations regarding one MIMO system necessary for the implementation
of a nonlinear inverse controller. Now that these equations are all known, it is time to present
the main objective for using the feedback linearization and dynamic inversion. The point is to
cancel the nonlinearities in a nonlinear system (like the one presented before) so that the
closed-loop dynamics appear in a linear form. In order to achieve this, a state transformation
Þ = G(5) is needed, where G represents a diffeomorphism. The following picture shows the
principle of the exact linearization performed in this work:

Figure 14 – Scheme of exact Input-Output Linearization.

After applying the state transformation, the second phase is to differentiate the system outputs
until a direct and simple relation with the system inputs is found. In order to show this and for
simplification purposes only, one SISO system of the form is now considered:

5j = Ò(5) + Ú(5). h«
¼
g = ℎ(5)
(3.7)

The first derivative of the output with respect to time will then be given by:

Rg ßg ß5 ßℎ ß5 ßℎ
gj = = . = . = . bÒ(5) + Ú(5). hc = Ò ℎ(5) + Ú ℎ(5). h
RO ß5 ßO ß5 ßO ß5
(3.8)

The parameters Ò ℎ(5) and Ú ℎ(5) are the so called Lie-Derivatives, and more information
about them can be found in [16] and [8]. Assuming that the input vector h in a considered point
5 = 5 L has no influence in the first derivative of g, which means that Ú ℎ(5 L ) = 0, the previous
equation can then be written on the following form:

18
gj = Ò ℎ(5) (3.9)

The relative degree ,Å for one output gÅ (Æ = 1 … #) is defined as the first derivative from gÅ that
depends specifically from the input vector. Considering the r-th derivative of the output vector,
the equation (3.8) can be written in the following form:

g (') = 'Ò ℎ + Ú 'rs


Ò ℎ. h
(3.10)

where the term Ú 'rs


Ò ℎ. h is different from zero for the first time after successive derivations of

the output. Once the system has been put in the form shown above, the transformation to a so
called Normalform can be performed.

3.1.2. Transformation into the Normalform

The state transformation referred before can take the following form:

8s Gs (5)
à⋮â=à ⋮ â
8š Gš (5)
(3.11)

with 5 ∈  ⊆ ך and where G(5):  Ö ×š must be at least one local diffeomorphism. This
means that the transformation must be locally invertible and non-singular: Þ = G(5) ⇒ 5 =
G rs (Þ), also G(5) and G rs must be differentiable. If the Jacobian matrix ∇G(5) is non-singular
at a point 5 = 5 L of ç ∈ ך , then G(5) defines a local diffeomorphism in a sub region of ç.
More information about diffeomorphisms can be found in the bibliographic reference [16].
Associating the result obtained in section 3.1.1 with equation (3.11), the so called linearizing
coordinates:

ès 8s Gs (5) LÒ ℎ(5)


⋮ ⋮
à â=à â=à ⋮ â=é ⋮ ê
è' 8' G' (5) 'rs
Ò (5)
(3.12)

Since for any controllable system of order %, it will take at most % differentiations of any output
for the dependency on the control input to appear (if it took more than % successive
differentiations, then the system would be of order higher than %, which means that it would also
be not controllable), two different causes can occur. The first case happens when % = ,, which
means that the Jacobian matrix ∇G(5) is a square matrix and the transformation G is a
diffeomorphism. If % > ,, then it is necessary to find another % − , functions defined next:

ì(5) = b>'ís (5) ⋯ >š (5)c& (3.13)

Assembling all the information from the last paragraph, the total transformation of the system
can be written as follows:

19
8s = ès = Gs (5) = g = LÒ ℎ

ßG'rs
8' = è' = G' (5) = = g ('rs) = 'rs
Ò ℎ
ß5
8'ís = >'ís = G'ís (5)
(3.14)


8š = >š = Gš (5)

Differentiating the 8 variables and expanding Gš (5), the update on the above equations can be
found:

8js = 8v

8j'rs = 8'
8j' = ï(Þ) + (Þ). h
8j'ís = *'ís (Þ) + )'ís (Þ). h
(3.15)


8jš = *š (Þ) + )š (Þ). h

where ï(Þ) = 'Ò ℎbG rs (Þ)c, (Þ) = Ú 'rs


Ò ℎbG (Þ)c,
rs
*Å (Þ) = Ò GÅ bG rs (Þ)c and )Å (Þ) =
Ú GÅ bG rs (Þ)c for , + 1 ≤ Æ ≤ %. The outputs of the new transformed system can now be
expressed as:

g = ℎbG rs (Þ)c = 8s = ès (3.16)

Returning now to expressions (3.14), the equations 8Å , for 1 ≤ Æ ≤ , define the external
dynamics, while for , < Æ ≤ %, the equations define the so called internal dynamics. The
equations are called this way since this part of the dynamics is not observable from the input-
output relationship. The internal dynamics of one system must be stable in order to avoid
undesirable phenomena and to guarantee bounded stability. If the system order % is the same
number as the relative degree ,, then there are no internal dynamics in the system. Defining the
new state vectors as ñ = bès ⋯ è' c& and ì = b>s ⋯ >šr' c& , the expressions in equation
(3.15) can be modified into:

èv

ñj = ò è' ó
ï(ñ, ì) + (ñ, ì). 0
(3.17)

ìj = ô(ñ, ì) + õ(ñ, ì). 0 (3.18)

This representation of the system is called the Byrnes-Isidori Normalform.

20
3.1.3. Dynamic Inversion

Now that the Byrnes-Isidori Normalform is known, only the dynamic inversion needs to be
detailed before finishing this theoretical section. Returning to the MIMO system, the pseudo-
control vector can be defined as:

D = bCs ⋯ CÇ c& (3.19)

where the index # is by definition the number of system inputs. Establishing a comparison
between the result obtained for one SISO system and what is known for a MIMO system, the
following expression can be written:

™gÅ = ÷(5) + (5). 0 = ÷(ñ, ì) + (ñ, ì). 0


('ö ) (3.20)
Ç×s

where the matrix (5) is the so called Decoupling Matrix. This matrix and the vectors ÷(5) and 0
are given by:

Ú¦ Ò¦ ℎs (5) ⋯ Úø Ò¦ ℎs (5)


' rs ' rs

(5) = } ⋮ ⋱ ⋮ ~
Ú¦ Òú ℎÇ (5) ⋯ Úø Òú ℎÇ (5)
' rs ' rs
(3.21)

÷(5) = ÂÒ¦ ℎs (5) … Òú ℎÇ (5)Ä


' ' &
(3.22)

0 = bhs … hÇ c& (3.23)

The nonlinear system has a vectorial relative degree for 5 = 5 L only if:

• Úû ÊÒ ℎÅ (5) = 0 ∀ 1 ≤ ý ≤ #, 0 ≤ þ ≤ ,Å − 1, 1 ≤ Æ ≤ #, Æ, ý, þ ∈ L

• the decoupling matrix (5) is non-singular for 5 = 5 L


•  = ∑Ç
Ås Å ≤ %

The expression for the nonlinear feedback linearization can be written as:

0 = (5) + (5). D (3.24)

According to the equation presented above, (3.20) changes to:

™gÅ = ÷(5) + (5). b(5) + (5). Dc


('ö ) (3.25)
Ç×s

where the coefficients of the nonlinear feedback are simply defined as:

(5) = −rs (5). ÷(5) (3.26)

(5) = rs (5) (3.27)

The main objective is finally achieved, since the transformed system presents now a linear
relation between the derivative of the outputs and the pseudo-controls, as follows:

21
™gÅ =D
('ö )
Ç×s
(3.28)

Recording equations (3.17) and (3.18), the Byrnes-Isidori Normalform for a MIMO system can
be found. It is easy to verify that the expression regarding the internal dynamics will be the
same for both SISO and MIMO systems. Due to this reason, only the expressions regarding the
external dynamics will be presented:

ñjs 
 0 ⋯ 0 ñs 
÷ 0 ⋯ 0‰ νs
„ ‰ „ s ‰ „ v‰ „ s
j v ñ v νv
ñ
ñj = ƒ ˆ =ƒ0  ⋯ 0 ˆ .ƒ ˆ +ƒ0 ÷ ⋯ 0ˆ
v
.ò ⋮ ó
ƒ ⋮ ˆ ƒ ⋮ ⋮ ⋱ ⋮ ˆ ƒ ⋮ ˆ ƒ⋮ ⋮ ⋱ ⋮ ˆ
‚ñjÇ ‡('×s) ‚ 0 LJ ÷Ç ‡ νÇ (Ç×s)
(3.29)
0 ⋯  ('×')
‚ñÇ ‡('×s) ‚ 0 0 ⋯ ('×Ç)

gs 0 ⋯ 0 ñ1
gv
1
0 ⋯ 0
6=ò ⋮ ó =ò ó . òñ ó
2
2
⋮ ⋮ ⋱ ⋮ ⋮
gÇ (Ç×s)
(3.30)
0 0 ⋯ # (#×,) ñ #
(,×1)

 Å and the vectors ÷Å and


where the matrix  Å are given by:

0 1 0 ⋯ 0 0 1
„ ‰ „0‰ „ 0‰
0 0 1 ⋯ 0ˆ
Å = ƒ ⋮
 ⋮ ⋮ ⋱ ⋮ˆ ,  Å = ƒ⋮ˆ
÷ ,
ƒ ˆ
= ƒ⋮ˆ
ƒ ƒ ˆ Å
ƒ0 0 0 ⋯ 1ˆ ƒ0ˆ ƒ 0ˆ
(3.31)
‚0 0 0 ⋯ 0‡(,Æ×,Æ) ‚1‡(' ×s) ‚0‡(' ×s)
ö ö

Developing equation (3.28), the direct relation between the pseudo-controls and the system
outputs in the frequency domain for a MIMO system is presented next:

1
„ ,1 0 ⋯ 0‰
gs ƒS ˆ C1
gv 1
ƒ ⋯ 0 ˆ . } C2 ~
ò ⋮ ó=ƒ0 S,2 ˆ ⋮
gÇ ƒ⋮ ⋱ ⋮ ˆ C
(3.32)

ƒ 1 ˆ #

‚0 0
S#
, ‡

According to the results obtained until now, the dynamic inversion can be implemented like it is
shown in the next figure:

Figure 15 – Schematic representation of the Dynamic Inversion.

22
In the previous figure, the main objective of dynamic inversion can be seen. The controller
accepts all the pseudo-controls D and the state vector 5 returning the inputs which will generate
the desired response of the plant if there are no model uncertainties. The response of the plant
will then be integrated simulating the effect of the real physics in order to obtain the desired
system outputs.

3.1.4. Control Allocation

Since the relation between the control variables and the control surfaces which are the inputs of
the system is usually complex and cannot be solved analytically most of the times, a new
technique for performing the dynamic inversion must be chosen. This technique consists in
applying a linear incremental approach, comparing the actual values of the forces or moments
on which the control variables depend, with their desired values. These moments and forces
depend on the internal and external dynamics and also on the control surfaces. Considering
that the increments on the forces and moments are small enough, an easy linear relation
between these and the control variables can be found. If the control variables depend on the
forces, then the relation can be given by:

0Ë2 − 0 = rs
. (ÈŽÉ − ’ ) (3.33)

where 0Ë2 and 0 are respectively the commanded and the actual control input, ÈŽÉ and ’
are respectively the desired and the actual forces (can also be moments as previously stated),
and is the so-called Control-Efficiency Matrix which can be defined for longitudinal motion
applied to the previous case as:

Á Á
«   «
= ¿ 55  = } Á› ~
Ð ¿
v×v Л 55 Á
00 00  (3.34)
Л ¿ 55
00

Considering that the actual state of the control surfaces is known and measured and that the
actual value of the forces on which they depend can be predicted according to the wind tunnel
data, then the final result of this approach for longitudinal motion is:

<& < Δ<& < V  − V 


 = &  +  = &  + rs
. 
>Ë2 >’ Δ>Ë2 >’ V† − V†
(3.35)

With the introduction of the control allocation technique, all the theory necessary to perform the
derivation of the dynamic inversion equations implemented in the control loops is known. These
equations and the detailed derivation can be found in the next section of this chapter.

3.2. Derivation of the Nonlinear Dynamic Inversion


Equations
This section can be considered the core of the developed work since it contains the derivation
of all the equations used to perform nonlinear dynamic inversion. Since the main purpose of the

23
work was to develop and implement a nonlinear inverse controller for an aircraft, the inversion
equations are of extreme importance. These equations are simply the relation between the
pseudo-controls and the system inputs. If this relation contains no model uncertainties and the
actuators present no saturations, then expression (3.28) can be applied and the system
generates the desired outputs. This means that it is really important that the inversion equations
show no influence from model uncertainties, in order to obtain what is called a perfect inversion.

Before starting the derivation the referred equations, it is necessary to present the implemented
control loops. Six different variables with different relative degrees RD were inverted. The
following control loops will be described in this section:

• Pitch Rate * RD-1 (Relative Degree 1)


• Velocity d RD-1
• Pitch Angle ? RD-1
• Pitch Angle ? RD-2
• Angle of Attack 9 RD-1
• Angle of Attack 9 RD-2
• Flight Path Angle ; RD-1
• Flight Path Angle ; RD-2
• Flight Path Angle ; RD-3
• Load Factor %( RD-1
• Load Factor %( RD-2

Since the dynamic inversion equations are very complex in some cases, the notation of the
variables is now changed by removing the frames indexes. This happens in order to provide the
reader with an easier way to understand and comprehend the inversion equations. The next
table presents the relation between the previous notation, and the one that is going to be used
from now on:

9B 9
Name of the Variable Previous Notation New Notation

(*Be ) *
Angle of Attack

dB d
Pitch Rate
Velocity
Table 2 – New notation used in and after Chapter 3.

The next sub-sections show the derivation of the inversion equations for each one of these
eleven control loops, where each of them is considered as a SISO system. The following
equations define the relation existent between the control loops:

⟶ %(
«

9j Ö ∆9 ⟶ ∆ ⟶ ;j ! ∫
Ö; «

∆> ⟶ "¿ ⟶ *j Ö * ⟶
?j Ö ?
(3.36)

∆<& ⟶ ∆V ⟶ dj Ö d

(3.37)

24
3.2.1. Inversion of Pitch Rate RD-1

Taking a look into the equations of motion, more specifically expression (2.15), one can see that
the derivative of the pitch rate *j depends on the total moments (" ) = " + /. 8 & .
Remembering equations (2.32) and (2.33), it can be seen that the moment " depends already
directly on the inputs: the elevator angle > and the thrust lever position <& , which means that the
relative degree can only be equal to one. Once the actuator for the engine is too slow compared
to the elevator deflection, the influence of the input <& will be neglected for this dynamic
inversion.

As referred before, this dependency between the moment " and the elevator angle is nonlinear
and provided in tabular form. Since the purpose of this work is to achieve a nonlinear dynamic
inversion, it would be convenient that the aerodynamic moments behave in a nonlinear way
(although nonlinear control approaches can be also used effectively in linear systems). The
following picture is obtained for constant angle of sideslip and it shows the value of the
coefficient Ç,¿ for different values of the angle of attack 9 and elevator deflection >. This
coefficient is highly dependent on the value of the elevator deflection and is the main
responsible for the generation of aerodynamic moments in the aircraft. As it can be seen in the
figure, the nonlinear behavior is evident meaning that the moments are a nonlinear function of
the inputs.

Figure 16 – Nonlinear behavior of the aircraft aerodynamic moment.

In order to get the inversion performed, two approaches are going to be considered. The first
one, which shall be called “analytical approach”, is based on the inversion of the data on tabular
form using Matlab’s interpolation functions: interp1 and interp2. The great advantage of
this approach is that it doesn’t require the use of derivatives and the result is exact (the
inversion is perfect). However, the disadvantages make this approach impossible to use in the
implemented model. The biggest problem is that the Matlab functions that were mentioned

25
before do not generate C-Code, which means that a real implementation of this approach in an
aircraft controller is not feasible. This happens because Matlab must be installed in the
controller in order to make this inversion process work. Another problem is that the same
functions must be implemented in an embedded Matlab function in Simulink, which means that
lots of calculations are processed, slowing down the whole simulation and control process. One
can then conclude that from the computational point of view this approach does not make sense
at all.

Still, in Figure 17, the error of the pitch rate inversion using the analytical approach can be seen.
All the figures regarding the inversion errors in this chapter come from a test model where the
actuators are ideal (in order to show that the inversion is perfect, the saturation of the actuators
will not be considered yet). The graphic represents the result of the first pitch rate first derivative
*j for the following pseudo-control: CÃj = 20. sin(3"). Using equation (3.28) for this case, the
following conclusion can be made if the inversion is perfect: CÃj − *j = 0. Knowing that Matlab
relative accuracy has the value: 2.2204ers´ and watching the maximum and minimum values in
Figure 17 (±7ers´ ), one can conclude that this method generates a perfect inversion. It can also
been seen that during most of the simulation time, the error stays below the relative accuracy of
Matlab which means that the error is numerical and the inversion is perfect.

Figure 17 – Pitch Rate Inversion Error using “Analytical Approach”.

Due to the disadvantages already presented here, a new method needs to be used for
implementation. The second chosen approach is Control Allocation, already mentioned and
detailed in sub-section 3.1.4. This approach’s biggest advantage is the fact that it does not need
to use embedded Matlab functions in the Simulink model. Due to this, the computational effort is
reduced and the time required to perform a simulation is very small compared to the one
needed in the last approach. The problem now is that this approach needs the implementation
of analytical differentiation of the tabular data provided for the aerodynamic forces and
moments. This differentiation is made using Matlab interpolation functions before the simulation
starts, and the gradient tabular forms are saved in different workspace variables. All data
related to this differentiation can be seen in the initialization file inversion.m. The problem
about these analytical differentiations is that they are not exact when compared with numerical
solutions. Beyond that fact, the control allocation is a linear approach applied to nonlinear

26
equations. These facts make this inversion less perfect in comparison with the last approach,
which means that there is a slight error between the ordered pseudo-controls and the obtained
variable. In order to test the behavior of the inversion for this approach, one problem arises, the
existence of algebraic loops. In reality these algebraic loops don’t exist, but for one simulation
software like Matlab, they exist and are difficult to solve. In order to get rid of the algebraic
loops, a memory block is used, which has the big disadvantage to bring a big error to the
inversion (discrete block in a continuous simulation). The next figure represents the
implemented test for this approach, the pseudo-control CÃj assumes the form of a chirp signal
starting with a frequency of 0.1 ]8 and finishing at 3 ]8, with amplitude of 10°/S v .

Figure 18 – Result of Pitch Rate dynamic inversion using Control Allocation.

It can be easily seen that both signals are coincident, which simply means that the system
follows the pseudo-control in transient behavior. However, the inversion error cannot be
checked in the previous figure. Taking into account that the implemented model to test the
behavior of the inversion for this approach has a memory block which increases the error, the
next figure shows the inversion error for different sample times.

Figure 19 – Pitch Rate inversion transient error for different sample times using Control
Allocation.

27
Taking a look into the previous figure, some conclusions can be made. First of all, it is clear that
the error is bigger for control allocation when compared with the analytical approach. The
second one, and probably the most important one, is that it is clear that the error increases with
increasing sample time (for the case shown in the figure, when the sample time is increased ten
times, the error increases in the same proportion). This means that the memory block present in
the simulation model for testing the inversion is the biggest responsible for the error in this
approach. The third conclusion is that, even having a memory block increasing the total error of
the inversion, this error is small and close to zero. The next graph shows the static error for a
constant pseudo-control CÃj . It can be seen that the static error is negligible because after the
time of simulation, is 2S it goes below 1 r© , and also because it converges to a value near zero.

Figure 20 – Pitch Rate inversion static error using Control Allocation.

After all these conclusions, and since in the implemented control loops there are no memory
blocks (with the simulation of real actuators, there are no algebraic loops), one can assume
from now on, that the inversion of the pitch rate is also perfect using the Control Allocation
approach.

It is now time to start the derivation of the inversion equations for this control loop. Since the
control allocation approach was the only feasible one, first of all it is necessary to define the
matrix. It is said before that the control loops are considered to be SISO systems. For this
simple case, the matrix is only a scalar given by:

ß ß (,¿ (9, >). (f − f  ) + Ç,¿ (9, >) + < Ç,ÈÉ (9, >)Ä

=« & =« !
ß> 55 ß> 55
(3.38)
00 00

Now that the Control-Efficiency Matrix is known, the final inversion equation can finally be
written. Remembering equation (3.35) and taking (2.36) into account, the following is obtained:

CÃj = *j = ⇔ = CÃj . 


ȎÉ
 ÈŽÉ (3.39)

28
CÃj .  − b" + /. 8 & c’
>Ë2 = + >’
ß (,¿ (9, >). (f − f  ) + Ç,¿ (9, >) + < Ç,ÈÉ (9, >)Ä

« !
ß>
(3.40)
55
00

This final equation expresses the input to be returned from the controller and accepted to the
plant, in order to obtain the desired output, which in this case is simply the variation of the pitch
rate with time. This defines the dynamic inversion law for the current loop.

This loop is going to be the basis for the inversion for some other loops (as it was shown before
in equation (3.36)), so it is convenient to call it a simpler name. Since this is the loop that stays
“closer” to the actuators of the aircraft (closer to the plant), it is sometimes called inner loop.

Before proceeding to the derivation of the dynamic inversion equations for the next loop, it is
convenient to express the system in the previously presented Byrnes-Isidori Normalform. Since
the order of the system is considered to be equal to four (corresponding to the four states) and
this loop has relative degree of one, there are three expressions with respect to the internal
dynamics and only one with respect to the external dynamics. Attending to equations (3.14) the
following can be written:

" + /. 8 &
8s = ès = * ⇒ 8js = èsj = *j = = CÃj

− + / cos >( − # sin >ª
8v = >v = d ⇒ 8jv = >j v = dj =
#
− − / sin >( + # cos >ª
8( = >( = 9 ⇒ 8j( = >j ( = 9j = + è1
(3.41)
#>v
 + / sin >( − # cos >ª
8ª = >ª = ; ⇒ 8jª = >j ª = ;j =
#>v

The equations presented above define the so-called Byrnes-Isidori Normalform for this control
loop. The system is transformed into linearizing coordinates and the internal dynamics are
separated from the external dynamics. As it was referred before, the internal dynamics of the
system are not observable, but they need to be stable to guarantee bounded stability. The proof
of stability for a nonlinear system requires Lyapunov functions to be found and since this is not
an easy task at all, and stability of the system is not the purpose of the present work, this issue
is not going to be considered or further detailed. However, the easiest way to prove stability of
the internal dynamics consists on analyzing the so-called zerodynamics. Bibliographic
reference [16] provides additional information regarding the zerodynamics and also how to
prove stability of the internal dynamics in general.

3.2.2. Inversion of Velocity RD-1

As it can be seen from equation (3.37), the velocity control loop does not influence any other
implemented control loop. This control loop is then simply called the velocity loop. Applying the
same line of thought used for the inner loop, it can easily be seen from equation (2.34) that the
first derivative of the velocity already depends directly on the propulsion forces /, which means
that it also depends directly on the desired input <& . Because of this, once again the relative

29
degree of this control loop can be equal to one, at most. The derivative of the velocity also
depends on the drag aerodynamic force, which by itself depends on the elevator deflection.
However, the influence of the elevator deflection on the drag forces is so small that it is not
going to be taken into account in the present case. Just like it was done before in the inner loop,
it is necessary to see the nonlinear variation of the propulsion forces for constant Mach number
and varying altitude and thrust lever position. That variation can be seen in the next figure,
where one can also conclude that the behavior is linear for a variation on the thrust lever
position but nonlinear for variations in the altitude. This behavior can then be generally
considered as nonlinear.

Figure 21 – Nonlinear behavior of the aircraft propulsion forces.

It is now time to present the dynamic inversion equations for this loop using again the control
allocation technique. First of all, the definition of the Control-Efficiency Matrix is, for this case:

ßV ßb− + / cos 9 − # sin ;c ß/


=« & =« ! =« . cos 9&
ß<& 55  ß<& 55 ß<& 55 (3.42)
00 00 00

Remembering equations (3.35) and (2.34), the equation for the desired forces in the x-direction
and the desired commanded input can be given respectively by:

V ȎÉ
C·j = dj = ⇔ V ÈŽÉ = C·j . #
#
(3.43)

C·j . # − b− + / cos 9 − # sin ;c’


<& Ë2 = + <& ’
« ß/ cos 9&
ß<& 55
(3.44)
00

In the equation above, C·j represents the pseudo-control for the velocity loop. With the last
equation, the velocity control for the aircraft is accomplished. The next two pictures show
respectively the transient error and the static error for the velocity loop. Once again, these
results are obtained from tests where the actuators are considered ideal instead of real. In
Figure 22, one can see that the memory block is once again responsible for the big errors
present in the inversion. The chirp signal used in this control loop test has amplitude of C·j =

30
0.1 #/S v , starts with a frequency of 0.05 ]8 and finishes with 1 ]8. The magnitude of the error is
once again dependent on the different sample times. As for Figure 23, it shows the static error
for this loop, and after taking a look at it, one can simply conclude that this error converges and
it is less than 1 rª after 5.5S of simulation. Considering all these results, the velocity loop
inversion can also be considered as perfect.

Figure 22 – Velocity inversion transient error for different sample times.

Figure 23 – Velocity inversion static error.

Now that this loop’s inversion is proven to be perfect, only the transformation to the normalform
is missing in this sub-section. It was said before that this loop doesn’t interfere with any of the
other loops. It is than easy to check that the equations that define the transformation to the
Byrnes-Isidori Normalform are almost the same as presented before in (3.41). The only
difference is that in this case the external dynamics are related to the velocity, and the pitch rate
is now considered part of the internal dynamics. This transformation can be seen next:

31
− + / cos >( − # sin >ª
8s = ès = d ⇒ 8js = èsj = dj = = C·j
#
" + /. 8 &
8v = >v = * ⇒ 8jv = >j v = *j =

− − / sin >( + # cos >ª
8( = >( = 9 ⇒ 8j( = >j ( = 9j = + >v
(3.45)

#ès
 + / sin >( − # cos >ª
8ª = >ª = ; ⇒ 8jª = >j ª = ;j =
#ès

Just like referred before, stability of the internal dynamics is not part of the issue of this work
and because of that, the presentation of the dynamic inversion of this loop ends in here.

3.2.3. Inversion of Pitch Angle RD-1

Considering now the inversion of the pitch angle ?, it is easy to verify that its first derivative does
not depend directly on the desired input, >. Due to this reason, for this angle, two different loop
controls with different relative degrees are implemented. Taking a look at equation (3.36), one
can see that the pitch angle loops don’t influence any other loops. Taking this into account, this
loop will from now on be called the attitude loop. This nomenclature has to do with the fact that
the pitch angle in a longitudinal motion is the great responsible for the aircraft attitude.

Focusing on the present case, where only the first derivative and relative degree one matter, it
is known that the pitch rate is exactly the first derivative of the pitch angle. Since any of these
variables depend explicitly in the desired output, cascaded control loops need to be used.
Taking another look at equation (3.36), it is easy to see that in order to control the pitch angle, it
is necessary to use the inner loop. According to this and taking equation (2.16) into
consideration, the pseudo-control for this loop can simply be defined as:

C)j = *Ë2 (3.46)

where *Ë2 represents the commanded pitch rate to be provided to the inner loop. It is known
that the inner loop inverts the pitch rate, so the purpose of this attitude loop is to accept the
pseudo-control relative to the pitch angle ? and return a commanded pitch rate to be provided to
the inner loop. After this, the inner loop will return the desired system input to be provided to the
plant. If the inversion is perfect, then the plant response will generate the desired pitch angle.
The following figure represents a simplified schematic representing the cascaded approach
implemented for this control loop:

Figure 24 – Representation of the cascaded loop strategy for  RD-1 inversion.

32
The figure presented before can easily be extrapolated for more loops like it would be seen in
the forthcoming sub-sections.

It can be seen that the dynamic inversion equation in this case is the same as used in the inner
loop. For this reason, the inversion error plots do not need to be repeated and one can conclude
that this inversion is also perfect. The transformation into the normalform is performed in the
next sub-section, because the equation for the relative degree two is still unknown.

3.2.4. Inversion of Pitch Angle RD-2

In the previous sub-section, the first derivative of the pitch angle was considered and a
cascaded loop was implemented in order to obtain the desired response for the plant. This sub-
section shows the implementation of a control loop with relative degree equal to 2. In order to
discover the inversion equation for this loop, it is necessary to perform another differentiation to
the pitch angle.

?* = *j ⇒ C)* = CÃj (3.47)

It has been already shown in sub-section 3.2.1 that the derivative of the pitch rate already
depends directly on the system input. According to the previous equation, it can be concluded
that the second derivative of the pitch angle also depends directly on the inputs. Since the
inversion equation for the pitch rate has been already derived, there is no need to present it
here again. The inversion equation implemented for this control loop is then the same inversion
equation already implemented for the inner loop. The only difference between the inner loop
and the present one is the order of integration which is two in this loop and one for the inner
loop (obviously because of the respective relative degrees).

It is now time to make a comparison between this loop and the Pitch Angle RD-1 loop. Since the
RD-1 strategy has a cascaded implementation involving two different loops, and the RD-2 only
has one single loop, theoretically the present loop has a faster response than the cascaded
one. This faster response can be justified because with only one loop (relative degree two), the
pseudo-control system is “closer” to the plant than with a cascaded set of loops. Furthermore,
when cascaded loops are present, the time-scale separation between loops needs to be
accounted for, which makes the system lose bandwidth. One important conclusion if this fact is
verified is that the system is faster and has higher bandwidth for higher relative degree loops.
This theoretically statement will be shown in later chapters of this document through some plots
obtained from the Simulink model.

It was stated that the dynamic inversion equation necessary for this loop is exactly the same as
used before for the inversion of the pitch rate. Once again it is not necessary to repeat the plots
showing the inversion error, and the inversion is considered perfect.

Just like it was done for the velocity loop and for the inner loop, a transformation into the
Byrnes-Isidori Normalform is needed if the stability of the nonlinear system is to be analyzed.

33
For the particular case of the pitch angle inversion, the transformation into this Normalform is
given by:

8s = ès = ? ⇒ 8js = èsj = * = èv = C)j


" + /. 8 &
8v = èv = ?j ⇒ 8jv = èvj = *j = = C)*

− − / sin >( + # cos( èv − >( )
8( = >( = 9 ⇒ 8j( = >j ( = 9j = + è2
#>ª
(3.48)

− + / cos >( − # sin(èv − >( )


8ª = >ª = d ⇒ 8jª = >j ª = dj =
#

3.2.5. Inversion of Angle of Attack RD-1

The approach to this loop is the same as the one made before for the attitude loop. Taking a
look at equation (2.35), the first derivative of the angle of attack can be found. This derivative
depends on the pitch rate *, and on the total force acting on the z-axis of the kinematic frame.
This force is composed by contributions of the propulsion, gravitation and aerodynamic lift force
. This aerodynamic force depends already directly on the elevator deflection angle. The
elevator angle is the main responsible for the generation of moments around the y-axis of the
body fixed frame, and these moments highly influence the pitch rate. The aerodynamic lift force
is also influenced by the deflection of the elevator angle as can be seen in (2.29) and (2.30), but
this dependency is really low when compared with the pitch rate. Due to this fact, it is assumed
that the forces acting on the z direction of the kinematic frame do not depend directly on the
input >.

Since the first derivative of the angle of attack does not depend directly on the desired input, the
cascaded strategy must be used again. The new pseudo-control is presented next:

− − / SÆ% 9 + # PS ;
C+j = 9j ⇒ C+j = +*
#d
(3.49)

From the equation above it can be seen that a very simple relation between the pseudo-control
and the pitch rate * exists. If the pitch rate can be expressed as function of the pseudo-controls,
the inner loop can be used again in a cascaded approach. Expressing the commanded pitch
rate for the present case, the following expression is obtained:

− − / SÆ% 9 + # PS ;
*Ë2 = C+j −
#d
(3.50)

The above expression is considered the inversion equation for this control loop, which will be
now called as alpha loop. Considering a cascade approach, the first loop will be the alpha loop
and the second will be obviously the inner loop. The general behavior of these cascaded loops
is then, accepting a pseudo-control C+j , which is going to be inverted in the alpha loop according
to equation (3.50) and provide the commanded pitch rate *Ë2 to the inner loop. In here,
another inversion will occur in order to obtain the desired elevator angle which will be provided
to the plant. Once again, this control loop dynamic inversion is perfect if and only if the inversion
present in the inner loop is also perfect. It was already proven before that this is always true.

34
Because of this, this control loop inversion can also be considered perfect, and the inversion
error is the same as before (all the variables on the right hand side of equation (3.50) can be
measured accurately and do not introduce model uncertainties).

3.2.6. Inversion of Angle of Attack RD-2

In order to perform the inversion of the angle of attack for relative degree two, the second
derivative of this angle must be found. Differentiating equation (2.35), the following expression
is obtained:

∑(V†j )B€ dj
9* = − . z(V† )B€ + *j
#d #d v
(3.51)

The equation presented before shows that the second derivative of the angle of attack has a
simple relationship with the derivative of the pitch rate. Advantage from this fact must be taken
into account, and remembering that the inversion from sub-section 3.2.4 was precisely obtained
using *j , the next step will be finding a relation between this derivative and the pseudo-control
C+* . This relation is presented next:

∑(V†j )B€ dj
C+* = 9* ⇒ *j = C+* − + . z(V† )B€
#d #d v
(3.52)

Last equation represents the general dynamic inversion for this control loop, because once *j
has been found, the only thing missing is to apply control allocation in order to obtain the
desired input. The problem with equation (3.52) is that one of the derivatives in the right hand
side is not known yet. Using equation (2.27) and since the variation of the thrust force can be
neglected, the derivative of the forces can be expressed as:

z(V†j )B€ = −j − /. cos 9. 9j − # sin ;. ;j (3.53)

Since 9j and ;j are already known from the derivation of the equations of motion, the only
variable that needs to be further expanded is the derivative of the lift forces. It is known that the
aerodynamic force  depends on the velocity, on the angle of attack and on the elevator angle.
Applying the chain rule to the derivative of the lift, one can obtain:

ß ß ß
j = 9j + dj + >j
ß9 ßd ß>
(3.54)

The quantities 9j and dj can be obtained from the equations of motion, while the derivative of the
elevator deflection can be obtained from the actuator in the plant. Expanding now each of the
local derivatives found in the equation above:

ß ß4 ß7 1 ß ¾ ß (
= 4 cos 9 + sin 9 − cos 9 + 7 sin 9 = − + Ed v . sin 9 − cos 9
ß9 ß9 ß9 2 ß9 ß9
(3.55)

ß 2
= Ed.b sin 9 − cos 9c = Ed. = 
ßd ¾ ( À
d
(3.56)

35
ß 1 v ß ¾ ß (
= Ed . sin 9 − cos 9
ß> 2 ß> ß>
(3.57)

where all the derivatives shown come from analytical differentiation made to the data provided
in the tabular form. The implementation of these derivatives can be found in the Matlab file
called inversion.m. According to equations (2.29) and (2.30), one can see that the
present in equation (3.55) depend on *j . However, this quantity has a
, -
+ +
derivatives and
value much lower than one, which makes it negligible when compared to the total pitch rate
derivative. Assembling all this information into equation (3.52), the final equation for the
dynamic inversion of this loop can be presented:

1 1 ß ¾ ß ( dj
*j = C+* + 9j Ed v . . sin 9 − cos 9/ −  + / cos 9 + ™2 + z(V† )B€
#d 2 ß9 ß9 d
1 ß ¾ ß (
+ >j Ed v . . sin 9 − cos 9/ + ;j (# sin ;)
(3.58)

2 ß> ß>

The following figures show the transient and static errors respectively for the present control
loop. In Figure 25, the transient error is shown when the pseudo-control is a chirp signal with
amplitude of 0.1 starting in the frequency of 0.1 ]8 and ending with 3 ]8. The sample time used
in the simulation was 0.0001S (it is already known that the memory blocks are responsible for
increasing the error). This figure shows that the error for the relative degree 2 is bigger than in
the previous loops, but it is still very small. The bigger error comes from the analytical
derivatives that are required for the dynamic inversion. In Figure 26, the static error can be
seen, and one can conclude that it converges around a value close enough to zero. Taking this
into account, this dynamic inversion cannot be considered perfect because of the errors coming
from the analytical differentiation, but this loop is still feasible taking advantage of the error
dynamics as it is going to be seen in the following chapter.

Figure 25 – Angle of Attack RD-2 inversion transient error.

36
Figure 26 – Angle of Attack RD-2 inversion static error.

In order to finish the presentation of the dynamic inversion for the Angle of Attack, the
transformation to the Byrnes-Isidori is now introduced:

8s = ès = 9 ⇒ 8js = èsj = 9j = èv = C+j


∑(V†j )B€ ∑(V )B€
8v = èv = 9j ⇒ 8jv = èvj = 9* = − . z(V† )B€ + F = C+*
#>ª (#>ª )v
 + / sin ès − # cos >(
8( = >( = ; ⇒ 8j( = >j ( = ;j =
#>ª
(3.59)

− + / cos ès − # sin >(


8ª = >ª = d ⇒ 8jª = >j ª = dj =
#

where F = *j Ë2 represents the inner loop commanding variable.

3.2.7. Inversion of Flight Path Angle RD-1

Once again, the analysis for the flight path angle control starts with the implementation of a loop
with relative degree one. This means that only the first derivative of the flight path angle ; will be
considered. Taking a look into equation (2.13), it is easy to see that the first derivative of angle ;
does not depend directly on the elevator deflection angle (according to previous assumptions
for the forces in the z-axis of the kinematic frame). There is also no dependency on the pitch
rate or pitch angle, which means that cascaded loops are necessary again, but this time using
the angle of attack as commanding output. Since ;j does not depend on the moments, but only
on the forces in the z-axis of the kinematic frame, control allocation can be performed. As the
first derivative of the flight path angle does not depend directly on one of the plant inputs, and
since the angle of attack RD-2 loop can be used in a cascaded strategy, the Control-Efficiency
Matrix is given by:

ß(−V† ) ßb + / sin 9 − # cos ;c ß


=« ! =« ! = « + / cos 9& 55
ß9 55 ß9 55 ß9 00

(3.60)
00 00 

The last result leads to the final dynamic inversion equation for this loop:

37
!!!
V† ȎÉ
C0j = ;j = − ⇔ !!!
V† ÈŽÉ = −C0j . #. d
#d
(3.61)

−C·j . #d − b + / sin 9 −# cos ;c’


9Ë2 = + 9’
«− + 1 Ed2 . ™ß 4
sin 9 −
ß 7
cos 9 + / cos 9 55
2 ß9 ß9
(3.62)
00 

According to the expression presented above, this loop will provide the next cascaded loop with
a commanded value for the angle of attack. A question can now be made: which angle of attack
loop will be chosen for the cascaded strategy? The answer has to do with the difference in time
response between the relative degree 1 and relative degree 2 loops. As previously said, the
loop with higher relative degree is the fastest one, so the implemented cascaded loop to control
9Ë2 in this case, will be the one with relative degree two.

The inversion error for this loop depends on the error generated by the angle of attack RD-2
loop, which means that it is already known from the previous sub-section. The transformation to
the normalform for the flight path angle loops will be presented in subsection 3.2.9.

3.2.8. Inversion of Flight Path Angle RD-2

The inversion of the second derivative of the flight path angle is performed next. In order to
start, first it is necessary to take a look at the expression for the first derivative of this angle
presented in (2.13). Applying another differentiation, the following is obtained:

∑(V†j )B€ dj
C0* = ;* = − + . z(V† )B€
#d #d v
(3.63)

The last expression does not depend directly on the inputs or on the pitch rate derivative. So,

strategy, this time using the inner loop. Since the quantities ∑(V†j )B€ and dj were already properly
the aim is to achieve a dependency on the pitch rate, and implement another cascaded

defined, a relation for a commanding pitch rate to be given to the inner loop can be found.
According to equations (3.53) and (2.35):

∑(V† )B€
z(V†j )B€ = −j − /. cos 9. x + *y − # sin ;. ;j
#d
(3.64)

ß ∑(V† )B€ ß ß
j = x + *y + dj + >j
ß9 #d ßd ß>
(3.65)

Replacing the results obtained above in equation (3.63), and also ignoring the influences on the
pitch rate coming from the partial derivatives of the lift forces (already considered to be
negligible), the final expression for the dynamic inversion of this loop is obtained:

38
1
*Ë2 = . µC0* . #d
1 v ß ¾ ß (
Ed . 1 sin 9 − cos 92 −  + / cos 9
2 ß9 ß9
1 v ß ¾ ß (
+ ;j Ed . . sin 9 − cos 9/ + z(V )B€ 
2 ß9 ß9
(3.66)

1 ß ¾ ß ( dj
− >j Ed v . . sin 9 − cos 9/ − ™2 + z(V† )B€ 3
2 ß> ß> d

3.2.9. Inversion of Flight Path Angle RD-3

The last control loop for the Flight Path Angle is then the one which has relative degree equal to
3. Applying another differentiation to this angle, the following is obtained:

∑V†*  € 2dj 2dj v


C04 = ;4 = − B
+ . z(Vj )B€ − z(V† )B€
#d #d v †
#d (
(3.67)

Every variable from the expression presented above is known except for the second derivative
of the forces in the z direction. In order to find that quantity, another differentiation is applied to
equation (3.53):

z(V†* )B€ = −* + /. sin 9. 9j v − / cos 9. 9* −# cos ;. ;j v − # sin ;. ;* (3.68)

Once again, from the expression above, only the second derivative of the lift forces is unknown.
The first and second derivatives of both the angle of attack and flight path angle are previously

chain rule once again into consideration, * can be given by:


presented in this document. Differentiating the lift forces for the second time and taking the

ß v  v ß ß v  v ß ß v  v ß
* = 9j + 9* + dj + d*+ >j + >*
ß9 v ß9 ßd v ßd ß> v ß>
(3.69)

À À À
+ · ¿
where , and are presented in subsection 3.2.6 and the other partial derivatives are given

by:

ßv 1 v ßv ¾ ßv ( ß ¾ ß (
= Ed . 5 sin 9 − cos 9 + 2 cos 9 + 2 sin 96 − 
ß9 v 2 ß9 v ß9 v ß9 ß9
(3.70)

ßv 2
= 
ßd v d v
(3.71)

ßv 1 v ßv ¾ ßv (
= Ed . 5 v sin 9 − cos 96
ß> v 2 ß> ß> v
(3.72)

Just like done before for the angle of attack and pitch angle control loops with maximum relative
degree, it is now necessary to find a dependency on the derivative of the pitch rate. Since the
variation of the velocity of the aircraft is slow compared to the pitch rate, the second derivative
of the velocity can be neglected. Assuming this fact and since only the second derivative of the
angle of attack has a direct dependency on *j , the previous equations are assembled into

39
expression (3.67). After doing so and finding an expression to the derivative of the pitch rate,
the next expression is then the equation that defines the dynamic inversion of the present loop:

1
*j Ë2 = . ½#dC04
1 v ß ¾ ß (
Ed . 1 sin 9 − cos 92 −  + / cos 9
2 ß9 ß9
2dj dj
v
− 1 + zV†j B€ 2 + 2 x y . z(V† )B€
d d
1 ßv ¾ ßv (
+ >j v 5 Ed v . x v sin 9 − cos 9y6
2 ß> ß>v
1 v ß ¾ ß (
+ >* Ed . . sin 9 − cos 9/
2 ß> ß>
(3.73)

1 ßv ¾ ßv ( ß ¾
+ 9j v 5 Ed v . x v sin 9 − cos 9 + 2 cos 9
2 ß9 ß9 v ß9
ß (
+2 sin 9 / −  − / sin 96
ß9
1 ßv ¾ ßv (
+ ;* 5 Ed v . x v sin 9 − cos 9y + z(V )B€ 63
2 ß9 ß9 v

Taking a look into the above equation, one can immediately see that it depends directly on
partial derivatives of order equal to 2. It was previously stated that the calculation of the
derivatives of first order have a slight error when compared to the numerical solution considered
as real. This error is propagated to the second differentiation of the data in tabular form and it is
also increased drastically. It is then expected that the errors for this control loop are bigger than
all the ones presented before. The next figure represents the static error for this loop.

Figure 27 – Flight Path Angle RD-3 inversion static error.

It is clear that the static error is huge and it does not converge to any value. As referred before,
these big discrepancies come from the fact that the second derivatives are very far away from
the values considered as correct and real. This means that for this loop, the implemented
approach for calculating the second order derivatives is not valid and the inversion is not

40
perfect. Since the error is too big, the transient error will not be shown, and this loop will not be
considered again for study in the present work. Even using the error dynamics, the error is too
big and the controller cannot follow the commanded input. However, since the problem comes
only from the calculation of the second order derivatives, all the expressions derived before are
still valid if a new approach which reduces the error is found. Next, the transformation into the
Byrnes-Isidori Normalform is presented:

8s = ès = ; ⇒ 8js = èsj = ;j = èv = C0j


8v = èv = ;j ⇒ 8jv = èvj = ;* = è( = C0*
∑V†*  € 2. ∑(V )B€ 2. ∑(V )v B€
8( = è( = ;* ⇒ 8j( = è(j = ;4 = − B
+ . z(Vj† )B€ − z(V† )B€
#>ª (#>ª )v (#>ª )(
(3.74)

− + / cos Fv − # sin ès
8ª = >ª = d ⇒ 8jª = >j ª = dj =
#

where Fv = 9 represents the actual value of the angle of attack.

3.2.10. Inversion of Load Factor RD-1

The first output has been already presented so now it is time to show the derivation of the
dynamic inversion equations implemented for the Load Factor. Like usual, it is necessary to
start by performing one differentiation to the Load Factor equation, shown in expression (2.41).
After doing so, the following is obtained:

d d
%(j = ;* + ;j . − sin ;/
 
(3.75)

Taking a look into the equation presented above, it is evident that there is no direct strong
dependency on the inputs. Since the load factor is proportional to the first derivative of the flight
path angle, the maximum relative degree can only be equal to two. Due to this, and
remembering what was done previously for the angle of attack and pitch angle, a cascaded
approach is going to be implemented for the current loop. Once again, the purpose is to find a
commanded pitch rate to provide to the inner loop in order to obtain the desired input. In
expression (3.75) the only variable that depends on the pitch rate is the second derivative of the
flight path angle. Expanding this variable, a dependency on the derivative of the summation of
the forces in the z direction is obtained. It is already known that this derivative depends on the
derivative of the lift forces and this one depends on the derivative of the angle of attack. After
obtaining the dependency on the first derivative of the angle of attack, one can expand this
quantity and obtain a direct dependency on the pitch rate. The next expression shows equation
(3.75) after the referred expansions:

1 ß ¾ ß (
j ( = ;j #dj +  − / cos 9 − Ed v . .
#% sin 9 − cos 9/
2 ß9 ß9
dj 1 ß ¾ ß (
+ ™z(V† )B€ + 2 + * − + Ed v . . sin 9 − cos 9/
d 2 ß9 ß9
(3.76)

1 ß ß
+ >j Ed2 . . sin 9 − cos 9/
4 7
2 ß> ß>

41
Considering Cš-j the pseudo-control for this control loop, and knowing that #dj = ∑(V )B€ , the
final expression for the dynamic inversion of this control loop can be calculated.

1
*Ë2 = µ#Cš-j
1 ß ß
− + Ed v . 1 ¾ sin 9 − ( cos 92
2 ß9 ß9
1 ß ¾ ß (
+ ; Ed v . . sin 9 − cos 9/ + # sin ;
2 ß9 ß9
(3.77)

dj 1 ß 4 ß 7
− ™z(V† )B€ + 2 − >j Ed2 . . sin 9 − cos 9/3
d 2 ß> ß>

3.2.11. Inversion of Load Factor RD-2

This sub-section contains the derivation of the dynamic inversion equation for the last control
loop. Since the relative degree is equal to 2 in this case, another differentiation is performed to
equation (3.75). This result is shown below, considering again that the second derivative of the
velocity can be neglected:

2dj d
%(* = ;* 5 − sin ;6 − ;j v cos ; + ;4
 
(3.78)

Since this is the loop with the higher relative degree for the Load Factor, a dependency on the
first derivative of the pitch rate must be found. In the previous loop it can be seen that the
second derivative of the flight path angle depends on the pitch rate, which means that for this
case, only the third derivative of that angle will depend on *j . Because of this, the quantity ;4
must be expanded until a relation with the derivative of the pitch rate is found. After expanding
the third derivative of the flight path angle, the previous expression takes the form:

#%(* = ;* ™ + 9j v ™ − / sin 9 + 9* ™ + / cos 9 +>j v ™ + >* ™ +


v·j 7 À À 7 À À
 + 7 + ¿ 7 ¿

dj ™ + dj v ™
j
7 −
v ∑(Á )¸  7À v ∑(Á )¸
(3.79)
€ €
· · ·7

Since 9* = −;* + *j , and also keeping the partial derivatives in the final expression for better
comprehension, the last dynamic inversion equation for this control loop can finally be given by:

1 ß 2dj ßv
*j Ë2 = µ#Cš-* + ;* 5 + / cos 9 − 6 + 9j v 5/ sin 9 − v 6
ß ß9  ß9
+ / cos 9
ß9
ß v
ß 2 ∑(V†j )B€ 2 ∑(V† )B€ ß v 
(3.80)

− >j v 5 v 6 − >*  − dj 5 6 + dj v 5 − v 63
ß> ß> d dv ßd

Observing the last expression, one can see that this dynamic inversion is also dependent in the
second derivatives of the data in tabular form (like the flight path angle RD-3). This means that
the implemented inversion is not perfect and just like before, this control loop will not be further
considered in this document. Once more, all the expressions presented before are valid if
another approach is used for calculating the second order derivatives. In order to finish this

42
chapter, the expressions for the transformation into the Byrnes-Isidori Normalform are
presented next:

8s = ès = %( ⇒ 8js = èsj = %(j = èv = Cš-j


8v = èv = %(j ⇒ 8jv = èvj = %(* = Üès , èv, >( , >ª  = Cš-*
 + / sin Fv − # cos >(
8( = >( = ; ⇒ 8j( = >j ( = ;j =
#>ª
(3.81)

− + / cos Fv − # sin >(


8ª = >ª = d ⇒ 8jª = >j ª = dj =
#

43
4. Chapter 4 – Error Dynamics of the Control
Loops
Last chapter presented the dynamic inversion that is performed in each of the implemented
control loops. For a real nonlinear controller, some uncertainties will also arise and because of
this fact, the so-called error dynamics must be considered and taken into account. It is also
convenient to provide a smooth signal as pseudo-control before performing the dynamic
inversion. In order to achieve these smooth signals, it is necessary to implement reference
models for each of the implemented control loops. This chapter presents then all the information
related to the implementation of the reference models, error dynamics and its stability. In order
to take total advantage of nonlinear control, the technique called Pseudo-Control Hedging is
also going to be introduced in detail here and for each one of the control loops.

This chapter starts then with a brief theoretical introduction to each one of the topics previously
referred. The second part of this chapter corresponds to the stability analysis of the closed loop
for each of the implemented control loops. After this some screenshots related to the inversion
blocks, reference models and error controller blocks will be presented.

4.1. Basic Information on Error Dynamics


In this section the basics for performing the analysis of the error dynamics in a control loop are
explained. First of all it is necessary to define the reference model, why it is necessary and how
it can be implemented for different relative degrees. Then, the error dynamics analytical
equations are presented just like they are implemented in the Simulink model. Finally, the so-
called Pseudo-Control Hedging approach is introduced and its equations are also derived.

4.1.1. Reference Models

As it was previously said, the reference models are necessary in order to provide a smooth
pseudo-control signal to the inversion block presented in the controller for each of the control
loops. In order to achieve this, linear reference models are used. These linear reference models
can provide a smooth signal for the variable to control and also for its r-th derivative, where r
denotes again the relative degree of the control loop. It is assumed that the state vector is
available for feedback in its totality and for all control loops and that each loop behaves like a
SISO system. According to these assumptions, the linear reference model for a control loop of
relative degree r is shown in Figure 28.

44
Figure 28 – Linear Reference Model for a control loop with Relative Degree r.

In the picture above, the terms š represent gains to be designed independently for each one of
the control loops, and the variable Cž represents the pseudo-control that comes out of the
reference model. Now, it is possible to define the reference dynamics in the time domain for this
kind of reference model:

gž + 'rs . gž + ⋯ + s . gj ž + L . gž = L . gË2
(') ('rs)
(4.1)

Transforming the last equation to the frequency domain, the following is obtained:

L
ž (S) =
' . S ' + 'rs . S 'rs + ⋯ + s . S + L
(4.2)

The last equation defines the transfer function of the reference model of order ,, which will be
later used when presenting the equations of the error dynamics for each loop.

4.1.2. Modeling and Error Controller

It has been already seen in the previous chapter, that in some cases, the perfect inversion
cannot be successfully accomplished. This happens because there are some errors that need
to be accounted for. This sub-section presents the analytical equations for the so-called error
dynamics. In order to start, a small list with probable factors that cause these errors is shown:

• Parameter Uncertainties: This kind of error happens when the numerical values in the
inversion model do not coincide with the real values from the plant.
• Model Uncertainties: In this case, the error exists when the structure of the equations
of motion present in the assumed model do not correspond to the ones in the real
system.

45
• Neglected Dynamics: Sometimes it is assumed that some dynamics of the system can
be neglected. This fact brings, of course, some errors into the modeling of the real
system.
• Approximated Inversion: This error comes from the fact that sometimes it is
necessary to reduce the dependency of some model parameters. In order to achieve
this, small influences from the plant dynamics are neglected bringing errors into the
inversion.
• Measuring Errors and Delays: In reality, the available sensors have limited sample
rates and its dynamics have a slight delay. The real sensors have also its own errors
and the signals come with some noise. This adds errors that the controller must account
for.
• Non-measurable Quantities: It was already told that the state vector must be
measured in order to perform the dynamic inversion. However, in some cases, some
quantities cannot be measured by any instruments, and approximations must be made.
• Other Disturbances

Now that some errors are assumed to be present, a new nomenclature for the model dynamics
is necessary. The plant dynamics for a SISO system were already presented in the previous
chapter in equations (3.7). These expressions take the following form for the assumed model
dynamics (different from the plant dynamics):

58j = Ò9(5) + Ú8 (5). h«


µ
g8 = ℎ: (5)
(4.3)

where the accent ^ means that the variable belongs to the model dynamics. Since the error is
precisely the difference between the real dynamics (plant dynamics) and the model dynamics,
its expression can be given by:

9 (5) − 
;(5, 0) = ÷(5) + (5). 0 − ÷ 9 (5) + (5). 0 − 
< (5). 0 ⇔ ;(5, 0) = ÷(5) − ÷ < (5). 0 (4.4)

Taking a look into expression (3.24), the input vector 0 can be replaced in the above
expression, and the following is obtained:

9 (5)Ä + Â(5) − 
;(5, D) = Â÷(5) − ÷ < (5)Ä.  9 (5)Ä
<rs (5)ÂD − ÷ (4.5)

After performing some simplifications in the expression presented above, the final equation that
defines the dynamics of one SISO system with model uncertainties is:

gs
('¦)

9 (5)Ä − D ⇒ } ⋮ ~ = D + ;
<rs (5). ÂD − ÷
;(5, D) = ÷(5) + (5). 
gÇ ú
(' )
(4.6)

The last results show that for an exact inversion, the actual values of the Plant always follow the
commanding values provided by the reference model. If the inversion is not exact, then the
model uncertainties ; introduce an error into the ,Å -th derivative of the pseudo-control. This
effect is propagated through the ,Å integrations causing a difference between the actual values

46
of the Plant and the values provided by the reference model. It is now time to introduce the
expression that defines the error controller variable =:

s gž,s − gs
==k ⋮ t=k ⋮ t
Ç gž,Ç − gÇ
(4.7)

It is now possible to obtain the error controller variable derivatives according to the relation
previously shown:

jÅ gj Å,ž gj Å gj Å,ž > ℎÅ (5)


„ * ‰ „ g* ‰ „ ‰ „ ‰ „ v ‰
g* Å g*  ℎ (5) ˆ
ƒ Å ˆ = ƒ Å,ž ˆ − ƒ ˆ = ƒ Å,ž ˆ − ƒƒ > Å ˆ
ƒ ('⋮rs) ˆ ƒ ('⋮rs) ˆ ƒ ('⋮rs) ˆ ƒ ('⋮rs) ˆ ƒ ⋮
ˆ
(4.8)
‚Å ¦
‡ ‚gÅ,ž ‡ ‚gÅ
¦ ¦
‡ ‚gÅ,ž ¦
‡ ‚>
('¦ rs)
ℎÅ (5)‡

All these derivatives necessary to the calculation of the error dynamics analytical equations are
provided by the reference model as it can be seen in Figure 28. In the same picture it can also
be seen that the new pseudo-control corresponds to the higher order derivative signal coming
out of the reference model. Taking this into account and adding the influence of the error
dynamics, the pseudo-control that will enter the inversion block can now be presented:

C = Cž + 'rs . gž − g ('rs)  + ⋯ + s . (gj ž − gj ) + L . (gž − g)


('rs)
(4.9)

where Cž represents the pseudo-control coming out of the reference model and the coefficients
Å represent the error gains that are going to be defined and designed for stability later in this
chapter. Knowing that C = g (') and taking equation (4.8) into consideration, the r-th derivative of
the error can be written as:

 (') = gž − g (') = Cž − g (')


(')
(4.10)

In order to finish the presentation of the error dynamics equations, only the transformation into
the Normalform is missing. The error dynamics vector is defined as:


j
?=} ⋮ ~
 ('rs)
(4.11)

The equations of the internal dynamics assume then the following form:

?j = 3. ? + ÷3 . ; (4.12)

ìj = ô(èž + ?, ì) + õ(èž + ?, ì). 8 rs (èž + ?, ì). Â−ï: (èž + ?, ì) + CÄ (4.13)

where the matrix 3. and the vector ÷3 are respectively defined as:

0 1 0 ⋯ 0 0
„ 0 0 1 ⋯ 0 ‰ „0‰
ƒ ⋮ ˆˆ , ÷3 = ƒ ⋮ ˆ
3. = ƒ ⋮ ⋮ ⋮ ⋱
ƒ 0 0 0 ⋯ 1 ˆ ƒ0ˆ
(4.14)

‚− L − s − v ⋯ − 'rs ‡ ‚−1‡

47
The following picture shows the architecture of the controller after the insertion of the reference
model and error dynamics:

Figure 29 – Schematic representing the Dynamic Inversion considering the Error


Dynamics.

4.1.3. Influence of the Actuators

Even though the actuator model was introduced in the second chapter, only beyond this point of
this document, that model is going to be considered (in the previous chapter, the actuators were
considered ideal during the dynamic inversion tests). There are two things to consider if the
actuators are considered as real. Sometimes a real actuator can have such a fast response that
its dynamics can be neglected. The second thing is that whenever there are cascaded loops,
the inner loop (the one closer to the actuators) has a faster response than the first loop. Every
time this approximation is considered, the error dynamics of the inner loop is also neglected, it
is the so called “time-scale separation”. In this case only the inner loop reference model
dynamics are considered together with the first loop error dynamics.

Since now real actuators are considered, it is needed to find a relation between the commanded
inputs that are calculated during the dynamic inversion, and the real inputs that are given to the
plant. The transfer function of the actuators implemented in this work is already known which
makes this task really easy.

0 =  (0Ë2 ) =  @ 9 (5)ÄA
<rs (5). ÂD − ÷ (4.15)

where  is the transfer function of the actuator. Expression (2.42) represents the equation of
this transfer function for both actuators implemented during the project. Taking the last equation
into consideration, one can simply write for the error dynamics:

gÅ (5, 0) − g8Å (5, 0Ë2 ) = gÅ (5, 0) − g8Å (5, 0) + g8Å (5, 0) − g8Å (5, 0Ë2 )
('ö ) ('ö ) ('ö ) ('ö ) ('ö ) ('ö )
(4.16)

Remembering that the highest order derivative is actually the pseudo-control, and since

gÅ (5, 0) − g8Å (5, 0) = ;Å (5, 0), these quantities can be replaced in the equation presented
('ö ) ('ö )

above in order to finally find the relationship existent between the considered model and reality.
This relation is presented next:

48
gÅ (5, 0) − CÅ (5, 0Ë2 ) = ;Å (5, 0) + g8Å (5, 0) − CÅ (5, 0Ë2 )
('ö ) ('ö ) ('ö )
(4.17)

This last equation will be useful in the next sub-section where the technique called Pseudo-
Control Hedging is presented.

4.1.4. Pseudo-Control Hedging

The technique called Pseudo-Control Hedging (PCH) was born exactly because of the actuator
influence on the model referred in the previous sub-section. The PCH can also be used to
protect any dynamic elements in the controller like a neural network adapter (just like in
bibliographic references [11] and [18]). In the present case since no adaptation processes were
considered, this advantage will not be taken into account.

The reason why PCH is used in the present work is because the actuators are limited in terms
of their maximal and minimal values and also their rates may present saturation. Since it is
possible to measure the real value of the input vector h that comes out of the actuator block,
then the calculation of an expected reaction from the plant can also be achieved using the help
of the model dynamics. This means that instead of preventing saturation, this technique takes
full advantage of the actuator dynamics. If a desired pseudo-control is not achieved because of
actuator saturations, the deficit is used to modify the reference model dynamics exactly by that
amount. The following expression defines the called PCH signal D² :

D² = D − D8 = :(5, 0Ë2 ) − b5,  (0Ë2 )c (4.18)

Substituting the new variable presented before in equation (4.17), a new error dynamic equation
can be found:

gÅ (5, 0) = CÅ (5, 0Ë2 ) + ;Å (5, 0) − CÅ , ℎ


('ö )
(4.19)

Last equation shows finally the relationship existing between the highest order derivative and
the desired pseudo-control, the model uncertainties and the actuators influence. It has been
already said that the PCH changes the signal coming out of the reference model. The next
figure shows the new reference model architecture when using this technique.

49
Figure 30 – Linear Reference Model using PCH.

Taking a look onto the figure presented above, one can immediately conclude that the PCH
signal will change all the output signals from the reference model except the reference model
pseudo-control Cž . It is also obvious that for a reference model considering PCH the pseudo-
control that is returned is different from the highest order derivative of the output.

Now that PCH is properly introduced, it is time to present some important conclusions about it.
The first important thing is that the error dynamics using PCH and feedback from the actuator
dynamics is the same as the error dynamics without PCH and actuator dynamics. This was
taken into account when the dynamic inversion tests were made. The PCH technique hides the
actuator dynamics from the error dynamics for the case when the actuators are limited for their
maximal or/and minimal values or rates. In order to finish this section, Figure 29 is updated for
the case where the actuator dynamics are known and the PCH technique is used.

Figure 31 – Schematic of the Dynamic Inversion using PCH.

50
4.2. Implemented Error Dynamics and Stability
Analysis of the Control Loops
In the present section the structure of the reference models and error controller blocks with and
without PCH is going to be presented for all control loops. After that it is possible to define the
different gains for both the reference model and the control error blocks. The definition of these
values must be made according to stability considerations. The stability condition is trivial and
states that all poles of the system must have a negative real part. In order to prove stability of
the controller block, the stability of the reference model and error controller block must be
proven. Before start defining the values for the gains, the approach used to prove stability must
be presented.

4.2.1. Parameter Space Approach: Gamma Stability

It is common sense when speaking about Control Theory that it must be assured that all the
poles must be in the left-hand side of the complex plane in order to have a stable system. Since
the error controller block will have several gains to be defined (not a single parameter), the so
called Parameter Space Approach is chosen. This approach and its proof can be seen in detail
in bibliographic references [1] and [2]. This approach can be really useful when the
characteristic polynomial presents dependencies in various parameters. The basis for this
approach is to calculate the three possibilities how the poles can cross the imaginary axis
leaving the stable region into the unstable. Defining a generic characteristic polynomial as:

)(S, ) = L ( ) + s ( )S + ⋯ + š ( )S š (4.20)

where represents the vector containing the different parameters, these possibilities are:

• Real Root Boundary (RRB): Happens when real poles cross the imaginary axis for
S = 0.
• Complex Root Boundary (CRB): Exists when a pair of complex conjugate poles
crosses the imaginary axis at generic points S = ±ýK.

š ( ) = 0.
Infinite Root Boundary (IRB): Happens whenever a pole crosses at infinity for

Another interesting fact about this approach is the so-called Gamma Stability, which allows the
choice of another function as boundary, instead of the imaginary axis. With this, it is possible to
perform pole placement simply by choosing a desired area of the complex plane where all the
poles should stay. According to Theorem 4.2 (Ackermann and Kaebauer), in order to map the
CRB boundaries and obtain stability, the following expression must be respected:

RL (B) Rs (B) ⋯ Rš (B) 0


 ( ) = ™
0 RL (B) ⋯ Ršrs (B) 0
(4.21)

for some B ∈ bB r ; B í c. The coeffiecients Rš (B) are defined by the next expressions.

51
RL (B) = 1
Rs (B) = 2C(B)
RÅís = 2C(B)RÅ (B) − bC v (B) + Kv (B)c. RÅrs (B)
(4.22)

In the expression presented above, Æ = 1,2, … , % − 1 and the pole position is defined in the
complex plane as S = C + ýK. More details on this theorem and its proof can be found in [2].
Now that the approach used to prove stability is defined and known, it is time to calculate all the
gains for all loops.

4.2.2. Stability Analysis for Pitch Rate RD-1 Loop

Before starting the analysis of stability issues related to this loop, it is convenient to show the
implemented structure of its reference model and error controller block. Since the reference
model for this loop is going to return gj ž = Cž and gž , the error controller is going to have a PI
controller associated with the last signal. Assembling Figure 30 and Figure 31, the following
figure shows the general controller structure for a loop with relative degree equal to one.

Figure 32 – Structure of the Controller for a RD-1 Loop.

In the developed work, no disturbances were added into the plant, which means that the
quantity Ĉ will be equal to the highest order derivative of the variable to control. This means that
for the present case, the expression Ĉ = gj is valid. Looking at Figure 32, there are three
variables available for designing: the time constant / and the proportional and integrative gains
in the error controller block  and E . As a first approach, the influence of the Pseudo-Control
Hedging is neglected. The stability analysis of this case, can be started by analyzing the time
constant present in the reference model block. Remembering Equation (4.2), the next
expression defines the transfer function of a first-order linear reference model ž (S):

gž 1
ž,ž2s (S) = =
gË2 /S + 1
(4.23)

52
Looking at the previous figure, it is easy to verify that the analytical expression for the error
dynamics can be simply written down as:

1
C =  (gž − g) + E (gž − g) + S. gž
S
(4.24)

Taking last expressions into account, and remembering that the signal that comes out of the
inversion block goes first into the actuator block before getting into the plant, the general
transfer function of a RD-1 loop is given by the next equation. Note also that the variable
returned from the plant is not g but its first order derivative.

g S v +  S + E
,ž2s (S) = = ž (S).
gË2 Sv
+  S + E
 (S)
(4.25)

It is now time to apply the changes to the last three presented expressions in order to consider
the influence of the PCH technique. Taking PCH into account, the following expression shows
the equation relative to the reference model:

1 1 1 1
gž = (gË2 − gž ) − C²  = (gË2 − gž ) − (C − Ĉ )
S / S /
(4.26)

It can be easily demonstrated that equation (4.26) takes the form presented previously in
expression (4.23) when PCH is not considered (C − Ĉ = 0). It can also be seen in Figure 32 that

control coming out of the reference model to Cž = (gË2 − gž )⁄/. Knowing this, the final transfer
the hedge signal affects the error controller block only by replacing the value of the pseudo-

function for a RD-1 loop can now be found. Putting equation (4.26) in order to the pseudo-
control coming out of the reference model, the following is obtained:

1
Cž = (gË2 − gž ) = Sgž + C − Ĉ = Sgž + C − Sg
/
(4.27)

Using the last result in equation (4.24), a very curious result is obtained:

1 1
C =  (gž − g) + E (gž − g) + Cž ⇔ C =  (gž − g) + E (gž − g) + Sgž + C − Sg
S S
(4.28)

Taking a look into the above equation, one can immediately see that gž = g. According to this
result, it can be concluded that the stability analysis when considering the PCH does not
depend on the error controller block gains but simply on the actuators and in the reference
model time constant. This happens because there the inversion is considered to be perfect
(check sub-section 3.2.1, for instance) and differences between the plant and the model are
taken into account. The final transfer function for a RD-1 control loop considering the influence
of PCH can be calculated using equation (4.24) or (4.26) and it is simply given by:

g 1
,ž2s,F (S) = =
gË2 /S
+1
 (S)
(4.29)

The first parameter to define, may be the time constant of the reference model. Since a value
bigger than zero assures stability for a reference model without influence of the PCH, and the

53
response of this loop must be quick, the chosen value is /Ã = 0.18S. It is now time to design the
error controller block gains  and E . Since only stability needs to be proven, assuring that the
poles are in the left hand side of the complex plane is enough. Because of this, and
remembering Theorem 4.2 of Ackermann and Kaebauer, the chosen boundary is simply the

C = 0; Kv (B) = B; RÅís = −BRÅrs (B) and the expressions for CRB, IRB and RRB are just given
imaginary axis. As it can be seen in bibliographic references [1] and [2], for the imaginary axis

by:

++Q: L ( ) = 0
+Q: š ( ) = 0
1 0 −Kv 0 Kª ⋯ 0
+Q:  ( ) = ™
(4.30)
0 1 0 −Kv 0 ⋯ 0

In this case, only stability is proven, although if pole placement needs to be performed, the
characteristics of the boundary can be changed. For instance, if a big distance from the
imaginary axis is desired for the poles, a value different and less than zero can be considered
for the real part of the poles C. If the poles need to be placed in a restrict area in the left hand
side of the complex plane, it is also possible to define new equations. The expressions that
define the same theorem, but for the area on the left hand side of the left branch of the
hyperbola defined by S = C + ýïGC v ⁄v − 1, can be seen in the same bibliographic references
as before. The application of this theorem for the present loop is shown below as an example.

Considering the denominator of expression (4.25), the parameter vector ( ) can be calculated.
Since the time constant has already been chosen, the pole associated to the reference model is
fixed and does not need to be checked for stability. Next expression shows the simplification of
the referred denominator, not considering the reference model pole and using the eta actuator
transfer function shown previously in (2.42):

R% Ã,ž2s (S)⁄ž (S)Ä = 0.0025S ª + 0.12S ( + S v + ,à S + E,à (4.31)

Using the expressions shown before for the boundaries, it is easy to verify that there is no IRB
because the highest order coefficient ª = 0.0025 does not depend on any of the gains (can
never be equal to zero). The RRB is also trivial, because the lowest order coefficient L = ,*
can only be zero when the integrative gain is null. The only boundaries that still need to be calculated are
the CRB’s. This calculation can be seen next:

E,Ã
„ ‰

1 0 −K 0v
Kª  . ƒ ,à ˆ = ™0
0 1 0 −Kv 0 ƒƒ 1 ˆˆ 0
0.12
(4.32)

‚0.0025‡

Solving the expression seen above, two equations depending on both the gains and the natural
frequency are found. After solving it in order to get rid of the dependency of the natural
frequency, a relation between the integrative and the proportional gains is achieved. This
relation represents a function in the (,à , E,à )-plane, that is at the same time the Complex Root
Boundary. All the boundaries for this case can be seen next:

54
++Q: E,Ã = 0 ⟹ E,Ã > 0
+Q: RPS %PO fÆSO
+Q: 0.1736,à v − 8.333,à + E,à ⟹ E,à < −0.1736,à v + 8.333,Ã
(4.33)

The area of the (,à , E,à )-plane delimited by the inequations presented above is called the
Gamma-stability region and it can be seen in Figure 33 in dark gray.

Figure 33 – Stability Region for Pitch Angle RD-1 in the (Kp,Ki)-Plane.

If the equations are respected, then stability is assured for a chosen pair of values of the gains.
In order to finish this sub-section, the values used in the implementation of this loop are
assembled in the next table. All the values were tested using all the data derived before and
they have proven to be stable. In Table 3, the position of the system poles can also be seen
considering and neglecting the effect of the Pseudo-Control Hedging.

/Ã 0.18S
Variables Values

‘,à 5
E,Ã 1
Zeros (no PCH) b,R ⁄S c 8s = −39.06; 8v = −0.21
Poles (no PCH) b,R ⁄Sc )s,v = −4.36 ± 5.48ý; )( = −39.06; )ª = −0.21; )© = −5.56
Zeros (with PCH) b,R⁄Sc
Poles (with PCH) b,R⁄Sc )s,v = −4.37 ± 6.12ý; )( = −39.25
No zeros

Table 3 – Controller Gains and Pole Positions of the Pitch Rate RD-1 Loop.

Taking the information presented above into account, one can immediately conclude that the
implemented controller for the inner loop is stable for both cases because all the poles have
negative real parts. It is also important to note that when using PCH, the poles move away from
the imaginary axis, which means they move away from the unstable zone.

From this point on, the calculations of stability regarding the Parameter Space Approach will not
be shown, since they are trivial. However, all the information regarding the implemented gain
values and the pole position will still be shown at the end of the sub-section for each
implemented loop.

55
4.2.3. Stability Analysis for Velocity RD-1 Loop

All the equations used for the previous loop can also be applied to the present loop since it has
also relative degree equal to one. The only differences are the values of the gains and the time
constant of the reference model, and also the actuator transfer function. In the present loop the
engine actuator transfer function is used instead of the elevator actuator since the velocity
depends more on the engine state than the elevator deflection angle. Since the engine is much
slower than the elevator device in terms of response, the time constant used for the reference
model is going to be also higher than in the previous loop. Taking equations (4.25) and (4.29)
into account just like it was done for the previous loop, the values of the gains and the position
of the poles are shown in the next table.

/· 5S
Variables Values

‘,· 6
E,· 1
Zeros (no PCH) b,R ⁄Sc 8s = −5.83; 8v = −0.17
Poles (no PCH) b,R ⁄Sc )s,v = −0.019 ± 2.74ý; )( = −6.99; )ª = −0.17; )© = −0.2
Zeros (with PCH) b,R⁄Sc
Poles (with PCH) b,R⁄Sc )s = −0.25; )v = −1.28; )( = −5.67
No zeros

Table 4 – Controller Gains and Pole Positions of the Velocity RD-1 Loop.

It can easily be seen that also for this loop the controller is stable since the real parts of the
poles are negative for both the cases considered. In the next sub-sections, the stability analysis
will be extended to the cascaded and RD-2 loops.

4.2.4. Stability Analysis for Pitch Angle RD-1 Loop

In order to proceed to the stability analysis of the present loop, it is convenient to remind that
although this is a RD-1 loop, there is a dependency on the inner loop. For this reason, three
situations are going to be considered whenever a RD-1 Loop is to be analyzed from now on: the
first one consists in neglecting the influence of both the PCH and the inner loop reference model
(the error dynamics of the inner loop can be neglected); the second one assumes that the PCH
is negligible but the reference model of the next inner loop must be taken into account; finally,
the third one takes PCH and the reference model of the next inner loop into consideration. For
the first and last situations the equations are already known from the previous sub-sections and
there is no need to repeat all the calculations.

The expression containing the definition of the transfer function for the inner loop reference
model has been already presented in equation (4.23). Since this transfer function only
influences the pseudo-control C of the “outer loop”, the transfer function for this situation can be
represented as:

g S v +  S + E
,ž2s (S) = = ž,ž2s (S).
gË2 Sv
+  S + E
 (S)ž,ŚšŽ' I‘ (S)
(4.34)

56
Now that all the equations for all the situations are known, it is time to present all the
implemented gains for this loop in the following table.

/) 0.55S
Variables Values

‘,) 5
E,)rž2s 1
Zeros (no PCH) b,R ⁄Sc 8s = −39.06; 8v = −0.21
Poles (no PCH) b,R ⁄Sc )s,v = −4.36 ± 5.48ý; )( = −39.06; )ª = −0.21; )© = −1.82
)s,v = −0.99 ± 4.36ý; )( = −36.9; )ª = −0.21; )© = −1.82; )´ = −14.46
Poles (considering next

Zeros (with PCH) b,R⁄Sc


loop RM)

Poles (with PCH) b,R⁄Sc )s = −2.57; )v = −7.46; )( = −37.97


No zeros.

Table 5 – Controller Gains and Pole Positions for the Pitch Angle RD-1 Loop.

Once more, one can conclude that the controller is stable for all the three situations. Every pole
presents negative real parts which means stability. One can also verify that the inclusion of the
next inner loop reference model dynamics adds one pole to the system. The zeros for the
situation considering the next inner loop are not shown in the table above since the zeros do not
change position when incorporating the inner loop dynamics. Since this loop depends on the
elevator actuator like the inner loop and the gains are the same in both loops, the only
difference in the pole position is that the pole generated by the reference model has a different
position. This happens because the reference model time constants are different.

4.2.5. Stability Analysis for Pitch Angle RD-2 Loop

In order to proceed to the stability analysis for a loop with relative degree equal to two, it is first
necessary to present the general schematic for the controller. Since this is a RD-2 loop, a
second-order linear reference model is needed and also some differences in the error controller
block are present when compared to the previous loops. For the present case, the second-order
reference model will have three signals as outputs: the variable to be controlled g and its
derivative gj , as well as the pseudcontrol Cž . The error controller will have then a P and a PI
controller associated to the signal and its derivative respectively. The following picture shows
the general controller for the case when a loop has relative degree equal to two.

Figure 34 – Structure of the Controller for a RD-2 Loop.

57
In the present case there is no influence in the inner loop, which means that only two situations
are to be considered: with and without influence of the PCH. Starting with the last case, the
second order linear reference model and its transfer function have been already presented in
section 2.2, which means that only the equation for the error controller block needs to be
presented. The general expression of the error dynamics for a control loop with relative degree
equal to 2 can be seen below:

C = Cž + ,s . S(gž − g) + E (gž − g) + ,v (gž − g) (4.35)

Remembering that for a RD-2 loop the plant is going to return the second derivative of the
variable, the following can be written:

g* g
=  (S) ⇒ S v =  (S)
C C
(4.36)

Taking last expression into account, and knowing that for this case Cž = g* ž = S v gž , the general
total equation for a RD-2 loop without considering the influence of the PCH is given by:

g S v + ,s S + E + ,v
,ž2v (S) = = ž,v (S).
gË2 Sv
+ ,s S + E + ,v
 (S)
(4.37)

where ž,v (S)is the second-order linear reference model transfer function. This transfer function
is defined by the same expression as the transfer function of the modeled actuators. The
differences lay on the values used for the natural frequency and damping coefficient.

Considering now the influence of the PCH, the new expressions for the reference model and
error controller dynamics must be found. The new reference model relation can be given by:

1
gž = b g − L gž − s S. gž − C² c
S v L Ë2
(4.38)

where L = KL v , s = 2=KL and C² = (C − Ĉ ) = (C − S v g).

The expression that defines the error dynamics for any loop with relative degree equal to two
and considering the influence of the PCH is the same as equation (4.35). However, looking at
Figure 34, one can see that Cž = L gË2 − L gž − s S. gž instead of the second derivative of the
reference model output. Taking this into account, the error controller equation for a RD-2 loop is
given by:

C = L gË2 − L gž − s S. gž + ,s . S(gž − g) + E (gž − g) + ,v (gž − g) (4.39)

Using the previous equation in equation (4.38), it is discovered that the quantity (gž − g) is zero
once again (the same result was obtained in sub-section 4.2.2). It is then possible to find the
total transfer function for this loop in this situation.

g 1
,ž2v,F (S) = =
gË2 Sv 
+ sS+1
 (S)L L
(4.40)

58
Next table shows finally the reference model and error controller gains implemented for the
present loop, and the pole position associated to these values.

L,) 10.89 ,R v ⁄S v


Variables Values

s,) 5.94 ,R ⁄S


‘s,)
‘v,) 5
5

E,)rž2v 1
Zeros (no PCH) b,R ⁄Sc 8s = −2; 8v = −3
Poles (no PCH) b,R ⁄Sc )s,v = −2.97 ± 1.44ý; )( = −1.63; )ª = −39.02; )©,´ = −3.67 ± 4.92ý;
Zeros (with PCH) b,R⁄Sc
Poles (with PCH) b,R⁄Sc )s,v = −3.02 ± 5.69ý; )( = −2.67; )ª = −39.29
No zeros.

Table 6 – Controller Gains and Pole Positions for the Pitch Angle RD-2 Loop.

There is not much to say about the results presented above, except that the control loop is
stable because all the poles present negative real parts.

4.2.6. Stability Analysis for Angle of Attack RD-1 Loop

The present loop has once again a relative degree equal to one. It has also a dependency on
the inner loop just like the loop analyzed in sub-section 4.2.4. This means that the equations
necessary for the study are already known and there is no need to present them here again.
Because of this fact, the table containing the gain information and pole position for this loop is
presented without further explanations.

/+ 0.45S
Variables Values

‘,+ 3
E,+rž2s 1
Zeros (no PCH) b,R ⁄Sc 8s = −0.38; 8v = −2.62
Poles (noPCH) b,R ⁄S c )s,v = −4.62 ± 2.48ý; )( = −38.39; )ª = −0.38; )© = −2.22
)s,v = −1.39 ± 3.17ý; )( = −37.05; )ª = −0.38; )© = −2.22; )´ = −13.3
Poles (considering next

Zeros (with PCH) b,R⁄Sc


loop RM)

Poles (with PCH) b,R⁄Sc )s = −3.89; )v = −5.99; )( = −38.12


No zeros.

Table 7 – Controller Gains and Pole Positions for the Angle of Attack RD-1 Loop.

It is easy to verify that the system is stable for the three considered situations since all the poles
are in the left-hand side of the complex plane.

4.2.7. Stability Analysis for Angle of Attack RD-2 Loop

Just like in the previous sub-section, the equations and concepts necessary for the stability
analysis of the present loop were already presented in this document. For this reason there is
no need to proceed to further details but to show the implemented gain values. The table that
follows contains all information relative to reference model and error controller gains
implemented for this loop, as well as the pole position associated to those values.

59
L,+ 16 ,R v ⁄S v
Variables Values

s,+ 8 ,R ⁄S
‘s,+
‘v,+ 30
30

E,+rž2v 20
Zeros (no PCH) b,R ⁄Sc 8s = −1.77; 8v = −28.33
Poles (no PCH) b,R ⁄Sc )s,v = −0.71 ± 15.96ý; )( = −1.75; )ª = −44.83; )©,´ = −4;
Zeros (with PCH) b,R⁄Sc
Poles (with PCH) b,R⁄Sc )s,v = −2.76 ± 7.37ý; )( = −2.59; )ª = −39.88
No zeros.

Table 8 – Controller Gains and Pole Positions for the Angle of Attack RD-2 Loop.

The implemented controller for this loop is also stable as one can easily verify by taking a look
at the table presented above.

4.2.8. Stability Analysis for Flight Path Angle RD-1 Loop

Although having relative degree equal to one, the present loop has a slight difference from the
other loops where the cascaded approach has been used. While in sub-sections 4.2.4 and 4.2.6
the loop used in the cascade was the inner loop, here the “next” loop is the angle of attack RD-2

loop” need to be taken into account, the reference model transfer function ž,ŚšŽ' I‘ (S)
loop. For this reason, when considering the situation where the dynamics of the “next inner

corresponds to the second order linear model implemented for the angle of attack. The table
containing this entire loop’s controller data is shown below:

/0 1S
Variables Values

‘,0 10
E,0rž2s 1
Zeros (no PCH) b,R ⁄Sc 8s = −0.1; 8v = −9.9
Poles (no PCH) b,R ⁄Sc )s,v = −3.67 ± 9.18ý; )( = −40.56; )ª = −0.1; )© = −1
)s,v = −1.05 ± 0.52ý; )( = −37.27; )ª = −0.12; )© = −1; )´
= −6.11; )³ = −10.39
Poles (considering next

Zeros (with PCH) b,R⁄Sc


loop RM)

Poles (with PCH) b,R⁄Sc )s = −1.16; )v = −9.18; )( = −37.66


No zeros.

Table 9 – Controller Gains and Pole Positions for the Flight Path Angle RD-1 Loop.

Looking at Table 9, it can be seen that two poles are added to the system when the next inner
loop dynamics are considered. This happens because the reference model present in angle of
attack RD-2 loop is of second order. All the poles shown in the table have negative real parts,
which mean that the system is stable for all considered situations.

4.2.9. Stability Analysis for Flight Path Angle RD-2 Loop

It has been already said that the flight path angle RD-2 loop has also dependency on the so-
called inner loop. Because of this, for the present case, the situation where the next inner loop
dynamics are taken into account must be considered. The table that follows has all the
implemented values for the gains and also the pole position for all the situations referred before.

60
L,+ 1 ,R v ⁄S v
Variables Values

s,+ 2 ,R ⁄S
‘s,+
‘v,+ 5
5

E,+rž2v 0.1
Zeros (no PCH) b,R ⁄Sc 8s = −1.43; 8v = −3.57
Poles (no PCH) b,R ⁄Sc )s,v = −3.83 ± 5.02ý; )( = −1.31; )ª = −39.03; )©,´ = −1;
)s,v = −0.054 ± 0.6ý; )( = −2.71; )ª = −37.27; )©,´ = −1; )³ =
−5.33; )¨ = −10.59;
Poles (considering next

Zeros (with PCH) b,R⁄Sc


loop RM)

Poles (with PCH) b,R⁄Sc )s = −0.77 ; )v = −1.86; )( = −7.34; )ª = −38.03


No zeros.

Table 10 – Controller Gains and Pole Positions for the Flight Path Angle RD-2 Loop.

It is clear that this loop also presents stability for all the studied conditions since the poles are
placed in the stable zone of the complex plane.

4.2.10. Stability Analysis for Flight Path Angle RD-3 Loop

It is now time to start performing the stability of the closed loop for the flight path angle RD-3
inversion. Once again, the inversion does not depend in any inner loop which means that only
two situations are to be considered again. Applying expression (4.1) for the present case, the
reference model transfer function without PCH influence takes the following form:

gž L
ž,ž2( (S) = = (
gË2 S + v S + s S + L
v (4.41)

The expression that defines the error dynamics is similar to the ones presented before, with the
inclusion of another PI controller for the second derivative of the error. This expression can be
seen below:

C = Cž + ,s . S v (gž − g) + E,s . S(gž − g) + ,v . S(gž − g) + E,v . (gž − g)


+ ,( . (gž − g)
(4.42)

Assembling all the information presented before and remembering that for a relative degree
equal to 3, the actuator transfer function is given by  (S) = S ( , the final expression for the

J

case where the PCH is neglected is:

g S ( + ,s S v + S(E,s + ,v ) + (E,v + ,( )


,ž2( (S) = = ž,( (S).
gË2 S(
+ ,s S v + S(E,s + ,v ) + (E,v + ,( )
 (S)
(4.43)

For the case where PCH is no longer neglected, both the reference model and its pseudo-
control are changed. Analog to what was previously done for the relative degree 1 and 2 loops,
the final expression for the present case can be found:

g 1
,ž2(,F (S) = =
gË2 S( v v s
+ S + S+1
 (S)L L L
(4.44)

61
Remembering the results obtained in sub-section 3.2.9, there is no need to implement this loop
because of the inversion error. Due to this fact, the stability analysis is not performed for this
case.

4.2.11. Stability Analysis for Load Factor RD-1 Loop

The stability analysis of this loop can be done following all the expressions and considerations
presented in sub-section 4.2.2 since the relative degree is one once again. Since the maximum
relative degree for a load factor loop can be only equal to two, this cascaded implementation
depends again on the pitch rate RD-1 loop instead of the angle of attack. The table presented
below shows all information regarding the implementation of this loop’s controller.

/š- 0.3S
Variables Values

‘,š- 1.5
E,š-rž2s 0.1
b,R ⁄ S c 8s = −0.07; 8v = −1.43
Poles (no PCH) b,R ⁄Sc )s,v = −4.78 ± 2.83ý; )( = −38.39; )ª = −0.034; )© = −3.33
Zeros (no PCH)

)s,v = −1.54 ± 3.3ý; )( = −37.05; )ª = −0.034; )© = −3.33; )´ = −13.4


Poles (considering next

Zeros (with PCH) b,R⁄Sc


loop RM)

Poles (with PCH) b,R⁄Sc )s,v = −4.74 ± 3.48ý; )( = −38.51


No zeros.

Table 11 – Controller Gains and Pole Positions for the Load Factor RD-1 Loop.

According to the data presented in Table 1, the implemented controller for this loop is stable
since all poles present negative real parts.

4.2.12. Stability Analysis for Load Factor RD-2 Loop

The equations relative to the stability analysis for a loop with relative degree of 2 have already
been presented in sub-section 4.2.5, which means that there is no need to present those results
again. Just like the flight path angle RD-3 loop, the present case was also not implemented due
to big inversion errors.

4.3. Implementation of the Control Loops


Now that all the equations and gain values related to the implementation of the Controller loops
are known, some model screenshots are presented. Taking a look back into Figure 7, the top
level of the entire project can be seen. While section 2.3 showed screenshots from the
implementation on the plant, this one focus on the block called “Flight_Control_System” which
contains the controller for the respective control loop. The next picture shows the top level
inside the referred block for the Angle of Attack RD-2 Loop.

62
Figure 35 – Representation of the “Flight_Control_System” Block.

In the figure above one can see four different other subsystems. The one on the left accepts the
information coming from the sensors (state vector, inputs and their derivatives from the
actuators and the outputs) and from this information calculates the current forces, moments and
their derivatives necessary for the inversion. This block also calculates the atmospheric
properties according to the current altitude that can be obtained from the sensors. The block
that can be seen on the right side of Figure 35 simply assembles the commanded inputs that
are going to be provided to the actuators in a bus creator.

The blocks seen in the middle are the ones where the dynamic inversion is performed. The
block seen above contains the Angle of Attack RD-2 Loop and the lower one contains the
Velocity RD-1 Loop. This means that since the velocity loop can be inverted together with any
other loop that depends only on the elevator angle. Next picture shows the inside of the Angle
of Attack RD-2 block.

Figure 36 – View from the Angle of Attack RD-2 Loop Block.

A simple analogy between the figure shown above and Figure 34 can immediately be made.
Each of the implemented loop blocks has a reference model with order corresponding to its
relative degree, an error controller block and its inversion block where the equations derived in
chapter 3 can be seen. In the next two pictures, implemented first and second order reference
models can respectively be seen. In Figure 37, a constant value two dimensional look-up table
corresponding to the time constant can be seen. It is not a regular block since it may depend on
the Mach number and the air density. Since this is not the main purpose of this work, the values
getting out of the look up table are constant. This figure can be compared to the left side of
Figure 32.

63
Figure 37 – Implemented First Order Reference Model.

About Figure 38 there is nothing else to say because it is exactly the same as the actuator
model presented before in section 2.2.

Figure 38 – Implemented Second Order Reference Model.

After the reference model, the error controller blocks are shown. Next figure shows this kind of
block for a loop with relative degree equal to one (taken from Velocity RD-1 Loop):

Figure 39 – Implemented Error Controller for a RD-1 Loop.

Since the relative degree of the loop is only one, there is only a PI structure in the error
controller block. This was already seen in the error controller block present in Figure 32. The
error controller for a relative degree 2 loop can be seen next (taken from Alpha RD-2 Loop).

64
Figure 40 – Implemented Error Controller for a RD-2 Loop.

Since the figure presented above belongs to a loop with relative degree equal to 2, two gain
blocks can be seen there. For the highest order derivative difference, a single proportional
structure is implemented, for the lowest order derivative difference, a proportional and
integrative structure is needed. Just like it was done before for the RD-1 case, an analogy can
also be made with the error controller shown in Figure 34.

Now that the reference model and the error controller screenshots have been presented, only
the inversion block is missing. Next picture shows the control allocation approach implemented
in Simulink for the pitch rate dynamic inversion. The structure is exactly the same for the
Velocity RD-1 and Flight Path Angle RD-1 loops.

Figure 41 – Implemented Control Allocation for Pitch Rate dynamic inversion.

In the picture above, the block called “B Matrix Calculation” simply contains the summation of
each of the derivatives associated to the moments, multiplied by the dynamic pressure and the
mean aerodynamic chord. Taking a look into the picture one more time, it can be seen that
expression (3.40) is performed by this structure.

65
In order to finish the presentation of screenshots, the implementation of the inversion block for
the Angle of Attack RD-2 loop is illustrated by the following picture:

Figure 42 – Implemented Angle of Attack RD-2 Loop Inversion.

In the picture seen above, the block called “q_dot_Inversion” contains the pitch rate inversion
seen in Figure 41. The changes made to the pseudo-control (input of the inversion block) before
obtaining the desired commanded pitch rate to provide to the control allocation block can also
be seen. It can be verified that those changes correspond to equation (3.52), which was derived
precisely for the inversion of this loop.

Since in most of the situations, the data that arrives to the controller block is slightly different
than the plant real data, it is convenient to store all controller and plant constants in separate
files. All the initialization values and workspace parameters related to the controller can be seen
in the following m-files:

• AC_Control_INIT.m
• inversion.m
• controller.m

66
5. Chapter 5 – Interpretation of the
Simulation Results
Since all the information relative to the implementation of the plant and the controller has been
already presented and all stability details about the closed loop are shown, it is finally time to
present the obtained results. This chapter shows several time history plots showing the
simulation results for some specific cases that are of interest. These plots have been obtained
using the Matlab tool Simulink.

First of all, it is important to watch the behavior of the controller and the plant for several
commanding inputs, in order to test if the implemented approaches satisfy the desired
conditions. Furthermore, the influence of the PCH technique will also be analyzed and
discussed and the differences between loops with relative degree 1 and 2. Finally, the
simulation results for both of the considered inputs are going to be shown and the non-minimal
phase behavior of the Load Factor will be verified. All the plots shown next were obtained using
a fundamental sample time of 0.02S. The states initial conditions can be found in the following
m-file: integrator_INIT.m.

5.1. General Behavior of the System


The purpose of this chapter is to analyze the behavior of all implemented loops. Since most of
them highly depend in the pitch rate RD-1 loop, this section will present the plots for that loop.
Since the influence of the elevator deflection in the velocity RD-1 loop is minimal, this loop
performance can also be analyzed together with the pitch rate loop working as MIMO. Next
figure shows exactly the performance of these loops when the commanding sign has multiple
steps and when PCH is used.

Figure 43 – Pitch Rate and Velocity Time-history Plots.

67
The first conclusion that can be made is that the system can work with multiple inputs and
multiple outputs since it is clear that both pitch rate and velocity follow the commanding signal.
Both the signals returned from the plant are smooth because of the reference model influence
and converge around the commanded value after some time. Like expected, the pitch rate loop
response is much faster than the velocity loop mostly because of the actuator dynamics. This
can clearly be seen in the interval between 40S and 60S where the slope of the velocity signal is
constant, meaning that the engine actuator is saturated. As for the pitch rate plant signal, it can
also be seen that its response is really quick (approximately 1S to go from 0 °/S to 15°/S) and
that there is also saturation from the elevator actuator since the slope is also constant. The last
aspect to be discussed here is the fact that some oscillations can be seen for both plant signals.
Since the velocity affects the aerodynamic moments (they depend on the Mach Number),
whenever there is a change in its commanding signal, some response from the plant is required
in order to keep the pitch rate in its desired value. The same happens for the velocity signal
since it depends on the pitch angle. For instance, if the airplane is descending, it is very hard for
the engine to stop the increasing velocity. The oscillations are bigger for the velocity case since
the engine actuator takes more time to compensate than the elevator actuator.

The next plots represent the actuators behavior during the simulation that generated the plots
presented in Figure 43.

Figure 44 – Actuator Time-history Plots during Pitch Rate and Velocity Loop Simulation.

In the picture presented above it can easily be seen that for most of the time the elevator
actuator signal is coincident with the commanded one. The same does not happen for the
engine actuator which justifies the big oscillations seen in Figure 43. It can also be seen that the
engine actuator is really saturated during the time interval that was previously referred. Just like
the pitch rate and velocity signals, the curves on both actuators’ plots are smooth and they
converge to their commanded value. The behavior for these loops can then be considered as
good and just like expected from the previous chapters of this document.

68
5.2. The Influence of the Pseudo-Control Hedging
Last section showed the behavior of the loops that stay closer to the actuator and plant
dynamics, the pitch rate RD-1 and velocity RD-1 loops. In order to analyze the influence of the
PCH technique in the simulation results, another loop is going to be chosen: the Angle of Attack
RD-2 loop. The figure that follows shows the performance of this loop again for a commanding
signal consisting of three steps without using the hedging.

Figure 45 – Angle of Attack Time-history plot without PCH.

In the plot shown above, there is one thing that immediately calls our attention, the fact that
there are three different signals. Previously, all time-history plots showed only two different
signals which meant that the plant and reference model signals were coincident. That happened
because PCH was considered and equation (4.28) proves to be correct (meaning that gž = g).

Another interesting thing that can be seen in Figure 45 is the fact that the red signal
corresponding to the plant is slower than the blue one (reference model signal). This happens
because the elevator actuator is saturated. This states that without PCH the controller requests
the plant to follow an impossible pseudo-control that cannot be achieved due to actuator
dynamics. The time-history plot for the same loop, but this time considering PCH, is presented
below:

Figure 46 – Angle of Attack Time-history plot using PCH.

69
There are, at least, three major differences between Figure 45 and Figure 46 that can be
noticed. The most evident is the fact that when PCH is used, the reference model and plant
signals are coincident like previously said. The second major difference is that for the case
when PCH is considered, there is no overshoot and the time that the signal takes to stabilize
around the desired value is lesser than in the case without PCH. The third difference is that the
signal is smoother when using PCH and is as quick as the plant signal presented for the case
when PCH is neglected. This shows that the PCH technique makes the system account for the
actuator saturation, turning the reference model signal slower.

As conclusion, one can say that the PCH technique is really useful and that the signals
generated by the plant are smoother and softer when it is considered. The time-history loops
presented from now on, will always consider the influence of the Pseudo-Control Hedging.

5.3. Differences Between RD-1 and RD-2


This section takes care of the differences that exist between loops controlling the same variable
but with different relative degrees. It has been already said that the loops with higher relative
degrees have faster response from the plant when compared to the lowest ones. This happens
because loops having higher relative degree are “closer” to the actuators and to the plant while
loops with low relative degree are cascaded loops. Whenever cascaded loops are present, the
system loses bandwidth because of an effect called time-scale separation. The variable chosen
to show these differences is the pitch angle and the next figure represents the commanded and
the plant signals, as well as the elevator actuator response for both relative degrees. The black
curves represent the commanded signals while the red ones show the real signals.

Figure 47 – Comparison between Pitch Angle RD-1 and RD-2 Loops.

Looking and the plots presented above, no immediate conclusion can be made, except that the
signals are very similar for both relative degrees. It can also be seen that both actuators and
both pitch angle signals are smooth and converge to the desired values. In the time interval

70
between 4S and 6S, the slope of the plant pitch angle is constant, meaning that there are
saturation of the elevator actuator. This saturation can be seen in the plots at the bottom of the
picture and both maximum value and rate saturation are verified to exist.

Since the main purpose of this section is to observe the differences between the relative
degrees, another plot must be shown. Figure 48 presents a detailed view from the plots
presented before.

Figure 48 – Detailed view from the Pitch Angle RD-1 and RD-2 Loops response.

Taking a look into the plots, it is clear that the signal corresponding to the RD-2 Loop is faster
and takes less time to stabilize around the desired value than its RD-1 similar. For this reason, it
is verified that the loops with higher relative degrees are faster than the lower ones which allows
saving bandwidth to the controller.

5.4. Outputs Behavior


In order to end this chapter, only the simulation results for the output variables are missing.
Figure 49 shows the plant response in the Flight Path Angle RD-1 Loop as well as the desired
pitch rate and the elevator actuator response. It can be seen that the plant response is quick
enough and smooth. As for the second plot, it can be seen that the commanded values that are
calculated by the inversion block are high, but since the pitch rate has variation limits and
maximum and minimum values, those values can never be reached. The signal corresponding
to the plant pitch rate is smooth and quick and is most of the time coincident with the desired
value. Finally, in the last plot the actuator response can be seen and there is nothing else to say
since the real response signal is smooth and fast just like for the loops presented before in this
chapter.

71
Figure 49 – Time-history plot of the Flight Path Angle RD-1 Loop behavior.

Only the simulated behavior of the Load Factor RD-1 Loop must be presented and discussed
now. The figure presented below shows its response to a three step commanding signal.

Figure 50 – Time-history plot of the Load Factor RD-1 Loop behavior.

The first thing that can be seen for this case is that three signals can be seen in the first plot
even using the Pseudo-control Hedging. This happens because the implemented model does
not correspond entirely to reality. This happens because the numerical derivatives that are
calculated in the initialization files present a slight error when compared to reality (see sub-
section 3.2.6). However, it can be seen that the error between the reference model signal and
the real behavior is really small. Some oscillations in the plant signal can be observed, mostly
because of the non-minimum phase behavior that is always present in the Load Factor dynamic
inversion loops. This so called non-minimal phase behavior is responsible for the exactly
opposite reaction from the plant a little after a change in the commanding signal. This “behavior”

72
can be clearly seen in the Load Factor inversion and it comes from the aircraft dynamics. Figure
51 is obtained after performing a zoom-in on last plot and it shows the non-minimum phase
behavior in detail.

Figure 51 – Time-history Plot showing the Non-Minimum Phase Behavior present in the
Load Factor RD-1 Loop.

This chapter finishes here since the simulation results corresponding to each variable are now
presented and discussed.

73
6. Chapter 6 – Conclusion
This is the last chapter of this document and it simply contains the general conclusions that can
be made after considering the results obtained in chapter 5 and also the work that may be
developed in the future.

6.1. General Conclusions


The developed work consisted on implementing a simulation model of an aircraft where non-
linear control based on dynamic inversion was performed. In order to perform the dynamic
inversion, the real dynamics of the aircraft must be known and simulated. The first conclusion to
consider about the implemented approach is that whenever there is a difference between the
real behavior of the plant and the model, the dynamic inversion is not perfect and these
differences must be accounted for. It was found that the implemented numerical calculation of
the forces and moments derivatives did not correspond to the real behavior of the plant creating
big errors between what the aircraft did and what the controller expected the aircraft to do.
However, only the numerical second order derivatives created errors that could not be solved
using PI gains in the error controller. For this case robust terms should be implemented in order
to solve the big modeling errors.

During the implementation of the control loops with different relative degrees, the PCH
technique was used in order to account for the saturation of the actuators. With that, the
reference model did not generate impossible pseudo-controls that the plant could not
accomplish. This technique was successfully implemented in all developed control loops and
the results were completely satisfactory.

Stability analysis for the closed loop was also performed for every implemented control loop
considering the influence of PCH and in the case when it was necessary, the next inner loop
reference model dynamics. The values for the error controller gains and time constants were
designed and found and the stability test using Gamma Stability. It has been verified that every
implemented loop presented stability in the closed loop, since all the system poles (in all
considered situations) had negative real parts.

During the analysis of the simulation results, it has been seen that the plant signal is the same
as the reference model pseudo-control whenever PCH is used and the inversion is perfect. It
has also been proven that the loops with higher relative degrees are faster than the ones with
low relative degree because of time-scale separation. Those loops also present larger
bandwidth than the last ones. The fact that all the implemented loops generated smooth and
fast signals from the plant (as well as the actuator signals) has also been seen and the non-
minimal phase behavior was demonstrated for the Load Factor RD-1 Loop. The suggested
future work is presented in the following section.

74
6.2. Future Work
The current work can be developed in the future by improving or adding some new features or
techniques. These features are presented below:

• The modeling of the plant can be improved by adding some neglected features as the
inclination of the engine and some other nonlinearities associated to the thrust. The
assumptions that the Earth is flat and non-rotating can also be forgotten if one wants to
have a more realistic simulation.
• The numerical implementation of the derivatives can also be improved by using another
approach. If the errors between the real second order derivatives and the ones
numerically implemented can be reduced to insignificant values, then some coherent
results to the Flight Path Angle RD-3 and Load Factor RD-2 Loops could be obtained.
• During the stability analysis for the closed loop, Gamma Stability was used but only
considering the imaginary axis as the main boundary. In order to have more robustness,
another boundary such as the left branch of a hyperbola or even a small circle could be
used as boundary in order to provide a better pole placement.
• The internal dynamics of the plant can also be studied by taking care of the
zerodynamics and using the Lyapunov functions.
• The final aspect to consider for future work is the implementation of adaptive and robust
terms for all control loops in order to provide better results and reduce the errors
between the plant and the model. The adaptive term can be achieved through the
implementation of a neural network.

75
Bibliographic References
[1] ACKERMANN, J.: Robust Control (lecture slides). Technische Universität München,
Munich, Germany, 2008.

[2] ACKERMANN, J., BLUE, P., BÜNTHE, T., GÜVENC, L., KAESBAUER, D., KORDT, M., MUHLER,
M. and ODENTHAL, D.: Robust Control: The Parameter Space Approach. Springer, London,
2002.

[3] AGUIAR, A. J. N. M.: Desempenho (lecture slides). Instituto Superior Técnico, Lisboa,
Portugal, 2005.

[4] AZINHEIRA, J. R. C.: Controlo de Voo (lecture slides). Instituto Superior Técnico, Lisboa,
Portugal, 2007.

[5] HOLZAPFEL, F.: Nichtlineare adaptive Regelung eines umbemannten Fluggerätes. PhD
Thesis, Technische Universität München, Munich, Germany, 2004.

[6] HOLZAPFEL, F.: Flugregelung II (lecture slides). Technische Universität München,


Munich, Germany, 2008.

[7] HOLZAPFEL, F. and HÖCHT, L.: Flugregelung II (lecture slides). Technische Universität
München, Munich, Germany, 2008.

[8] HOLZAPFEL, F. and HÖCHT, L.: Flugsystemdynamik I (lecture slides). Technische


Universität München, Munich, Germany, 2008.

[9] HOLZAPFEL, F. and SACHS, G.: Dynamic Inversion Based Control Concept with
Application to an Unmanned Aerial Vehicle. AIAA-2004-4907. AIAA Guidance, Navigation and
Control Conference and Exhibit, Providence, RI, August 2004.

[10] ISIDORI, A.: Nonlinear Control Systems II. Springer, London, 1999.

[11] JOHNSON, E. N.: Limited Authority Adaptive Flight Control. PhD Thesis, Georgia Institute
of Technology, School of Aerospace Engineering, Atlanta, GA 30332, December 2000.

[12] LEWIS, B. L. and STEVENS, F. L.: Aircraft Control and Simulation. John Wiley & Sons,
New York, NY, 1992.

[13] MULDER, J. A., VAN STAVEREN, W. H. J. J. and VAN DER VAART, J. C.: Flight Dynamics
(lecture notes). Technical Report, Delft University of Technology, Delft, Netherlands, 2000.

[14] NGUYEN, L. T., OGBURN, M. E., GILBERT, W. P., KIBLER, K. S., BROWN, P. W., and DEAL,
P.: NASA technical paper 1538 – simulator study of stall / post-stall characteristics of a fighter
airplane with relaxed longitudinal static stability. Technical Report, NASA, 1979.

[15] ROSKAM, J.: Airplane Flight Dynamics and Automatic Flight Controls. DARCorporation,
January, 2003.

76
[16] SLOTINE, J. J. E. and LI, W.: Applied Nonlinear Control. Prentice Hall, Englewood Cliffs,
NJ, 1991.

[17] SONNEVELDT, L.: Nonlinear F-16 Model Description. Control and Simulation division,
Delft University of Technology, Delft, The Netherlands, 2006.

[18] SURESH, K. K.: Adaptive Control of Systems in Cascade with Saturation. Georgia
Institute of Technology, Atlanta, GE, 2005.

77
Appendix A - Reference Frames
This Appendix contains all information regarding the Reference Frames used during the
implementation of the model. Some features are going to be presented for each one of them,
such as origin, direction of the axis and an explanatory figure for better comprehension.

• North East Down System


The NED axial system is a reference frame largely used for aviation purposes more specifically
to define the position of the aircraft in relation to the Earth. It is also used when considering the
gravitational forces since the z-direction is coincident with the acceleration of gravity direction.

together with the center of gravity of the aircraft and the axis rotate with (M
!!!3L ), always
The origin of this system is defined to be the center of gravity of the aircraft. The origin moves

preserving the NED condition. The different axes are defined as follows:

- x-axis: Parallel to the local Geodesic Surface, pointing to the Geographic North Pole.
- y-axis: Parallel to the Local Geodesic Surface, point to the East direction in accordance
to the right hand rule.
- z-axis: Points to the ground direction and is perpendicular to the Local Geodesic
Surface.

The following picture illustrates an example for coordinates in this axial system:

Figure 52 – Representation of the NED System.

• Body Fixed Frame


Just like its name suggests, this reference frame is mainly used in aviation whenever the forces,
moments, and other quantities applied in the aircraft body need to be defined. Just like the NED
System, the origin of this frame is also coincident with the airplane’s center of gravity and it
moves and rotates with the aircraft. The axes features in this case are defined as follows:

78
- x-axis: Points to the aircraft’s nose and is contained in the xz-symmetry plane.
- y-axis: Points to the right wing (starboard wing), respecting the right hand rule.
- z-axis: Points downwards and is contained in the aircraft’s symmetry plane. It is
perpendicular to the x and y-axis.

The picture below shows the axis direction for this reference frame:

Figure 53 – Representation of the Body Fixed Frame.

• Kinematic Frame
The last frame that is going to be defined in here is the Kinematic Frame that is exactly the
same as the Aerodynamic Frame in the case where only longitudinal motion is considered. This
frame is used for defining the trajectory of the airplane. Its origin is once again the reference
point of the aircraft and the frame moves with it. This reference frame also rotates together with
the kinematic velocity vector. The different axes are defined below:

- x-axis: It is collinear with the kinematic velocity vector and has its direction.
- y-axis: Points towards the right direction, being perpendicular to the x and z-axis.
- z-axis: Points downwards, parallel to the projection of the normal surface of the WGS-
84 reference ellipsoid (is perpendicular to the kinematic velocity vector).

The axes in both kinematic and body fixed frame are shown in the following picture:

Figure 54 – Representation of the Kinematic Frame.

79
• Transformation Matrices
The transformation matrices used to change coordinates from one of the previous reference
frames to another are presented next. They are simply rotation matrices over one axis (y-axis)
for the case when only longitudinal motion is considered.

cos ; 0 − sin ;
"B€L = k 0 1 0 t
sin ; 0 cos ;
(A.1)

− sin 9B 0 cos 9B
"B€ = k 0 1 0 t
(A.2)

cos 9B 0 sin 9B

The first transformation matrix "B€L is used to change coordinates from the NED System to the
kinematic frame, while "B€ change them from the body fixed frame to the kinematic frame.

80
Appendix B – Geometrical and Inertial Data
of the F-16
This appendix contains all the information relative to the geometry and mass of the American
fighter F-16. This information is extracted from bibliographic reference [17] and is shown in the
table below:

þ
Unit Value
Aircraft Mass 9295.44

Reference Wing Span # 9.144

#v
#
Reference Wing Area 27.87

þ. #v
Mean Aerodynamic Chord 3.45

Pitch Moment of Inertia 


#
75673.6

#
Location of the Center of Gravity 1.035

þ. #v ⁄S
Location of the Aerodynamic Center 1.2075

Engine Angular Momentum 216.9


Table 12 – F-16 Data.

81

Você também pode gostar