Professional Documents
Culture Documents
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
Outline
1.Key tools
2. H∞ regulator
relevant matlab
files will be
in these boxes
3
Useful books on H∞
• Linear Robust Control, Green & Limebeer,
Prentice-Hall (PDF on web)
4
Useful books on H∞
• Linear Robust Control, Green & Limebeer,
Prentice-Hall (PDF on web)
Useful background:
• Linear Systems, Kailath, Prentice-Hall
• Stability
• Controllability, observability
• Matrix maths
5
Key Tools
6
svd.m
where U, V unitary,
UU! = I VV! =I
Σ = diag(σ1 , σ2 , . . . , σi ).
7
svd.m
where U, V unitary,
‘output’ basis vectors ‘input’ basis vectors
UU! = I VV! =I
Σ = diag(σ1 , σ2 , . . . , σi ).
7
ss.m
Time domain:
ẋ(t) = Ax(t) + Bu(t) d
ẋ(t) = x(t)
y(t) = Cx(t) + Du(t) dt
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 }
10
The small-gain theorem
...is a nonlinear stability / contraction theorem
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
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 ω→∞
13
Prepare for worst, hope for best
• What is the best control against the worst-case
disturbance?
14
Prepare for worst, hope for best
• What is the best control against the worst-case
disturbance?
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)
15
The H∞ Regulator
A canonical problem in robust control
16
Robust controller synthesis
17
Robust controller synthesis
17
Robust controller synthesis
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
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
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
21
Proof
Derivation omitted for brevity...
See:
•Green & Limebeer
•Zhou, Doyle & Glover
22
Controller synthesis
A B1 B2
Plant is: H1 = C1 0 D12
C2 D21 0
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
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
• Limit-cycle behaviour
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
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
ẍ ẋ
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
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
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
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
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
43
Nonlinear simulation
Uncontrolled:
Controlled:
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
48