You are on page 1of 59

A Very Rough Guide

to Robust Control

A S Sharma

1
Approach
• Robust control is fairly abstract &
mathematical and takes longer than 2hrs to
understand thoroughly
• But the broad concepts are intuitive
• Many ways to ‘do’ robust control - chose just
one
• We will focus on understanding the concepts
rather than providing pages of proofs (you
can refer to the books)
• You can play with the toy example along the
way to illustrate important concepts
2
Outline
1.Key tools
2. H∞ regulator

3.A toy example

3
Outline
1.Key tools
2. H∞ regulator

3.A toy example

relevant matlab
files will be
in these boxes

3
Useful books on H∞
• Linear Robust Control, Green & Limebeer,
Prentice-Hall (PDF on web)

• Robust and Optimal Control, Zhou, Doyle


& Glover, Prentice-Hall

• Multivariable Feedback Control,


Maciejowski, Addison-Wesley

4
Useful books on H∞
• Linear Robust Control, Green & Limebeer,
Prentice-Hall (PDF on web)

• Robust and Optimal Control, Zhou, Doyle


& Glover, Prentice-Hall

• Multivariable Feedback Control,


Maciejowski, Addison-Wesley

Useful background:
• Linear Systems, Kailath, Prentice-Hall

• An Introduction to Hilbert Space,Young,


Cambridge
4
Assumed pre-requisites
• Signals; linear systems (state-space)

• Stability

• Controllability, observability

• Matrix maths

...covered in ZD&G or Kailath

5
Key Tools

6
svd.m

Singular Value Decomposition


For any matrix M, there is a decomposition:
M = U ΣV !

where U, V unitary,

UU! = I VV! =I
Σ = diag(σ1 , σ2 , . . . , σi ).

σ1 > σ2 > . . . > σi ≥ 0 σi ∈ R

7
svd.m

Singular Value Decomposition


For any matrix M, there is a decomposition:
M = U ΣV !

where U, V unitary,
‘output’ basis vectors ‘input’ basis vectors
UU! = I VV! =I
Σ = diag(σ1 , σ2 , . . . , σi ).

‘gains’ in an orthogonal space


σ1 > σ2 > . . . > σi ≥ 0 σi ∈ R

7
ss.m

State space realisation (LTI)


Relate output y to input u in frequency domain:
y(s) = G(s)u(s)

Time domain:
ẋ(t) = Ax(t) + Bu(t) d
ẋ(t) = x(t)
y(t) = Cx(t) + Du(t) dt

Are related by:


G(s) = C(sI − A) −1
B+D (Laplace transform,
eliminate x)

Sometimes written: ! "


