FCS LectureNotes v7

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 204

Lecture Notes:

Flight Control and State Estimation

Prof. Dr.-Ing. Klaus Keerpütz

Winter Semester 2019/2020


Contents

1. Introduction 1
2. Coordinate Frames 3
2.1. Earth Centered Inertial Frame (ECI, index I) . . . . . . . . . . . . . . . . . . 3
2.2. Earth Centered Earth Fixed Frame (ECEF, index e) . . . . . . . . . . . . . . 3
2.3. Body-Fixed Reference Frame (index b) . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Stability Axis Frame (index s) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5. North-East-Down Frame (NED-frame, index n) . . . . . . . . . . . . . . . . . 6
2.6. Aerodynamic Frame (index a) . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7. Kinematic Frame (index k) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8. Transformations between Coordinate Frames . . . . . . . . . . . . . . . . . . 13
2.8.1. Mathematical Characteristics of Rotational Matrices . . . . . . . . . . 14
2.8.2. Transformations between North-East-Down and Body-Fixed Frame . . 18
2.8.3. Transformations between Aerodynamic and Body-Fixed Frame . . . . 18
2.8.4. Transformations between North-East-Down and Kinematic Frame . . 19
2.8.5. Transformations between Kinematic and Body-Fixed Frame . . . . . . 19
2.9. Successive Application of Transformation Matrices . . . . . . . . . . . . . . . 20
2.10. Dierentiation of Vectors with Rotating Coordinate Frames . . . . . . . . . . 21
2.10.1. Absolute Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.10.2. Absolute Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3. Equations of Motion 26
3.1. Kinematic Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2. Forces and Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1. Gravitational Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.2. Aerodynamic Forces and Moments . . . . . . . . . . . . . . . . . . . . 36
3.2.3. Propulsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4. Control Theoretic Foundations 51
4.1. Classical Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1. Example: Linearizing Nonlinear Dierential Equations . . . . . . . . . 52
4.1.2. Impulse-Response and Transfer-Function . . . . . . . . . . . . . . . . . 53
4.1.3. Stability Analysis on the Basis of Transfer Functions . . . . . . . . . . 54
4.1.4. Closed-Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.5. Controller Design employing Root Locus Method . . . . . . . . . . . . 57
4.2. State-Space Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1. Time-Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.2. Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.3. Connection between State-Space Representation and Transfer Functions 65
4.2.4. Controllability and Observability . . . . . . . . . . . . . . . . . . . . . 66

i
ii Contents

4.2.5. State-Feedback Controller . . . . . . . . . . . . . . . . . . . . . . . . . 67


4.2.6. Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5. Linearized Aircraft Dynamics 79
5.1. Trim Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1.1. Trim Condition for Horizontal Flight . . . . . . . . . . . . . . . . . . . 79
5.1.2. Trim Condition for Climb Flight . . . . . . . . . . . . . . . . . . . . . 81
5.1.3. Trim Condition for Coordinated Turn . . . . . . . . . . . . . . . . . . 85
5.1.4. Numerical Solution of an Optimization Problem . . . . . . . . . . . . 86
5.1.5. Obtaining the Jacobian Matrices . . . . . . . . . . . . . . . . . . . . . 90
5.2. Linear Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.1. Decomposition into Longitudinal and Lateral Dynamics . . . . . . . . 90
5.2.2. Longitudinal Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.3. Lateral Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.2.4. Concluding Remarks on Stability . . . . . . . . . . . . . . . . . . . . . 101
5.3. Linear Controllers for Nonlinear Plants . . . . . . . . . . . . . . . . . . . . . . 102
6. Consideration of Input Constraints 104
6.1. Global versus Local Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.1.1. Trajectories of Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.1.2. Inuence of Input constraints . . . . . . . . . . . . . . . . . . . . . . . 109
6.2. Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.2.1. Controller-Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.2.2. Plant-Windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2.3. Problem of Directionality . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3. Anti-Windup-Countermeasures . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.3.1. Model-based Anti-Windup . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.3.2. Deadzone-Nonlinearity . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7. Gain-Scheduling 125
7.1. Controllers at the Trim Conditions . . . . . . . . . . . . . . . . . . . . . . . . 127
7.2. Gain-Scheduling-Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2.1. Blending in the Controller Gains . . . . . . . . . . . . . . . . . . . . . 129
7.2.2. Blending in the Input Commands . . . . . . . . . . . . . . . . . . . . . 131
7.3. Hidden-Couplings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.4. Characteristics of the Aliation Function . . . . . . . . . . . . . . . . . . . . 137
8. State Estimation 139
8.1. Introduction to Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.1.1. Probability Density Function (pdf) . . . . . . . . . . . . . . . . . . . . 140
8.1.2. Independent Random Variables . . . . . . . . . . . . . . . . . . . . . . 141
8.1.3. Conditional Probability and Total Probability Theorem . . . . . . . . 142
8.1.4. Bayes Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.1.5. Characterization of Probability Distributions . . . . . . . . . . . . . . 143
8.1.6. Random Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.2. Kalman-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.2.1. Discretizing the State-Space Model . . . . . . . . . . . . . . . . . . . . 150
8.2.2. Deriviation of the Kalman-Filter . . . . . . . . . . . . . . . . . . . . . 151
Contents iii

8.2.3. Example 1: Kalman-Filter . . . . . . . . . . . . . . . . . . . . . . . . . 155


8.2.4. Example 2: Kalman-Filter for Data-Fusion . . . . . . . . . . . . . . . 158
8.3. Extended Kalman-Filter (EKF) . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.1. Outlier Rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.3.2. Filter Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.3.3. Example: Evaluation of Filter Consistency . . . . . . . . . . . . . . . 161
9. Navigation 163
9.1. Sensors applied in Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.1.1. Inertial Measurement Unit (IMU) . . . . . . . . . . . . . . . . . . . . 163
9.1.2. Satellite Based Navigation Systems . . . . . . . . . . . . . . . . . . . . 167
9.2. Navigational algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.2.1. Strapdown Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.2.2. Loosely Coupled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2.3. Tightly Coupled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
A. Appendix 180
A.1. Matrix Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
A.1.1. Matrix Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
A.1.2. Computational Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
A.2. Derivation of Model-based Anti-Windup . . . . . . . . . . . . . . . . . . . . . 188
A.2.1. Lyapunovs Stability Theory . . . . . . . . . . . . . . . . . . . . . . . . 188
A.2.2. Optimization Problem ensuring Global Stability . . . . . . . . . . . . 189
A.2.3. Optimization Problem ensuring Local Stability . . . . . . . . . . . . . 190
A.3. Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
A.3.1. Basic Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 191
A.4. Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A.4.1. Quaternion Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A.4.2. Time Derivative of Quaternions . . . . . . . . . . . . . . . . . . . . . . 194
A.4.3. Pure Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
A.4.4. Time Derivatives of Transformation Matrices . . . . . . . . . . . . . . 195
A.4.5. Transformation of Rotational Matrix . . . . . . . . . . . . . . . . . . . 196
Bibliography 197
1. Introduction

In the beginning of human ight, the pilot controlled the aircraft directly by means of a
mechanical connection between the stick and the control surfaces as shown in Figure 1.1.
In this conguration, a stick movement is translated into a deection of the control surfaces
which generates forces and moments aecting the aircraft's attitude. In addition the only
sensor's involved in this scenario were the human perceptory sensors (eyes, ears,...).
In the very beginnung of human ight, no simulators were available so the pilot had to
familarize him/herself with the aircraft's dynamics whenever a new aircraft underwent it's
maiden ight.
Although human pilots have proven to be able to adapt to the new situations, e.g in the
event of mailfunctions, there are also some severe limitations
• Limited speed of reaction

• Limited ability to measure ight states

• Getting tired in monotonous situations or after enduring stress

• Physical and mental condition of the pilot aect performance

With the developement of air trac, a variety of higher level tasks such as navigating from
one place to another, being aware of other air trac, maintaining communications with a
ground station or - especially in the military domain - performing mission specic tasks
arised hwich have to be accounted for besides controlling the aircraft. Autopilots were in-

Mechanical Connection
(Wires)

Pilot Controls
Figure 1.1.: Manual ight control

1
2 1. Introduction

Flight Control Elevator


Computer Actuator
Control Stick Electronics
Rudder Pedal IMU
Rudder
Actuator
Electronics

Elevator
Air Data Actuator
System Electronics
Fore Plane
Actuator
Electronics
Figure 1.2.: Fly-by-wire control system

troduced in the second half of the 20-th century to relieve the pilot from the monotonous low
level controlling tasks during long-distance ights. When in operational mode, the autopilot
maintains attitude, speed, heading and height. In order to change the ight condition, the
rst autopilots had to be deactivated and the pilot had to transfer the aircraft manually to
the new ight condition before reactivating the autopilot. Later, more elaborated autopi-
lots were also capable of changing the heading, speed and height but only within a specic
regime.
Further improvements of the maneuverabilty of ghter aircrafts in the 1990's led to the design
of aerodynamically unstable aircrafts, requiring a high sophisticated ight control system
to ensure safe and stable ight. In such a y-by-wire system - even with an deactivated
autopilot - the pilot not directly inuences the control surfaces but provides reference com-
mands. These reference commands are transmitted digitally to the ight control computer
which incorporates sensor data (e.g. feedback) to compute the commands for the actuator
electronics. The ability to control aerodynamically unstable aircraft also greatly simplied
the rst designs of stealth aircraft where the ability to diuse incoming radar waves was
to some degree contrary to an aerodynamical stable design. Also ying wing bodies, which
are very fuel eective since the whole body contributes to the creation of aerodynamic lift
tend to be aerodynamically unstable designs requiring a y-by-wire system. Contrary to the
autopilots mentioned above, a y-by-wire system must be able to operate over the whole op-
erational envelope so considering the nonlinear aircraft dynamics becomes mandatory. Since
the exibility of y-by-wire systems allows to improve the handling qualities these systems
is also applied in modern civil aircraft. Nevertheless, any y-by-wire systems crucially relies
on the availabilty of correct sensor data. In case of sensor mailfunctions, adequate pilot ac-
tions are required. Since such situations are especially critical when the aircraft's dynamics
are unstable, civil aircraft are required to be aerodynamically stable in order to guarantee
stability even in such rare modes of operation.
In this lecture we will focus on the design of y-by-wire systems and the specic challenges
arising from the nonlinear aircraft dynamics. To this end, we need to be aware of the air-
craft's dynamics which are usually referred to as equations of motion. For their derivations
we also need to briey discuss some basic ight mechanic principles.
2. Coordinate Frames

Since an aircraft has six degree of freedoms (three tranlational and three rotational degrees)
and moves above the surface of the earth, which is itself rotating about it's vertical axis,
dierent coordinate frames will be involved in our further discussions. In this section, we
will introduce the most relevant coordinate frames and the transformations which have to
be applied in order to express a vector given in one frame into another frame.

2.1. Earth Centered Inertial Frame (ECI, index I)


The earth centered inertial frame has it's origin at the earth centre and rotates around the
sun. The zI -axis is the earth's axis of rotation, the xI -axis is in the equatorial plane pointing
towards the vernal equinox and the yI -axis is then directed such that a righthandsided
coordinate frame is constituted. The left part of Figure 2.1 illustrates the earth centered
inertial frame.

zI 0◦ longitude

b
µ ze
a
yI a
ye xe

xI λ

To
vernal equinox

Figure 2.1.: Earth centered interial frame (left) and earth centered earth xed frame (right)

2.2. Earth Centered Earth Fixed Frame (ECEF, index e)


The earth centered earth xed coordinate system has it's origin at the earth center and
moves with the earth centered inertial frame, rotating about the zI with the turning rate of
the earth ω Ie
I = [0 0 2π/(24 · 60 · 60)] . The ze -axis is identical to the zI axis of the earth
T

3
4 2. Coordinate Frames

xed inertial frame, the xE -axis is located in the equatorial plane pointing to the Greenwich
Meridian and the ye is arranged to complete a right-hand sided coordinate frame.
The position in the earth centered earth xed frame is denoted either by cartesian coordi-
nates xe , ye , ze or by means of the WGS 1984 (World Geodetic System 1984) coordinates -
the geodetic latitude, longitude and height - λ, µ and h. In order to perform the transfor-
mation from the WGS 1984 to the cartesian coordinates we have to solve
xe = (N + h) · cos(λ) cos(µ),
ye = (N + h) · sin(λ) cos(µ),
ze = N (1 + e2 ) + h · sin(µ)
 

with
a
N (λ) = q ,
1 − e2 sin2 (λ)

where the rst excentricity


p
e= f (2 − f ) = 0.0818

is computed based on the attening


a−b
f= = 0.0034
a
with the length of the semi-major axis a = 6.378137 · 106 m and the semi-minor axis b =
6.3567523142 · 106 m. Note that the inverse operation can not be performed analytically and
has to be solved by means of numerical methods.
2.3. Body-Fixed Reference Frame (index b) 5

2.3. Body-Fixed Reference Frame (index b)


The body-xed coordinate frame is a right-hand sided coordinate frames tied to the current
center of gravity position. The x-axis xb is aligned with the airframe's longitudinal axis with
the origin being at the current center of gravity position. The yb -axis is directed to the right
wing and the zb -axis is pointing downwards. The coordinate frame is illustrated in Figure
2.2.

xb

yb

zb

Figure 2.2.: Body-xed frame

2.4. Stability Axis Frame (index s)


The stability axis frame is employed to derive the aerodynamic parameters in windtunnel
experiments. Its origin is the center of gravity of the aircraft. It's xs -axis is the projection of
the aerodynamic velocity in the xb ,zb -plane. The ys -axis coincides with the yb -axis and the
zs -axis is dened to establish a right-hand-sided coordinate frame. Therefore the stability

xs
αa
xb

yb

αa zs
zb

Figure 2.3.: Stability axis frame

frame corresponds to the body-xed frame rotated by the aerodynamic angle of attack αa .
6 2. Coordinate Frames

The coordinate frame is illustrated in Figure 2.3.

2.5. North-East-Down Frame (NED-frame, index n)


The north-east-down frame constitutes the tangential plane to the earth surface as shown
in Figure 2.4. It's origin is tied to the current c.o.g. position. The xn -axis is aligned
with the current north direction, yn is aligned with the current east direction and zn points
downwards. The rotational dependencies between the north-east-down and the body-xed
frame are expressed by means of the Euler angles
• yaw angle Ψ (axis of rotation zn )
• pitch angle θ (axis of rotation k2 , the intermediate y -axis)
• roll angle Φ (axis of rotation xb )
as depicted in Figure 2.5. The north-east-down-frame rotates with the so called transport-
rate ω en
n in order to ensure that the north-axis stays aligned with the north direction. This
transport-rate depends on the geodetic latitude as well as on the current speed components
in the north- and east-directions and is computed by means of
h iT
v2,n v v2,n tan µ
ω en
n = RE −h − RE1,n
−h − RE −h .

Quite often when assuming a at an non-rotating earth, a so-called navigational frame is
employed to decribe the aircraft position. The navigational frame is a north-east-down
frame which is tied to a reference point, e.g. the initial aircraft position or a radar location
and the aircraft states are decribed with respect to this reference point in north-east-down
coordinates.
2.5. North-East-Down Frame (NED-frame, index n) 7

Northpole

xn

yn

zn

µ
λ

Figure 2.4.: North-east-down System (axes are represented by red arrows) xed to elliptical
earth model at longitude λ and latitude µ.
8 2. Coordinate Frames

xb

xn k1
θ

yn

k2
xn , yn -plane Φ

yb

yb ,zb -plane
Φ
zb
θ k3
zn

Figure 2.5.: Relation between north-east-down and body-xed frame


2.6. Aerodynamic Frame (index a) 9

xa ,zn -plane
xa

γa
xn
χa
xn ,yn -plane

χa
yn
µa

ya

µa
za
γ
zn a
Figure 2.6.: Relation between the north-east-down and aerodynamic frame

2.6. Aerodynamic Frame (index a)


In the aerodynamic reference frame the x-axis xa is tied to the airplanes velocity vector (with
respect to the surrounding air). The origin is again xed to the current c.o.g. position and
the ya -axis is contained in the xa ,yb -plane. The za -axis is orthogonal with respect to the xa -
and ya -axis and pointing downwards. The rotational dependencies from the north-east-down
to the aerodynamic frame are expressed by means of
• aerodynamic azimuth angle χa (axis of rotation zn )
• aerodynamic inclination angle γa (axis of rotation rotated yn -axis)
• aerodynamic bank angle µa (axis of rotation xa )
as illustrated in Figure 2.6. The rotational dependencies from the aerodynamic frame to the
body-xed frame are expressed by means of the
• sideslip angle −βa (axis of rotation za ) and the
• angle of attack αa (axis of rotation yb )
as illustrated in Figure 2.7.
10 2. Coordinate Frames

xb , zb -plane
xb

αa xa
βa
xa ,ya -plane

βa
yb
ya

zb
αa
za
Figure 2.7.: Relation between aerodynamic and body-xed frame
2.7. Kinematic Frame (index k) 11

xk
xn

γk
χk

yn
χk

yk

xn , yn -plane

yk ,zk -plane

γk
zn zk

Figure 2.8.: Relation between north-east-down and kinematic frame

2.7. Kinematic Frame (index k)


In the kinematic frame the x-axis xk is tied to the airplanes velocity vector expressed with
respect to the earth' surface. The origin is again xed to the current c.o.g. position and the
yk -axis is contained within the earth's horizontal plane. Then the zk -axis is arranged in a way
such that a right-hand sided coordinate frame is established. The rotational dependencies
from the north-east-down to the kinematic frame are expressed by means of the
• ightpath azimuth angle χk (axis of rotation zn ) and
• ightpath inclination angle γk (axis of rotation yk )
as illustrated in Figure 2.8. The rotational dependencies from the kinematic to the body-
xed frame are expressed by means of
• ightpath bank angle µk (axis of rotation xb )
• ightpath angle of sideslip −βk (axis of rotation intermediate z -axis)
• ightpath angle of attack αk (axis of rotation intermediate yk -axis)
as illustrated in Figure 2.9.
12 2. Coordinate Frames

xb
xb , zb -plane

αk xk
βk

xk ,yk -plane

yk

µk
βk
yb
k2

αk

µk zb
k3 zk

Figure 2.9.: Relation between the kinematic and body-xed frame


2.8. Transformations between Coordinate Frames 13

2.8. Transformations between Coordinate Frames


Figure 2.10 provides an overview of dierent transformation routes between the north-east-
down and the body-xed frame. Now, we discuss how a vector given in one of the above

kinematic frame

χk , γk µk , βk , αk

Φ, Θ, Ψ
ned-frame body-xed frame

χa , γa , µa αa , βa

aerodynamic frame

Figure 2.10.: Relations between the coordinate frames

frames can be represented in any of the other frames by means of a transformation ma-
trix. In order to transform a vector from one coordinate frame to another one, we have to
discriminate between the following two cases
1. Absolute vectors: In the rst case we consider a vector pointing from the origin of
a coordinate frame to a xed point in space and the origins of the original frame
and the frame in which we want to express the vector do not cooincide. Then the
transformation can not be performed solely by a rotation but with consideration of a
translational shift in the vector base.
Example (see Figure 2.11): We consider a vector xa,e in the ECEF-frame which points
from the centre of the earth to the c.o.g. of an aircraft. Suppose we want to derive the
vector xag,n from a ground based radar station to the aircraft in the ned-frame. With
the vector xg,e from the earth's center to the ground based radar station expressed
in the ECEF-frame we have to consider the shift between the bases of xa,e , xg,e and
xg,n . Therefore, we have to compute

xag,n = T ne · (xa,e − xg,e )

2. Relative vectors: In the second case we have a vector describing a specic direction
and length in space, e.g. the velocity v a,e of the aircraft with respect to the earth
surface expressed in the ECEF-frame. In order to transform this vector into the
north-east-down frame the transformation is a pure rotation, althought the origins of
14 2. Coordinate Frames

the respective coordinate frames do not coincide. Now we compute


v a,n = T ne v a,e

After discussing of the mathematical characteristics of rotational matrices, we will refer to


their application in coordinate transformation.

xag,n

xa,e

xg,e

Figure 2.11.: Transformation of absolute vectors between frames with dierent origins

2.8.1. Mathematical Characteristics of Rotational Matrices


The transformation of a (relative) vector v a ∈ R3 represented in the frame a in a coordinate
frame b can be represented by the multiplication of the vector by a rotational matrix T ba ∈
R3×3 as follows

v b = T ba · v a .

Such rotational matrices have certain properties. In order to discuss these properties we
consider a 2D example, where a vector v a expressed in the coordinate frame a has to be
transformed to the coordinate frame b, which is rotated by an angle α with respect to
coordinate frame a. The two components of the transformed vector can be derived by a
2.8. Transformations between Coordinate Frames 15

ay
by

vay

bx

cos(α)vay α

sin(α)vay
vax ax

− sin(α)vax cos(α)vax

Figure 2.12.: The vector (blue) represented in the a-frame and it's expression in the rotated
frame b

projection of the components va,x and va,y on the axis of the new coordinate frame b as
illustrated in Figure 2.12 resulting in
vb,x = cos(α)va,x + sin(α)va,y ,
vb,y = − sin(α)va,x + cos(α)va,y .
This can also be represented by means of a matrix-vector product
   
cos(α) sin(α) va,x
vb = · .
− sin(α) cos(α) va,y
In order to transfer the relations to the 3D-case, we consider the rotation of a coordinate
frame by an angle α about the x-axis. Note that the x-component of the vector is not altered
by an rotation about the x-axis. The other parts can be expressed transferring the 2D result
derived above in the y,z -plane. Therefore, we obtain
   
1 0 0 va,x
vb =  0 cos(α) sin(α)  ·  va,y  = T ba v a
0 − sin(α) cos(α) va,z
with the rotation matrix
 
1 0 0
T ba =  0 cos(α) sin(α)  . (2.1)
0 − sin(α) cos(α)
16 2. Coordinate Frames

In case we rotate by an angle −α afterwards, e.g. applying the inverse transformation matrix
 
1 0 0
T ab =  0 cos(α) − sin(α)  , (2.2)
0 sin(α) cos(α)

we get
v a = T ab · v b = T ab · T ba v a
   
1 0 0 1 0 0
= 0 cos(α) − sin(α)  ·  0 cos(α) sin(α)  v a
0 sin(α) cos(α) 0 − sin(α) cos(α)
 
1 0 0
=  0 cos2 (α) + sin2 (α) 0  va
0 0 cos2 (α) + sin2 (α)

and due to cos2 (α) + sin2 (α) = 1 we nally end up with


 
1 0 0
T ab · T ba · v a =  0 1 0  va = va .
0 0 1

Therefore, we have
 −1
T ab · T ba = I, or T ab = T ba .

Comparing (2.1) and (2.2) we further realize that


 −1 T
T ab = T ba = T ba ,

which is a general property of rotational matrices independent from the actual rotation.
In view of (2.1), we dene the following rotational matrices, which rotate about the axis
specied in the respective index, e.g.
 
1 0 0
Tx =  0 cos(α) sin(α) 
0 − sin(α) cos(α)

decribes a rotation about the x-axis. Rotations about the y - and z -axis are expressed by
 
cos(α) 0 − sin(α)
Ty =  0 1 0 
sin(α) 0 cos(α)

and
 
cos(α) sin(α) 0
T z =  − sin(α) cos(α) 0  .
0 0 1
2.8. Transformations between Coordinate Frames 17

In case we perform several rotations, the sequence of the individual rotations is of special
importance. If we rst rotate about the x-axis, secondly about the y -axis and nally about
the z -axis, we get the transformed vector
vb = Tz · Ty · Tx · va = T f · va
st rotation
|{z} |{z}
rd rotation
|{z}
3 nd rotation
2 1

with T f = T z · T y · T x . Note that


T f = T z · T y · T x 6= T x · T y · T z .

Mathematically this stems from the non-commutativity of the matrix product (A · B 6=


B · A). Whenever working with transformation/rotation matrices, the sequence of rotations
has to be explicitly considered. Figure 2.13 illustrates the dierent nal attitudes when
changing the sequence of rotations resulting in completely dierent nal attitudes of the
aircraft.

−90◦ about the x-axis +90◦ about the y -axis

+90◦ about the y -axis −90◦ about the x-axis

Figure 2.13.: Dependence of the attitude on the sequence of rotations


18 2. Coordinate Frames

2.8.2. Transformations between North-East-Down and Body-Fixed


Frame
A vector expressed in the north-east-down frame can be transformed to the body-xed
frame by means of the Euler angles. These are the roll or bank angle Φ, the pitch angle
θ and the yaw angle Ψ. The sequence of rotations is dened within an industrial norm
(aerospace industry DIN 9300, automobile industry: DIN ISO 8855). In order to form the
transformation matrix from the north-east-down frame to the body-xed frame, the sequence
of rotation is
1. Rotate about the zn -axis by the yaw angle Ψ
2. Rotate about the modied y -axis by the pitch angle θ
3. Rotate about the modied x-axis by the roll angle Φ
Given a vector v n in the north-east-down frame, it's transformed version reads
     
1 0 0 cos θ 0 − sin θ cos Ψ sin Ψ 0
vb =  0 cos Φ sin Φ  ·  0 1 0  ·  − sin Ψ cos Ψ 0  v n
0 − sin Φ cos Φ sin θ 0 cos θ 0 0 1
st rotation
| {z } | {z } | {z }

3 rd rotation 2 nd rotation 1

cos Ψ cos θ sin Ψ cos θ − sin θ
=  cos Ψ sin θ sin Φ − sin Ψ cos Φ sin Ψ sin θ sin Φ + cos Ψ cos Φ cos θ sin Φ  v n
cos Ψ sin θ cos Φ + sin Ψ sin Φ sin Ψ sin θ cos Φ − cos Ψ sin Φ cos θ cos Φ
= T bn · v n . (2.3)
Inversely, transforming a vector from the body-xed frame in the north-east-down frame is
accomplished by means of
 T
v n = T nb · v b = T bn · vb .

2.8.3. Transformations between Aerodynamic and Body-Fixed Frame


In order to transform a vector expressed in the aerodynamic-frame in the body-xed frame,
the sequence of rotation is
1. Rotate about the za -axis by −βa
2. Rotate about the modied y -axis by the angle of attack αa
Given a vector v a in the aerodynamic frame, it's transformed version reads
   
cos αa 0 − sin αa cos βa − sin βa 0
vb =  0 1 0  ·  sin βa cos βa 0  va
sin αa 0 cos αa 0 0 1
st rotation
| {z } | {z }

2 nd rotation 1

cos αa cos βa − cos αa sin βa − sin αa
= sin βa cos βa 0  va
sin αa cos βa − sin αa sin βa cos αa
= T ba · v a
2.8. Transformations between Coordinate Frames 19

In order to transform a vector given in the body-xed frame in the aerodynamic frame, we
have to compute
 T
v a = T ab · v b = T ba · vb . (2.4)

2.8.4. Transformations between North-East-Down and Kinematic


Frame
In order to transform a vector expressed in the north-east-down-frame in the kinematic
frame, the sequence of rotation is

1. Rotate about the zn -axis by ightpath azimuth angle χk

2. Rotate about the yk -axis by the ightpath inclination angle γk .

Given a vector v n in the north-east-down frame, it's transformed version reads


   
cos γk 0 − sin γk cos χk sin χk 0
vk =  0 1 0  ·  − sin χk cos χk 0  vn
sin γk 0 cos γk 0 0 1
st rotation
| {z } | {z }

2 nd rotation 1

cos γk cos χk cos γk sin χk − sin γk
=  − sin χk cos χk 0  vn
sin γk cos χk sin γk sin χk cos γk
= T kn · v n . (2.5)

In order to transform a vector given in the kinematic frame into the north-east-down frame,
we compute
 T
v n = T nk · v k = T kn · vk .

2.8.5. Transformations between Kinematic and Body-Fixed Frame


A vector expressed in the kinematic frame can be transformed to the body-xed frame by
means of the sequence

1. Rotate about the xk -axis by the ightpath bank angle µk

2. Rotate about the modied z -axis by the negative ightpath angle of sideslip −βk

3. Rotate about the modied y -axis by the ightpath angle of attack αk


20 2. Coordinate Frames

Given a vector v n in the north-east-down frame, it's transformed version reads


     
cos αk 0 − sin αk cos βk − sin βk 0 1 0 0
vb =  0 1 0  ·  sin βk cos βk 0 · 0 cos µk sin µk  v k
sin αk 0 cos αk 0 0 1 0 − sin µk cos µk
st rotation
| {z } | {z } | {z }

3 rd rotation 2 nd rotation 1
cos αk cos βk − cos αk sin βk cos µk + sin αk sin µk
= sin βk cos βk cos µk
sin αk cos βk − sin αk sin βk cos µk − cos αk sin µk

− cos αk sin βk sin µk − sin αk cos µk
cos βk sin µk  vk
− sin αk sin βk sin µk + cos αk cos µk
= T bk · v k . (2.6)
Inversely, transforming a vector from the body-xed frame into the north-east-down frame
is accomplished employing
 T
v k = T kb · v b = T bk · vb .

Note that for several derivations carried out later, we consider a kinematic frame with
µk = 0.

2.9. Successive Application of Transformation Matrices


The transformations discussed above can also be applied in a successive fasion. As an
example we consider the transformation between the north-east-down and the body-xed-
frame. Knowing the Euler-angles between these two frames, this transformation can be
computed in a straighforward manner by means of (2.3)
v b = T bn · v n .

Alternatively, the transformation can be carried out by rst applying the transformation
from the north-east-down frame to the kinematic frame (2.5) followed by the transformation
from the kinematic frame to the body-xed frame (2.6). So in the rst step we compute
v k = T kn · v n

and insert v k in
v b = T bk · v k = T bk · T kn · v n .

Comparing the direct transformation applying the Euler-angles with the suksessive trans-
formations we note that
T bn = T bk · T kn

holds. In a similar manner, we can also derive the transformation matrix T an which trans-
forms a vector given in the north-east-down frame into the aerodynamic frame. To this end,
2.10. Dierentiation of Vectors with Rotating Coordinate Frames 21

we rst transform a vector v n given in the north-east-down frame in the body-xed frame
by means of (2.3)
v b = T bn · v n

and then apply the transformation between the body-xed frame and the aerodynamic
frame. Afterwards we transform the result in the aerodynamic frame by means of (2.4)
 T
v a = T ab · T bn · v n = T ba · T bn · v n

and end up with the transformation matrix


 T
T an = T ab · T bn = T ba · T bn .

2.10. Dierentiation of Vectors with Rotating Coordinate


Frames
Special care must be taken when performing time-dierentiation of vectors. We consider
Figure 2.14, where we have the inertial frame denoted by the index I and a second coordinate
frame denoted by the index r. This frame is rotating with respect to the inertial frame with
r (indicated by upper index Ir ), where the lower index r indicates that the
the rotation ω Ir
vector is expressed in the r-frame. In order to compute the absolute time derivative of the
vector rP,r we rst express rP,r by means of it's unit vectos
r RP,r = rRP,r,x ex,r + rRP,r,y ey,r + rRP,r,z ez,r

and then compute the derivative


   
d d
r RP,r = [rRP,r,x ex,r + rRP,r,y ey,r + rRP,r,z ez,r ]
dt I dt I
= [ṙRP,r,x ex,r + ṙRP,r,y ey,r + ṙRP,r,z ez,r ]
+ [rRP,r,x ėx,r + rRP,r,y ėy,r + rRP,r,z ėz,r ]

where ex,r , ey,r and ez,r refer to the unit vectors. The rst parenthesis refers to the relative
time derivative, which is noticed by an observer within the frame r. The second parenthesis
refers to the change of the unit vectors due to the rotation of the frame r. This change of
unit vectors can be expressed by means of the cross product, leading to
   
d d
r RP,r = r RP,r + ω Ir
r × r RP,r .
dt I dt r

Abbreviating
 
d
ṙ RB,r = ṙ rRB,r = r RB,r ,
dt r
 
d
ṙ IRB,r = r RB,r
dt I
22 2. Coordinate Frames

zr
zI P
r RP,r yr

r P,I
R
xr

r R,I

0
yI

xI
Figure 2.14.: Dierentiation of vectors with inertial-frame I and coordinate frame of relative
motion r.

we nally obtain
ṙ IRB,r = ṙ RB,r + ω Ir
r × r RP,r . (2.7)
Of course, the above derivative can also be expressed in any other coordinate frame, e.g. we
could also express the derivate in the ECEF frame which yields
ṙ IRB,e = ṙ RB,e + ω Ir
e × r RP,e .

So please note, the direct dierentiation


 
d
ṙ b = ṙ bb = rb
dt b

is only applicable if the dierentiation is performed within the own coordinate frame. Oth-
erwise a Coriolis-term (i.e. the cross product in equation (2.7) ) has to be considered.

2.10.1. Absolute Velocity


Now, we consider a point rP,e located on an airframe expressed by the sum of vectors
r P,e = r R,e + r RP in the earth centered earth xed frame as shown in Figure 2.15, where
r R,e denotes the vector of a reference point R on the airframe. Note that the earth centered
earth xed frame rotates with ω Ie e about the zI axis of the earth centered inertial frame
denoted as I -frame. First we decompose v P,I
v IP,e = v IR,e + v IRP,e
2.10. Dierentiation of Vectors with Rotating Coordinate Frames 23

P
r RP,e
R

r R,e
r P,e
xn
yn
zI
zn

ω Ie
e

µ yI
λ

xI

Figure 2.15.: Absolute velocity of a point P on an airframe.

and derive the components v IR,e and v IRP,e separately. Referring to the rst component we
compute
 
d
v IR,e =
e
r R,e = (ṙ R )e + ω Ie Ie
e × r R,e = v R,e + ω e × r R,e (2.8)
dt I

e.g. the sum of the velocity of the point R in the E -frame and the Coriolis term due to the
rotation of the ECEF-frame with respect to the I -frame.
Dierentiating the vector rIRP,e with respect to the earth xed inertial frame we get
 
d e
v IRP,e = r IRP,e = (ṙ RP )e + ω Ib
e × r RP,e ,
dt I (2.9)
= ω Ib
e × r RP,e .

The direct term (ṙRP )be is zero since we assume the airframe to be a rigid body, such that
the vector between the reference point R and P is constant. Then, we obtain the absolute
velocity
e
v IP,e = (ṙ R )e + ω Ie Ib
e × r RP,e + ω e × r RP,e
(2.10)
= v R,e + ω Ie Ib
e × r R,e + ω e × r RP,e .

The component v R,e = (ṙR )ee is denoted as track-velocity being the velocity of the reference
point R with respect to the earth surface. This is the velocity measured by a radar station
on the earth's surface. The rotational rate ω Ib
e = ω e + ω e + ω e is the sum of the earth's
Ie en nb

turn rate ω e , the transport rate ω e and the rotation ω e of the airframe with respect
Ie en nb
24 2. Coordinate Frames

to the north-east-down frame. Under the assumption of a at (ω ene = 0) and non-rotating
earth (ω Ie
e = 0) this simplies to ω e = ω e . Then (2.10) reduces to
Ib nb

e
v IP,e = (ṙ R )e + ω nb
e × r RP,e

= v R,e + ω nb
e × r RP,e .

2.10.2. Absolute Acceleration


In order to compute the absolute acceleration with respect to the inertial frame, we have to
take the derivative of (2.10)

d
aIP,e = v P,e
dt
 I   (2.11)
d d
= v R,e + v RP,e .
dt I dt I
To this end we rst consider (2.8) and compute the absolute acceleration
       
d d d d
v R,e = v R,e + ω Ie
e × r R,e + ω Ie
e × r R,e
dt I dt I dt I dt I
= v̇ R,e + ω Ie Ie Ie
(2.12)

e × v R,e + ω e × ṙ R,e + ω e × r R,e

= v̇ R,e + ω Ie Ie Ie

e × v R,e + ω e × v R,e + ω e × r R,e

= v̇ R,e + 2 ω Ie Ie Ie

e × v R,e + ω e × ω e × r R,e ,

where we employed the fact, that the absolute derivative of the turn rate of the earth is
constant, i.e.
 
d
ω Ie
e = 0.
dt I

Secondly, we employ (2.9) and again compute the absolute acceleration


     
d d d
v RP,e = ω Ib
× r RP,e + e × r RP,e , ω Ib
e
dt I dt I I dt (2.13)
 
= ω̇ Ib Ib Ib Ib Ib

e + ω e × ω e × r RP,e + ω e × ṙ RP,e + ω e × r RP,e .

Since we have that the cross product of parallel vectors is zero, we note that
ω Ib Ib
e × ω e = 0.

If we apply the rigid body assumption, equation (2.13) further simplies and we obtain
 
d
v RP,e = ω̇ Ib Ib Ib

e × r RP,e + ω e × ω e × r RP,e .
dt I

Now, we insert (2.12) and (2.13) into (2.11) and get


Ib
aIP,e = v̇ R,e + 2 ω Ie Ie Ie

e × v R,e + ω e × ω e × r R,e + ω̇ e × r RP,e
(2.14)
+ ω Ib Ib

e × ω e × r RP,e .
2.10. Dierentiation of Vectors with Rotating Coordinate Frames 25

The rst cross-product in the above equation stems from the Coriolis acceleration due to
the turn rate of the earth, the second cross-product represents the centrifugal acceleration
due to the rotation of the earth and the other two cross-products are relative accelerations
due to the turn-rate of the aircraft with respect to the earth xed inertial frame.
Since the equations of motion are commonly stated within the body-xed frame, we need a
representation of (2.14) in the respective coordinate frame. Being aware of the fact that we
employed the abbreviation
 
d
v̇ R,e = v̇ eR,e = v R,e
dt e

rewriting (2.14) results in


 
d
aIP,b = v R,b + 2 ω Ie Ie Ie

b × v R,b + ω b × ω b × r R,b
dt e
+ ω̇ Ib Ib Ib

b × r RP,b + ω b × ω b × r RP,b .

Now, replacing
 
d
v R,b = v̇ R,b + ω eb
b × v R,b
dt e

in the above equation we end up with


aIP,b = v̇ R,b + ω eb Ie Ie Ie

b × v R,b + 2 ω b × v R,b + ω b × ω b × r R,b
(2.15)
+ ω̇ Ib Ib Ib

b × r RP,b + ω b × ω b × r RP,b .
3. Equations of Motion
In this chapter we derive the dynamic equations describing the motion of an air vehicle
which constitute the formal basis for designing ight-controllers. The equations of motion
are discribed by means of translational, rotational, attitude and positional states summing
up to 12 state variables in total.

3.1. Kinematic Equations


Depending on the choice of state varbiables, there are dierent ways to express the equations
of motion. One choice is the kinematic velocity vector
 T
v k,b = uk,b vk,b wk,b

of the aircraft's reference point (usually, the current center of gravity is used as reference
point) with respect to the earth surface (ECEF frame) expressed in the body-xed frame.
Equivalently, the translational states
 T
xT = Vk αk βk
q
can be employed, where Vk = |v k,b | = u2k,b + vk,b
2 + w 2 is the absolute speed and
k,b
 
wk,b
αk = arctan ,
uk,b
!
vk,b
βk = arcsin p ,
uk,b 2 + wk,b e

which is illustrated in Figure 3.1. The rotational states can be constituted by either the
kinematic turn-rates of the airframe with respect to the earth centered inertial frame (I -
frame) expressed in the body-frame b
T
ω Ib pIb Ib Ib

k,b = k,b qk,b rk,b
or the kinematic turn rate with respect to the north-east-down frame n expressed in the
body-xed frame
T
ω nb pnb nb nb

k,b = k,b qk,b rk,b .
The attitude can be either described employing the Euler-angles Φ, θ, Ψ or the quaternion-
representation q0 , q1 , q2 , q3 . The position is usually represented either in longitude, latitude
and height λ, µ, h or as positions x, y , z either in the north-east-down or ECEF frame.
The states discussed above constitute the rigid body model of the airplane, which is de-
scribed by 12 state variables. Of course, in case the actuators, propulsion systems, sensors

26
3.1. Kinematic Equations 27
xb
vk,b
uk,b
αk wk,b

xk

βk

yb

zb

Figure 3.1.: Kinematic angle of attack and sideslip.

or structural modes are also modelled, the number of state variables will become even higher.

Basis for the derivation of the translational equations of motions is Newton's second law
applied to a point P on the airframe in the body-xed frame, which reads
 
d X
ṗIP,b = pP,b = F i,b ,
dt I i

where pP,b = m · v P,b refers to the impulse. Taking the time derivative we obtain
 
d X
ṗIP,b = pP,b = F i,b ,
dt I i
 
d X
⇔ (m · v P,b ) = F i,b ,
dt I i
   
d d X
⇔ v IP,b · m + m· v P,b = F i,b .
dt I dt I i

Since the mass-decrease proceeds comparably slow we approximate dm/dt = ṁ ≈ 0 (as-


sumption of a quasi-stationary mass) and get
 
d X
m· v P,b = F i,b ,
dt I i
X
⇔ m · aIP,b = F i,b .
i
28 3. Equations of Motion

Inserting (2.15) we obtain


m · v̇ R,b + ω eb Ie Ie Ie

b × v R,b + 2 ω b × v R,b + ω b × ω b × r R,b
 X
+ω̇ Ib Ib Ib
b × r RP,b + ω b × ω b × r RP,b = F i,b .
i

If we further assume, that the reference point R is the centre of gravity, we have rRP,b = 0
and the above equation is simplied. We end up with
X
m· v̇ R,b + ω eb Ie Ie Ie

b × v R,b + 2 ω b × v R,b + ω b × ω b × r R,b = F i,b .
i

For the purpose of designing ight controllers it is convenient to employ the following sim-
plications:
• Non-rotating earth ω Ie
b =0

b = 0.
• at earth, zero transport rate ω en
Taking these simplications into account, we have that
ω eb nb en nb
b = ωb + ωb = ωb

and obtain
 X
m · v̇ R,b + ω nb
b × v R,b = F i,b . (3.1)
i

In order to derive the rotational equations of motion, we employ the principle of angular
momentum
 
I d X
L̇b = Lb = M i,b .
dt I i

with Lb = Iω Ib
b . Taking the derivative, we get
     
d d d X
L= Iω Ib
b +I ω Ib
b = M i,b
dt I dt I dt I i

which simplies under the assumption of a quasi-stationary inertia-tensor, i.e. d/dtI = İ =


0 and obtain
 
d  X
dt
L = I ω̇ Ib Ib Ib
b + ω b × Iω b = M i,b . (3.2)
I i

Since the turn-rate of the earth ω Ie


b and the transport-rate ω b are constant and ω b =
en Ib

ω b + ω b + ω b holds, we get ω̇ b = ω̇ b . Under the assumption of a at and non-rotating


Ie en nb Ib nb

earth, we also have ω Ib


b = ω b and (3.2) becomes
nb

 X
I ω̇ nb nb nb
b + ω b × Iω b = M i,b . (3.3)
i
3.1. Kinematic Equations 29

Summarizing and resorting (3.1) and (3.3) we get


1 X
v̇ R,b = − ω nb (3.4)

b × v R,b + F i,b ,
m i

and
" #
(3.5)
X
−1
ω̇ nb −ω nb Iω nb

b =I · b × b + M i,b .
i

Alternative Representation of the Translational States


There exists an alternative representation of the translational states besides equation (3.4).
In general, employing transformations we could obtain an innite number of dierent repre-
sentations. In what follows, we will focus on a quite
q common representation which employs
2 + w 2 , the kinematic angle of
the absolute value of the velocity Vk = |v k,b | = u2k,b + vk,b k,b
attack αk and sideslip βk . In order to derive this representation, we consider
 
d
v̇ R,b = v̇ bR,b = v R,b
dt b

and we rewrite (3.4) expressed in the kinematic frame


1 X
v̇ bR,k + ω nb (3.6)

k × v R,k = F i,k .
m i

Due to the fact, that in the kinematic frame v R,k = [VK 0 0]T holds, we rephrase
  
 
p Vk
ω nb b
= T kb ·  q  ×  0  .

k × v R,k
r 0

Employing the transformation matrix


   
cos αk 0 − sin αk cos βk − sin βk 0
T bk =  0 1 0  ·  sin βk cos βk 0 
sin αk 0 cos αk 0 0 1
 
cos αk cos βk − cos αk sin βk − sin αk
= sin βk cos βk 0 
sin αk cos βk − sin αk sin βk cos αk
or
 T
 T cos αk cos βk − cos αk sin βk − sin αk
T kb = T bk = sin βk cos βk 0 
sin αk cos βk − sin αk sin βk cos αk
 
cos αk cos βk sin βk sin αk cos βk
=  − cos αk sin βk cos βk − sin αk sin βk 
− sin αk 0 cos αk
30 3. Equations of Motion

we obtain
    
p Vk
ω nb = T kb ·  q  ×  0 

k × v R,k
r 0
  (3.7)
0
= VK · (r cos(αk ) − p sin(αk )) .
VK · (p cos(αk ) sin(βk ) − q cos(βk ) − r sin(αk ) sin(βk ))

In addition we rephrase
v̇ bR,k = v̇ kR,k + ω bk
k × v R,k

with v̇ kR,k = [V̇K 0 0]T and v R,k = [VK 0 0]T . The term ω bkk was derived based on the
denition of the rotated kinematic frame. In order to transform a vector from the kinematic
frame into the body frame, the sequence of rotation is
1. Rotate about the zk axis by −βk
2. Rotate about the new y -axis by αk
Deriving ω bk
k , e.g. the turn rate of the kinematic frame with respect to the body frame, the
sequence of rotation has to be reversed. To this end, we rst rotate about the yb -axis by
−αk / −α̇k and then rotate with βk / β̇k about the new z -axis. These two rotations have
to be represented in the kinematic frame
       
0 cos(βk ) sin(βk ) 0 0 − sin(βk )α̇k
ω bk
k =  0  +  − sin(βk ) cos(βk ) 0  ·  −α̇k  =  − cos(βk )α̇k  . (3.8)
β̇k 0 0 1 0 β̇k

Note that the second rotation was performed about the already rotated zk -axis, e.g. no
transformation matrix must be applied. On the contrary, the rst rotation has to be trans-
formed into the kinematic frame by means of the second rotation. Employing (3.8), we
obtain
 
V̇k
v̇ bR,k = v̇ R,k + ω bk
k × v R,k = β̇k Vk  (3.9)
α̇k cos(βk ) Vk

and inserting the results (3.7) and (3.9) in (3.6) we get


   
V̇k 0
 β̇k Vk + VK · (r cos(αk ) − p sin(αk )) 
α̇k cos(βk ) Vk VK · (p cos(αk ) sin(βk ) − q cos(βk ) − sin(αk ) sin(βk ))
 
V̇k
= 1
X
= β̇k Vk + VK · (r cos(αk ) − p sin(αk )) F i,k .
m i
α̇k cos(βk ) Vk + VK · (p cos(αk ) sin(βk ) − q cos(βk ) − r sin(αk ) sin(βk ))
3.1. Kinematic Equations 31

Finally, substituting i F i,k = [Xk Yk Zk ]T and solving the above equations for V̇k , β̇k and
P
α̇k , we obtain the following three equations for the new translational states
Xk
V̇k = ,
m
Yk
β̇k = + (p sin(αk ) − r cos(αk )) ,
m Vk
Zk
α̇k = + q − tan (βk ) · (p cos(αk ) + r sin(αk )) .
m Vk cos(βk )
Concluding the derivations of the alternative translational states, it should be noted, that
in the absence of wind, the kinematic frame and therefore αk and βk coincide with the
aerodynamic frame and αa and βa . In this case, we write
Xk
V̇k = ,
m
Yk
β̇ =
m Vk
+ (p sin(α) − r cos(α)) , (3.10)
Zk
α̇ = + q − tan (β) · (p cos(α) + r sin(α))
m Vk cos(β)
with αk = αa = α and βk = βa = β .

Position Update Equations


Now, we complete the equations of motion by deriving the dierential equation for the
positional states. From (3.4) we get the v R,b for the center of gravity (e.g. the reference
point) expressed in the body-xed frame. The position on the other hand is usually stated
in the north-east-down frame.
Considering a at and non-rotating earth or considering the dynamics only locally (within
a local north-east-down-frame) v R,b = [uk,b vk,b wk,b ]T must be transformed in the north-
east-down frame by means of the transformation matrix (2.3) resulting in
 
ẋn  T
 ẏn  = T nb · v R,b = T bn · v R,b
żn

cos Ψ cos θ
=  cos Ψ sin θ sin Φ − sin Ψ cos Φ
cos Ψ sin θ cos Φ + sin Ψ sin Φ
T  
sin Ψ cos θ − sin θ uk,b
sin Ψ sin θ sin Φ + cos Ψ cos Φ cos θ sin Φ  ·  vk,b  .
sin Ψ sin θ cos Φ − cos Ψ sin Φ cos θ cos Φ wk,b
On the other hand, if we assume a rotating earth and the WGS1984 geoid, we make use of
the WGS1984 coordinates. In this case, the position update equation reads
   vk,n 
λ̇ (Nµ +h) cos µ
 µ̇  =  uk,n 
Mµ +h
ḣ −wk,n
32 3. Equations of Motion

with
a
Nµ = p ,
1 − e2 sin2 µ
1 − e2
M µ = Nµ · p ,
1 − e2 sin2 µ

f (2 − f ) = 0.0818, f = a−b
a = 0.0034, the semi-major a = 6.378137 · 10 m and the
p 6
e=
semi-minor axis b = 6.3567523142 · 10 m and
6

     
uk,n uk,b uk,b
n n T
 vk,n  = T b ·  vk,b  = (T b ) ·  vk,b  .
wk,n wk,b wk,b

Attitude update equations


In order to derive dierential equation for the euler angles Ψ, θ and Ψ in dependence on the
rotational rates
(3.11)
T
ω nb

b = p q r

we have to remember the sequence of rotation, which is discussed in Section 2.8.2. A vector
in the north-east-down frame is transformed to the body0 frame by rst rotating with Ψ̇
about the zn axis, then we rotate by θ̇ about the new y axis and nally we rotate with
Φ̇ about the new x axis which is in fact the xb -axis in the body-xed frame. The nal
00

rotational rate (3.11) can be derived summing the three previously adressed rotations
(3.12)
0 0 00 00
ω nb n b
b = ω Ψ,b + ω θ,b + ω Φ,b

but this summation has to be carried out within the same reference frame. In order to derive
the rst rotation [0 0 Ψ̇]T in the body-xed frame, the second and third rotations have to
be considered, leading to
       
1 0 0 cos θ 0 − sin θ 0 − sin(Φ) Ψ̇
0
ω nΨ,b = 0 cos Φ sin Φ  ·  0 1 0 · 0 = sin(Φ) cos(θ) Ψ̇  .
0 − sin Φ cos Φ sin θ 0 cos θ Ψ̇ cos(Φ) cos(θ) Ψ̇

For the second rotation [0 θ̇ 0]T , the third rotation has to be considered to correctly end up
in the body-xed frame, which is
     
1 0 0 0 0
0 00
ω θ,b = 0 cos Φ sin Φ  ·  θ̇  =  cos(Φ) θ̇  .
0 − sin Φ cos Φ 0 − sin(Φ) θ̇

Since the third rotation is performed about the already rotated xb -axis, we directly obtain
 
00
Φ̇
b
ω Φ,b =  0 .
0
3.1. Kinematic Equations 33

Inserting the above results into (3.12) nally we derive


   
p Φ̇ − sin(Φ) Ψ̇
ω nb
b =  q  =  sin(Φ) cos(θ) Ψ̇ + cos(Φ) θ̇ 
r cos(Φ) cos(θ) Ψ̇ − sin(Φ) θ̇
    (3.13)
1 0 − sin(Φ) Φ̇
= 0 cos(Φ) sin(Φ) cos(θ)  ·  θ̇  .
0 − sin(Φ) cos(Φ) cos(θ) Ψ̇

Multiplying both sides from the left with the inverse of the matrix above, we get the desired
dierential equation for the euler angles which reads
1 sin(Φ) tan(θ) cos(Φ) tan(θ)
     
Φ̇ p
 θ̇  =  0 cos(Φ) − sin(Φ)  ·  q . (3.14)
sin(Φ) cos(Φ)
Ψ̇ 0 cos(θ) cos(θ)
r

Note, that the above equation has a singularity for θ = ±π/2. In order to circumvent these
singularities, we might employ quaternions, which are discussed in the next section.

Attitude Representation by means of Quaternions


The attitude dierential equation (3.14) has a singularity at θ = ±π/2. For a closer inves-
tigation we consider the rotational matrix between the north-east-down and the body-xed
frame, which is represented by
     
1 0 0 cos θ 0 − sin θ cos Ψ sin Ψ 0
T bn =  0 cos Φ sin Φ  ·  0 1 0  ·  − sin Ψ cos Ψ 0  .
0 − sin Φ cos Φ sin θ 0 cos θ 0 0 1

Inserting θ = π/2, we obtain


     
1 0 0 0 −1 0 cos Ψ sin Ψ 0
T bn =  0 cos Φ sin Φ  ·  0 0  ·  − sin Ψ cos Ψ 0 
1
0 − sin Φ cos Φ 1 00 0 0 1
 
0 0 −1
=  sin Φ cos Ψ − cos Φ sin Ψ cos Φ cos Ψ + sin Φ sin Ψ 0 
cos Φ cos Ψ + sin Φ sin Ψ cos Φ sin Ψ − sin Φ cos Ψ 0
 
0 0 −1
=  sin (Φ − Ψ) cos (Φ − Ψ) 0 
cos (Φ − Ψ) − sin (Φ − Ψ) 0

and realize, that the resulting rotational matrix is not unique: There is an innite number
of combinations of Φ and Ψ constituting the same rotational matrix. This eect is known
as Gimbal-lock and can be avoided employing quaternions for attitude representation.
A quaternion is the extension of complex numbers
q0 + i q1 + j q2 + k q3
34 3. Equations of Motion

with real numbers q0 , q1 , q2 , q3 . Commonly, a quaternion is represented by the scalar part


qs = q0 and a vector part q v = [q1 q2 q3 ]T , so we denote a quaternion by

q = (qs , q v ).

Two quaternions can be added elementwise, i.e.


q 1 + q 2 = (qs,1 , q v,1 ) + (qs,2 , q v,2 ) = (qs,1 + qs,2 , q v,1 + q v,2 ),

where adding the vector parts follows the rules of vector addition.
The multiplication of two quaternions can be derived taking into account that jk = i,
kj = −i, ik = −j and ki = j . In a shorthand notation, the quaternion product is dened as

q 1 · q 2 = (qs,1 , q v,1 ) · (qs,2 , q v,2 )


(3.15)
= qs,1 qs,2 − q T

v,1 · q v,2 , q v,1 × q v,2 + qs,1 · q v,2 + qs,2 · q v,1 ,

where cross product follows the rules from vector calculus. Please note that the quaternion-
product is non-commutative q 1 · q 2 6= q 2 · q 1 . For the multiplication of a quaternion and a
scalar c
c q = (c qs , c q v )

holds. The conjugate of a quaternion is dened by


q ∗ = (qs , q v )∗ = (qs , −q v )

and the norm of a quaternion is given by


q
kqk = 2 + q2 + q2 .
qs2 + qv,1 v,2 v,3

Finally, the inverse quaternion is dened by


q∗
q −1 = .
kqk2
In order to represent rotations, we focus on so called unit-quaternions with kqk = 1, which
can be written as
    
θ θ
q = (qs , q v ) = cos , v sin .
2 2
In this representation, we can interpret the vector part as axis of rotation and θ as angle of
rotation as illustrated in Figure 3.2. A vector r is rotated by the angle θ about the axis of
rotation dened by q v by the operation
(0, r 0 ) = q · (0, r) · q −1 = q · (0, r) · q ∗ ,

where we used the fact that for rotational quaternions kqk = 1 hold. Employing the above
equation, we could directly transform a vector from one frame to another one, if we chose
the rotational quaternion between the respective frames, i.e, with q = q nb .
(0, xn ) = q nb · (0, xb ) · q nb −1 = q nb · (0, r) · q nb ∗ .
3.1. Kinematic Equations 35

Quaternions can also be employed to replace the attitude dynamics (3.14) by


 
−q1 −q2 −q3  
p
1 1 q0 −q3 q2 
q̇ = q · (0, ωbnb ) =  (3.16)

 ·  q .
2 2  q3 q0 −q1 
r
−q2 q1 q0
Evaluating this equation we have to ensure, that kqk = 1 holds. To this end we compute
κ = 1 − q02 − q12 − q22 − q32 and modify (3.16)
   
−q1 −q2 −q3 q0 p
1 1 q0 −q3 q2 q1   q
q̇ = q · (0, ωbnb ) = 
 
· ,
2 2  q3 q0 −q1 q2   r 
−q2 q1 q0 q3 2kκ
where k is chosen such that k · T ≤ 1 where T is the computational stepsize. Finally, the
computations for deriving a quaternion from a set of Euler angles and vice versa read
           
Ψ θ Φ Ψ θ Φ
q0 = cos cos cos + sin sin sin ,
2 2 2 2 2 2
           
Ψ θ Φ Ψ θ Φ
q1 = cos cos sin + sin sin cos ,
2 2 2 2 2 2
           
Ψ θ Φ Ψ θ Φ
q2 = cos sin cos + sin cos sin ,
2 2 2 2 2 2
           
Ψ θ Φ Ψ θ Φ
q3 = sin cos cos + cos sin sin ,
2 2 2 2 2 2
and
 
2(q1 q2 + q0 q3 )
Ψ = tan−1 ,
2
q0 + q12 − q22 − q32
θ = sin−1 (−2(q1 q3 − q0 q2 )) ,
 
2(q2 q3 + q0 q1 )
Φ = tan−1 .
q02 − q12 − q22 + q32

qv

r
θ

Figure 3.2.: Interpretation of a rotational quaternion: The vector part q v represents the axis
of rotation (red) and θ is the angle of rotation by which the vector r is rotated.
36 3. Equations of Motion

Also, the rotation matrix from the north-east-down to the body-xed frame can be expressed
by means of quaternions
q02 + q12 − q22 − q32
 
2(q1 q2 + q0 q3 ) 2(q1 q3 − q0 q2 )
b
Tn =  2(q1 q2 − q0 q3 ) q02 − q12 + q22 − q32 2(q2 q3 + q0 q1 )  . (3.17)
2(q1 q3 + q0 q2 ) 2(q2 q3 − q0 q1 ) q0 − q12 − q22 + q32
2

3.2. Forces and Moments


In this section we refer to the forces i F i,k = [Xk Yk Zk ]T or moments i M i,b =
P P
[Lb Mb Nb ]T in (3.4), (3.5) and (3.10), respectively. Aerodynamic and propulsion forces
constitute the external forces enabling an air-vehicle to overcome the gravitational force and
raise up in the air. By means of rudders and aps these aerodynamic forces can be aected
to change the ight path or the aircraft's attitude. In what follows, we will briey discuss
the physics behind aerodynamic lift, drag and propulsion force which is required for control-
ling an airplane and to derive the dierential equations describing the movement of aircrafts.

3.2.1. Gravitational Force


A signicant external force acting on the aircraft constitutes the gravitational force. In the
north-east-down-frame the height-dependent gravitational force can be derived by means of
 
2 0
g0 RE
F g,n = m· ·  0 
(RE + h)2
1

with g0 = 9.80665m/s2 being the gravitational acceleration at sealevel and RE being the
earth's radius in m. Note that there exist even more elaborated models taking into account
the geoid shaped earth but for most applications, the equation above is quite sucient.
Depending on which representation of the translational equation of motions is employed
F g,n has to be transformed into the kinematic by means of (2.5)
   
Xg,k 2 − sin γk
g R
0 E
F g,k =  Yg,k  = T kn · F g,n = m · · 0 
(RE + h)2
Zg,k cos γk

or into the body-xed frame by means of (2.3)


   
Xg,b 2 − sin θ
g0 RE
F g,b =  Yg,b  = T bn · F g,n = m · ·  cos(θ) sin(Φ)  .
(RE + h)2
Zg,b cos(θ) cos(Φ)

3.2.2. Aerodynamic Forces and Moments


In this Section, we briey discuss the generation of aerodynamic forces Xa , Ya , Za and
moments La , Ma and Na which are generated by the complete airframe. Nevertheless,
before deriving these forces and moments for the complete airframe, we will discuss the
aerodynamic eects solely generated by an airfoil.
3.2. Forces and Moments 37

c
Figure 3.3.: Wing chord c and thickness t of a wing prole

Aerodynamic lift is created by the incident ow of air on an airfoil. The relative speed
between the airframe and the surrounding air determines the creation of lift. The same
relative velocity and therefore the same aerodynamic eects are created either in the wind
tunnel where the airframe is static and the air is moving or when the airframe is moving
within the static air.
From a ight mechanic point of view, the speed of the aircraft's c.o.g.
va = vk − vw (3.18)
with v k being the kinematic speed of the aircraft's c.o.g. and v w being the wind speed
with respect to the earth constitutes the relative speed. Inside a wind tunnel with a non-
moving airframe we have v k = 0 and v a = −v w . Usually the airow within a wind tunnel
is specied by the speed vector u∞ , which is is dened in a distance to the airframe such
that it is unaected by the airframe and points in the direction of the airframe. Therefore,
u∞ = −v a = v w holds. Also for the turn rates an equation similar to (3.18) reads

ωa = ωk − ωw .

In the production of aerodynamic lift the parasitic production of aerodynamic drag is in-
evitable. From an energy based point of view, the drag reduces the energy of the air-vehicle
system, which has to be compensated either by potential energy (loss of height), by energy
from the aireld during gliding or by energy from the propulsion system (fuel energy).

Creation of Aerodynamic Lift


The creation of lift is due to the higher airspeed on the top of the wing compared with it's
bottom. This creates a higher pressure under the wing. Integrating this pressure dierence
over the wing-aera creates the overall lift
ρ
A= · V 2 · S · CA = q · S · CA ,
2 a
where ρ is the air-density, Va refers to the absolute value of the speed of the incident ow,
S refers to the wing area and CA is the dimensionless lift coecient which depends on the
wings geometry. Note that, due to the height-dependence of the air-density ρ, the lift is
height and speed-depedent. Commonly, q = ρ/2 · Va2 is abbreviated by the height and speed
dependent dynamic pressure q .
Next, we discuss the inuence of the angle of attack α on the lift coecient CA . Employing
the wing chord c and the wing's thickness t (See Figure 3.3) the dependency between the
aerodynamic lift coecient CA and the angle of attack α in the subsonic regime can be
derived by a combination of the characterists of an innite long planar wing and an innite
38 3. Equations of Motion

long curved wing as illustrated in Figure 3.4. While for the planar wing
CA = 2πα

holds with the line of attack being c/4 behind the leading edge. The curved wing produces
lift also for α = 0 with the line of attack at c/2. This lift depends on the curvature t/c, such
that
t
CA,α=0 = 4π
c
holds. Combining both results we obtain the dependency for a combined prole
 
t
CA = 2π α + 2 ,
c
which we can also represent employing the aerodynamic lift derivative
∂CA
CAα = = 2π
∂α
leading to
CA = CA,α=0 + CAα · α. (3.19)
Both parts of the coecient also generate a moment with respect to the leading edge given
by
 
ρ 2 1 1
M V = − · Va · S · c · CA,α=0 + CAα · α
2 2 4
  (3.20)
1 1
= −q · c · CA,α=0 + CAα · α .
2 4

In view of (3.20), we can also dene a dimensionless moment coecient


 
1 1
CmV = − CA,α=0 + CAα · α = Cmα=0 + Cmα α
2 4

The lift coecient CA is linear (e.g. the derivative CAα is constant) in a regime up to an
angle of attack of about 15◦ . For larger angles of attack, the airow is stripped o, causing

CA,curved
c/4 CA (α)
t
α

U∞ U∞ c/2
c

Figure 3.4.: Planar wing prole (left) and curved wing prole (right)
3.2. Forces and Moments 39

symmetric
CA stall area CA curvature

positiv
curvature
linear
regime
CA,α=0

αmax α α
negativ
curvature

Figure 3.5.: Linear regime and stall area of lift coecient CA (left) and inuence of the
curvature on the lift coecient (right)

lift A resulting pitching lift A


force moment
v α CP v α AC CP
xAC
xCP xCP
Figure 3.6.: Center of pressure(CP) (left) and aerodynamic center (AC) (right)

a drop in lift force with lift becoming even negative - this condition is referred to as stall.
This is illustrated in Figure 3.5.
For wings with a nite length, a pressure exchange takes place at the wing tips causing
air circulations which locally reduce the angle of attack. Behind the wing, a downwash is
generated which reduces the eective angle attack for the tailplane. In airframe design,
the wing geometry is chosen such that these eects are minimised. Before we discuss the
inuence of the Machnumber on the generation of aerodynamic lift, we rst introduce two
characteristic locations on a wing/airframe which inuence the dynamic characteristics of
an aircraft:
• center of pressure (CP): is the point where the resulting moment is zero and where
the resulting aerodynamic force engages the airframe, which can be devided up into
lift and drag. The location of the center of pressure depends on the angle of attack α.
• aerodynamic center (AC) sometimes reered to as neutral point: is the point where
the pitch moment is not changing in dependence of the angle of attack (CM α = 0). In
the subsonic case it is located at about 25% of the prole depth and in the supersonic
case it's located at about 50% of the prole depth.
The location of the aerodynamic center with respect to the pivot point aects the stability of
the airfoil. Figure 3.7 illustrates three dierent situations for an airfoil shape similar to that
40 3. Equations of Motion

pivot point in pivot point


front of AC after the AC

A B C α

pivot point
located in AC

Figure 3.7.: Moment generated by the airfoil in dependence of the pivot-point location

depicted in 3.6. In the rst case, the pivot point and the aerodynamic center coincide. Then
we get an equilibrium point A where the pitch moment is zero. If in case of a disturbance,
the angle of attack is increased the moment becomes negative so the airfoil tends to move
back into the equilibrium. In case a there is a decrease in the angle of attack, the generated
moment becomes positive again leading to a tendency to move back to the equilibrium point.
This behaviour characterizes a stable equilibrium.
In the second case, when the pivot point is located in front of the aerodynamic center, we
obtain the equilibrium point at B . Note that this is also a stable equilibrium. In contrast
to the previous situations, we obtain an unstable equilibrium C when the pivot point is
located behind the aerodynamic center. In this case an increase in the angle of attack due
to a disturbance causes a positive moment which again increases the angle of attack. This
characterizes an unstable equilibrium. We can infer, that a negative derivative ∂M/∂α
characterizes it's stability-properties.

Eect of Machnumber
Besides the dynamic pressure q and the angle of attack α the Machnumber M = Va /a with
a being the speed of sound, aects the lift generation. For lower Machnumbers (up to Mach
0.3) it's inuence can be neglected, for higher Machnumbers compressability eects have to
be considered.
In the subsonic regime, the pressure on the wing grow with growing Machnumber, leading
to an increase in CA and CAα . For M < 1 and the planar wing we have [3]
1 2π
CAα (M ) = √ · CAα(M <0.3) ≈ √
1−M 2 1 − M2
where (M < 0.3) refers to Machnumbers below 0.3. In the supersonic regime (M > 1) the
airow dramatically changes its characteristics causing shock pressures. The opening angle
of the Mach cone can be computed from
 
1
µ = arctan √
1 − M2
3.2. Forces and Moments 41

Figure 3.8.: Increasing the curvature by aps (left) and combined increased curvature and
wing area by means of a Fowler ap (right)

and the lift coecient is now only dependending on angle of attack and Machnumber,
CA = 4α tan (µ) .

In addition the lift is now engaging at the c/2 line instead of c/4 which is a signicant change
in the center of pressure which in turn aects the aerodynamic moment generation.

Flaps and Rudders


Flaps and rudders are the devices which are commonly used to control the movement and
attitude of an aircraft. By the extension of aps, the wing's curvature is extended leading
to an increase in lift as illustrated in Figure 3.8. In case Fowler aps are employed the wing
area is also increased leading to an even further increase in lift. By means of the design
of slots between the wing and the aps airow is transferred to the upper side of the wing
which shifts the strip of the airow to higher angles of attack. To summarize the eects, by
the deection of aps the creation of lift from equation (3.19) is modied by an additional
term
CA = CA,α=0 + CAα · α + CAη · η.

Spoilers are used to force the strip of airow and dramatically reduce the lift. They are used
as airbrakes and can also support the roll-control. There exist a variety of dierent control
surfaces and variants. For their discussion we refer to the secondary literature [3].
In what follows we will discuss how the ap deections inuence the aircrafts attitude. The
main control surfaces are, the aileron ξ which is primarily concerned with roll-control, the
elevator η which is primarily concerned with pitch control and the rudder ζ which is can
be employed for yaw-control. Following in industrial norm, deections of ξ,η.ζ are regarded
right
ξ>0
p>0
left

ξ>0

Figure 3.9.: Roll control employing an aileron deection. Left and right as seen from the
back (positive xb -direction).

to be positive in case they lead to a positive moment about the respective axis of rotation.
42 3. Equations of Motion

Figure 3.9 illustrates a positive deection of the aileron causing a lift reduction at the right
wing and an increase in lift for the left wing. This generates a positive roll-moment about
the xb -axis. Figure 3.10 illustrates a positive deection of the elevator causing an reduction

right
η>0 q>0

left
η>0

Figure 3.10.: Pitch control employing an elevator deection. Left and right as seen from the
back (positive xb -direction).

of lift on both sides of the airframe causing a pitch-up moment about the yb -axis. Finally,
Figure 3.11 illustrates a positive deection of the rudder which causes an aerodynamic force
directed in the negative yb -direction which in turn leads to a positive moment about the
zb -axis.

rudder (top view)


r>0

ζ>0
Figure 3.11.: Yaw control employing a rudder deection.

Aerodynamic Drag
Drag refers to the aerodynmic forces which are parallel to the direction of airow but in
opposite direction of travel. We discriminate the following drag components
• Minimum drag Cw,min : While the pressure drag is proportional to the frontal area
of the airframe and strongly depends on the Machnumber, the drag due to friction is
proportional to the roughness and size of the area passed by the airow. Both parts,
pressure drag and friction consitute the minimal drag and are denoted as Cw,min .
• Wave-drag is the component of the aerodynamic lift in the direction of the incoming
airow. It strongly depends on the angle of attack as well as the thickness of the wing
(ratio t/c). The latter leads to the choice of thin wings when designing supersonic air-
planes. In the higher subsonic regime, supersonic speeds might appear locally causing
compression shocks. In case these compression shocks move rapidly backwards and
forwards (so-called bueting) undesired pitch-moments are introduced. By limiting
3.2. Forces and Moments 43

the speed envelope such eects are avoided. Additionally, a sweep of the wings shifts
the raise of the drag towards higher Machnumbers.
• Induced drag Cwi : this kind of drag is introduced at the wingtips where airow cir-
culations introduce a locally changing angle of attack. Cwi grows quadratically with
growing CA . For the combination of minimum drag and induced drag
2
Cw = Cw,min + kCA

holds.
• Trim-drag: Realizing a stationary ight condition - usually referred to as trimming -
requires an deection of the control surfaces to force all moments to be zero. To this
end, additional lift and also drag are generated at the tailplane which causes noticable
costs especially in long-durational ights.

Aerodynamic Model of an Aircraft


In the previous sections we discussed the generation of lift and moments considering a single
airfoil. Although the contribution of the aircraft body to the overall lift and moment gen-
eration is comparably small, it can not be neglected. Unfortunately, due to the interactions
between wings and fuselage their repective aerodynamic forces and moments can not simply
be added.
Usually, the contributions of wings and body are considered within a joint dimensioneless
coecient similar to the previously discussed lift and moment coecients for an airfoil. The
aerodynamic forces in the body-xed frame can be stated as
     
Xa −W −CW (M, α, α̇, q, η, . . .)
 Ya  = T bs  Q  = ρ Va2 S T bs  CQ (M, β, β̇, q, r, η,ζ, ξ, . . .) 
2
Za b −A s −CA (M, α, α̇, q, η, . . .) s
 
CX
ρ
= Va2 S  CY  ,
2
CZ b

where Xa,b , Ya,b and Za,b refer to the forces in the directions of the xb -, yb - and zb -axis in
the body-xed frame and S is the total wing area. Since the coecients CW , CQ and CA are
commonly stated with respect to the stability frame the respective transformation between
the stability and the body-xed frame has to be employed. However, there is no general rule
dening the coordinate frame in which the aerodynamics are stated, so one has to be sure
about the respective frames and adapt the equations accordingly. A similar expression for
the aerodynamic moments is
   b 
La
ρ 2 · CL (M, β, β̇, pa , ra , ζ,ξ, . . .)
 Ma  = Va2 S T bs  c · CM (M, α, α̇, qa , ih , η, . . .)  ,
2 b
Na b 2 · CN (M, β, β̇,pa , ra , ζ,ξ, . . .) s

where La,b , Ma,b and Na,b refer to the moments with respect to the xb -, yb - and zb -axis of
the body-xed frame. The parameter b refers to the wingspan (tip to tip) and c refers to
44 3. Equations of Motion

the mean aerodynamic chord illustrated in Figure 3.12, which is dened as


b
Z2
2
c= c2 (y)dy
S
0

and usually provided within the set of aircraft parameters. The arguments within the brack-
ets of CW (), CQ (), CA (), CL (), CM () and CN () shall indicate the very complex dependency
of the coecients on the respective ight state and airframe conguration (landing gears,
aps, external loads,...).
The aerodynamic coecients have to be regared as static coecients, which we would ob-
tain from a static positioning of the airframe model within a windtunnel. Nevertheless, if
y

fuselage
Figure 3.12.: Denition of the mean aerodynamic chord c.

an aircraft performs a maneuver a dierential equation would be apppropriate to model the


oweld dynamics introduced by the aircraft's motions. Such an approach is numerically
very costly, so practically the aerodynamic forces and moments are modelled as a truncated
Taylor series which leads to the description based on partial derivatives. These derivatives
are usually referred to as aerodynamic derivatives, which read
∂CA
CA,α = .
∂α
Then the aerodynamic force and moment coecients are represented by
CW = CW,0 (M,α,β,h) + ∆CW η + ∆CW ζ + ∆CW δf + ∆CW gear ,
CQ = CQ,0 (M,α,β,h) + ∆CQp + ∆CQr + ∆CQζ + ∆CQξ ,
CA = CA,0 (M,α,β,h) + ∆CAδf + ∆CAge (h),

where δf refers to the ap deection, ∆CW gear refers to an increase in drag due to the
deployment of the landing gear and ∆CAge (h) models the ground eect. The control surface
3.2. Forces and Moments 45

related terms can be expressed as


∆CW,ξ ≈ CW,ξ (M, α,β,h, . . .) · ξ,
∆CW,η ≈ CW,η (M, α,β,h, . . .) · η,
∆CW,δf ≈ CW,δf (M, α,β,h, . . .) · δf , (3.21)
∆CQ,ξ ≈ CQ,η (M, α,β,h, . . .) · ξ,
∆CA,δf ≈ CA,δf (M, α,β,h, . . .) · δf .

The other parts are explained below, since they appear in the moment coecient in a simular
manner. The moment coecient can be stated in the form
CL = CL,0 (M,α,β,h) + ∆CLp + ∆CLr + ∆CLξ + ∆CLζ ,
CM = CM,0 (M,α,β,h) + ∆CM q + ∆CM α̇ + ∆CM η
xR (3.22)
+ CL + ∆CM thrust (δt ,M,h) + ∆CM gear
c
CN = CN,0 (M,α,β,h) + ∆CN p + ∆CN r + ∆CN ξ + ∆CN ζ .

The control surface related terms can be expressed as


∆CL,ξ ≈ CL,ξ (M, α,β,h, . . .) · ξ,
∆CL,ζ ≈ CL,ζ (M, α,β,h, . . .) · ζ,
∆CM,η ≈ CM,η (M, α,β,h, . . .) · η,
∆CN,ζ ≈ CN,ζ (M, α,β,h, . . .) · ζ,
∆CN,η ≈ CN,η (M, α,β,h, . . .) · η.

Again, ∆CM gear refers to deployed landing gears and ∆CM thrust (δt ,M,h) is a contribution
from the engine thrust, since the thrusters also provide a moment about the center of gravity
which depends on the current thruster lever position δt . The terms ∆CLp , ∆CM q , ∆CN r ,
∆CLr , ∆CN p , ∆CLp , ∆CAq , ∆CQp and ∆CQr in (3.21) and (3.22) are dened as

k
∆Ca1,ω = Ca1,ω (M, α,β,h, . . .) · · ω,
2Va

where ω represents the respective turn rate and k is either the wingspan b (for roll and yaw
rates p, r) or the mean aerodynamic chord c in case of the pitch rate q . The term xR /c · CL
is a correction for the x displacement of the center of gravity from the aerodynamic reference
position. If xR is nonzero, the lift force contributes to the pitching moment.
Remark: In an analogous way compared to ∆CLα̇ and ∆CM α̇ also derivatives with respect
to β could also be dened but those derivatives are only employed in very rare cases.
Finally, we briey state a few characteristics for the dierent coecients, a more detailed
discussion can be found in [14] and the secondary literature cited therein.
• Drag Coecient CW :
 Drag rises in the transsonic regime and decreases again to higher Mach numbers.
the peak value can be minimized increasing the wing sweep, decreasing the thick-
ness of the airfoil and a smooth variation of the airplanes cross sectional area
from nose to tail
46 3. Equations of Motion

sweep angle

Γ>0

Figure 3.13.: Denition of the sweep angle (left) and dihedral conguration (Γ > 0) (right).

• Side force Coecient CQ :


 Mainly created by the sideslip angle (β 6= 0) and rudder deection (ζ 6= 0). Side-
force is zero for symmetrical aircrafts with neutral rudder and aileron deections
and zero sideslip
 A positive angle of sideslip (β > 0) causes a negative side force (CQ < 0) since it
causes wind on the right hand side of the aircraft
 at high subsonic speeds only very little sideslip is allowed because otherwise the
structural limits of the vertical n are exceeded
• Lift Coecient CA :
 Slope of the lift-cuvre (CA plottet above α) increases with aspect ratio b2 /S and
decreases with the leading-edge sweep angle
 Dependence of lift on the sideslip angle β is usually small until the sideslip angle
reaches serveral degrees which occurs at low speeds
 An additional thrust coecient accounts for the wash of the air over the wings
and fuselage
 Lift rst increases with Mach-number but decreases again for high Mach-numbers

• Roll moment L/CL :


 Roll moments are induced by the angle of sideslip and control actions of aileron
ξ and rudder ζ
 Roll stability is determined by the slope of the rolling moment coecient over
β : Assuming a positive roll angle disturbance. A positive roll angle introduces a
positive angle of sideslip. Now, if CL is also positive this will lead to an further
increase in roll angle - corresponding to an unstable situation
 for low wing aircraft the fuselage eects lead to an positive contribution to the
rolling moment for positive angles of sideslip. To this end they usually posses a
dihedral to provide roll stability
 Although the purpose of the rudder is providing yaw control there is an undesired
coupling into the roll motion since the center of pressure of the rudder is usually
above the longitudinal axis.
3.2. Forces and Moments 47

 At high subsonic speeds, ailerons mounted at the trailing edge of the wing can
become ineective and even reverse their eect. This can be avoided combining
the action of ailerons and spoilers.
 For swept wing aircraft, roll control ist supported by dierential control of the
horizontal trail surfaces.
• Pitch moment M /CM :
 As already discussed for a single airfoil, if the slope ∂CM /∂α is negative the
aircraft tends to pitch down when a disturbance leads to an increase in α which
is a stable behavior.
 For turboprop aircraft such a restoring moment becomes weaker with higher
power produced by the engines
 The derivative CM q is usually referred to as pitch damping derivative
 Compressibility and aeroelastic eects lead to a decrease of the eectiveness of
the elevator for high Mach numbers
• Yaw moment N /CN :
 The yaw moment is created by sideslip, by the rudder and unbalanced thrust in
multi-engine airfrcaft,
 Positive sideslip creates a positive yaw moment CN > 0
 The aircraft should tend to align into the direction of the relative wind. To this
end the vertical n should produce a yaw moment with the same sign than β
 Reduction of directional stability might occur at high angles of attack
 The baseline yaw moment created by CN 0 may have a strong dependence on the
thrust especially for propeller aircraft

3.2.3. Propulsion
The thrust forces F p,b /F p,k generated by a jet engine can be computed from the dierence of
the output- and input-impulse as illustrated in Figure 3.14. Assuming that the same ambient
pressure is present at the intake and the outlet of the engine and assuming a stationary mode
of operation (ṁin = ṁout = ṁt ) the thrust force can be computed from
F t = ṁt · (v in − v out ),

where the velocity vectors do not neceesarily coincide with the engines longitudinal axis.
The index t refers to the local body-xed frame of the engine, where xt coincides with the
jet engines longitudinal axis. In fact the inlet velocity v in depends on the local angle of
attack. The thrust-components in the engine xed frame are
 
Vout − Vin cos αin
F t = ṁt ·  0 , (3.23)
−Vin sin αin
48 3. Equations of Motion

where we assume, that the outlet velocity coincides with the engine's longitudinal axis. We
further approximate Vin = Va and obtain the mass ow through the engine
ṁt = ρSt Va (3.24)
with St being the cross area of the inlet. Approximating cos αin ≈ 1 and employing (3.24)
we get from (3.23)
       
Vout Vout
−1 − 1
ρ Va Va
F t = 2 Va2 St · 

0  = 2q St · 
 
0 .

(3.25)
2
− sin αin − sin αin

Since the third component depends on the angle of attack it is quite often modeled as an
additional aerodynamic contribution. Finally, the result (3.25) has to be transformed into
the body-xed system by means of a transformation matrix T bjet between jet engine and
body-xed frame which depends on the mounting position of the engine.
Since the longitudinal axis of the engines commonly not coincides with the aircrafts longitu-
dinal axis, the engine thrust also generates a moment. Employing the vector rGe,b between
the center of gravity and the engine we obtain the moment induced by the engine
 
M t = r Ge,b × F t,b = r Ge,b × T bjet · F t

In some cases, the inuence of the gyroscopic eect on the aircraft due to the rotating
engine cannot be neglected and the gyroscopic moments have to be considered in the sum
of external moments. These moments can be computed by means of
 
d
I p ω Irot

M gyro,b = b
dt I
= I p · ω̇ Irot + ω Ip prot 
b b × I p ωb

with ω Irot
b is the turn rate of the rotating engine parts with respect to the inertial frame
and ω Ip
b refers to the turn rate of the engine (propulsion system) with respect to the inertial
frame. Since ω Irot
b = ω Ib bp
b + ωb + ωb
prot
and ω Ip
b = ω b + ω b . Then we get
Ib bp

M gyro,b = I p ω̇ prot
b + ω Ib prot 
b × I p ωb
    
+ I p ω̇ bp Ib
b + ωb × I p ωb
bp
+ ω bp Ib bp prot
b × I p ωb + ωb + ωb

+ I p ω̇ Ib Ib Ib

b + ωb × I p ωb

output input
impulse impulse

Figure 3.14.: Input and output-impulse of a jet engine.


3.2. Forces and Moments 49

Since the contribution I p ω̇ Ib is already contained within the equations of


Ib Ib

b + ωb × I p ωb
motion (the moment of inertia of the aircraft already contains the engine's contribution), it
must not be considered here. Therefore, we nally obtain
M gyro,b = I p ω̇ prot
b + ω Ib prot 
b × I p ωb
    
+ I p ω̇ bp Ib
b + ωb × I p ωb
bp
+ ω bp Ib bp prot
b × I p ωb + ωb + ωb .

Engine Dynamics
So far we considered the engines to be quasi-static, i.e. the desired thrust is immediately
provided by the propulsion system and determined by the current ight condition and thrust
lever setting δt . For the purpose of engine development sophisticated nonlinear models are
available which might be employed to model the engine dynamics. Nevertheless, in most
cases a simplistic dynamic model will be sucient to study the aircraft behavior and also
for controller design. Commonly, a rst order PT1 -dynamic
1 1
δ˙t = − δt + δt,c
Tt Tt
is employed to model the thrust dynamics. Therein, δt,c refers to the commanded thrust
(thrust lever setting) and δt refers the actual thrust setting. A rule of thumb for choosing
the time constant Tt is the common rule, that the engine has to be capable of providing a
rise of thrust from 15% to 95% within 5s.
50 3. Equations of Motion

Ft rGe,b,z
rGe,b,y

Ft

Figure 3.15.: Moment generated by the engine thrust.


4. Control Theoretic Foundations
In this section we recover some control theoretic basics which are relevant for the control
of airplanes. First, we consider the classical representation of dynamical systems employing
transfer functions. Secondly, we recover the principles of the state-space representation of a
dynamical system. The latter oers a lot of benets, namely a straightforward consideration
of multiple-input multiple-output (MIMO) systems. It also simplies the dervivations of
linearized models and adds a high degree of exibility in modifying the closed loop system
dynamics.

4.1. Classical Representation


As known from the basic control lectures, a dynamical system is represented in a general
manner by means of a dierential equation. For a n-th order single-input single-output
(SISO) system with the output or controlled variable y and the input u this representation
reads
 
(n) (n−1) (m)
y=f y , . . . , ẏ, y, u , . . . ,u̇, u . (4.1)

Since the handling of general nonlinear dynamics (4.2) is quite dicult - e.g. there exist no
general control method for the control of a general nonlinear system - linear approaches are
commonly applied. This is due to the fact, that most nonlinear systems can be approximated
by linear dynamics with a reasonable quality - at least within a constrained region around
an operating point. This oers us the ability to employ the variety of linear control methods
also for controlling systems with nonlinear dynamics. Special care has to be taken, if the
operating region is large. Then a set of linear models at dierent operating points has
to be derived and the nal (nonlinear) controller is formed by a combination of a set of
linear controllers designed for the respective operating points. This quite common method
is named Gain-Scheduling and will be discussed later in this lecture.
In order to derive a linear approximation of the nonlinear dynamics (4.1) we have to dene
the so-called equilibrium.
Denition 4.1. The (u0 , y0 ) is called an equilibrium of a system
 
(n) (n−1) (m)
y=f y , . . . , ẏ, y, u , . . . ,u̇, u , (4.2)

if for u(t) = u0 all time derivatives


(n)
ẏ0 = ÿ0 = . . . = y0 = 0
(m)
(4.3)
u̇0 = ü0 = . . . = u0 = 0
vanish, sucht that the input- and output variables u(t) = u0 and y(t) = y0 are both constants.

51
52 4. Control Theoretic Foundations

Once an operating point is derived, we abbreviate ∆y = y − y0 and ∆u = u − u0 and


derive the linearized approximation
 
(n) (n−1) (m) (n−1)
y≈f y0 , . . . , ẏ0 , y0 , u0, . . . ,u̇0 , u0 + ãn−1 ∆ y + . . . + ã1 ∆ẏ + ã0 ∆y
(m)
+ b̃m ∆ u + . . . + b̃1 ∆u̇ + b̃0 ∆u
 
(n) (n−1) (m) (n) (n) (n)
and with y0 = f y0 , . . . , ẏ0 , y0 , u0, . . . ,u̇0 , u0 and ∆ y = y − y0 we nally obtain the
linear dierential equation
(n) (n−1) (m)
∆ y = ãn−1 ∆ y + . . . + ã1 ∆ẏ + ã0 ∆y + b̃m ∆ u + . . . + b̃1 ∆u̇ + b̃0 ∆u

with the coecients


 
(n−1) (m)
y , . . . , y, u , . . . ,u̇, u

∂f
ãi = ,
(i)
∂ y (n)
y0 ,..., y0
(m)
(4.4)
u ,..., u
  0 0

(n−1) (m)
y , . . . , y, u , . . . ,u̇, u

∂f
b̃i = .
(i)
∂ u y0 ,...,(n)

y0
(m)
u0 ,..., u0

Employing Matlab, the linearization can be performed numerically by means of the function
numjac (numerical Jacobian).

4.1.1. Example: Linearizing Nonlinear Dierential Equations


As an example we consider the nonlinear dierential equation
ẏ(t) − y(t) · (y(t) − 1) = u(t) (4.5)
for y0 = 1. First we derive the operating point demanding
!
ẏ(t) = 0

and determine u0 = 0 employing


−y0 · (y0 − 1) = u0 .

In order to compute the linear approximation, we sort the time derivatives in (4.5) such that
the highest time-derivative appears solely on the left side of the dierential equation
ẏ = y · (y − 1) + u.
4.1. Classical Representation 53

Then we obtain from (4.4)



∂ (y · (y − 1) + u)
ã0 =
∂y y0 =1 = 2y0 − 1 = 1,
u =0
0
∂ (y · (y − 1) + u)
b̃0 = y0 =1 = 1
∂u
u0 =0

and nally the linear dierential equation


∆ẏ = ã0 ∆y + b̃0 ∆u = ∆y + ∆u.

4.1.2. Impulse-Response and Transfer-Function


An important question in system theory is, how the evolution of the output variable y(t) in
dependence of a given evolution of the input u(t) can be derived. In the time domain, the
relation between the input and the output of a linear system can be expressed by means
of the impulse response g(t) being the response g(t) = y(t) to the Dirac-signal u(t) = δ(t),
which is dened as
δ(t) = lim rε (t).
ε→0

with
if 1

ε 0≤t≤ε
rε (t) =
otherwise
0
If the impulse-response of a system is known, the output of a linear system is obtained
solving the convolution integral
Zt Zt
y(t) = g(t) ∗ u(t) = g(t − τ )u(τ )dτ = g(τ )u(t − τ )dτ. (4.6)
0 0

Nevertheless, the practical application of the convolution integral is quite challenging. This
is the reason, why the Laplace-Transformation became quite common for studying linear
systems. Employing the Laplace transformation on the linear dierential equation
(n) (n−1) (m) (m−1)
an y +an−1 y + . . . + a1 ẏ + a0 y = bm u +bm−1 u + . . . + b1 u̇ + b0 u
with zero initial conditions
(n) (m)
y (0) = . . . = ẏ(0) = y(0) = 0, u (0) = . . . = u̇(0) = u(0) = 0
we obtain
an sn + an−1 sn−1 + . . . + a1 s + a0 · Y (s) = bm sm + bm−1 sm−1 + . . . + b1 s + b0 · U (s).
 

From this representation, we derive the so-called transfer function


Y (s) bm sm + bm−1 sm−1 + . . . + b1 s + b0
G(s) = = . (4.7)
U (s) an sn + an−1 sn−1 + . . . + a1 s + a0
The advantage of employing the Laplace-Transformation is that the convoltion integral (4.6)
simplies to a multiplication Y (s) = G(s) · U (s). Please note, that the transfer function is
the Laplace-Transform of the impulse response, e.g. G(s) = L{g(t)}.
54 4. Control Theoretic Foundations

4.1.3. Stability Analysis on the Basis of Transfer Functions


A very general denition of stability is the bounded-input bounded-output stability which
is dened as follows:
Denition 4.2. A linear time-invariant (LTI) system is called asymptotically stable, if it's
step response h(t) approaches to a constant value M with |M | ≤ ∞ for t → ∞.
Employing this denition we can derive a stability criterion for a linear time-invariant-
system based on the transfer function. First we rephrase the transfer function (4.7)
Z(s) bm sm + bm−1 sm−1 + . . . + b1 s + b0 Z(s)
G(s) = = =
N (s) an sn + an−1 sn−1 + . . . + a1 s + a0 (s − s1 )(s − s2 ) . . . (s − sn )

by means of the poles si of the characteristic equation an sn + an−1 sn−1 + . . . + a1 s + a0 = 0,


assuming that there are no common zeros of the numerator and denominator polynomial.
Then, we compute the step response employing the sigma-function u(t) = σ(t) c s U (s) =
s as input to the transfer function. We obtain the step response H(s) in the Laplace-domain
1

from
Z(s) Z(s) 1
H(s) = G(s) · U (s) = · U (s) = · .
N (s) (s − s1 )(s − s2 ) . . . (s − sn ) s

Employing the decomposition1


n
r0 X ri
H(s) = +
s i=1
s − si

and the inverse Laplace-transform (referring to control theory 1) we obtain


n
X
h(t) = r0 σ(t) + ri esi t .
i=1

With respect to denition 4.2 in case of an asymptotic stable system the limit value of h(t)
for t → ∞ has to be nite. Obviously, a nite limit value limt→∞ h(t) = r0 only exists, if
the real parts δi = Re{si } of all poles are negative, i.e. δi < 0 must hold for all i = 1, . . . ,n.
Now, we end up by an more suitable denition of asymptotic stability.
Denition 4.3. A linear time-invariant system with the transfer function G(s) is called
stable, if all poles of the transfer function are located in the open left s-plane (Re{si } < 0).
Of course stability is a key objective in controller design. Based on the denition above
we will be able to design stabilizing controllers (i.e. obtaining a stable closed-loop transfer-
function).

4.1.4. Closed-Loop
Our objective is the design of controllers being able to guarantee a stable closed-loop. In
order to analyse the closed-loop system we refer to the standardized control loop depicted
in Figure 4.1. Commonly, G1 (s) refers to the transfer-function of the controller and G2 (s)
4.1. Classical Representation 55

Z(s)
W (s) Y (s)
G1 (s) G2 (s)

Figure 4.1.: Standardized-closed loop system

is the transfer-function of the plant. In this structure the controlled variable Y (s) can be
derived from
G1 (s)G2 (s) G2 (s)
Y (s) = · W (s) + · Z(s)
1 + G1 (s)G2 (s) 1 + G1 (s)G2 (s)
Go (s) G2 (s)
= · W (s) + · Z(s)
1 + Go (s) 1 + Go (s)
where Go (s) = G1 (s) · G2 (s) is usually denoted as open-loop transfer function. Please note
that these equations only hold for the standardized control loop. If there are additional
elements in the loop, the above equation has to be modied accordingly. We usually dis-
criminate between the transfer function relating the output to the reference variable w(t)
Y (s) G1 (s)G2 (s) Go (s)
GW (s) = = =
W (s) 1 + G1 (s)G2 (s) 1 + Go (s)
and the transfer function relating the output to the disturbance z(t)
Y (s) G2 (s) G2 (s)
GZ (s) = = = .
Z(s) 1 + G1 (s)G2 (s) 1 + Go (s)
Please note that the stability of the closed-loop system is determined by the locations of
the poles of GW (s) and GZ (s). Stability is achieved in case the real-parts of the poles are
negative.
The requirements for the closed-loop behavior are commonly dened based on a desired
dynamic (settling times and overshoots) and steady state characteristics as illustrated in
Figure 4.2. Therein, w(t) denotes the reference signal and
e∞ = lim e(t) = lim (w(t) − y(t))
t→∞ t→∞

refers to the steady-state error. A common requirement with respect to the steady-state be-
havior is demanding a zero steady-state error (e∞ = 0). When applying a steplike reference
signal w(t) = wo σ(t), this is ensured by incorporation of an integral part in the controller.
This can be inferred from the Inner-model principle, which tells us to include a model of
our desired reference signal in our controller in order to accurately track a specic reference
signal w(t).
The dynamic behavior is usually specied in terms of settling times and overshoots. Impli-
1 We assumed, that each pole is unique. Nevertheless the result can be generalized to the case of multiple
poles at one location but for the price of a higher mathematical burden.
56 4. Control Theoretic Foundations

steady-state. steady-state.
dyn. charact. charact. dyn. charact. charact.
w(t) z(t)

e∞ y(t)

y(t)
e∞

t t

Figure 4.2.: Response of a closed loop system with respect to a reference step (left) and a
step on the disturbance input )(right).

cations for the locations of the closed-loop poles can be deduced from the pole locations of
a PT2 -system
K
G(s) = .
s2 T0 + 2dT0 s + 1

In case of d > 1 we do not have overshoots and oscillations. The poles of the above system
read
d 1p
s1,2 = −δe ± jωe = − ±j 1 − d2
T0 T0

and are illustrated in Figure 4.3 for d < 1. Constant overshoots can be obtained for poles
which located on the line determined by

δe = c · ωe ,

e.g. all pole-congurations located on the dotted line in Figure 4.3 produce the same amount
of overshoot. This can be equivalently expressed by means of the angle
√ !
1 − d2
 
ωe
ϕ = atan = atan .
δe d

A rule of thumb tells us, that an overshoot of lower than 10% can be acchieved ensuring
that all poles are contained within a 45◦ -sector. The settling time tsett is determined from
the real part of the poles. The settling time tsett,5% for approaching the 5% tolerance band
about the steady-state value relates to the real part of the pole-pair as follows
3 tsett,5%
tsett,5% ≈ ⇔ δe = .
δe 3
4.1. Classical Representation 57

Im

jωe

δe Re

−jωe

Figure 4.3.: Pole locations of a PT2 -system.

4.1.5. Controller Design employing Root Locus Method


In this section, we discuss a very general method for the systematic design of PID-type
controllers. To this end, we refer to the standardized control loop depicted in Figure 4.4.
In a rst step, we perform a pole-zero decomposition and rephrase the open loop transfer
W (s) Y (s)
Go (s)

Figure 4.4.: Standardized control loop

function to get
(s − n1 )(s − n2 ) . . . (s − nm ) Zo (s)
Go (s) = GR (s)GS (s) = k · =k .
(s − p1 )(s − p2 ) . . . (s − pn ) No (s)

Now, we compute the closed loop transfer function


Zo (s)
Y (s) Go (s) kN o (s) kZo (s)
GW (s) = = = Zo (s)
= .
W (s) 1 + Go (s) 1 + kN No (s) + kZo (s)
o (s)

where we have that grad{No (s)} = n and grad{Zo (s)} = m with m ≤ n. As discussed in
Section (4.1.3) stability is directly linked to the locations of the closed loop poles, which are
computed solving the charakteristic equation
No (s) + kZo (s) = 0.
58 4. Control Theoretic Foundations

The travel of the zeros of the above equation, i.e. the closed-loop poles, with respect to
the gain k are illustrated within the root locus plot and the resulting curves within the
complex plain constitute the basis for controller design. We usually discriminate between
the proper (k > 0) and the complementary (k < 0) root locus curve. Both posses the
following characteristics
• The zeros of No (s) + kZo (s) are continuously depending on k , e.g. the root locus curve
is a coherent curve in the complex plain.
• The root locus curve has n = grad{No (s)} branches.
Considering the the proper root locus plot (k > 0)
• the root locus starts for k = 0 in the open loop poles of Go (s), e.g. in the zeros of
No (s)
• and for k → ∞ the branches tend to the zeros of Go (s), e.g. the zeros of Zo (s), or to
innity
In case of the complementary root locus plot (k < 0)
• the branches start for k → −∞ in the open loop zeros of Go (s), i.e. the zeros of Zo (s)
or in innity
• For k → 0 the branches tend to the zeros of No (s).
Nine simple construction-rules to manually draw a root locus plot have been provided within
the Control Theory 1 lesson. Nevertheless, within this lecture we make use of widely available
numerical methods, in our case we use Matlab/Simulink and the function rlocus or rltool
where the latter provides much more tools for actually designing controllers.
To this end note that the open loop transfer function

Go (s) = GR (s)GS (s)

can be modied by means of the controller transfer function GR (s), which is actually the
idea behind controller design. Before we further discuss the controller design, we state the
common PID-type controllers

PID-type controllers
The proportial (P-)controller is a pure gain factor Kp . The input command is derived
multiplying e(t) = w(t) − y(t) with Kp resulting in
u(t) = Kp · e(t) c s U (s) = Kp · E(s).

The proportional controller can be represented by means of the transfer function


GR (s) = Kp .

Major draw-back of this controller is that steady-state accuracy can not be ensured for gen-
eral plants.
4.1. Classical Representation 59

The intregator (I-controller) performs an integration of the control error e(t) = w(t) − y(t)
to derive the input command, i.e.
Zt
1
u(t) = e(τ )dτ,
TI
0

where the reset time TI is a design parameter. Rephrasing the control law in terms of a
dierential equation, we obtian

TI u̇(t) = e(t) c s U (s) = 1 · E(s)


sTI
and the transfer function
1
GR (s) = .
sTI
Main motivation for incorparation of a integrator is it's ability to guarantee steady-state
accuracy for constant reference signals. Nevertheless, introducing a pole at zero (not asymp-
totically stable) in the open loop tends to destabilize the closed loop system. To this end, the
integrator is usually combined with other controller types, e.g. the proportional controller.

The (idealized) dierentiator (D-controller) computes the input command dierentiating


the control error
u(t) = Tv ė(t) c s U (s) = sTv · E(s)

with the derivative time Tv being a design parameter. The dierentiator can be represented
by means of the transfer function
GR (s) = sTv .

The dierentiator has a stabilizing eect, but cannot be applied solely. Additionally, the
above transfer function represents a non-causal system, so it can only be approximated
employing the real dierentiator (see PD-controller).
The proportional-integrating (PI-) controller is one of the most commonly applied con-
trollers. It combines the advantages of a proportional controller and the integrator by using
both parts in a parallel structure. It's transfer function reads
1 1 + sTn
GR (s) = Kp + = Kp ,
TI s sTn
where the reset time Tn = Kp TI and the proportional coecient Kp are both design param-
eters. The control law is
Zt
1
u(t) = Kp e(t) + e(τ )dτ.
TI
0

The proportional-dierentiating controller (PD-) controller


GR (s) = Kp + sT̃v = Kp (1 + sTv )
60 4. Control Theoretic Foundations

with Tv = T̃v /Kp combines the proportional controller with the dierentiator. Since the
ideal dierentiator does not exist, only the approximation
1 + sTv
GR (s) = Kp
1 + sTd
with Tv > Td can be employed. The proportional coecient Kp , the derivative time Tv and
the lag time Td is applied. This controller has a stabilizing eect but can cause problems
when processing noisy measurements.

The proportional-integrating-dierentiating (PID-) controllers combines all the previously


discussed controller types. It't transfer function in the idealized version reads
1 (1 + sTn )(1 + sTv )
GR (s) = Kp + sT̃v + = Kp .
sTI sTn
Since the nominator has a higher order than the denominator this transfer function consti-
tutes a non-causal system which is due to the incorporation of the idealized dierentiator.
The realizable PID controller is obtained, approximating the dierentiator resulting in the
transfer function
(1 + sTn )(1 + sTv )
GR (s) = Kp
sTn (1 + sTd )
with the proportional coecient Kp , the reset time Tn , the rate time Tv and the lag Td
being it's design parameters.

Controller design employing root locus plots


In order to design one of the previously stated controllers we keep in mind the discussions
from Section 4.1.4. In order to cope with the requirements for the control loop, we chose the
controller parameters, such that a dominant pole pair is obtained, whose location determines
the overshoot and damping characteristics. To this end we
• Construct the root locus plot for a P-controller
• Introduce (depending on the controller type) additional poles and zeros to modify the
shape of the root locus plot
 PI-Controller: One zero can be chosen by the designer, the additional pole cor-
responds to the integrator and is located at pR = 0
 PID-Controller: We introduce two additional zeros and one additional pole at
pR = 0. In order to obtain a realizable controller, we have to introduce a second
pole (which is usually located far left to minimize it's inuence on the closed loop)
• Lastly, we determine the Kp by means of the open loop gain k in order to achieve a
desired pole-conguration
This procedure is carried out by means of the Matlab-Function rltool. A guideline to chose
the poles and zeros can be inferred from the fact that
• an additional zero attracts the branches of the root locus
• an additional pole repels the branches of the root locus
This procedure is illustrated by means of the following example
4.1. Classical Representation 61

ω ω
Im{s}

Im{s}
0 0
−ω −ω

0 0
Re{s} Re{s}
Figure 4.5.: Proper (left) and complementary (right) root locus plot employing a P-
controller.

Example: Controller design employing root locus plots


We consider the plant
1
GS (s) = ,
s2 + ω2
which represents a harmonic oscillator. In a rst step we employ rlocus(tf([1],[1 0 ω 2 ]))
and obtain the proper (k = KP > 0) root locus plot in Figure 4.5 (left) as well as the
complementary k = KP < 0 root locus plot (rlocus(tf([-1],[1 0 ω 2 ])) ) . Note that there is
no parameter Kp such that a pole conguration with a negative real part can be obtained.
In order to stabilize the system we have to add at least one zero. Employing the idealized
PD-controller
GR (s) = Kp (1 + sTv ),

we obtain the modied open loop transfer function


1
Kp s + Tv s − nR
Go (s) = GR (s)GS (s) = =k 2
Tv s2 + ω 2 s + ω2
with k = Kp /Tv and the zero nR = −1/Tv . Figure 4.6 shows the new proper root locus
plot (rlocus(tf([1 nR ],[1 0 ω 2 ])) ). Now the closed loop is stable for all k > 0 or Kp > 0
respectively but the controller is not realizable. Now we consider the realizable PD-controller
and introduce a denominator zero. Then we obtain
1
1 + sTv Kp Tv s + Tv
GR (s) = Kp = · 1
1 + sTd Td s+ Td
62 4. Control Theoretic Foundations

Im{s}

Im{s}
0 0

0 0
Re{s} Re{s}
Figure 4.6.: Proper root locus plots employing and idealized (left) and realizable (right)
PD-controller.

and the closed loop transfer function


1
Kp Tv s + Tv 1 s − nR
Go (s) = GR (s)GS (s) = · 1 · =k
Td s+ Td
s2 +ω 2 (s − pR )(s2 + ω 2 )

with k = Kp Tv /Td , nR = −1/Tv and pR = −1/Td . The controller pole pR is now placed left
of the controller zero nR . Figure 4.6 (right) shows the new root locus plot. The repelling
tendency of the additional pole becomes obvious.
Finally, we determine k chosing a desired pole location on the root locus plot such that we
obtain a small imaginary part and a short settling time. Based on the value of k computed
with Matlab (visualized when clicking in the gure), we nally we compute Kp = kTd /Tv

4.2. State-Space Representation


In this section we refer to the state-space representation of dynamical systems. Since every
dierential equation of order n can be equivalently represented by n dierential equation of
rst order, we can write
ẋ = f (x,u), with x(0) = x0
(4.8)
y = h(x,u)

instead of (4.2). Note that the equations of motion can be directly expressed in the above
representation. Therein, x is the state-vector
 T
x= x1 x2 ... xn
4.2. State-Space Representation 63

containing the n state variables xi . Note that there exist an innite number of state-space
models of the general form (4.8), which produce the same input u to output y behavior
but dierent internal representations. However, this representation oers a higher degree of
freedom in designing controllers and additional benets like an systematic design of multiple-
input multiple-output (MIMO) systems. Since there is no controller being suitable for
arbritrary nonlinear dynamics, a linear approximation of the nonlinear state-space model
(4.8) is usually employed. Such a linear state space model reads

∆ẋ = A∆x + B∆u,


(4.9)
∆y = C∆x + D∆u

and is valid around an operating point xT , uT . Commonly, these operating points are chosen
such that ẋT,i = 0 holds for all i = 1,2, . . . ,n. Note, that this is equivalent to the condition
(4.3) in the previous section. Therefore, xT , uT are derived solving

0 = fi (xT ,uT )

at least for a subset of state derivatives. In the aerospace community, this procedure is
named trimming. Once the operating state which we will also refer to as trim state is
obtained, we compute A, B, C and D by means of the Jacobian matrices

∂f (x, u) ∂f (x, u)
A= | x=xT , B = | x=xT ,
∂x u=uT ∂u u=uT

∂h(x, u) ∂h(x, u)
C= | x=xT , D = | x=xT .
∂x u=uT ∂u u=uT

The variables ∆x = x − xT , ∆u = u − uT and ∆y = y − y T are chosen to stress, that


we consider deviations from the trim states. This fact has to be considered carefully, when
implementing controllers which are designed based on the linear approximation (4.9) for the
real (nonlinear) system. However, it is quite common to not explicitly write ∆x but x when
referring to the methodology applied to such systems.

4.2.1. Time-Solution
Later in this lecture, we will make use of the time-solution of a linear dynamics (4.9). The
overall solution is derived based on superpositioning the homogen and inhomogen solution.
The rst one is obtained solving

ẋ = Ax, with x(t0 ) = x0 .


64 4. Control Theoretic Foundations

In order to derive the solution x(t) = Ψ(t,x0 ) we consider the above dynamics over very
short time periods and increase the accuracy iteratively by means of
x0 (t) = x0 ,
Zt Zt
x1 (t) = x0 + ẋ(t = 0)dτ = x0 + Ax0 dτ = (I + At)x0 ,
0 0
Zt Zt
t2
 
x2 (t) = x0 + Ax1 dτ = x0 + A(I + At)x0 dτ = I + At + A2 x0 ,
2
0 0
..
.
t2 tj
 
xj (t) = I + At + A2 + . . . + Aj x0 .
2 j!
Note that we choose x instead of ∆x and u instead of ∆u to shorten the expressions.
Computing the limit j → ∞ and noting that

X tj
Φ(t) = Aj = eAt .
j=0
j!

holds, we obtain the transition matrix


x(t) = Φ(t)x0 = eAt x0 . (4.10)
Now, to derive the inhomogen solution, we have to compute ẋ(t) = d/dt(Φ(t)x0 (t)) and we
get
Φ̇(t)x0 (t) + Φ(t)ẋ0 (t) = AΦ(t)x0 (t) + Bu(t).
and employing the computational rules
Φ̇(t) = AΦ(t), Φ−1 (t) = Φ(−t), Φ(t + w) = Φ(t)Φ(w)
we get
Zt
x0 (t) = x0 (t0 ) + Φ(−τ )Bu(τ )dτ
t0

Since the initial state x0 was already considered within the homogen solution, we have the
homogen solution
Zt Zt
x(t) = Φ(t − t0 )x0 (t) = Φ(t) · Φ(−τ )Bu(τ )dτ = Φ(t − τ )Bu(τ )dτ (4.11)
t0 t0

Finally, superpositioning of the homogen (4.10) and inhomogen solution (4.11) we obtain
Zt
x(t) = Φ(t)x0 (t − t0 ) + Φ(t − τ )Bu(τ )dτ,
(4.12)
t0

y(t) = Cx(t) + Du(t).


4.2. State-Space Representation 65

4.2.2. Stability
Stability is a foundamental requirement for any control loop. In case of transfer functions,
the stability is linked to the poles of the transfer function. When dealing with state-space
representation of dynamical systems, the eigenvalues si , which are the solution of the char-
acteristic equation
det (sI − A) = 0
are essential for stability analysis. Now the assumption is near, that in case of SISO-
systems, the eigenvalues and the poles are equivalent. Indeed, this is right if a system is
fully controllable and observable - two properties which will be discussed later.

4.2.3. Connection between State-Space Representation and Transfer


Functions
Practically, the derivation of a linear state space model is easier compared to the computation
of a transfer function. However, after the linear state-space model is obtained, there is a
very easy way to compute the transfer function.
To this end, we apply the Laplace-Transformation to the system (4.9) and obtain
sX(s) − x0 = AX(s) + BU (s),
Y (s) = CX(s) + DU (s)
where X(s) = L{x(t)}, U (s) = L{u(t)} und Y (s) = L{y(t)} denote the Laplace-transformed
versions of x(t), u(t) and y(t). Solving the rst equation for X(s) we obtain
−1 −1
X(s) = (sI − A) x0 + (sI − A) BU (s).
Inserting in the second equation leads to
 
−1 −1
Y (s) = C (sI − A) x0 + C (sI − A) B + D U (s)

and for x0 = 0 we get the transformation matrix


−1
G(s) = C (sI − A) B + D.
In case of single-input single-output (SISO) systems we nally obtain the transfer function
(4.7) solving
Y (s) −1
G(s) = = cT (sI − A) b + d.
U (s)
Since the inverse of (sI − A) can be represented by means of the adjunct and the determinant
−1 adj (sI − A)
(sI − A) =
det (sI − A)
we can rewrite G(s)
Y (s) cT adj (sI − A) b + ddet (sI − A)
G(s) = = .
U (s) det (sI − A)
Now, obviously we can deduce that
66 4. Control Theoretic Foundations

• The denominator polynomial is the characteristic equation of the matrix A, and the
poles of the transfer function are the eigenvalues of the matrix A,

• The maximum order of the denominator polynomial is n,

• The degree of the nominator polynomial is lower or equal to the degree of the denom-
inator polynomial.
Actually, in case of the rst bullet, the inverse does not hold in general but in the case of a
system, which is fully controllable and observable. Otherwise a pole can be cancelled by a
transfer zero leading to a transfer function with an lower order compared to the linear state
space model.
As a last remark, it should be mentioned, that for most systems, there is no direct feedthrough
of the input u to the output y, so y = h(x) and D = 0 or d = 0 respectively.

4.2.4. Controllability and Observability


The ability of designing a controller for a system critically depends on it's controllability
and observability. In this Section we briey review these important system characteristics.
First we refer to the controllability and state it's denition
Denition 4.4. A system is called fully controllable, if there exists a suitable input vector
u(t) such that the state of the system can be transferred from any initial state x0 to any
nal state xe within a nite time interval [0 te ].
Employing this denition together with the time-solution of the system (4.9) we can
deduce the controllability criterion of Kalman:
A linear MIMO-system (4.9) is called fully controllable if the controllability matrix

A2 B . . . An−1 B
 
Qs = B AB

has rank n. In case of SISO-systems the controllability matrix is quadratic

Ab A2 b An−1 b
 
Qs = b ...

and the conditions rank(Qs ) = n and det(Qs ) 6= 0 are equivalent.

The second criterion - the observability - determines whether it is possible to reconstruct


the state vector from measurements of the input u(t) and output signals y(t). The formal
denition is
Denition 4.5. A system is called fully observable, if the whole state x(t0 ) can be accurately
determined from the evolution of the input u(t) and the output signals y(t) within a nite
time interval [0 te ].
Employing this denition together with the time-solution of the system (4.9) we can de-
duce the observability criterion of Kalman:
4.2. State-Space Representation 67

A linear MIMO-system (4.9) is called fully observable, if the observability matrix


 
C
 CA 
Qb =  ..
 
.

 
CAn−1

has rank n. In case of linear SISO-systems, the observability matrix


cT
 
 cT A 
Qb =  ..
 
.

 
cT An−1

is quadratic and the conditions rank(Qb ) = n and det(Qb ) 6= 0 are equivalent.

4.2.5. State-Feedback Controller


We consider a plant expressed in the state-space representation
ẋ = Ax + Bu, x(0) = x0
(4.13)
y = Cx

where we have u ∈ Rm and y ∈ Rp . Such a representation is usually derived from a


linearization process leading to the linear representation (4.9). This will be denitely the
case when referring to aircraft systems. In this case, implementing the controllers discussed
within this chapter, one has to keep in mind, that in (4.13) x refers to ∆x, y refers to ∆y
and u refers to ∆u.
When designing controllers for MIMO-systems (4.13) with the output y = [y1 , . . . , yp ] and
input vector u = [u1 , . . . , um ] and all m inputs and p outputs being linearly independent,
i.e. rank(C) = p and rank(B) = m, we can idenpendently control m outputs by means of
the m input signals ui . To this end, we employ a linear state feedback controller
u = −Kx + F w (4.14)
with the controller matrix K ∈ Rm×n , the prelter matrix F ∈ Rm×p and the reference
vector w ∈ Rp as illustrated in Figure 4.7. Inserting the control law (4.14) in the system
dynamics (4.13) we obtain the closed loop system
ẋ = (A − BK)x + BF w, x(0) = x0
y = Cx.

A foundamental requirement for the contol loop above is it's stability. From Section 4.2.2
we infer, that we have to assure, that all eigenvalues si of the closed loop system matrix
 = A − BK must have a negative real part, i.e. Re{λi } < 0 must hold for all i = 1, . . . ,n.
Additional requirements are the tracking of the reference signal w(t) and the surpression
of disturbances. Next, we will rst refer to the tracking of constant reference signals and
68 4. Control Theoretic Foundations

x0

w u ẋ = Ax + Bu y
F
- y = Cx

K x

Figure 4.7.: State-feedback control loop with static prelter F and state feedback controller
K

secondly we refer to the eigenvalue placement to ensure stability and dynamic characteristics.
Considering constant reference signals w we demand, that in the steady-state for t → ∞
0 = ẋ = (A − BK)x + BF w,
y = Cx = w.

hold. Incorporation of the steady-state condition 0 = ẋ we rst derive the steady-state


x = −(A − BK)−1 BF w.

Note, that the inverse of (A − BK) exist, since we demand stability and therefore all
eigenvalues satisfy Re{λi (A − BK)} < 0 what implicates det(A − BK) 6= 0. In case of
m = p the static prelter matrix can be determined demanding2

y = −C(A − BK)−1 BF w = w

leading to
(4.15)
−1
F = − C(A − BK)−1 B .

Eigenvalue Placement
Now we refer to the choice of the controller matrix K To this end we rst consider SISO-
systems
ẋ = Ax + bu, with x(t0 ) = x0 ,
T
(4.16)
y = c x,

without a direct feedthrough, i.e. d = 0. For such systems y and u are scalar variables and
(4.14) simplies to
u = −kT x + F w (4.17)
2 If m 6= p the requirement y = w can not be demanded for the whole vector y. Instead, we demand that
the quadratic error (y − w)T (y − w) is minimized.
4.2. State-Space Representation 69

with the controller vector kT ∈ R1×n and a scalar prelter F . The closed loop dynamics
are obtained inserting the control law (4.17) in (4.16) leading to
ẋ = (A − bkT )x + bF w.

The characteristic polynomial of the closed loop system can be computed from
 
P (s) = det sI − (A − bkT ) = sn + ân−1 (k)sn−1 + . . . + â1 (k)s + â0 (k). (4.18)

Demanding desired closed loop eigenvalues λ∗i we compute the desired characteristic equation
n
(4.19)
Y
Pw (s) = (s − λ∗i ) = sn + a∗n−1 sn−1 + . . . + a∗1 s + a∗0 .
i=1

Now, we derive the n elements ki of the control vector kT based on the comparison of the
coecients of (4.19) and (4.18), e.g.,
â0 (k) = a∗0 ,
â1 (k) = a∗1 ,
..
.
ân−1 (k) = a∗n−1 .

Example:
We consider the examplary system
   
−1 2 1 0
ẋ =  0 −3 1  x +  1  u,
0 0 −3 1
 
y = 1 0 0 x.

Our aim is designing a controller u = −kT x + F w. In order to determine the control vector,
we compute the characteristic polynomial of the closed loop system
 
P (s) = det sI − (A − bkT )
(4.20)
= s3 + (7 + k2 + k3 )s2 + (3k1 + 5k2 + 4k3 + 15)s + 11k1 + 4k2 + 3k3 + 9.

Now, we demand the closed loop eigenvalues to be at λ∗1 = −2, λ∗2 = −2 and λ∗3 = −3.
Then, the desired characteristic polynomial reads
Pw (s) = (s + 2) · (s + 2) · (s + 3) = s3 + 7s2 + 16s + 12. (4.21)
Comparing (4.21) and (4.20) we obtain
7 + k2 + k3 = 7,
3k1 + 5k2 + 4k3 + 15 = 16,
11k1 + 4k2 + 3k3 + 9 = 12.
70 4. Control Theoretic Foundations

From the rst row, we derive k3 = −k2 . Inserting in the second equation results in k2 =
1 − 3k1 or accounting for the previous result k3 = −(1 − 3k1 ) respectively. Inserting in the
last equation we obtain k1 = 0,25 and the control vector
k = [0,25 0,25 − 0,25]T .

Employing this control vector, we deduce the prelter from


 −1
F = − cT (A − bkT )−1 b .

resulting in F = 1,09. Within the labroratory lectures Matlab functions will be provided,
which compute the control vector based on the desired eigenvalues.

Linear-quadratic Regulator (LQR)


So far we discussed the eigenvalue placement for shaping the closed loop behavior. Besides
its descriptive nature this method has several drawbacks
• For MIMO-system the controller gain matrix K has n · m elements. Nevertheless,
demanding n eigenvalue locations, this controller matrix is under-determined. This
problem can be circumvented by attaching eigenvalues to specic transfer channels
but since this attachment is not unique, there is no direct way of accounting for the
desired closed loop behavior and carrying out this method leads to extensive try-and-
error.
• Even for SISO-systems, the eigenvalue-placement only accounts for the poles of the
closed loop transfer function. Nevertheless, transfer zeros also aect the dynamic
behavior but they are not taken into account applying an eigenvalue placement pro-
cedure.
An alternative design method which can be applied to SISO- and MIMO-systems in the
same manner and also accounts for the tranfer zeros can be derived from optimal control
theory. Therein, the quadratic cost
Z∞
J = (y(t) − y)T (y(t) − y) dt. (4.22)
0

with y being the steady-state output is employed. Therein, deviations from the steady
state value are more costly the longer they exist and the larger they are. The objective
function can be generalized to account for deviations of the state x(t) from the steady state
x employing
Z∞
J = (x(t) − x)T Q(x(t) − x) dt. (4.23)
0

where Q ∈ Rn×n is a symmetric and positive semidenite matrix..


Denition 4.6. A quadratic matrix is positive (semi-)denite, if all it's eigenvalues are
positive (positive or zero).
4.2. State-Space Representation 71

A positive denite matrix Q can always be decomposed into an upper and lower triangular
matrix M or M T by means of a Cholesky decomposition Q = M M T (Matlab chol ). In
turn, a positive denite matrix can be generated employing quadratic forms Q = GT G. For
a feedthrough-free system with D = 0 we obtain
Z∞ Z∞
J= (y(t) − y)T (y(t) − y) dt = (x(t) − x)T C T
| {zC}(x(t) − x) dt,
0 0 =Q

e.g., chosing Q = CT C we can transfer (4.22) in the representation (4.23). Note that a
positive semidenite matrix Q always ensures that
z T Qz ≥ 0

holds for all z ∈ Rn , e.g. the objective function J is always positive for all z ∈ Rn . This is
an important characteristic of an appropriate objective function.
Note that the objective function (4.23) refers to a closed loop and x(t) in (4.23) is the tra-
jectory of the controlled system.

In order to simplify the derivation of the control law minimizing the objective function,
we employ the fact, that the state can be transformed, such that x = 0 and y = 0. Utilizing
the control law u(x) our objective is, to force the state to zero, such that
Z∞
xT Qx + uT Ru dt (4.24)

J=
0

is minimized. Note that we added an additional term uT Ru with R being positive denite
in order to avoid a controller which utilizes an arbritrary amount of energie and therefore
exceeds the input constraints. By means of Q und R the designer can weight the control
performance versus the input energy. Choosing Q we have to ensure, that all trajectories
contribute to the objective function. Otherwise a potentially unstable state is not noticed
within the objective function and the resulting controller will not stabilize the closed loop.
A stable control loop is achieved in case the articial system
ẋ = Ax + Bu,
yΣ = Σx

with Q = ΣT Σ is fully observable. Keeping this in mind, the design of the control law u(x)
has to be performed such that (4.24) reaches it's minimum. Mathematically this is referred
to as a dynamic optimization problem
Z∞
xT Qx + uT Ru dt s.t.

min J =
u(x)
0
ẋ = Ax + Bu,

whose constraint is a system of dierential equations (in contrast to classical parameter


optimization) and we look for the structure and parameterization of the optimal control
72 4. Control Theoretic Foundations

law. Such optimization problems are solved employing the calculus of variations and we
nally obtain the control law of a state feedback controller
u(x) = −Kx.

Having obtained the structure of the control law, we have to derive the parameterization
of the controller matrix K . To this end we insert the control law in the objective function
(4.24) and get
Z∞
xT Qx + uT Ru dt

J=
0
Z∞  
= xT Q + K T RK xdt
0
Z∞
= xT Q̃xdt
0

with Q̃ = Q + K T RK . Inserting the time solution x(t) = eÂt x0 we derive


Z∞
T
J= xT
0e
 t
Q̃eÂt x0 dt
0
∞ 
Z
T
= xT
0
 e t Q̃eÂt dt x0
0
T
= x0 P x0

with the constant matrix


Z∞
(4.25)
T
P = e t Q̃eÂt dt.
0

In order to minimize J = xT0 P x0 , we have to solve the integral (4.25), which is done
employing partial integration
Zt2 Zt2
t
f (t)ġ (t)dt = f (t)g (t)|t21 − ḟ (t)g(t)dt.
t1 t1

Then, we obtain
Z∞
ÂT t T
P =e Q̃Â−1 eÂt |∞
0 − ÂT e t Q̃Â−1 eÂt dt
0
4.2. State-Space Representation 73

and with
T
lim e t
= 0,
t→∞
∞ ∞
!
k tk k tk
X X
−1 Ât −1
 e =   =  · Â−1 = eÂt Â−1
k! k!
k=0 k=0

we get
Z∞
T
−1
P = −Q̃Â − Â T
e t Q̃eÂt dt Â−1 .
0
| {z }
P

The above equation can be rephrased and we obtain the Lyapunov-equation

P Â + ÂT P = −Q̃,
(4.26)
P (A − BK) + (A − BK)T P = −(Q + K T RK).

In order to derive the controller matrix K which minimizes J the necessary condition
J(K) dxT
0 P (K)x0 dP (K)
= = xT
0 x0 = 0
dkij dkij dkij

must hold for all i = 1, . . . , m, j = 1, . . . , n. Unfortunately, the dierentiation of P (K) can


not performed in a direct fasion, because P (K) is only implicitly dened by means of the
Lyapunov equation

P (A − BK) + (A − BK)T P = −(Q + K T RK).

To solve our problem, we have to dierentiate the above equation with respect to kij and
demand
dP (K)
= 0, (4.27)
dkij

to obtain the controller matrix K . Due to the symmetry R = RT and P = P T we get

dP (K) dK dP (K) dK T T
(A − BK) − P B + (A − BK)T − B P
dkij dkij dkij dkij
dK T dK
=− RK − K T R .
dkij dkij

Emplyoing (4.27) we deduce

dK dK T
(K T R − P B) + (RK − BT P ) = 0
dkij dkij
74 4. Control Theoretic Foundations

and due to K T R − P B = (RK − BT P )T


dK dK T
(RK − BT P )T + (RK − BT P ) = 0,
dkij dkij
dK dK T
MT + M =0
dkij dkij

with M = RK − BT P . Note that H = dK/dkij is n × m matrix, where the element ij is


the only one being one, all other elements are zero. Then we have
   
0 ... ... ... 0 0 ... ... ... 0
.. . . ..   .. . . .. 
. . .  . . . 

 
.. . .. .
   
MT  . . . . hij = 1 .. 0  + . . . . gij = 1 .. 0  M =0
   
.. . . . . ..  .. . . . . .. 
   
. . . .   . . . . 
 

0 ... ... ... 0 0 ... ... ... 0
  
0 ... 0 mi1 0 ... 0 0 0 ... ... ... 0

 0 ... 0 mi2 0 ... 0  .
 ..
.. ..
 .. .. .. .. .. 
 
. .

... ... ...
 
 . . . . . + 0

=0

0 ... ... ... 0

 . .. .. .. .. 

 ..
 
. . . .   mj1 mj2 ... ... ... mjn 
0 ... 0 mim 0 ... 0 0 0 ... ... ... 0

which has to hold for all i = 1, . . . , m, j = 1, . . . , n. This can only be achieved, in case
M = RK − BT P = 0

holds from which we derive


K = R−1 BT P . (4.28)
To compute K we have to compute the Lyapunov matrix P from (4.26). Inserting the
control law (4.28) in equation (4.26) we derive an equation for P
AT P + P A − P BR−1 BT P = −Q,

which is denoted as Ricatti-dierential-equation. Employing Matlab, the linear quadratic


regulator can be easily achieved calling K=lqr(A,B,Q,R).

PI-State-Space Controller
We already discussed the state space controller (4.15) employing a state feedback controller
and a static prelter
u = −Kx + F w.

Unfortunately, the static prelter does not guarantee steady-state accuracy for constant
reference signals w, in case the plant parameters are not exactly known and/or disturbances
aect the system.
4.2. State-Space Representation 75

x0
Kp
w u y
R ẋ = Ax + Bu
Ki
- - y = Cx

K
x

Figure 4.8.: PI-state space control loop

Therefore, we aim on integrating an integrational part in the control law leading to the
PI-state space controller. Employing the state space model
ẋ = Ax + Bu + Ed,
y = Cx
with the disturbence vector d aecting the system's dynamics by means of E , the control
law of the state space controller reads
ẋI = w − y = w − Cx,
(4.29)
u = −Kx + K p (w − Cx) + K I xI
with xI ∈ Rp , i.e. having the same dimension then the vector of controlled variables y ∈ Rp .
The closed loop dynamics employing the control law (4.29) read
          
ẋ A 0 x B 0 E
= + u+ w+ d (4.30)
ẋI −C 0 xI 0 I 0

with [xT (0) xTI (0)]T being the initial state. In order to derive the controller parameters K ,
K I and K p we perform an intermediate step. To this end, we design a state space controller
 
  x
u=− K1 K2 . (4.31)
| {z } xI
K

for the closed loop system (4.30) employing the previously discussed methods. Comparing
(4.31) and (4.29) we obtain
K + K pC = K 1
−K I = K 2
While K I is directly obtianed, the equation K + K p C = K 1 is underdetermined. In order
to parameterize the controller we rst chose K p . To this end we assume a constant reference
signal and a zero initial state x(0) = 0, xI (0) = 0. Now we choose K p such that
u = K pw
76 4. Control Theoretic Foundations

corresponds to the steady state input signal. For stable systems the steady state input can
be derived from the steady state condition
0 = ẋ = Ax + Bu,
y = Cx = w

since for a stable system the matrix A is regular. Then we have


x = −A−1 Bu,
y = −CA−1 Bu = w,

and obtain u = −(CA−1 B)−1 w and


K p = −(CA−1 B)−1 .

In case the system is unstable, the following iterative approach can be carried out to pa-
rameterize the PI-state space controller:
• Simulate the control loop chosing K p = 0 and compute K = K 1 − K p C
• Determine the sign of ui
• Chose K p = diag ([k1 , . . . , km ]) and set ki > 0 if ui > 0 (ki < 0 if ui < 0) and
compute K = K 1 − K p C
• Simulate the closed loop system and iteratively increase/decrease ki until a desirable
closed loop characteristic is obtained

4.2.6. Observer
The state feedback controller provides a maximum degree of freedom in controller design
but comes with the drawback, that information about the whole state vector has to be
employed. Unfortunately, in general this information is not completely available. In such
cases, state observers can be employed to derive an estimate of the state which can be
utilized to implement state-feedback controllers.
In order to derive the observer equation we consider a system without direct feedthrough
D=0
ẋ = Ax + Bu, with x(0) = x0 ,
(4.32)
y = Cx.

The underlying idea of the Luenberger observer [11] is attaching a model


x̂˙ = Ax̂ + Bu, with x̂(0) = x̂0 ,
(4.33)
ŷ = Cx̂

to the system (4.32), as illustrated in Figure 4.9. This model constitutes a simulation model
of the real system. The model is stimulated by the same input signal u(t) as the real system.
Assuming that no disturbances aect the system and the inital state x̂0 of the model equals
the real initial state x0 the estimated state x̂ and the real state x are the same. Nevertheless,
4.2. State-Space Representation 77

x0

u ẋ = Ax + Bu y
y = Cx

real system
x̂0

x̂˙ = Ax̂ + Bu

ŷ = Cx̂
simulation-model
Figure 4.9.: Observer: A simulation model is attached to the real system in order to derive
an estimate of the true state.

x0

u ẋ = Ax + Bu y
y = Cx

L
∆ −

x̂˙ = Ax̂ + Bu + ∆

ŷ = Cx̂

Figure 4.10.: Luenberger-observer

practically we have to consider modelling errors and we will not be able to exactly know
the true initial state. 3 In order to obtain an estimate even in these caseswe extend the
simulation model (4.33) by a feedback and get

x̂˙ = Ax̂ + Bu + L(y − ŷ), with x̂(0) = x̂0 ,


ŷ = Cx̂.

In order to design the observer, we have to chose a suitable observer matrix L. To this end

3 Note that the observer is employed since the true state x can not be measured.
78 4. Control Theoretic Foundations

we consider the estimation error e = x − x̂ and it's dynamics


ė = ẋ − x̂˙
= Ax + Bu − Ax̂ − Bu − LC(x − x̂)
(4.34)
= A(x − x̂) − LC(x − x̂)
= (A − LC) e

where the initial estimation error is e (0) = e 0 = x0 − x̂0 . In case the error dynamics (4.34)
are asymptotically stable, the estimation error e (t) converges to 0 for t → ∞. Note that an
asymptotically stable observer is obtained, if all eigenvalues of the matrix Ab = A − LC
are located left of the imaginary axis.
To parameterize the observer matrix L we employ the duality of controllabilty and observer-
ability. The eigenvalues of a matrix dos not change when taking the transpose, so
n o
λi {A − LC} = λi AT − CT LT

holds. Then, the observer matrix L corresponds to the design of a state feedback controller
ud = −LT xd for the dual system

ẋd = AT xd + CT ud ,
yd = BT xd .

In order to derive the observer matrix L, the methods described in the previous subsections
can be employed.
Note: The choice of the observer eigenvalues should be in a way, that the error dynamics
converge faster compared to the dynamics of the closed loop systems, i.e. the eigenvalues
λi {A − LC} should be placed left of the eigenvalues λi {A − BK}.
However, measurement noise provides a limit on how far left in the s-plane the eigenvalues
can be located.
5. Linearized Aircraft Dynamics

In this chapter we discuss some important stability properties and dynamic characteristics
of aircrafts. The underlying analysis is carried out based on linear approximations of the
nonlinear equations of motion derived in chapter 3. Such approximations are either linear
state-space models
∆ẋ = A∆x + B∆u, with ∆x(t0 ) = ∆x0 ,
∆y = ∆Cx + D∆u

or transfer matrices
−1
G(s) = ∆Y (s) · ∆U −1 (s) = C (sI − A) B + D,

which are derived in the vincinity of operating points. In the aerospace community, these
operating points are also referred to as trim points.

5.1. Trim Conditions


This section deals with the derivation of trim points for the nonlinear dynamics
ẋ = f (x, u), (5.1)
which abbreviates the nonlinear equations of motion with the state vector
(5.2)
 T
x= Vk α β p q r Φ θ Ψ λ µ h

consisting of the translational states Va , α , β , the rotational states p, q , r the attitude states
Φ, θ, Ψ and the positional states λ, µ and h. The input vector
 T
u = ξ η ζ δT

is constituted by the deections of the aileron ξ , the elevator η , the rudder ζ as well as the
thrust lever δT . At a trim point/operating point, a subset of the states-derivatives is zero,
e.g. we consider a stationary ight condition. The trim conditions are stated with respect to
a desired ight condition and are discussed in the following subsections. The ight conditions
have the common property that the moments and forces acting on the aircraft sum up to
zero.

5.1.1. Trim Condition for Horizontal Flight


First, we discuss the conditions which must hold to establish a stationary horizontal ight
with a predened speed Vk,dem and height hdem . Primarily, we have to answer the question,
which n deections and thrust lever position is necessary to maintain this ight condition.

79
80 5. Linearized Aircraft Dynamics

state variable x demands for trim state x demands on derivatives ẋdem


Vk V k,dem 0
α xs,1 0
β xs,2 0
p xs,3 0
q xs,4 0
r xs,5 0
Φ Φdem = 0 0
θ xs,6 0
Ψ arbitrary 0
λ arbitrary arbitrary
µ arbitrary arbitrary
h hdem 0
input u input for trim state u
ξ xs,7
η xs,8
ζ xs,9
δT xs,10
Table 5.1.: Trim conditions for stationary horizontal ight

In order to maintain a constant speed Vk , obviously V̇k = 0 must hold. Since we also demand
that the attitude remains constant, α̇ = 0, β̇ = 0, ṗ = q̇ = ṙ = 0, Φ̇ = θ̇ = Ψ̇ = 0 has to be
ensured and lastly, to ensure a constant height, ḣ = 0 must hold. Other state derivatives
referring to the positional states are arbitrary.1
Now, note that the state derivates are determined by the nonlinear dynamics (5.1). There-
fore, we aim on deriving the state x and input vector u such that the derivatives satisfy the
previously stated conditions. Since we demand a velocity Vk 6= 0 we cannot demand that the
time-derivatives of the positonal states λ, µ, h or xn , yn , zn respectively are zero. Also note
that the heading angle Ψ does not aect the horizontal ight trim-state and can be chosen
arbitrary. On the other hand, we demand a specic speed Vk = V k,dem as well as a specic
height h = hdem . Additionally, we force the aircraft to have zero roll angle Φ = Φdem = 0.
All these conditions are summerarized in Table 5.1.
To solve the trim problem we have to determine the variables xs,i with i = 1, . . . ,10, such
that the trim conditions hold, e.g.
ẋdem = f (x, u) (5.3)

with

x= V k,dem xs,1 xs,2 xs,3 xs,4 xs,5 Φdem
T
xs,6 arbitrary arbitrary arbitrary hdem ,
 T
u= xs,7 xs,8 xs,9 xs,10 .
1 Since the aircraft must have a positive speed in order to create lift we cannot demand that the positional
derivatives are zero.
5.1. Trim Conditions 81

xb -axis

velocity- α
vector
γ θ

horizontal
plane

Figure 5.1.: Relations between ightpath angle γ , pitch angle θ and angle of attack α for
β = 0.

Due to the nonlinear dynamics (5.3), the solution has to be derived numerically. To this
end we dene residual variables
r = g(xs , p) = ẋ − ẋdem = f (x, u) − ẋdem
T
where we dened the parameter vector p = V k,dem Φdem hdem . Then we force r →


0 which is usually done employing numerical optimization methods and minimizing the
quadratic sum rT r = r12 + r22 + . . .
!
X 2
T

min r r = min (ẋi − ẋi,dem ) .
xs xs
i

Commonly, we demand a zero angle of sideslip β dem = 0 and in this case we have γ = θ+α as
illustrated in Figure 5.1. Due to the attitude dierential equation (3.14) derived in Section
3.1, which is reered to as rate constraint and reads
1 sin(Φ) tan(θ) cos(Φ) tan(θ)
     
Φ̇ p
 θ̇  =  0 cos(Φ) − sin(Φ)  ·  q .
sin(Φ) cos(Φ)
Ψ̇ 0 cos(θ) cos(θ) r

In view of the above equation, we directly obtain Φ̇ = θ̇ = Ψ̇ = 0 if p = q = r = 0 holds, so


the optimization problem above can be simplied as summarized in Table 5.2.

5.1.2. Trim Condition for Climb Flight


Next, we discuss a second trim condition where we demand a specic ight path angle γdem
and a specic speed Vk,dem . In order to derive a trim conditions similar to those summarized
in table 5.1 for horizontal ight we have to nd a mapping from γdem to the variables
contained in the state vector (5.2). To this end we consider two possible transformations
between the ight path (or kinematic) frame and the north-east-down frame. From Section
2.8.4 we obtain
 T  
cos γ cos χ cos γ sin χ − sin γ cos γ cos χ − sin χ sin γ cos χ
T nk =  − sin χ cos χ 0  =  cos γ sin χ cos χ sin γ sin χ  .
sin γ cos χ sin γ sin χ cos γ − sin γ 0 cos γ
82 5. Linearized Aircraft Dynamics

state variable x demands for trim state x demands on derivatives ẋdem


Vk V k,dem 0
α xs,1 0
β β dem = 0 0
p 0 0
q 0 0
r 0 0
Φ Φdem = 0 0
θ α = xs,1 0
Ψ arbitrary 0
λ arbitrary arbitrary
µ arbitrary arbitrary
h hdem 0
input u input for trim state u
ξ xs,2
η xs,3
ζ xs,4
δT xs,5
Table 5.2.: Simplied trim conditions for stationary horizontal ight with β dem = 0 and
ensuring Φ̇ = θ̇ = Ψ̇ = 0 choosing p = q = r = 0

Alternatively, we could derive the transformation matrix with a detour via the body-xed
frame
T nk = T nb · T bk
with

cos αk cos βk − cos αk sin βk cos µk + sin αk sin µk
T bk =  sin βk cos βk cos µk
sin αk cos βk − sin αk sin βk cos µk − cos αk sin µk

− cos αk sin βk sin µk − sin αk cos µk
cos βk sin µk 
− sin αk sin βk sin µk + cos αk cos µk
and
 T
cos Ψ cos θ sin Ψ cos θ − sin θ
T nb =  cos Ψ sin θ sin Φ − sin Ψ cos Φ sin Ψ sin θ sin Φ + cos Ψ cos Φ cos θ sin Φ 
cos Ψ sin θ cos Φ + sin Ψ sin Φ sin Ψ sin θ cos Φ − cos Ψ sin Φ cos θ cos Φ
 
cos Ψ cos θ cos Ψ sin θ sin Φ − sin Ψ cos Φ cos Ψ sin θ cos Φ + sin Ψ sin Φ
=  sin Ψ cos θ sin Ψ sin θ sin Φ + cos Ψ cos Φ sin Ψ sin θ cos Φ − cos Ψ sin Φ  .
− sin θ cos θ sin Φ cos θ cos Φ
Comparing the elements of both matrices T nk we derive
− sin γ = − sin θ cos αk cos βk + cos θ · (sin Φ sin βk + cos Φ sin αk cos βk )
⇔ sin γ = sin θ cos αk cos βk − cos θ · (sin Φ sin βk + cos Φ sin αk cos βk ).
5.1. Trim Conditions 83

from the third element in the rst column. Solving the above equation for θ we rst get
sin γ
= tan θ cos αk cos βk − (sin Φ sin βk + cos Φ sin αk cos βk ).
cos θ
Abbreviating
a = cos αk cos βk ,
b = sin Φ sin βk + cos Φ sin αk cos βk

and computing the square on both sides and solving for tan θ we obtain
1 2
sin2 γ = (a tan θ − b)
cos2 θ
⇔ sin2 γ · 1 + tan2 θ = a2 tan2 θ − 2ab tan θ + b2
⇔ 0 = tan2 θ a2 − sin2 γ − 2ab tan θ + b2 − sin2 γ
 (5.4)
p
ab + sin γ a2 − sin2 γ + b2
⇔ tan θ =
a2 − sin2 γ
which is called climb constraint. Demanding a zero roll angle Φdem = 0 and a zero angle of
sideslip βdem = 0 we get the simplied expression
sin γ = sin θ cos αk − cos θ sin αk = sin(θ − αk ),

where the right side follows from trigonometric identities. So we conclude


γ = θ − αk .

The above relation together with the expression


ḣ = Vk sin γ,

which holds for stationary climb we derive the trim conditions summarized in table 5.3.
84 5. Linearized Aircraft Dynamics

state variable x demands for trim state x demands on derivatives ẋdem


Vk Vk,dem 0
α xs,1 0
β βdem = 0 0
p 0 0
q 0 0
r 0 0
Φ Φdem = 0 0
θ γdem + α = γdem + xs,1 0
Ψ arbitrary 0
λ arbitrary arbitrary
µ arbitrary arbitrary
h hdem −Vk,dem sin γdem
input u input for trim state u
ξ xs,2
η xs,3
ζ xs,4
δT xs,5
Table 5.3.: Trim conditions for stationary climb with Vk = Vk,dem and γ = γdem . Demanding
βdem = 0 and a constant attitude Φ̇ = θ̇ = Ψ̇ = 0 achieved by p = q = r = 0
5.1. Trim Conditions 85

5.1.3. Trim Condition for Coordinated Turn


Finally, we consider the coordinated turn trim condition where we demand Φ̇dem = θ̇dem = 0,
Ψ̇dem 6= 0 and Vk,dem . From (3.13) we obtain
     
p Φ̇dem − sin(θ) Ψ̇dem − sin(θ) Ψ̇dem
ω nb
b =  q  =  sin(Φ) cos(θ) Ψ̇dem + cos(Φ) θ̇dem  =  sin(Φ) cos(θ) Ψ̇dem . (5.5)
r cos(Φ) cos(θ) Ψ̇dem − sin(Φ) θ̇dem cos(Φ) cos(θ) Ψ̇dem

Demanding V̇k = 0, α̇ = 0 and β̇ = 0 it is ensured, that there is no lateral acceleration in


coordinated turn. In addition for a coordinated turn, the lateral force has to be zero, i.e.
Fyb = 0. Inserting the above conditions into the y-component of equation (3.4) we get

1 X
v̇R,y,b = −r · uk,b + p · wk,b + g cos θ sin Φ + F i,b ,
m i
⇔ 0 = −r · uk,b + p · wk,b + g cos θ sin Φ.

Now, we insert (5.5) and obtain


0 = − cos(Φ) cos(θ) Ψ̇dem · uk,b − sin(Φ) Ψ̇dem · wk,b + g cos θ sin Φ. (5.6)

Deriving an expression for uk,b ad wk,b from v k,b = T bk · v k,k we get


  
uk,b cos αk cos βk − cos αk sin βk cos µk + sin αk sin µk
 vk,b  =  sin βk cos βk cos µk
wk,b sin αk cos βk − sin αk sin βk cos µk − cos αk sin µk
  
− cos αk sin βk sin µk − sin αk cos µk Vk
cos βk sin µk · 0  (5.7)
− sin αk sin βk sin µk + cos αk cos µk 0
 
cos αk cos βk
= Vk  sin βk 
sin αk cos βk

and combining (5.6) and (5.7) we end up with


0 = − cos(Φ) cos(θ) Ψ̇dem · Vk cos αk cos βk − sin(θ) Ψ̇dem · Vk sin αk cos βk
+ g cos θ sin Φ,
Ψ̇dem · Vk Ψ̇dem · Vk
⇔0=− cos(Φ) cos(θ) cos αk cos βk − sin(θ) sin αk cos βk
g g
+ cos θ sin Φ.

Abbreviating G = Ψ̇dem · Vk /g we get


0 = −G cos(Φ) cos(θ) cos αk cos βk − G sin(θ) sin αk cos βk + cos θ sin Φ,
sin Φ − G cos(Φ) cos αk cos βk (5.8)
⇔ tan θ =
G sin αk cos βk
86 5. Linearized Aircraft Dynamics

state variable x demands for trim state x demands on derivatives ẋdem


Vk V k,dem 0
α xs,1 0
β xs,2 0
p follows from (5.5) 0
q follows from (5.5) 0
r follows from (5.5) 0
Φ follows from (5.9) 0
θ follows from (5.8) 0
Ψ arbitrary Ψ̇dem
λ arbitrary arbitrary
µ arbitrary arbitrary
h hdem −Vk,dem sin γdem
input u input for trim state u
ξ xs,3
η xs,4
ζ xs,5
δT xs,6
Table 5.4.: Trim conditions for a coordinated turn with Vk = Vk,dem and γ = γdem

from which we derive an expression for the roll angle by comparison with the climb constraint
in equation (5.4)
p
ab + sin γ a2 − sin2 γ + b2
tan θ = .
a2 − sin2 γ

The result from this comparison provides an expression to compute the roll angle during
coordinated turn which reads
a = 1 − G tan αk sin βk ,
sin γ
b=
cos βk
c = 1 + G2 cos2 βk2 (5.9)
q
2 2 2 2
cos βk a − b + b · tan αk · c · (1 − b ) + G sin βk
tan Φ = G · .
a2 − b2 · 1 + c · tan2 αk

cos αk

Table 5.4 summarizes the trim conditions for the coordinated turn, given a desired speed
Vk,dem , a desired ight path angle γdem , a desired height hdem and a desired turn rate Ψ̇dem .

5.1.4. Numerical Solution of an Optimization Problem


In the previous sections we discussed specic ight conditions and derived demands on
specic states xi and the state vector's time derivative resulting from the nonlinear equations
5.1. Trim Conditions 87

of motion
ẋdem = f (x, u).
In order to derive those elements of x, which are not dened by the respective ight condition
as well as the elements of the input vector u both are summarized into a vector xs of unknown
variables. Now, dening a vector of residual variables
r = g(xs , p) = ẋ − ẋdem = f (x, u) − ẋdem
the elements of xs have to be determined such that rT r is minimized. This can be expressed
as the optimization problem
!
(5.10)
X 2
T

min r r = min (ẋi − ẋi,dem ) .
xs xs
i

Due to the nonlinear characteristics of the equations of motion and the common denition
of aerodynamic forces and moments by means of lookup tables the derivation of an analytic
solution is quite cumbersome. Instead dierent kinds of nonlinear numerical optimization
methods can be applied to solve the optimization problem. A very nice introduction into
optimization can be found in the lecture notes [5] provided in German language. A well
suited algorithm to solve our optimization problem is the Simplex-algorithm of Nelder and
Mead. The advantage of this algorithm is, that it does not rely on gradients so there is no
necessity to compute partial derivatives of the objective function rT r which is cumbersome
since lookup tables are commonly employed when stating the equations of motion.

Simplex Algorithm of Nelder and Mead


The Simplex-algorithm is based upon a simplex in the n-dimensional parameter space (xs ∈
Rn ) formed by n + 1 points xk,i with i = 1, . . . , n + 1 and k referring to the k -th iteration
step of the algorihm. Note that for n = 1 the simplex is a straight line and for n = 2 it
constitutes a triangle. In every iteration step, the objective function f (xk,i ) is evaluated for
each of the n + 1 points of the simplex, then the points are sorted such that
f (xk,1 ) ≤ f (xk,2 ) ≤ . . . ≤ f (xk,n+1 )
holds. Then the algorithm replaces the worst point f (xk,n+1 ) based on the equation
g(a) = xk + a · (xk − xk,n+1 ) (5.11)
with the center of gravity
n
1 X k,i
xk = x
n i=1

of the remaining simplex. The algorithm performs dierent evaluations of (5.11) which are
called reection, expansion, outer and inner contraction and shrinking. These procedures are
illustrated in Figure 5.2. The algorithm is implemented in the Matlab-function fminsearch.
Figure shows the iterations of the Simplex-algorithm applied to an example borrowed from
[5], where the task was minimizing Rosenbrock's banana function
min2 100 · (x2s,2 − x2s,1 )2 + (xs,1 − 1)2 .

xs ∈R
88 5. Linearized Aircraft Dynamics

xk,3
1st step: Reection
xk Determine reection point xkr = g(1) and compute f (xkr )
xk,2 If f (xk,1 ) ≤ f (xkr ) < f (xk,n ) then replace xk,n+1 = xkr
xk,1

xkr
xk,3

Expansion xk,1 xk xk,2


If f (xkr ) < f (xk,1 ) compute xke = g(2) and f (xke )
If f (xke ) < f (xkr ) then replace xk,n+1 = xke
otherwise xk,n+1 = xkr

xke

xk,3
Outer contraction
If f (xk,n ) ≤ f (xkr ) < f (xk,n+1 ) compute xkc = g(0.5)
xk and f (xkc )
xk,2 If f (xkc ) < f (xkr ) replace xk,n+1 = xkc otherwise perform
xk,1
shrinking
xkc

Inner contraction xk,3


If f (xkr ) ≥ f (xk,n+1 ) compute xkc = g(−0.5)
and f (xkc )
If f (xkc ) < f (xk,n+1 ) replace xk,n+1 = xkc
otherwise perform shrinking xk,1 xkc xk,2
xk

xk,3 Shrinking
Perform shrinking of the simplex about the best
point xk,1
Compute xk,i = xk,1 − 0.5 · (xk,i − xk,1 )
xk,1 xk,2

Figure 5.2.: Simplex-algorithm of Nelder and Mead


5.1. Trim Conditions 89

3500

3000

2500

2000
f

1500

1000

500

0
-2

-1 -2
-1
0
0
1
1
x2
x1

Stop Pause

Figure 5.3.: Iterations of the simplex algorithm applied to Rosenbrock's banana function
taken from [5].
90 5. Linearized Aircraft Dynamics

5.1.5. Obtaining the Jacobian Matrices


After the optimization problem (5.10) has been solved, the Jacobian matrixes have to be
determined. Due to the complex nature of the equations of motion where the aerodynamics
are usually dened based on lookup-table data, the computation of the Jacobian matrices
is carried out numerically employing the Matlab function numjac.
This function performs a numerical partial dierentiation

∂f (xg )
F xg =
∂xg xg =xg

of a vector eld f (xg ) with respect to the vector xg taken at xg . For the problem at hand,
this vector eld is constituted by the equations of motion, xg = [xT uT ]T is the combined
state and input vector and xg = [xT uT ]T is formed by the steady-state state and input
vector obtained from the trimming procedure. Employing the state
(5.12)
 T
x= Vk α β p q r Φ θ Ψ λ µ h
and the input vector
(5.13)
 T
u= ξ η ζ δT

the matrix F xg obtained from the numerical Jacobian computation and since ẋ = f (x, u) ∈
R12 is a 12 × 16 matrix. The matrix
 
F xg = A B

has to be decomposed into the system's and input matrices


∂f (x, u) ∂f (x, u)
A= | x=x , B= | x=x ,
∂x u=u ∂u u=u (5.14)

where A ∈ R12×12 and B ∈ R12×4 due to the four input variables.

5.2. Linear Analysis


In the previous section we discussed how the linearization of the nonlinear equation of
motions is performed. Now, we are able to compute linear approximations for dierent
ight conditions, which are a suitable basis for designing controllers which are valid for the
vincinity of the respective trim point. To this end, the methods discussed in Chapter 4 can
be employed.
In this section we will discuss some dynamic properties of aircrafts based on the linear
approximations. In a rst step we will discuss the decoupling between the longitudinal and
lateral aircraft dynamics which simplies analysis as well as controller design.

5.2.1. Decomposition into Longitudinal and Lateral Dynamics


Considering the linear approximations (5.14) we note, that the rows and columns of A and
B are arranged in the sequence determined by the state (5.12) and input vector (5.13).
5.2. Linear Analysis 91

The state vector is sorted such that the rst three states consitute the translational states,
followed by three rotational states, three attitude states and lastly three positional states.
Alternatively we could think of resorting the state vector such that the rst part of the
resorted state vector is constituted by the longitudinal states Vk , α, θ, q and h (or the zned -
position) and the second part contains the lateral states β , Φ, p, r and Ψ. The two remaining
positional states are omitted in the following discussions since the horizontal position does
not aect the dynamics2 . In the same manner we resort the input vector, such that the rst
two elements are the elevator deection η and the thrust lever δT which primarily aect the
longitudinal dynamics and the last two elements are the aileron ξ and rudder ζ deections
primilarly aecting the lateral states. Resorting A ∈ R12×12 and B ∈ R12×4 to reect the
new state
 T
x= Vk α θ q h β Φ p r Ψ

and input vector


 T
u= η δT ξ ζ

we obtain the rearranged matrices à ∈ R10×10 and B̃ ∈ R10×4 . A closer investigation of


these matrices shows, that they posses a very special structure which can be described by
   
Along ≈0 Blong ≈0
à = , B̃ = .
≈0 Alat ≈0 Blat

Due to the nearly block-diagonal structure, the longitudinal and lateral dynamics are com-
monly regared to be decoupled so seperate analysis and controller design is performed for
the longitudinal dynamics
ẋlong = Along xlong + Blong ulong (5.15)
with the longitudinal states and inputs
 T  T
xlong = Vk α θ q h , ulong = η δT

and lateral dynamics


ẋlat = Alat xlat + Blat ulat (5.16)
with the lateral states and inputs
 T  T
xlat = β Φ p r Ψ , ulat = ξ ζ .

2 This can also be observed noting that all elements of the columns of F xg referring to λ and µ or xned ,
yned respectively are zero.
92 5. Linearized Aircraft Dynamics

1.5 1.5
x cg =0.35 m.a.c Vk=100 m/s

1 x cg =0.3 m.a.c 1 Vk=150 m/s


x cg =0.25 m.a.c Vk=200 m/s

0.5 0.5
Im{ i }

Im{ i }
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2
Re{ i } Re{ i }

Figure 5.4.: Eigenvalue conguration in dependence on the center of gravity position (left)
and in dependence of the speed Vk (right).

5.2.2. Longitudinal Dynamics


Computing the eigenvalues of the longitudinal dynamics (5.15) with the longitudinal states
and input vector ulong = η δT we obtain the char-
 T  T
xlong = Vk α θ q h
acteristic eigenvalue conguration for xed wing aircrafts as illustrated in Figure 5.4 for
dierent center of gravity positions and dierent speeds. The complex conjugated eigen-
value pair near the imaginary axis describes the phugoid movement, a slow and weakly
damped oscillation of the ightpath. The complex conjugated eigenvalue pair on the left
side is referred to as the short period mode, a comparably fast oscillation about the yb -axis.

Longitudinal Static Stability


Static stability is closely related to the eigenvalue conguration discussed before. For the
further discussions of static stability, we assume the aircraft to be in the equilibrium condi-
tion, i.e. in the trim state. Now, the tendency of the aircraft to restore this ight condition
when minor disturbances occur determines it's static stability characteristics. The aircraft
is said to be
• Statically stable/Having positive stability if the aircraft restores the ight condition in
response to a disturbance without any human or machine (control) input. Note that
it is not necessary to recover the exact conditions prior to a disturbance, but rather
not to continue to diverge from the original ight condition
• Neutrally stable/Having zero stability, if the aircraft neither tends to restore the orig-
inal ight condition nor continues to diverge from it
• Statically unstable/Having negative stability if in response to a disturbance the aircraft
continues to diverge from the original ight condition
The dierent stability characteristics are depicted in Figure 5.5. Next, we discuss the factors
which determine the longitudinal stability properties of an aircraft. To this end we consider
an aircraft in an equilibrium (trim) condition as depicted in Figure 5.6. Therein G denotes
5.2. Linear Analysis 93

pitch down
disturbance

statically stable
neutrally stable

statically unstable
Figure 5.5.: Longitudinal stability

the center of gravity which is moving during operating due to the loss of mass from burning
fuel. On the other hand, N denotes the neutral point, where the pitching moment is not
changing with α (see page 39). In order to maintain height, the lift Z equals the graviational
forces mg and the aircraft posses the respecting angle of attack α. Now we consider a
disturbance causing the derivation ∆α from the trim state. This additional angle of attack
∆α leads to an additional lift force ∆Z at the neutral point of the aircraft. The pitching
moment about the center of gravity caused by the disturbance is
∆M = xGN ∆Z = (xN − xG ) · ∆Z = q · S · C · CM α · ∆α

and we have that


xN − xG
CM α = · ∆CZα . (5.17)
c
For the locations of the center of gravity G and the neutral point depicted in Figure 5.6
with xN > xG this additional lift causes a pitch down moment
CM α < 0

which leads to a decrease of ∆α so it tends to recover the original trim condition. On the
contrary, if xN < xG we have
CM α > 0

and pitching moment tends to increase ∆α representing an unstable situation. Since the cen-
ter of gravity position is time varying, static stabilty will become situation/time dependent.
Z ∆Z
xb
α Vk
mg
∆α
Vk xG xGN
xN
Figure 5.6.: Longitudinal stability in pitching plane
94 5. Linearized Aircraft Dynamics

Phugoid mode

Short-period mode

Figure 5.7.: Longitudinal modes

From (5.17) one can derive a stability measure


CM α xN − xG
SM = − =−
CZα c
which is positive if the aircraft is statically stable. Then static stability can be summarized
as follows:
• Statically stable/Having positive stability if SM > 0 holds which is equivalently ex-
pressed by CM α < 0 or xN > xG
• Neutrally stable/Having zero stability, if SM = 0 holds which is equivalently expressed
by CM α = 0 or xN = xG
• Statically unstable/Having negative stability, if SM < 0 holds which is equivalently
expressed by CM α > 0 or xN < xG
The stability properties are also reected in the eigenvalue conguration. So a statically
unstable aircraft will have eigenvalues with positive real parts.

Longitudinal Dynamical Modes


Besides the static stability characteristics dynamical modes linked to the eigenvalues deter-
mine the behavior of the aircraft. Considering the longitudinal dynamics these modes are
the phugoid and the short-period mode. The phugoid movement is formed by an exchange
of potential and kinetic energy as illustrated in Figure 5.7. If (due to an elevator pulse or a
disturbance aecting the angle of attack) the pitch angle increased the aircraft climbs a bit,
which simultaneously leads to an reduction of speed. This speed reduction in turn causes the
aircraft's nose to drop down and the aircraft is loosing height while simultaneously gaining
speed. The increasing speed then leads to a raise of the nose and so the whole sequence is
repeated. It's period is inversely proportional to the ight speed and the damping ratio is
5.2. Linear Analysis 95

proportional to the ratio CD /CZ of the overall drag to lift coecient. In the phugoid mode
primarly the speed Vk and θ are engaged.
The short-period mode is an angle of attack oscillation with a period of only a few seconds,
mainly determined by angle of attack α and pitch-rate q . Due to the short period, the speed
and height has no time to react signicantly so the ightpath remains nearly unaected as
illustrated in 5.7. The mode is excited by applying a elevator pulse suciently short to not
exicite the phugoid mode.

5.2.3. Lateral Dynamics


Computing the eigenvalues of the lateral dynamics (5.16) employing the lateral states xlat =
and input vector ulat = ξ ζ we obtain the characteristic eigen-
 T  T
β Φ p r Ψ
value conguration for xed wing aircrafts as illustrated in Figure 5.8. The complex con-
jugated eigenvalue pair is referred to as the dutch roll mode, a weakly damped oscillation
coupling the roll and yaw movements. For the following discussions we consider the F-16 ex-
ample taken from [14] and derive the trim state for a horizontal ight at a speed Vk = 150m/s
and a height of h = 8km with a center of gravity position at xcg = 0.3c. Rearranging the
lateral states in the sequence x̃ = r β p Φ Ψ and resorting the system and input
 T

matrix we derive the linear approximation


    
ṙ −0.1110 2.2679 0.0067 0 0 r
 β̇   −0.9867 −0.1356 0.1408 0.0646 0  β 
    
 ṗ  =  0.3186 −9.9842 −0.7141 0 0  p 
    
 Φ̇   0.1415 0 1.0000 0 0  Φ 
Ψ̇ 1.0100 0 0 0 0 Ψ
  (5.18)
0.0071 0.0194

 0 0 
 ξ

+
 0 0 
 ζ
 −8.3521 1.6581 
−0.0922 −0.8014

x cg =0.35 m.a.c Vk=100 m/s


2 2
x cg =0.3 m.a.c Vk=150 m/s
x cg =0.25 m.a.c Vk=200 m/s
1 1
Im{ i }

Im{ i }

0 0

-1 -1

-2 -2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2
Re{ i } Re{ i }

Figure 5.8.: Eigenvalue conguration in dependence on the center of gravity position (left)
and in dependence of the speed Vk (right).
96 5. Linearized Aircraft Dynamics

V
∆v −L
∆α V

Φ
Γ ∆v

Figure 5.9.: Lateral static stability

The dutch-roll represents a coupling between r, β and p, Φ which can be observed considering
the system matrix in (5.18), where ṙ and β̇ are aected by p and Φ. On the other hand, the
roll dynamics ṗ, Φ̇ are aected by the yaw states r and β .

Lateral Static Stability and Directional Stability


Lateral static stability refers to the ability of an aircraft to maintain the wing level, i.e. the
trimmed roll angle. This ability is closely related to the dihedral angle which is chosen in the
design process to achieve a desired level of static stability. Now, we discuss the roll stability
by means of Figure 5.9 and assume a disturbance causing a small roll angle Φ. Then the
aircraft will sideslip with speed vβ . Due to the dihedral angle of the wings the starboard
wing will experience an additional small normal speed component ∆v = vβ sin(Γ), which
causes an increase in the angle of attack ∆α. This increase in the eective angle of attack
and therefore lift causes a restoring rolling moment. In the same manner the dihedral angle
on the port wing will cause a normal force component in the opposite direction leading to
an decrease of the eective angle of attack. The reduction of lift on the port wing also
contributes to the restoring moment −L in Figure 5.9. We infer that for an aircraft to be
laterally statically stable,
∂CL
<0
∂Φ
must hold.
Besides the roll stability the directional stability is also related to the lateral stability. It
refers to the ability of the aircraft to yaw (or weathercock) into the direction of relative
wind ensuring a ight with zero angle of sideslip. The vertical stabilizer is the most visible
structural part related to directional stability. To discuss directional stability we refer to
Figure 5.10 considering a disturbance causing a positive angle of sideslip. Note that this
5.2. Linear Analysis 97

xb xb V
β
β
−Ψ

V
lift

N ∆v

Figure 5.10.: Lateral directional stability

positive sideslip causes a negative yaw angle since the nose of the aircraft was turned to the
left of the velocity vector V . Since the airow now approaches the vertical stabilizer under
an angle β lift is created which constitutes a positive roll moment turning the nose into the
direction of V , i.e. minimizing the angle of attack β . Therefore, an aircraft is directionally
stable if
∂CN
>0
∂β
holds

Lateral Dynamical Modes


The dutch roll is illustrated in Figure 5.11. The dutch roll is initiated as follows: Consider
a disturbance which generates a yaw motion, i.e. a postive yaw rate r while the starboard
wing is at a lifted position. This yaw rates aects the angle of sideslip β (see second line
in (5.18)), so the port wing is moved forward resulting in an increase of lift. On the other
hand, the starbord wing is moved backwards, causing a reduction in lift of the starboard
wing. This introduces a positive roll movement as illustrated in the second line of Figure
5.11. The increase in lift on the port wing comes with an increase in drag causing a sideslip
98 5. Linearized Aircraft Dynamics

motion turning the nose of the aircraft to the left which is referred to as dihedral eect. In
addition, the airow approaches the vertical stabilizer from the left causing a force at the
stabilizer which is referred to as directional stability. Yawing back to the left, the starboard
wing generates more lift compared to the port wing so the aircraft rolls to the left until the
combination of the increased drag on the starboard side together with the vertical stabilizer
induce a yawing back to the right and the whole process repeats itself. This periodicity
causes the oscillation in yaw and pitch where the roll angle Φ or rollrate p follwos the yaw
angle Ψ or the yaw-rate r by an phase angle of 90◦ .
The fast real pole on the left corresponds to the roll dynamics and the real eigenvalue on
the right describes a slow spiraling mode. This mode is excited by a disturbance in sideslip
which causes a wing to drop. The sideslip lead to the creation of lift at the stabilizer which
tends to rotate the aircraft in the direction of relative wind. This yawing motion produces
dierential lift between the port and starboard wing and the starboard wing is dropping
further. This ongoing increase in the roll angle is illustrated within Figure 5.12. The eect
of the creation of additional drag on the lifted wing which was also discussed previously while
explaining the dutch roll mode tends to turn the sideslip back and creates a restoring rolling
moment. So the spiraling mode is created because the dihedral eect and the directional
stability (turning the nose of the aircraft in the direction of relative wind) act in opposition.
The requirements usually aim on achieving a restoring dihedral and directional stability
moments in equal size, so the spiraling mode will be nearly neutrally stable. Therefore the
time-constant is quite large so the wing is slow in restoring level attitude. In case the mode
is slightly unstable, a diverging behavior in roll and yaw will occur. Since the overall lift
vector of the airframe will now be tilted by the roll angle, the vertical force component
becomes to weak to maintain height. This results in an unstable ight path where the
aircraft approaches the ground on a spiral trajectory. Since the mode is developing quite
slowly, the incorporated accelerations are small and might not be noticed by the pilot. When
there are no visual cues (at night or when ying through clouds) the pilot might not notice
that the aircraft entered this mode which might lead to very serious problems recovering the
aircraft.
The fast real pole on the left in Figure 5.8 is referred to as roll subsidence mode which
is usually decoupled from spiraling of the dutch roll mode. If the aircraft undergoes a
disturbance causing a positive roll moment the roll movement will cause a velocity normal
to the wing. This leads to a small increase in the angle of attack and therefore lift of the
down-going wing and a small decrease of the angle of attack and therefore in the lift on
the lifted wing leading to a restoring moment. This was already discussed in the context of
lateral static stability. Of course, a increase of lift comes with an increase of drag causing a
yawing motion but this is usually ignored when considering the roll subsidence mode since
due to the fact that the respective eigenvalue is quite fast.
5.2. Linear Analysis 99

Φ
r

p
Ψ

r
Φ

p
Ψ

Figure 5.11.: Dutch-roll mode


100 5. Linearized Aircraft Dynamics

stabilizer lift stabilizer lift


stabilizer lift force force
force
Φ
Φ
Φ

β β
vk β
vk
vk

Figure 5.12.: Dutch-roll mode


5.2. Linear Analysis 101

5.2.4. Concluding Remarks on Stability


Previously, within this section we discussed the longitudinal and static stability of aircraft.
In aircraft design, the stability characteristics are designed into the airframe. One has to
keep in mind, that in a very stable design, much input energy is necessary to modify the
aircraft's ight condition and perform maneuvers. Therefore, in aircraft design we aim on
achieving a good compromise between stability and maneuverability. In order to achieve the
high maneuvering performance demands for current ghter aircraft, the design is usually
chosen to be unstable.
While in the control community we only dierentiate between stable, neutrally stable and
unstable, the aerospace community denes static and dynamic stability. In order to discuss

Statically and dynamically stable

Statically stable and neutral dynamic stability

Statically stable and dynamically unstable

Figure 5.13.: Static and dynamic stability

dynamic stability we refer to Figure 5.13 showing three dierent cases of static stability but
dierent dynamic stability characteristics. As discussed in the previous subsections static
stability refers to the creation of restoring moments which tend to push the aircraft back to
the equilibrium. Note that there are restoring moments in each of the depicted situations.
Dynamic stability refers to the oscillatory motion: If the oscillation decay we have dynamic
stability, if the oscillations neither decay nor diverge we refer to this situation as neutral
102 5. Linearized Aircraft Dynamics

dynamic stability. In case the oscillation tend to diverge, we have dynamic instability. From
a control theoretic point of view, stability is primarly linked to dynamic stability since the
existence of restoring moments is obviously not sucient to maintain a specic ight state.

5.3. Linear Controllers for Nonlinear Plants


Finally we refer to the implementation of linear controllers to control a nonlinear plant
ẋ = f (x,u), with x(0) = x0 ,
(5.19)
y = h(x,u).

In order to design the controller we performed a linearization of (5.19) and obtained the
linear approximation
∆ẋ = A∆x + B∆u, with ∆x(0) = ∆x0
∆y = C∆x + D∆u.

with ∆x = x−x, ∆u = u−u, ∆y = y −y. Thererin x, u and y refer to the trim conditions.
Note that in most of the discussions of Chapter 4 we employed u instead of ∆u, x instead
of ∆x and y instead of ∆y for the case of simplicity. Taking into account that the linear
approximations refer to deviations from the trim condition, the PI-state space controller
designed for the linearized system reads
ẋI = ∆w − ∆y,
∆u = −K∆x + K p (∆w − y) + K I xI .

Note that the reference signal now also relates to the deviation of the reference value from
the trimmed output variable ∆w = w − y. Implementing this controller on the real system
which is represented by the nonlinear dynamics (5.19) we have to keep in mind that the
real system requires the input signal u instead of ∆u and provides the absolute state x and
output y instead of ∆x and ∆y. Considering these relations, we have to implement the
control law
ẋI = (w − y) − (y − y) = w − y,
u = ∆u + u = u − K(x − x) + K p (w − y) − (y − y) + K I xI
= u − K(x − x) + K p (w − y) + K I xI

The modications to the controller structure are illustrated in Figure 5.14.


5.3. Linear Controllers for Nonlinear Plants 103

∆x0
Kp
∆w R ∆u ∆ẋ = A∆x + B∆u ∆y
Ki
− − ∆y = C∆x

∆x

Kp x0
u
w R u ẋ = f (x,u) y
Ki
− − y = h(x,u)

x

x

Figure 5.14.: PI-state space controller implemented for nonlinear plants


6. Consideration of Input Constraints
In Chapter 4 we discussed dierent linear control methods which can be employed to control
an aircraft in the vincinity of an trim point. In order to operate in between trim points, we
have to combine a set of linear controllers, each designed for a specic trim point. Before
we refer to such Gain-Scheduling controllers in the next chapter, we consider another source
of nonlinearity which stems from constraints on the available input values. Since the same
phenomena associated with input constaints can also occur in gain-scheduled controllers we
rst refer the eects related to input constraints.
All control methods discussed previously are considering linear plant models and we as-
sumed, that input commands u issued by the controller constitute the actual input u of
the plant. Practically, the input command has to be realized by some sort of actuator. In
case the actuator dynamics are signicantly faster compared to the closed loop dynamics,
their inuence might be ignored. Otherwise, we have to consider the dynamics augmenting
the plant model by the actuator dynamics. In any case we have to account for the input
constraints which are nonlinearities related to the actuator. Commonly these constraints
relate to
• input amplitude constaints |ui | ≤ ui,max ,
• input rate constaints |u̇i | ≤ vi,max ,
• input acceleration constaints |üi | ≤ ai,max
for i = 1, . . . ,m. These constraints can not be considered solely augmenting the plant by
the actuator dynamics. For the further discussions we discriminate the input command uc
issued by the controller and the input u which is actually realized by the actuator. Note
that we always assumed uc = u in the previous chapters. Mathematically, we employ the
saturation function
 −umax if

u ≤ −umax ,
satumax (u) = u if −umax < u < umax ,
umax if u ≥ umax

to model the eect of input constraints. In case we consider MIMO-systems, we dene the
vector valued saturation function
satumax (u) = satu1,max (u1 ) satu2,max (u2 ) . . . satum,max (um )
 T
.
Now, considering a linear systems with input amplitude constraints, we obtain a control
loop as illustrated in Figure 6.1.

6.1. Global versus Local Stability


Focussing on purely linear control loops we judge the stability of a control loop based on the
eigenvalues of the closed loop. Evaluating the eigenvalues a linear system can be globally

104
6.1. Global versus Local Stability 105

w e uc u y
Contr. plant

Actuator

Figure 6.1.: Classical standard control loop with input amplitude constraint

asymptotically stable or globally asymptotically unstable.


For nonlinear control loops, stability is in general only be judged locally, in the vincintity
of an equlibrium point. To this end, we have to evaluate the trajectories of the system.
Considering second order systems, the trajectories can be representated graphically.

6.1.1. Trajectories of Systems


For the further discussions, we consider the stable linear system
   
0 1 0
ẋ = x+ u (6.1)
−2 −3 1

with eigenvalues λ1 = −1, λ2 = −2, the harmonic oscillator


   
0 1 0
ẋ = x+ u (6.2)
−1 0 1

with eigenvalues λ1 = 1j , λ2 = −1j and lastly the unstable system


   
0 1 0
ẋ = x+ u (6.3)
2 −1 1

with eigenvalues λ1 = 1, λ2 = −2. Figures 6.2 to 6.4 show the trajectories of the open loop
systems (in this situation we have u = 0) for dierent initial states x0 . All trajectories of
the asymptocially stable system (6.1) illustrated in Figure 6.2 tend to the origin, while the
trajectories of the harmonic oscillators illustrated in Figure 6.3 neither tend to the origin
nor to innity. In case of the unstable system (6.3) the trajectories tend to innity.
106 6. Consideration of Input Constraints

0.8

0.6

0.4

0.2
x2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x1

Figure 6.2.: Trajectories of the stable system (6.1)


6.1. Global versus Local Stability 107

0.8

0.6

0.4

0.2
x2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x1

Figure 6.3.: Trajectories of the harmonic oscillator(6.2)


108 6. Consideration of Input Constraints

0.8

0.6

0.4

0.2
x2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x1

Figure 6.4.: Trajectories of the unstable system (6.3)


6.1. Global versus Local Stability 109

Figure 6.5.: Trajectories of the closed loop for the unstable system (6.3) without (left) and
with incorporating input constraints (umax = 1) (right)

6.1.2. Inuence of Input constraints


Employing a state feedback controller uc = −kT x the trajectories can be modied. This
is exemplarily shown considering the unstable system (6.3). By means of eigenvalue place-
ment in Section 4.2.5, we design a state feedback controller, which places the closed loop
eigenvalues at λ1 = λ2 = −1. Deriving the control vector we obtain
 T
k= 3 1 .
Simulating the tajectories of the closed loop system without taking into account input con-
straints, we obtain the left side of Figure 6.5. Note that all trajectories starting anywhere
in the state space converge to the origin. So the origin is globally asymptotically stable.
Accounting for the input amplitude constraint |u| ≤ 1, the origin is only locally stable.
Only trajectories starting at initial states contained in a constrained region converge to the
origin, which is shown in the right part of Figure 6.5. This region is denoted as domain of
attraction. Outside this region, the trajectories tend to innity. Choosing a more aggressive
controller with eigenvalues shifted further to the left, the domain of attraction will become
smaller. So in case of open loop unstable systems, there is a conict of objectives between
the size of the domain of attraction and the achievable settling time.
In order to understand this phenomenon, consider two initial states at x0,1 = [0.1 0.1]T and
x0,2 = [0.6 0.6]T . For both initial states, we compute the time derivative of the trajectory
employing the system dynamics (6.3). First, we consider the open loop case with u = 0 and
obtain
   
0 1 0.1
ẋ0,1 = x0,1 =
2 −1 0.1
110 6. Consideration of Input Constraints

x2

ẋ0,2
b · u0,2

x0,2

ẋ0,1
x0,1 b · u0,1

x1

Figure 6.6.: State feedback control law analysed in the state space.

or
   
0 1 0.6
ẋ0,2 = x0,2 = ,
2 −1 0.6

respectively. Both derivatives are illustrated by means of blue vectors in Figure 6.6. Now
we take into account the control law uc = −kT x and the input constraints u = sat1 (uc ) =
sat1 (−kT x) = −sat1 (kT x). For both initial states we compute the input signal employing
the control law and obtain
u0,1 = sat1 (−kT x) = sat1 (−0.3 − 0.1) = −0.4

and
u0,2 = sat1 (−kT x) = sat1 (−1.8 − 0.6) = −1.

Note that, for the second initial state the input signal has been constrained to −1. The
input signal u0,1 and u0,2 aect the time derivative of the state via the input vector b, which
6.2. Windup 111

provides the direction of the vector bu. This is illustrated by means of the red vectors in
Figure 6.6. In case of the second initial state, there is also a dotted red vector representing
the unconstrained control loop (u = uc ).
Due to the saturation function, the length of the vector bu0,2 is not suciently long to obtain
a resulting (black vector) trajectory which is converging to the origin. This illustrates that
unstable systems can only be stabilized locally and global asymptotic stability can not be
achieved. This is a general characteristic of unstable systems independent from the control
law, so even nonlinear control laws will not be able to globally stabilize an unstable system.
Their application can only aim on achieving better compromises between the size of the
domain of attraction and the achieved closed loop performance.
The trajectories of open loop asymptotically stable system tend automatically to the origin
even in the absence of any controller (u = uc = 0). Such systems can be globally stabilized
but special care must be taken in designing the controller. In case input constraints are
not taken into account during the controller design, it is not guaranteed, that the resulting
controller will be able to globally stabilize the system. Especially, in case aggressively tuned
controllers are employed to control a stable system, only local stability is ensured.
In case of the harmonic oscillator so-called semi-global stability can be obtained. This is
due to the fact, that even an arbitrary small input signal is sucient to turn the trajectory
towards the origin. Nevertheless, input constraints have to be explicitly considered within
the controller design in order to achieve semi-global stabilization.

6.2. Windup
The discussions in the previous section illustrate that input constraints have to be considered
during controller design. Otherwise, the violation of input constraints can cause dramatic
performance degradations or even render the closed loop unstable. In [17] a list of accidents
is provided which can be traced back to the non-consideration of input constraints.
One way to handle input constraints is to choose the controller gains in a conservative fa-
sion, so trying to avoid the saturation of the input signal. This approach has two major
disadvantages: In order to meet performance requirements, this approach leads to oversiz-
ing of actuators and during normal operation, the available input range is not fully utilized.
Secondly, it cannot be ensured that there are no circumstances during operation that cause
a violation of input constraints, e.g. a large disturbance which was not expected in the
design process.
In the recent decades, several nonlinear control methods have been proposed, which directly
consider input constraints during controller design [1], [7], [8], [10]. These methods aim
on utilizing the whole available input range and also operate in saturated conditions. The
stability of such control loops can only be ensured utilizing nonlinear control theory (Lya-
punov's stability theory) and nonlinear control laws. So the widely-known linear control
methods can not be employed for those controllers.
An alternative approach is employing so-called Anti-Windup methods. Then a (linear) con-
troller is designed without considering the input constraints and just focussing on the desired
performance in the absence of input saturation. Afterwards, this controller is augmented by
an Anti-Windup network, whose objectives are:
1. No modication of the closed loop system if no input saturation occurs. So in the
absence of saturation, the network does not modify the linear closed loop
112 6. Consideration of Input Constraints

2. If saturation occurs, stability should be maintained. In case of unstable systems, the


domain of attraction should be maximized

3. In case of saturation, the Anti-Windup network tries to recover the unsaturated (linear)
closed loop response as closely as possible.

In order to introduce such methods, we rst discuss the term windup in more detail. The
term is closely linked to the application of controllers which posses an integral part, e.g. the
classical PI- and PID controllers. For the further discussions we refer to the control loop
depicted in Figure 6.1. Therein, potential actuator dynamics where already accounted for
in the modeling of the plant, such that the input saturation is the nonlinear element in the
control loop. Now consider the PID controller
Zt
d
uc (t) = Kp e(t) + Ki e(τ )dτ + Kd e(t) (6.4)
dt
0

with the control error e(t) = w(t) − y(t) is employed to control the plant. In the design of
Kp , Ki und Kd the input constraints have not been considered. As long as the control error
e is comparibly small, the commanded input uc is small, we have u = uc and the controller
is non-saturating. Large conrol errors may lead to uc > umax , which can not be realized
by the actuator. Then we have u = umax and the control error will not be decreased in
the desired fasion. Due to the integrator the control law (6.4) will tend to produce even
larger commands uc which do not have any positive eect since the input signal has already
reached it's maximum value. If - after some time - the control error tends to decrease, the
value of the integrator has reached such a high value which is decreased very slowly once
the control error has become negative. This divergence in the integral part is referred to as
windup phenomenon. It commonly leads to large oscillations of the controlled variable and
can render the control loop unstable. Nevertheless, windup can also occur in the absence of
any integrator. Today, all undesired eects which can be traced back to input saturation are
denoted as windup eects. A detailed explanation of windup can be found in the book [6]:
Therein, contoller windup, plant windup and the problem of directionality are discriminated,
where the latter only exists in MIMO-systems. Next, we briey explain these terms.

6.2.1. Controller-Windup
The term controller windup summarizes all windup eects which can be traced back to
the controller. It occurs, if the controller dynamics are not asymptotically stable1 . Such
controllers require a feedback via the plant in order to stabilize the controller states. In
case of input saturation, the input signal u becomes a constant value, i.e. u = −umax or
u = umax respectively. Then the control loop can be regarded as being ripped up and
changes in the plants output y no longer aect the plant input u. This leads to an increase
in the controller states which have to be reduced after saturation. This usually leads to
large overshoots, oscillations or even instability.
1 Note that the standard PI, PID-controllers are not asymptotically stable due to the integrator pole at
s=0
6.2. Windup 113

6.2.2. Plant-Windup
The term plant-windup summarizes all windup eects which can be traced back to the plant.
Plant windup occurs when specic state variables of the plant increase to very large values
which have to be reduced afterwards (i.e. a system gaining a very high speed but the ability
to deaccelerate is only very limited due to input constraints). Like controller windup, plant
windup can lead to undesired oscillations or even instability. The negative eects are the
stronger, the faster the dynamics of the purely linear closed loop are.

6.2.3. Problem of Directionality


MIMO-systems are prone to another windup-eect which is especially linked to decoupling
controllers. Such a decoupling can be approximated by a suitable choice of the weighting
matrices Q and R in the linear quadratic regulator design.
In MIMO-systems u, uc are vectors which in contrast to the scalar input of SISO-systems not
only posses an amplitude but also a direction. Designing controllers for MIMO systems one
usually aims on achieving a decoupling characteristic such that one element of the reference
vector wi only inuences one assigned controlled variable yi . To this end the controller
command uc issues a specic direction in the state space. Note that in case that at least one
element of the control vector saturates, the direction of u = satumax (uc ) has changed with
respect to the desired direction of uc , which is illustrated in Figure 6.7. Then the decoupling
ablities of the controller are degraded.

satumax (uc )

u1 = uc,1 =
satu1,max (uc,1 ) uc

u2 = uc,2
u2 = satu2,max (uc,2 ) 6= uc,2
Figure 6.7.: Problem of directionality.
114 6. Consideration of Input Constraints

6.3. Anti-Windup-Countermeasures
In this section we refer to the most common Anti-Windup countermeasures that aim of pre-
venting windup eects. They are primarily focussing on controller windup due to integrators
in the control law and are of a quite simple, heuristic nature. Therefore, they cannot be
generalized to more general controller structures like state-space/PI-state space controllers.
They are also not countervailing plant-windup or directionality problems.

Conditional Integration
Conditional integration is one of the simplest anti-windup countermeasures. Applying con-
ditional integration, the integration within the PI/PID-control law (6.4) is only performed
in case the input signal is non-saturating, i.e. if |uc | ≤ umax holds. Implementing the
controller in a discretized fasion, this is easily implemented introducing an if -command.

Back-Calculation
Another quite common method is, feeding back the dierence between the issued input
command uc and the actual input command u = satumax (uc ) onto the integrator's input.
In order to design the back-calculation augmentation one has to determine the gain m. In
Figure 6.8 the structure of a PI-controller with back-calculation augmentation is visualized.
Therein the common notation of the Anti-Windup community is employed, where yc = uc
denotes the output of the controller (the issued input command) and yp = y denotes the
output of the plant.

z
Kp
w yc u yp
plant

Ki
− s

m −
Controller

Figure 6.8.: Back-Calculation augmentation of a PI-controller.


6.3. Anti-Windup-Countermeasures 115

6.3.1. Model-based Anti-Windup

Since the previously discussed Anti-Windup measures are only accounting for controller
windup of PI/PID-controllers, we now discuss a modern Anti-Windup scheme which can
handle windup eects in a much more ecient fasion. Figure 6.9 shows the structure of a
model-based Anti-Windup network. Therein the controller has been designed such that the
unconstrained linear control loop is stable and posses a desired performance in the absence
of input saturation. The model-based Anti-Windup contains a model of the plant

x0
w
yr uc u ẋ = Ax + Bu y
Cntr.
y = Cx

yaw,y

ẋaw=Axaw+Bδ δ
xaw
yaw,y
K aw
C
AW-model
yaw,u

x0
w
yr uc u ẋ = Ax + Bu y
Cntr.
y = Cx

yaw,y

ẋaw=Axaw+Bδ δ
xaw
yaw,y
K aw
C
AW-model
yaw,u

Figure 6.9.: Model-based Anti-Windup: Prevention of controller windup (top) and internal
Anti-Windup controller ensuring stability of the AW-model for unstable plants
(bottom)
116 6. Consideration of Input Constraints

ẋaw = Axaw + Bkaw (xaw ) + Bδ with xaw (0) = 0, (6.5)


yaw,u = −Cxaw , (6.6)
yaw,y = −kaw (xaw ), (6.7)

where kaw (0) = 0 and δ = u − satumax (uc ) = yc + yaw,y − satumax (yc + yaw,y ) is the
dierence between the issued command yc and the actual plant input u = satumax (uc ).2 .
The Anti-Windup networks operates in the following manner: The system (6.5) should only
aect the control loop in case there is a dierence δ 6= 0. To this end, xaw (0) = 0 must hold.
If saturation occurs δ 6= 0 excites the Anti-Windup system (6.5) and by means of equation
(6.6) the measured plant's output yp is reduced, in order to avoid an undesired increase of
the controller states. This is illustrated in the top part of Figure 6.9: Due to saturation,
the regular feedback for the controller provided by the plant is only partly ensured (dashed
line) so the missing feedback is provided by means of the Anti-Windup model (red path)
which counteracts controller windup.
Considering stable plants, this is sucient to guarantee stability, although a very bad per-
formance of the control loop might be the consequence especially for plants with weakly
damped eigenvalues.3 . If the plant is unstable, the state xaw of the Anti-Windup network
will not tend to zero even if δ has decreased to zero (the saturation disappeared). This will
render the overall control loop unstable since xaw aects the actual plant by means of yaw,u .
In order to guarantee, that the state xaw tends to zero as soon as δ has disappeared, the
state feedback (6.7) is mandatory in case of unstable systems. This feedback loop is marked
with red lines in the lower part of Figure 6.9. Nevertheless, also in the case of stable system,
the performance of the Anti-Windup control loop is best, the faster xaw disappears after δ
has decreased to zero which is enforced by the feedback (6.7).

For the further discussions we consider the overall control loop illustrated in Figure 6.10.
It is represented by

ẋp = Axp + Bsatumax (yc + yaw,y ) + Bp,z z,


ẋc = Ac xc + Bc,u C(xp + xaw ) + Bc,w w,
ẋaw = Axaw + Byc − Bsatumax (yc + yaw,y ),
yc = Cc xc + D r,u C(xp + xaw ) + D c,w w,
yaw,u = −Cxaw ,
yaw,y = −kaw (xaw ),
yp = Cxp .

Note that the rst dierential equation refers to the state space model of the plant, the second
one is the state space representation of a general controller and the third one is the state space
represenation of the model contained within the Anti-Windup network. The following four
equations refer to the output equation of the controller, the two outputs of the Anti-Windup
network and the output equation of plant. Employing the state space representations above,
2 Some authors employ a sligthly dierent notation ẋaw = Axaw + Bδ̃ with δ̃ = yc − satumax (yc +
yaw,y ). Therein, the input signal from Figure 6.9 δ is computed from yc instead of uc Nevertheless both
representations can be transferred in one another and lead to identical results.
3 The choice of k (x ) = 0 leads to the so-called Internal Model Control Anti-Windup [20]
aw aw
6.3. Anti-Windup-Countermeasures 117

we can apply a very useful transformation into the so-called mismatch-coordinates given by
       
ξp I 0 I xp xp + xaw
ξm =  ξc  =  0 I 0  ·  xc  =  xc .
ξ aw 0 0 −I xaw −xaw

Applying the transformation given above we obtain the equivalent represenation of the
overall closed loop in the mismatch coordinates
ξ̇ p = Aξ p + Byc + Bp,z z, (6.8)
ξ̇ c = Ac ξ c + Bc,u Cξ p + Bc,w w, (6.9)
ξ̇ aw = Aξ aw + B (satumax (yc + yaw,y ) − yc ) , (6.10)
yc = Cc ξ c + D c,u Cξ p + D c,w w, (6.11)
yaw,y = −kaw (−ξ aw ), (6.12)
yaw,u = Cξ aw (6.13)
yp = C(ξ p + yaw ) = yp,uc + yaw,u (6.14)
is obtained, which is reprented in the lower part of Figure 6.10. Note that the initial states
are also transformed so ξp = xp (0), ξc = xc (0) und ξaw = xaw (0) = 0 holds.
The advantage of this transformation is, that the overall control loop decomposes into a
purely linear part containing the plant (6.8), the controller (6.9), (6.11) and a nonlinear
subsystem (6.10), (6.12) which disturbs the purely linear part by means of yaw,u in equation
(6.14). This can also be inferred from the lower part of Figure 6.10.

Referring to the stability of the overall Anti-Windup control loop, the linear and nonlinear
parts can be analyzed individually. In case the controller was designed such that the uncon-
strained linear control loop is stable, the stability of the linear subsystem is automatically
ensured. Now, we just have to ensure that the nonlinear subsystem is stable. So in the de-
sign of the feedback (6.12) we just consider the nonlinear subsystem. Note, that the overall
performance is the best, in case the mismatch yp − yp,uc = yaw,u between the actual and
the unconstrained plant determined by equation (6.13) is minimum. Therefore, we choose
−kaw (−ξ aw ) such that ξ aw and likewise yaw,u = Cξ aw converge as fast as possible. In
general, any linear or nonlinear state feedback can be employed to stabilize the nonlinear
part. To not further increase the mathematical burden, we will focus on a linear feedback
law kaw (xaw ) = K aw xaw .
118 6. Consideration of Input Constraints

w yc uc u yp
Contr. plant

yaw,y −

δ
AW
yaw,u

Anti-Windup control loop

Transformation

yaw,y
nonlinear subsystem
kaw (ξ aw )
ξ aw

yaw,u

?
S
ξ aw

z
w
yp,uc yp
Contr. S
ξr yc,uc ξs

Figure 6.10.: Model-based Anti-Windup and mismatch-transformation


6.3. Anti-Windup-Countermeasures 119

6.3.2. Deadzone-Nonlinearity
In order to stabilize the nonlinear subsystem in Figure 6.10 we have to consider the term
sat(yc + yaw,y ) − yc = −dz(yc + yaw,y ) + yaw,y . First, we replace this expression in (6.10)
by means of the so-called deadzone-nonlinearity
dzumax (u) = u − satumax (u) (6.15)
and obtain
ξ̇ aw = Aξ aw + Byaw,y − B dzumax (yc + yaw,y ) (6.16)
| {z }

yaw,y = −kaw (−ξ aw ),


yaw,u = Cξ aw .

Note that the output of the Anti-Windup network yaw,u acts as a disturbance on the un-
constrained plant's output yp,uc . In order to obtain a performance in case of saturation
which is similar to the unconstrained situation, yaw,u must converge as fast as possible. Ba-
sically, this is the objective when designing the state feedback kaw (xaw ) = K aw xaw . Note
that there is a trade-o between the speed of convergence and the size of the domain of
attraction. Figure 6.11 illustrates the deadzone-nonlinearity given in (6.15).

N (u)

dz(u)
umax sat(u)
−umax
umax u

−umax

Figure 6.11.: Sector-nonlinearity

Design by means of Simulation


Assuming that the controller has been designed such that the linear, unconstrained closed
loop is stable, the simplest method to design the matrix K aw of the Anti-Windup feedback
yaw,y = −K aw ξ aw is ignoring the term ỹ in (6.16) and carrying out a standard design
for state-feedback controllers (Eigenvalue-placement/linear quadratic regulator design). In
120 6. Consideration of Input Constraints

order to achieve a good performance of the overall closed loop system, the eigenvalues should
have a large negative real part. Nevertheless, due to the nonlinearity a high dynamic will
excite the term ỹ in (6.16) which might lead to an unstable design. In order to employ these
linear methods, extensive simulation must be carried out in order to ensure, that the overall
system remains stable. Summarizing the simulation based approach: Ensuring eigenvalues
with negative real part for the Anti-Windup system is only a necessary but not sucient
condition for the stability of the nonlinear part.

Design Employing Optimization


Designing the Anti-Windup matrix K aw employing linear methods, the inuences due to
the deadzone nonlinearity are neglected which could potentially lead to an unstable closed
loop system. In addition, such an approach does not provide information about the domain
of attraction which is achieved by the application of the model-based Anti-Windup. In case

N (u) γL = γ
γ

dz(u)

−û −umax
umax û u

0 1 Φ

Figure 6.12.: Deadzone nonlinearity globally contained in the sector S[0, 1] and locally con-
tained in S[0, Φ] (left). L2 gain obtained for local approaches (right).

stability and performance guarantees are required, an optimization based design method has
to be employed, which was discribed in [20]. The constraints of the underlying optimization
problems appear in form of linear matrix inequalities (LMI), constituting a so-called convex
optimization problem. Such optimization problems can be solved very eciently and it is
ensured, that the globally optimal solution is obtained. Freely available solver like sdpt3
[19] and SeDuMi [18] which can be attached to Matlab by means of the software package
Yalmip [13] can be employed to solve the optimization problem.
The design is based on the fact, that the deadzone in equation (6.16) and also the saturation
function can be represented as so-called sector-nonlinearity. This is illustrated in Figure 6.11.
The nonlinear function N (u) is contained in the sector S[0,1] which is represented as the
light grey region in Figure 6.11. The sector S[0,1] is constrained by two linear equations, one
with slope 0 and one with slope 1. Stability guarantees derived from the optimization based
design will be valid for all functions which are contained in the Sector S[0,1] and not just
for the deadzone nonlinearity, so the approach posses a certain degree of conservativeness.
6.3. Anti-Windup-Countermeasures 121

Global Stability
If the assumptions
• the plant is open loop stable, i.e. Re{λi (A)} < 0,
• the controller in Figure 6.10 was designed such that the linear unconstrained closed
loop is stable
hold, a design can be carried out which ensures global stability and limits the L2 -gain γ
between yc and yaw,u
kyaw,u kL2
γ= (6.17)
kyc kL2
where the L2 -norm is dened as
v
uZt
u
kykL2 = lim t y(τ )T · y(τ )dτ
u
t→∞
0

which has the character of a quadratic area below yi (t). Now, to minimize the L2 -gain (6.17)
the following optimization problem has to be solved
min γ such that
Q,Ψ,γ

Q  0, Ψ = diag(Ψ1 , . . . , Ψm )  0, γ>0
(6.18)
 
AQ − BY 0 0 0
 ΨBT + Y −Ψ 0 0
He 

≺0
 0 I − 21 γI 0 
1
CQ 0 0 − 2 γI

with He(M ) = M + M T . The term Q  0 abbreviates a symmetric and positive denite


matrix Q. Finally, we obtain K aw = Y Q−1 . The derivation of the optimization problem
can be found in Section A.2.2.

Local Stability
The optimization problem (6.18) can only be applied, in case the plant is asymptotically
stable. For unstable plants, we already discussed that global stability can not be obtained
for unstable systems. For these kind of systems we have to go for an locally stable Anti-
Windup design. This can also be benecial for stable systems since local designs lead to a
better performance, in this case a smaller L2 -gain between yc and yaw,u .
To achieve local stability, we consider the smaller sector S[0, Φ] with the slope Φ ∈ (0,1)
which is illustrated as darker grey region in Figure 6.12. Now the deadzone nonlinearity
dz(u) is not globally contained within this sector. Instead dz(u) is locally contained within
the sector S[0, Φ] with Φ = diag(Φ1 , . . . , Φm ) for all
 
ui, max
u ∈ T (Φ) = u ∈ Rm : |ui | ≤ û = , i = 1, . . . , m .
1 − Φi
122 6. Consideration of Input Constraints

Therefore, the following design only holds for ũ = yc + yaw,y ∈ Y(Φ) with
Y(Φ) = {yc ∈ Rm : ũi ∈ T (Φ) ∀ t ≥ 0, i = 1, . . . , m} .

The solution of the optimization problem


min γL sucht that
Q,Ψ,γL

Q  0, Ψ = diag(Ψ1 , . . . , Ψm )  0, γL > 0
(6.19)
 
AQ − BY 0 0 0
 ΨBT + ΦY −Ψ 0 0
He 

1
≺0
 0 Φ − 2 γL I 0 
CQ 0 0 − 12 γL I

with K aw = Y Q−1 garantess a L2 -gain which is smaller than γL for all yc ∈ Y(Φ). Consid-
ering stable systems, we obtain an L2 -gain, which is smaller compared to the global L2 -gain
resulting from optimization problem (6.18) since we only consider yc ∈ Y(Φ) instead of
yc ∈ Rm . This is illustrated in the right part of Figure 6.12. Nevertheless, we have to
keep in mind, that for smaller Φi the domain Y(Φ) becomes smaller. The derivations of the
optimization problem stated above can be found in Section A.2.3.

Example: Hydraulic Positioning System


Now we consider a hydraulic positioning system to illustrate the eectiveness of the previ-
ously proposed Anti-Windup countermeasures. It is represented by the state space model
   
0 1 0 0
ẋp =  −10 −1,167 25  xp +  0  u
0 0 −0,8 2,4
 
yp = 1 0 0 x p

where xp,1 refers to the position in cm, xp,2 is the velocity in cm/s and xp,3 is the pressue in
N/cm2 , which is determined by the input voltage u in V . The system is depicted in Figure
6.13 This input voltage is constrained to |u| ≤ umax = 10,5V . The system has one real

converter pipe cylinder spring mass


xp,1


u
xp,3

Figure 6.13.: Hydraulic positioning system

eigenvalue at λ1 = −0,8 and a badly damped eigenvalue pair at λ2,3 = −0,584 ± j 3,108.
For this system, we rst design a classical controller
6.3. Anti-Windup-Countermeasures 123

Figure 6.14.: PI-controller with resonance compensation and dierent Anti-Windup


countermeasures.

17,764 · (s + 0,731) s2 + 1,167s + 10


Yc (s) = GR (s) · (W (s) − Yp (s)) = · · (W (s) − Yp (s))
s (s + 5)(s + 100)

which combines a PI-controller with a lter cancelling the resonance frequency of the hy-
draulic system by means of the numerator-polynomial. We designed a global and local
model-based Anti-Windup.
Solving the optimization problem (6.18) we obtain k(xaw ) = [1.3334 −0.0389 −9.5769] · xaw
and γ = 7,5. Solving the optimization problem (6.19) with Φ = 0.6 we obtain k(xaw ) =
[−5.0768 − 2.2132 − 1.3125] · xaw and γL = 0,158, which is much smaller compared to
the global L2 -gain. We also designed a conditional integration Anti-Windup and a Back-
Calculation approach with m = 10.
Figure 6.14 shows the evolutions of the controlled variable and the input signal for a reference
value of w = 20cm. The advantages due to the application of model-based Anti-Windup are
obvious.
To show that also control loops with controllers that do not posses a dynamic (integral part)
are prone to Windup-eekts, we designed a state feedback controller placing the closed loop
eigenvalues to λ1 = −10 and λ2,3 = −17.0 ± 10.0.
Again we solved the optimization problems (6.18) and (6.19) to design a global and local
Anti-Windup network. Note that we obtain the same Anti-Windup parameters we got for the
classical controllers since the design is carried out independently from the controller. Nev-
ertheless within the optimization problems (6.18) and (6.19) we utilized C = 1 0 0


in order to enforce the recovery of the controlled variable. Since the state space controller
employs the whole state information, yp is regarded to be the whole state vector xp = Ixp ,
124 6. Consideration of Input Constraints

State Space Controller - full state information


10

u in V
0

-5

-10

0 1 2 3 4 5 6 7
t in s

30

20
y p =x p,1 in cm

reference
10
unconstrained
constrained no AW
MRAW - global
0
MRAW - local

-10
0 1 2 3 4 5 6 7
t in s

Figure 6.15.: State-feedback controller with static prelter and model-based Anti-Windup

so when actually implementing the Anti-Windup-network we choose C = I . Practically,


this means the deviations in the states xp,2 , xp,3 between the unconstrained and constrained
system are not penalized within the optimization problems (6.18) or (6.19). So the obtained
L2 -gain only refers to deviations in xp,1 . Since the system is observable for the measurement
of xp,1 the stability of the Anti-Windup network is ensured.
Figure 6.15 shows the evolutions of the controlled variable. Since we observe windup eects
also in the absence of any controller dynamics, we infer that the eects are due to plant
windup.
7. Gain-Scheduling

Although we discussed nonlinear eects due to the saturation of the input signal within the
previous chapter, we have not considered the nonlinear dynamics of the aircraft model. We
just approximated the nonlinear dynamics around a trim point by means of a linear model,
which we decomposed into the longitudinal and lateral dynamics. A controller designed for
these linear dynamics is only capable of controlling the aircraft around the repective trim
condition. Nevertheless, during operation, the aircraft is very likely to operate in between
dierent operating points so we have to ensure, that the nal controller is able to operate
between operating points. To this end, one usually combines the linear controllers for the
surrounding operating points in a suitable manner. This methodology, which is referred
to as Gain-Scheduling, constitutes the most common approach. Nevertheless, the specic
phenomena which have to be accounted for are usually only discussed on a very brief level
and the theory behind it is spread over a large amount of papers. The objective of this
chapter is, providing a complete overview about the dierent approaches and phenomena
which have to be considered to ensure a stable Gain-Scheduling design.
The basic system we consider are the nonlinear aircraft dynamics
ẋ = f (x,u),
(7.1)
y = h(x,u)

which are constituted by the equations of motion. First step in a Gain-Scheduling approach
is deriving the linear approximations
∆ẋ(pj ) =A(pj )∆x(pj ) + B(pj )∆u(pj ),
(7.2)
∆y(pj ) =C(pj )∆x(pj ) + d(pj )∆u(pj ),

with the Jacobian matrices


∂f (x, u) ∂f (x, u)
Aj = A(pj ) = | x=x(pj ) , Bj = B(pj ) = | x=x(pj ) ,
∂x u=u(pj ) ∂u u=u(pj )

∂h(x, u) ∂h(x, u)
Cj = C(pj ) = | x=x(pj ) , dj = d(pj ) = | x=x(pj )
∂x u=u(pj ) ∂u u=u(pj )

and the deviations ∆x(pj ) = x − x(pj ), ∆y(pj ) = y − y(pj ), and ∆u(pj ) = u − u(pj ).
Then, we perform an analysis based on these linear approximations to get an impression,
which parameters inuence the characteristics (i.e. eigenvalues, transfer zeros) of the above
approximations. Referrring to aircraft dynamics these parameters are usually the speed
and height since both have a signicant impact on the forces and moments generated by
the aerodynamics, which becomes obvious when lokking on the eigenvalue congurations in
Figures 5.4 and 5.8 in Section 5.2.
Nevertheless, in highly maneuverable aircraft, also the impact of the angle of attack has
to be taken into account. This may become very demanding, since the angle of attack is

125
126 7. Gain-Scheduling

p2

p3 p4
p
p1 p2

p1
Figure 7.1.: Gridding of the aircraft's opertating space by trim conditions pj . In order to
operate in the grey shaded area, the controllers designed at p1 , p2 , p3 , p4 have
to be combined.

a state variable and therefore changing much faster compared to the speed and the height,
which can be regarded as almost constant. We will refer to this issue later.
The parameters inuencing the aircraft dynamics constitute the scheduling vector pj which
species an trim condition. Based on the scheduling vector the operating space is sampled as
illustrated in Figure 7.1 for the case of a scheduling vector formed by the height and speed of
an aircraft. For each of these operating points characterized by pj we have to derive a linear
approximation and design a linear controller. During operation, we will operate between
these points and the actual control law for a ight condition depends on the current height
and speed.

In order to design a Gain-Scheduling-Controller, the equations of motion are linearized


about N trim conditions parameterized by the scheduling vector pj , j = 1,2, . . . , N as de-
scribed in Chapter 5. Commonly, this is done in a way that the operating space of the
aircraft is covered in a suitable manner, e.g. by means of gridding as illustrated in Figure
7.1. For each trim condition pj we obtain a linear model (7.2) and we design a controller
which ensures a specic performance when operating near the respective trim condition.
Next we have to ensure, that we combine the dierent controllers in a suitable manner such
that the aircraft can be controlled in between dierent trim points and we are able to trans-
fer the aircraft from one trim/ight conditions to another one which might be suciently
dierent with respect to the initial one. So considering Figure 7.1, we have to combine the
controllers designed for the trim conditions p1 , p2 , p3 and p4 in order to control the aircraft
at the ight condition p. Combining the controllers we have to account for the nonlinear
characteristics of the aircraft as well as the nonlinearities introduced by the Gain-Scheduling
itself. The latter might cause instability even the linear controllers are designed, such that
they stabilize the aircraft about a specic trim condition.
7.1. Controllers at the Trim Conditions 127

7.1. Controllers at the Trim Conditions


In what follows, we refer to a controller designed for specic trim points pj by assigning an
index j to each of the controller parameters and states. So we denote linear PI-state space
controller designed at pj as
ẋI,j = ∆wj − ∆yj ,
∆uj = −K j ∆xj + K p,j (∆wj − ∆yj ) + K I,j xI,j .

where ∆xj = ∆x(pj ), ∆uj = ∆u(pj ) and ∆yj = ∆y(pj ) hold. Since we have that
∆wj = w − yj and ∆y j = y − yj we can simplify the above representation to obtain

ẋI,j = wj − y,
∆uj = −K j ∆xj + K p,j (w − y) + K I,j xI,j .

Implementing the controller, it has to be carefully considered that ∆xj refers to the deviation
of x from the respective trim state xj = x(pj ). This issue was already discussed in Section
5.3. In order to compute the control signal for the nonlinear plant, we have to account for
the input signal uj = u(pj ) to maintain the trim condition. The overall control signal from
controller j is than derived from
uj = ∆uj + uj . (7.3)
In case the state x and therefore ∆xj is not completely measurable, we have to implement
an observer, which is designed in an analogous manner for the linear approximations (7.2).
Implementing the observer for a nonlinear system we have to consider that the observer refers
to deviations about the trim condition. This way, the deviations ∆uj and ∆yj constitute
the inputs of the observer. The Luenberger-observer applied to the nonlinear dynamics at
trim condition pj now reads
∆x̂˙ j = Aj ∆x̂j + Bj ∆uj + Lj (∆yj − ∆ŷj ), with ∆x̂(0) = ∆x̂0 ,
∆ŷj = Cj ∆x̂j .

Note that, since we have ∆y − ∆ŷ = (y − y(pj )) − (ŷ − y(pj )) = yj − ŷj


∆x̂˙ j = Aj ∆x̂j + Bj ∆uj + Lj (yj − ŷj ), with ∆x̂(0) = ∆x̂0 ,
ŷj = Cj ∆x̂j + y(pj ).

is an equivalent implementation.

Applying classical instead of state-space controllers, the same considerations have to be


taken into account. In case of a SISO-system, we have
∆Uj (s) = GR,j (s) · (W (s) − Y (s))

and the nal input command is generated applying (7.3)1 . Combining controllers the con-
troller designed for trim condition pj will also inuence the control signal in the neighbor-
hood of the trim condition. In order to avoid that controllers at pj and pi being in the
1 Please note that ∆W (s) − ∆Y (s) = (W (s) − y(pj )) − (Y (s) − y(pj )) = W (s) − Y (s) holds.
128 7. Gain-Scheduling

p2

p6 p7 p8

p4 pj p5

p1 p2 p3

p1
Figure 7.2.: Overlapping areas of validity of the controllers pj and p1

same neighborhood work against each other, both controllers have to be designed, such that
both posses an area of validity which is large enough to also include the neighboring point
as illustrated in Figure 7.2. Therein, the area of validity of controller pj is the dark grey
shaded region where the area of validity of controller p1 is shown as lighter grey shaded
area.
Ensuring that the areas of validity overlap is usually accomplished by means of robustness
tests. One simple approach is, computing the eigenvalues of the controller pj for the closed
loop system employing the linear approximation at the trim condition pj and check, how
the eigenvalues are relocated when computing the closed loop eigenvalues employing the
controller to one of the neighboring trim conditions. If the eigenvalues have been shifted in
an undesired manner, either the controller design has to be modied and/or an additional
trim point has to be introduced between the respective trim conditions. It should be noted,
that designing a controller in a more robust fasion (i.e. having a larger area of validity) one
has to accept a worse control performance. The same strategy can also be employed in a
straightforward way to the frequency response when employing classical controllers.

7.2. Gain-Scheduling-Strategies
Assume, the areas of validity of a controller designed for the trim condition pj is such, that
the linear approximations (7.2) recover the dynamics of the nonlinear dynamics (7.1) with a
sucient quality and the areas of validity of neighboring controllers overlap as illustrated in
Figure 7.2. Then we have to combine the linear controllers in a suitable manner such that
we obtain a nonlinear Gain-Scheduling Controller. Note that there are two basic approaches
which can be employed to form the controller. Both approaches employ a aliation function
0 ≤ µi (p) ≤ 1 which is kind of a distance measure deninig how suitable the controller
designed for the trim condition pi is for controlling the aircraft at a current ight condition
7.2. Gain-Scheduling-Strategies 129

Nonlinear Gain-Scheduling Controller


Controller gains for trim conditions

...
w K i,1 K i,2 K i,N

y u
Scheduling Combinator
µi (p) K i = g(K i,1 , . . . , K i,N , p)

Evaluate Control Law

with parameters K i

Figure 7.3.: Gain-Scheduling Controller employing blending in the controller gains.

p. Note that the aliation functions µi (p) are chosen such that the sum

X
µi (p) = 1
i∈N

of all aliation functions constituting a neighborhood is one. We will refer to the charac-
teristics of the aliation function and their implications on the control performance in one
of the following sections.

7.2.1. Blending in the Controller Gains


The rst strategy refers to a blending of the controller gains which initially motivated the
term Gain-Scheduling-Controller. The structure of this type of Gain-Scheduling controller
is illustrated in Figure 7.3. Based on the current ight condition p a scheduling module
decides which trim conditions and their respective controllers contribute to the current ight
condition. Considering the example in Figure 7.1, we have N = 4 and the trim conditions are
p1 , p2 , p3 and p4 . The scheduler now communicates the aliation functions µ1 (p), µ2 (p),
µ3 (p) and µ4 (p) to a combinator which computes resulting controller gains. Employing a
130 7. Gain-Scheduling

PI-state space controller, the combined parameters are


N
X
K p (p) = µi (p)K p,i
i=1
N
X
K I (p) = µi (p)K I,i
i=1
N
X
K(p) = µi (p)K i .
i=1

Employing these parameters, the control law of the PI-state-space controller is evaluated
ẋI = w − y,
∆u(p) = −K(p)∆x(p) + K p (p)(w − y) + K I (p)xI .
Note that, in order to evaluate the above control law, the state deviation ∆x(p) has to be
computed. This is done by
∆x(p) = x − x(p)
where
N
X
x(p) = µi (p)x(pi )
i=1

is sort of a combined trim condition. Finally, we have to compute the overall control signal
accounting for the input signal at the respective trim conditions which is
N
X
u = ∆u(p) + µi (p)u(pi ).
i=1

In case classical transfer function based controller designs are employed, the procedure above
has to be adapted to transfer matrices
 
GR,j,1,1 (s) ... GR,j,1,m (s)
.. ..
GR,j (s) =  . . ,
 

GR,j,p,1 (s) GR,j,p,m (s)


where
bj,k,l,m sm + . . . + bj,k,l,1 s + bj,k,l,0
GR,j,k,l (s) = .
sn + aj,k,l,n−1 sn−1 + . . . + aj,k,l,1 s + aj,k,l,0
Now, an interpolation in the coecients of the nominator and denominator polynomial is
performed
N
for c = 0, . . . , n − 1,
X
ak,l,c (p) = µi (p) · ai,k,l,c
i=1
N
for c = 0, . . . , m
X
bk,l,c (p) = µi (p) · bi,k,l,c
i=1
7.2. Gain-Scheduling-Strategies 131

and the combined transfer funtions


bk,l,m (p)sm + . . . + bk,l,1 (p)s + bk,l,0 (p)
GR,k,l (p,s) =
sn + ak,l,n−1 (p)sn−1 + . . . + ak,l,1 (p)s + ak,l,0 (p)

constituting the elements of the transfer matrix


 
GR,1,1 (p,s) ... GR,1,m (p,s)
.. ..
GR (p,s) =  . .
 

GR,p,1 (p,s) GR,p,m (ps)

are derived. Finally, the control law


u = GR (p,s) · (W (s) − Y (s)) + u(p)

has to be implemented.

Remarks:
In case an integrator is included in the control law and the scheduling vector is of low
dynamics with respect to the states constituting the aircraft dynamics the term u(p) can
be neglected. If the controller is scheduled with respect to height and machnumber, both
scheduling parameters have a comparably slow dynamics compared with the state variables
constituting the state x employed by the control law.
Please note, that employing a blending of the controller gains, only controllers of the same
structure can be combined. Employing modern control methods based on convex opti-
mization, the linear controllers are provided in dierent coordinate frames. In such cases,
blending of the controller gains can not be performed in this straightforward manner. In
addition nonlinear control methods which can be benecial in the context of input saturation
can not be employed carrying out a blending in the controller gains. In the next section we
refer to an alternate strategy which circumvents this disadvantage.

7.2.2. Blending in the Input Commands


Since the strategy discribed in the previous section comes with some limitations concerning
the controller structure and limits the scope of design methods which can be employed in con-
troller design, we discuss an alternate approach which performs a blending in the commanded
input signals. The structure of this type of Gain-Scheduling Controller is illustrated in Fig-
ure 7.4. Now all control laws constituting the neighborhood of the current ight condition p
are evaluated. Considering the example in Figure 7.1 we compute u(p1 ) = ∆u(p1 ) + u(p1 ),
u(p2 ) = ∆u(p2 ) + u(p2 ), u(p3 ) = ∆u(p3 ) + u(p3 ) and u(p4 ) = ∆u(p4 ) + u(p4 ). Now the
combined control signal is computed employing the aliation function which reads
N N
(7.4)
X X
u= µi (p) · ui = µi (p) · (∆ui + u(pi )) .
i=1 i=1

Note that the same aliation function can be employed in both strategies. This second
approach provides most exibility in chosing the controllers for the dierent trim conditions.
Nevertheless, control signal blending is likely to cause windup-eects also in the absence of
132 7. Gain-Scheduling

Nonlinearer Gain-Scheduling Controller


Linear Control Laws
w
GR,1 (s) GR,2 (s) ... GR,N (s)

u2
y u1 uN u

Scheduling Combinator

µi (p) u = g(u1 , . . . , uN , p)

Figure 7.4.: Gain-Scheduling Controller employing blending of input signals

input saturation espeically if non-asymptotically stable controllers are employed2 . Such


controllers need the feedback by the plant in order to stabilize themselves. Now consider a
situation, where the current ight condition is somewhere between dierent trim conditions.
Then we have 0 ≤ µi (p) < 1 and the controller command of the controller referring to the
trim condition pi is only partially realized by the actuator due to the mixture of the control
signal in equation (7.4). This might cause controller states to diverge from the nominal
behavior which can lead to serious degradations of the closed loop performance and even
instability. However, noting that this is a Windup eect, the countermeasure is obvious and
has been already discussed in Section 6.3. In order to circumvent those windup-phenomena,
we employ the model-based Anti-Windup scheme which is illustrated in Figure 7.5 for the
simplied case of two controllers whose input commands are blended. Therein, a model-
based Anti-Windup network is attached to every controller. Now, in case the controller
command of controller 1 is only partially aecting the actual plant, the loss of feedback by
the real plant is established by the Anti-Windup model and counteracts the deviations of
the controller states.
For a systematic analysis and design of the Anti-Windup networks we have to assume, that
the nonlinear dynamics (7.1) between N neighboring trim conditions can be approximately
described by

ẋ = A(p)x + B(p)u, (7.5)


y = C(p)x,

2 Please
note, that due to the integral part and the pole in s = 0 a classical PI-controller is non-
asymptotically stable
7.2. Gain-Scheduling-Strategies 133

Anti-Windup -
reference Signal

- Controller 1

y
Blending System

Controller 2
-

Anti-Windup -

Figure 7.5.: Structure of a model-based Anti-Windup scheme in the context of Gain-


Scheduling.

with
N
X
A(p) = A(pi ) + ∆A(p) = A(pi ) + µj (p) · (A(pj ) − A(pi )),
j=1
N
X
B(p) = B(pi ) + ∆B(p) = B(pi ) + µj (p) · (B(pj ) − B(pi )),
j=1
N
X
C(p) = C(pi ) + ∆C(p) = C(pi ) + µj (p) · (C(pj ) − C(pi )).
j=1

Then, we adapt the model-based Anti-Windup scheme proposed in [20] to the context of
Gain-Scheduling. The index j refers to all trim conditions in the area of validity of the
controller i and µj (p) is the aliation of the current ight condition p with respect to the
trim condition pj and the respective controller. The Anti-Windup network assigend to the
controller i designed for the trim condition pi contains a model of the nonlinear dynamics
ẋaw = A(p)xaw + B(p)kaw (xaw ) + B(p) · δ i with xaw (0) = 0, (7.6)
yaw,u,i = −C(p)xaw ,
yaw,y,i = −kaw (xaw )
in the neighborhood of the trim condition. Therein, we have that kaw (0) = 0 and
 
N
δ i =yc,i + yaw,y,i − sat  (7.7)
X
µj (p) · (yc,j + yaw,y,j ) .
j=1
134 7. Gain-Scheduling

Inserting (7.7) in (7.6) we obtain the overall system consisting of the plant (7.5), the con-
troller and the Anti-Windup network

 
N
ẋ = A(p)x + B(p) · sat 
X
µj (p) · (yc,j + yaw,y,j ) ,
j=1

ẋc = Ac xc + Bc,u C(p) · (x + xaw ) + Bc,w w,


 
N
ẋaw = A(p)xaw + B(p)yc,i − B(p) · sat 
X
µj (p) · (yc,j + yaw,y,j ) ,
j=1

yc = Cc xc + D c,u C(p) · (x + xaw ) + D c,w w,


yaw,u,i = −C · (p)xaw ,
yaw,y,i = −kaw (xaw ),
y = C(p)x.

Now, like in the linear case, we might apply the Mismatch-transformation

       
ξs I 0 I x x + xaw
ξm =  ξc  =  0 I 0  ·  xc  =  xc ,
ξ aw 0 0 −I xaw −xaw

which also aects the initial states ξs = x(0), ξc = xc (0) und ξaw = xaw (0) = 0. Applying
the transformation we obtain the system in Mismatch coordinates

ξ̇ p = A(p)ξ p + B(p)yc , (7.8)


ξ̇ c = Ac ξ c + Bc,u C(p)ξ p + Bc,w w, (7.9)
   
N
ξ̇ aw = A(p)ξ aw + B(p) sat  (7.10)
X
µj (p) · (yc,j + yaw,y,j ) − yc,i  ,
j=1

yc = Cc ξ c + D c,u C(p)ξ p + D c,w w, (7.11)


yaw,y,i = −Kξ aw , (7.12)
yaw,u,i = C(p)ξ aw ,
y = C(p) · (ξ p + yaw ) = yub + yaw,u,i (7.13)

and the overall closed loop decomposed into the unconstrained system (7.8), (7.9), (7.11) and
the nonlinear part (7.10), (7.12) and (7.13), which is denoted as the Anti-Windup system.
The output (7.13) of the unconstrained system is disturbed by the Anti-Windup system by
means of yaw,u,i . In the design of the Anti-Windup network, we aim on minimizing this
disturbance in order to achieve a good closed-loop performance.
7.3. Hidden-Couplings 135

7.3. Hidden-Couplings
Implementing one of the above Scheduling approaches we obtain a nonlinear Gain-Scheduling
Controller, which can be represented as a nonlinear system3

ẋc = f c (xc , y, w, µ(p)),


(7.14)
u = hc (xc , y, w, µ(p)).

A controller designed for a specic trim condition can always be represented as4

∆ẋc,j =Ac,j xc,j + Bc,j ∆yc,j + Bc,w,j ∆wc,j ,


(7.15)
∆uc,j =Cc,j xc,j + D c,j ∆yc,j + D c,w,j ∆wc,j .

The linear controllers (7.15) have been designed, such that assigning the controller to the
linear approximation

∆ẋ(pj ) =A(pj )∆x(pj ) + B(pj )∆u(pj ),


∆y(pj ) =C(pj )∆x(pj ) + d(pj )∆u(pj ),

we obtain a desired closed loop performance. Of course, we demand that we obtain exactly
this performance when applying the Gain-Scheduling Controller at the ight condition p =
pj . To this end, we have to ensure that linearizing the nonlinear Gain-Scheduling Controller
(7.14) about the trim condition pj we obtain exactly the controller (7.15). Note that this
is not achieved automatically, which is due to the combination of dierent controllers by
means of the aliation function µ(p).
In order to discuss the inuence of the aliation function, we notice that the scheduling
vector p = p(x) depends on the state x of our system. Linearizing the Gain-Scheduling
controller about an trim condition, we have to account for this dependency when computing
the partial derivative
 T
∂µi (p(x)) ∂µi (p(x)) ∂p(x)
= · (7.16)
∂xj ∂p ∂xj

of the aliation function. For clarication about this, consider a Gain-Scheduling Controller
with a scalar scheduling vector p = p(x) combining two state feedback controllers by means
of blending in the controller gains

u = u(p) − K(p)(x − x(p))


= µ1 (p)u(p1 ) + µ2 (p)u(p2 ) − (µ1 (p)K 1 + µ2 (p)K 2 ) · (x − µ1 (p)x(p1 ) − µ2 (p)x(p2 )).

The aliation function is choosen such that in the trim state p1 the input signal is solely
determined by the rst controller, e.g. µ1 (p1 ) = 1 and µ2 (p1 ) = 0 holds. Linearizing this
3 Note that the plants output y and the referencevector w are the input signals of the controller and u is
the controller's output.
4 Assuming the whole state vector can be measured, the PI-state space controller is obtained choosing
Ac,j = 0, Bc,j = −C , Bc,w,j = C , C c,j = K I,j , D c,j = −(K j + K p,j C) and D c,w,j = K p,j .
136 7. Gain-Scheduling

Gain-Scheduling Controller we obtain

∂u
∆u = · ∆x
∂x 
∂µ1 ∂µ2
=− K1 + K 2 · (x − µ1 x(p1 ) − µ2 x(p2 ))
∂x ∂x
 
∂µ1 ∂µ2
+ (µ1 K 1 + µ2 K 2 ) · I − x(p1 ) − x(p2 ) ∆x
∂x ∂x
 
∂µ1 ∂µ2
+ u(p1 ) + u(p2 ) ∆x (7.17)
∂x ∂x

where the gradients ∂µi /∂x are derived from (7.16). Please also note that we abbreviated
µi = µi (p(x)) in the above equation. Now we evaluate (7.17) at the trim condition p1 with
the respective trim state x(p1 ). Noting that µ1 (p1 ) = 1 and µ2 (p1 ) = 0 we obtain
 
∂µ1 ∂µ2
∆u = −K 1 ∆x + K 1 · x(p1 ) + x(p2 ) ∆x
∂x ∂x
 
∂µ1 ∂µ2
− K1 + K 2 x · ∆x
∂x ∂x
 
∂µ1 ∂µ2
+ u(p1 ) + u(p2 ) ∆x. (7.18)
∂x ∂x

However, the linear controller design was carried out, assuming the control law is just ∆u =
−K 1 ∆x so the additional terms in (7.18) are undesired eects due to the combination of
the dierent linear controllers by means of the aliation function. These eects are denoted
as Hidden-Couplings [9] and their existence is caused by the derivative ot the aliation
function. In order to avoid Hidden-Couplings, it has to be ensured that

1. At each trim condition pj with the respective trim state x(pj ) the Gain-Scheduling
controller provides the stationary input signal u(pj )

2. Linearizing the Gain-Scheduling Controller about the trim condition pj the linear con-
trol law anticipated in the controller design is exactly recovered without any additional
terms

Nevertheless, in many practical applications the above conditions for Hidden-Coupling avoid-
ance are not considered. Indeed, Hidden-Couplings have more serious eects the larger the
partial derivates in (7.16) are. Therefore, their inuence on the closed loop performance
depends on the rate of change of the elements contained in the scheduling vector. Assum-
ing that the scheduling variables vary slowly with respect to the closed loop dynamics, the
inuence of Hidden-Couplings might be neglected, which is referred to as Slow-Varying As-
sumption.
However, when scheduling with respect to state variables of high dynamics, i.e. with respect
to the angle of attack, the Slow-Varying Assumption does not hold and the conditions for
Hidden-Coupling avoidance have to be considered carefully.
7.4. Characteristics of the Aliation Function 137

7.4. Characteristics of the Aliation Function


As discussed in the previous section, Hidden Coupling terms can be introduced when imple-
menting a Gain-Scheduling Controller. Luckily, their inuence can be minimized and they
may even by completely avoided, in case we choose the aliation function µj (p) in the right
way. The requirements for the aliation function can be derived from (7.17). In order to
avoid Hidden Couplings, we have to ensure that the two conditions stated in the previous
section have to hold. To assure the second condition, we must have that for p = pj the
partial derivatives disappear, e.g. that
∂µj (p)
=0
∂p p=pj

holds. Then, the rst condition P


is automatically ensured in case we have that µ1 (p) = 1
if and only if p = p1 holds and i∈N µi (p) = 1. An additional important characteristic

1 not continuously differentiable


continuously differentiable
trim conditions
0.8

0.6
(p) j

0.4

0.2

0 0.5 1 1.5 2 2.5 3 3.5 4


p

10-3
2

1.5

0.5
(p)
j

0
d/dp

-0.5

-1

-1.5

-2
0 0.5 1 1.5 2 2.5 3 3.5 4
p

Figure 7.6.: Aliation function µj (p) for the trim condition pj = 2


of the aliation function is that it is continously dierentiable with respect to p. This is
illustrated considering a scalar scheduling parameter p. Figure 7.6 exemplarily shows two
dierent aliation functions and we consider a Gain-Scheduling strategy based on blending
the input signals but the results can be directly transferred to the strategy of blending the
controller gains. For the blending of input signals, the overall input signal issued by the
Gain-Scheduling Controller is
138 7. Gain-Scheduling

N
X
u= µj (p) · (∆uj + u(pj )).
j=1

Taking the time-derivative, we obtain


N N
X ∂µj (p) X
u̇ = ṗ · (∆uj + u(pj )) + µj (p) · ∆u̇j
j=1
∂p j=1

where the partial derivative of the aliation function µj (p) with respect to p appears. This
derivative is depicted in Figure 7.6. Obviously, the piecewise linear aliation function is not
continously dierentiable, which causes discontinuities in the input signal which are stronger
the faster the scheduling parameter changes. Such inuences can be minimized choosing a
continuously dierentiable aliation function.
A suitable aliation function µj (p) for the trim condition pj = [pj,1 . . . pj,N ]T , which takes
into account the previous considerations can be dened by means of
1 − ξ(pi , pj,i )2 · (3 − 2 · |ξ(pi , pj,i )|),

pj,i,min ≤ pi , ≤ pj,i,max
Φ(pi , pj,i ) =
0, otherwise
with
pi − pj,i
ξ(pi , pj,i ) = 2 · ,
pj,i, max − pj,i, min
pj,i, max = max{p1,i , . . . , p8,i },
pj,i, min = min{p1,i , . . . , p8,i },

and reads
N
Y
µj (p) = Φ(pi , pj,i ).
i=1

Therein, p1 , . . . , p8 refer to the neighboring trim conditions pj and pj,i, max , pj,i, min are
boundary of the neighborhoods in Figure 7.2. Note that the aliation function dened
above ensures µj (p = pj ) = 1 and µj (p = pi ) = 0 for all i 6= j . In addition, the aliation
function is continuously dierentiable and the partial derivative is zero at the boundary of
the neighborhood.
8. State Estimation

In many technical disciplines, the state of a dynamic system is utilized for control purposes.
Nevertheless, in most cases the whole state vector can not be measured and state estimation
methods must be employed in order to reconstruct the state from the evolutions of the
measurable outputs of a system. We already discussed the Luenberger observer in Section
4.2.6, which is a state estimator for deterministic systems. However, in many applications
the measurement is aected by measurement noise and in addition the dynamic model is not
entirely deterministic and subject to so-called process noise. Then, statistical approaches
have to be applied. The most common approach is the Kalman-Filter, which will be discussed
in this Chapter. In the aerospace domain, the Kalman-Filter is commonly applied to perform
data-fusion in the context of navigation, when measurement data from dierent sensors
in dierent qualities and update rates is fused to derive the actual position, velocity and
attitude. We will refer to this application in Chapter 9. Additional application arise in the
context of target tracking in military applications.

8.1. Introduction to Statistics


In order to discuss state estimation methods for stochastic system, we briey discuss the
basic statistical measures and random processes. Employing statistical descriptions very
complex dynamical system can be modelled. Next, we will introduce the concept of statis-
tical variables and random processes.

A quite common example for a stochastic experiment is throwing a dice. This experiment
has 6 distinct outcomes summarized in the sample space
Ω = {one, two, three, four, ve, six} .

An event is an outcome or a set of outcomes A ⊆ Ω, i.e. the event of throwing an even


number is Ω = {two, four, six}. In order to apply probabilistic calculus, we introduce a
random variable X assigning a number to specic outcomes. In the dice-example we would
have
X(one) = 1, X(two) = 2, . . . , X(six) = 6.

The current value of a random variable will be represented by x = X(A). Now, we consider
throwing the dice once several times and determine the reletive frequency each number
occurs. Assuming a fair dice and throwing the dice n times, we evaluate the frequency of
occurance
number of events with outcome A
hn (A) =
n

139
140 8. State Estimation

A∩B

A B A B

Figure 8.1.: Two disjoint events with A ∩ B = ∅ (left) and non-disjoint events A ∩ B 6= ∅
(right) in a set representation.

Now, for n → ∞ we obtain the probability of the event A


P (A) = lim hn (A).
0→∞

for a specic number. Assigning a probability to an event A we have to ensure that the
axioms of Kolmogorov hold, i. e.
• A real number between 0 and 1 is assigned to every event A, i.e. 0 ≤ P (A) ≤ 1
• The certain event A = Ω has probability one, i.e. P (Ω) = 1
• For disjoint events A ∩ B = ∅, we have P (A ∩ B) = P (A and B) = 0
where A ∩ B denotes the intersection set and ∅ the empty set. For a complementary event A
which denotes the set of all events which are not A the probability can be computed from
P (A) = 1 − P (A).

The impossible event A = ∅ has the probability P (∅) = 0. For the set union A ∪ B we obtain
P (A ∪ B) = P (A or B) = P (A) + P (B) − P (A ∩ B)

which can be inferred from Figure 8.1. In case two events A and B are mutually exclusive,
ie. A ∩ B = ∅, we habe that P (A ∩ B) = 0.

8.1.1. Probability Density Function (pdf)


The probability density function is dened as
P (x − dx < x ≤ x + dx)
pX (x) = lim . (8.1)
dx→0 dx
Given the probability density function we compute the probability of x being between a and
b from
Zb
P (a < x ≤ b) = pX (x)dx
a
8.1. Introduction to Statistics 141

Since the event x ≤ ∞ is the certain event, we have that


Z∞
P (x ≤ ∞) = pX (x)dx = 1
−∞

holds. Please note: While the probability P (A) is a dimensioneless property, the probability
density function (pdf) has the dimension of 1/x due to the denition in equation (8.1).

Figure 8.2 illustrates the probability density function for a uniform distribution. Now
consider the dice throwing experiment where the random variable x can only take discrete
values, i.e. x = 1,2, . . . ,6. Then, the pdf for the dice experiment can be derived employing
the dirac-function
1 1 1 1
pX (x) = δ(x − 1) + δ(x − 2) + δ(x − 3) + . . . + δ(x − 6)
6 6 6 6
resulting in the dirac comb shown in Figure 8.2 which is indicated by the black arrows. For
the dice example, we have only discrete events are contained in the sample space Ω and each
event has the same probability.
This probability distribution is represented by means of a discrete uniform distribution as
illustrated in the left part of Figure 8.2. The discrete sample space is represented by means
of the vertical arrows which sample the continuous time uniform distribution funtion
1
for

b−a a≤x≤b
pX (x) =
0 otherwise
Contrary to the dice example, the noise in technical systems is usually represented by a
continuous probability distribution which in most cases is not the uniform distribution. In
fact there is a variety of dierent probability distribution functions which occur in physical
systems. However, a very common distribution is the normal distribution,
1 (x−µ)2
pX (x) = √ e− 2σ2
2π · σ
where µ is the mean and σ > 0 is the standard deviation. This distribution is illustrated
in the right part of Figure 8.2. Commonly, writing x ∈ N (µ, σ 2 ) is the short-hand notation
stating that x is normally distributed with mean µ and variance σ 2 . The square of the stan-
dard deviation σ 2 is denoted as variance. In case of a one dimensional normal distribution
68,27% of all random numbers are contained in the interval [µ − σ µ + σ]. In most appli-
cations, a normal (also named Gaussion) distribution is assumed although processes might
be subject to other distributions. Justication for the application is the central limit theo-
rem stating, that the sum of a large number of random variables of arbritrary distributions
converges to a normal distribution.

8.1.2. Independent Random Variables


In case two events A and B are independent the probability of their joint event can be
computed from
P (A ∩ B) = P (A and B) = P (A) · P (B).
142 8. State Estimation

√1
2πσ
1
b−a

a b x σ µ σ x
Figure 8.2.: Probability density function pX (x) of the uniform distribution (left) and the
normal distribution (right).

Therefore, if we have two independent random variables x and y we compute their joint
probability density functions from
p(x,y) = p(x) · p(y)

where we abbreviated p(x) = pX (x). An example for discrete indepedent events is again our
dice experiment. Throwing the dice several times, each individual outcome is independent
from the previous outcome.

8.1.3. Conditional Probability and Total Probability Theorem


If we are interested in the probability that we observe the event A while previously observing
the event B we have to compute the conditional probability
P (A ∩ B)
P (A|B) = .
P (B)

Note that in case A and B are independent, we obtain


P (A ∩ B) P (A) · P (B)
P (A|B) = = = P (A).
P (B) P (B)

In a similar manner we may compute the conditional probability density function


p(x,y)
p(x|y) =
p(y)

For random variables and probability density functions we get


Z∞ Z∞
p(x) = p(x,y)dy = p(x|y)p(y)dy.
−∞ −∞

This process of obtaining the probability p(x) by means of integrating over y is commonly
referred to as marginalization.
8.1. Introduction to Statistics 143

8.1.4. Bayes Formula


A probability of an event B conditioned on the event A can be computed noting that
P (B ∩ A) = P (B|A) · P (A) = P (A|B) · P (B)
holds. Resorting the terms we obtain Bayes-Formula
P (A|B) · P (B)
P (B|A) = .
P (A)
Transferring Bayes equation to probability density functions we derive
p(y|x) · p(x) p(y|x) · p(x)
p(x|y) = = R∞
p(y) −∞
p(y|x)p(x)dx
where p(x) is referred to as prior probability and p(x|y) is the posterior probability density
function. The prior represents the initial degree of belief. When combined with evidence
from data (a measurement) p(y|x) it yields the posterior p(x|y).

8.1.5. Characterization of Probability Distributions


In this section we refer to characteristic measures of probability distrubtions which are em-
ployed to approximately describe the density function. These measures are called moments
and central moments, respectively.

The i-th moment of a random variable X with the probability density function is dened
by means of
Z∞
E Xi = xi · pX (x)dx
 

−∞

for continous random variables and


  X
E Xi = x(k)i · pX (x(k))
k∈N

for the discrete counterpart. The rst moment is referred to as the mean or expectation
of a distribution. If we have two random variables X , Y and constants a, b the following
computational rules hold
E [a] = a,
E [aX] = aE [X] ,
E [a + bX] = a + bE [X] ,
E [X + Y ] = E [X] + E [Y ] .
The i-th central moment of a random variable X with the probability density function is
dened by
h i Z∞
i
µi = E (X − E [X] = (x − E [X])i · pX (x)dx
−∞
144 8. State Estimation

for continous random variables and


 X
µi = E (X − E [X])i = x(k)i · pX (x(k))


k∈N

for the discrete case. The most important central moment is the variance, which is
Var(X) = E (X − E [X])2 .
 

If we have two random variables X , Y and constants a, b the following computational rules
hold
Var(a) = 0,
Var(a + X) = Var(X),
Var(a + bX) = b2 · Var(X),
Var(X + Y ) = Var(X) + Var(Y ) + 2 · E [X · Y ] − E [X] E [Y ] .
| {z }
Cov(X,Y )
Therein, Cov(X,Y ) denotes the covariance, which is a measure for the statistical dependency
between X and Y , which is formally dened as
Cov(X,Y ) = E [(X − E [X]) (Y − E [Y ])]
= E [X · Y − XE [Y ] − E [X] Y + E [X] · E [Y ]]
= E [X · Y ] − 2 · E [X] · E [Y ] + E [X] · E [Y ]
= E [X · Y ] − E [X] · E [Y ] .

In case two random variables X and Y are statistically independent Cov(X,Y ) = 0 holds.
If we have random variables X , Y , Z , constants a, b, c and d the computational rules
Cov(X,X) = Var(X),
Cov(a + bX, c + dY ) = b · d · Cov(X,Y ),
Cov(X + Y,Z) = Cov(X,Z) + Cov(Y,Z)
hold. Commonly, the covariance is normalized to values between −1 and +1 by means of
the standard deviations
Cov(X,Y )
rXY = p
Var(X) · Var(Y )
resulting in the dimensioneless correlation coecient. In case the correlation coecient is
zero, the random variables are uncorrelated. If we have a value near one, they are highly
correlated. In case of a value near minus one, the random variables are also highly correlated
but with opposite directions.

Example: Covariance
We consider the following example borrowed from [12] where we have discrete measurements
of two sensors summarized in Table 8.1. First we derive the characteristics of the distribu-
tions and secondly we compute the covariance. First we compute the mean values for both
8.1. Introduction to Statistics 145

1 2 3 4 5 6 7 8 9 10 11
Sensor 1/X 2.6 1.0 3.6 0.5 1.6 1.9 2.9 2.2 0.9 2.8 2.0
Sensor 2/Y 5 2 7 1 4 3 5 3 3 6 5
Table 8.1.: Sensor measurements for distinct sampling points and two sensors

sensors: To this end we approximate the mean by the average value


N
1 X
E [X] = x = x(k),
N
k=1

so we obtain
11 11
1 X 1 X
E [X] = x(k) = 2, E [Y ] = y(k) = 4,
11 11
k=1 k=1

In order to compute the variance from discrete measurements we employ the approximation
N
1 X
Var (X) = (x(k) − E (X))
2
N −1
k=1

and derive
N
1 X
Var (X) = (x(k) − E (X))
2
10
k=1
0.62 + 12 + 1.62 + 1.52 + 0.42 + 0.12 + 0.92 + 0.22 + 1.12 + 0.82 + 02
= = 0.904,
10
N
1 X
Var (Y ) = (y(k) − E (Y ))
2
10
k=1
12 + 22 + 32 + 32 + 02 + 12 + 12 + 12 + 12 + 22 + 12
= = 3.2.
10
For the covariance we employ the approximation
N
1 X
Cov (X,Y ) = (x(k) − E [X]) · (y(k) − E [Y ])
N −1
k=1
N
1 X
= (x(k) − E [X]) · (y(k) − E [Y ])
10
k=1

Note that the above approximations are also implemented in the Matlab functions Var
and Cov. Normalizing the covariance by the standard deviations we obtain the correlation
coecient
Cov(X,Y ) 1.54
rXY = p =√ = 0.9
Var(X) · Var(Y ) 0.904 · 3.2
so both measurements are highly correlated. This can also be inferred from the graphical
representation of the sensor measurements in Figure 8.3.
146 8. State Estimation

7 7
Sensor 1
Sensor 2
6
6

5
5

4
4
3

3
2

2
1

0 1
2 4 6 8 10 0.5 1 1.5 2 2.5 3 3.5 4
k Measurements Sensor 2

Figure 8.3.: Measurements from Table 8.1

8.1.6. Random Process


Considering dynamic systems we have to deal with a random process X(t) instead of a
random variable X . For a specic time instant t0 , X(t0 ) becomes a random variable. Besides
the time-dependency we further generalize our considerations to the multivariate case where
the random variable X or the random process X(t) become vectors X = [X1 X2 . . . Xn ]T
and X(t) = [X1 (t) X2 (t) . . . Xn (t)]T .
In the multivariate case, the probability density function becomes a scalar eld pX (x) and
the previously discussed concepts can be generalized. In case of the multivariate normal
distribution we have
1 1 T −1
pX (x) = p e− 2 (x−µ) P XX (x−µ) .
n
(2π) det P XX

Therein, the mean µ = E[X] is a vector valued quantity


Z∞
E [X] = x · pX (x)dx
−∞

and the variance is replaced by the n×n auto-covariance matrix (also referred to as variance-
covariance matrix or covariance matrix)
h i
P XX = Cov (X, X) = E (X − E [X]) · (X − E [X])
T

h i
T
= E X · X T − E [X] · E [X] .

In case we have two dierent random variable vectors, we can also dene the cross-covariance
matrix
h i
P XY = Cov (X, Y ) = E (X − E [X]) · (Y − E [Y ])
T

h i
T
= E X · Y T − E [X] · E [Y ] .
8.1. Introduction to Statistics 147

Stationary and ergodic processes


There exist specic processes whose probability density function pX (x) does not depend on
the current time, i.e.
pX (x) = pX (x(t)) = pX (x(t + ∆t))

holds. Such a process is denoted as stationary process and the vectors x(t) and pX (x(t+∆t))
have the same statistical properties for arbritrary ∆t and the mean E(X) for such processes
is constant. There also exist a weaker stationarity condition: A process is called wide-sense
stationary, if the mean and the autocovariance are not time-dependent.
Another important characteristic of processes is ergodicity: In case a process is ergodic, the
ensemble average equals the time average. An example for an ergodic process is throwing k
dies where the same stochastic characteristics occur in case the k dice are thrown separately
(at dierent time instances) or simultaneously at one time instant.

Autocorrelation
At each time instant t the vector x(t) ∈ Rn constitutes a vector of random variables. The
autocorrelation of such a vector-valued process is dened as the n × n matrix
 
E [x1 (t1 )x1 (t2 )] ... E [x1 (t1 )xn (t2 )]
.. .. ..
γ XX (t1 , t2 ) = E [x(t1 ) · x(t2 )] =  . . .
 

E [xn (t1 )x1 (t2 )] . . . E [xn (t1 )xn (t2 )]

with
Z∞ Z∞
γXX (t1 , t2 ) = E [xi (t1 )xj (t2 )] = xi (t1 )xj (t2 )p (xi (t1 )xj (t2 )) dxi (t1 )dxj (t2 ).
∞ ∞

The autocorrelation provides a measure for the simimarity of the vectors x(t1 ) and x(t2 ).
For an ergodic and stationary process the autocorrelation becomes a function of the time
shift τ and reads
Z∆T
γXX (τ ) = lim x(t)x(t + τ )dt.
∆T →∞
0

Figure 8.4 shows the autocorrelation function γXX (τ ) for a white noise signal (top) and
a sine-signal with additional white noise. The best similarity between both signals can be
obtained for τ = 0. Considering the white noise signal, similarity only exist for τ = 0, i.e. for
any arbritrary small ∆t the random variables x(t) and x(t + τ ) are statistically independent.
For the sine-signal on the other hand, a certain degree of similarity can be obtained for τ
being a multiple of the period of the sine-signal.

White Noise
A process whose autocorrelation is zero for abritrary time shifts τ 6= 0 is called white noise.
Analyzing this process in the frequency domain, the signal energy is equally spread over
148 8. State Estimation

1.5 1

0.8
1

0.6
0.5

( )
x(t)

0.4

XX
0
0.2

-0.5
0

-1 -0.2
0 1 2 3 4 -4 -2 0 2 4
t in s t in s

2 1

1 0.5
( )
x(t)

0
XX

-1
-0.5

-2
0 1 2 3 4 -4 -2 0 2 4
t in s t in s

Figure 8.4.: Autocorrelation γXX (τ ) of a white noise signal (top) and a sine signal which is
disrupted by measurement noise.
8.2. Kalman-Filter 149

all frequencies, what motivates the name white noise1 . The correlation of a stationary
zero-mean white noise process is
γXX (τ ) = Var0 · δ(τ )

which could be seen for the example in Figure 8.4. Therein, Var0 denotes the variance of
the random process. For a non-stationary white noise process, we obtain
γXX (t, t̃) = Var0 (t) · δ(t − t̃)

where Var0 (t) is referred to as instantenous variance.

Wiener Process
Let η(t) be zero mean white noise with γηη (t1 ,t2 ) = η0 · δ(t1 − t2 ). Then an integrator whose
input is a white noise signal 2
Zt
w(t) = η(τ )dτ
0

is denoted as Wiener process. Equivalently, we could state that any increment


dw(t) = η(t)dt

is independent from any previous increment no matter how small the time dierence is.

Markov Process
Processes which posses the Markov-property
p(x(t)|x(τ ), τ ≤ t1 ) = p(x(t)|x(t1 ))

for all t > t1 are called Markov-processes. The Markov property can be interpreted that the
future is independent from the past if the present x(t1 ) is known.
The previously discussed Wiener process is a Markov process, since any increment in the
future does not depend on any past values.

8.2. Kalman-Filter
In this Section we derive the Kalman-Filter for linear systems, which will be generalized
to the nonlinear case in Sections 8.3. In our discussions we will refer to the discrete time
versions of the Kalman-Filter.

1 In optics, white light contains


all other colors, i.e. all wavelength/frequencies.
2 While deterministic processesare described by means of dierential equations, stochastic processes are
commonly described by integral equations instead of dierential equations. This is due to the fact, that
many stochastic processes including the Wiener process are not dierentiable.
150 8. State Estimation

Objective of a Kalman-Filter is estimating the state x(t) of a linear dynamic system


ẋ(t) = Ax(t) + Bu(t) + Gη(t), with x(0) = x0
(8.2)
y(t) = Cx(t) + Du(t) + ζ(t).

In contrast to the derivations in Section 4.2 the above representation contains two noise
signals η(t) and ζ(t) which can be employed to model a specic degree of inaccuracy in
modelling the dynamics and an imprecise measurement. Therefore, η(t) is referred to as
process and ζ(t) is the measurement noise. Due to the contributions of process noise, x(t)
becomes a ramdom process.

8.2.1. Discretizing the State-Space Model


Since the Kalman-Filter is easier to derive in the discrete time version, we have to discretize
the dynamics (8.2). To this end, we need the solution for the dynamics (8.2), which was
already derived in Section 4.2.1 for the deterministic linear system. In order to derive
the discrete time counterpart, we consider the solution (4.12) between two sampling points
t0 = k · T and t = (k + 1) · T

Z ·T
(k+1)

x((k + 1) · T ) = Φ((k + 1) · T − k · T )x(k · T ) + Φ(k · T − τ )Bu(τ )dτ,


k·T

Z ·T
(k+1)
A((k+1) · T −k · T )
x((k + 1) · T ) = e x(k · T ) + eA(k · T −τ ) Bu(τ )dτ
k·T

where x(k · T ) is regarded as initial state. In a discrete-time implementation, e.g. on a


microcontroller, the input u(t) is usually constant between two distinct sampling instances,
so u(t) = u(k · T ) = uk ∀t ∈ [kT (k + 1)T ], then the above integral can be simplied
Z ·T
(k+1)

xk+1 = e AT
xk + eA(k · T −τ ) Bdτ uk
k·T
ZT
= eAT xk + eA(T −τ ) Bdτ uk .
0

Abbreviating
ZT
Ad = e AT
, Bd = eA(T −τ ) Bdτ,
(8.3)
0
Cd = C, Dd = D

we get the discrete-time counterpart of the linear dynamics (8.2)


xk+1 = Ad xk + Bd uk + Gd η k , with x(0) = x0
(8.4)
yk = Cd xk + D d uk + ζ k .
8.2. Kalman-Filter 151

Approximation of the discrete-time dynamics


Quite often, the exact discrete time counterparts of the system- and inputmatrix in equation
(8.3) are only approximated noting that
x((k + 1) · T ) ≈ x(kT ) + T · ẋ(kT ) = x(kT ) + T · (Ax(kT ) + Bu(kT ) + Gη(kT ))
xk+1 ≈ (I + AT )xk + BT uk + GT η k

from which we get


Ad = I + AT, Bd = B · T,
(8.5)
Cd = C, D d = D, Gd = G · T.

8.2.2. Deriviation of the Kalman-Filter


Now we want to derive the equations of a Kalman-Filter. Our objective is, deriving an
unbiased estimate x̂k , i.e.
E [x̂k ] = E [xk ]

holds, for the discrete time process xk described by means of (8.4) such that the mean
squared error
E kx̂k − xk k2 (8.6)
 

is minimum, which can be regarded as the variance of the estimation error. Now, we state
a few assumptions:
• The process η k and the measurement noise ζ k are uncorrelated, zero-mean white noise
processes with known covariance matrices. If this assumptions hold, we have
if

Qk k=j
E ηk ηT
 
j = 0 otherwise
and
h
T
i 
Rk if k=j
E ζkζj =
0 otherwise
with symmetric and positive semidenite matrices Qk and Rk .
• Initial state x0 is uncorrelated to system and measurement noise processes

• Initial system
 state has knownmean and covariance and we choose x̂0 = E[x0 ] and
P 0 = E (x̂0 − x0 ) · (x̂0 − x0 )T

Given measurements (observations) y1 , . . . , yk up to timestep k the task of the Kalman-Filter


is to derive an estimate x̂k+1 which minimizes (8.6). Mathematically, we write x̂k+1|Y k =
x̂k+1|k in order to denote that the estimate of the state at timestep k + 1 is conditioned on
152 8. State Estimation

the measurements up to timestep k which are summarized in Y k . Assuming x̂k = E[xk ] we


compute the state prediction

x̂k+1|k = E [xk+1 |Y k ]
= E [Ad xk + Bd uk + Gd η k |Y k ]
(8.7)
= Ad E [xk |Y k ] + Bd uk + Gd E [η k |Y k ]
= Ad x̂k|k + Bd uk ,

where we employed E [xk |Y k ] = E [x̂k |Y k ] = x̂k|k , E [η k |Y k ] = 0 since η k has zero mean


and that uk is deterministic. We also derive the estimated covariance

P k+1|k = E (x̂k+1 − xk+1 ) · (x̂k+1 − xk+1 )T |Y k


 
(8.8)
= E (x̂k+1|k − xk+1 ) · (x̂k+1|k − xk+1 )T |Y k
 

Employing (8.4) and (8.7) we get

x̂k+1|k − xk+1 = Ad x̂k|k + Bd uk − (Ad xk + Bd uk + Gd η k )


= Ad (x̂k|k − xk ) − Gd η k .

Inserting this result in (8.8) we obtain

P k+1|k = E (x̂k+1 − xk+1 ) · (x̂k+1 − xk+1 )T |Y k


 

= Ad E (x̂k|k − xk ) · (x̂k|k − xk )T |Y k AT
 
d

(8.9)
 T
− E (x̂k|k − xk )η T T
  
k |Y k G d − G d E η k · (x̂k|k − xk ) |Y k
 T
+ Gd E η k · η T

k |Y k Gd
T
= Ad P k|k AT
d + Gd Q k Gd

where we employed, that xk and η k are uncorrelated, i.e. E η k (x̂k|k − xk )T |Y k = 0 holds.


 

Figure 8.5 illustrates the prediction step, where predicted state is computed employing (8.4)
and the predicted covariance follows from (8.9). Due to the term Gd Qk GTd and since we
have a positive semidenite matrix Qk the uncertainty of the Kalman Filter increases.

Having derived the predicted estimate x̂k+1|k we want to employ a new observation/measurement
yk+1 to derive the estimate x̂k+1|k+1 . To this end we compute

(8.10)

x̂k+1|k+1 = x̂k+1|k + K k+1 · yk+1 − ŷk+1|k

with ŷk+1|k = Cd x̂k+1|k + Dd uk . The error between the real and estimated output is
commonly referred to as innvoration. In order to derive the Kalman-Gain K k+1 we compute
8.2. Kalman-Filter 153

the error covariance


P k+1|k+1 = E (x̂k+1|k+1 − xk+1 ) · (x̂k+1|k+1 − xk+1 )T
 

= E (x̂k+1|k + K k+1 (Cd xk+1 + ζ k − Cd x̂k+1|k ) − xk+1 ) · ( · )T


 

= E (x̂k+1|k − xk+1 + K k+1 (Cd xk+1 − Cd x̂k+1|k ) + K k+1 ζ k ) · ( · )T


 

= E (x̂k+1|k − xk+1 + K k+1 Cd (xk+1 − x̂k+1|k ) + K k+1 ζ k ) · ( · )T


 

= E (I − K k+1 Cd ) · (x̂k+1|k − xk+1 ) + K k+1 ζ k ) · ( · )T


  (8.11)
= (I − K k+1 Cd )E (x̂k+1|k − xk+1 ) · (x̂k+1|k − xk+1 )T (I − K k+1 Cd )T
 
h i
+ K k+1 E ζ k ζ T T
k K k+1

= (I − K k+1 Cd ) · P k+1|k · (I − K k+1 Cd )T + K k+1 Rk+1 K T


k+1

where
h we employed the ifact that the measurement noise and the state are uncorrelated, i.e.
E (x̂k+1|k − xk+1 ) · ζ k = 0 holds and P k+1|k = E (x̂k+1|k − xk+1 ) · (x̂k+1|k − xk+1 )T .
T
 

In order to determine K k+1 we aim on minimizing (8.6), which can be acchieved minimizing
min Tr P k+1|k+1 .

K k+1
(8.12)
Since we have that for symmetric matrices B
∂ Tr ABAT

= 2AB
∂A
holds, we minimize (8.12) and obtain
∂ Tr P k+1|k+1

=0
K k+1
⇔ 2(I − K k+1 Cd ) · P k+1|k (−Cd )T + 2K k+1 Rk+1 = 0
⇔ −2P k+1|k CT T
d − 2K k+1 Cd P k+1|k Cd + 2K k+1 Rk+1 = 0

⇔ P k+1|k CT T

d = K k+1 Rk+1 + Cd P k+1|k Cd
−1
⇔ K k+1 = P k+1|k CT T
d Rk+1 + Cd P k+1|k Cd .

Inserting
−1
K k+1 = P k+1|k CT T
d Rk+1 + Cd P k+1|k Cd

in (8.10) and (8.11) we obtain x̂k+1|k+1 and P k+1|k+1 . Summarizing the Kalman equations
constituting the Kalman-Filter algorithm, we rst compute the predictions of the state and
covariance
x̂k+1|k = Ad x̂k|k + Bd uk ,
T
P k+1|k = Ad P k|k AT
d + Gd Q k Gd

and then we incorporate the measurement yk+1 and it's covariance Rk+1 , computing
−1
K k+1 = P k+1|k CT T
d Rk+1 + Cd P k+1|k Cd
154 8. State Estimation

Prior

P k|k Prediction of
x̂k|k state and covariance
P k+1|k
x̂k+1|k

Measurement and
covariance
Correction of
state & covariance Compute innovation
P k+1|k+1 and Kalman-Gain
x̂k+1|k+1

Figure 8.5.: Computational steps of the Kalman-Filter-Algorithm.

and employ the Kalman gain to correct the state and covariance

x̂k+1|k+1 = x̂k+1|k + K k+1 · yk+1 − ŷk+1|k
P k+1|k+1 = (I − K k+1 Cd ) · P k+1|k · (I − K k+1 Cd )T + K k+1 Rk+1 K T
k+1

with ŷk+1|k = Cd x̂k+1|k + Dd uk . The correction of the state and covariance predictions
(8.7) and (8.9) by means of the measurement is illustrated in Figure 8.5. Due to the gain
of knowledge of the process by means of the measurement the covariance and therefore the
uncertainty of the lter estimate is reduced. The steps of the algorithm can be summarized
as follows:
1. Prediction of state and covariance
x̂k+1|k = Ad x̂k|k + Bd uk
T
P k+1|k = Ad P k|k AT
d + Gd Q k Gd

where the uncertainty is increased by means of Qk


2. In case a measurement is available, the Kalman Gain is computed by means of
(8.13)
−1
K k+1 = P k+1|k CT T
d Rk+1 + Cd P k+1|k Cd .
Note that the Kalman-Gain and therefore the state correction has a stronger eect in
case the sensor uncertainty Rk+1 is small.
3. Correction of state and covariance, the innovation yk+1 − ŷk+1|k is computed and
employed to correct state and covariance by means of

x̂k+1|k+1 = x̂k+1|k + K k+1 · yk+1 − ŷk+1|k
(8.14)
P k+1|k+1 = (I − K k+1 Cd ) · P k+1|k · (I − K k+1 Cd )T + K k+1 Rk+1 K T
k+1
8.2. Kalman-Filter 155

25
True Measurement
20 Kalman-Filter Tm =0.01s

15 Kalman-Filter Tm =0.05s

10

5
y

-5

-10

-15

-20
0 2 4 6 8 10 12 14 16 18 20
t in s

Figure 8.6.: True measurement and estimated Kalman-Filter output for a measurement in-
terval of Tm = 0.01s and Tm = 0.05s.

8.2.3. Example 1: Kalman-Filter


We consider an example of a Kalman-Filter application. Our aim is estimating the state of
the linear system
 
0 1
ẋ = x+η
−22 0 (8.15)
 
y= 1 0 x+ζ

where the noise is normally distributed, i.e. η ∼ N (0,Q) with


 
2 1
Q=
1 4

and ζ ∼ N (0,R) with R = 16. The system is a harmonic oscillator with frequency
ω = 2 rads−1 which we consider for the initial state x = [10 − 3]T .
In order to implement a Kalman-Filter, we derive the (approximated) discrete time coun-
terpart of the system (8.15) employing the sampling time Ts which is
   
0 1
x̂k+1 = I+ · Ts x̂k
−22 0
 
yk = 1 0 x̂k .

Note that also the process noise covariance has to be discretized by Qk ≈ Q · Ts . We chose
the initial state and covariance as follows
,T
 
x̂0 = 0 0
 
80 40
P0 = .
40 160

Figure 8.6 shows the measured output as well as the Kalman-Filter output for two dier-
ent settings with a measurement interval of Tm = 0.01s and Tm = 0.05s. Note that the
Kalman-Filter is processed with an update interval of 0.01s. However, in the second case, a
measurement is only processed every Tm = 0.05s. In case no new measurement is available,
156 8. State Estimation

15
True State
Kalman-Filter Tm =0.01s
10
Kalman-Filter Tm =0.05s

x1 0

-5

-10
0 2 4 6 8 10 12 14 16 18 20
t in s

20

10
x2

-10

-20

0 2 4 6 8 10 12 14 16 18 20
t in s

Figure 8.7.: True and estimated states for a measurement interval of Tm = 0.01s and Tm =
0.05s.

only the prediction steps of the Kalman-Filter are performed. Figures 8.7 and 8.8 show the
corresponding states and elements of the covariance matrix
 
P11 P12
P = .
P12 P22

Note that for the Kalman-Filter with measurement interval of Tm = 0.05s the covariance
increases during the prediction steps where no measurement information is obtained.
8.2. Kalman-Filter 157

Filter Covariances
15
Kalman-Filter Tm =0.01s
Kalman-Filter Tm =0.05s
10
P11

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

15

10
P12

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

150

100
P22

50

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

Figure 8.8.: Elements of the covariance matrix for the rst 5s.
158 8. State Estimation

Filter Covariances
15

10

P11
5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

15

10
P12

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

150

100
P22

50

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t in s

Figure 8.9.: Elements of the covariance matrix for the rst 5s.

8.2.4. Example 2: Kalman-Filter for Data-Fusion


Secondly, we consider the application of a Kalman-Filter for performing data-fusion. In
such an application, we have dierent sensors available measuring state related parameters
in dierent quality and at dierent measurement intervals. In contrast to example 1 (8.15) we
now have two sensors measuring y . The rst one has measurement interval of Tm,1 = 0.04s
and a quality expressed in terms of the measurement noise ζ1 ∼ N (0,R) with R = 16. The
second sensor has a better measurement quality ζ2 ∼ N (0,R) with R = 4 but a longer
measurement interval Tm,2 = 0.33s.
We run the Kalman-Filter algorithm such that only the prediction step is perfomed every
0.01s and whenever a measurement is available, we perform the update step employing the
respective sensor measurement and quality information. Figure 8.9 shows the elements of the
covariance matrix. Note that every 0.33s there is a large decrease in the covariance due to
the processing of a high quality measurement providing high quality information compared
to the high frequency measurement of low quality. During the prediction steps when no
measurement is available, we observe an increase in the covariance. The corresponding
states estimated by the Kalman-Filter are depicted in Figure 8.10.

8.3. Extended Kalman-Filter (EKF)


The Kalman-Filter discussed in the previous section is suited for linear systems

ẋ(t) = Ax(t) + Bu(t) + Gη(t), with x(0) = x0


y(t) = Cx(t) + Du(t) + ζ(t).
8.3. Extended Kalman-Filter (EKF) 159

15
True State
10 Kalman-Filter

0
x1

-5

-10

-15

-20
0 2 4 6 8 10 12 14 16 18 20
t in s

30

20

10
x2

-10

-20

-30
0 2 4 6 8 10 12 14 16 18 20
t in s

Figure 8.10.: True and estimated states for the data fusion example.

Nevertheless, in many state estimation applications we have to consider nonlinear dynamics


of the kind
ẋ(t) = f (x(t),u(t)) + Gη(t), with x(0) = x0
(8.16)
y(t) = h(x(t),u(t)) + ζ(t).

A straightforward modication of the previously discussed Kalman-Filter algorithm leads to


the extended Kalman-Filter (EKF), which can be applied to nonlinear dynamics. To this
end, the state prediction is computed based on the nonlinear dynamics (8.16)
x̂k+1|k = x̂k|k + T · f (x̂k|k ,uk )

where T refers to the sampling interval of the algorithm. In order to predict the covariance,
we compute the linearized dynamics of (8.16) for the current state precition x̂k|k and input
uk , evaluating the Jacobian

∂f (x,u)
A= x=x̂
∂x u=uk|k k

and derive Ad by means of (8.3) or the approximations (8.5). Afterwards, the covariance
prediction can be employed as discussed in the previous section
When a measurement is obtained, the measurement equation has to be linearized

∂h(x,u)
C d,k+1 = C = x=x̂k+1|k
∂x u=uk+1
in order to compute the Kalman-Gain by means of (8.13). However, the computation of
the innovation is performed based on the nonlinear measurement equation yk+1 − ŷk+1 =
yk − h(x̂k+1|k ,uk ). Then the equations (8.14) are employed to obtain the correct the state
and covariance.
160 8. State Estimation

8.3.1. Outlier Rejection


In many technical applications, unknown disturbances or disadvantageous conditions can
generate measurement outliers which corrupt the estimation result if processed in the lter
algorithm. In order to avoid these phenomena, a validation gate based on the measurement
prediction covariance
S k+1 = Rk+1 + Cd,k+1 P k+1|k CT
d,k+1

can be introduced. Now, for each measurement yk+1 the innovation


v k+1 = yk+1 − ŷk+1|k (8.17)
is computed and only processed within the lter in case
−1
vT
k+1 S k+1 v k+1 ≤ q
2

holds, where q is a condence level.

8.3.2. Filter Consistency


When implementing a Kalman-Filter the question may arise, how it's performance can be
evaluated and how potential implementation errors can be found. This is non-trivial since
the true state is usually not accessible (constituting the motivation for implementing the
Kalman-Filter) and we cannot compute the state estimation error.
However, an accessible measure is the innovation (8.17). In case of a correct lter implemen-
tation, the innovation has zero mean with covariance S k . The following two checks have to
be performed:
• Analyze the innovation and check whether it's magnitude vk,i is bounded by ± Sk,ii .
p

The test
p is passed in case the innovation is unbiased an 95% of all values are within
the ± Sk,ii bounds.
• Verifaction that innovation is unbiased and white by means of hypothesis testing (χ2
test).

χ2 -Test
First, we discuss the basic principles of a χ2 -distribution. Assume z1 , . . . , zk are independent
and standard normal distributed, e.g. zi ∈ N {0, 1}. Then, the sum of squares
k
(8.18)
X
q= zi2
i=1

is distributed according to the χ2 -distribution with k degrees of freedom. The mean of a


χ2 -distribution is
" k #
X
E[q] = E zi2 = k.
i=1
8.3. Extended Kalman-Filter (EKF) 161

We perform a sequence of i = 1, . . . ,N runs of the Kalman-Filter and compute the normalized


innovations3 for the i-th experiment
qk+1 (i) = v k+1 (i)T S −1
k+1 (i)v k+1 (i). (8.19)
If qk+1 (i) are each following a χ2 -distribution in m degrees of freedom, where m is the dimen-
sion of the measurement vector yk the innovation is unbiased. The normalized innovation
(8.19) is χ2 distributed if
E[qk+1 ] = m (8.20)
holds. The mean (8.20) is estimated based on N samples
N
1 X
E[qk+1 ] ≈ q k+1 = qk+1 (i).
N i=1

In case the innovations are ergodic, we may also employ


N
1 X
E[qk+1 ] ≈ q k = qk , (8.21)
N
k=1

so we only need a single run of the Kalman Filter.

Lastly we have to check whether the innovation is white noise. To this end we perform a
autocorrelation test and prove that
E[v i v T
j ] = S i δij .

Practically, we assume ergodicity and compute the time-averaged correlation


−τ −1
NX
1
E[v i v T
j ] ≈ r(τ ) = vk vT
k+τ , (8.22)
N
k=0

which is usually normalized by means of r(0).

8.3.3. Example: Evaluation of Filter Consistency


In this example we refer to the consistency check of Kalman-Filters. To this end we consider
the example from Section 8.2.3 and evaluate (8.19) based on the innovation
vk = yk − ŷk .

Based on the innovation we compute qk and the running mean of E[qk ] assuming ergodicity
by means of equation (8.21). The results are shown in Figure 8.11. Obviously, the running
mean converges to one, which ts to the output dimension being one. Figure 8.12 shows
the normalized time averaged correlations (8.22) which can be computed by means of the
Matlab function xcorr. Due to the fact that only for τ = 0 correlation is obtained, we infer
that the innovation is white noise.
3 Normalization ensures that we recover the sum-of-squares denition (8.18) for standard normal distributed
variables.
162 8. State Estimation

20 Kalman-Filter Tm =0.01s
Innovation 10 Kalman-Filter Tm =0.05s

-10

-20
0 2 4 6 8 10 12 14 16 18 20
t in s

20

15
q(t)

10

0
0 2 4 6 8 10 12 14 16 18 20
t in s

1.4
1.2
1
E[q(t)]

0.8
0.6
0.4
0.2
0 2 4 6 8 10 12 14 16 18 20
t in s

Figure 8.11.: Innovation vk , qk and running mean E[qk ] for the example from Section 8.2.3.

1
Kalman-Filter Tm =0.01s
Kalman-Filter Tm =0.05s
0.8

0.6

0.4

0.2

-0.2
-20 -15 -10 -5 0 5 10 15 20
in s

Figure 8.12.: Innovation vk , qk and running mean E[qk ] for the example from Section 8.2.3.
9. Navigation

As any controller, a ight controller relies on informations about the current state of the
controlled system. Unfortunately, the attitude angles (or attitude quaternion) can not be
measured directly but has to be derived fusing turn-rate and acceleration measurements
with GPS measurements. Besides the ight controller other aircraft systems rely on ight
state data. Especially position information is important to ensure that the aircraft reaches
it's destination on the desired ight path.
Navigational algorithms commonly employing an extended Kalman-Filter derive this infor-
mation and in this section we will discuss an exemplary implementation. Before, we will
refer to the sensors which provide the input data for the navigational algorithm.

9.1. Sensors applied in Navigation


In this section, we refer to dierent types of sensors applied in the context of navigation. We
will focus on the most common ones which are the inertial measurement unit and satellite
based positioning systems. In some applications, further sensor measurements are available,
e.g. star trackers in space ight and image based systems.

9.1.1. Inertial Measurement Unit (IMU)


An inertial measurement unit (IMU) constitutes the primary sensor employed in naviga-
tion. Nowadays IMUs are commonly designed as micro-electro mechanical system (MEMS)
and contain accelerometers and gyroscopes. Quite often, an additional magnetometer and
a barometer are also contained in the sensor package. Figure 9.1 illustrates a general con-
guration of an accelerometer. Therein a proof mass is mounted between two spring-like
structures. An elongation of this proof mass results in a position displacement, which is
transferred to a voltage-signal by means of a changing capacity between miniturized ca-
pacitator plates. Now, assume the whole case containing the accelerometer is accelerated
vertically by a, then the force
F = m · at = m · (a + g)

is acting on the proof mass. Note that the proof mass will an acceleration a 6= 0 although the
whole device is not moving. This is due to the gravity acceleration acting on the proof mass
and has to be considered when evaluating the sensor data in the navigational algorithm.
The force F will cause a displacement leading to a proportional voltage reaction1 . This
signal is converted into a digital number employing analog to digital conversion such that
1 We will not discuss the translation from a position displacement in a voltage signal in detail. In addition
we neglect the dynamics of the springs in the accelerometer and assume that these dynamics decay
rapidly such they can be neglected.

163
164 9. Navigation

displacement
measurements
proof mass

spring

case

Figure 9.1.: Accelerometer as part of an inertial measurement unit (IMU).

with a known proof mass m the sensed acceleration becomes


F
â = = a + g.
m
Then the actual acceleration leading to a change in velocity and position is
a = â − g.
The accelerometer in Figure 9.1 is only sensitive with respect to the z -direction. Therefore,
to sense accelerations in x-, y - and z -direction three accelerameters are combined to form a
orthogonal system. Such an accelerometer tripod measures the acceleration
am = (I + ∆) · (atrue + ba ) + aη
where ∆ constitutes an alignment error, ba represents a bias error and aη the measurement
noise

Besides the accelerometer tripod an IMU also contains MEMS gyroscopes to measure the
turn-rate ω . Figure 9.2 illustrates the principles employed to measure ω . Assume a point
moving to the outwards on a rotating plate as depicted in the top left part of Figure 9.2. In
order to maintain a straight line, the point must accelerate to the left in order to maintain
the straight movement. This acceleration is denoted as Coriolis acceleration.
The structure depicted in the top right part of Figure 9.2 is used to measure the Coriolis
acceleration. A resonating mass is mounted to an inner casing which can move with respect
to an outer casing and the displacement can be sensed by means of a change in capacity. If
the mass is resonating with velocity v there is a force acting on the inner casing due to the
Coriolis acceleration which is proportial to the turn rate ω , i.e.
ac = −ω · v
9.1. Sensors applied in Navigation 165

holds. With the resonating mass m, the force acting on the inner casing reads
Fc = m · ac = −mω · v

and leads to a displacement between the condensator plates which is transferred into a volt-
age signal, which is converted in a digital signal by means of a digital to analog conversion.
Knowing the velocity v the turn rate ω can be derived based on this signal. Analogously
to the accelerometer, also the MEMS gyroscope is only sensitive to a rotation about one
axis. In order to sense rotations about all axes, three gyroscopes must be employed each
aligned with one of the respective axes. We discuss the measuring of the turn rate ω of one
of these gyroscopes by means of the technical article [2] and Figure 9.2 borrowed from [2].
Consider two points on the rotating platform in the upper left subgure of Figure 9.2. The
relative speed with respect to the ground resulting from the turn rate is visualized by the
red arrows. Due to
vt = ω · r

the tangential speed vt increases when a point moves from the inward to the outward. This
gain in velocity is denoted as Coriolis acceleration which is given by
ac = 2 · ω · vr

where vr is the radial acceleration. The idea is now to measure the Coriolis acceleration ac
and infer the turn rate ω . Measuring ac is done employing the structure depicted in the upper
right subgure of Figure 9.2. Therein a proof mass is resonating within an inner casing. The
inner casing is connected to an outer casing by means of springs orthogonal to the resonating
motion. Note that an acceleration of the inner casing with respect to the outer one can be
sensed by a change of capacity between the condensator places mounted between the inner
and outer casing. Now the whole casing is mounted to the platform which is rotating with
ω . Now the inner casing containing the resonating mass is accelerated in dependence of its
current movement condition. Note that the Coriolis acceleration is an extremely small signal
and the changes in capacity are in the order of zeptofarads, so it is extemely important to
minimize the sensisitivity to parasitic sources like temperature, electrical noise and external
accelerations. In order to minimize these eects dierential measurements are employed and
the output signals are correlated with the resonance frequency of the proof mass to get rid
of the external accelerations.
A gyroscope tripod then measures the turn rate
ω m = (I + ∆) · (ω true + bω ) + ω η

with the misalignment error ∆, the bias error bω and the measurement noise ω η .
166 9. Navigation

outer casing
inner casing
resonating mass

condensator
plates

ω ω

Figure 9.2.: MEMS-Gyroscope as part of an inertial measurement unit (IMU). Coriolis eect:
A point moving to the outside of a rotating plane must increase the speed
component to the left to maintain a straigt course (top left). Conguration to
measure Coriolis eect (top right). Forces resulting from the Coriolis eect on
the resonating mass depending on the position of the mass (bottom).
9.1. Sensors applied in Navigation 167

9.1.2. Satellite Based Navigation Systems


In contrast to IMU based measurments, satellite based systems provide absolute position
and velocity information. To this end, the receiver computes it's position and velocity em-
ploying signals emitted by satellites. The most prominent system is the US Navstar Global
Positioning System (GPS), but there also the Russian GLONASS, the Chinese Beiduo as
well as the European Galileo system.
Satellite based positioning relies on the time span an emitted signal needs to reach the re-
ceiver. Employing the speed of light c the distance between satellite and the receiver can be
determined. This computation crucially relies on sychronized clocks of the satellites as well
as the receiver. While the satellite clocks are sychronized by means of a control center, the
clock error of the receiver has to be computed based on the received satellite signals.
Therefore, in order to determine the absolute position in three coordinates as well as the
clock error, signals of four satellites must be available to the receiver.
Besides clock errors, multipath scattering of the signals due to obstacles like buidlings and/or
terrain, atmospheric eects as well as inospheric eects on the propagation speed of electro-
magnetic signals constitute the major sources of errors. So a range measurement between
satellite Si and receiver r reads
dSi ,r = hi (r r , r Si , dc∆t ) + ed,Si
= kr Si − r r k + dc∆t + ed,Si
q
= (rSi ,1 − rr,1 )2 + (rSi ,2 − rr,2 )2 + (rSi ,3 − rr,3 )2 + dc∆t + ed,Si ,

where rS,i is the position of satellite i, rr is the receiver position, dc∆t = c · ∆t is the distance
error due to the clock error ∆t and ed,i summarizes all additional errors. If n signals from
dierent satellites are obtained, we get a system of n equations
dS1 ,r = h1 (r r , r S1 ,r , dc∆t ) + ed,S1 ,
dS2 ,r = h2 (r r , r S2 ,r , dc∆t ) + ed,S2 ,
.. (9.1)
.
dSn ,r = hn (r r , r Sn ,r , dc∆t ) + ed,Sn ,
which has to be solved for the receiver position rr and the clock error dc∆t . To this end, we
rewrite (9.1) in a vector-valued fasion
dr = h(xr ) + ed (9.2)
with xr = [rTr dc∆t ]T . In order to solve this equation for xr we start with an initial estimate
x̂r of the receiver position and clock error and approximate (9.2) employing a Taylor-series
dr = h(x̂r ) + H · (xr − x̂r ) + h.o.t (9.3)
with the Jacobian
∂h1 ∂h1 ∂h1 ∂h1
 

∂rr,1 ∂rr,2 ∂rr,3 ∂dc∆t
 ∂h2 ∂h2 ∂h2 ∂h2 
∂h(xr )  ∂rr,2 ∂rr,2 ∂rr,3 ∂dc∆t 
H= =  .. .. .. .. 
∂x xr =x̂r . . . .
 
 
∂hn ∂hn ∂hn ∂hn

∂rr,2 ∂rr,n ∂rr,3 ∂dc∆t xr =x̂r
168 9. Navigation

dc∆t

dc∆t
d2
d3
d1
dc∆t

Figure 9.3.: 2D-illustration of an satellite based positioning system.

where
∂hi rSi ,j − rr,j
=p
∂rr,j (rSi ,1 − rr,1 ) + (rSi ,2 − rr,2 )2 + (rSi ,3 − rr,3 )2 + dc∆t
2

and
∂hi
= 1.
∂dc∆t
Rearranging (9.3) leads to
∆dr = dr − h(x̂r ) = H · (xr − x̂r ) = H · ∆xr

which is then solved for ∆xr . Noting that H might not be a quadratic matrix if the receiver
has access to n > 4 satellites, we compute the approximate solution minimizing the sum of
squares error, which is done iteratively employing the pseudo-inverse
∆xr = (H T H)−1 H T ∆dr = H + ∆dr .

and updating the current estimate x̂r,k it step k of the iterations by means of
x̂r,k+1 = x̂r,k + ∆xr .

Then we again compute the Jacobian based on this improved estimate until ∆xr falls below
a specied treshold. From the nal result x̂r = [r̂Tr dˆc∆t ]T is then decomposed into the
9.2. Navigational algorithms 169

receiver position and the clock error. For a simplied 2D-scenario, satellite based positioning
is illustrated in Figure 9.3.

Besides the time span for the signal emitted by satellite Si to arrive at the receiver, the
receiver is also capable of measuring the phase shift of the received signal which provides
information about the relative speed between satellite and receiver (Doppler-eect). There-
fore, also velocity information can be extracted from the received signals.

9.2. Navigational algorithms


In this section we discuss algorithms to determine the position, velocity and attitude states
based on the acceleration and turn rate measurements obtained from the accelerometers
and gyroscopes. Due to the inevitable bias and alignment errors, the derived states will
diverge with time unless absolute position information is available. Such information can be
obtained from GPS measurements and has to be accounted for adequately in a navigational
algorithm. A Kalman-Filter can be employed to fuse the IMU and GPS information and
counteract the divergence of the navigational states.

9.2.1. Strapdown Navigation


In this section we refer to task of determining the current position solely based on IMU
measurements. To this end, the accelerations and turn rates measured by the accelerometers
and gyroscopes have to be time-integrated. In a rst step we discuss short-durational ights
such that the navigational equations can be simplied.
In addition, in many applications the IMU capabilities are not sucient to measure the
turn-rate and transport rate of the earth. The simplied navigational equations are
ṗn = v n ,
v̇ n = T nb (q) · aIm,b + g n ,
  (9.4)
1 0
q̇ = q ⊗ .
2 ω m,b
Therein, we considered that the accelerometers provide measurements in the body-xed
frame so in fact,
aIm,b = aIP,b − g Ib (9.5)
holds. Note that the accelerometers also measures the gravitational acceleration, so even if
aIP,b = 0, the accelerometer measures aIm,b = −g Ib , which is compensated in (9.4) by means
of g n .
This leads to the strapdown algorithm illustrated in Figure 9.4. In order to implement
these equations we perform a time-discretization with the sampling time Ts . Taking into
account the dierential equations for position and velocity we get the discrete time counter-
parts of (9.4)
1
pn,k+1 = pn,k + v n,k · Ts + · (T nb (q k ) · am,b,k + g n ) · Ts2 ,
2
v n,k+1 = v n,k + (T nb (q) · am,b + g n ) · Ts .
170 9. Navigation

q0

measurement
 
0
q̇ = 12 q ⊗ ω
m,b
ω m,b
Φ, θ, Ψ, T nb
v Rn,0 pRn,0
T nb
measurement
·
R R position pRn
aIm,b +
velocity v Rn
Gravity
Correction
attitude q

Figure 9.4.: Strapdown navigational algorithm assuming a at and non-rotating earth.

In order to derive the discrete time counterpart of the attitude dierential equation we derive
the Taylor expansion and get
1 1 ...
q k+1 = q k + q̇ k · Ts + q̈ · T 2 + q k · Ts3 + . . . . (9.6)
2! k s 3!

Now, we employ ω q,k = [0 ω Tm,b,k ]T to denote a turn rate quaternion2 and assume that
the turn-rate ω m,b,k is constant between two sampling instants, i.e. we have that ω̇ m,b,k =
ω̈ m,b,k = . . . = 0

1
q̇ k = q ⊗ ω q,k ,
2 k
1 1 1
q̈ k = q̇ k ⊗ ω q,k + q k ⊗ ω̇ q,k = q̇ k ⊗ ω q,k
2 2 2
1 1
= 2 q k ⊗ ω q,k ⊗ ω q,k = 2 q k ⊗ ω 2q,k ,
2 2
1 1 1
q̈ k = 2 q̇ k ⊗ ω 2q,k = 3 q k ⊗ ω q,k ⊗ ω 2q,k = 3 q k ⊗ ω 3q,k .
2 2 2
Inserting the time derivatives in (9.6) we get
 
1 1 1 2 2 1 1 3 3
q k+1 = q k ⊗ I q + ω q,k · Ts + · 2 ω q,k · Ts + · 3 ω q,k · Ts + . . . ,
2 2! 2 3! 2

where I q = [1 0 0 0]T denotes the unit quaternion. Noting that ω q,k is a pure quaternion
and considering the powers (A.10) of pure quaternions discussed in Section A.4.3 we get the
2 Dueto the fact that the scalar part of this quaternion is zero, this quaterion is referred to as pure
quaternion.
9.2. Navigational algorithms 171

discretized approximation
kω m,b,k · Ts k2
    
1 0 1 1
q k+1 = qk ⊗ I q + − · 2
2 ω m,b,k · Ts 2! 2 0
kω m,b,k · Ts k4
    
1 1 2 0 1 1
− · 3 · kω m,b,k · Ts k · + · 4 + ...
3! 2 ω m,b,k · Ts 4! 2 0
1 − 12 · 212 kω m,b,k · Ts k2 + 4! 1
· 214 kω m,b,k · Ts k4 + 6! 1
· 216 kω m,b,k · Ts k6 −. . .
 
= qk ⊗
ω m,b,k · Ts · 12 − 3! 1
· 213 · kω m,b,k · Ts k2 + 5! 1
· 215 · kω m,b,k · Ts k4 − . . .
1 − 81 · kω m,b,k · Ts k2 + 384 1
kω m,b,k · Ts k4

≈ qk ⊗ 1 1 2 1
ω m,b,k · Ts · 2 − 48 · kω m,b,k · Ts k + 3840 · kω m,b,k · Ts k4
1
kω m,b,k · Ts k6 

+ 46080
1
− 645120 · kω m,b,k · Ts k6

of the attitude dierential equation. Summarzing the results we obtain the discrete-time
strapdown navigation algorithm
1
pn,k+1 = pn,k + v n,k · Ts + · (T nb (q k ) · am,b,k + g n ) · Ts2 ,
2
v n,k+1 = v n,k + (T nb (q) · am,b + g n ) · Ts ,
1 − 81 · kω m,b,k · Ts k2 + 384
1
kω m,b,k · Ts k4 (9.7)

q k+1 = qk ⊗ 1 1 2 1
ω m,b,k · Ts · 2 − 48 · kω m,b,k · Ts k + 3840 · kω m,b,k · Ts k4
1
kω m,b,k · Ts k6 

+ 46080
1 .
− 645120 · kω m,b,k · Ts k6

Non-at and Rotating Earth


For longer durational ights with high qualtity IMUs, we have to account for accelerations
and turn-rates introduced by the transport-rate and the turn-rate of the earth. In such
applications, the strapdown navigational equations become more complicated.
In Section 2.10.2 we derived equation (2.14) providing the acceleration expressed in the
earth centered earth xed frame of a reference point R with respect to the inertial frame.
Combining the equation with (9.5) and noting that
aIP,e = aIm,b − g Ib = T eb · (aIm,b − g Ib )

holds, we get
aIP,e = T eb · (aIm,b − g Ib )
Ib
= v̇ R,e + 2 ω Ie Ie Ie

e × v R,e + ω e × ω e × r R,e + ω̇ e × r RP,e

+ ω Ib Ib

e × ω e × r RP,e .

For the task of navigation we are actually interested in v̇ R,e so we resort the above equation
and get
v̇ R,e = T eb · (aIm,b − g Ib ) − 2 ω Ie Ie Ie

e × v R,e − ω e × ω e × r R,e

− ω̇ Ib Ib Ib

e × r RP,e − ω e × ω e × r RP,e
172 9. Navigation

The derivations above have been carried out in the earth centered earth xed frame. Quite
often, navigation is carried out in the north-east-down frame. To derive the equations we
rst review the time derivative with respect to the inertial frame expressed in the north-
east-down frame, which is
 e
dv R,n Ib
aIP,n = + 2 ω Ie Ie Ie

n × v R,n + ω n × ω n × r R,n + ω̇ n × r RP,n
dt
+ ω Ib Ib
(9.8)

n × ω n × r RP,n
Ib
= v̇ R,n + ω en Ie Ie Ie

n × v R,n + 2 ω n × v R,n + ω n × ω n × r R,n + ω̇ n × r RP,n

+ ω Ib Ib

n × ω n × r RP,n .

Taking into account the relations between the actual acceleration of point P and the mea-
sured acceleration aIm,b obtained in the body-xed frame, we infer from (9.5)

aIP,n = T nb · (aIm,b − g Ib ), (9.9)


where T nb represents the direction cosine matrix, whose time derivative can be computed
from3
 
0 −r q
n
Ṫ b = T nb ·  r 0 −p  , (9.10)
−q p 0

which is discussed in Section A.4.4. Therein, p, q and q are measurements of the gyroscopes.
Now, we insert (9.9) into (9.8) and derive an expression to derive the actual acceleration of
the reference point
v̇ R,n = T nb · (aIm,b − g Ib ) − ω en Ie Ie Ie

n × v R,n − 2 ω n × v R,n − ω n × ω n × r R,n

− ω̇ Ib Ib Ib

n × r RP,n − ω n × ω n × r RP,n ,
(9.11)
= T nb · aIm,b − g In − ω en Ie Ie Ie

n × v R,n − 2 ω n × v R,n − ω n × ω n × r R,n

− ω̇ Ib Ib Ib

n × r RP,n − ω n × ω n × r RP,n .

Assuming known initial conditions v R,n (0), pR,n (0), T nb (0) we may derive the actual speed
v R,n (t) and position v R,n (t) and T nb (0) integrating (9.10) and (9.11). Note that the Euler
angles can be computed from T nb (t). If we assume, the IMU is located within the reference
point, (9.11) simplies to
v̇ R,n = T nb · aIm,b − g In − ω en Ie Ie Ie

n × v R,n − 2 ω n × v R,n − ω n × ω n × r R,n .

Instead of employing (9.10) we may also make use of quaternions, i.e. (3.16) which is
 
−q1 −q2 −q3  
p
1 nb 1 q0 −q3 q2  

q̇ = q · (0, ω b ) =  · q .
2 2  q3 q0 −q1 
r
−q2 q1 q0
3 Itis also possible to compute the attitude quaternion and derive the direction cosine matrix from this
quaternion
9.2. Navigational algorithms 173

and compute T nb from (3.17). Figure 9.5 illustrates the strapdown navigational algorithm.
In order to compensate for the Coriolis and Centrifugal accelerations we have to derive the
turnrate and the transport rate in the north-east-down frame which read
T
ω ie

n = ωe cos(ϕ) 0 −ωe sin(ϕ)
h eb eb eb
iT
vn,2 −vn,1 vn,2 tan(ϕ)
ω en
n = Re −h Re −h Re −h

where ϕ is the degree of latitude at the current position and ωe is the turn rate of the earth.

q0
 
measurement 0
1
q̇ = q⊗ ω
2 n , ωn
ω Ie en Compute
m,b
ω m,b Φ, θ, Ψ, T nb n , ωn
ω Ie en

v Rn,0 pRn,0
T nb
measurement R R position pRn
·
aIm,b + +

Gravity
Correction velocity v Rn
Coriolis
Correction

attitude q

Figure 9.5.: Strapdown navigational algorithm.

9.2.2. Loosely Coupled


In a loosely coupled position and velocity information from a satellite based positioning
system is used to support the IMU measurements. Commonly, this approach can be imple-
mented quite easily but has a major disadvantage. In case of less than four visible satellites,
no position information can be obtained and the aiding ability is lost. In such situations,
the navigational errors increas with the quality of the IMU-measurements. Additional prob-
lems may arise if the GPS receiver itself contains a Kalman-Filter. Now the position and
velocity information obtained from this lter becomes correlated which can cause problems
in a second Kalman-Filter employed in the navigational system leading to over-condence
with respect to the quality of the estimation.

Next, we discuss the application of a Kalman-Filter to fuse the IMU and GPS information.
To this end, we design an error state space Kalman-Filter which is discussed in [16]. It's
174 9. Navigation

purpose is not only to estimate the navigational errors but also provide estimates for the
sensor bias errors in order to establish an online calibration of the IMU. To this end we
have to be aware of the fact, that the IMU measurements are subject to errors which can
be expressed by means of
am,b = at,b + ba + aη ,
(9.12)
ω m,b = ω t,b + bω + ω η ,

where at,b , ω t,b refer to the true acceleration and turn rates, which are disturbed by bias
errors ba , bω and measurement noise aη , ω η , where the latter is assumed to be zero mean
Gaussian noise. The navigation lter discussed next is intended to provide estimates for the
bias errors which are employed to correct the measurements.
In order to derive the navigation lter, we rst discuss the true dynamics
ṗn,t = v n,t ,
v̇ n,t = T nb (q t ) · at,b + g n ,
 
1 0
q̇ t = q t ⊗ ,
2 ω t,b
ḃa = ba,η ,
ḃω = bω,η .

Substituting (9.12) in the above equations we get


ṗn,t = v n,t ,
v̇ n,t = T nb (q t ) · (am,b − ba − aη ) + g t,n ,
 
1 0
q̇ t = q t ⊗ ,
2 ω m,b − bω − ω η
ḃa = ba,η ,
ḃω = bω,η .

In an error state space Kalman Filter approach, we employ the error state vector
T
∆θ T ∆bT ∆bT

∆xe = ∆pT
n ∆v T
n a ω ,

where ∆pn , ∆v n are position and velocity errors and ∆ba , ∆bω are the accelerometer and
gyroscope biases. Major advantage of the implementation of an error state Kalman-Filter
is the fact, that errors can be assumed to be small so the linearization of nonlinear terms
within the Kalman-Filter do not introduce large errors.

Position Error Dynamics


The position error dierential equation is directly related to the velocity error between the
true velocity and the velocity derived by the strapdown navigational algorithm and can be
stated as follows
∆ṗn = v n,t − v n = ∆v n .
9.2. Navigational algorithms 175

Velocity Error Dynamics


Deriving the velocity error equation we have to consider that the accelerations are measured
in the body-xed frame and have to be transformed into the navigational frame by means
of the transformation matrix T nb (q) which is subject to the attitude error introduced by the
attitude q quaternion computed by the strapdown navigational algorithm. In what follows,
the attitude error is denoted by
 
  0 −∆Ψ ∆θ
∆θ × = ∆Φ ∆θ ∆Ψ ×
=  ∆Ψ 0 −∆Φ 
−∆θ ∆Φ 0

Rewriting the true transformation matrix T nb (q t ) in terms of the transformation matrix


T nb (q) derived by the strapdown navigational algorithm and the attitude error ∆θ ×

T nb (q t ) = T nb (q) · (I + ∆θ × ) (9.13)

we may express the true acceleration

v̇ t,n = v̇ n + ∆v̇ n ,
T nb (q) · (I + ∆θ × ) · (am,b − ba − ba,η ) + g n = T nb (q) · am,b + g n + ∆v̇ n ,
T nb (q) · ∆θ × · (am,b − ba − ba,η ) − T nb (q) · (ba + ba,η ) = ∆v̇ n .

Noting that ∆θ× · am,b = −am,b,× ∆θ we can rearrange the terms in the above equation and
neglecting the term T nb (q) · ∆θ× · ba,η ≈ 0 we get the dierential equation for the velocity
error

∆v̇ n = −T nb (q) · (am,b − ba )× ·∆θ − T nb (q)·∆θ × ·ba,η − T nb (q)·ba − T nb (q) · ba,η


(9.14)
= −T nb (q) · (am,b − ba )× · ∆θ − T nb (q) · ba − T nb (q) · ba,η .

Attitude Error Dynamics


Next, we derive the attitude error dierential equation and state the true attitude dynamics.
To this end we decompose the body rates into large and small signals

ω t = ω m,b − bω −∆bω − ω η
| {z } | {z }
ωL ωS

= ωL + ωS

Therein, bω refers to a bias error ω η for a small noise term. Now, rewriting the true
quaternion derivative
 
1 0
q̇ t = q ⊗
2 t ωt
176 9. Navigation

employing the error quaternion as ∆q and considering q t = q ⊗ ∆q , we get


 
d 1 0
(q ⊗ ∆q) = q t ⊗
q̇ t =
dt 2 ωt
 
1 0
⇔ q̇ ⊗ ∆q + q ⊗ ∆q̇ = q ⊗ ∆q ⊗
2 ωt
   
1 0 1 0
⇔ q⊗ ⊗ ∆q + q ⊗ ∆q̇ = q ⊗ ∆q ⊗
2 ωL 2 ωt
   
0 0
⇔q⊗ ⊗ ∆q + 2q ⊗ ∆q̇ = q ⊗ ∆q ⊗ ,
ωL ωt

where we neglected the small signal term ω S when computing q̇ . From the last line we infer
   
0 0
2∆q̇ = ∆q ⊗ − ⊗ ∆q,
ωt ωL

which we rephrase based on the matrix-product formulation of the quaternion product (A.7)
derived in Section A.4.1.
   
0 0
2∆q̇ = M R · ∆q − M L · ∆q.
ωt ωL

Employing (A.8) and (A.9) as well as the small attitude appoximation (A.6), i.e.
   
1 0
∆q = ⇒ ∆q̇ =
∆θ/2 ∆θ̇/2

we get
−(ω t − ω L )T
     
0 0 1
= ·
∆θ̇ ωt − ωL −(ω t + ω L )× ∆θ/2
−ω T
   
0 S 1
= · .
ωS −(2ω L + ω S )× ∆θ/2

This result can be decomposed into the scalar and vector part where the latter is the relevant
one, from which we get
1
∆θ̇ = ω S − (ω L )× ∆θ − (ω S )× ∆θ.
2
Neglecting the second order terms involving small signals, we nally end up with
∆θ̇ = ω S − (ω L )× ∆θ = −(ω m,b − bω )× ∆θ − ∆bω − ω η . (9.15)

Bias Error Dynamics


Finally, the biases of the acceleration and body-rate measurements are assumed to be
∆ḃa = ba,η ,
(9.16)
∆ḃω = bω,η .
9.2. Navigational algorithms 177

Error State Kalman-Filter


Next, we employ a Kalman Filter to correct the strapdown navigation algorithm (9.7). To
this end, the Kalman-Filter will compute corrections for the strapdown algorithm and also
estimate the bias errors ba , bω which are than accounted for in the strapdown algorithms,
whose modied equations read
1
pn,k+1 = pn,k + v n,k · Ts + · (T nb (q k ) · (am,b − ba ) + g n ) · Ts2 ,
2
v n,k+1 = v n,k + (T nb (q) · (am,b − ba ) + g n ) · Ts ,
1
1 − 18 · kω̃ m,b,k · Ts k2 + 384 kω̃ m,b,k · Ts k4

q k+1 = qk ⊗ 1 1 2 1
ω̃ m,b,k · Ts · 2 − 48 · kω̃ m,b,k · Ts k + 3840 · kω̃ m,b,k · Ts k4
1
kω̃ m,b,k · Ts k6 

+ 46080
1 ,
− 645120 · kω̃ m,b,k · Ts k6
ba,k+1 = ba,k ,
bω,k+1 = bω,k

with ω̃ m,b,k = ω m,b,k − bω . In order to derive the Kalman-Filter equations we have to


discretize the previously discussed dierential equations (9.13), (9.14), (9.15) and (9.16). To
this end we approximate
∆pn,k+1 = ∆pn,k + ∆v n,k · Ts
∆v n,k+1 = ∆v n,k − T nb (q k ) · (am,b − ba )× · Ts · ∆θ k − T nb (q k ) · Ts · ba,k − T nb (q k ) · ba,η
∆θ k+1 = ∆θ k − (ω m,b − bω )× · Ts · ∆θ k − ∆bω · Ts − ω η
∆ba,k+1 = ∆ba,k + ba,η
∆bω,k+1 = ∆bω,k + bω,η
from which we derive the time-variant transition matrix
 
I I·Ts 0 0 0

 0 I −T nb (q k ) · (am,b − ba )× ·Ts −T nb (q k ) · Ts 0 

Ad,k = 
 0 0 I − (ω m,b − bω )× ·Ts 0 −I·Ts .

 0 0 0 I 0 
0 0 0 0 I
Employing the error state
T
∆θ T ∆bT ∆bT

∆xe = ∆pT
n ∆v T
n a ω

and dening the IMU measurements


 
am,b
u=
ω m,b
as input of the Filter.4 So with each IMU measurement, the Filter prediction step
∆x̂e,k+1|k = Ad,k ∆x̂e,k|k
T
P k+1|k = Ad,k P k|k AT
d,k + Gd Qk Gd
4 In the above expression u is accounted for in the state transition matrix Ad,k .
178 9. Navigation

is performed. Due to the fact, that the error state is initialized to zero, the predicted state
will also be zero. Therefore, the prediction step of the estimated state vector can be skipped
in the algorithm. Nevertheless, the covariance prediction step has to be performed with each
incoming IMU measurement.
In case a measurement of any additional sensor is available (i.e. GPS), the Kalman Gain
−1
K k+1 = P k+1|k CT T
d Rk+1 + Cd P k+1|k Cd .

is computed based on the available position dierence measurement


yk+1 = pn,GP S,k+1 − pn,k+1|k = ∆pn,k+1

where pn,k denotes the position obtained from the strapdown-navigation algorithm (9.7)
processed in parallel to the Filter algorithm. So we have
 
Cd = I 0 0 0 0 .

Noting that due to the zero initialization of the error state, we have ŷk+1|k = ∆p̂n,k+1|k = 0,
the correction step nally reads

∆x̂k+1|k+1 = x̂k+1|k + K k+1 yk+1 − ŷk+1|k
= K k+1 · yk+1
P k+1|k+1 = (I − K k+1 Cd ) · P k+1|k · (I − K k+1 Cd )T + K k+1 Rk+1 K T
k+1

After the previously discussed computational steps the the new Filter state ∆x̂k+1|k+1 is
used to update the strapdown navigation. To this end, we update the navigation solution
pn,k+1|k+1 = pn,k + ∆p̂n,k+1|k+1 ,
v n,k+1|k+1 = v n,k + ∆v̂ n,k+1|k+1 ,
"
1 − 18 · k∆θ̂ k+1|k+1 k2 + 3841
k∆θ̂ k+1|k+1 k4
q ,k+1|k+1 = q k ⊗
∆θ̂ k+1|k+1 · 12 − 48 1 1
· k∆θ̂ k+1|k+1 k2 + 3840 · k∆θ̂ k+1|k+1 k4
1
#
+ 46080 k∆θ̂ k+1|k+1 k6 
1 ,
− 645120 · k∆θ̂ k+1|k+1 k6

ba,k+1|k+1 = ba,k + ∆b̂a,k+1|k+1 ,


bω,k+1|k+1 = bω,k + ∆b̂ω,k+1|k+1

and reset the estimated error state to zero before entering the next compuational step, ie.
∆x̂k|k = 0

9.2.3. Tightly Coupled


In a tightly coupled approach the navigational lter directly employs pseudo and delta ranges
measurements. In a very strict denition of a tightly coupled system the GPS receiver has to
be supported by the navigational lter, i.e. in acquisiton or reacquisition phases. Without
this support of the GPS receiver, some authors refer to a closely-coupled system. However,
9.2. Navigational algorithms 179

in this lecture, we will refer to a tightly coupled system in both cases.


Advantageous of a tightly coupled system is its ability to realize at least a partial support in
case less than four satellites are visible. The price to pay is a higher implementation eort
where clock errors of satellites and relativistic corrections must be considered.
A. Appendix

A.1. Matrix Calculus


Matrix calculus is widely employed within this lecture. Besides transformation/rotational
matrices the state-space approaches for controller design make use of the matrix-reprensentations
of dynamical systems. To this end, we briey state the rules for matrix calculus. A matrix
M ∈ Rm×n reads
 
m11 m12 ... m1n
 m21 m22 ... m2n 
M = .

.. .. 

. (A.1)
 .. . . 
mm1 mm2 ... mmn

The transpose of a matrix M is denoted by M T and can be computed from


 
m11 m21 ... mm1
 m12 m22 ... mm2 
MT = . .. ..  .
 
 .. . . 
m1n m2n ... mmn

i.e. by swapping the elements indices. The i-th row or i-th column of matrix is denoted by
 
m1i
 m2i 
mT bzw. mi =  .  .
 
i = mi1 mi2 ... min ,
 
 .. 
mmi

Then the matrix (A.1) can be respresented by


mT
 
1
 mT  
2 
M =  .  = m1

m2 ... mm .

 .. 
mTm

Examples: Matrices
We consider the 3 × 4 matrix
 
1 0 3 1
M = 2 5 −1 2 .
−1 2 3 1

180
A.1. Matrix Calculus 181

It's transpose is derived swapping the indices of their elements resulting in


 
1 2 −1
0 5 2 
MT = 


 3 −1 3 
1 2 1

The rows of M are denoted by

mT
 
1 = 1 0 3 1
mT
 
2 = 2 5 −1 2
mT
 
3 = −1 2 3 1 .

A.1.1. Matrix Characteristics


We dene the following terms
• A matrix M is called quadratic, if M ∈ Rn×n holds.

• A quadratic matrix is called symmetric, if M = M T holds and skew-symmetric if


M = −M T .

• The matrix
 
1 0 ... 0
 0 1 ... 0 
I= . .. .. 
 
 .. . . 
0 0 ... 1

is denoted as identity matrix.


• The matrix
 
0 0 ... 0
 0 0 ... 0 
0= . .. .. 
 
 .. . . 
0 0 ... 0

is denoted as zero matrix


• A diagonal matrix is quadratic and abbreviated by means of
 
m11 0 ... 0
 0 m 22 ... 0 
D = diag(m11 , m22 , . . . , mnn ) =  . .. .. .
 
 .. . . 
0 0 ... mnn
182 A. Appendix

• A matrix with only column


 
v1
 v2 
v= . 
 
.
 . 
vn

is denoted as column vector. A matrix consisting of only one row,


vT =
 
v1 v2 . . . vm

is denoted as row vector.

Determinant
The determinant of a quadratic matrix A ∈ Rn×n is denoted by
det (A) = |A|
and can be computed based on the i-th row
n
det (A) = (−1)i+k aik · det (Aik )
X

k=1

or the i-th column


n
det (A) = (−1)i+k aki · det (Aki )
X

k=1

respectively. Therein, Aik denotes the matrix, which is obtained by scratching out the i-tth
row and k-th column. In case of a 2 × 2 matrix
 
a b
A=
c d

we obtain the determinant


det(A) = a · d − c · b.
In case of a 3 × 3 matrix
 
a b c
A= d e f 
g h i

we get the determinant (by computing with respect to the rst column)
     
e f b c b c
det(A) = a · det − d · det + g · det
h i h i e f
= a(ei − hf ) − d(bi − hc) + g(bf − ce)
= aei − ahf − bdi + cdh + bf g − ceg
A.1. Matrix Calculus 183

Computing the determinant with resprect to the rst column we obtain


     
e f d f d e
det(A) = a · det − b · det + c · det
h i g i g h
= a(ei − hf ) − b(di − f g) + c(dh − ge)
= aei − ahf − bdi + bf g + cdh − ceg
which is of course equivalent compared to the rst approach.

Inverse and Adjoint of a Matrix


The adjoint of a quadratic matrix A ∈ Rn×n is dened as
 T
ã11 ã12 ... ã1n
 ã21 ã22 ... ã2n 
adj (A) = 
 .. .. .. 

 . . . 
ãn1 ãn2 ... ãnn
where
ãij = (−1)i+j det (Aij )
and Aij being the sub-determinant of A obtained by scratching out the i-th row and j -th
column. In case of a 2 × 2 matrix A
 
a b
A=
c d
we get the adjoint
 T  
d −c d −b
adj(A) = =
−b a −c a
In case of the 3 × 3 matrix A
 
a b c
A= d e f 
g h i
we get the adjoint
       T
e f d f a e
det −det det

  h i   g i   d h  

b c a c a b
adj (A) =  −det det −det
 
 .

  h i   g i   g h  

b c a c a b
det −det det
 
e f d f d e
If a quadratic matrix A ∈ Rn×n is regular, i.e. det(A) 6= 0 holds, the inverse exist and is
computed by means of
1
A−1 = · adj (A) .
det (A)
184 A. Appendix

Then
A · A−1 = I
holds.

A.1.2. Computational Rules


Now we state the most important rules of matrix calculus.
• The product of two vectors a ∈ Rn , b ∈ Rn is derived from the scalar-product
 
b1
   b2 

aT · b = a1 a2 . . . an ·  .  = a1 · b1 + a2 · b2 + . . . + an · bn .

 .. 
bn
Additionally, for two vectors a ∈ Rn , b ∈ Rm we dene the matrix-building product
   
a1 a1 b1 a1 b2 ... a 1 bm
 a2  
 a2 b1
  a1 b2 ... a 2 bm 
a · b T =  .  · b1 b2 . . . bm = . .. 
  
 ..   .. . 
an an b1 an b1 ... an bm

• The cross-product of two vectors a ∈ R3 and b ∈ R3 is dened as


     
a1 b1 a2 b3 − a3 b2
a × b =  a2  ×  b2  =  a3 b1 − a1 b3 
a3 b3 a1 b2 − a2 b1
where the resulting vector is orthogonal to a and b (right-hand-rule) and the length
|a × b| is equivalent to the area spanned by a and b. Note that the cross-product is
non-associative
(a × b) × c 6= a × (b × c)

• The sum of matrices is cummutativ, i.e. for A ∈ Rn×m and B ∈ Rn×m


A+B=B+A
holds, where the sum is carried out elementwise.
• The product of a matrix A ∈ Rn×m and B ∈ Rm×n is computed employing the scalar
product for the rows and vectors of the matrices
aT aT aT aT
   
1 1 · b1 1 · b2 ... 1 · bm
 aT    T
 a2 · b1 aT
2 · b2 ... aT
2 · bm 

 2  
A · B =  .  · b1 b2 ... bm = .. .. .. .
 ..   . . . 
aTn aT
n · b1 aT
n · b2 ... T
an · bm
Please note: The matrix product is not commutative , i.e. A · B 6= B · A.
A.1. Matrix Calculus 185

• Applying the transpose to a matrix product we obtain


T
(AB) = BT AT ,
−1 T
AT = A−1
• The product of a matrix and a scalar variable c reads
 
c · m11 c · m12 . . . c · m1n
 c · m21 c · m22 . . . c · m2n 
c·M = M ·c =  .. .. ..
 
. . .

 
c · mm1 c · mm2 . . . c · mmn
Examples: Computational Rules
• Scalar-product of two vectors a ∈ Rn and b ∈ Rn , given as follows
 
2
aT · b = 2 1 2 ·  −3  = 2 · 2 + 1 · (−3) + 2 · 4 = 9
 
4
• The cross product of two vectors
 T  T
a= 2 1 3 , b= −1 5 1
is
     
2 −1 −14
a × b =  1  ×  5  =  −5 
3 1 9

• The sum of the matrices A ∈ R3×4 and B ∈ R3×4


   
1 0 3 1 3 0 2 −1
A+B= 2 5 −1 2 + 1 5 3 −1 
−1 2 3 1 −3 0 −3 1
   
3 0 2 −1 1 0 3 1
= 1 5 3 −1  +  2 5 −1 2 
−3 0 −3 1 −1 2 3 1
 
4 0 5 0
=  3 10 2 1 
−4 2 0 2

• The product of two matrices A ∈ R2×2 and B ∈ R2×2


   
1 0 1 −3
A·B = ·
2 5 5 0
     
  1   −3
 1 0 · 5 1 0 ·
 0  

=  
   1   −3 
2 5 · 2 5 ·
5 0
 
1 −3
=
27 −6
186 A. Appendix

The product of the matrices A ∈ R3×4 and B ∈ R4×3 :


 
  3 1 −3  
1 0 3 1  0 8 9 −11
5 0 
A·B =  2 5 −1 2 · = 2 22 −1 
 2 3 −3 
−1 2 3 1 2 17 −7
−1 −1 1

• The inverse of a matrix:


 
−1 −2
A=
4 2

 T  
1 1 2 −4 1/3 1/3
A −1
= · adj(A) = =
det(A) 6 2 −1 −2/3 −1/6

 
1 −2 1
A =  −1 5 2 
4 1 2

 T
8 10 −21
1 1 
A−1 = · adj(A) = − · 5 −2 −9 
det(A) 33
−9 −3 3
 
8 5 −9
1 
=− · 10 −2 −3 
33
−21 −9 3

Taking Derivatives of Matrices and Vectors


• The derivative of a vector a(t) ∈ Rp with respect to the scalar time variable t is the
p-dimensional vector
 ∂a (t) 
1
∂t
iT  ∂a2 (t) 
∂a(t) h ∂t
..
∂ap (t)
∂a1 (t) ∂a2 (t)
 
= ... = .
∂t ∂t ∂t ∂t
.
 
 
∂ap (t)
∂t

• The derivative of a matrix A(t) ∈ Rm×n with respect to the scalar time variable tis
the m × n dimensionale Matrix
 
∂a11 (t) ∂a12 (t)
∂t ∂t . . . ∂a1n
∂t
(t)

∂A(t)   ∂a∂t
21 (t) ∂a22 (t)
. . . ∂a2n (t) 
= ∂t ∂t

∂t  ...


∂am1 (t) ∂am2 (t) ∂amn (t)
∂t ∂t . . . ∂t
A.1. Matrix Calculus 187

• Taking the derivative of the scalar-eld f (x) ∈ R with respect to the vector x ∈ Rn
we obtain the n-dimensional gradient
 ∂f (x) 
∂x1
h iT  ∂f (x) 
grad(f (x)) = ∇f (x) = ∂f (x) ∂f (x) ∂f (x) ∂x2
 
∂x1 ∂x2 ... ∂xn
= .. 
.
 
 
∂f (x)
∂xn

• Taking the derivative of a vector-eld f (x) ∈ Rm with respect to the vector x ∈ Rn


results in the m × n dimensional Jacobi-matrix
 ∂f (x) ∂f1 (x)
. . . ∂f∂x
1 (x)

1
∂x1 ∂x2 n
i  ∂f2 (x) ∂f2 (x)
∂f (x) h ∂f (x) ∂f (x) . . . ∂f∂x
2 (x) 
∂f (x)  ∂x1 ∂x2
= . . . = n

∂x ∂x1 ∂x2 ∂xn 
 ...


∂fm (x) ∂fm (x) ∂fm (x)
∂x1 ∂x2 . . . ∂xn

Examples: Taking Derivatives of Vectors and Matrices


• Taking the derivative from a vector a(t) ∈ R3 with respect to t:
T
a(t) = 2t2 −t 4


we obtain
 
4t
∂a(t)  T
= 4t −1 0 =  −1 
∂t
0

• Dierentiating a matrix A(t) ∈ R2×3


t4
 
0 4t
A(t) =
sin(t) t t2
with respect to t we obtain
4t3
 
∂A(t) 0 4
=
∂t cos(t) 1 2t

• Computing the gradient of the scalar-eld


f (x) = 2x1 x22 + x23
we obtain
grad(f (x)) = ∇f (x) =
T
2x22

4x1 x2 2x3

• Computing the derivative of a vector eld


T
f (x) = x1 x22 x3 x32 x23

x2
with respect to the vector x ∈ R3 we obtain the 3 × 3 dimensional Jacobi-matrix
 2
x1 x22

x x 2x1 x2 x3
∂f (x)  2 3
= 0 1 0 
∂x
0 3x22 x23 2x32 x3
188 A. Appendix

A.2. Derivation of Model-based Anti-Windup


A.2.1. Lyapunovs Stability Theory
In order to carry out controller designs for nonlinear systems, Lyapunovs stability theory
provides the most common basis. To this end, we dene a Lyapunov function
v(x) > 0,

for all x 6= 0 and v(0), which can be regarded as an energy measure. Employing this positive
function v(x) we can dene the region Usually, one choses a quadratic Lyapunov function
v(x) = xT P x

with a symmetric and positive denite matrix P  0. Then v(x) constitutes a funnel
over the state space. This Lyapunov function can now be employed to dene a so called

a b
x2 dVdx x2

dVdx
dx Amax
dx G(v,1)

x1 x1
dG(v,1)
dG(v,p)

Figure A.1.: (a) Contractively invariant set G(ρ): Any trajectory entering the set G(ρ1 ) with
0 < ρ1 ≤ ρ cannot leave the set in the future. (b) The Domain of attraction
Amax can be approximated employing the contractively invariant set G(ρ).

contractively invariant set


G(ρ) = {x ∈ Rn : v(x) ≤ ρ}

with ρ > 0 being a level set of the function. This region in the state space is, such that
any trajectory starting inside of this set can not leave it anymore and will converge to the
origin. This is ensured, in case the following denition holds:
Denition A.1. The set G(ρ) is called contractively invariant for a system ẋ = f (x) with
the equilibrium point x = 0, if v(0) = 0 , v(x) > 0 and v̇(x) < 0 hold for all x ∈ G(ρ).
A.2. Derivation of Model-based Anti-Windup 189

The condition
∂v(x)
v̇(x) = · ẋ < 0
∂x
can be interpreted as follows: The gradient ∂v(x)/∂x is pointing in the direction of the
steepest ascent, so if the above condition holds, ẋ points to inwards and the trajectory is
tending towards the origin.

A.2.2. Optimization Problem ensuring Global Stability


In this Section we refer to the deriviation of the optimization problem (6.18). Our objective
designing the Anti-Windup matrix K aw is to minimize the L2 -gain from yc to yaw,u . To
this end a quadratic Lyapunov-function
V (ξ aw ) = ξ T
aw P ξ aw

with symmertic, positive denite matrix P is employed and we demand


V̇ (ξ aw ) < γ 2 ycT yc − yaw,u
T
yaw,u . (A.2)

In case yc = 0 this ensures global stability since we have that V̇ (ξaw ) < −yaw,u
T
yaw,u ≤ 0 for
all ξaw ∈ R . Assuming energy-constrained disturbances with kyc kL2 < ∞ and integrating
n

equation (A.2) within the time-interval [0, Te ] we obtain


ZTe ZTe
2
V (ξ aw (Te )) − V (ξ aw (0)) < γ ycT yc dt − T
yaw,u yaw,u dt
0 0

and due to ξaw (0) = 0 and V (ξaw (0)) = 0 we get


ZTe ZTe
T 2
yaw,u yaw,u dt <γ ycT yc dt − V (ξ aw (Te )).
0 0

Since V (ξaw (Te )) > 0 holds for Te → ∞ we have that kyaw,u kL2 < γkyc kL2 . Now inserting
yaw,y = −K aw ξ aw and (6.16) in (A.2) we get

ξT T T

aw (A − BK aw ) P + P(A − BKaw ) + C C ξ aw
(A.3)
+ ỹT BT Pξ aw + ξ T 2 T
aw PBỹ − γ yc yc < 0.

In the next step we employ the sector condition, which states, that for a nonlinear function
n(u), which is contained within the sector S[0, I]

n(u)T (Iu − n(u)) ≥ 0

holds. Since ỹ = dz(yc + yaw,y ) is contained in the sector S[0, Φ] we have


ỹT 2Ψ ((Kξ aw − yc ) − ỹ) ≥ 0
190 A. Appendix

for any positive denite diagonal matrix Ψ. Therefore (A.3) holds, if the inequality
ξT T T T T

aw (A − BK aw ) P + P(A − BK aw ) + C C ξ aw + ỹ B Pξ aw
(A.4)
+ξ T 2 T T
aw PBỹ − γ yc yc + ỹ 2Ψ ((Kξ aw − yc ) − ỹ) < 0

holds. This inequality can also be represented as


ÂT P + PÂ + CT C K T
  
aw Ψ + PB 0 ξ aw
ξT
 
aw ỹT ycT  ΨK aw + BT P −2Ψ Ψ   ỹ  < 0
0 Ψ −γ 2 I yc

with  = A − BK aw . The deniteness of the above equation solely depends of the matrix
part, i.e.
ÂT P + PÂ + CT B K T
 
aw Ψ + PB 0
 ΨK aw + BT P −2Ψ Ψ ≺0
0 Ψ −γ 2 I
must hold. Employing the Schur-complement Lemma, transforming the above inequality
from both sides with diag(Q, I, I, I) where Q = P−1 and applying the substitution Y =
K aw Q we obtain the matrix inequality of the optimization problem (6.18).

A.2.3. Optimization Problem ensuring Local Stability


The derivations for optimization problem (6.19) is quite similar than the derivation carried
out in SectionA.2.2. The main dierence ist the application of the local sector condition,
which states that if for ỹ = dz(yc + yaw,y ) the local sector condition
ỹT 2Ψ (Φ(Kξ aw − yc ) − ỹ) ≥ 0.
holds for all yc ∈ Y(Φ). So we have that (A.3) holds locally, if instead of (A.4) the inequality
ξT T T T T

aw (A − BK aw ) P + P(A − BK aw ) + C C ξ aw + ỹ B Pξ aw

+ξ T 2 T T
aw PBỹ − γ yc yc + ỹ 2Ψ (Φ(Kξ aw − yr ) − ỹ) < 0

holds. Now employing the same transformations discussed in the last step of the previous
section we obtain the matrix inequality of the optimization problem (6.19).

A.3. Genetic Algorithms


Genetic algorithms are heuristic search approaches for solving optimization problems. In our
lecture we may apply such algorithms to nd suitable controller design parameters taking
into account the actual evolutions of the input and controlled variables which are derived
based on simulations of the closed loop linear system. In general, they can be applied to a
very large range of optimization problems, e.g. optimizing mechanical designs, optimizing
the aerodynamic characteristics of an airframe body,...
Genetic algorithms mimic the concept of evolution in biological systems. In biology evolution
achieves species which are very well adapted to their respective environments. Mating and
reproduction are the major steps in biological evolution. Naturally. those creatures who
have the best abilities to survive are those who have the highest probablity for mating and
generating ospring. This follows Darwin's principle of the survival of the ttest.
A.3. Genetic Algorithms 191

A.3.1. Basic Genetic Algorithms


First step in a genetic algorithm is a suitable coding of the initial population. A population
consists of a number of individuals (or creatures), also denoted as phenotypes in literature.
Each individual has a set of properties which are coded in the chromosomes, which are
also referred to as genotypes. A population consisting of four individuals is illustrated in

population

0 0 0 0 0 0
gene

1 1 1 1 1 1

individual with chromosome

1 0 1 0 1 1

1 1 0 0 1 0

Figure A.2.: Population, individuals, chromosomes and genes in Genetic Algorithms

Figure A.2. The characteristics of each individual are coded into chromosomes which consist
single genes. Exemplarily, consider an optimization problem, where x1 and x2 are the 3-
bit variables of the optimization problem, then the individual with the chromosome 000000
refers to x1 and x2 being 000 in binary code or 0 in decimal format. For the individual with
the chromosome 101011 we have that x1 being 101 and x2 being 011 in binary code, which
is x1 = 5 and x2 = 3 in the decimal format.
In general, the initial population is created randomly, such that the whole search space is
adequately sampled in order to avoid that the whole population tends to one local minimum
of the objective function. Nevertheless, for optimization problems with a high number
of variables and where not all their values are in a valid range, it might be preferable to
choose an initial, valid solution (individual) an generate the intial population by cloning and
mutating of this individual. After chosing the initial population the individuals are coded
into a 0, 1 scheme (binary code or Gray code). In the next step the tness is evaluated for
each of the individuals This is done by evaluating the objective function, which is called
tness function in evolutionary optimization and has to be dened by the designer. In some
problems it might not be possible to dene the tness value by means of an equation but
instead simulations might be employed and the tness is judged based on the results. The
ttest individuals are those which achieve the lowest value in the tness function. Usually
the tness of an individual determines the chance of being chosen for reproduction, e.g.
becoming a parent for the next generation.
192 A. Appendix

Code Initial Population

Decode and Fitness Evaluation

Select and Parent


encode Selection
Termination

Fitness Evaluation Recombination

Decode Mutation

Figure A.3.: Genetic Algorithm

Afterwards the next generation is created by means of recombination and mutation. In


recombination, also referred to as crossover a specic location in the parent chromosomes,
which is usually done employing a random selection. Then, two childs are generated by
mixing the chromosomes of the two parents about the crossover location. So assume
• parents are the individuals 101011 and 110010

• The crossover location is between the second and third gene

then after recombination we obtain the two childs 100010 and 111011. In the mutation
process, which a specic propability a probalistic chosen gene is mutated (0 is ipped to
1 and vice versa). In the algorithms, mutation my be benecial to avoid being stucked in
a local minimum and forces the algorithm to exploit the search area. In the algorithm,
the recombination rate and the mutation rate are tuning parameters for the algorithm.
A.4. Quaternions 193

Chosing a high recombination rate my lead premature convergence of the algorithm. A high
propbality of mutations might lead to the exclusion of good solutions.
After the child-generation is obtained, the new population is evaluated. Depending on the
algorithm settings, the new generation might consist of individuals from the parent and child
generation or just from the child generation. To keep a constant population size, at least a
part of the parent generation dies, usually those who did not achieve a specic tness level.
Now the process restarts be evaluating the tness for each member of the new population
and again select parent individuals. The process is illustrated in Figure A.3.

A.4. Quaternions
For the following discussions we make use of the basic denitions of a quaternion
   
qs cos(Φ/2)
q= = (A.5)
qv u · sin(Φ/2)

For some derivations we consider small attitude changes expressed by a angular vector
∆θ = k∆θk · ∆θ/k∆θk so we have θ = ∆θ/k∆θk and Φ = k∆θk and inserting in (A.5)
leads to
 
cos(k∆θk/2)
∆q = θ
k∆θk · sin(k∆θk/2)

Since ∆θ is assumed to be small we can approximate


   
1 1
∆q = ∆θ
· k∆θk/2
= (A.6)
k∆θk ∆θ/2

A.4.1. Quaternion Products


For some derivations an alternative formulation of the quaternion product dened in (3.15),
which is
qs,1 qs,2 − q T
     
qs,1 qs,2 v,1 · q v,2
q1 ⊗ q2 = ⊗ =
q v,1 q v,2 q v,1 × q v,2 + qs,1 · q v,2 + qs,2 · q v,1

turns out to be advanteagous. In fact, the same result can be achieved replacing the quater-
nion product by an matrix-vector product in the following manner

q 1 ⊗ q 2 = M L (q 1 ) · q 2 = M R (q 2 ) · q 1 (A.7)

with
 
qs,1 −qv,1 −qv,2 −qv,3
−q T
 
 qv,1 qs,1 −qv,3 qv,2  0
M L (q) =  =I− v
(A.8)
 qv,2 qv,3 qs,1 −qv,1  qv (q v )×
qv,3 −qv,2 qv,1 qs,1
194 A. Appendix

and
 
qs,1 −qv,1 −qv,2 −qv,3
−q T
 
 qv,1 qs,1 qv,3 −qv,2  0
M R (q) =  =I− v
(A.9)
 qv,2 −qv,3 qs,1 qv,1  qv −(q v )×
qv,3 qv,2 −qv,1 −qs,1

respectively

A.4.2. Time Derivative of Quaternions


The time derivative of a quaternion can be derived based on the basic denition
q(t + ∆t) − q(t) q(t) ⊗ ∆q − q(t)
q̇ = lim = lim
∆t→0 ∆t ∆t→0 ∆t

where ∆q denotes a small rotation in the time interval ∆t. Rewriting the above equation
employing the small attitude approximation (A.6) we get
     
1 1 0
q(t) ⊗ − q(t) ⊗
Φ/2 0 Φ/2
q̇ = lim = lim
∆t→0 ∆t ∆t→0 ∆t
   
1 0 1 0
= q(t) ⊗ Φ = q(t) ⊗
2 lim∆t→0 ∆t 2 Φ̇

A.4.3. Pure Quaternions


Quaternions with zero scalar part, i. e.
 
0
qp =
qv

are referred to as pure quaternions. Now, computing the quaternion product of two pure
quaternions q p,1 , q p,2 by means of (3.15) we get since qs,1 = qs,2 = 0

qs,1 qs,2 − q T −q T
   
v,1 · q v,2 v,1 · q v,2
q p,1 ⊗ q p,2 = = .
q v,1 × q v,2 + qs,1 · q v,2 + qs,2 · q v,1 q v,1 × q v,2

If we now consider q 2p we get

−q T
   
v · qv 1
q 2p = q p ⊗ q p = = −kq v k2 · = −kq v k2 · I q
0 0

Deriving further powers of pure quaternions q m


p we get

−q T
     
v0 0 0
q 3p = q p ⊗ q p ⊗ q p = −kq v k2 · = −kq v k2 · = −kq v k3 ·
qv × 0 + 1 · qv qv u
A.4. Quaternions 195

where u denotes the vector part normalized to kuk = 1. Proceeding in the same manner we
have
qT −kq v k2
     
v qv 1
q 4p = q p ⊗ q 3p = −kq v k2 · = −kq v k2 · = kq v k4 ·
qv × qv 0 0
= kq v k4 · I q
(A.10)
 
0
q 5p = kq v k5 ·
u
 
1
q 6p = kq v k6 ·
0

A.4.4. Time Derivatives of Transformation Matrices


For the derivations of the navigational equations we need the time derivative of a transfor-
mation matrix. From the basic denition of the derivative we get
n T nb (t + ∆t) − T nb (t)
Ṫ b (t) = lim (A.11)
∆t→0 ∆t
where T nb (t + ∆t) is the transformation at time t plus a small rotation in the interval ∆t,
so we may write
T nb (t + ∆t) = ∆T nb · T nb (t)
Assuming small rotation Φ, θ, Ψ we infer from
 T
cos Ψ cos θ sin Ψ cos θ − sin θ
T nb =  cos Ψ sin θ sin Φ − sin Ψ cos Φ sin Ψ sin θ sin Φ + cos Ψ cos Φ cos θ sin Φ 
cos Ψ sin θ cos Φ + sin Ψ sin Φ sin Ψ sin θ cos Φ − cos Ψ sin Φ cos θ cos Φ
 
cos Ψ cos θ cos Ψ sin θ sin Φ − sin Ψ cos Φ cos Ψ sin θ cos Φ + sin Ψ sin Φ
=  sin Ψ cos θ sin Ψ sin θ sin Φ + cos Ψ cos Φ sin Ψ sin θ cos Φ − cos Ψ sin Φ 
− sin θ cos θ sin Φ cos θ cos Φ
by means of the small angles approximations cos α ≈ 1, sin α ≈ α and sin α sin β ≈ 0 for α,
β being small
     
1 −Ψ θ 1 0 0 0 Ψ −θ
∆T nb =  Ψ 1 −Φ  =  0 1 0  −  −Ψ 0 Φ 
−θ Φ 1 0 0 1 θ −Φ 0
| {z }
T ΦθΨ
  
Φ
= I +  θ  × .
Ψ
Inserting this result in (A.11) we get
n T nb (t + ∆t) − T nb (t) (I − T ΦθΨ )T nb (t) − T nb (t)
Ṫ b (t) = lim = lim
∆t→0 ∆t ∆t→0 ∆t
T ΦθΨ
= − lim · T nb (t)
∆t→0 ∆t
196 A. Appendix

where
       
0 Ψ̇ −θ̇ Φ̇ p
T ΦθΨ
lim =  −Ψ̇ 0 Φ̇  = −  θ̇  × = −  q  × = −(ω nb
b ×)
∆t→0 ∆t
θ̇ −Φ̇ 0 Ψ̇ r
Since we assume very small time intervals ∆t we may neglect the usual dependency on the
sequence of rotations in terms of Euler angles and replace
 
0 r −q
T ΦθΨ
Ωnb
b = lim =  −r 0 p .
∆t→0 ∆t
q −p 0
to nally get
n
Ṫ b = T nb · Ωnb
b .

Check: - or + in above equation


In several cases we need the to express such a derivative in a dierent way of writing. To
this end, we remember Section 2.10 and consider a vector
r P,n = r R,n + T nb · r RP,b
and compute the derivative
v P,n = v R,n + ω nb
n × r RP,n

= v R,n − r RP,n × ω nb
n .

Note that the direction cosine matrix T nb depends on the Euler angles α = [Φ θ Ψ]T From
the above equation we infer
d n ∂
T (α) · r RP,b = T n (α) · r RP,b · α̇
dt b ∂α b
= α̇ × r RP,b
= −r RP,b × α̇

A.4.5. Transformation of Rotational Matrix


We consider the cross-product forming matrix
Ωib ib
a = (ω a ×)

which can be employed to compute a rotation induced velocity of a vector xa


ib
v a = ω ib ib
a × xa = (ω a ×)xa = Ωa · xa .

Now, if this velocity has to be expressed within the frame b, we apply the transformation
matrix T ba , which results in
T ab · v b = Ωib a
a · T b · xb

⇔ v b = T ba · Ωib a ib
a · T b · x b = Ωb · x b

Obviously, the same


Ωib b ib a
b = T a · Ωa · T b · xb
Bibliography

[1] Adamy, J.; Flemming, A.: Soft variable-structure controls: a survey, Automatica, 2004
[2] Watson, J.; MEMS Gyroscope provides precision inertial sensing in harsh, high temper-
ature environments, Analog Devices, 2016
[3] Brockhaus, R.; Alles, W.; Luckner, R.: Flugregelung, third edition, Springer Verlag.
2011
[4] Cook, M.V.: Flight Dynamic Principles, second edition, Elsevier Ltd., 2007
[5] Graichen, K.; Methoden der Optimierung und optimalen Steuerung, Vorlesungsskript,
Universität Ulm, Wintersemester 2012/2013
[6] Hippe, P.: Windup in Control, Springer, 2006
[7] Keerpütz, K.; Adamy, J.: A Tracking Controller for Linear Systems subject to Input
Amplitude and Rate Constraints, Proceedings of the American Control Conference, San
Francisco, 2011
[8] Keerpütz, K.; Jasniewicz, B.; Adamy, J.: A nonlinear controller for input amplitude
and rate constrained linear systems, IEEE Transactions on Automatic Control, 2012
[9] Leit D.J.; Leithead WE., Survey of Gain-Scheduling Analysis & Design, International
Journal of Control, Vol. 73, 2010, pp. 1001-1025
[10] Hu, T.; Lin, Z.:Control systems with actuator saturation, Birkhäuser, 2001
[11] Luenberger, D.G.: Observing the state of a linear system, IEEE Transactions on Mili-
tary Electronics, S. 74-80, 1964
[12] Marchthaler, R.; Dingler, S.: Kalman-Filter Einführung in die Zustandsschätzung und
ihre Anwendung für eingebettete Systeme, Springer, 2017
[13] Löfberg, J.: YALMIP : A Toolbox for Modeling and Optimization in MATLAB, Pro-
ceedings of the CACSD Conference, 2004
[14] Stevens, B.L.; Lewis, F.L.; Johnson, E.N.: Aircraft Control and Simulation, John Wiley
& Sons, 2016
[15] Doyle, J.; Lenz, K.; Packard, A.: Design Examples using µ-Synthesis: Space Shuttle
Lateral Axis FCS during Reentry, Proceedings of the 25 th Conference on Decision and
Control, S. 2218-2222, 1986
[16] Sola, J.: Quaternion kinematics for error state Kalman Filter, 2017
[17] Steiner, G.: Respect the Unstable, IEEE Control Systems Magazine, 2003, pages 12-25

197
198 Bibliography

[18] Sturm, J. F.: Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric
cones, Optimization Methods and Software, 1999
[19] Toh, K. C.; Todd, M.; Tutuncu, R.: Sdpt3 - A matlab software package for semidenite
programming, Optimization Methods and Software, 1999
[20] Turner, M.,C.; Hermann, G.; Postlethwaite, I.; Anti-Windup Compensation using a
Decoupling Architecture, Lecture Notes in Control and Information Sciences, Springer,
Nr. 346, 2007, pages 121-171

You might also like