Optimal and Robust Control
Optimal and Robust Control
Herbert Werner
ICS
Institute
of Control
Systems
© 2021 Herbert Werner ([email protected])
Hamburg University of Technology
Introduction 3
Introduction 71
iv CONTENTS
14 System Norms 89
In the first chapter, the linear regulator problem with finite time horizon is introduced.
This is a basic problem, and from its solution the solution to other problems - e.g. the
tracking problem - can be derived. In order to solve the regulator problem, we employ the
principle of optimality and the Hamilton-Jacobi equation, which for the linear regulator
problem takes the form of the Riccati equation. In this case, the optimal control law takes
the form of linear state feedback, and it is initially assumed that all states are available for
feedback. In chapter 6, we turn to the important case of infinite time horizon problems,
where the solution is particularly simple. It will be shown that the optimal controller
possesses attractive engineering properties such as good robustness margins.
The assumption that all states are available for feedback is removed in chapter 9 and
replaced by the more realistic assumption that only a linear combination of state variables
- the output variables - are measured. In order to be able to use the results derived in the
first part, the state variables have to be estimated and state feedback has to be replaced
by state estimate feedback. If the measurement of the output variables is corrupted by
noise (which is always the case in real life problems), state estimation involves a trade-off
between a fast decay rate of estimation errors and a low noise sensitivity of the closed-
loop system. The Kalman Filter is shown to be the “optimal solution” to the estimation
problem, optimal in the sense of a probabilistic problem description and minimal variance
of the estimation error.
Unfortunately, the attractive robustness properties of the optimal state feedback solution
derived in the first part may be lost when state feedback is replaced by state estimate
feedback. A technique known as loop transfer recovery is presented, that can be used to
asymptotically “recover” these properties, at the expense of increased noise sensitivity.
Chapter 1
With a control input that makes (1.5) small, the final state x(T ) will in general not be the
zero state, and with the above formulation of the control objective one has no influence
on how close the final state is to zero. For this reason, it is convenient to add a third term
to the performance index that penalizes the “distance” of the final state from zero
Z T
xT (t)Qx(t) + uT (t)Ru(t) dt + xT (T )Sx(T ), S = S T ≥ 0. (1.6)
t0
The problem of finding a control input u(t), t0 ≤ t ≤ T that minimizes (1.6) under
the constraint (1.1) is called the linear optimal regulator problem. This problem and its
solution will be studied in the following chapters. At this point, one comment is in order.
The optimal solution to the control problem described here is “optimal” only in the sense
of the performance index (1.6) specified by the quantities Q, R and S, and one can view
these quantities as convenient “tuning parameters” which can be used in an interactive
procedure of trial and error to improve the behaviour of the control system.
Exercises
Problem 1.1
Consider a DC motor with shaft angular velocity ω that is controlled by the input voltage
u(t). The system can be described by the scalar differential equation
where a and b are given constants. Consider the problem of stabilizing the angular
velocity at a desired value ω0 . Assume that u0 is the steady state input that keeps
the plant in equilibrium at ω = ω0 . Formulate the problem of finding a control input
that brings the system from an initial state ω(t0 ) = ω1 back to ω0 quickly and with
reasonable control effort, as a linear optimal regulator problem in the form of (1.6). For
this purpose, transform the problem into an equivalent problem with zero equilibrium
state by introducing a new state vector ω̃ = ω − ω0 .
Chapter 2
In order to solve the linear optimal regulator problem, we will first study a wider class
of optimization problems, and derive a partial differential equation (the Hamilton-Jacobi
equation) which is satisfied by the optimal performance index.
Consider the following optimal control problem. For the system
Here f, l and m are sufficiently smooth functions which can be essentially arbitrary (they
will later be chosen to match the linear optimal regulator problem). The performance
index V depends on initial state x(t0 ) and time t0 and on the control input u(t) for
t0 ≤ t ≤ T .
To simplify notation, we will write u[a, b] to denote the function u(·) restricted to the
interval [a, b], and we sometimes write xT for x(T ). Now we define the optimal performance
index
V ∗ (x(t), t) = min V (x(t), u(·), t). (2.3)
u[t,T ]
∗
Notice that V is independent of the control input, because it is defined to be the cost
incurred by the optimal control input u∗ . Notice also that we have replaced the initial
time t0 with t, because we want to study the optimal cost for different initial times.
To solve the optimal control problem, we will use the principle of optimality:
x1 (T )
x1 (t1 ) x2 (T )
x(t)
x2 (t1 ) x3 (T )
x3 (t1 )
t t1 T
This may seem almost self-evident, but it is nevertheless a very powerful idea. The
principle of optimality was first formulated in 1697 by James Bernoulli and restated by
Euler in 1744, but then largely ignored until it was revived in the 1930s and formulated
in the above form by Richard Bellman in 1957.
We will now discuss how this idea can be applied to the optimal control problem. First
we cut the time interval [t, T ] in two subintervals, and consider the two control inputs
u[t, t1 ] and u[t1 , T ]. Since u[t, T ] is the concatenation of u[t, t1 ] and u[t1 , T ], minimizing
over u[t, T ] is equivalent to minimizing over u[t, t1 ] and u[t1 , T ]. Thus
Z T
∗
V (x(t), t) = min l(x, u, τ ) dτ + m(xT )
u[t,T ] t
!
Z t1 Z T
= min min l(x, u, τ ) dτ + l(x, u, τ ) dτ + m(xT ) .
u[t,t1 ] u[t1 ,T ] t t1
The inner minimum depends on u[t, t1 ], but the first summand is independent of u[t1 , T ],
so the cost can be rearranged as
!!
Z t1 Z T
∗
V (x(t), t) = min l(x, u, τ ) dτ + min l(x, u, τ ) dτ + m(xT )
u[t,t1 ] t u[t1 ,T ] t1
or Z t1
∗ ∗
V (x(t), t) = min l(x, u, τ ) dτ + V (x(t1 ), t1 ) . (2.4)
u[t,t1 ] t
The minimization required in (2.4) is illustrated in Fig. 2.1. All trajectories from t1 to
T are optimal. The value of the cost function V (x(t), t) for the whole interval [t, T ] is
obtained by adding the cost of the trajectory form t to t1 , to the optimal cost from t1 to
T . Both depend on u[t, t1 ], which must be chosen to minimize the sum.
Chapter 3
To solve the optimal control problem posed in chapter 1, the principle of optimality is
applied with setting t1 = t + ∆t and taking the limit as ∆t → 0. This leads to a partial
differential equation for the optimal performance index, the Hamilton-Jacobi equation.
Replacing t1 by t + ∆t in (2.4) gives
!
Z t+∆t
∗ ∗
V (x(t), t) = min l(x, u, τ ) dτ + V (x(t + ∆t), t + ∆t) . (3.1)
u[t,t+∆t] t
with α some constant between 0 and 1. The second term can be expanded into a Taylor
series
V ∗ (x(t), t) =
#T
∂V ∗ ∂V ∗
"
∗
min ∆t lα + V (x(t), t) + (x(t), t) ẋ(t)∆t + (x(t), t)∆t + O(∆t2 ) .
u[t,t+∆t] ∂x ∂t
The term V ∗ (x(t), t) can now be eliminated on both sides. Moreover, the fourth summand
is independent of u[t, t+∆t] and can be pulled out of the minimization; thus, after dividing
by ∆t, we obtain
#T
∂V ∗ ∂V ∗
"
(x(t), t) = − min lα + f (x, u, t) + O(∆t) .
∂t u[t,t+∆t] ∂x
10
Here, f and l are known functions of their arguments x, u, t, whereas the function V ∗ is
unknown. Equation (3.2) is already a form of the Hamilton-Jacobi equation, even though
it does not yet look like a partial differential equation.
To bring (3.2) in the form of a first order partial differential equation, we define ū to be
the control input that minimizes the right hand side. The minimizing input depends on
the values of x(t), ∂V ∗ /∂x and t, so we write ū(x, ∂V ∗ /∂x, t). Note that the input ū that
minimizes the right hand side of (3.2), minimizes at the same time the performance index
V (x(t), u(·), t), because from the expanded form of V , only terms independent of u have
been removed.
With this definition of ū, (3.2) becomes
#T
∂V ∗ ∂V ∗ ∂V ∗ ∂V ∗
"
(x(t), t) = −l(x, ū(x, , t), t) − f (x, ū(x, , t), t). (3.3)
∂t ∂x ∂x ∂x
This is a first order partial differential equation with independent variable V ∗ and depen-
dent variables x and t, because l, f and ū are known functions of their arguments. From
the definition (2.2) of the performance index follows the boundary condition
∂V ∗
1. find the minimizing ū as a function of x, ∂x
and t
An important observation at this point is that the optimal control input at time t is given
as a function of the state vector; this means that the optimal control law has the form of
3. The Hamilton-Jacobi Equation 11
state feedback. The optimal control law can be obtained via the solution to the Hamilton-
Jacobi equation: if such a solution exists, it is the optimal performance index. A problem
with this approach is that a solution to the Hamilton-Jacobi equation may not exist,
and that not every optimal performance index satisfies the Hamilton-Jacobi equation,
so the equation represents only a sufficient condition for the optimal performance index.
Moreover, it is in general difficult to solve this partial differential equation. The situation
is different however when the above approach is applied to the linear regulator problem:
in that case the Hamilton-Jacobi equation represents a necessary and sufficient condition,
and the solution can be obtained via the solution to a nonlinear differential equation, the
Riccati Differential Equation. This is shown in the following chapter.
Exercises
Problem 3.1
Consider the system
ẋ = u
and the cost function
Z T 1
V (x(0), u(·), 0) = (x2 + u2 + x4 ) dt.
0 2
Write down the Hamilton-Jacobi equation for this problem.
Chapter 4
In this chapter, we shall use the results of the previous chapter to derive the solution to
the linear optimal regulator problem posed in chapter 1. This will be done in two steps:
1. We show that if V ∗ (x(t), t) exists, it must be of the form xT (t)P (t)x(t), where P (t)
is a positive semidefinite, symmetric matrix
2. Using the above result, we show that if V ∗ (x(t), t) exists, it satisfies the so called
Riccati differential equation.
Finally we outline a proof of existence of V ∗ , and find the optimal control law in terms
of the solution to the Riccati differential equation.
Proof
Step 1
The first step is to show that V ∗ must be of the form xT P x. This is called a quadratic
form, and we will use the following result: the function V ∗ (x) is a quadratic form if and
only if it is continuous in x and
and
1
λ2 V ∗ (x, t) ≤ λ2 V (x, u∗λx , t).
λ
Putting the equalities and inequalities together, we obtain
V ∗ (λx, t) ≤ λ2 V ∗ (x, t)
λ2 V ∗ (x, t) ≤ V ∗ (λx, t).
These two inequalities imply that V ∗ (x, t) satisfies the first condition (4.1). That it also
satisfies the second condition can be shown in a similar manner. Because V ∗ (x, t) is
continuous in x, it follows that it has the form
for some matrix P (t). Positive semidefiniteness follows from the fact that V ∗ (x(t), t)
cannot be negative. To justify the claim that P is symmetric, assume it is not, then one
can replace it by the symmetric matrix 1/2(P + P T ) without altering the value of V ∗ .
Step 2
Next we show that the matrix P (t) that appeared in the last step, satisfies a particular
matrix differential equation, the Riccati differential equation (RDE). We start with the
first form of the Hamilton-Jacobi equation (3.2)
#T
∂V ∗ ∂V ∗
"
(x(t), t) = − min l(x, u, t) + f (x, u, t) .
∂t u(t) ∂x
l(x, u, t) = xT Qx + uT Ru;
xT Ṗ x = − min
u
(xT Qx + uT Ru + 2xT P Ax + 2xT P Bu). (4.3)
4. The Matrix Riccati Equation 15
The minimizing control input ū can be found by setting the partial derivative of the right
hand side expression in (4.3) to zero. An alternative way - completing the squares - is
shown in Exercise 4.3. The solution is
− Ṗ = P A + AT P − P BR−1 B T P + Q. (4.5)
This is the celebrated matrix Riccati Equation (or Riccati differential equation, to distin-
guish it from the algebraic Riccati equation discussed in chapter 6). A boundary condition
for (4.5) follows from the boundary condition (3.4) for the Hamilton-Jacobi equation
or
P (T ) = S, (4.6)
where S is the penalty on the final state vector introduced in (1.6).
From the discussion in the previous chapter we know that ū is the optimal control input
at time t, thus solving the Riccati equation (4.5) and substituting the solution P (t) in
(4.4) yields the optimal controller in the form of linear, time-varying state feedback
The above results have been derived under the assumption that a solution V ∗ to the
minimization problem exists. We now briefly indicate how one can prove the existence of
V ∗ . From the boundary condition (4.6) we know that there exists a matrix P (t) at t = T
and (by continuity) for t < T when t is sufficiently close to T . The only way a solution
can fail to exist is that there is a finite time T1 < T at which some entries of P become
infinite (in that case T1 is called a finite escape time). However, V ∗ can never be greater
than any V resulting from an arbitrary control input; so we can choose the zero control
input and use the fact that the state vector cannot become unbounded in finite time to
show that elements of P cannot become infinite in finite time.
Exercises
Problem 4.1
16
Problem 4.2
Define the matrix X as " #
M L
X= T
L N
Show that:
min W (x, u) = xT (M − LN −1 LT )x
u
and
ū = arg min W (x, u) = −N −1 LT x.
u
is block diagonal, and use this matrix to write W (x, u) as a sum of two terms of
which one is independent of u and the other one is nonnegative.
b) Use the above result to show that ū in (4.4) minimizes the right hand side of (4.3).
4. The Matrix Riccati Equation 17
−Ṗ = P A + AT P − P BR−1 B T P + Q
P (T ) = S.
Hint: Start with an arbitrary u(t) = −R−1 B T P (t)x(t) + v(t), where the choice of P (t)
and v(t) are arbitrary.
Make use of the fact that
Z T d T Z T
(x P x)dt = (ẋT P x + xT Ṗ x + xT P ẋ)dt
t0 dt t0
Chapter 5
−Ṗ = P A + AT P − P BR−1 B T P + Q.
A −BR−1 B T
" # " #" #
Ẋ X
= (5.1)
Ẏ −Q −AT Y
To prove that (5.3) is indeed the solution to the Riccati equation, we compute its derivative
dP dY X −1 dX −1 dY −1
= =Y + X . (5.4)
dt dt dt dt
Next, differentiate both sides of
X(t)X −1 (t) = I
to get
dX −1 dX −1
= −X −1 X .
dt dt
20
Substituting this and the derivatives of X and Y given in (5.1) in (5.4) gives
dY X −1
= −AT Y X −1 − Y X −1 A − Q + Y X −1 BR−1 B T Y X −1 ,
dt
and it is clear that P = Y X −1 satisfies the Riccati equation (4.5) and (4.6).
When the matrices A, B, Q and R are constant, one can compute the solution to the
Riccati equation in terms of the transition matrix of system (5.1). So far we have made
no statement about these matrices being constant or time-varying; in fact the results we
have seen so far hold for both cases. From now on, we assume that these matrices are
constant.
The matrix
A −BR−1 B T
" #
H=
−Q −AT
is called the Hamiltonian matrix and plays an important role in linear quadratic optimi-
sation. It has the property that if λ is an eigenvalue of H, then so is −λ. To see this,
consider the nonsingular transformation matrix
" #
0 I
J= .
−I 0
to (5.1) yields
˙
" #" #
X̃
=
Λ s 0 X̃
˙ . (5.6)
Ỹ 0 Λu Ỹ
From the decoupled equations, the solution at time T can be computed in terms of the
solution at time t as
we obtain
Ỹ (T ) = GX̃(T ).
Then again using (5.5), this time evaluated at t, and substituting the decoupled solutions
of (5.6) yields
X(t) =(U11 + U12 e−Λu (T −t) GeΛs (T −t) )e−Λs (T −t) X̃(T )
Y (t) =(U21 + U22 e−Λu (T −t) GeΛs (T −t) )e−Λs (T −t) X̃(T ).
These expressions can be substituted for X(t) and Y (t) in (5.3) to compute the solution
to the Riccati differential equation
Example 5.1
Solve the problem of the exercise 4.1 using (5.7).
Solution: From
ẋ = u
and Z T
V (x(0), u(·), 0) = (x2 + u2 ) dt.
0
we have the Hamilton matrix " #
0 −1
H= .
−1 0
22
Exercises
Problem 5.1
Consider the system shown in Figure 5.1.
r=0 ẋ R x y
B C
R-1 A
G(s)
v λ λ̇
-B T -C T
R
-AT
a) What is the open-loop transfer function from y to v, and how is it related to G(s)?
Problem 5.2 Consider again the speed control problem of Exercise 1.1, with plant
equation
ω̇(t) = −aω(t) + bu(t)
5. Solution of the Riccati Equation 23
The numerical values are a = 0.5 sec−1 , b = 150 rad/(Vsec2 ) and T = 1 sec. Use (5.7) to
compute the optimal control law and plot the optimal state feedback gain f (t) and the
speed ω(t) in the interval 0 sec ≤ t ≤ 1 sec for the following values of ρ and s
a) ρ = 102 , s = 0
b) ρ = 103 , s = 0
c) ρ = 104 , s = 0
d) ρ = 103 , s = 0.19.
Chapter 6
The optimal state feedback gain even for a time-invariant plant is time varying because
the solution P (t) of the Riccati equation is time-varying. Fig. 6.1 shows the solution of
the Riccati equation for the example in Exercise 5.2 with ρ = 1000, s = 0 and different
time horizons T , ranging from T = 1 to T = 10.
0.20
T = 1sec
0.18 T = 2sec
T = 5sec
0.16 T = 10sec
0.14
0.12
P(t)
0.10
0.08
0.06
0.04
0.02
0.00
0 2 4 6 8 10 12 14
Time [sec]
Figure 6.1: Solutions of the Riccati equation for the DC motor example in Exercise 5.2,
with ρ = 1000, s = 0 and different time horizons T
The solution is constant during most of the time interval and changes only when approach-
ing the final time. From a practical point of view, constant feedback gains are much more
26
suitable for implementation in controllers for steady state operation than time-varying
gains; and the fact that the time horizon T is a design parameter that can be chosen by
the designer, suggests to take the limit as T → ∞ to obtain constant gain feedback. From
(5.7) we have
−1
lim P = U21 U11 , (6.1)
T →∞
i.e. as T → ∞ the solution to the Riccati equation becomes time-invariant, which leads
to a constant, steady state optimal state feedback gain
With a constant solution P , we have Ṗ = 0, and the Riccati differential equation turns
into the algebraic Riccati equation
0 = P A + AT P + Q − P BR−1 B T P, (6.2)
which is satisfied by P as given by (6.1). From (5.7) it is also clear that a penalty S on the
final state has no influence on the solution as T → ∞. Changing the problem description
accordingly, we have thus obtained the solution to the infinite-time regulator problem.
The infinite-time regulator problem is also called the steady state regulator problem, it
is: for the system
ẋ(t) = Ax(t) + Bu(t)
and the performance index
Z ∞
V (x0 , u, t0 ) = (xT Qx + uT Ru) dt, (6.3)
0
find the optimal control input u∗ (t) that minimizes V . The steady state solution is
where U21 and U11 are submatrices of the transformation matrix U that decouples the
Hamiltonian system into a stable and an unstable subsystem.
Compared with the finite-time problem, the steady state regulator problem is easier to
solve, and the solution is easier to implement. But with an infinite time horizon, new
questions concerning the asymptotic behaviour of the solution have to be addressed. The
following example illustrates possible problems.
Example 6.1
Consider the system " # " # " # " # " #
ẋ1 x 0 x10 1
= 1 + , =
ẋ2 x2 1 x20 0
and the performance index
Z ∞
V = (x21 + x22 + u2 ) dt.
0
6. The Infinite-Time Regulator Problem 27
From ẋ1 = x1 , we have x1 = et independent of the control input, so the integrand will
contain the term e2t no matter what control is chosen, and the performance index will be
infinite.
There are two reasons why there exists no solution in the above example. The first one
is the fact that the unstable mode x1 is uncontrollable. The second reason is that this
unstable and uncontrollable mode is reflected in the performance index. Two questions
must be addressed: a) does a solution to the problem exist, and b) is the solution stable.
Existence of a Solution
A solution P to the algebraic Riccati equation for the infinite time regulator problem
exists, if the system (A, B) is controllable. By “existence of a solution”, we mean existence
of a bounded solution P < ∞.
To see that this is true, we note that controllability implies the existence of a state feedback
gain F such that (A + BF ) is stable. Then the control input u(t) = F x(t), which is not
necessarily optimal, stabilizes the system, and the resulting performance index V (x0 , u, t0 )
will be finite. But the optimal performance index cannot be greater than the performance
index resulting from any control input, so we have
Recalling that V ∗ (x0 ) = xT0 P x0 , we conclude that xT0 P x0 < ∞; and because this holds
for any x0 , it follows that P is bounded.
Stability
Example 6.2
Consider the system
ẋ = x + u
and the performance index Z ∞
V = u2 dt.
0
The system is controllable, and the optimal control is u∗ (t) ≡ 0, resulting in V = 0 and
an unstable closed-loop system.
The instability here is due to the fact that the unstable mode is not reflected in the
performance index. A bounded solution P guarantees stability if all modes are reflected
28
in the performance index. To formulate that requirement, we write the weight matrix for
the states as Q = C T C. Thus, the term xT Qx can be interpreted as the cost resulting
from a fictitious output z = Cx. Then stability of the closed-loop system is guaranteed if
(A, C) is observable.
To show this, we need a result from Lyapunov stability theory: the system ẋ = Āx is
stable if there exists a Lyapunov function V = xT P x such that P > 0 and V̇ ≤ 0, and
where V̇ ≡ 0 implies x(t) ≡ 0. Now let Ā denote the optimal closed-loop state matrix
Ā = A + BF ∗ = A − BR−1 B T P.
But this can only be true if Cx(t) = CeAt x0 ≡ 0 for 0 ≤ t < ∞, and (A, C) observable
6 0.
then implies that x0 = 0, which contradicts the assumption x0 =
Next we prove that V̇ = dtd (xT P x) ≤ 0, and that V̇ ≡ 0 implies x(t) ≡ 0. Observe that
from the algebraic Riccati equation and from the definition of Ā we have
ĀT P + P Ā = −P BR−1 B T P − C T C.
gives
V̇ = −xT P BR−1 B T P x − xT C T Cx,
so clearly V̇ ≤ 0, and V̇ ≡ 0 can only be true if Cx(t) ≡ 0, which by observability implies
x0 = 0 and thus x(t) ≡ 0. Invoking the Lyaponov stability result quoted above, this
proves that observability of (A, C) guarantees stability of the optimal closed-loop system.
Controllability and observability are only sufficient, not necessary conditions for the exis-
tence of a stabilizing solution. One can extend the above results and show the following:
a necessary and sufficient condition for the existence of a stabilizing solution is that the
unstable modes are controllable (i.e. the system is stabilizable) and that there are no
unobservable modes on the imaginary axis. If (A, C) has stable but unobservable modes,
the solution P will be positive semidefinite (instead of positive definite).
6. The Infinite-Time Regulator Problem 29
The derivation of the solution (5.7) to the Riccati differential equation, which led to
the steady state solution (6.1), was based on decoupling the stable and the unstable
eigenvalues of the Hamiltonian matrix. Using the algebraic Riccati equation, one can show
that the optimal closed-loop eigenvalues are the stable eigenvalues of the Hamiltonian
matrix: apply the similarity transformation
" #
−1 I 0
T HT = H̃, T =
P I
Ā −BR−1 B T
" #
H̃ = ,
0 −ĀT
We have shown that controllability and observability guarantee the existence of a stable
solution to the steady state regulator problem, and that the solution can be obtained via
the solution to the algebraic Riccati equation. However, unlike the Riccati differential
equation, the algebraic Riccati equation has in general many solutions, as the following
example illustrates.
Example 6.3
Consider the scalar system
ẋ = 3x + u
and the performance index Z ∞
V = (7x2 + u2 ) dt.
0
0 = 6P − P 2 + 7 = (P − 7)(P + 1),
30
Exercises
Problem 6.1
For the plant of Problem 5.2, find the optimal state feedback u = f ω that minimizes the
cost function
Z ∞
(ω 2 (t) + ρu2 (t))dt
0
f = −lqr(a, b, 1, ρ)
a) Compute the optimal state feedback gain for different values of ρ and compare the
resulting responses of the closed-loop system to an initial speed ω(0) = 1;
R1 R1
b) Plot 0 ω 2 dt versus 0 u2 dt for different values of ρ in the range 0.1 ≤ ρ ≤ 10.
6. The Infinite-Time Regulator Problem 31
Problem 6.2
Consider the control system shown in Figure 6.2.
r e u y = x1
−f1 ẋ = Ax + bu y = cx
-
x2
f2
x3
f3
ẋ = Ax + bu
y = cx
where
0 1 0 0 h i
A=
0 0 1; b=
0 ;
c= 1 0 0
0 −2 −3 1
Design an optimal state feedback control law for the above system using MATLAB
by tuning Q and R. Assume that the reference input is zero (or r = 0) for designing
the controller.
(b) Plot the step response of the closed loop system with the resulting controller, and
use the cost weights Q and R to tune the response.
32
Problem 6.3
Consider the system
ẋ(t) = Ax(t) + bu(t)
where " # " #
0 1 0
A= b= .
5 0 3
A state feedback control law u(t) = f x(t) is to be determined that minimizes the perfor-
mance index Z ∞
V = xT (t)Qx(t) + ρu2 (t) dt
0
with weights " #
1 0
Q= , ρ = 1.
0 0
Use the Hamiltonian matrix to compute the optimal closed-loop eigenvalues and the
optimal state feedback gain.
Chapter 7
In this chapter, we study properties of infinite-time linear optimal regulator systems from
an engineering point of view. In the previous chapter it was shown how for a given
problem - given in terms of the matrices A, B, Q and R - the optimal state feedback gain
can readily be computed numerically. The matrices A and B represent the plant to be
controlled, and the matrices Q and R express the design objectives. In practice, however,
it is very often not clear what values for Q and R should be chosen to achieve a desired
performance; and it turns out that - rather than being a natural part of the problem
description - these matrices are in fact design parameters, and that the main use of linear
quadratic theory is to provide a convenient parametrization of trial solutions that can be
improved by iteratively changing Q and R.
Provided the system is stablizable and detectable (detectable from a fictitious output, in
the sense discussed in the previous chapter), the existence of a solution is guaranteed for
any choice of R > 0 and Q ≥ 0. Moreover, the optimal closed-loop system is guaranteed
to be stable. Another attractive feature of LQ-optimal design is the fact that there is
no additional complexity involved when working with multivariable systems compared to
single-input single-output systems. We will now explore some further properties of linear
optimal regulators.
Kalman’s Identity
An important result for studying the properties of linear optimal regulators is the following
identity, due to Kalman. Introduce the notation
then the following equation - referred to as Kalman’s identity - holds true for all ω
The proof is deferred to the end of this chapter. Because B T ΦH QΦB ≥ 0, an immediate
consequence of Kalman’s identity is the following inequality, also referred to as Kalman’s
inequality
(I − B T ΦH (jω)F T )R(I − F Φ(jω)B) ≥ R ∀ω. (7.2)
If in addition the weight matrix Q has rank one and can be written as Q = cT c (i.e. only
one fictitious output y = cx is being penalized), then the inequality (7.2) becomes
We shall study some of the implications of inequality (7.4) for single-input, single-output
systems. The importance of this inequality is due to the fact that the term −f Φ(jω)b is
the loop gain of the optimal closed-loop system. To see this, draw the state feedback loop
as shown in Fig. 7.1, where the negative feedback convention used in the classical control
literature is adopted.
(sI − A)−1 B x −F
-
Because L(jω) = −f Φ(jω)b is the loop gain, the left hand side of (7.4) is equal to the
distance |L(jω) + 1| between a point at frequency ω on the Nyquist plot of the loop gain
L(jω) and the critical point -1 in the complex plane. Thus, Kalman’s inequality states
that the Nyquist plot of the loop gain under optimal state feedback never enters a disc of
radius 1 around the critical point.
Provided the plant is controllable and observable, the optimal closed-loop system is guar-
anteed stable. Now assume the nominal loop gain L(jω) is replaced by kL(jω), with k
a static gain. Then from the fact that the Nyquist plot of the loop gain never enters a
disc of radius 1 around the point -1, it is straightforward to show that the number of
encirclements of the critical point cannot change as long as 0.5 < k < ∞. Thus optimal
state feedback guarantees an infinite upper gain margin and a 50% lower gain margin.
7. Properties of the Optimal Regulator 35
To investigate the phase margin, consider the Nyquist plot shown in Fig. 7.2.
Im
Re
−1 60◦
L(jω)
The phase margin is the amount of negative phase shift that must be introduced into the
loop to make the Nyquist plot touch the critical point. The point of the Nyquist plot
L(jω) that will hit the point -1 is the point at the intersection with a circle of radius 1
around the origin. From the Figure, it is clear that the smallest phase shift that could
make any Nyquist plot touch the critical point is 60o . Thus, optimal state feedback
guarantees a phase margin of at least 60o .
Unfortunately, the above phase and gain margins are guaranteed only when the full state
vector is available and used for feedback. In practice, this is normally not the case, and
when the state variables are estimated and state feedback is replaced by state estimate
feedback, these margins can disappear. Techniques to partially recover these properties
(Loop Transfer Recovery) will be discussed in chapter 10.
Observing that this is at the same time the closed-loop transfer function, we find from
Fig. 7.1
T (jω) = −f (jωI − A − bf )−1 b.
For rejection of measurement noise, as well as for robustness against unstructured per-
turbations, the roll-off of T (jω) at high frequencies is of interest. Taking the limit as
ω → ∞, we have
1 T
lim jωT (jω) = −f b = b P b,
ω→∞ ρ
which means that at high frequencies we have
1
|T (jω)| ∼
ω
or a roll-off of 20dB per decade. Therefore, noise performance will be rather poor. How-
ever, whereas replacement of state feedback by state estimate feedback can destroy the
gain and phase margins, using a dynamic state observer will increase the roll-off and thus
improve the noise performance of the closed-loop system.
Spectral Factorisation
It was shown earlier that the optimal closed-loop eigenvalues are the stable eigenvalues
of the Hamiltonian matrix. Kalman’s identity provides a similar characterisation of the
optimal eigenvalues in frequency domain, using spectral factorisation. For single-input,
single-output systems, this characterisation becomes particularly simple.
We first state the result. Consider the system
ẋ = Ax + bu
y = cx.
To prove this, we use the fact that for two matrices X ∈ IRm×n and Y ∈ IRn×m , we have
and making use of the Schur-Complement.) Notice that for column vectors x and y this
implies
det (Im − xy T ) = 1 − y T x.
Now let ac (s) denote the closed-loop characteristic polynomial, which can be factored as
ac (s) = det (sI − A − bf ) = det (sI − A) det I − (sI − A)−1 bf . (7.7)
Using the above determinant identity and the notation Φ(s) = (sI − A)−1 , the last factor
in (7.7) is
det (I − Φ(s)bf ) = 1 − f Φ(s)b.
Thus, equation (7.7) can be written as
and we have
ac (s)
1 − f Φ(s)b = .
a(s)
Substituting this and (7.5) in the Kalman identity
yields
ac (−s)ac (s) b(−s)b(s)
ρ =ρ+
a(−s)a(s) a(−s)a(s)
Rearrangement leads to the result (7.6).
This result provides for single-input, single-output systems a simple way of computing
the optimal state feedback gain: from the given data, form the polynomial p(s) in (7.6),
find the stable roots, and solve a pole-assignment problem.
At this point, we come back to a question that arose when the eigenvalues of the Hamil-
tonian matrix were discussed: under what conditions can we be sure that the polynomial
p(s) has no roots on the imaginary axis?
Assume p(s) has a purely imaginary eigenvalue, i.e. p(jωo ) = 0 for some ωo . Then (7.6)
implies
1
p(jωo ) = |a(jωo )|2 + |b(jωo )|2 = 0,
ρ
38
Thus
a(s) ã(s)(s − jωo )
= ,
b(s) b̃(s)(s − jωo )
the transfer function (7.5) must have a pole-zero cancellation. A sufficient condition to
exclude this is that the state space representation (A, b, c) is stabilizable and detectable.
Thus, stabilizability and detectability guarantee that p(s) has no roots on the imaginary
axis (similarly that the Hamiltonian matrix has no eigenvalues on the imaginary axis).
The spectral factorisation result (7.6) provides a characterisation of the optimal closed-
loop poles in terms of the open-loop poles and zeros. We use this result now to investigate
two limiting cases: the case when the cost of control is very high and the case when it is
very low.
First we study the optimal solution when the cost of control is infinite, i.e. ρ → ∞. From
1
p(s) = ac (−s)ac (s) = a(−s)a(s) + b(s)b(−s).
ρ
it is clear that in this case we have
Because all roots of ac (s) must be in the left half plane, this means that
The first point makes intuitively sense: when control is expensive, one should not spend
control effort to move stable poles around. For the second point, it is clear that unstable
roots must be moved into the left half plane, but it is not immediately clear how far. The
spectral factorisation result gives the answer: the optimal strategy is to move an unstable
pole to its mirror image in the left half plane. A simple example serves to illustrate this
result.
7. Properties of the Optimal Regulator 39
Example 7.1
Consider the scalar system
ẋ = ax + u, x(0) = x0
y=x
The objective is to find the state feedback gain f such that u = f x minimizes V . The
closed-loop system is ẋ = (a + f )x, and the closed-loop state trajectory is therefore
x(t) = x0 e(a+f )t .
Substituting this and the control law into the cost function gives
∞
2
Z ∞ 1 + ρf 2 2 2(a+f )t
V = (1 + ρf )x20 e 2(a+f )t
dt = x e .
0 2(a + f ) 0
0
Obviously, if a+f is nonnegative (if the closed-loop system is unstable), the cost is infinite.
So we have
− 1+ρf 2 x2 , a + f < 0
V = 2(a+f ) 0
∞ else
Taking the limit as ρ → ∞, this shows that if the open-loop system is stable (a < 0), the
choice f = 0 leads to a finite cost V = −1/(2a); this is in fact the optimal solution for a
stable plant. If the plant is unstable (a > 0), we need f < a to stabilize the closed-loop
system; this excludes the choice f = 0. To find out how far the closed-loop pole must be
shifted into the left half plane in order to minimize V , we take the derivative
!
dV d 1 + ρf 2
= = 0.
df df 2(a + f )
This leads to
1
f 2 + 2af − =0
ρ
or s
1
f1,2 = −a ± a2 + .
ρ
From the two solutions, f1 = 0 leaves the closed-loop system unstable. When ρ → ∞,
the stabilizing and thus optimal solution is f2 = −2a. The optimal closed-loop system is
therefore
ẋ = (a − 2a)x = −ax,
and the optimal pole location is the mirror image of the unstable pole.
40
Now we consider the optimal solution in the limiting case ρ → 0. When control is very
cheap, it is intuitively clear that the closed-loop poles should be moved far into the left
half plane in order to bring the states quickly to zero. In this case we have
1
ac (−s)ac (s) → b(−s)b(s).
ρ
Let n = deg a(s) and m = deg b(s), then a condition for a system to be physically
realizable is n > m. Among the 2n roots of ac (−s)ac (s) there must be the 2m roots
of b(−s)b(s). These are the finite roots, i.e. roots at finite values of s. The remaining
2(n−m) roots are roots at infinity. To investigate the behaviour of these infinite roots, we
consider equation (7.6) at large values of s. In this case, the polynomials are dominated
by the highest power of s and we can ignore the lower order terms. With a(s) = sn +
an−1 sn−1 + . . . a0 and b(s) = bm sm + bm−1 sm−1 + . . . b0 , we can thus use the approximation
which was claimed to hold for all ω if F = −R−1 B T P and P is the positive (semi-) definite
solution of the algebraic Riccati equation
−P A − AT P + P BR−1 B T P = Q.
associated with this problem. Using F T R = −P B and adding and subtracting P jω, we
have
−P A − AT P + F T RF + P jω − P jω = Q
7. Properties of the Optimal Regulator 41
or
P (jωI − A) + (−jωI − A)T P + F T RF = Q.
Substituting Φ = (jωI − A)−1 , and multiplying B T ΦH from left and ΦB from right yields
B T ΦH P B + B T P ΦB + B T ΦH F T RF ΦB = B T ΦH QΦB.
R + B T ΦH QΦB = R − ΨH R − RΨ + ΨH RΨ
= (I − ΨH )R(I − Ψ),
Exercises
Problem 7.1
Consider the spring-mass system shown in Figure 7.4.
a) Derive a state space model for the above system (Hint: Use Newton’s laws) with
h iT
x = q q̇ .
q(t)
u(t)
c) Discuss the effect of ρ on the feedback gains and the closed-loop eigenvalues?
Hint: Check for ρ → 0 and ρ → ∞.
d) Simulate this system using MATLAB/SIMULINK and plot the locus of the closed
loop pole locations as ρ varies over 0 < ρ < ∞.
Problem 7.2
Consider the system
ẋ = Ax + bu
y = cx
Compute the transfer function from u to y and use spectral factorisation to find the
optimal closed-loop eigenvalues and the optimal state feedback gain.
Problem 7.3
Consider a single input-system ẋ = Ax + bu, where
" # " #
0 1 0
A= ; b=
0 0 1
h i
For what values of q is the state feedback gain vector f = −1 −q optimal in the sense
that there exist Q ≥ 0, ρ > 0 such that f minimizes
Z ∞
V = (xT Qx + ρu2 )dt
0
Problem 7.4
Consider a nearly vertical rod with an attached pendulum, as shown in Figure 7.5. The
input u to the system is a torque. The equations of motion are
θ
Ψ
u
3
ψ̈ − ψ − (ψ + θ) = u
2
θ̈ + θ + ψ̈ = 0
x1 = ψ, x2 = ψ̇, x3 = θ, x4 = θ̇
b) Use the spectral factorization theorem and the root locus technique to plot the
optimal root loci for regulation of the quantity y = ψ + θ, and select an optimal
44
The solution to the linear optimal regulator problem was derived in chapter 1 using the
principle of optimality and the Hamilton-Jacobi equation. This approach appears to be
the simplest self-contained way to derive the optimal control law, i.e. without having to
quote results from elsewhere. An alternative approach to the derivation of the optimal con-
trol law is to use the Minimum Principle of Pontryagin together with the Euler-Lagrange
equations. In this chapter, a brief outline of this approach is presented.
As in the derivation of the Hamilton-Jacobi equation, we consider a more general class
of problems with a nonlinear, time-varying plant and cost function. For simplicity we
restrict the discussion to single-input, single-output systems; the model is
ẋ = f (x, u, t), x(0) = x0
and the cost function Z T
V = l(x, u, t) dt + m(x(T )).
0
The objective is to find the control input u∗ (t), 0 ≤ t ≤ T that minimizes V , subject to
the constraint ẋ = f (x, u, t).
The first step is to adjoin the constraint ẋ = f to the cost by rewriting the cost function
as Z T
V = (l + ψ T (f − ẋ)) dt + m.
0
Since f − ẋ = 0, this does not change the cost function. Because f and ẋ are column
vectors, they need to be multiplied by a row vector ψ T . This vector is called a Lagrange
multiplier, it can be freely chosen, for example as a time-varying vector ψ = ψ(t). Next
we introduce the Hamilton function
H = l + ψ T f.
With this definition, the cost function becomes
Z T
V = (H − ψ T ẋ) dt + m.
0
46
To find the control input that minimizes (8.1), we use the following result from calculus
of variations. If u∗ is the optimal control input, and x∗ the optimal state trajectory, then
an infinitely small but arbitrary variation δu will lead to a small variation δx in the state
trajectory. The optimal solution has the property that the variation of the optimal cost
is zero for any δu. Therefore, we apply the condition
δV = 0 ∀δu
Because the initial state is given, the second term on the right hand side is zero. Collecting
terms with common factors yields
!T !T
∂m T ∂H ∂H
Z
T
+ ψ̇ T δx +
δV = − ψ δx + δu dt (8.2)
∂x 0 ∂x ∂u
T
This equation offers a convenient choice for the Lagrange multiplier ψ(t): if we choose
∂m ∂H
ψ(T ) = , ψ̇ = − , (8.3)
∂x T ∂x
For the third equation, we need the derivative of the Hamilton function H
∂H
= ρu + bT ψ = 0.
∂u
Solving for u yields the optimal control input as a linear function of ψ
1
u∗ (t) = − bT ψ(t).
ρ
Substituting this in the plant equation gives
1 T
ẋ = Ax − b b ψ,
ρ
which can be combined with (8.5) into the Hamiltonian system
A −b ρ1 bT
" # " #" #
ẋ x
=
ψ̇ −Q −AT ψ
The optimal control law can be obtained from the solution to the Hamiltonian system
with boundary conditions x(0) = x0 , ψ(T ) = 0, but unlike the Hamilton-Jacobi equation,
the Euler-Lagrange approach does not show directly that the optimal control law has the
form of linear state feedback. This must be shown separately, in fact it can be shown
that as T → ∞, and under the usual controllability and observability assumptions there
exists a constant (but so far unknown) matrix P that satisfies
ψ(t) = P x(t).
We now remove the assumption on which the optimal control law discussed in the pre-
vious chapters is based, namely that the full state is available for feedback. In practical
problems, this is rarely the case; instead of the state variables, only estimates can be used
for feedback. In this chapter, we will study the estimation problem and the solution to
the optimal regulator problem when state feedback is replaced by state estimate feedback.
In the next chapter we will investigate some properties of the closed-loop system when
optimal state feedback is replaced by state estimate feedback.
We assume that the estimator has the structure of an identity observer as shown in Fig.
9.1.
u 1 x y
B C
s
- r=0
A
F Fe
u 1 x̂ ŷ
B C
s
We now extend the plant model to include the effect of stochastic disturbances. Consider
the system
where w(t) is process noise and v(t) is measurement noise. Both noise processes are
assumed to be white, zero mean, Gaussian and uncorrelated, and satisfy
A block diagram of the closed-loop with the stochastic plant model is shown in Fig. 9.2.
Let ε(t) = x(t) − x̂(t) denote the estimation error, and let q be a weighting vector such
that q T ε is a linear combination of the errors where the elements of q reflect the relative
weight placed on the estimation of individual state variables. With the above definitions,
we pose the estimation problem as follows. Given the estimator structure in Fig. 9.1, find
the estimator gain Fe that minimizes the stochastic cost function
w
v
u y
Plant
- r=0
x̂
F Observer
Here the limit is taken as t → ∞ because we are interested in the steady state.
Subtracting the estimator equation
ε̇ = (A + Fe C)ε + ξ,
Stochastic-Deterministic Dualism
Deterministic Problem
ẋ = Ax, x(0) = x0 ,
52
V = xT0 P x0 (9.3)
P A + AT P + Q = 0. (9.4)
This can be shown in the same way as the following result, see Exercise 9.1.
Stochastic Problem
Vs = q T Ps q, (9.6)
Ps AT + APs + Qs = 0. (9.7)
Notice that this problem and its solution have the same structure as the deterministic
problem; A is replaced by AT , x0 by q, Q by Qs and P by Ps .
To prove that (9.6) is indeed the value of the cost, we start with the solution to the state
equation (9.5) Z t
x(t) = eAt x0 + eA(t−τ ) ξ(τ ) dτ.
0
Using the properties of ξ, we have
Tt
Z t Z t T (t−τ
E[xxT ] = E eAt x0 xT0 eA + eA(t−τ1 ) ξ(τ1 )ξ T (τ2 )eA 2)
dτ1 dτ2
0 0
Z t Z t
AT t T (t−τ
= eAt x0 xT0 e + eA(t−τ1 ) Qs δ(τ1 − τ2 )eA 2)
dτ1 dτ2
0 0
Tt
Z t T (t−τ )
= eAt x0 xT0 eA + eA(t−τ ) Qs eA dτ
0
T
Z t T
At
=e x0 xT0 eA t + eAτ Qs eA τ dτ.
0
9. State Estimate Feedback 53
Z ∞ T
T
lim E[xx ] = 0 + eAτ Qs eA τ dτ
t→∞ 0
where in the last term the variable of integration has been changed. Multiplying the
above equation from left and right by q T and q respectively yields
Z ∞ T
T T T T T
lim E[q xx q] = lim E[x qq x] = q eAτ Qs eA τ dτ q,
t→∞ t→∞ 0
because q T xxT q is scalar. The left hand side is the stochastic cost function Vs , and the
above equation can be written as
V s = q T Ps q
when the positive definite matrix Ps is defined as
Z ∞ T
Ps = eAτ Qs eA τ dτ.
0
Thus we have shown that the value of the stochastic cost is given by (9.6). It remains to
prove that Ps is the solution to (9.7). Substituting the above expression for Ps in (9.7)
yields Z ∞
T T
(eAτ Qs eA τ AT + AeAτ Qs eA τ ) dτ + Qs = 0.
0
But this is the same as Z ∞ d Aτ T
e Qs eA τ dτ + Qs = 0
0 dτ
or
T ∞
eAτ Qs eA τ + Qs = 0 − Qs + Qs = 0,
0
which proves that Ps satisfies (9.7). (That Ps is the unique solution follows from the fact
that a matrix equation M P + P N + Q = 0 has a unique solution P if and only if M and
−N have no common eigenvalues.)
A → A + Fe C, Qs → Qe + Fe Re FeT ,
54
Ve = q T Pe q,
We will find the optimal estimator gain Fe by comparing the above with the solution to
the linear regulator problem.
Because we know that the optimal solution to the linear regulator problem has the form
of linear state feedback u = F x, we can pose the linear regulator problem in the following
form: given the closed-loop system
ẋ = (A + BF )x, x(0) = x0 ,
F = −R−1 B T P,
P A + AT P − P BR−1 B T P + Q = 0,
V = xT0 P x0 .
P (A + BF ) + (A + BF )T P + Q + F T RF = 0.
Comparing this with the optimal estimation problem, we find that both problems are
equivalent with the replacements
Q → Qe , R → Re , A → AT , B → CT ,
x0 → q, F → FeT , P → Pe .
9. State Estimate Feedback 55
Thus, we can establish the following result by duality, i.e. by making the above replace-
ments in the solution to the regulator problem: the optimal estimator gain is
Example 9.1
Consider the first order system
ẋ = ax + w
y = x + v,
where w and v are white, zero mean, Gaussian noise processes that satisfy
Note that the solution depends only on the ratio qe /re of the intensities of process and
measurement noise. It is instructive to consider the two limiting cases qe /re → 0 and
qe /re → ∞.
56
The case qe /re → 0 corresponds to a situation with very large measurement noise. In this
case, the estimator equation becomes
x̂˙ = −|a|x̂ − fe y,
because the square root is positive no matter whether a is positive or negative. For the
estimator gain, we have to distinguish between these cases, thus
(
0, a < 0
fe =
−2a, a ≥ 0
If measurement noise is very large and the plant is stable, the optimal solution is to use
no measurements at all. If the plant is unstable, this is not possible because it would
result in an unstable estimator. In this case the optimal solution is to place the estimator
pole at the stable mirror image of the unstable plant pole; this is the dual to the result
on high cost on control for the regulator problem.
The assumption qe /re → ∞ corresponds to a situation with no measurement noise. In
this case, we have fe → −∞, i.e. the optimal solution is to make the estimator dynamics
infinitely fast.
A final comment on the noise matrices Qe and Re is in order. These parameters play the
same role as the weight matrices Q and R in the dual regulator problem. Just as in real
life problems these weight matrices are not uniquely defined by the problem description,
but are rather used as convenient tuning parameters, the noise intensities are in many
cases not precisely known, and the matrices Qe and Re are used as tuning parameters in
the same way. In the above example it is easy to see that the parameter qe /re can be
used to tune the bandwidth of the estimator; if the bandwidth is too low, then qe /re can
be increased and vice versa.
LQG Control
Now that we have established the solution to the optimal estimation problem, we turn to
the problem of finding an optimal controller for the plant (9.1) when the full state is not
available for feedback and state estimate feedback must be used. First we must clarify
what we mean by optimal in this case. The closed-loop system in Fig. 9.2 is redrawn
in Fig. 9.3 in a form that clearly shows which parts of the loop form the controller. We
let K(s) denote the transfer function from the state error r − y to u, and define the
optimal control problem as the problem of finding the controller K(s) that minimizes the
stochastic cost function
VLQG = lim E[xT Qx + uT Ru]. (9.10)
t→∞
This problem is known as the LQG (Linear Quadratic Gaussian) control problem. The
LQG problem represents all aspects of the optimal control problem we have discussed
9. State Estimate Feedback 57
so far: the cost function has the structure of the cost for the linear regulator problem
with two terms penalizing state error and control energy respectively; it reflects the fact
that the state is not available and state estimate feedback must be used instead, and the
presence of process and measurement noise is taken into account by the stochastic plant
model (9.1).
w
K(s) v
r=0
x̂ u y
- Observer F Plant
The solution to the LQG problem is based on the separation principle: the controller
K(s) that minimizes (9.10) is obtained by combining the optimal state feedback gain F
and the optimal estimator gain Fe . Even though it may seem natural that the optimal
controller should be the combination of optimal state feedback with optimal estimation,
it is non-trivial to prove this fact. Here, we give only a brief outline of the proof.
Proof of Separation Principle
The proof is based on the following two properties of the optimal estimator:
1) State estimate and estimation error are uncorrelated, i.e. E[x̂εT ] = 0, and
Because x = x̂ + ε, we can use the first property above and rewrite the LQG cost as
Thus, the LQG cost can be split into two terms that can be minimized independently: a
term that represents the cost of estimation
The cost Ve is independent of the state feedback gain F , it depends only on the estimator
gain Fe . The estimator gain that minimizes Ve is clearly the solution to the optimal
estimation problem Fe = −Pe C T Re−1 , where Pe is the solution to the FARE. The cost
Vc is independent of the estimator gain and depends only on the state feedback gain
F ; from property (2) of the optimal estimator we know that the state estimate x̂ is
the state x perturbed by an additive white, zero mean noise process. It can be shown
that under this condition, the solution to the problem of minimizing Vc is the same as
that to minimizing the deterministic cost function for the linear regulator problem: it is
F = −R−1 B T P , where P is the solution to the ARE. When a stochastic problem can
be solved by replacing the stochastic variables with deterministic ones, we say that the
certainty equivalence principle holds.
In summary, the controller that minimizes the LQG cost (the LQG controller) is obtained
by solving two Riccati equations: the ARE to find the optimal state feedback gain, and
the FARE to find the optimal estimator gain.
Exercises
Problem 9.1
Given the autonomous plant model
V = xT0 P x0 , (9.11)
P A + AT P + Q = 0. (9.12)
(That is, show that (9.3) and (9.4) are indeed the solution to the deterministic problem.)
where the process noise w(t) and the measurement noise v(t) are white, zero mean, Gaus-
sian and uncorrelated, and satisfy
can be constructed from an optimal state feedback gain f and an optimal estimator gain
fe .
a) Draw the block diagram of the controller K(s) and give its transfer function.
c) The optimal state feedback gain was found to be f = −3. Find the corresponding
value of ρ.
d) When re = 0.125, compare the error dynamics with the plant dynamics. Replace
re by a value r̃e such that the error dynamics is at least five times faster than the
plant.
where ε̇(t) = αe ε(t) + ξ(t). With your result from (d), what is αe ? Express the
process ξ(t) in terms of w(t) and v(t) and compute E[ξ(t)ξ(t + τ )].
Problem 9.3
Consider again the LQG loop of Problem 9.2. What is the transfer function from d to y
with the designed controller (see Figure 9.4)? How does that transfer function change if
the disturbance d enters directly at plant input without being feedback to the estimator
(see Figure 9.5)?
60
w
d v
x̂ u y
- Estimator F Plant
w
d v
x̂ u y
- Estimator F Plant
In chapter 7, we studied the robustness properties of the closed-loop system with optimal
state feedback. It turned out that the optimal closed-loop system has attractive robustness
margins. In this chapter we will review these results for the state estimate feedback case.
We first present an example which shows that the robustness margins for optimal state
feedback control can completely disappear when state estimate feedback is used; and
we will introduce a design technique that allows to partially recover these properties by
manipulating the optimal estimator.
The following well known example was published in 1978 in the IEEE Transactions on
Automatic Control by John Doyle.
Example 10.1
Consider an LQG design problem with the following data. The system matrices are
" # " #
1 1 0 h i
A= , b= , c= 1 0 ,
0 1 1
the cost weights are " #
1 1
Q=γ , ρ = 1,
1 1
and the noise intensities " #
1 1
Qe = σ , re = 1.
1 1
The optimal state feedback and estimator gains can be computed as
h i √
f =α 1 1 , α = −2 − 4 + γ
√
" #
1
fe = β , β = −2 − 4+σ
1
62
ẋ = Ax + kbu + w,
where k = 1 represents the nominal model for which the controller has been designed,
and values k 6= 1 represent perturbations. With the closed-loop plant equation
ẋ = Ax + kbf x̂ + w,
A necessary condition for closed-loop stability is that all coefficients of the closed-loop
characteristic polynomial
The last inequality shows that there is no infinite gain margin in this case, in fact for
large values of α or β the gain margin can become arbitrarily small.
The fact - illustrated by the above example (10.1) - that under state estimate feedback
the robustness margins can become arbitrarily small, gave rise to research into methods
to improve the robustness of LQG controllers. Here we present a method known as LQG
Loop Transfer Recovery, which consists in manipulating the optimal estimator in order to
recover the loop transfer function of state feedback.
10. Loss of Robustness and Loop Transfer Recovery 63
1 2 u y
F Plant
x̂ - r=0
Observer
It was shown in chapter 7 that optimal state feedback has attractive robustness properties
because the loop gain, or loop transfer function, satisfies Kalman’s identity. To study the
closed-loop properties of LQG control, we first need to find the loop transfer function for
the state estimate feedback case. The closed-loop system is shown in Fig. 10.1. In the
state feedback case, the loop gain was obtained by cutting the loop at plant input. In
Fig. 10.1, two possible loop break points are marked by 1 and 2, and it makes a crucial
difference at which of these points the loop is cut. When cut at point 1, the inputs to
plant and observer are identical. A transfer function describes a system in steady state
and initial states are ignored, therefore in this case we have x̂ ≡ x, and the loop gain is
However, it is not the loop gain seen from point 1 that determines the robustness properties
of the control system, because the loop break point is inside the controller. The loop break
point is the point where a disturbance or perturbation is expected to enter the loop, and it
is unlikely that a perturbation is injected inside the controller. For a realistic assessment of
the closed-loop robustness properties, it is necessary to cut the loop outside the controller,
at point 2 just before the plant input.
r=0 K(s)
u y
Plant - x̂ u
Observer F
Fig. 10.2 shows the loop cut open at point 2; the loop transfer function L2 (s) is the
64
A block diagram of the controller is shown in Fig. 10.3. The state space representation of
the controller is
−y 1 x̂ u
Fe F
s
We present now a technique to recover the optimal state feedback loop gain L1 (s) with
an LQG controller. For simplicity, we consider the single-input, single-output case. If an
LQG design turns out to show poor robustness margins, then the idea is to pretend that
there is white noise entering the loop at point 2, and to redesign the optimal estimator
such as to cope with this fictitious noise. (Loosely speaking, the fictitious white noise
at plant input can be viewed as representing plant uncertainty.) Therefore, we make the
replacement
Qe → Qe + σbbT
for the true process noise covariance, where σ is a tuning parameter that determines the
intensity of the fictitious white noise process.
10. Loss of Robustness and Loop Transfer Recovery 65
For the case when the estimator is designed for the fictitious noise intensity, we will prove
the following: provided the plant is minimum phase, we have
which means the optimal state feedback loop gain can be asymptotically recovered by
letting the fictitious noise intensity approach infinity.
Proof The proof is based on the following asymptotic result for the optimal estimator
gain: as σ → ∞, we have s
σ
fe = ± b, (10.2)
re
where the sign is determined by the requirement that the estimator is stable. We will
prove this fact later and first use it to show the main result (10.1). At this point we make
the observation that as σ becomes large, the estimator gain will become large and thus
the closed-loop system becomes sensitive against measurement noise. This indicates that
LTR design involves a trade-off between closed-loop robustness and noise sensitivity.
We now prove (10.1). We will make repeated use of the matrix identity
which is particularly useful when X and Y are vectors x and y T . Using the notation
K(s) = f (Φ−1 −1
cl − fe c) fe
= f [Φ−1 −1
cl (I − Φcl fe c)] fe
= f (I − Φcl fe c)−1 Φcl fe
= f Φcl fe (1 − cΦcl fe )−1 .
Note that the denominator in the last expression is a scalar. Taking the limit as σ → ∞
and using (10.2), the controller transfer function becomes
The common factor Φcl (s)b of numerator and denominator can be written as
Thus we have
f Φ(s)b
K(s) = − .
cΦ(s)b
66
Substituting the last expression for K(s) in the loop gain leads to
f Φ(s)b
L2 (s) = −K(s)cΦ(s)b = cΦ(s)b = f Φ(s)b
cΦ(s)b
or
L2 (s) = L1 (s) = f Φ(s)b.
This shows that as σ → ∞, the controller cancels the plant zeros and replaces them with
the zeros of f Φ(s)b; this explains why the plant must have no unstable zeros.
To complete the proof, we have to show that (10.2) holds. We will show this by duality.
Setting Q = γcT c in Kalman’s identity and considering the regulator problem, we first
prove that s
γ
γ→∞ ⇒ f =± c. (10.3)
ρ
We have
ρ|1 − f Φb|2 = ρ + γ|cΦb|2 .
Dividing by ρ and taking the limit as γ → ∞, we obtain
s
γ
|1 − f Φb| = |cΦb|.
ρ
From this equation, we can draw two conclusions. The first one is that as γ → ∞, the
state feedback gain f must also become infinitely large, in fact it can be expressed as
√
f = γ f˜, where f˜ is some vector that does not depend on γ. The second observation
here is that because the zeros of 1−f Φ(s)b are the closed-loop poles under state feedback,
by root locus arguments they approach the zeros of f Φ(s)b as γ → ∞. The fact that the
closed-loop poles are stable then implies that the zeros of f Φ(s)b are also stable.
If f is infinitely large, we can make a further simplification to get
s
γ
|f Φ(s)b| = |cΦ(s)b|.
ρ
This equality forces the zeros of f Φ(s)b and cΦ(s)b to be either equal or reflections across
the imaginary axis. The claim (10.3) holds if all zeros are equal. We know that the zeros
of f Φ(s)b are stable; and because we assumed that the same is true for the plant transfer
function cΦ(s)b we conclude that (10.3) holds. Now making the replacements
γ → σ, ρ → re , f → f eT , c → bT
shows that (10.2) holds by duality. This completes the proof of (10.1).
Bibliography - Linear Quadratic
Optimal Control
This course introduces modern design techniques for optimal and robust multivariable
control systems. The state space methods for optimal controller design developed in the
1960s and 1970s (LQR/LQG) were found to suffer from being sensitive to modelling errors
and parameter uncertainty. In the 1980s research activities turned to a new approach,
where design objectives are achieved by minimizing the H2 norm or H∞ norm of suitable
closed-loop transfer functions. LQG control can be interpreted as a special case of H2
optimal control, while constraints on the H∞ norm can be used to include robustness
against modelling uncertainty into the controller design.
The new approach turned out to be closely related to the familiar LQG methods - the
computation of both H2 and H∞ optimal controllers involves the solution of two algebraic
Riccati equations. Moreover, H2 optimal control can be shown to be a special case of H∞
optimal control.
Conditions on the H2 norm and the H∞ norm represent different aspects of the design. The
H2 norm can be used to achieve an optimal trade-off between regulation and control effort,
and to deal with noisy measurements. Constraints on the H∞ norm on the other hand
can guarantee closed-loop stability for a given range of uncertain parameters. However,
neither H2 nor H∞ norm constraints give direct control of the closed-loop pole locations
and thus of dynamic properties like the damping ratio.
In many practical applications it would be desirable to combine the three design aspects
mentioned above: for example, one might want to design a controller that achieves a
given damping ratio and speed of response (a condition on the pole locations), while
at the same time guaranteeing robust stability in the face of model uncertainty (a H∞
constraint). And of all controllers that satisfy these conditions one would like to pick the
best one in the sense of a quadratic performance index (H2 norm). Efficient methods for
such a design have been developed in the 1990s. Instead of solving Riccati equations, one
can express H2 and H∞ constraints as linear matrix inequalities (LMI). The advantage
over the Riccati approach is that one can combine different constraints into a single convex
optimization problem, including constraints on admissible pole regions which can also be
expressed as LMI constraints.
A major problem with modern H2 and H∞ optimal control is the fact that the controllers
72
have the same dynamic order as the plant. If the plant to be controlled is of high dynamic
order, the optimal design results in controllers that are difficult to implement. Moreover,
the high order may cause numerical problems. For practical applications, it is therefore
necessary to approximate the plant by a simplified, reduced order model. This can be
done for example by using the method of balanced truncation or balanced residualization.
This course provides an introduction to the topics outlined above. First, the notion of a
generalized plant as a way of expressing design specifications is introduced and a review
of signal and system norms and of the singular value decomposition is given. Next, the
role of the sensitivity and complementary sensitivity function in H∞ optimal design is
discussed and illustrated in a case study. It is shown how one can express constraints on
the H2 and H∞ norm and pole region constraints as LMI constraints, and how one can
compute controllers that satisfy such constraints on the closed-loop system. Finally the
design of robust controllers is discussed. It is shown how parameter uncertainty can be
included in the plant model and taken into account when designing the controller. Again,
the approach is illustrated with a case study.
The emphasis in this course is on practical application, and theoretical aspects are dis-
cussed in so far as their understanding is important for using the design tools. On com-
pletion, students should be able to apply the relevant MATLAB and Simulink tools to
solve optimal and robust design problems. The course includes two design exercises: one
on mixed sensitivity design and one on robust controller design.
Chapter 11
In modern control, almost any design problem is represented in the form shown in Figure
11.1. Here, P is referred to as the generalized plant and K is the controller. The signal
vector w represents external inputs to the control system, such as command inputs, dis-
turbances and noise, u is the control input, v contains the measured plant signals that are
used for feedback control, and z is a fictitious output vector that is used to express design
specifications. We will model the dynamic systems P and K both as transfer function
matrices P (s) and K(s) and in the form of state space realizations.
w z
P
u v
To illustrate the concept of a generalized plant, we will express the problem of designing
an LQG controller in the form of Figure 11.1. The control system is shown in Figure
11.2. The plant with transfer function model G(s) is corrupted by process noise wx and
measurement noise wy . We consider a state space realization of G
ẋ = Ax + Bu + wx
y = Cx + wy (11.1)
74
wx wy
r K(s) G(s) y
-
Initially, we consider a regulation problem with zero reference input r = 0. The objective
is to find a controller K(s) that minimizes the LQG performance index
" #
1ZT T T
V = lim E (x Qx + u Ru) dt (11.3)
T →∞ T 0
To express this design problem in the form of Figure 11.1, we start with a state space
realization of P . With two inputs w and u, and two outputs z and v, we have
ẋ = Ap x + Bw w + Bu u
z = Cz x + Dzw w + Dzu u
v = Cv x + Dvw w + Dvu u (11.4)
The first step is to relate the inputs and outputs of the generalized plant to the LQG
problem under consideration. We take the control input u of the generalized plant to be
the control input of the LQG problem, and the measured output v of the generalized plant
to be the control error e = −y in the LQG problem. Accordingly, we relate the plant
model (A, B, C) in (11.1) to the subsystem (Ap , Bu , Cv ) of the generalized plant model
(11.4) by defining
Ap = A, Bu = B, Cv = −C, Dvu = 0
where the definition of Dvu reflects the fact that the plant in (11.1) is strictly proper.
To express the cost function (11.3) in terms of the generalized plant, choose
" # " #
Q1/2 0
Cz = , Dzu =
0 R1/2
Assume first that w = 0, then the squared integral of the fictitious output z has the same
form as the integral in the LQG cost
Z ∞ Z ∞
z T z dt = (xT Qx + uT Ru) dt
0 0
11. The Concept of a Generalized Plant - A Review of LQG Control 75
We have not yet taken the noise processes into account. The external input w in (11.4)
can be used to represent process and measurement noise as follows. Assume that w is a
white noise process satisfying
E [w(t)wT (t + τ )] = δ(τ )I
and choose h i h i
Bw = Q1/2
e 0 , Dvw = 0 Re1/2 , Dzw = 0
We then have " #
h i w1
wx = Bw w = Q1/2
e 0 = Q1/2
e w1
w2
and " #
h i w1
wy = Dvw w = 0 Re1/2 = Re1/2 w2
w2
where w is partitioned to be compatible with the dimensions of Qe and Re . It is now easy
to see that minimizing " Z #
1 T T
lim E z (t)z(t) dt
T →∞ T 0
is equivalent to minimizing the LQG performance index V in (11.3).
For the transfer function matrix G(s) of a system
ẋ = Ax + Bu
y = Cx + Du
we will use the following notation in terms of its state space realization
" #
A B
G(s) =
C D
Thus, the transfer function of a generalized plant that represents the LQG problem is
h i
A Q1/2
e 0 B
" #
Ap Bp " 1/2 #
Q
"
0
#
P (s) = = 0
Cp Dp
0 R 1/2
h i
−C 0 −Re1/2 0
where 0 stands for zero matrix blocks of appropriate dimensions.
So far, the LQG problem was considered as a regulator problem, i.e. we assumed that
r = 0 in Figure 11.2. How a reference input can be introduced into the above model to
make it equivalent to the control system shown in Figure 11.2 is indicated in Figure 11.3.
The external input w and the fictitious output z of the generalized plant are
r " #
z
z= 1
w = w1
and
z2
w2
76
w1 Q1/2
e
wy
w2 Re1/2
wx Q1/2 z1
R1/2 z2
u B 1 x C e
s -
A
P (s)
K(s)
The input vector u of P is the same as that in Figure 11.2, and the measured output v is
equal to the control error e.
Example 11.1
The following state space model represents a linearized model of the vertical-plane dy-
namics of an aircraft. It has three inputs, three outputs and five states. The inputs
are
u1 spoiler angle (in 0.1 deg)
u2 forward acceleration (in m s−2 )
u3 elevator angle (in deg)
x1 relative altitude (in m)
x2 forward speed (in m s−1 )
The states are x3 pitch angle (in deg)
x4 pitch rate (in deg s−1 )
x5 vertical speed (in m s−1 )
11. The Concept of a Generalized Plant - A Review of LQG Control 77
Exercises
Problem 11.1
The function aircraft_model() generates the aircraft model from Example 11.1 and the
Simulink model aircraft_sim.mdl provides a closed-loop for simulations.
a) Design an LQG controller for the aircraft. For this purpose, construct a state space
representation of the generalised plant in Figure 11.3 and use the MATLAB function
h2syn to design the LQG controller. The usage is
where the input argument Gplant is the generalized plant, nmeas is the number
of measured outputs and ncont is the number of controller inputs. The returned
output K is the LQG controller.
h iT
b) Design a controller for tracking a reference step input r(t) = σ(t) 0 0 ("altitude
acquire") subject to the constraint |u3 | ≤ 20 on the elevator angle.
Chapter 12
In the previous chapter it was shown how the LQG problem can be transformed into
an equivalent problem in terms of the generalised plant in Figure 11.3. The objective
of finding the controller K(s) in Figure 11.2 that minimises the performance index V in
(11.3), is then equivalent to finding the controller K(s) in Figure 11.3 that minimises
" #
1ZT T
lim E z (t)z(t) dt
T →∞ T 0
where the input w is a white noise process with E [w(t)wT (t + τ )] = δ(τ )I.
When a design problem is expressed in terms of a generalised plant, the objective is
usually to minimise the "size" of the fictitious output signal z, under the condition that
a specified type of signal is applied to the external input w. This leads to the concept of
the signal norm as a measure of the "size" of a signal, and the system norm as a measure
of the system "gain" (in terms of a given signal norm).
Vector Norms
To introduce signal and system norms, we start with a review of vector norms and induced
norms. Consider a vector space X . A norm kxk is function mapping a vector x into a
real number, that satisfies the following four properties for any x, y ∈ X
1) kxk ≥ 0
2) kxk = 0 ⇔ x=0
4) kx + yk ≤ kxk + kyk
80
Signal Norms
Now consider the space of scalar, real or complex valued signals x(t). The p-norm of a
signal is defined in a way similar to the vector p-norm as
Z ∞ 1
p
p
kx(t)kp = |x(τ )| dτ
−∞
We will usually drop the subscript on the signal-2-norm. Note that taking the magnitude
in the vector-2 and signal-2-norm is only required for complex vectors.
There are signals for which the signal-2-norm as defined above does not exist. As an
example, consider the signals shown in Figure 12.1: the signal x1 (t) has a finite 2-norm,
whereas the 2-norm of the sinusoidal signal x2 (t) is infinite. These two types of signals
are referred to as energy signals and power signals, respectively. Energy signals have a
finite 2-norm. For power signals, the 2-norm does not exist, but we can define the root
mean square (rms) value as
s
1 ZT
kx(t)krms = lim |x(τ )|2 dτ
T →∞ 2T −T
12. Vector Norms and Induced Norms 81
0.6
0.4
x1 (t)
0.2
−0.2
0 1 2 3 4 5 6 7 8 9 10 11 12
Time [sec]
0.4
0.2
x2 (t)
−0.2
−0.4
0 1 2 3 4 5 6 7 8 9 10 11 12
Time [sec]
Note that this is strictly speaking not a norm, because it does not satisfy property (2) of
a norm.
Now consider a real or complex valued signal vector x(t) = [x1 (t) x2 (t) . . . xn (t)]T . Its
signal-2-norm is defined as
sZ
∞
kx(t)k2 = kx(τ )k2 dτ
−∞
The integral is now taken over the square of the vector-2-norm of x(t). Note that at a
| n , and
given time τ , x(τ ) is simply a real or complex vector, i.e. x(τ ) ∈ IRn or x(τ ) ∈ C
that the same norm symbol denotes on the left hand side in the above equation a signal
norm and on the right hand side a finite dimensional vector norm.
The Matrix-2-Norm
complex matrix A ∈ C | m×n can be interpreted as an operator that maps x into y, or more
| n into C
generally C | m . One can compare the vector norms of x and y, and associate a "gain"
with A as the ratio of these vector norms. This ratio depends on x, and an important
property of the matrix A is the maximum value of kyk/kxk over all nonzero x ∈ C | n (the
"maximum gain" of A). This positive real number can be defined as a norm of the matrix
A; since it depends also on the choice of vector norm, it is called an induced norm. The
82
kAxk2
kAk2 = max (12.1)
x6=0 kxk2
Again, we will usually drop the subscript and write kAk for the matrix-2-norm. It is
straightforward to verify that the matrix-2-norm - and indeed all induced matrix-p-norms
- satisfy the four properties of a norm.
To find the value of kAk, we take squares on both sides of (12.1) to get
kAxk2 xH AH Ax xH M x
kAk2 = max = max = max
x6=0 kxk2 x6=0 xH x x6=0 xH x
1) | n)
M is positive semi-definite (xH M x ≥ 0 ∀x ∈ C
xH M x = xH AH Ax = y H y ≥ 0
Note that this implies that xH M x is real even if x is complex. That the eigenvalues of
M are real can be shown as follows. Let λ be an eigenvalue and v be an eigenvector of
M , and consider
M v = λv
Multiplying with v H from the left yields v H M v = λv H v. We established already that the
left hand side of this equation is real, and on the right hand side v H v is also real. Thus,
λ must be real.
To show that two eigenvectors of M belonging to different eigenvalues are orthogonal,
consider
M v1 = λ1 v1 , M v2 = λ2 v2 , λ1 6= λ2
We have
(λ1 v1 )H v2 = (M v1 )H v2 = v1H M v2 = v1H λ2 v2
thus λ1 v1H v2 = λ2 v1H v2 , and from the assumption λ1 6= λ2 it then follows that v1H v2 = 0.
12. Vector Norms and Induced Norms 83
A consequence of property (3) is that if all eigenvectors vi of M are normalized such that
kvi k = 1, i = 1, . . . , n, the eigenvector matrix V is unitary, i.e. V H V = I, or V −1 = V H .
(Strictly speaking, we have shown this only for matrices with distinct eigenvalues. It can
be shown however that even a matrix with repeated eigenvalues has a full set of orthogonal
eigenvectors.)
Note that properties (2) and (3) are true for any Hermitian matrix even when it is not
positive semidefinite.
We now return to finding the value of kAk by solving
xH AH Ax
max
x6=0 xH x
xH V ΛV H x
max
x6=0 xH x
where λ1 , . . . , λn are the eigenvalues of AH A. Assume that the eigenvalues are ordered
such that λ1 ≥ λ2 ≥ . . . ≥ λn . Then it is easy to see that the maximum value of the above
h iT
expression is λ1 , which is achieved if we choose y = 1 0 . . . 0 , and the minimum
h iT
value is λn , achieved by choosing y = 0 . . . 0 1 .
Because the above expression is the square of the matrix-2-norm of A, we have thus
established that
kAxk q
kAk = max = λmax (AH A)
x6=0 kxk
Exercises
In the last chapter we used the fact that any Hermitian matrix M can be factored into
M = V ΛV H
where V is the eigenvector matrix of M and unitary, and Λ is the diagonal eigenvalue
matrix of M . The same factorization is obviously not possible for non-Hermitian or even
non-square matrices. A similar factorization is however possible in these cases, if we do
not insist on the same matrix V on both sides, but allow different unitary matrices U and
V as left and right factors.
| m×n there
Theorem 13.1 (Singular Value Decomposition) For every matrix A ∈ C
| m×m and V ∈ C
exist unitary matrices U ∈ C | n×n such that
A = U ΣV H (13.1)
The matrix Σ has the same size as A. For example, if A is a 3 × 2 or 2 × 3 matrix, then
σ 0
1
" #
σ 0 0
Σ= 1
Σ = 0 σ2
or
0 σ2 0
0 0
respectively, where σ1,2 ≥ 0. The diagonal entries σi are called the singular values of A.
From (13.1) we obtain AV = U Σ and thus
Avi = σi ui , i = 1, . . . , n
where vi and ui are the columns of V and U , respectively. Compare this with M vi = λi vi -
an eigenvector vi is transformed into λi vi , whereas A transforms vi into σi ui . From (13.1)
we also have
AAH = U ΣV H V ΣT U H = U ΣΣT U H (13.2)
86
and
AH A = V ΣT U H U ΣV H = V ΣT ΣV H (13.3)
Equation (13.2) shows that U is the eigenvector matrix of AAH , and (13.3) shows that V is
the eigenvector matrix of AH A. The eigenvalue matrices are ΣΣT and ΣT Σ, respectively.
Again, if A is 3 × 2 then
σ2 0 0
1
" #
T Tσ2 0
2
Σ Σ= 1
ΣΣ =
0 σ2 0 ,
0 σ22
0 0 0
This shows that the singular values of A are the square roots of the eigenvalues of AAH
and AH A.
Proof of Theorem 13.1
To prove Theorem 13.1, we show how to construct U, V and Σ that satisfy (13.1) for a
given matrix A. We start with the diagonalization of AH A: we established already that
there exists a unitary matrix V such that
AH A = V ΛV H
kAvi k2 = λi (13.4)
This implies that λi ≥ 0. Assume that the eigenvalues λ1 , . . . , λr are positive and the
remaining n − r eigenvalues λi and vectors Avi are zero. Note that r ≤ min(n, m). Define
q 1
σi = λi , ui = Avi , i = 1, . . . , r
σi
It follows from (13.4) that kui k = 1. Moreover, we have
U H AV = Σ
13. The Singular Value Decomposition 87
Exercises
Problem 13.2 Use the singular value decomposition to calculate the rank of the ma-
trices " # " # " #
2 1 1
; ;
1 2 0 0 1+
where is very small number. Discuss the result.
Problem 13.3
Suppose a satellite takes the following picture and wants to send it to earth:
38 66 20 47 40 49 55 97 75 69
90 164 54 121 97 126 135 235 186 171
77 141 45 104 83 108 113 201 160 145
77 140 49 103 78 113 112 201 158 142
96 172 61 128 90 146 132 249 189 175
Image =
96 176 30 117 153 76 167 243 218 194
55 98 33 72 56 80 79 144 112 103
81 146 56 113 69 135 110 214 160 145
41 77 23 55 50 53 63 107 88 80
83 151 57 116 68 137 111 217 164 149
(8-Bit Image, gray-level (0-255), Resolution (10 × 10) pixels.)
The picture contains 10 · 10 · 8 = 800 bits. Try to reduce the number of transmitted Bits
such that the image can still be recovered at earth.
Note: the image matrix Image can be downloaded from the web site of this course.
Hint: Find the essential information in this image using SVD.
Chapter 14
System Norms
In this chapter, we introduce two system norms: the H∞ norm and the H2 norm. The
H∞ norm is a measure for the "gain" of a system in terms of the signal-2-norm - it is an
induced norm. The H2 norm on the other hand is not induced by a signal norm. We
will first discuss both system norms for single-input single-output systems and then for
multivariable systems.
For a stable, proper single-input single-output (SISO) system with transfer function G(s),
the H∞ norm is defined as
kG(s)k∞ = sup |G(jω)|
ω
Here "sup" stands for supremum or least upper bound, and means the same as "max", but
in addition allows for the possibility that its value is only approached asymptotically.
ky(t)k
kG(s)k∞ = max
u6=0 ku(t)k
90
|G|
kGk∞
ω0 ω
The H2 norm for a SISO system with a stable, strictly proper transfer function G(s) is
defined as s
1 Z∞
kG(s)k2 = |G(jω)|2 dω
2π −∞
The restriction to strictly proper systems is necessary because otherwise |G(jω)| > 0 as
ω → ∞ and the integral does not exist. This norm is not induced by a signal norm, but
there are two important interpretations of this norm in terms of certain input signals -
one stochastic and one deterministic.
For a stochastic interpretation of the H2 norm, assume that the input u(t) is white noise
with E[u(t)u(t + τ )] = δ(τ ). In that case, the rms value of the output signal is equal to
the H2 norm of the system
ky(t)krms = kG(s)k2
This fact makes it possible to express the LQG problem as the problem of minimizing the
H2 norm of the generalized plant introduced in chapter 11.
14. System Norms 91
ẋ = Ax + bu, y = cx
be a state space realization of G(s); note that D = 0 because G(s) is strictly proper. Let
g(t) = ceAt b
denote the impulse response of the system. By Parseval’s theorem, the above definition of
the H2 norm is then equivalent to the following definition in terms of the impulse response
sZ
∞
kG(s)k2 = |g(t)|2 dt = kg(t)k2
0
The H2 norm of the system is equal to the signal-2-norm of its impulse response. This
makes it possible to express the deterministic LQR problem as a H2 optimization problem.
Consider the system shown in Figure 14.3, where input and output are now assumed to
be vector signals. For SISO systems, the H∞ norm was defined as the maximum gain over
frequency. Now we are dealing with a transfer function matrix G(s), and the definition
of the H∞ norm should be consistent with the interpretation as a system norm induced
by the signal-2-norm or the rms value of power signals.
What is different now is the fact that it is not only the “size" of the signals that matters,
but also the “direction" of the signal vectors. To illustrate this point, consider the following
2 by 2 system consisting only of constant gains.
Example 14.1
For a system with transfer function matrix
" #
3 0
G(s) =
4 1
h iT h iT
the response to a constant input u(t) = 1 0 σ(t) is y(t) = 3 4 σ(t), and ky(t)krms =
q h iT h iT
5/ (2). The response to u(t) = 0 1 σ(t) is y(t) = 0 1 σ(t), and ky(t)krms =
92
q q
1/ (2). Since in both cases ku(t)krms = 1/ (2), the "gain" in terms of rms values is 5 for
the first input signal and 1 for the second input signal.
To introduce the definition of the H∞ norm for MIMO systems, we will again consider
sinusoidal input signals, and we will find the combination of inputs that maximizes the
output signal. The above example showed that we need to take the direction of the input
signal into account. With a vector of sinusoidal input signals, it is not only the direction
in terms of the magnitude (amplitude) of the individual signals, but also their phase that
has an effect on the output. To account for both magnitude and phase, we will introduce
complex signals and complex "directions".
A sinusoidal input with amplitude u0 and phase ϕ can be interpreted as the imaginary
part of a complex signal
h i
u(t) = u0 sin(ωt + ϕ) = Im u0 ej(ωt+ϕ)
ỹ(t) = ŷejωt
where the complex amplitude of the output signal is the amplitude of the input signal
multiplied by the transfer function evaluated at s = jω
ŷ = G(jω)û
The physical signals u(t) and y(t) can be recovered by taking the imaginary parts of the
complex signals. We now apply the above signal representation with complex amplitudes
to a multivariable system with m inputs and l outputs. At a given frequency ω, the input
and output signals are
û1 ŷ1
. jωt . jωt
ũ(t) = ..
e = ûejωt , ỹ(t) = ..
e = ŷejωt
ûm ŷl
where ũ(t) is applied to the system input and ỹ(t) is the response in steady state. To find
the induced 2-norm of the system, it is enough to consider the amplitude vectors û and ŷ
because
kỹ(t)krms kŷk
=
kũ(t)krms kûk
14. System Norms 93
The output amplitude vector at a given frequency ω is obtained by multiplying the input
amplitude vector with G(jω). For example if the system is 2 by 2, we have
" # " #" #
ŷ1 G11 (jω) G12 (jω) û1
=
ŷ2 G21 (jω) G22 (jω) û2
Note that for a given frequency, the transfer function matrix is just a complex matrix
G(jω) ∈ C| l×m . The maximum value of kŷk/kûk at that frequency is given by the maximum
kŷk
max = σ̄(G(jω))
û6=0 kûk
We will use the notation σ̄(G) and σ(G) for the maximum and minimum singular value of
G. The H∞ norm of the system is defined as the maximum value of this induced matrix
norm over all frequencies
kG(s)k∞ = sup σ̄(G(jω))
ω
kGk∞
σ̄(G)
σ(G)
ω0 ω
A graphical interpretation of the H∞ norm is shown in Figure 14.4: it is the peak value of
the maximum singular value over frequency. Singular value plots of multivariable systems
usually show the minimum and the maximum singular value - indicating the minimum
and maximum gain at a given frequency over all input directions.
To extend the definition of the H∞ norm to MIMO systems, we used the induced 2-norm
for matrices, which is equal to the maximum singular value. For the H2 norm, we need
to introduce a new matrix norm. The Frobenius norm of a matrix A is defined as
q
kAkF = trace(AH A)
94
Exercises
Problem 14.1
For the aircraft model in Exercise 11.1, plot the singular values of the closed-loop system
with an LQG controller over frequency (you can use the MATLAB command sigma).
What do the singular values at low frequencies tell you about the systems tracking ca-
pability? What does the increasing difference between minimum and maximum singular
values at high frequencies indicate about the systems sensitivity against measurement
noise?
Chapter 15
In this chapter we show how to compute the H2 norm and the H∞ norm of a given transfer
function. The H2 norm can be computed by solving a single Lyapunov equation, while
the computation of the H∞ norm is an iterative procedure. The computation of both
norms is based on a state space realization
ẋ = Ax + Bu, y = Cx + Du
The H2 norm is defined only for plants with a strictly proper transfer function, thus we
assume D = 0. From the definition we have
s Z ∞
kG(s)k2 = trace (g T (t)g(t)) dt
0
where
g(t) = CeAt B
is the impulse response matrix. Substituting this expression in the above equation and
taking squares yields
Z ∞ T
kG(s)k22 = trace B T eA t C T CeAt B dt (15.1)
0
Z ∞ T
= trace B T eA t C T CeAt dtB (15.2)
0
Defining Z ∞ T
Wo = eA t C T CeAt dt (15.3)
0
we have q
kG(s)k2 = trace B T Wo B (15.4)
96
and it is straightforward to show (compare Exercise 9.1 in Part I, page 58) that Wo is the
solution to the Lyapunov equation
AT Wo + Wo A + C T C = 0 (15.5)
Using the fact that trace M N = trace N M for two matrices M and N with compatible
dimensions, we can rewrite (15.1) as
Z ∞ T
kG(s)k22 = trace CeAt BB T eA t C T dt
0
where Z ∞ Tt
Wc = eAt BB T eA dt (15.7)
0
is the solution to
AWc + Wc AT + BB T = 0 (15.8)
Thus, the H2 norm can be computed by solving a single Lyapunov equation. Note that
equations (15.5) and (15.8) are linear in the elements of Wo and Wc , respectively.
The matrices Wc and Wo are called the Controllability Gramian and the Observability
Gramian, respectively. Their singular value decompositions reveal important information
about the properties of a system, and we will study Gramians in more detail later in the
context of model order reduction. The terms controllability Gramian and observability
Gramian are justified by the fact that
The H∞ norm is defined for systems with stable, proper transfer functions - there is no
need to assume D = 0. However, to simplify the derivation of the result given below, we
will consider strictly proper systems first.
Because the H∞ norm of G(s) is the maximum of σ̄(G(jω)) over frequency, one could
try to compute σ̄(G(jω)) for many values of ω and then search for the maximum. A
more efficient method that avoids the problem of determining the range and spacing of
frequencies to be checked, is to check the imaginary eigenvalues of a certain Hamiltonian
matrix.
The method for computing the H∞ norm described below is an iterative procedure - in
each step we can only check whether kG(s)k∞ is less than a given positive constant γ.
15. Computing System Norms 97
Consider a stable plant with transfer function G(s) = C(sI − A)−1 B. For a given γ > 0,
define the Hamiltonian matrix
1
A γ
BB T
Mγ = 1 T T
−γ C C −A
Theorem 15.1 Given a positive constant γ > 0, the following two statements are equiv-
alent
This Theorem allows the following strategy for computing kG(s)k∞ . We want to find the
largest singular value over all frequencies, and we can start with a sufficiently large value
of γ and use the above Theorem to check whether it is a singular value of G(jω) at some
frequency. Note that we do not need to know at which frequency. If Mγ has no imaginary
eigenvalue, γ was too large and we try with a smaller value of γ. If Mγ does have an
imaginary eigenvalue, γ was too small and we try with a larger value. A bisection method
can be used as an efficient way of finding a value of γ that is equal to kG(s)k∞ within a
guaranteed accuracy.
Proof of Theorem 15.1
We first show (i) ⇒ (ii). Assume that γ is a singular value of G(jω0 ); to simplify notation
we write G0 = G(jω0 ). Let G0 = U ΣV H be the singular value decomposition of G0 .
Then, from G0 V = U Σ and GH T
0 U = V Σ , there exist nonzero vectors u and v such that
G0 v = γu, GH
0 u = γv
this becomes
Cp = γu and B T q = γv
or " #" # " #" #
C 0 p 0 γI v
=
0 BT q γI 0 u
98
R = DT D − γ 2 I and S = DDT − γ 2 I
H2 and H∞ Spaces
Why are the two system norms introduced in the previous chapter called the H2 norm and
the H∞ norm? The H in these norms refers to the British mathematician G.H. Hardy,
after whom a certain type of vector spaces - the Hardy spaces - are named. The space of
strictly proper, stable transfer functions is the Hardy space H2 , and the space of proper,
stable transfer functions is the Hardy space H∞ .
15. Computing System Norms 99
Exercises
Problem 15.1
Use the MATLAB functions norm(T,2) and norm(T,inf) to compute the H2 norm and
the H∞ norm of the closed-loop system T in Exercise 11.1. Compare the MATLAB code
used in these functions with the results presented in this chapter.
Problem 15.2
For the aircraft model from Example 11.1 design an LQG controller using the following
set of weighting matrices
Design 1:
" # " #
C 0 h i h i
Cz = 2 · ; Dzu = ; Bw = 2 · B 0 ; Dvw = 0 I3
0 I3
Design 2:
" # " #
C 0 h i h i
Cz = 50 · ; Dzu = ; Bw = 50 · B 0 ; Dvw = 0 I3
0 I3
• Plot the singular values of the closed-loop system with both controllers. (Use the
MATLAB command sigma).
• What do the singular values at low frequencies tell you about the system tracking
capability?
• Give some comments on the noise rejection capabilities of these systems. (Look at
the singular values at high frequencies)
100
Problem 15.3
For the closed loop system of Problem 15.2 (design 2)
a) Calculate the H2 norm of the closed loop system, using the controllability and
observability Gramian.
Hint: Use the MATLAB function gram.
where g(t) is the impulse response matrix of the system and Tf is a sufficiently large
value.
Hint: Use the MATLAB function impulse, and use the trapezoidal approximation
to integrate.
c) Calculate the H2 norm of the closed loop system, using the MATLAB function norm.
Compare with previous results.
Problem 15.4
For the closed loop system of Problem 15.2 (design 2)
a) Calculate the H∞ norm of the closed loop system by iterating on γ, using Theorem
15.1.
b) Read the H∞ norm of the closed loop system from the singular value plots obtained
in Problem 15.2.
c) Calculate the H∞ norm of the closed loop system, using the MATLAB function
norm. Compare with previous results.
Chapter 16
In this chapter we will discuss how the H∞ norm can be used to express design specifica-
tions on control systems. For this purpose, we will first introduce the sensitivity function
and the complementary sensitivity function of a feedback system.
e u
r K(s) G(s) y
-
Consider the closed-loop system shown in Figure 16.1. External inputs are a reference
input r(t), an output disturbance d(t) and measurement noise n(t). The controlled output
is y(t), and we have
y = Gu + d
Substituting
u = K(r − y − n)
yields
y = GK(r − y − n) + d or (I + GK)y = GK(r − n) + d
so the controlled output is
y = (I + GK)−1 GK(r − n) + (I + GK)−1 d (16.1)
102
The function S(s) is called the sensitivity function of the feedback system. From (16.1),
it is the transfer function from the output disturbance d to the controlled output y. It is
easy to check that the functions S(s) and T (s) are related by
S+T =I (16.2)
For this reason, the function T (s) is called the complementary sensitivity of the system.
From (16.1), it is the closed-loop transfer function from r to y, and it is also the transfer
function from measurement noise to controlled output. In terms of S and T , we have
y = T (r − n) + Sd (16.3)
There is a further interpretation of the sensitivity function. The control error e(t) is
e = r − n − y = r − n − (GKe + d)
• tracking: the controlled output should track the reference input, ideally y(t) = r(t)
• disturbance rejection: the controller should keep the controlled output at its desired
value in the presence of a disturbance d(t) 6= 0. Ideally the transfer function from
d to y would be zero.
• noise rejection: the controller should suppress the effect of measurement noise on
the control input
• reasonable control effort: the above design objectives must be achieved within given
constraints on the actuators, which means the magnitude of the control input must
not exceed given limits.
In terms of sensitivity and complementary sensitivity, it is clear from (16.3) that perfect
tracking and disturbance rejection require T (s) = I. From (16.2), this implies S(s) = 0,
which is also consistent with (16.4) - the control error should be zero.
Turning to the third design objective, (16.3) shows that perfect noise rejection requires
T = 0 (and consequently S = I). Clearly, tracking and disturbance rejection on one
16. Design Objectives and Sensitivity Functions 103
hand and the suppression of measurement noise on the other hand are conflicting design
objectives.
The control effort is related to the sensitivity because
u = Ke = KS(r − n − d) (16.5)
To achieve the design objectives with reasonable control effort, the transfer function
K(s)S(s) should not become "too large". The function KS is called the control sen-
sitivity.
The discussion so far showed that tracking and noise rejection are conflicting design
objectives. On the other hand, it is clear that for physical reasons alone perfect tracking
is not possible for signals at arbitrary high frequencies. One important decision that has to
be made when designing a control system is to determine the closed-loop bandwidth. The
bandwidth is the frequency range in which control is effective, i.e. where the reference input
is tracked and disturbances are rejected. In practice, the design objectives are interpreted
such that good tracking and disturbance rejection properties should be achieved for signals
within the closed-loop bandwidth, and noise rejection for high frequency measurement
noise beyond the bandwidth.
In the preceding discussion and the notation used so far, we assumed that the plant is
a multi-input multi-output system. We will discuss how the design objectives can be
expressed and achieved by constraints on S, T and KS for single-input single-output
systems first. Figure 16.2 shows a typical shape of the magnitude of S(s) and T (s) for the
control system in Figure 16.1 when the plant is a SISO system. At low frequencies, the
sensitivity S is close to zero, which means good tracking and disturbance rejection. At
higher frequencies, the magnitude of S increases, and at the frequency ω = ωb , it is 0.71
(-3dB). We will consider control to be effective if |S| < 0.71, and define the closed-loop
bandwidth as this frequency.
The complementary sensitivity T at low frequencies is approximately 1, which is consistent
with |S| ≈ 0 and indicates good tracking properties, because T is the transfer function
from r to y. At high frequencies, |T | rolls off and approaches zero. This is required for
the rejection of high frequency measurement noise, and implies that |S| approaches 1. An
alternative way of defining the closed-loop bandwidth is to take it as the frequency ωbT
where |T | = 0.71. Figure 16.2 illustrates that the two frequencies ωb and ωbT are usually
not equal, but also not far from each other.
104
|T (jω)| |S(jω)|
1
0, 71
0
ωb ωbT ω
In Figure 16.2 both |S| and |T | are shown to have peak values greater than 1. This happens
often and is in many cases unavoidable. A peak of |T | greater than 1 indicates a resonant
peak with overshoot in the step response, and |S| > 1 means that disturbances in this
frequency range are not suppressed but actually amplified. These peaks are unavoidable
if
• if the plant has one or more zeros in the right half plane
If the plant is minimum-phase and if the pole excess of the plant is greater than one, one
can show that Z ∞
ln |S(jω)| dω = 0
0
A consequence of this is that the area below 1 and above |S(jω)| is equal to the area above
1 and below |S(jω)|, when |S(jω)| is plotted on a logarithmic scale. In other words, if
we push |S(jω)| down at low frequencies, it must pop up somewhere else (the "waterbed
effect") - usually at high frequencies.
We will not prove this fact here but try to make it plausible with the help of a Nyquist plot.
Consider Figure 16.3 where the Nyquist plot of the loop transfer function L(s) = G(s)K(s)
is shown for the control system in Figure 16.1 with a SISO plant. If L(s) has a pole excess
of 2, then the Nyquist plot of L will penetrate a disc of radius 1 around the critical point
-1. Since the distance between L(jω) and -1 is |1 + L(jω)|, we have inside the disc
If the plant has right half plane zeros, the resulting phase lag will lead to L(jω) penetrating
the disc even if the pole excess is only 1.
16. Design Objectives and Sensitivity Functions 105
Im
−1 Re
L(jω)
In chapter 19 we will study methods for designing a controller such that the H∞ norm
of the closed-loop transfer function is less than a specified value. Here we will show how
the H∞ norm can be used to express constraints on the sensitivity that are required to
achieve the design objectives. Properties of the closed-loop system that depend on the
shape of |S(jω)| include
• the bandwidth ωb
• peak overshoot
• the system type (capability of tracking step or ramp inputs with zero steady state
error)
To see how the sensitivity is related to the system type, consider Figure 16.4. The
magnitude response of a type 1 system - a system with integral action in the loop - has
at low frequencies a slope of -20 dB/dec. Because at low frequencies (ω ωb ) we have
|L(jω)| 1, we can approximate the sensitivity by
1 1
S(jω) = ≈
1 + L(jω) L(jω)
Thus, at low frequencies the graph of |S(jω)| in dB is approximately equal to the mirror
image of |L(jω)| about the 0 dB line. In other words, a feedback system has integral
action in the loop if the magnitude of the sensitivity has at low frequencies a positive
slope of 20 dB/dec. Similarly, for a type 2 system we need |S(jω)| to have a slope of 40
dB/dec etc.
106
−20 dB/dec
|L(jω)|
0 dB
|S(jω)|
20 dB/dec
Figure 16.4: Relation between loop gain and sensitivity at low frequencies
We have seen that we need to keep |S(jω)| small at low frequencies. One could use the H∞
norm to express constraints on the magnitude of the sensitivity, for example by imposing
kS(s)k∞ < MS
for some small constant MS > 0. Because the H∞ norm is the peak value of the magnitude
of S(s), this would enforce
|S(jω)| < MS ∀ω
Such a constraint would be unrealistic however, since we know that we cannot keep the
sensitivity small at all frequencies. To express a constraint on a selected frequency range,
one can instead introduce a weighting function WS (s) and impose
This enforces
|WS (jω)S(jω)| < 1 ∀ω
or equivalently
1
|S(jω)| < ∀ω
|WS (jω)|
This shows that one can use the weighting function WS (s) - together with a constraint
on the H∞ norm - to shape the magnitude of S(jω). If the H∞ norm is less than 1, the
inverse of the weighting function is an upper bound on the sensitivity. A typical shape of
1/|WS (jω)| is shown in Figure 16.5 - the weighting function enforces integral action and
an upper bound MS on the peak value of |S(jω|).
16. Design Objectives and Sensitivity Functions 107
MS
0 dB
1
|WS |
|S|
The function WT (s) can be used to shape |T (jω)| just as WS (s) can be used to shape
|S(jω)|.
It was mentioned earlier that in order to maintain a reasonable control effort, the control
sensitivity K(s)S(s) should not become "too large". Now we can be more specific and
impose
kWK (s)K(s)S(s)k∞ < 1
where a further weighting function WK (s) has been introduced. This function can be
chosen to impose limits on the control effort in a selected frequency range - typically at
high frequencies.
• sensitivity S: r→e
WS (s) zS
WT (s) zT
WK (s) zK
r K(s) G(s) y
- e u
The weighting functions are here used as filters to generate fictitious output signals zS ,
zT and zK . This is done in a way such that the weighted sensitivity functions - on which
a H∞ constraint is to be imposed - can now be seen as the transfer functions from r to
the fictitious signals
• weighted sensitivity WS S: r → zS
In Figure 16.7, the block diagram has been redrawn to bring it into the form of the
generalized plant shown in Figure 11.1.
Referring to this generalized plant, each of the three constraints
u y e
G(s) - WS (s) zS
WT (s) zT
WK (s) zK
K(s)
Let Tzr (s) denote the closed-loop transfer function from r to z such that z = Tzr r. From
Figure 16.7 we have
" # " # " #
zS WS S WS (s)S(s)
= r, therefore Tzr (s) =
zK WK KS WK (s)K(s)S(s)
When WS (s) and WK (s) have been chosen to express the design specifications, the task is
to find a controller K(s) such that the closed-loop transfer function satisfies kTzr (s)k∞ < 1
or
" #
W S
S
<1 (16.9)
WK KS
∞
We will discuss in chapter 19 how a controller that satisfies this condition can be computed.
Here we assume that a controller has been found that satisfies (16.9). From the definition
of the H∞ norm, (16.9) is equivalent to
" #!
WS (jω)S(jω)
sup σ̄ <1
ω WK (jω)K(jω)S(jω)
110
We are still considering SISO systems, and at a given frequency, we are now looking for
the maximum singular value of a two-dimensional complex vector. For a complex vector
x = [x1 x2 ]T we have
q √ q
σ̄(x) = λmax (xH x) H
= x x = |x1 |2 + |x2 |2 = kxk
If either of the two terms |WS S| or |WK KS| is small, (16.9) is a close approximation
of the H∞ constraint on the remaining term. The largest approximation error occurs if
|WS S| = |WK KS|, in this case the approximation of (16.6) and (16.8) by (16.9) becomes
sup |WS S| < 0.71 and sup |WK KS| < 0.71
ω ω
respectively. Thus, the largest approximation error is -3dB - which means that (16.9) is
a reasonable approximation of the constraints (16.6) and (16.8) on S and KS.
is equivalent to
1
|S(jω)| < ∀ω (16.12)
|WS (jω)|
For MIMO plants, the sensitivity S(s) is a l by l transfer function matrix (where l is the
number of plant outputs). Accordingly, we need a l by l matrix WS (s) of shaping filters.
Usually WS (s) is chosen diagonal, and we will begin with the choice
wS (s) 0
WS (s) =
...
0 wS (s)
16. Design Objectives and Sensitivity Functions 111
where the same scalar shaping filter wS (s) is used for each output of S(s). With this
choice, (16.11) can be written as
sup σ̄(WS (jω)S(jω)) = sup σ̄(wS (jω)S(jω)) = sup |wS (jω)| σ̄(S(jω)) < 1
ω ω ω
This is equivalent to
1
σ̄(S(jω)) < ∀ω
|wS (jω)|
While for a SISO plant the shaping filter acts as the upper bound in (16.12) on the
magnitude of the sensitivity, it acts as an upper bound on the maximum singular value
of the sensitivity for a MIMO plant. Figure 16.8 shows a typical pattern of the maximum
and minimum singular value plots of S(jω) and T (jω).
Similarly, the constraints kWT T k∞ < 1 and kWK KSk∞ < 1 on complementary sensitivity
and control sensitivity are equivalent to
1 1
σ̄(T (jω)) < ∀ω and σ̄(K(jω)S(jω)) < ∀ω
|wT (jω)| |wK (jω)|
σ̄(T ) σ̄(S)
1
σ(T ) σ(S)
0, 71
0
ωb ω
At a given frequency ω0 , the maximum and minimum singular values σ̄(S(jω0 )) and
σ(S(jω0 )) represent the maximum and minimum gain of the transfer function S(s) over
all input directions - which are the maximum and minimum gains from a vector d of
sinusoidal disturbances to the output vector y. The singular value decomposition of
S(jω0 ) provides not only the gains but also the input directions associated with the
largest and smallest gain. From S(jω0 ) = U ΣV H follows that SV = U Σ and
S(jω0 )v1 = σ1 u1
112
Here v1 and u1 are the first columns of V and U , respectively. Assuming that the singular
values are ordered by magnitude, we have σ̄ = σ1 . The input direction associated with
the largest gain is therefore v1 , and the corresponding output direction is u1 . Similarly,
the input direction associated with the lowest gain is the column of V corresponding to
the smallest singular value.
Exercises
Problem 16.1
What is the largest approximation error when three weighting filters are used to express
constraints on S, T and KS for a SISO system, and the controller is designed to satisfy
WS S
WT T
<1
WK KS
∞
Problem 16.2
Confirm the information about the steady state tracking capabilities of the LQG control
loop for the aircraft model obtained in Exercise 14.1: plot the singular values of the closed-
loop sensitivity over frequency. Use a singular value decomposition of the sensitivity at
low frequencies to find the "best" and the "worst" input directions.
Problem 16.3
Consider the following open loop transfer functions and the closed loop system in Figure
16.9, where G(s) is either
2 2−s
G1 (s) = or G2 (s) =
s(s + 1) s(s + 2)
e u
r K(s) G(s) y
-
a) For G1 (s) plot the sensitivity function |S| for K(s) = 0.1, K(s) = 1.0, K(s) = 10
and compare the bandwidth and the peak value of |S|.
16. Design Objectives and Sensitivity Functions 113
b) Plot the closed-loop step response of G1 (s) with K(s) = 0.1, K(s) = 1.0, K(s) = 10
and compare the maximum overshoot and the rise time.
c) For G2 (s) plot the sensitivity function |S| for K(s) = 0.1, K(s) = 0.5, K(s) = 1.5
and compare the bandwidth and the peak value of |S|.
Chapter 17
In this chapter we will design a multivariable controller for the aircraft model in example
11.1 that has been used in Exercises 11.1, 14.1, 15.1 and 16.2. We will use software
tools for designing controllers that satisfy constraints on the H∞ norm of the closed-loop
transfer function - how these software tools work will be studied in chapter 19. Here
we will discuss how the sensitivity functions can be shaped with the help of weighting
filters, and how available software tools can be used to obtain a controller that satisfies the
constraints. Examples are given to illustrate the effect of different choices for weighting
filters. The actual design is left as an exercise.
e u
r K(s) G(s) y
-
The closed-loop system is shown in Figure 17.1. Initially we consider the two design
objectives
• fast tracking of step changes for all three reference inputs, with little or no overshoot
It was shown in the previous chapter how weighting filters for loop shaping can be ex-
pressed in the form of the generalized plant in Figure 16.7. In our design we will shape the
116
sensitivity S and the control sensitivity KS, to achieve desired properties of the closed-
loop transfer function Tzw (s) from the reference input r to the fictitious output vector
z = [zST zKT T
] . The design will be carried out by choosing suitable weighting filters WS
and WK , and by imposing
" #
W S
S
kTzw k∞ = <1 (17.1)
WK KS
∞
Of course the closed-loop transfer function Tzw (s) depends on the controller K(s), and the
task is to find a controller that satisfies this constraint. If there are no other constraints on
the closed-loop system, one can in fact compute the controller that minimizes kTzw (s)k∞ .
Let
γo = min kTzw (s)k∞
K
denote the optimal value of the H∞ norm. This value may or may not be less than one. If
γo > 1, the constraints expressed by the weighting functions WS and WK are too strong
and a controller that satisfies them does not exist. In this case, the constraints must be
relaxed. On the other hand, if γo < 1, controllers that satisfy the constraints do exist and
the constraints can actually be strengthened.
A simple way of adjusting the weighting filters is scaling. Assume that the minimum
value of kTzw (s)k∞ is γo 6= 1 and that this value is achieved with the optimal controller
Ko (s). Introduce the scaled weighting functions
1 1
W̃S (s) = WS (s) and W̃K (s) = WK (s)
γo γo
Replace the weighting filters in (17.1) by W̃S and W̃K . The H∞ norm is minimized by
the same controller Ko (s) as before, and we have
" #
W̃ S
S
=1
W̃K KS
∞
We begin the design with scalar weighting filters wS (s) and wK (s), as discussed in the
previous chapter. For the loop to have integral action, a positive slope of 20 dB/dec of
the sensitivity is required at low frequencies. This could be enforced by including a factor
1/s in the weigthing function wS (s). However, it is clear from Figure 16.7 - and also from
(17.1) - that the weighting filters are factors of the closed-loop transfer function Tzw (s),
and if wS has a pole at the origin then the same is true for Tzw . Because the H∞ norm
is only defined for proper, stable transfer functions, the weighting filters must therefore
also be proper and stable.
17. Mixed Sensitivity - A Design Example 117
1
|wS |
MS
ωS = ω
|wS |
1
MS
ωS ω
To enforce integral action in the loop, one can choose the weighting function to include a
factor
1
s+
where > 0 is a small constant. Figure 17.2 shows the shape of a first order weighting
filter and its inverse. MS is a small constant that is chosen as an upper bound on the
sensitivity at low frequencies. The transfer function of the weighting filter is
ωS /MS
wS (s) = (17.2)
s + ωS
where ωS = .
The weighting filter wK (s) can be used to impose an upper bound on the control sensi-
tivity. Because the control sensitivity should roll off at high frequencies, the inverse of
this filter should have low-pass behaviour and thus the filter itself should be a high-pass
filter. But, as mentioned before, weighting filters must be stable and proper, and if we
start with a zero at ωK (see Figure 17.3), an additional pole at a frequency well above
the bandwidth is required to make wK (s) proper. In Figure 17.3, this pole is placed at
cωK , where c is a sufficiently large constant.
From Figure 17.3, the filter transfer function is
c s + ωK
wK (s) = (17.3)
MK s + cωK
118
1
|wK |
MK
ωK cωK ω
|wK |
1
MK
ωK cωK ω
Loop Shaping
With the filter transfer functions (17.2) and (17.3), we have made choices concerning the
structure and order of the weighting functions WS and WK - we use the same scalar, first
order filters for all outputs. These choices are restrictive and can be changed if required.
They have however the advantage that there is only a small number of design parameters.
Initially we fix c = 103 (placing the pole of wK three decades above the zero). That leaves
us with the design parameters ωS , MS , ωK and MK .
The parameter ωS can be used to determine the closed-loop bandwidth, and MS can be
used to push the steady state error towards zero. The shape of wS according to (17.2)
is different from that discussed in the previous chapter (compare Figure 16.5), in so far
that we are not imposing an upper bound on |S|. The reason for this is that we can use
the upper bound MK on the control sensitivity to impose a limit on a sensitivity peak, as
will be seen below. The corner frequency ωK of WK should be chosen high enough not to
interfere with the bandwidth constraint on |S|.
17. Mixed Sensitivity - A Design Example 119
Following these considerations, we start the design procedure with an initial choice of
parameters
ωS MS ωK MK
Design 1:
10−4 10−4 102 103
The task is now to compute a controller that achieves kTzw k∞ < 1, where Tzw is a
generalized plant of the form shown in Figure 16.7 (without output zT ), with weighting
filters WS and WK based on (17.2) and (17.3) and parameter values as above. Here we
will use the function hinfsyn() of the robust control toolbox for MATLAB to find the
optimal controller - the controller that minimizes the H∞ norm of Tzw .
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
50
0
Input u
−50
u1
−100 u2
u3
−150
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
Since the aircraft model has three inputs and three outputs, the optimal controller Ko (s)
is a three-by-three transfer function matrix. We will later see that the dynamic order
of the optimal controller is equal to the dynamic order of the generalized plant. In the
present case, the plant is of fifth order, and we have first order weighting filters for each
of the three outputs of S and KS. This leaves us with a generalized plant of order 11,
and therefore with an 11th order controller.
The response of the closed-loop system in Figure 17.1 with the optimal controller Ko (s) to
h iT
a reference step input r(t) = σ(t) 0 0 is shown in Figure 17.4. The response is fast,
but the control input u3 violates the actuator constraint - this requires some adjustment.
First we note that the optimal controller Ko (s) achieves a closed-loop H∞ norm of less
120
in this case. Figure 17.5 shows the singular values of the sensitivity together with 1/|WS |,
and Figure 17.6 shows the control sensitivity together with 1/|WK |.
The fact that γo < 1 means that we can tighten the constraints. Introduce the scaled
weighting filters
1 1
W̃S (s) = WS (s) and W̃K (s) = WK (s)
γo γo
The optimal controller with these new filters is the same as before, but now we obtain
γo = 1. The inverse magnitude responses of the scaled filters - together with the sensitivity
functions - are plotted in Figures 17.7 and 17.8. They show that at low frequencies the
active constraint is kWS Sk∞ < 1, and at high frequencies kWK KSk∞ < 1. At frequencies
where a constraint is active, the constrained function (S or KS) fits tightly the shape of
the filter.
Figure 17.8 shows also that at low frequencies, the control sensitivity KS is constant
and slightly greater than one. The corner frequency where - moving from higher to
lower frequencies - the magnitude of KS starts to decrease from its enforced peak value,
is roughly the frequency where the magnitude of S reaches one. It is the closed-loop
bandwidth, which is enforced by the weighting filter WS . The reason for the constant
low-frequency value of |KS| is the near-integral behaviour of the controller K(s). The
constraint on |S| leads to a controller with poles very close to the origin in all controller
channels. At low frequencies, the controller gain is therefore very large, and the inverse
in KS = K(I + GK)−1 is dominated by GK. As a result, the maximum singular value
of KS at low frequencies is approximately equal to the inverse of the smallest singular
value of G. In the present case, the smallest singular value of the aircraft model transfer
function at low frequencies is slightly less than one.
17. Mixed Sensitivity - A Design Example 121
150
σ 1 (S)
σ 2 (S)
100 σ 3 (S)
1/wS
Singular Values [dB]
50
−50
−100 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
60
σ 1 (KS)
40 σ 2 (KS)
σ 3 (KS)
20
1/wK
0
Singular Values [dB]
−20
−40
−60
−80
−100
−120
−140 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
150
σ 1 (S)
σ 2 (S)
100 σ 3 (S)
γ 0 /wS
Singular Values [dB]
50
−50
−100 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
60
σ 1 (KS)
40 σ 2 (KS)
σ 3 (KS)
20
γ 0 /wK
0
Singular Values [dB]
−20
−40
−60
−80
−100
−120
−140 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
We now return to the problem of re-tuning the controller such that it meets the actuator
constraint |u3 | < 20. We need to reduce the upper bound MK on the control sensitivity
KS. We try MK = 102 instead of 103 and leave the other parameters unchanged, so our
next attempt is
ωS MS ωK MK
Design 2:
10−4 10−4 102 102
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
10
0
Input u
−10
u1
−20 u2
u3
−30
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
The step response with the resulting controller is shown in Figure 17.9. Clearly the peak
value of the elevator angle u3 has been significantly reduced, although it is still slightly
too large. The sensitivity and control sensitivity - together with the scaled weightings -
are shown in Figures 17.10 and 17.11. Notice that the closed-loop bandwidth has been
reduced, even though we did not change the weight WS . This is because the scaled
weightings are shown - the H∞ norm achieved with the unscaled weights is now γo =
0.3805, and the scaled filter W̃S represents now a lower bandwidth. Intuitively it should
be clear that reducing the control effort (reducing MK ) leads to a slower response.
Because we are minimizing kTzw k∞ rather than rigidly enforcing kTzw k∞ < 1, the func-
tions WS and WK act as weights - or "soft constraints" - rather than hard constraints. The
effect of reducing MK is illustrated in Figure 17.12. The curves labelled 1 represent scaled
constraints (dashed) and sensitivity shapes (solid) of the previous design. The dashed line
labelled 2 shows the constraint on KS when MK is reduced. Because the constraints were
scaled for the previous design, the new design will give a controller with γo > 1, which
124
150
σ 1 (S)
σ 2 (S)
100 σ 3 (S)
γ 0 /wS
Singular Values [dB]
50
−50
−100 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
−40
−60
−80
−100
−120
−140
−160 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
means the constraints will be violated. The violation of the constraints is spread equally
over S and KS, indicated by the solid lines labelled 2. Rescaling the constraints then
leads to the plots in Figures 17.10 and 17.11.
Returning to the step response in Figure 17.9, we noted that the control effort needs to be
slightly reduced to meet the design specification. Moreover, the response to a reference
17. Mixed Sensitivity - A Design Example 125
|S| |KS|
1 1
0 dB
2
1 2 2
ω ω
Figure 17.12: "Soft constraints" on sensitivity and control sensitivity: effect of reducing
MK
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
5
0
Input u
−5
u1
−10 u2
u3
−15
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
The step response with the resulting controller is shown in Figure 17.13. The perturbation
of y3 in the response has disappeared, and |u3 | < 13. This means that the controller is
not using the full range available, and the response can be made faster by increasing the
closed-loop bandwidth. With ωS = 2.5 · 10−4 we obtain
126
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
10
0
Input u
−10
u1
−20 u2
u3
−30
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
ωS MS ωK MK
Design 4:
2.5 · 10−4 10−4 102 102
where WS = diag (wS , wS , 10wS ) and WK = diag (wK , wK , wK ). Figure 17.14 shows that
the tracking performance is satisfactory.
Input Disturbances
The sensitivity S is the transfer function from an output disturbance to the controlled
output, and when |S| is made small at low frequencies, the closed-loop system has a built-
in capability of good rejection of output disturbances. The same is not automatically
guaranteed for disturbances occurring at the plant input, see Figure 17.15. In fact, even
though the response to a reference step achieved with Design 4 is excellent, the closed-loop
system shows poor rejection of input disturbances - the response to a disturbance step
applied at plant input is shown in Figure 17.16.
The surprisingly poor response to an input step disturbance reveals a major weakness
of the loop shaping approach: we are trying to shape the closed-loop dynamics without
taking the open-loop dynamics into account. Often the only way to satisfy the constraints
imposed on the closed-loop transfer function is to cancel undesirable plant poles by con-
troller zeros. Figure 17.17 shows that this is exactly what happened here: shown are
open-loop poles close to the imaginary axis - with a low damping ratio - that have been
cancelled by transmission zeros of the controller.
17. Mixed Sensitivity - A Design Example 127
e
r K(s) G(s) y
-
2
y1
1 y2
Output y
y3
0
−1
−2
0 10 20 30 40 50 60 70 80 90 100
Time [sec]
1
u1
u2
Control u
0.5 u3
−0.5
0 10 20 30 40 50 60 70 80 90 100
Time [sec]
Because input disturbances are likely to occur - in the present example they could be
caused by hysteresis and friction at the aircraft control surfaces - the design needs to be
modified to improve its disturbance rejection. One way to deal with this problem is to
consider the transfer function from the input disturbance d to the controlled output y.
We have (assuming r = 0)
and
y = (I + GK)−1 Gd = SGd
Figure 17.18 shows the singular values of the transfer function SG - it clearly displays the
resonant peak responsible for the poor response in Figure 17.16.
The problem is that the pole-zero cancellations are not visible when examining the transfer
functions S = (I +GK)−1 and T = (I +GK)−1 GK, but are visible in SG = (I +GK)−1 G.
This can be seen most easily by considering the SISO version of this problem. Using the
128
1.5
0.5
Imaginary Axis
0
−0.5
−1
−1.5
−1 −0.9 −0.8 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1
Real Axis
50
σ 1 (SG)
σ 2 (SG)
0
σ 3 (SG)
−50
Singular Values [dB]
−100
−150
−200
−250
−300 −3
10 10−2 10−1 100 101 102 103 104 105 106 107
Frequency [rad/sec]
notation
ng (s) nk (s)
G(s) = , K(s) =
dg (s) dk (s)
we have
G ng dk
SG = =
1 + GK dg dk + ng nk
A pole-zero cancellation means that the polynomials dg and nk have a common factor, so
17. Mixed Sensitivity - A Design Example 129
we can write
dg = d¯g d˜g and nk = n̄k d˜g
where d˜g contains the plant poles that are cancelled by controller zeros. Substituting this
in the above yields
ng dk
SG = ˜ ¯
dg (dg dk + ng n̄k )
which shows that the cancelled plant poles turn up as poles of the transfer function from
d to y.
W2 (s) z2
d
y
K(s) G(s) W1 (s) z1
- u
To prevent such undesirable pole-zero cancellations, we can try to shape the transfer
function SG. Figure 17.19 shows one way of doing this: the weighting filter W1 shapes
SG, and a second filter W2 shapes the transfer function from d to the controller output
u. It is straightforward to check that the transfer function from d to u is
TK = −(I + KG)−1 KG
This function has the same structure as the complementary sensitivity, only the loop
gain GK is replaced by KG - the loop gain seen from the controller output. Defining
z = [z1T z2T ]T , we can compute the controller that minimizes the H∞ norm of the closed-
loop transfer function from d to z. With the choices
ω1 /M1 c s + ω2
w1 (s) = and w2 (s) =
s + ω1 M2 s + cω2
ω1 M1 ω2 M2
Design 5:
10−3 10−7 102 2
we obtain the response shown in Figure 17.20 to an input disturbance step. The singular
values of SG and TK together with the scaled constraints are plotted in Figures 17.22
and 17.23. The plots show that the constraint on SG is active at low frequencies and the
constraint on TK near the corner frequency of W2 (s).
130
The setup in Figure 17.19 does not consider the reference input r. Therefore, one cannot
constrain the sensitivity S explicitly, but only as a factor in SG. So we would expect
the tracking performance to be inferior to that in Design 4. This is confirmed by the
response to a reference step input, shown in Figure 17.21. The control effort needs to be
·10−3
1
y1
y2
Output y
0.5 y3
−0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
1
u1
u2
Control u
0.5 u3
−0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
·104
0.5
0
Input u
−0.5 u1
u2
u3
−1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
considerably reduced to meet the design specification. The final design for this problem
is left as an exercise at the end of the chapter. The 4-block design is presented to achieve
both good reference tracking and disturbance rejection with a reasonable control effort.
50
0
Singular Values [dB]
−50
−100
−150
σ 1 (SG)
−200 σ 2 (SG)
σ 3 (SG)
γ 0 /w1
−250 −4
10 10−3 10−2 10−1 100 101 102 103 104 105 106
Frequency [rad/sec]
−50
Singular Values [dB]
−100
−150
−200
σ 1 (Tk )
σ 2 (Tk )
−250 σ 3 (Tk )
γ 0 /w2
−300 −4
10 10−3 10−2 10−1 100 101 102 103 104 105 106
Frequency [rad/sec]
The actual computation of the controller in the examples in this chapter was carried out
with the function hinfsyn() of the robust control toolbox for MATLAB. The design
constraints are entered in the form of generalized plant models. The construction of the
generalized plant is illustrated here for the first four designs with constraints on S and
KS.
The generalized plant is shown in Figure 17.24. Unlike the LQG example in chapter 11,
the generalized plant P contains not only the dynamics of the physical plant
" #
A B
G(s) =
C 0
but also the dynamics of the weighting filters. It is convenient to construct first a gener-
alized plant without the filters. Define z̃S and z̃K as the signals that enter the weighting
filters, i.e. z̃S = e and z̃K = u, and consider the transfer function P̃ obtained by replacing
z with z̃
z̃
S
" #
z̃K = P̃ r
u
e
u y e
G(s) - WS (s) zS
WK (s) zK
P (s)
K(s)
Exercises
Problem 17.1
Consider the configuration shown in Figure 17.25, where
200 1 10
G(s) = 2
; Gd (s) =
10s + 1 (0.05s + 1) 10s + 1
are the transfer functions to y from u and d respectively. The control objectives are
0.05
r u 1 200 y
K(s) (0.05s+1)2 10s+1
-
1. Command tracking: The rise time should be less than 0.3 sec. and the overshoot
should be less than 5%.
3. Input constraints: u(t) should remain within the range [−1, 1] at all times to avoid
input saturation (this is easily satisfied for most designs).
b) Repeat the design, but this time with 10 times stronger disturbance:
Gd (s) = 100/(10s + 1) (gain of 0.5 in disturbance gain block in Figure 17.25).
Problem 17.2
a) Design a controller for the aircraft model in example 11.1 that achieves good tracking
properties. Initially, ignore input disturbances and measurement noise, and tune
your controller for a fast response to reference step inputs. What is the fastest
response that can be achieved within the given actuator constraints |u3 | < 20?
b) Check the noise sensitivity of your design. You can do this by injecting a sinusoidal
input at 104 rad/sec into the feedback signals. Improve the noise sensitivity if
required.
c) Check the rejection of input disturbance steps. Modify the design to improve input
disturbance rejection.
Chapter 18
So far we discussed the use of weighting functions for shaping the closed-loop dynamics
via H∞ constraints, and we assumed the availability of software tools for computing the
controller. Similarly, in chapter 11 we discussed how the LQG problem can be reformu-
lated in terms of a generalized plant, and we used available software tools for computing
a LQG controller in Exercise 11.1. We used in fact the same function hinfsyn() of the
robust control toolbox for MATLAB that is used in Exercise 17.2 for H∞ loop shaping.
Both H∞ constraints and H2 constraints can be expressed in the form of linear matrix
inequalities (LMI), and efficient LMI solvers can be employed to compute controllers that
satisfy these constraints. In this chapter we will study how to express design specifications
in the form of linear matrix inequalities. The next chapter will then introduce methods
for computing controllers by solving LMI problems.
We will discuss three types of design specifications: constraints on the H2 and the H∞
norm, and constraints on the location of closed-loop poles in the complex plane.
We begin with a brief review of linear matrix inequalities. A linear matrix inequality
(LMI) has the form
Linear matrix inequalities can be used as constraints for the minimization problem
min
p
cT p subject to M (p) < 0 (18.2)
where the elements of the vector c in the linear cost function are weights on the individual
decision variables. This problem is convex and can be solved by efficient, polynomial-time
interior-point methods. Several LMI constraints can be combined into a single constraint
of type (18.1). For example the constraint
M1 (p) < 0 and M2 (p) < 0
is equivalent to the single LMI constraint
" #
M1 (p) 0
<0 (18.3)
0 M2 (p)
The problem (18.2) is quite general, and a variety of problems can be reduced to this
form. It has been known for a long time that certain control problems can be expressed
in this way. Already in 1971 the question was raised whether linear matrix inequalities
can be exploited for numerical purposes in control engineering, but it took more than
20 years for this to happen. It became possible when interior-point methods for solving
LMI problems were developed in the the 1980s. Control engineers became aware of these
developments in the early 1990s, standard software tools were made available in the mid
1990s, and from then on LMI techniques developed into an active area of research.
Optimization problems of the form (18.2) will be used here to search for the best controller
- in the sense of a given performance index - that satisfies LMI constraints on the closed-
loop system shown in Figure 18.1.
w z
P
u v
w T z
In this chapter, we will only consider constraints on the transfer function from w to z,
without discussing its dependence on the controller K(s) - so we will consider the system
shown in Figure 18.2. How to construct controllers that satisfy the constraints will be the
subject of the following chapter.
18. Design Specifications as LMI Constraints 137
Im s
Damping
ratio
Admissible β
Re s
αl Pole Region
αr
Speed of Response
It is well known that the dynamic properties of a linear, time-invariant system are de-
termined by the location of the poles of its transfer function in the complex plane. For
second order systems, the relationship between the pole location and damping ratio, rise
time and settling time is particularly simple. For higher order systems these relations
are still useful because system dynamics are often governed by a dominant pole pair. In
practice the designer often works on specifications that include a minimum damping ratio
and a minimum speed of response, and the objective is to find the best controller (in terms
of a suitable performance index) that satisfies these constraints. These constraints can be
expressed as a region in the complex plane where the closed-loop poles should be located,
as shown in Figure 18.3. A minimum speed of response is represented by a right boundary
on the admissible pole region at −αr , and a minimum damping ratio by a conic sector.
To avoid excessive control action and high noise sensitivity, the closed-loop bandwidth
can be limited by placing a left boundary at −αl on the admissible pole region.
The condition that the poles of a system are located within a given region in the complex
plane can be formulated as an LMI constraint. As an example, consider the dynamic
system
ẋ(t) = Ax(t) (18.4)
This system is stable if and only if the matrix A has all eigenvalues in the left half plane,
which in turn is true if and only if there exists a positive definite, symmetric matrix P
that satisfies the Lyapunov inequality
P AT + AP < 0 (18.5)
This inequality is linear in the matrix variable P , and one can use LMI solvers to search
for solutions. It is straightforward to rewrite (18.5) in the standard form (18.1) of an LMI.
To see this, assume that A is a 2 by 2 matrix and write the symmetric matrix variable P
138
Im Im
Re Re
αl αr
The LMI (18.5) represents a necessary and sufficient condition for the matrix A to have all
eigenvalues in the left half plane. It is possible to generalize this result: one can express
an arbitrary region D in the complex plane such as the one shown in Figure 18.3 (as long
as it is convex and symmetric about the real axis) in terms of two matrices L = LT and
M as the set of all complex numbers that satisfy an LMI constraint
| : L + M s + M T s̄ < 0}
D = {s ∈ C (18.6)
where s̄ denotes the complex conjugate of s. Such a region is called an LMI region. One
can show that a necessary and sufficient condition for a matrix A to have all eigenvalues
in D is the existence of a positive definite, symmetric matrix P that satisfies
L ⊗ P + M ⊗ (AP ) + M T ⊗ (AP )T < 0 (18.7)
The symbol ⊗ stands for the Kronecker product: if M is a 2 by 2 matrix then
" # " #
m11 m12 m11 P m12 P
M ⊗P = ⊗P =
m21 m22 m21 P m22 P
Thus if P is also 2 by 2 the Kronecker product is 4 by 4. Inequality (18.7) is an LMI in
the matrix variable P . It is easy to see that the Lyapunov inequality (18.5) is obtained
as a special case of (18.7) with L = 0 and M = 1 and D as the left half plane. One can
verify that the conic sector shown in Figure 18.4 is an LMI region with
" # " #
0 0 cos β − sin β
Lc = , Mc = (18.8)
0 0 sin β cos β
18. Design Specifications as LMI Constraints 139
The intersection of both regions is the pole region shown in Figure 18.3; it can be repre-
sented as an LMI region by combining the two constraints as in (18.3) with
" # " #
L 0 Mc 0
L= c , M= (18.10)
0 Lv 0 Mv
We will later interpret this system as the closed-loop system in Figure 18.2. Let T (s)
denote the strictly proper transfer function matrix from w to z
It was shown in chapter 15 that the H2 norm of T (s) can be computed from
where P0 is the positive definite matrix that solves the Lyapunov equation
AP0 + P0 AT + BB T = 0 (18.13)
kT k2 < ν
for some ν > 0. To see how (18.12) and (18.13) can be used to express this constraint,
consider the solution P to the following modified version of (18.13)
AP + P AT + BB T + Q = 0 (18.14)
where Q > 0 is a positive definite matrix. Subtracting (18.13) from (18.14) gives
A(P − P0 ) + (P − P0 )AT + Q = 0
P > P0 (18.15)
140
The reverse is also true: if (18.15) holds, then a matrix Q > 0 exists that satisfies (18.14).
Since the above holds for any Q > 0, we can replace (18.14) by the matrix inequality
AP + P AT + BB T < 0 (18.16)
Theorem 18.1 For the system (18.11), kT k2 < ν if and only if there exists a positive
definite matrix P that satisfies (18.16) and
In the next chapter it will be shown how to compute controllers that satisfy constraints
on kT k2 . The system matrices A, B and C will then be closed-loop system matrices that
contain controller parameters, and the terms BB T and trace CP C T will be nonlinear in
these parameters. The following equivalent formulation of the above result is then used
instead. Introduce a new symmetric matrix variable W (which is used as a slack variable),
then we have
Theorem 18.2 kT k2 < ν if and only if there exist symmetric matrices P and W that
satisfy
" # " #
AP + P AT B W CP
< 0, >0 and trace W < ν 2 (18.19)
BT −I P CT P
To see that the inequalities in (18.19) are equivalent to (18.18) and (18.16), note that
" #
M L
>0
LT N
This fact is frequently used to convert nonlinear inequalities into LMI form; the term
M − LN −1 LT is the Schur complement with respect to N . In the above case, this leads
to W > CP C T and consequently to trace W > trace CP C T , from which the equivalence
of (18.18) and (18.19) follows.
18. Design Specifications as LMI Constraints 141
Consider again the system in Figure 18.2 with transfer function T (s) and state space
realization
ẋ(t) =Ax(t) + Bw(t), x(0) = 0
z(t) =Cx(t) + Dw(t) (18.20)
Assuming that T (s) is stable, the H∞ norm of the system is
R∞
0 z T (t)z(t) dt
kT k2∞ = max R
w6=0 ∞
0 wT (t)w(t) dt
where we also assume that x(0) = 0. From the above it follows that kT k∞ < γ is
equivalent to Z ∞
(z T (t)z(t) − γ 2 wT (t)w(t)) dt < 0
0
holding true for all square integrable, non-zero w(t). Now introduce a Lyapunov function
V (x) = xT P x with P = P T > 0. Because x(0) = x(∞) = 0, the constraint kT k∞ < γ is
then enforced by the existence of a matrix P = P T > 0 such that
dV (x) 1 T
+ z (t)z(t) − γwT (t)w(t) < 0 (18.21)
dt γ
for all x(t), w(t); this can be seen by integrating (18.21) from t = 0 to t = ∞. To turn
(18.21) into a linear matrix inequality, substitute
dV (x)
= xT (AT P + P A)x + xT P Bw + wT B T P x
dt
and z = Cx + Dw in (18.21) to obtain
" #
h i AT P + P A + γ1 C T C P B + γ1 C T D x
xT w T <0
B T P + γ1 DT C −γI + γ1 DT D w
For kT k∞ < γ the above must hold for all x and w, thus the block matrix must be
negative definite. This condition can be rewritten as
" # " #
AT P + P A P B 1 CT h i
+ C D <0
BT P −γI γ DT
It can be shown that the existence of a solution to the above LMI is in fact not only a
sufficient but also a necessary condition for kT k∞ < γ. Using the Schur complement, we
can rewrite this condition and summarize the result as follows.
Theorem 18.3 kT k∞ < γ if and only if there exists a positive definite, symmetric
matrix P that satisfies the linear matrix inequality
AT P + P A P B C T
BT P −γI DT
<0 (18.22)
C D −γI
142
Exercises
Problem 18.1
Show that the matrices L = LT and M from (18.6) define the LMI region D(αr , αl , β)
shown in Figure 18.3.
Problem 18.2
Write MATLAB programs computing the H∞ norm and the H2 norm of a system using
the LMI conditions (18.22) and (18.19). Use the “LMI lab” toolbox of MATLAB to
express the LMI conditions. Verify your results by computing the H2 and H∞ norms
of the closed-loop system T (s) in Exercise 11.1 and compare the results with the results
obtained by the norm function (see Exercise 15.1).
Hint: To get started see either the help of rctlmi or the documentation of LMI lab in
“Robust Control Toolbox”, “Linear Matrix Inequalities”, “The LMI lab” in the MATLAB
help.
Chapter 19
In the previous chapter it was shown how design specifications can be expressed as linear
matrix inequality constraints. In this chapter we will see how one can compute controllers
that satisfy these constraints.
We will now interpret the plant model on which constraints were placed in the previous
chapter, as the closed loop system in Figure 19.1.
w z
P
u v
Recall that the generalized plant P (s) has a state space realization
where w(t) represents external inputs (reference input, disturbances and noise), u(t) rep-
resents the control input, z(t) is a vector of fictitious output signals used to assess the
performance of the control system, and v(t) is the measured output that is used for feed-
back control. The type of controller considered here is dynamic, linear time-invariant
144
output feedback control. The controller dynamics are represented by a state space model
To use the LMI constraints in the previous chapter for controller synthesis, they must
be applied to the closed-loop system matrices. It is straightforward to check that a state
space realization of the closed loop-system in Figure 19.1 is
where
" # " #
A + Bu DK Cv Bu CK Bw + Bu DK Dvw
Ac = , Bc =
BK Cv AK BK Dvw
h i
Cc = Cz + Dzu DK Cv Dzu CK , Dc = Dzw + Dzu DK Dvw (19.4)
The matrices (Ac , Bc , Cc , Dc ) depend on the controller K(s). The problem considered in
this chapter is to design a controller such that constraints on the eigenvalue locations of
Ac and on kT k2 and kT k∞ are satisfied.
• a pole region constraint in the form of matrix inequality (18.7) which is linear in
the matrix variable P
• a bound on the H2 -norm in the form of matrix inequalities (18.16) and (18.19) which
are linear in P and W
• a bound on the H∞ -norm in the form of matrix inequality (18.22) which is linear
in P .
When the system matrices A, B, C and D in these inequalities are replaced by the
closed-loop matrices Ac , Bc , Cc and Dc , the controller matrices AK , BK , CK and DK
appear as variables, and the resulting inequalities are not linear because they contain
products of variables. As a consequence, they cannot be solved with LMI solvers. One
19. Controller Design Using Linear Matrix Inequalities 145
can however introduce a change of variables to transform the constraints into equivalent
LMI constraints which can be solved. This transformation is much simpler in the special
case where all state variables are measured and available for feedback (i.e. the special case
Cv = I) and where the controller has the form of static state feedback
u(t) = F x(t)
This corresponds to the choice of controller matrices AK = 0, BK = 0, CK = 0 and
DK = F .
In this section, a full discussion of the state feedback case is given to illustrate the lin-
earizing change of variables, and in the following section an outline is given for the output
feedback case.
Consider first the LMI condition for the homogenous system (18.4): the existence of a
symmetric matrix P that satisfies the Lyapunov inequality
P AT + AP < 0
is a necessary and sufficient condition for the system to be stable. In order to use this
condition to search for stabilizing state feedback controllers, the system matrix A can be
replaced by the system matrix of the closed-loop system
ẋ(t) = (A + Bu F )x(t)
The Lyapunov inequality becomes
P (A + Bu F )T + (A + Bu F )P < 0
and because the variables are now P and F , this inequality is nonlinear in the variables.
It is however easy to make it linear - introduce a new variable Y = F P to obtain
P AT + AP + Y T BuT + Bu Y < 0
which is linear in the variables P and Y and can be solved with LMI solvers. Moreover, the
set of all solution pairs (P, Y ) represents the set of all stabilizing state feedback controllers
F = Y P −1 .
The same variable transformation can be applied to general pole region constraints in the
form of (18.7): a necessary and sufficient condition for a state feedback controller u = F x
to place the closed-loop poles inside an LMI region characterized by two matrices L and
M , is the existence of matrices P = P T > 0 and Y that satisfy the LMI
L ⊗ P + M ⊗ (AP + Bu Y ) + M T ⊗ (AP + Bu Y )T < 0 (19.5)
Moreover, the set of all solution pairs (P, Y ) represents the set of all state feedback
controllers F = Y P −1 that place the closed-loop poles inside the specified region.
146
H2 Performance
It was shown in the previous chapter that the H2 -norm of the system (18.11) is less than
ν if and only if matrices P = P T > 0 and W = W T exist that satisfy
" #
T T W CP
AP + P A + BB < 0, >0 and trace W < ν 2 (19.6)
P CT P
To use these conditions as constraints for controller synthesis, the system matrices A, B
and C must be replaced by the matrices of the closed-loop system. The system (18.11)
does not have a control input; if the system (19.1) is considered instead with Dzw = 0,
Dvw = 0 and Cv = I, the closed-loop system under state feedback u = F x becomes
ẋ(t) = (A + Bu F )x(t) + Bw w(t)
z(t) = (Cz + Dzu F )x(t)
If A and C are replaced in (19.6) by (A + Bu F ) and (Cz + Dzu F ), respectively, the
resulting inequalities are nonlinear in the variables P , W and F , but they can again be
made linear by introducing Y = F P as a new variable. It follows that a necessary and
sufficient condition for a state feedback controller to achieve a H2 -norm less than ν is the
existence of matrices P = P T > 0, W = W T and Y that satisfy the LMIs
P AT + AP + Y T BuT + Bu Y + Bw BwT < 0 (19.7)
" #
W Cz P + Dzu Y
>0 (19.8)
P CzT T T
+ Y Dzu P
and trace W < ν 2
and the set of all solutions (P, W, Y ) represents the set of all state feedback controllers
F = Y P −1 that achieve this norm constraint.
H∞ Performance
The H∞ constraint (18.22) can be used as a constraint for controller synthesis in the same
way as the H2 constraint. It is however convenient to rewrite it as
AP + P AT B P CT
BT −γI DT
<0 (19.9)
CP D −γI
Replacing the system matrices in (19.9) by the closed-loop matrices and using again the
variable transformation Y = F P leads to the following result: a necessary and sufficient
condition for a state feedback controller to achieve a H∞ -norm less than γ is the existence
of matrices P = P T > 0 and Y that satisfy
AP + P AT + Bu Y + Y T BuT Bw P CzT + Y T Dzu
T
BwT T
−γI Dzw <0
(19.10)
Cz P + Dzu Y Dzw −γI
and the set of all solutions (P, Y ) represents the set of all state feedback controllers
F = Y P −1 that achieve this norm constraint.
When a dynamic controller (19.2) is used instead of state feedback in the configuration
shown in Figure 11.1, the resulting matrix inequality constraints on the closed-loop system
are again nonlinear in the variables. As in the state feedback case, they can be transformed
into equivalent LMI constraints by a change of variables. However, whereas with state
feedback the introduction of a new variable Y = F P was all that was required to make
the constraints linear, the situation is more complex in the output feedback case, and in
this section only an outline of the approach is presented.
L ⊗ P + M ⊗ (P Ac )T + M T ⊗ (P Ac ) < 0 (19.11)
to have its eigenvalues in D, where D is an LMI region characterized by the two matrices
L and M as in (18.6). In (19.11) Ac has been replaced by ATc (which has the same
eigenvalues). The matrix variables are P and the controller matrices AK , BK , CK and
DK ; the inequality is nonlinear because the term P Ac contains products of variables. In
the following it will be assumed that the controller has the same order as the plant, i.e.
AK has the same size as A. Now partition P and P −1 as
" # " #
X R −1 Y S
P = , P = T
RT ∗ S ∗
148
where dimensions are compatible with the block matrix Ac , X and Y are symmetric and
(∗) denotes a matrix block that is of no particular interest. One can verify that
" # " #
Y I I X
P TY = TX where TY = T , TX = (19.12)
S 0 0 RT
The matrices TX and TY can be used to transform the nonlinear constraint (19.11) into
a linear one. This transformation is based on the fact that
" #
AY + Bu C̃K A + Bu D̃K Cv
TYT P Ac TY = TXT Ac TY = (19.13)
ÃK XA + B̃K Cv
The important point here is that the block matrices in (19.13) and (19.15) are linear in the
transformed controller variables (19.14) and the auxiliary variables X and Y . Using the
fact that for a nonsingular matrix TY the condition M < 0 is equivalent to TYT M TY < 0,
such a congruence transformation can be applied to (19.11) - where diag(TY , TY , . . . , TY )
is used instead of TY - to obtain
This inequality is linear in the variables ÃK , B̃K , C̃K , D̃K , Y and X. It is equiva-
lent to (19.11), therefore the existence of these matrices satisfying (19.16) is a necessary
condition for Ac to have its poles in D. On the other hand, having found solutions
ÃK , B̃K , C̃K , D̃K , Y and X to the LMI (19.16), one can compute via singular value
decomposition nonsingular S and R satisfying
RS T = I − XY
guarantees that I−XY < 0 and therefore that nonsingular matrices S and R satisfying the
above exist. The resulting controller has the property that the closed-loop eigenvalues are
19. Controller Design Using Linear Matrix Inequalities 149
in D. Thus, the existence of matrix variables satisfying (19.15) and (19.16) is a necessary
and sufficient condition for the closed-loop system to have its poles in D.
In summary, a pole region constraint in the form of a matrix inequality with variable terms
P and P Ac can be transformed by a congruence transformation TY into an equivalent
constraint with the terms TYT P TY and TYT P Ac TY . The resulting inequality is linear in
transformed controller matrices and auxiliary variables. Having solved this LMI, one can
compute the desired controller matrices from (19.14).
H2 and H∞ Constraints
The same transformation can be used to make the H2 constraint (18.19) and the H∞
constraint (18.22) linear in the transformed controller variables. In addition to the terms
P and P Ac , the constraints (18.19) and (18.22) applied to the closed-loop system involve
the terms P Bc and Cc Dc , which are transformed into TYT P Bc and Cc Dc TY , respectively.
These terms are again linear in the new controller variables (19.14) and the auxiliary
variables X and Y .
The constraint P > 0 is shared by pole region, H2 and H∞ constraints; with a congruence
transformation TY , it is transformed into
" #
Y I
TYT P TY = >0 (19.17)
I X
The following conditions refer to the configuration shown in Figure 19.1 with plant model
(19.1) and controller (19.2). The controller has the same dynamic order as the plant. The
transformed controller matrices ÃK , B̃K , C̃K , D̃K are defined by (19.14). (∗) denotes
matrix blocks that can be inferred by symmetry.
Pole Region Constraint
150
The closed-loop matrix Ac has all eigenvalues in D if and only if there exist matrices ÃK , B̃K , C̃K , D̃K , X and Y that satisfy (19.17)
and
" # " # " #T
Y I AY + Bu C̃K A + Bu D̃K Cv AY + Bu C̃K A + Bu D̃K Cv
L⊗ +M ⊗ + MT ⊗ <0 (19.18)
I X ÃK XA + B̃K Cv ÃK XA + B̃K Cv
H2 Constraints
kT k2 < ν if and only if there exist matrices ÃK , B̃K , C̃K , D̃K , X, Y and W that satisfy (19.17) and
AY + Y AT + Bu C̃K + (Bu C̃K )T ÃTK + A + Bu D̃K Cv (Cz Y + Dzu C̃K )T
∗ AT X + XA + B̃K Cv + (B̃K Cv )T (Cz + Dzu D̃K Cv )T
<0 (19.19)
∗ ∗ −I
Y I Bw + Bu D̃K Dvw
∗ X XBw + B̃K Dvw > 0
(19.20)
∗ ∗ W
and trace W < ν 2 and Dc = Dzw + Dzu D̃K Dvw = 0
H∞ Constraints
kT k∞ < γ if and only if there exist matrices ÃK , B̃K , C̃K , D̃K , X and Y that satisfy (19.17) and
AY + Y AT + Bu C̃K + (Bu C̃K )T ÃTK + A + Bu D̃K Cv Bw + Bu D̃K Dvw (Cz Y + Dzu C̃K )T
∗ AT X + XA + B̃K Cv + (B̃K Cv )T XBw + B̃K Dvw (Cz + Dzu D̃K Cv )T
<0 (19.21)
∗ ∗ −γI (Dzw + Dzu D̃K Dvw )T
∗ ∗ ∗ −γI
19. Controller Design Using Linear Matrix Inequalities 151
Design Algorithm
a) Pole region constraint - express the desired pole-region in terms of the matrices
L and M (see for example (18.8), (18.9) and (18.10)).
b) H2 performance - set Bu = B, Cv = −C and construct the generalised plant
by appropriately selecting the matrices Bw , Cz , Dzu and Dvw (see for example
chapter 11).
c) H∞ performance - choose weighting filters WS (s), WK (s) or/and WT (s) and
construct the generalised plant (see chapter 16). Extract the matrices A, Bw ,
Bu , Cz , Cv , Dzw , Dzu , Dvw .
2. Express the design specifications as an LMI problem. The following table sum-
marises the relevant LMI constraints
Feedback type
Design objective state-feedback output feedback LMI objective
P = PT X = XT , Y = Y T
" #
Y I
with any P >0 >0
I X
Pole region constraint (19.5) (19.18) feasibility
H2 performance (19.7), (19.8) (19.19), (19.20) min trace W
H∞ performance (19.10) (19.21) min γ
• State-feedback case: F = Y P −1
• Output-feedback case: perform singular value decomposition of I − XY
√ √
U ΣV T = I − XY ⇒ R = U Σ, ST = ΣV T
DK = D̃K
CK = (C̃K − DK Cv Y )(S T )−1
BK = R−1 (B̃K − XBu DK )
AK = R−1 ÃK − RBK Cv Y − XBu CK S T − X(A + Bu DK Cv )Y (S T )−1
152
Exercises
Problem 19.1
Design an LQG controller for the aircraft model in Example 11.1 using LMIs and the
weighting matrices from Problem 15.2 [Design 2]
" # " #
C 0 h i h i
Cz = 50 · Dzu = ; Bw = 50 · B 0 ; Dvw = 0 I3 .
0 I3
Hint: Use that the LQG problem can be expressed as an H2 design problem, when the
generalised plant in Fig. 11.3 is used. See the design algorithm on page 151 for details.
Compare the obtained controller with the one obtained using the h2syn function.
Problem 19.2
Consider the state space model
x˙1 0 0 1 0 x1 0 0
x˙2 0 0 0 1 x2 0 0
=
+ u +
w
x˙3 −1.25 1.25 0 0
x3 1 −1
x4
a) Design a state feedback controller that minimises the H∞ norm (i.e. γ = kTzw k∞ )
of the closed loop transfer function from input w to output z, and assigns the
closed-loop poles to the LMI region D with αl = −∞, αr = −10 and β = 45◦ .
b) For αr = [−1, −2 − 5, −10, −20, −30, −50, −100], calculate the H∞ norm and
plot γ versus αr .
Chapter 20
So far it has been shown how the three types of design specifications introduced in Chapter
18, can be expressed as LMI constraints on the synthesis of a dynamic controller (19.2).
The LMI constraints involve transformed controller matrices and auxiliary variables. Let
K̃ denote the collection of matrices
These variables in the LMI constraints provide the data from which the controller can be
computed. The three types of design specifications considered here are
• the pole region constraint (18.7) which was shown to be equivalent to (19.16), an
LMI of the form
Mreg (K̃) < 0
• the constraint (18.19) on the H2 -norm in the form of an upper bound ν, which can
be transformed into an LMI of the form
M2 (K̃, W ) < 0
• the constraint (18.22) on the H∞ -norm in the form of an upper bound γ, which can
be transformed into
M∞ (K̃, γ) < 0
Explicit formulae for Mreg (K̃), M2 (K̃, W ) and M∞ (K̃, γ) were given in the previous chap-
ter. The controller design can be carried out by solving a convex optimization problem
of the form
min
p
cT p subject to M (p) < 0
154
where M (p) is a combination of the above constraints. The decision variables - the ele-
ments of the vector p - are the elements of the matrix variables K̃ and auxiliary variables.
The linear cost function cT p can be chosen to represent the search for the "best" controller
that satisfies the given specifications.
To combine H2 and H∞ norm constraints, one can partition the input and output vectors
w(t) and z(t) as
" # " #
w∞ z
w= , z= ∞ (20.1)
w2 z2
Figure 20.1 shows the configuration with separate channels for H2 and H∞ constraints.
A possible choice for a generalized plant is then
h i
A Bw∞ Bw2 Bu
Cz∞ ∞
" # " #
Dzu
P (s) = 0
Cz2 2
h i
Dzu
∞ 2
Cv Dvw Dvw 0
w∞ z∞
w2 P z2
u v
K
Let T2 (s) denote the transfer function from w2 to z2 and T∞ (s) from w∞ to z∞ , then
the H2 constraint should be applied to T2 (s) and the H∞ constraint to T∞ (s). For
example, one might want to design a controller for a plant with uncertain parameters
such that the closed-loop poles of the nominal system are constrained to be in a given
pole region, and where an additional H∞ constraint (say kT∞ k∞ < γ where γ = 1)
guarantees robust stability for the admissible range of system parameters. One can then
search for a controller that minimizes a quadratic performance index (H2 -norm of T2 (s))
under these constraints by solving the convex optimization problem (18.2) in the form
M (K̃) 0 0
reg
min trace W subject to
0 M2 (K̃, W ) 0 <0
(20.2)
K̃,W
0 0 M∞ (K̃, γ = 1)
20. LMI Approach to Multi-Objective Design 155
From the solution K̃ to this problem one can compute a controller that satisfies the pole
region and H∞ constraints as well as kT2 k22 < trace W . A design example of this type is
presented in the next chapter to illustrate the approach.
Alternatively, one can minimize the H∞ norm subject to the H2 norm being less than a
specified upper bound ν, in this case the minimization is over K̃, W and γ as variables
subject to trace W < ν 2 . Similarly, it is possible to minimize a linear combination of the
H2 -norm and the H∞ -norm.
An important feature of the LMI approach to controller design is that it allows to combine
different design specifications into a single convex optimization problem. However, this
advantage comes at a price: combining different constraints may introduce conservatism
into the design. Even though each of the LMI constraints considered here represents a
necessary and sufficient condition for a certain property of the system, combining them
into a single convex optimization problem is only possible by relaxing the conditions to
sufficient conditions, i.e. by giving up necessity. This aspect is now briefly discussed.
When the plant is controllable and observable, it is clear that there exist controllers that
place the closed-loop eigenvalues in a given region and at the same time achieve finite
values for the H2 and H∞ -norm. On the other hand, it may turn out that the constraints
for the problem
M (K̃) 0 0
reg
min c1 ν + c2 γ subject to
0 M2 (K̃, W ) 0 <0
(20.3)
K̃,W,ν,γ
0 0 M∞ (K̃, γ)
and trace W < ν 2 are infeasible, i.e. that a combination of decision variables that satisfy
the constraints does not exist.
To see why this may happen, recall that the pole region constraint involves the term
Ac Preg , whereas the H2 constraint involves the terms Ac P2 and Cc P2 , and the H∞ con-
straint involves P∞ Ac and P∞ Bc . Here different subscripts for the matrix variable P have
been introduced to indicate in which constraint it is used. A necessary and sufficient
condition for the closed-loop system to satisfy all constraints simultaneously is the exis-
tence of three matrices Preg , P2 and P∞ each of which satisfies the corresponding LMI
constraint. However, the linearizing change of variables - and thus the synthesis of a
controller - is only possible by imposing the additional constraint
P = Preg = P2 = P∞ (20.4)
Whereas the search for a controller under just one of the three constraints is a search
over all controllers that satisfy this constraint, the assumption (20.4) reduces the search
under combined constraints to a search over only a subset of all controllers that satisfy
the combined constraints.
Chapter 21
In this chapter it is shown how a combination of LMI constraints can be used to design
a robust controller for system with uncertain parameters. The design of a power system
stabilizer for a range of operating conditions is presented as a design example. First a
model is constructed that includes information about the parameter uncertainty. The
small gain theorem is then introduced as an important tool for robust controller design.
With the help of the small gain theorem, a H∞ constraint on the uncertain model is
derived that guarantees robust stability. This H∞ constraint is then combined with pole
region and H2 constraints for shaping the nominal performance.
Generator
Xl
Exciter
Et
Voltage - Eref
Regulator
Problem Description
Power system stabilizers (PSS) are used to suppress oscillation in power systems. A power
station connected to a large power system is often represented by a single equivalent ma-
158
chine connected through an impedance to an infinite busbar for the purpose of stability
and controller design studies. Such a model is shown in Figure 21.1. In this representa-
tion, the dynamic interaction between the various machines in the power station is not
considered, but it is still adequate for many types of studies, especially when the machines
are identical and operate at nearly the same load levels.
u ẋ = Ai x + Bu y = ∆ω
PSS
y = Cx
with four state variables is used to model the single-machine-infinite-bus system. The
system matrix A in this model is a function of real power P , reactive power Q and line
impedance Xl . It is assumed that these parameters vary in the intervals
Varying the parameters independently in steps of 0.1 over these intervals generates a
family of linearized models
where the system matrices Ai describe the system dynamics in different operating condi-
tions and N = 336. The distribution of open-loop eigenvalues of the family of 336 linear
systems is shown in Figure 21.3.
The PSS control loop is shown in Figure 21.2. The controlled output is the machine
shaft speed ∆ω, and the control input u is a voltage which is added to the terminal
reference voltage. The performance of the controller is assessed in terms of rejection of a
disturbance step d at plant input.
21. Design Example: Robust Control of a Power System Stabilizer 159
10
Imaginary Axis 4
−2
−4
−6
−8
−10
−18 −16 −14 −12 −10 −8 −6 −4 −2 0 2
Real Axis
Figure 21.3: Open-loop eigenvalues for the given range of uncertain parameters (red:
nominal plant)
The objective is to design a controller that maintains a damping ratio of at least 10% and
a real part of all closed-loop poles less than -0.5 at nominal operating conditions, and at
the same time guarantees stability for all admissible operating conditions.
In this chapter it is shown how the LMI constraints introduced in the previous chapter
can be used to design a dynamic output feedback controller of the form (19.2) that meets
the specifications. A H∞ constraint will be used to guarantee robust stability; for this
purpose a suitable representation of the parameter uncertainty is required.
ẋ = A0 x + Bw w + Bu u, z = Cz x (21.2)
and with a suitable choice of the matrices Bw and Cz , all models representing the uncertain
system (21.1) can be "covered" by the model (21.2) in the sense that any admissible system
matrix
Ai = A0 + Bw ∆Cz
can be generated by choosing a matrix ∆ with norm less than 1. A block diagram of this
uncertainty representation is shown in Figure 21.4. The uncertainty has been "isolated" by
mapping it into the matrix ∆ - note that once Bw and Cz have been fixed, all parameters
of the model inside the dashed box are known. The matrices Bw and Cz - together with
the condition that k∆k < 1 - represent a priori knowledge about the possible range of
parameter variations.
The construction of suitable matrices Bw and Cz will be discussed below.
∆
w z
Bw Cz
u Bu 1 Cy y
s
A0
The Power System Stabilizer must - apart from providing adequate damping and response
times - guarantee that the closed-loop system is stable for all admissible operating con-
ditions. If we use the representation in Figure 21.4 and map the parameter uncertainty
into an unknown matrix ∆, we therefore need a condition for the system to be stable
with all ∆ that satisfy k∆k < 1. Such a condition is provided by the following Theorem.
Consider the loop in Figure 21.5. We have
L(s)
Theorem 21.1 Assume L(s) is stable. Then the loop is stable if kL(jω)k < 1 for all
ω.
This Theorem is a simple version of the Small Gain Theorem. Most methods for robust
controller design are based on one or another version of this Theorem. For SISO systems
it simply says that if the Nyquist plot of L(s) does not leave the unit disc, the closed-loop
system is stable (because L(jω) cannot encircle the critical point -1). For MIMO systems,
the small gain condition kL(jω)k < 1 implies σ̄(L(jω)) < 1 for all ω. As a consequence,
det(I − L(jω)) cannot encircle the origin and it follows from the generalized Nyquist
Theorem that the closed-loop system is stable.
We will now express the design problem in the form of a generalized plant that includes
not only weighting functions, but also the representation of the model uncertainty. The
configuration is shown in Figure 21.6, where the uncertainty representation in Figure 21.4
has been combined with the generalized plant in Figure 20.1 by connecting the uncertain
block ∆ to the H∞ channels. The generalized plant transfer function is then
h i
A Bw∞ Bw2 Bu
Cz∞
" # " # " #
0 0 0
P (s) =
(21.4)
Cz2 2
h
0 0 i Dzu
2
Cv 0 Dvw 0
w∞ z∞
w2 P z2
u v
K
is shown in Figure 21.7. Assuming that the controller K stabilizes the nominal plant
model (A0 , Bu , Cy ), we can invoke the small gain theorem to establish that the closed-
∞
loop system is stable if the magnitude of the loop transfer function ∆Tzw is less than one
at all frequencies, or if
∞ ∞
kL(jω)k = k∆Tzw (jω)k ≤ k∆kkTzw (jω)k < 1 ∀ω
It follows that the closed-loop system is stable for all ∆ satisfying k∆k < 1 if
∞
kTzw (jω)k∞ < 1
∞
w Tzw z
The following problem can now be posed in the form of linear matrix inequalities and
solved with LMI solvers: Design a controller that minimizes the H2 -norm of the transfer
function from w2 to z2 (pick the best controller in terms of a quadratic performance index)
under the constraints that the H∞ -norm of the transfer function from w∞ to z∞ is less
than 1 (guarantee robust stability), and that the closed-loop eigenvalues of the nominal
system are located within a specified region in the complex plane (meet specs on damping
ratio and speed of response).
21. Design Example: Robust Control of a Power System Stabilizer 163
To apply the design procedure described above, the model uncertainty - represented by
a family of 336 linear models - must be expressed in terms of the matrices Bw∞ and Cz∞ .
For this purpose, write the uncertain system matrix Ai at a given operating point as
The matrices Bw∞ and Cz∞ must be chosen such that a matrix ∆i satisfying
ΨB = UB ΣB VBT , ΨC = UC ΣC VCT
Let rB = rank ΨB and rC = rank ΨC , then matrices ∆i satisfying (21.5) exist for i =
1, . . . , N if Bw∞ = B̃w and Cz∞ = C̃z where
and ubi and uci are the columns of UB and UC , respectively. The non-zero elements of the
matrices
ΣB = diag (σ1b , σ2b , . . .), ΣC = diag (σ1c , σ2c , . . .)
are the singular values of ΨB and ΨC ordered by decreasing magnitude; small singular
values indicate that the dimension of the uncertainty (rB or rC ) can be reduced.
To meet the requirement k∆i k ≤ 1, i = 1, . . . , N , the columns of Bw∞ and the rows of Cz∞
need to be scaled. This can be done as follows. Let
and take Bw0 = B̃w Σ̄B , Cz0 = Σ̄C C̃z as a first scaling. In (21.5), replace Bw∞ and Cz∞ with
Bw0 and Cz0 , respectively, solve for ∆i in all operating points and find κ = maxi k∆i k.
Then matrices ∆i that satisfy (21.5) and k∆i k ≤ 1 exist for all operating points if Bw∞
and Cz∞ are chosen as
√ √
Bw∞ = κBw0 , Cz∞ = κCz0
164
In order to construct the uncertain model, a nominal system matrix A0 must be chosen
and the matrices Bw∞ and Cz∞ must be computed.
Here, the nominal system matrix is chosen as
1
A0 = (Amax + Amin )
2
where Amax and Amin are matrices whose elements are the maximum and minimum values
of the corresponding elements of Ai over i = 1, . . . , N , respectively.
Computing the singular value decomposition of ΨB and ΨC leads to
Σ̄B = diag (2163.5, 449.3, 0, 0), Σ̄C = diag (2209.6, 14.5, 2.6, 0.4)
Thus rB = 2, and the drop by more than two orders of magnitude after the first singular
value of ΨC suggests that without significant loss of information the uncertainty can be
projected onto one dimension, i.e. the numerical rank of ΨC is taken as rC = 1. Carrying
out the scaling procedure described above yields
0 0
" #
0.130 3.676 δ1i
h i
Bw∞ =
, Cz∞ = 18.079 0.095 0.014 −0.024 , ∆i =
0 0 δ2i
17.701 −0.027
To assess the conservatism of this uncertainty representation, (21.5) is solved for ∆i in all
operating points under consideration, and the result is plotted in Figure 21.8. Stability
is guaranteed inside the unit disc, and the fact that it is largely filled shows that the
representation is not too conservative.
The remaining system matrices are
0 0 0 −0.154 0
4.086 −0.491 −0.099 0.219 0
A0 =
, Bu =
0 1000 −20 0 1000
With A0 , Bw∞ , Bu , Cz∞ and Cy as above, the robust design problem can be solved as an
LMI problem in the form of (20.2). Design parameters are (a) the weights for the H2
constraint and (b) the parameters (αl , αr , β) of the LMI region in Figure 18.3 for the
closed-loop poles of the nominal system.
We will treat this problem as a deterministic design problem. This means that in the
H2 performance index no noise inputs are assumed and the input channel w2 is omitted;
21. Design Example: Robust Control of a Power System Stabilizer 165
0.8
0.6
0.4
0.2
δ2
−0.2
−0.4
−0.6
−0.8
−1
−1.2 −1 −0.8−0.6−0.4−0.2 0 0.2 0.4 0.6 0.8 1 1.2
δ1
k T1 T2 T3 T4 T5 ζ ωn
4.014 2.032 0.203 0.084 0.503 0.077 0.14 72.6
The closed-loop pole distribution is shown in Figure 21.9, and Figure 21.10 shows the
step response at three different operating points.
The pole region parameters αl , αr and β can be used to tune the performance of the
control system. For example, moving the right boundary αr of the pole region to the left
leads to a smaller peak of the regulation error in response to a disturbance step, and to a
larger peak of the control signal. In this way, the pole region parameter αr can be used
as a “tuning knob” to trade control effort against peak regulation error.
166
80
60
40
Imaginary Axis
20
−20
−40
−60
−80
−14 −12 −10 −8 −6 −4 −2 0
Real Axis
Figure 21.9: Closed-loop eigenvalues (dashed: LMI region, red: nominal plant)
·10−3
1
Output y
−1 a
b
c
−2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [sec]
·10−2
2
0
Input u
−2 a
b
c
−4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time [sec]
The design approach presented in this chapter can be carried out as an automated, in-
teractive procedure with a simple user interface. The data input consists of a family of
21. Design Example: Robust Control of a Power System Stabilizer 167
linear models - which represent parameter uncertainty - and the design specifications,
which are expressed in terms of pole region parameters αl , αr and β. Practical experience
suggests that one can fix the weights in the H2 cost function and use only the pole region
for tuning. The H∞ constraint guarantees that for any choice of pole region parameters
the system is stable in all admissible conditions. This fact may be used to develop an
automated search strategy for tuning the controller.
Exercises
x1 x2 = y
k
d1
m1 m2 d2
u
a) For ki = 0.5, 0.8, 1.1, 1.4, 1.7, 2.0, compute the system matrices Ai , and construct
168
the matrices (Bw , Cz ) for an uncertainty model. Also, derive these matrices directly
from the physical model (21.6) and compare the results.
b) Design a controller that guarantees stability for 0.5 ≤ k ≤ 2.0, while satisfying the
constraints on actuator and settling time.
c) Modify the controller such that the maximum possible range kmin ≤ k ≤ kmax for
robust stability is achieved. The actuator constraint must still be satisfied, but the
settling time can be longer than 15.
d) Analyze the controller in frequency domain. Why is it not reasonable to choose this
controller for solving the control task? Changing the setup to a four-block design
improves the frequency response of the controller. Design a controller using the
four-block approach and give a reason for the improvement.
Chapter 22
Modern design techniques - like those discussed in this course - produce controllers of the
same dynamic order as the generalized plant. Thus, when the system to be controlled
is of high dynamic order, the controller may be too complex to be acceptable for im-
plementation. This is an important issue when LMI techniques are used for the design
of controllers, because solving a high-order LMI problem takes more computation time
than solving the Riccati equations associated with the same problem. In such cases, the
plant model should be approximated by a simplified model. This chapter gives a brief
introduction to the topic of model order reduction.
Consider a stable system with transfer function G(s) and state space realization
ẋ = Ax + Bu, y = Cx + Du
with n dimensional state vector x. If the number of states n is very large, one could try
to find a model of lower order that behaves "similar" to the original system. For example,
if some of the state variables do not have much effect on the system behaviour, one might
consider removing these states from the model. Thus, we need to know which states are
"important" for the model and which ones are not. The controllability Gramian and the
observability Gramian - discussed in Chapter 5 - turn out to be helpful for answering this
question.
Controllability Gramian
satisfies ku(τ )k2 ≤ 1 (assume that u(τ ) = 0 for τ > t). Compute the singular value
decomposition of the controllability Gramian
Wc = V ΣV T
where h i
Σ = diag (σ1 , σ2 , . . . σn ) and V = v1 v2 . . . vn
The singular values are ordered such that σ1 ≥ σ2 ≥ . . . ≥ σn as usual. The set Sc of
points in the state space reachable with input energy 1 is then a hyper-ellipsoid centered
at the origin, with semi-axes in the directions of the columns vi of V , and length given
by the square root of the corresponding singular value. This is illustrated in Figure 22.1
for a second order system. Note that v1 is the direction that is most easily controlled,
whereas small singular values indicate directions which are difficult to control.
x2
1/2
σ 1 v1
x1
1/2
σ2 v2
Sc
Observability Gramian
Define the set So as the set of all points in the state space which - when taken as initial
conditions x(0) - lead to output signals y(t) that satisfy ky(t)k2 ≤ 1. Again the singular
value decomposition
Wo = V ΣV T
where h i
Σ = diag (σ1 , σ2 , . . . σn ) and V = v1 v2 . . . vn
22. Model Order Reduction 171
determines the set So - it is a hyper-ellipsoid centered at the origin with semi-axes given
√
by vi / σ i . This set is illustrated for a second order system in Figure 22.2. Note that
the axes are long in directions with small singular values, indicating directions that have
little effect on the output. These directions are difficult to observe.
x2
v2
1/2
σ2
v1
1/2
σ1
x1
So
Balanced Realization
The question posed at the beginning of the chapter was: which state variables are im-
portant for the system and which ones are not? The singular value decomposition of the
Gramians tells us which states show only a weak response to a control input (the ones
associated with small singular values of Wc ), and which ones have only weak influence on
the observed output (the ones where the singular values of Wo are small). Now it would
be unwise to remove a state variable from the model only because it shows little response
to control inputs - the same state variable may have a strong effect on the output. The
reverse may be true for states with small singular values of Wo . To find out which states
have little influence both in terms of controllability and observability, we will use a special
state space realization of the plant model which is known as balanced realization.
Initially we assumed a state space realization of G(s) with system matrices A, B, C and
D. Applying a similarity transformation T leads to a different state space model
for the same plant. The eigenvalues and the input/output behaviour of both state space
models are the same, because they are realizations of the same transfer function. The
controllability and observability Gramians however are different: it is straightforward to
check that if Wc and Wo are the Gramians of the first model, then T −1 Wc T −T and T T Wo T
are the Gramians of the second model.
172
A balanced realization of G(s) has the property that its controllability and observability
Gramians are equal and diagonal
σ1 0
Wc = Wo =
..
.
0 σn
Balanced Truncation
The subsystem (A11 , B1 , C1 , D) of the partitioned model (22.1) contains the states with
significantly large Hankel singular values. One approach to model order reduction is to
use this system with r state variables as an approximation of the full order model G(s).
This approach is known as balanced truncation, because the parts of the model associated
with insignificant states are simply ignored.
An important property of the resulting reduced order model
" #
A11 B1
Gtr (s) =
C1 D
is that it satisfies
Gtr (j∞) = G(j∞) = D
The direct feedthrough terms of full order and truncated model are the same. This
indicates that both models will exhibit similar high-frequency behaviour.
22. Model Order Reduction 173
Balanced Residualization
An alternative approach is not to ignore the insignificant states, but to assume that they
are constant and take them into account in the reduced order model. This method is
known as balanced residualization. In the partitioned model
" # " #" # " #
ẋ1 A A12 x1 B
= 11 + 1 u
ẋ2 A21 A22 x2 B2
" #
h i x1
y = C1 C2 + Du
x2
we make the assumption
ẋ2 = 0
and eliminate x2 from the model. It is straightforward to check that the resulting reduced
order model is
A11 − A12 A−1 −1
" #
22 A21 B1 − A12 A22 B2
Gres (s) =
C1 − C2 A−1
22 A21 D − C2 A−122 B2
The feedthrough term is different from that of the full order model, indicating that the
high-frequency behaviour will not be the same. In fact the reduced model was arrived at
by assuming that derivatives of some state variables are zero. This is true in steady state,
so we would expect similar behaviour of full order and reduced model at low frequencies.
One can indeed verify that the steady state gains of both models are the same, i.e.
G(0) = Gres (0) = D − CA−1 B
Example 22.1
A linearized model of a High Voltage DC transmission system with 31 state variables
is approximated by a second order model. Figure 22.3 shows the magnitude frequency
response when balanced truncation is used. Figure 22.4 shows the result of balanced resid-
ualization. The results illustrate that balanced truncation attempts to capture the high
frequency behaviour of the full order model, whereas balanced residualization captures
its low frequency behaviour. The MATLAB routines sresid() and balmr() were used
for residualization and truncation, respectively.
Approximation Error
A useful property shared by both reduction techniques discussed in this chapter - here
stated without proof - is the following. Let G(s) denote the full order plant model and
Ĝ(s) a reduced order approximation obtained either by balanced truncation or by balanced
residualization. The H∞ norm of the approximation error satisfies
n
X
kG(s) − Ĝ(s)k∞ ≤ 2 σi
i=r+1
174
2
10
Full order model
Truncation
0
10
−2
10
Magnitude
−4
10
−6
10
−8
10
−10
10 1 2 3 4 5 6 7 8
10 10 10 10 10 10 10 10
Frequency (rad/sec)
Figure 22.3: Balanced truncation: the reduced model captures - as far as possible with a
second order model - the resonant peak and high-frequency roll-off
2
10
Full order model
Residualization
0
10
−2
10
Magnitude
−4
10
−6
10
−8
10
−10
10 1 2 3 4 5 6 7 8
10 10 10 10 10 10 10 10
Frequency (rad/sec)
Figure 22.4: Balanced residualization: the reduced model captures the low frequency
behaviour
In other words: the maximum error in the magnitude response is less than twice the sum
of the Hankel singular values of the states that are being removed from the model.
22. Model Order Reduction 175
So far we assumed that the full order model is stable - a balanced realization is defined
only for stable systems. If the reduced order model is to be used for controller design, it
would be unwise to ignore any unstable pole of the plant. One way of dealing with an
unstable high order system is to split it up into a stable and an anti-stable part, i.e.
where Gs (s) is stable and Gu (s) has all poles in the right half plane. The stable part of
the system can then be reduced by balanced truncation or residualization to Ĝs (s), and
a reduced model of the plant that retains all unstable modes is
APPENDICES
Appendix A
Then the control signal that has to be applied to the DC motor is u(t) = u0 + ũ(t). The
coefficients q, ρ and s can be then used to tune the controller to the design requirements.
From Z T 1
∗
V (x(t), t) = (x2 + ū2 + x4 ) dt
0 2
follows
∂V ∗ (x(t), t) Z T
= (2x + 2x3 ) dt.
∂x 0
182 Appendices
and finally
∂V ∗ 2 2 1 4 Z T
(x(t), t) = −(x + ū + x ) − (2x + 2x3 ) dt ū(t)
∂t 2 0
V ∗ (x(T ), T ) = 0
−Ṗ = Q + P A + AT P − P BR−1 B T P, P (T ) = S
to − Ṗ = 1 − P 2 , P (T ) = 0
1 − e2(t−T )
P (t) =
1 + e2(t−T )
Thus the optimal control is
Recall that X is positive definite (X > 0), if X = X T and y T Xy > 0 holds for all y 6= 0,
or equivalently if the eigenvalues of X are positive. Let T ∈ IRn×n be any full-column
matrix. Then
T T XT > 0 ⇒ q T T T XT q > 0, q 6= 0
I −LN −1
" #" #" #
M L I 0
>0
0 I LT N −N −1 LT I
since clearly the selected T matrix is full-column rank (its lower triangular with 1’s on
the diagonal). Performing the multiplication leads to
M − LN −1 LT 0
" #
>0
0 N
I −M −1 L
" #
T =
0 I
a) Rewrite
" # " #
M L M L
T = T −T T T T T T −1
L N L N
Then
M − LN −1 LT 0
" # " #
h i
−T x
W (x, u) = x T
u T
T T −1
0 N u
Using that
" #−1 " #
I 0 I 0
=
X I −X I
184 Appendices
follows
I LN −1 M − LN −1 LT 0
" #" #" #" #
h
T T
i I 0 x
W (x, u) = x u −1 T
0 I 0 N N L I u
M − LN −1 LT 0
" #" #
h
T T −1 T
i x
= x x LN +u −1 T
0 N N L x+u
= xT M − LN −1 LT x + xT LN −1 + uT N N −1 LT x + u
T
min
u
W (x, u) = min
u
xT M − LN −1 LT x + N −1 LT x + u N N −1 LT x + u
The first term is independent of u and the second is quadratic in u and non-negative
(since N > 0). The control signal that gets the second term to zero (and therefore
minimises W (x, u)) is
ū = −N −1 LT x
W (x, u) = xT Qx + uT Ru + xT (P A + AT P )x + xT P Bu + uT B T P x
" #" #
h
T T
i Q + P A + AT P P B x
= x u
BT P R u
Since R > 0, choosing v(t) ≡ 0 leads to the optimal control input u(t) = u∗ (t). We obtain
the minimal performance index
V ∗ = xT0 P0 x0 .
a) The transfer function y to v is the transfer function of the lower dashed block. The
state-space matrices of the block are Ā = −AT , B̄ = −C T , C̄ = −B T and D̄ = 0
and hence
Gvy (s) = C̄(sI − Ā)−1 B̄ + D̄ = B T (sI + AT )−1 C T
−BR−1 B T
" # " #" # " #
ẋ A x B
= + r
λ̇ −C T C −AT λ 0
" #
h i x
y= C 0
λ
2
−a −b ρ1 b −0.5 − 150
" # " #
H= = ρ
−1 a −1 0.5
1
Then the feedback gain is f (t) = − bP (t).
ρ
A. Solutions to Exercises - Linear Quadratic Optimal Control 187
1 − e−30(1−t) 1 − e−30(1−t)
a) ρ = 100, s = 0 P (t) ≈ 0.06 f (t) ≈ −0.1
1 + 0.94e−30(1−t) 1 + 0.94e−30(1−t)
3 1 − e−10(1−t) 1 − e−10(1−t)
b) ρ = 10 , s = 0 P (t) ≈ 0.2 f (t) ≈ −0.03
1 + 0.8e−10(1−t) 1 + 0.8e−10(1−t)
1 − e−3(1−t) 1 − e−3(1−t)
c) ρ = 104 , s = 0 P (t) ≈ 0.5 f (t) ≈ −0.0075
1 + 0.5e−3(1−t) 1 + 0.5e−3(1−t)
The plots of f (t), u(t) = f (t)ω(t) and ω(t) in the interval under the initial condition
ω(0) = 1 are shown in Fig. A.1 and Fig. A.2-left.
0.02
0.00
−0.02
f(t)
−0.04
−0.06
ρ = 102 ; s = 0
−0.08 ρ = 103 ; s = 0
ρ = 104 ; s = 0
ρ = 103 ; s = 0.19
−0.10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
From the expressions for f (t) (and the figures) a), b) and c) is obvious that by increasing
ρ the argument of the exponents in P (t) gets smaller, corresponding to a larger time-
constant and therefore to slower control. The feedback gains in b) and d) are similar for
small t and have difference only at the end of the time period where the later converges to
a finite value (P (1) = s = 0.19). To see a difference in the control signal and the angular
velocity in Fig. A.2-right the signals are showed “zoomed-in” near t = 1 sec.
MATLAB code: orc05_DCmotor.m, orc05_DCmotor_sim.mdl.
·10−3
0
0.00
−0.2
−0.4
102 ;
u(t)
u(t)
ρ = s = 0
−0.05 ρ = 103 ; s = 0 −0.6
ρ = 104 ; s = 0
−0.8
ρ = 103 ; s = 0.19
−0.10 −1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.8 0.85 0.9 0.95 1
Time [sec] Time [sec]
·10−2
1.00
0.80 4
0.60
ω(t)
ω(t)
0.40 2
0.20
0.00 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.8 0.85 0.9 0.95 1
Time [sec] Time [sec]
Note that now the infinite horizon control problem is considered, for which P (t) and F (t)
are constant matrices. Then the solution can be easily obtained using the LQR function
in MATLAB:
F=-lqr(A,B,Q,R)
See the MATLAB files: orc05_DCmotorLQR.m, orc05_DCmotor_sim.mdl
A. Solutions to Exercises - Linear Quadratic Optimal Control 189
u = −f1 (r − x1 ) + (f2 x2 + f3 x3 )
u = −f1 r + (f1 x1 + f2 x2 + f3 x3 ) = f x − f1 r
a) In determining the optimal control, we assume that the input is zero. Let us deter-
mine the state-feedback gain matrix f , where
h i
f = f1 f2 f3
To get the fast response, q11 must be sufficiently large compared with q22 , q33 and R,
because y(t) = x1 (t). The optimal control gain is obtained using the lqr MATLAB
function. The controller can be further tuned with respect to some non-zero initial
conditions x0 . For the purpose of simulation the function initial can be used.
ẋ = Ax + bu = Ax + b(f x − f1 r) = (A + bf )x − bf1 r
y = cx = x1
b*) Since the control is scalar, the cost function takes the following form
Z ∞
V = z 2 (t) + ρu2 (t) dt with ρ>0
0
where ρ is the control weighting parameter. The optimal LQR control h law itakes
the form u(t) = f x(t) where the feedback gain f is a row vector f = f1 f2 . To
determine the value of gain, we must solve the algebraic Riccati equation. Recalling
that we want a symmetric solution to the Riccati equation, letting
" #
P P12
P = 11 (A.4)
P12 P22
and using the values of A, b and c given above, the Riccati equation becomes
" #" # " #" # " #
P P12 0 1 0 −1 P11 P12 1 h i
0 = 11 + + 1 0
P12 P22 −1 0 1 0 P12 P22 0
" #" # " #
1 P11 P12 0 h i P
11 P12
− 0 1
ρ P12 P22 1 P12 P22
Carrying out the matrix multiplication leads to the following three equations in the
three unknown Pij from Equation (A.4)
1 2
0 = 2P12 − 1 + P12
ρ
1
0 = −P11 + P22 + P12 P22 (A.5)
ρ
1 2
0 = −2P12 + P22
ρ
A. Solutions to Exercises - Linear Quadratic Optimal Control 191
s
1
Solving the first equation for P12 and simplifying yields P12 = −ρ ± ρ 1 + .
ρ
Both the positive and negative choices for P12 are valid solution for Riccati equation.
While we are only interested in the positive semidefinite solution, we still need more
information to resolve which choice of P12 leads to the unique choice of P ≥ 0.
Rewriting the 3rd equation
1 2
2P12 = P22
ρ
indicates that P12 must be positive, since the right hand side of the equation must
always be positive. The last equation indicates that there will also be a ± sign am-
biguity in selecting the appropriate P22 . To resolve the ambiguity we use Sylvester’s
Test, which says that for P ≥ 0 both
2
P11 ≥ 0 and P11 P22 − P12 ≥0
Solving Equation (A.5) using the above mentioned relations, which clearly show
that P22 > 0, gives the remaining elements of P
v s s
u
u 1 1 1
P11 = ρt2(1 + )( 1 + − 1); P12 = −ρ + ρ 1 +
ρ ρ ρ
v s
u
u 1
P22 = ρt2( 1 + − 1)
ρ
The final step in computing the controller is to evaluate the control gains f = −bT /ρP
s v s
u
1 u 1
f1 = − 1 + + 1; f2 = −t2( 1 + − 1)
ρ ρ
Evaluating the eigenvalues of the closed-loop dynamics leads to a pair of complex
conjugate closed-loop poles
v s v s
u u
1u 1 1u 1
λ1,2 = − t2( 1 + − 1) ± j t2( 1 + + 1)
2 ρ 2 ρ
c) Given the control gains as a function of the control weighting ρ it is useful to examine
the locus of the closed-loop poles for the system as ρ varies over 0 < ρ < ∞. For
large ρ
ρ → ∞, f1 → 0, f2 → 0, λ1,2 = ±j1
Thus when the control is expensive there is practically no feedback, and the closed-
loop eigenvalues are the same as the open-loop eigenvalues. For small ρ
ρ → 0, f1 → ∞, f2 → ∞, λ1,2 → −∞ ± j∞
This is consistent with how ρ influences the cost. Larger values of ρ place a heavy
penalty on the control and lead to low gains with slow transients (poles close to the
imaginary axis), while small values of ρ allow larger control action, move the poles
further to the left from the imaginary axis, thus leading to fast transients.
192 Appendices
Then
1 1
p(s) = a(s)a(−s) + b(s)b(−s) = ((−s)2 − 5)(s2 − 5) + 9 = s4 − 10s2 + 34
ρ 1
The four roots are ±2.3271 ± j0.6446, thus the closed-loop eigenvalues are −2.3271 ±
j0.6446 and the closed-loop characteristic polynomial is
Recall that
" # " # " # " #
s 0 0 1 0 h i s −1
ac (s) = det(sI −A−bf ) = det − − f1 f2 = det
0 s 5 0 3 −5 − 3f1 s − 3f2
or
ac (s) = s2 + 4.6542s + 5.831 = s2 − 3f2 s − (5 + 3f1 )
By comparing the coefficients follows f2 = −1.5514, f1 = −3.6103, which is exactly the
same result obtained in Problem 6.3.
Thus closed-loop stability requires q > 0 (recall that for first and second order system
sufficient condition for stability is that all coefficients are positive).
The optimal state feedback loop gain L(s) is given by
1 + qs
L(s) = −f (sI − A)−1 b =
s2
and Kalman’s identity, a necessary and sufficient condition for LQR optimality for a stable
control law, requires the satisfaction of inequality (7.4) or what is equivalent
|1 + L(jω)| ≥ 1 ∀ω.
A. Solutions to Exercises - Linear Quadratic Optimal Control 193
Substituting L(jω) and squaring both sides (doesn’t change the inequality) leads to
1 − ω 2 + jqω 2
(1 − ω 2 )2 + q 2 ω 2
≥ 1, ⇒ ≥ 1, ⇒ 1 + (q 2 − 2)ω 2 ≥ 0
−ω 2 ω4
√
The last inequality can be hsatisfied ifor all ω if and only if q ≥ 2. Thus, for example,
the stable gain matrix f = −1 −2 is optimal with respect to some LQR problem, but
h i
the stable gain matrix f = −1 −1 is not optimal with respect to any LQR problem.
4
Imaginary Axis
2
−2
−4
−6
−8
−8 −6 −4 −2 0 2 4 6 8
Real Axis
c) Knowing the optimal closed-loop locations, the problem now is to find the feedback
gain matrix f . One method is to find ac (s) = det(sI − A − bf ) as function of
f and solve for f (as in Problem 7.2). However, since this is a tedious task one
can instead use a pole-placement - the desired closed-loop poles are known and are
optimal! Thus f = -place(A, b, stabp) where stabps are the stable poles
of p(s) leads to
h i
f = −3875.5 −1283.9 −3662.2 −1263.2 .
where Z ∞ T
P = (eA t QeAt dt)
0
A. Solutions to Exercises - Linear Quadratic Optimal Control 195
T
To
show P is the
solution to P A + A P + Q = 0, substitute for P and use that A is stable
lim eAt → 0 :
t→∞
Z ∞ T T
(eA t QeAt A + AT eA t QeAt ) dt + Q = 0
0
Z ∞ d AT t At
(e Qe )dt + Q = 0
0 dt ∞
T
eA t QeAt + Q = 0
0
0−Q+Q=0
which proves the result.
a) The LQG controller can be seen in Fig. 9.1. Using that A = 1, b = 1 and c = 1
simplifies to the controller in Fig. A.4 with transfer function
f fe
K(s) = F (sI − A − BF − Fe C)−1 Fe =
s − 1 − f − fe
−y 1 x̂ u
fe f
s
c) By duality s
1 1
f = −1 − 1+ = −3 → ρ=
ρ 3
The error dynamics is not much faster than the plant. To make it five times faster
than the plant we need
ε̇ = −10ε + w + fe v = (1 + fe ) + w + fe v → fe = −11
s
1
fe = −1 − 1+ = −11 → r̃e = 0.01
r̃e
We also have
d
1 x y
F b c
s
from d to y as
Y (s) cb 1
= c(sI − A − bf )−1 b = = .
D(s) s − A − bf s+2
Next if the disturbance enters the loop at a point outside the controller, at the plant
input, then the estimator dynamics do affect the controlled output. The controller transfer
function (from −y to u) is
cb
G(s) = c(sI − A)−1 b =
s−a
Substituting f = −3 and fe = −4 in the transfer function from d to y gives
0 Q1/2
A e 0 B A 0 B 0 B
Q1/2 0 0 0 0 C 0 0 0 0
P (s) = =
0 0 0 0 R1/2
0 0 0 0 R1/2
−C I 0 −Re1/2 0 −C I 0 −Re1/2 0
where the second expression holds for the initial values Q = C T C and Qe = BB T (which
is often a good initial guess:the disturbance enters the same way as the input signal u and
we are interested in the output signals y). Set initially R = I, Re = I. The generalised
plant can now be constructed by: Gplant = mk_LQG_gplant(Gairc,R,Re).
Next the LQG controller can be designed: K = h2syn ( Gplant, 3, 3 )
(Alternatively one can use the lqg function in MATLAB).
Finally simulate the response closed-loop system to the desired reference step command
and update R and Re (and Q and Qe if necessary) to meet the design requirements.
MATLAB files: orc11_LQG.m, aircraft_model.m, aircraft_sim.mdl, mk_LQG_gplant.m
kABxk kAyk
max ≤ max
x6=0 kBxk y6=0 kyk
has been applied. We know that Bx is always a vector in the column space of the matrix
B and the column rank of this matrix might not be full. In this case we cannot produce
any arbitrary vector y through Bx which implies the correctness of this inequality.
B. Solutions to Exercises - Optimal and Robust Control 201
n
m
For the first matrix σ3 = 0 and thus the matrix has rank=2. The second matrix is diagonal
and the singular values are the magnitudes of the diagonal elements. The third matrix is
a vector, in which case the only singular value is the length of the vector. In this case the
first column of U is a normalised vector in the same direction.
MATLAB file: orc13_SVD.m
Because σ7 σ8 one can truncate the last 2. This would however not reduce the number
of bits transmitted. Since σ2 σ3 one can leave only the first 2 singular values, in
which case 2 matrices has to be transmitted: U12 and S12 = Σ12 V12T correspondingly with
2 · 10 = 20 and 2 · 10 = 20 elements or all-together (10 + 10) · 2 · 8 = 320 bits. The receiver
has to perform the multiplication U12 S12 to recover the image.
MATLAB file: orc13_SVD.m. See orc13_SVD_photo.m for more realistic example.
202 Appendices
50
σ 1 (Gyr )
σ 2 (Gyr )
0 σ 3 (Gyr )
Singular Values [dB]
−50
−100
−150
−200
−250 −3
10 10−2 10−1 100 101 102 103 104
Frequency [rad/s]
Figure B.2: Singular value plot of the aircraft with LQG controller
The fact that for low frequencies all singular values are close to 0 dB, means that the
closed-loop system has static gain (also low-frequency gain) of about 1, which means that
good reference tracking can be expected. At high frequencies the singular values drop,
which means that noise signals will be suppressed. If the maximum singular value is too
large for high frequencies the controller should be redesigned and if this does not help,
better sensors needs to be selected for the channels corresponding to its input direction.
The H∞ norm of T (s) turns out to be 2.4939. Again using breakpoints one can find
that the computation is performed in norminf.m. Two methods for computing H∞ were
discussed in the script: (A) gridding over frequencies and computing the singular value de-
composition for each frequency and (B) using the Hamiltonian matrix Mγ and performing
bisection steps over γ. The method implemented in Matlab uses a fast algorithm, pro-
posed by Bruisma and Steinbuch, that combines the above two.
50
0
Singular Values [dB]
−50
−100
−150 σ1 Design 1
σ2 Design 1
σ3 Design 1
−200 σ1 Design 2
σ2 Design 2
σ3 Design 2
−250 −3
10 10−2 10−1 100 101 102 103 104
Frequency [rad/sec]
Figure B.3: Singular value plot of the aircraft with two LQG controllers
At low frequency the singular values of Gyr2 (s) lie very close to the 0 dB line, where as
with the first design they are on ±5 dB. Thus we expect the second design to have better
reference tracking. At high frequencies the singular values with the second design start
decreasing later than with the first design showing higher bandwidth, but also higher
sensitivity to noise. Further at frequencies between 10 and 100 rad/s the increase above 1
of all singular values with the second design indicate that noise signals in this frequency
range will be actually amplified. In summary we should expect faster system response
and better reference tracking with the second design, but also higher sensitivity to high
204 Appendices
1. Choose γmax , γmin and tolerance γtol (e.g. γmax = 1000, γmin = 0, γtol = 10−6 )
5. If Mγ has eigenvalues on the imaginary axis set γmin = γ, else set γmax = γ
6. Return to step 2
follows q
sup |WS S|2 + |WT T |2 + |WK KS|2 < 1
ω
which has a maximum approximation error when all three terms are equal, i.e.
q
sup 3|WS S|2 < 1
ω
q √
or supω |WS S|2 = kWS Sk < 1/ 3 = 0.577, which results in −4.8 dB approximation
error.
Thus disturbances entering through the first input have less effect, than combination of
disturbances acting on all inputs.
Matlab file: orc16_sensitivity.m
10
−10
Singular Values [dB]
−20
−30
−40
−50
σ 1 (S)
−60 σ 2 (S)
σ 3 (S)
−70 −3
10 10−2 10−1 100 101 102 103 104
Frequency [rad/sec]
Figure B.4: Singular value plot of the sensitivity of the aircraft with LQG controller
Gd (s)
r u y
K(s) G(s)
-
At a first time we can “neglect” the disturbance input during the design process and
concentrate only on the reference tracking. However the disturbance rejection properties
with the obtained controller have to be analysed and changes to the design might be
needed.
For the purpose of reference tracking the suggested problem formulation with sensitivity
and control sensitivity filters can be used. The generalised plant is shown in Fig. B.6.
To construct the generalised plant one needs to select the WS (s) and WK (s) filters. To
B. Solutions to Exercises - Optimal and Robust Control 207
WK (s) zK
r
WS (s) zS
y
u G(s) - e
meet the design requirements several iterations over/adjustments of the filters might be
needed. From the requirements for reference tracking we know that the sensitivity S(s)
should be low at low frequencies. Since the H∞ design algorithm will aim on achieving
kWS (s)S(s)k∞ < 1 this means that the gain of WS (s) should be high at low frequencies.
Further it is known, that S(s) cannot be kept low at all frequencies, i.e. for high frequen-
cies the gain of WS (s) should become low. A reasonable initial filter WS (s) is a first order
(low-pass) system
wS 1 wS
WS (s) = NS =
s + wS MS s + wS
Notice that NS directly sets the gain of WS (s) for low frequencies, or alternatively MS
sets an upper-boundary on S(s) for low frequencies.
In order to select MS and wS one can have a look the sigma plot of Gd (s), shown in
Fig. B.7. The disturbance is a low-frequency one, has low-frequency gain of 10 and a
crossover frequency of 0.1 rad/s. Thus select MS = 1/10 and wS = 0.1 rad/s. A good
initial guess for the control sensitivity is WK (s) = 1.
The generalised plant can be constructed with the following code
systemnames = ’G Ws Wk’;
inputvar = ’[r; u]’;
input_to_G = ’[u]’;
input_to_Wk = ’[u]’;
input_to_Ws = ’[r-G]’;
outputvar = ’[Wk; Ws; r-G]’;
GSYS = sysic;
20
σ (Gd )
15
10
Singular Values [dB]
5
−5
−10
−15
−20 −3
10 10−2 10−1 100 101
Frequency [rad/sec]
Simulating the closed-loop response with the obtained controller shows that the system
response to a reference step is slow and the control input is not efficiently used u(t) <
0.3. In order to improve these one can further reduce MS to MS = 0.01, construct the
generalised plant and repeat the design. Now the reference response satisfies the design
requirements, but the disturbance rejection is poor. “Pushing down” the sensitivity by
selecting MS = 0.001 and setting wS = 0.01 rad/s yields a controller satisfying the design
requirements posed in the problem statement. The sensitivity and control sensitivity are
shown in Fig. B.8 together with the sigma plots of the inverse filters. The fact that hinf
is greater than 1 indicates that in the filters are “imposing” a performance criteria that
cannot be met. By appropriately re-scaling the filters the same controller can be obtained,
but with norm equal to 1.
Matlab file: orc17_Hinf_design.m
The disturbance rejection of the obtained controller are however not satisfactory for the
stronger disturbance Gd (s) = 100/(10s + 1). By selecting a stronger sensitivity filter
(smaller MS ) the disturbance rejection can be improved by at the price of violating the
actuator constraints.
One approach to simultaneously address both the reference tracking and the disturbance
rejection is to take into account both the transfer functions from reference to output and
control action, and from disturbance input to output and control action. For this purpose,
the generalised plant in Figure B.9 can be used.
Combining all the individual transfer functions to a single one and minimising its H∞
B. Solutions to Exercises - Optimal and Robust Control 209
100
−50
−100 −4
10 10−3 10−2 10−1 100 101 102 103 104 105
Frequency [rad/sec]
20
Singular Values [dB]
σ(KS)
0 1/Wk
−20
−40
−60 −4
10 10−3 10−2 10−1 100 101 102 103 104 105
Frequency [rad/sec]
Figure B.8: Sigma plot of S(s) and K(s)S(s) with the obtained controller
r
d
WK (s) zK
0.05
WS (s) zS
1 200
u (0.05s+1)2 10s+1 e
y -
This can be easily seen by closing the loop u = Ke, computing the transfer function and
using that k − G(s)k∞ = kG(s)k∞
" # " #" #
zS WS S −WS SGd r
=
zK WK KS −WK KSGd d
Performing the design with this new generalised plant, without re-configuring the filters
results in a controller that has excellent disturbance rejection, but high overshoot and
control signal to reference tracking - Fig. B.10. The singular value plots of the four
transfer functions in (B.1) are shown in Fig. B.11. As can be seen both S and SGd have
210 Appendices
1.5
Output y
1
0.5
r → y
d → e
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
3
r → u
2 d → u
Control u
−1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [sec]
1 1
Figure B.10: Step and disturbance responses WK = 1, WS (s) = 0.001 s/0.01+1
peak values over 1 at frequency of approx. 10 rad/s, which is known to be the reason for
the overshoot in the reference step response. One way to reduce this peak values of S
and SGd is by using the WK (s) filter. Another option is to use WS (s) filter and impose
an upper limit for the sensitivity also for high frequencies.
100 100
Singular Values [dB]
σ(S) σ(SGd )
50 1/Ws 50 1/Ws
0 0
−50 −50
−100 −100
10−3 10−1 101 103 105 10−3 10−1 101 103 105
Frequency [rad/sec] Frequency [rad/sec]
20 0
Singular Values [dB]
0
−50
−20
−100
−40 σ(KS) σ(KSGd )
1/Wk 1/Wk
−60 −150
10−3 10−1 101 103 105 10−3 10−1 101 103 105
Frequency [rad/sec] Frequency [rad/sec]
1 s/(cωs ) + 1
WS (s) =
MS s/ωs + 1
with ωs = 0.01 rad/s, MS = 0.02 and c = 80 obtains a controller which achieves closed-
loop performance close to the required - see Figures B.12 and B.13.
1.5
Output y
0.5
r → y
d → e
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
Time [sec]
1
r → u
0.8 d → u
Control u
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
Time [sec]
Figure B.12: Step and disturbance responses for the second 4-block design
50 50
−50 −50
σ(S) σ(SGd )
1/Ws 1/Ws
−100 −100
10−3 10−1 101 103 105 10−3 10−1 101 103 105
Frequency [rad/sec] Frequency [rad/sec]
20 0
Singular Values [dB]
r Vr (s)
d Vd (s)
WK (s) zK
0.05
WS (s) zS
1 200
u (0.05s+1)2 10s+1 e
y -
Figure B.14: Generalised plant with prefilters for the reference and disturbance inputs
" #
W SV WS SGd Vd
S r
(B.2)
WK KSVr WK KSGd Vd
∞
During the preparation of this solution no controller was found meeting all of the design
requirements. Thus the questions whether such controller exists and how to find it are
still open.
214 Appendices
r Vr (s)
WK (s) zK
d Vd (s)
WS (s) zS
u G(s) e
y -
Figure B.15: Generalised plant with reference input and input disturbance
a) Ignoring the input disturbance and the noise effects, Design 4 from Chapter 17 can
be modified to satisfy the actuator constraints by slightly reducing the bandwidth
requirements (reducing ωS ). The step response is shown in Fig. B.16, with settling
time for the relative altitude (y1 ) of approximately 1.2 seconds.
ωS MS ωK MK
Design 6:
2.5 · 10−4 10−4 102 102
Note, that since the design requirements do not specify actuator constraints for
inputs u1 and u2 one can set the WK (s) as
δ 0 0
WK (s) = 0 δ
0
1 s/ωK +1
0 0 MK s/(cωK )+1
where δ ≥ 0 is a small number. Then the settling time can be reduced to approx.
1 sec, but at the expense of (unrealistically) high control in the first two input
channels.
b) The system response to a sinusoidal measurement noise with amplitude of 0.1 and
frequency of 104 rad/s (injected in all outputs) is shown in Fig. B.17.
Note that since the transfer function from noise to output is S(s), and the sensi-
tivity is close to 1 for large frequencies the noise is not attenuated. This is natural
and cannot be avoided. However, since the system will not respond to this high-
frequency noise, there is not a reason for the controller to attempt to compensate
B. Solutions to Exercises - Optimal and Robust Control 215
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
10
0
Input u
−10
u1
−20 u2
u3
−30
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
0.2
0.1
Output y
0
y1
−0.1 y2
y3
−0.2
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
Time [sec]
2
Control u
−2 u1
u2
u3
−4
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
Time [sec]
it. Thus the only improvement of interest is a reduction of the magnitude of the
control signals. This can be achieved by reducing ωK , and compensating the result-
ing slower-system response by slight increase in ωS . The tracking performance and
the noise response are shown in Fig. B.18 and Fig. B.19.
216 Appendices
ωS MS ωK MK
Design 7:
3.5 · 10−4 10−4 10 102
1.5
y1
1 y2
Output y
y3
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
20
10
Input u
0
u1
−10 u2
u3
−20
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time [sec]
c) The system response to a step input disturbance applied to the spoiler angle (u1 )
is shown in Fig. B.20. It is clear, that whereas the disturbance has no big effect on
the y2 and y3 it leads to significant oscillations in the relative altitude y1 and to a
steady-state error.
To improve the disturbance rejection a generalised plant with only disturbance input
(see Fig. 17.19) can be used, but the resulting controllers will have poor reference
tracking. To achieve both good reference tracking and disturbance rejection a gen-
eralised plant with both r and d as inputs can be constructed, as shown in Fig. B.15,
resulting in the 4-block design (2 inputs (r and d) times 2 outputs (zK and zS )).
The pre-filters Vr (s) and Vd (s) are added to allow for independent shaping of the
four transfer functions
" #" #" #
" #
W
S 0 S SG Vr 0
W SV
S r WS SGVd
= .
0 WK KS KSG 0 Vd
WK KSVr WK KSGVd
∞ ∞
Designing a controller with this new generalised plant using the parameters from
Design 7 and identity gains as pre-filters (Vr (s) = I3 , Vd (s) = I3 ) leads to closed-loop
system with large overshoot at reference step, but very good disturbance rejection
capabilities, as shown in Fig. B.21 (notice the different time-scale of the disturbance
response plots compared to Fig. B.20).
B. Solutions to Exercises - Optimal and Robust Control 217
0.2
Output y
0.1
0 y1
y2
y3
−0.1
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
Time [sec]
0.5
Control u
−0.5 u1
u2
u3
−1
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
Time [sec]
2
y1
1 y2
Output y
y3
0
−1
−2
0 10 20 30 40 50 60 70 80 90 100
Time [sec]
1
u1
u2
Control u
0.5 u3
−0.5
0 10 20 30 40 50 60 70 80 90 100
Time [sec]
– Vd (s) = 0.01 I3 - set smaller priority on the disturbance rejection: reduces the
reference tracking overshoot (at the expense of slower disturbance rejection),
but also results in very slow convergence of y1 to the reference value.
218 Appendices
1 5 · 10−2
Output y 0.5 0
y1
0 −5 · 10−2 y2
y3
−0.5 −0.1
0 0.5 1 1.5 2 0 2 4 6 8 10
Time [sec] Time [sec]
20 1
u1
u2
0 0.5 u3
Input u
−20 0
−40 −0.5
0 0.5 1 1.5 2 0 2 4 6 8 10
Time [sec] Time [sec]
5w 0 0
S
– WS (s) = 0 wS
0 - give higher value to the error in the first channel:
0 0 10wS
results fast tracking, reasonable disturbance rejection (with no steady-state
error), but violates |u3 | ≤ 20.
– ωS = 3 · 10−5 - reduce the bandwidth requirement: makes the system response
slower, but reduces the 3rd input to satisfy the actuator constraints. Shows
cross-coupling between the outputs (reference step in y1 results in some re-
sponse in y2 and y3 ).
With the so-obtained design parameters, shown below, the closed-loop system has
the response shown in Fig. B.22.
Design 8:
ωS MS
WS (s)
ωK MK
WK (s) Vr Vd
5w 0 0 w 0 0
S K
3 · 10−5 10−4 102
10 I3 0.01 I3
0 wS 0 0 wK 0
0 0 10wS 0 0 wK
where
1 1 1 ωS
wS (s) = s =
MS ωS
+1 MS s + ωS
s
1 ωK + 1 c s + ωK
wK (s) = s = ,
MK cωK + 1 MK s + cωK
B. Solutions to Exercises - Optimal and Robust Control 219
1
Output y
0
0.5
−1 y1
0 y2
y3
−0.5 −2
0 0.5 1 1.5 2 0 20 40 60 80 100
Time [sec] Time [sec]
10 1
u1
0 u2
0.5 u3
Input u
−10
0
−20
−30 −0.5
0 0.5 1 1.5 2 0 20 40 60 80 100
Time [sec] Time [sec]
Im Im
s0
s
β β
s
y
Re Re
x αl x αr
Now consider the cone region in Fig. B.23 (left), and a point s = x + jy in it. Let
s0 = x + jy0 be a point at the boundary of the region. Then
|x| |x|
tan β = < , for all s ∈ D
|y0 | |y|
This can be rewritten as
2 sin2 β x2
tan β = < 2 ⇒ x2 cos2 β − y 2 sin2 β > 0
cos2 β y
B. Solutions to Exercises - Optimal and Robust Control 221
h i
Further, x < 0 for all s ∈ D. Since β ∈ 0 90◦ , cos β > 0 and thus x cos β < 0 for all
s ∈ D. The problem is now write the above 2 conditions in the form
" #
k k
K = 11 12 < 0
k21 k22
Multiplying the second equation by k22 , which is a negative number, yields k11 k22 −
k12 k21 > 0. The similarity with the desired inequalities becomes noticeable.
To obtain the desired matrices, recall that s + s̄ = 2x and s − s̄ = 2jy. Thus select
" # " # " # " #
k11 k12 x cos β −jy sin β cos β − sin β cos β sin β
=2 = (x + jy) + (x − jy)
k21 k22 jy sin β x cos β sin β cos β − sin β cos β
This can be solved using the mincx function of the LMI lab toolbox in MATLAB, which
can solve problems of the type
lmiterm([Mk i j X],A,B,’s’);
The meaning of the variables is as follows: Mk that the term has to be added to the k-th
LMI; i j indicates the position in the LMI, that is Mkij ; X is variable; A and B are matrices
multiplying X by the left and right, that is Mkij = AXB. If present ’s’ indicates, that
the term is symmetric: Mkij = AXB + B T X T AT . Since lmiterm assumes, that the LMI
is Mk < 0, if 0 < Mk has to be defined this can be done by writing -Mk. Finally a constant
term Mkij = C can be defined as lmiterm([Mk i j 0],C);.
The LMIs for computing the H∞ norm can then be defined by
M1 = newlmi();
lmiterm([M1 1 1 P],1,A,’s’); % M11 = (*) + I*P*A
lmiterm([M1 1 2 P],1,B); % M12 = I*P*B
lmiterm([M1 1 3 0],C’); % M13 = C’
lmiterm([M1 2 2 g],-1,1); % M22 = -I*g*I
lmiterm([M1 2 3 0],D’); % M23 = D’
lmiterm([M1 3 3 g],-1,1); % M33 = -I*g*I
M2 = newlmi();
lmiterm([-M2 1 1 P],1,1); % 0 < P
mylmi = getlmis();
For example, if the objective function is g +xT0 P x0 , the above following code can construct
the corresponding c vector.
The H∞ norm is equal to cost. The decision variables P and g can be extracted as
P = dec2mat(mylmi,par,P);
g = dec2mat(mylmi,par,g);
Similarly the LMI conditions for computing the H2 norm can be constructed.
Matlab files: lmi_norm_hinf.m, lmi_norm_hinf.m, orc18_norms_via_LMIs.m
Besides the LMI Lab of the Robust Control toolbox of MATLAB there are many other
LMI solvers available. Worth mentioning here is the “Yet Another LMI Parser” (YALMIP)
that provides an interface between the definition of the LMIs and many LMI solvers
(including the LMI Lab). Two freeware solvers worth mentioning are the SEDUMI and
SDPT3 toolboxes. A lengthier list of LMI solvers for MATLAB can be found in the
documentation of YALMIP.
Using the short notations s = sin(β), c = cos(β) and Q = AP + Bu Y the above LMI can
be rewritten as
1. Using the physical model of the system. This is possible, only when it is known
which are the varying coefficients and what is their range.
Here only a simplified construction from the physical model is presented. A more
detailed examples can be found, for example, in the documentation of the Matlab
“µ-Analysis and Synthesis Toolbox” from Balas et.al., and in the book “Robust
Control Design with MATLAB” from Gu et.al. (note that both books use older
version of the Robust Control Toolbox than the one discussed in the exercises).
In the provided model the only physical parameter that varies is k, and kmin ≤
k ≤ kmax . It is always possible to rewrite it as k = k0 + k̃δ, where |δ| ≤ 1, where
k0 = (kmax + kmin )/2 and k̃ = (kmax − kmin )/2. Then as signal u multiplied by k can
be equivalently represented in a linear-fractional transformation form, as shown in
Fig. B.24.
" #
ku 0 1 u
k̃ k0
Using this the system in (21.6) can be augmented with an additional input and
output connected to δ, as shown below.
ẋ1 0 0 1 0 x1 0 0 0 0 w
ẋ2 0 0 0 1
x2 + 0 0 0 0
u
=
ẋ3 −k0 /m1 k0 /m1 0 0 x3 −k̃ 1/m1 1/m1 0 d1
2. Using the uncertain state-space model functions in Matlab (see help uss). These
functions allow defining uncertain gains, matrices and state-space models and using
them in standard Matlab functions.
For the above system, one can define: k = ureal(’k’, 1, ’range’, [0.5 2]);
and use it in the construction of the A matrix (which in return is an uncertain ma-
trix) and the system model G (which turns out as uncertain state-space model).
Then the function lftdata can be used to separate the uncertain model to a fixed
part and an uncertain varying part: [Go, Delta] = lftdata(G).
Note, that the function lftdata appears to work correctly only when the uncertain
parameters are defined with the middle value (that is k0 in the case of k as nominal
one). That is, lftdata will return the correct fixed part Go, only when k is defined
as: k = ureal(’k’, 1.25, ’range’, [0.5 2])
3. Using the uncertainty model construction technique presented on page 163. Note,
that wherever the previous two approaches can be used only in the case, where it
is known what the varying parameter is, this method can be also applied, when
one has several models of the same system. For example, one can linearise a non-
linear model (or identify a system from measurement data) for different operating
conditions, and thus obtain several different models of the same system. Then, using
this approach, an uncertainty model can be constructed that captures the variation
in the system in the form of uncertainty.
A vital issue when using these models is the selection of the nominal system (that
is the nominal A matrix). For simplicity take only the spring constant (instead of
the whole A matrix). It is known that 0.5 ≤ k ≤ 2. Consider two different choices
for the nominal value: k0 = 1 and k0 = 1.25. Since the uncertainty δ is normalised
(recall that k∆k ≤ 1 for the small gain theorem) each of the two choices of k0 will
lead to different scaling factors. When k0 = 1 a scaling k̃ = 1 will be needed, in
order to include kmax = 2, but this will also include, for example k = 0 which is
equivalent to no spring at all - that is the position of the second cart cannot be
influenced by moving the first one. When k0 = 1.25, the tightest (for this problem)
uncertainty description is achieved (no plants included outside the range of interest)
with k̃ = 0.75. This is illustrated in Fig. B.25.
Bad choice
kmin k0 kmax k
Good choice
kmin k0 kmax k
Figure B.25: Uncertainty description depending on the nominal model/value. The filled
area represents the values of k captured by the uncertainty model.
B. Solutions to Exercises - Optimal and Robust Control 227
The last two approaches are demonstrated in the Matlab solution to this problem.
(orc21_ACC1_model.m)
Having once constructed the model with the uncertainty there are different techniques
that one can use for the controller design.
• Nominal Performance [NP] - design a controller for the nominal system. This can be
done with any of the previously presented techniques (LQR, H2 , mixed-sensitivity,
etc.). However such a controller will not guarantee the stability of the two-cart
system under variations in the spring constant.
• Robust Stability [RS] - design a controller that stabilises the closed-loop system
under all plant variations captured by the uncertainty model. To do this one needs
to construct a generalised plant as the one shown in Fig. B.26. Note, that besides
having only the uncertainty input one can add also the disturbance inputs. This
is demonstrated in orc21_ACC2_hinfsyn_uss.m and orc21_ACC2_hinfsyn_unc.m
correspondingly for modelling techniques 2 (uss) and 3 (unc) above.
∆ ∆
w∞ z∞ w∞ z∞
P d P
u v u v
• Robust Performance [RP] - design a controller that satisfies the specified perfor-
mance criteria for all plants modelled by the uncertainty model. This is a much
stronger requirement than the previous ones and more difficult to satisfy. To per-
form the design a generalised plant P (s) with both uncertainty channels (z∞ , w∞ )
228 Appendices
w w∞ z∞ z
wP P (s) zP
u v
K(s)
Figure B.27: Generalised plant with both stability and performance channels.
Looking at the frequency response of the controller it can be seen that the controller
does not have a sufficient roll-off for high frequencies. The setup used so far weights the
transfer functions SGd and KSGd . Both of them should decrease for high frequencies, so
first order filters seem to be a reasonable choice for shaping the transfer functions. This
choice enforces a 20 dB/dec decrease of the transfer functions. For high frequencies S is
assumed to be constant. The plant’s frequency response to disturbances Gd decreases with
40 dB/dec. Therefore, the requirement of a 20 dB/dec decrease of the transfer functions
is already fulfilled without further roll-off in K. K can even increase with 20 dB/dec or
at least be constant for high frequencies without violating the requirements given by the
shaping filters.
In general, there are two possible improvements to deal with this problem. One possibility
would be a higher order shaping filter to enforce sufficient roll-off in K. Above that, the
four-block design allows additional weighting of the transfer functions S and KS and
leads to an appropriate controller in frequency domain.
For setting up the four-block design a second input channel r acting on the plant’s output
has to be introduced. In a second step, the shaping filters have to be tuned adequately.
As explained before, there should be a sufficient roll-off in the controller transfer func-
tion for high frequencies. Above that, the disturbance responses should meet the given
requirements. Increasing the tuning parameter M2 by a factor of four gives satisfying
results. For further details please consult the Matlab file orc21_ACC4_4block.m.
B. Solutions to Exercises - Optimal and Robust Control 229
Matlab files:
orc21_ACC1_model.m, uncertainty_model.m
orc21_ACC2_hinfsyn_unc.m, orc21_ACC2_hinfsyn_uss.m
orc21_ACC3_othersyn.m
orc21_ACC4_4block.m