s A B
G=
C D
8
called = P = −1 2 (4.1.3
y well-posed if the
u inverse p(I21− Pp2222K) exists.
u
By eliminating y and u from the feedback system defined by
u = sy. ! " ! "lft.m
! " (4.1.4
Linear Fractional Transformation
EliminatingLINEAR
u and y FRACTIONAL
z
y
=
TRANSFORMATIONS
we obtain the relationship
P 11 P 12
P 21 P 22
w
u
u = Ky,
z −1
P ij ’s and K are transfer function = p
which iswmatrices +
11 orp s(1 −
systems.
in 12 p s)
4.2,22itThe p21 seen
LFT is that z = F! (P , K)w.
These equations describe this feedback loop:
illustrated Figure is easily
osed if the inverse (I − P 22 K)−1 exists.2
nating y andbetween
u fromw the
andfeedback
z. Comparing
systemthis withby
defined (4.1.2),
z
we see that the ratio w
ξ = (z/w) i
Figure 4.1 is a linear fractional " of the variable"s. The correspondenc
! " ! " !transformation
" P
z the coefficients
between P 11 Pa,12b, c, d wand P is given by "
=
y ! −1 " ! u
y P 21 P 22 u!
−1
u = Ky, bd a − bd c
P = −1 −1 . (4.1.5
d −d c ! K
strated in Figure 4.2, it is easily seen that z = F! (P , K)w.
We will use the notation
A Linear
z
Fraction Transformation
F! (P, s) = pw11 + p12 s(1 − p(LFT)
22 s) p simply
Figure 4.2: Linear fractional transformation on systems.
−1
21 (4.1.6
" "of the properties of LFTs of interest to us follow from routine ap
eliminates y and
Pof
u
Most
the
from
definition
these
(4.1.7).
equations
These properties are
(try
explored
it):
in the exercises a
for this form of LFT. "
of the chapter which should, as always, be read as an integral part of the
y ! ! ul
In the sequel, we will needz = F (P,
generalizations
K)w of (4.1.6) of the form

F4.1.1
! (P , K)The
= P composition
11 + P 12 K(I formula
− P 22 K) −1
P 21 , (4.1.7
! K The purpose of this section is to give a composition formula for the interc
of two LFTs in the framework of Figure 4.3. This formula will be extens
There are standard ss formulae for this essential tool.
in what follows.
The interconnection given in Figure 4.3 is defined by the equations
Figure 4.2: Linear fractional transformation on systems.
! " ! "! " 9
Incremental gain
• Need to bound the “size” of a system
• Do via the incremental gain γ(·)
• Incremental gain is a norm
• The RMS change in output divided by RMS
change in input is at most equal to the
incremental gain
γ(G) = inf{γ : ||Gw − Gw̃||2 ≤ γ||w − w̃||2 }

∀w, w̃ ∈ L2e , ∀T > 0


For a linear system, γ(G) = ||G||∞
norm(G,inf)

10
The small-gain theorem
...is a nonlinear stability / contraction theorem

Suppose γ(H1 )γ(H2 ) < 1 w1 H1


e1

Then, loop is internally stable


e2
H2
w2
If external disturbances w are in L2
then so are states e

11
for all w ∈ L2 [0, ∞), which corresponds to the interpretation of
input. We also know that the closed-loop system in Figure 4.7,

Model uncertainty w
z
= ∆z
= F! (P , K)w,


is internally stable for all ∆ : L2 [0, ∞) %→ L2 [0, ∞) such that γ(
Choose to represent model
uncertainty as a disturbance ∆
to linear system ! ∆

z ! ! w
• (There are other ways)
"
• Define control objective as: P "

y ! ! u
• find K that stabilises loop
1
for all γ(∆) < γ ∗ ! K

• i.e. make CL of P, K bounded



by γ Figure 4.7: Generalized regulator with robustness inter

Assumptions
In solving the generalized regulator problem, we shall make the
tions concerning the generalized plant in (4.2.1): 12
Bounded real lemma
Links infinity norm bound to Riccati eqn
Iff ||G||∞ ≤ γ then:
1. ||D|| ≤ γ , equivalently R = γ 2
I − D !
D>0 ω→∞

2. There is a positive definite, symmetric,


stabilising solution to some Riccati equation
(which is a quadratic matrix equation)

Equivalent to bounding cost function:


||z||2
||G||∞ = sup ! > 0 s.t. J = ||z||22 − γ 2 ||w||22 ≤ −!||w||22
ω∈L2 ||w||2

13
Prepare for worst, hope for best
• What is the best control against the worst-case
disturbance?

• Minimise some cost function J

- opponent wants to maximise J (via disturbance)

- We want to minimise J (via control)

• The solution lies on a saddle point

• This is a min-max or game theory problem

14
Prepare for worst, hope for best
• What is the best control against the worst-case
disturbance?

• Minimise some cost function J

- opponent wants to maximise J (via disturbance)

- We want to minimise J (via control)

• The solution lies on a saddle point

• This is a min-max or game theory problem

14
Section summary
• We stated some useful results:
- SVD
- LFT
- Incremental gain
- Small-gain theorem (to provide a robust stability
result)
- Bounded real lemma (to go from specification to
Riccati equations we can solve)

• We can use a game-theoretic interpretation of the


robust control problem; disturbance vs. control

15
The H∞ Regulator
A canonical problem in robust control

16
Robust controller synthesis

1. Find a controller K that bounds the CL transfer


function from disturbance to penalty
2. Small gain theorem then gives stability for a model
set including the plant P
3. Apply bounded real lemma to find expression for K
4. Get two Riccati equations
5. Construct K from solutions to these

17
Robust controller synthesis

1. Find a controller K that bounds the CL transfer


function from disturbance to penalty
2. Small gain theorem then gives stability for a model
set including the plant P
3. Apply bounded real lemma to find expression for K
4. Get two Riccati equations
5. Construct K from solutions to these

17
Robust controller synthesis

1. Find a controller K that bounds the CL transfer


function from disturbance to penalty
2. Small gain theorem then gives stability for a model
set including the plant P
3. Apply bounded real lemma to find expression for K
4. Get two Riccati equations
5. Construct K from solutions to these

17
which the P ij ’s and K are transfer function matrices or systems. The LFT is

Problem formulation
ed well-posed if the inverse (I − P 22 K)−1 exists.2
By eliminating y and u from the feedback system defined by
! " ! "! "
z P 11 P 12 w
=
y P 21 P 22 u

Find K that bounds transfer function from


u = Ky,

disturbance w to penalty z:
ch is illustrated in Figure 4.2, it is easily seen that z = F (P , K)w.
!

z w
" "
P " z = Rw
y ! ! u ||R||∞ < γ
! K

Equivalent tofractional
Figure 4.2: Linear bounding coston systems.
transformation function:
! > 0 s.t. J = 2 routine
Most of the properties of LFTs of interest to us follow from
||z|| − γ 2 applications
||w|| 2
he definition (4.1.7). These properties are explored in the2 exercises at the

2 end −!||w||2
2
he chapter which should, as always, be read as an integral part of the text.

.1 Such
The a K is not
composition unique
formula since it arises from an inequality
purpose of this section is to give a composition formula for the interconnection
wo LFTs in the framework of Figure 4.3. This formula will be extensively used
18
Problem formulation
K is not unique, so is parameterised:
u y
" "
Ka "

b ! ! a

! U

All optimal against worst-case disturbance, but vary


otherwise.
Usually choose U=0, the ‘central controller,’ as
-least number of states (same as plant)
-uses same control rule away from worst case disturbance
19
Robust controller synthesis

1. Find a K that bounds the CL transfer function from


disturbance to penalty
2. Small gain theorem then gives stability for a model
set including P
3. Apply bounded real lemma to find expression for K
4. Get two Riccati equations
5. Construct K from solutions to these

20
Requires assumptions
(A, B2 , C2 ) is stabilisable & detectable
... needed for admissable controllers

21
Requires assumptions
(A, B2 , C2 ) is stabilisable & detectable
... needed for admissable controllers
!
D21 D21 =I
to make the problem easier
!
D12 D12 =I

21
Requires assumptions
(A, B2 , C2 ) is stabilisable & detectable
... needed for admissable controllers
!
D21 D21 =I
to make the problem easier
!
D12 D12 =I

! "
A − jωI B2
C1 D12
∀ω ∈ R is full column rank
! "
A − jωI B1
C2 D21
∀ω ∈ R is full row rank

... needed to solve Riccati equations

21
Proof
Derivation omitted for brevity...
See:
•Green & Limebeer
•Zhou, Doyle & Glover

We’ll skip to the result.

22
Controller synthesis
 
A B1 B2
Plant is: H1 =  C1 0 D12 
C2 D21 0

Some definitions / transformations...


à = A − !
B2 D12 C1 Ā = !
A − B1 D21 C2
Q̃ = C1 (I
!
− D12 D12 )C1
!
Q̄ = B1 (I − D21 D21 )B1
!

F = !
D12 C1 + B2 X
!

Z = Y (I − γ XY )
−2 −1

C2z = C2 + γ D21 B1 X
−2 "

23
Controller synthesis
Control Riccati equation:
à X + X à −
! !
X(B2 B2 −γ −2
B1 B1 )X
!
+ Q̃
à − (B2 B2! − γ −2 B1 B1! )X < 0

X = X! ≥ 0
Estimation Riccati equation:
Y Ā + ĀY − Y
!
(C2 C2
!
−γ −2
C1 C1 )Y
!
+ Q̄
Ā − Y (C2! C2 − γ −2 C1! C1 ) < 0

Y =Y! ≥0
Coupling condition:
ρ(XY ) < γ 2

24
Robust controller synthesis

1. Find a K that bounds the CL transfer function from


disturbance to penalty
2. Small gain theorem then gives stability for a model
set including P
3. Apply bounded real lemma to find expression for K
4. Get two Riccati equations
5. Construct K from solutions to these

25
Controller synthesis
Central controller is then:
v̇k = Ak vk + Bk y
f = Ck vk
with
Ak = A + γ B1 B1 X
−2 "
− B2 F − Bk C2z
Bk = B1 D21 + ZC2z
! !

Ck = −F

26
Section summary
• A solution to our robust controller
synthesis problem exists if and only if there
are stabilising solutions to two Riccati
equations
• The worst-case-optimal control and
estimator are coupled
• The worst-case-optimal controller is not
unique
• The central controller is simplest
27
A Toy Example

28
Procedure

29
Procedure (Slide stolen from James)

29
Procedure (Slide stolen from James)
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

29
Procedure (Slide stolen from James)
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

29
Van der Pol Oscillator
ẍ(t) − µ(x (t) − 1)ẋ(t) + x(t) = f (t)
2

• Nonlinear system

• Second order (so two states)

• Solution at origin is unstable

• Limit-cycle behaviour

• Models a circuit involving a


tunnel diode

• Can we apply robust control?

30
Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

31
State space form
Treat as connected linear system H1 and nonlinearity H2...
Stop writing explicit dependence on t;
Define: ẋ = µx + a

Linear system (H2):


! " # $! " ! " ! "
ẋ µ 1 x 0 0 H1
= + d+ f
ȧ 1 0 a −µ 1
Nonlinear system (H1):
d = x ẋ 2 H2

...loop is exactly equivalent to our original system.

32
Similarity transformation
Our system:
! " # $! " ! " ! "
ẋ µ 1 x 0 0
= + d+ f
ȧ 1 0 a −µ 1

Apply transformation T:
! " # $! " ! "
x 1 0
x x
= =T
ẋ µ 1
a a
! " ! "
ẋ x
= T AT −1
+ T B1 d + T B2 f
ẍ ẋ

End up with same system, different states.


vanderpol_lin.m
vanderpol_nonlin.m

33
Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

34
Linear analysis of system

Transfer function from d to x, for µ = 1


−1
H1 (s) = 2
s −s+1

Two poles in RHP (so unstable)

analyse.m

35
Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

36
Measurement & cost
! "
x
Plausible cost function: z=
f
! "
x
Plausible measurement: y=
d

Controller such that:


||z||
||Hzd ||∞ = sup <γ
d∈L2 ||d||

vanderpol_lin.m

37
Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

38
hinf_controller.m

Controller synthesis
 
A B1 B2
Plant is: H1 =  C1 0 D12 
C2 D21 0

Some definitions / transformations...


à = A − !
B2 D12 C1 Ā = !
A − B1 D21 C2
Q̃ = C1 (I
!
− D12 D12 )C1
!
Q̄ = B1 (I − D21 D21 )B1
!

F = !
D12 C1 + B2 X
!

Z = Y (I − γ XY )
−2 −1

C2z = C2 + γ D21 B1 X
−2 "

39
hinf_controller.m

Controller synthesis
Control Riccati equation:
à X + X à −
! !
X(B2 B2 −γ −2
B1 B1 )X
!
+ Q̃
à − (B2 B2! − γ −2 B1 B1! )X < 0

X = X! ≥ 0
Estimation Riccati equation:
Y Ā + ĀY − Y
!
(C2 C2
!
−γ −2
C1 C1 )Y
!
+ Q̄
Ā − Y (C2! C2 − γ −2 C1! C1 ) < 0

Y =Y! ≥0
Coupling condition:
ρ(XY ) < γ 2

40
hinf_controller.m

Controller synthesis
Controller is then:
v̇k = Ak vk + Bk y
f = Ck vk
with
Ak = A + γ B1 B1 X
−2 "
− B2 F − Bk C2z
Bk = B1 D21 + ZC2z
! !

Ck = −F
! "
x
and vk is estimate of v=

41
In the case of the objective !F! (P , K)!∞ < γ, we have that
hinf_controller.m
!z!2 ≤ γ!w!2

Controller synthesis for all w ∈ L2 [0, ∞), which corresponds to the interpretation of w
input. We also know that the closed-loop system in Figure 4.7, de

w = ∆z
z = F! (P , K)w,
CL transfer function from disturbance
is internally stable for all ∆ : L [0, ∞) %→ L [0, ∞) such that γ(∆
2 2

to penalty z is now bounded by γ


! ∆

Guaranteed stability while z ! ! w

disturbance obeys bounds P


"
"

y ! ! u
Note: nonlinearity does not obey ! K
gain bounds for larger values of x,
dx/dt; Figure 4.7: Generalized regulator with robustness interpr

So expect to lose control for large


Assumptions
In solving the generalized regulator problem, we shall make the fo
excursions tions concerning the generalized plant in (4.2.1):

1. (A, B2 , C2 ) is stabilizable and detectable.

2. rank(D12 ) = m and rank(D21 ) = q. 42


Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

43
Nonlinear simulation
Uncontrolled:

Controlled:

Try for yourselves:


vdp_uncontrolled(1,20,0.001,[1;0])
vdp_controlled(1,20,0.001,[1;0],5,true)
44
Procedure
1. Model system to be controlled
2. Linearise model about operating point(s). Simplify model if
necessary
3. Analyse the resulting model, determine its properties
4. Decide on performance specifications, decide on type of controller
to be used - choose sensors and actuators
5. Design controller to meet specifications
6. Test controllers by simulation with full non-linear model of the plant
7. Design hardware and software and implement controller. Test
controller using hardware in the loop simulation
8. Implement controller on system and tune controller on-line if
necessary.

45
Controller tuning
Try playing with:
★gamma
★initial conditions
★nonlinearity,
★choice of penalty, C1, D12

in these files
vanderpol_lin.m
vdp_controlled(mu,T,0.001,[x0;xdot0],gamma,true)

46
Section summary
• We linearised the toy nonlinear model
• Linear model is unstable at origin
• Defined robust control objective
• Found controller stabilising nonlinear
system for a quantified set of disturbances
• Controller meets objectives in nonlinear
simulations

47
Final summary

• Reviewed tools required for robust control


design
• Looked at one type of robust control
problem: the H∞ regulator
• Applied it to a toy problem with relevant
features

48

You might also like