Dec 16, 2010 - Motivation. Discrete-time HIFOO. Active Suspension System. Conclusions. Fixed-Structure Discrete-Time. Hâ Controller Synthesis with HIFOO.
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Fixed-Structure Discrete-Time H∞ Controller Synthesis with HIFOO Andrey Popov1 1 Institute
of Control Systems Hamburg University of Technology Germany
Herbert Werner1
Marc Millstone2
2 Courant
Institute of Mathematical Sciences New York University USA
16.12.2010 49th IEEE Conference on Decision and Control
1 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Contents
1
Motivation
2
Discrete-time HIFOO
3
Active Suspension System
4
Conclusions
2 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Contents
1
Motivation
2
Discrete-time HIFOO
3
Active Suspension System
4
Conclusions
3 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 1: Simple Controllers Fixed-structure controllers are + computationally efficient + economic/energy efficient + easy to implement and verify
But:
4 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 1: Simple Controllers Fixed-structure controllers are + computationally efficient + economic/energy efficient + easy to implement and verify
But: − generally a non-convex problem − convex reformulation only for SISO systems (central polynomial approach) [Henrion, 2005], [Khatibi & Karimi, 2010] ∼ variety of methods proposed for continuous-time problems 5 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 2: Discrete-Time Synthesis + + + −
digital controllers black-box identification high performance requirements/large sampling times T Performance is lost by continuous-time synthesis - shown in a moment
6 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 2: Discrete-Time Synthesis + + + −
digital controllers black-box identification high performance requirements/large sampling times T Performance is lost by continuous-time synthesis - shown in a moment
Often: bilinear transformation + continuous-time synthesis z=
2 + Ts , 2 − Ts
synthesis
s=
2 z−1 T z+1
7 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 2: Discrete-Time Synthesis + + + −
digital controllers black-box identification high performance requirements/large sampling times T Performance is lost by continuous-time synthesis - shown in a moment
Often: bilinear transformation + continuous-time synthesis z=
2 + Ts , 2 − Ts
synthesis
s=
2 z−1 T z+1
Problems − frequency warping − performance loss by constrained sampling rate 8 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Motivation - 3: Gradient-Based Techniques
Gradient-based fixed-structure H∞ synthesis [Burke et.al., 2006], [Apkarian & Noll, 2006] Offer fast convergence local optimum good results [Gumussoy et.al., 2008]
HIFOO is open source
9 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Problem Formulation Given a generalized plant G(z) find a controller K(z) ∈ K(z) such that kM (z)k∞ is minimized,
v u
where M (z) = FL (G(z), K(z))
w
G(z) e K(z) M (z)
10 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Contents
1
Motivation
2
Discrete-time HIFOO
3
Active Suspension System
4
Conclusions
11 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
HIFOO Algorithm 1
Initialization - random controllers
2
Stabilization
find K(z) ∈ K(z) s.t. M (z) = FL (G(z), K(z)) is stable
3
Closed-loop H∞ norm minimization minimize kFL (G(z), K(z))k∞ K(z)∈K(z)
12 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
HIFOO Algorithm 1
Initialization - random controllers
2
Stabilization
find K(z) ∈ K(z) s.t. M (z) = FL (G(z), K(z)) is stable
3
Closed-loop H∞ norm minimization minimize kFL (G(z), K(z))k∞ K(z)∈K(z)
13 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
HIFOO Algorithm 1
Initialization - random controllers
2
Stabilization
find K(z) ∈ K(z) s.t. M (z) = FL (G(z), K(z)) is stable
3
Closed-loop H∞ norm minimization minimize kFL (G(z), K(z))k∞ K(z)∈K(z)
14 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Stabilization Continuous-time
minimize α(A) K(z)
until α(A) < 0 α - spectral abscissa A - closed-loop system matrix
15 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Stabilization Continuous-time
minimize α(A) K(z)
until α(A) < 0 α - spectral abscissa A - closed-loop system matrix Gradient-steps 1 Given K(z), compute spec(A) and find λk at which α is attained 2 Compute gradient of α w.r.t. A 3 Compute gradient of A w.r.t. K(z) 4 Update K(z) 16 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Stabilization Continuous-time
minimize α(A) K(z)
until α(A) < 0 α - spectral abscissa A - closed-loop system matrix
Discrete-time
minimize ρ(A) K(z)
until ρ(A) < 1 ρ - spectral radius
Gradient-steps 1 Given K(z), compute spec(A) and find λk at which α is attained 2 Compute gradient of α w.r.t. A 3 Compute gradient of A w.r.t. K(z) 4 Update K(z) 17 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Stabilization Continuous-time
minimize α(A) K(z)
until α(A) < 0 α - spectral abscissa A - closed-loop system matrix
Discrete-time
minimize ρ(A) K(z)
until ρ(A) < 1 ρ - spectral radius
Gradient-steps 1 Given K(z), compute spec(A) and find λk at which ρ is attained 2 Compute gradient of ρ w.r.t. A 3 Compute gradient of A w.r.t. K(z) 4 Update K(z) 18 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). y?P x dλk = ? dt y x
[Horn & Johnson, 1985] Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | h ∂ρ = √RR 2 +I 2 ∂`k
√ I R2 +I 2
i
=
Hence dρ(A) = Re dt
`k |λk |
⇔
∂ρ λk = ∂λk |λk |
¯ λk y ? P x |λk | y ? x 19 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). dλk y?P x = ? dt y x
[Horn & Johnson, 1985] Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | h ∂ρ = √RR 2 +I 2 ∂`k
√ I R2 +I 2
i
=
Hence dρ(A) = Re dt
`k |λk |
⇔
∂ρ λk = ∂λk |λk |
¯ λk y ? P x |λk | y ? x 20 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). dλk y?P x = ? dt y x
[Horn & Johnson, 1985] Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | h ∂ρ = √RR 2 +I 2 ∂`k
√ I R2 +I 2
i
=
Hence dρ(A) = Re dt
`k |λk |
⇔
∂ρ λk = ∂λk |λk |
¯ λk y ? P x |λk | y ? x 21 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). dλk y?P x = ? dt y x
[Horn & Johnson, 1985] Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | h ∂ρ = √RR 2 +I 2 ∂`k
√ I R2 +I 2
i
=
Hence dρ(A) = Re dt
`k |λk |
⇔
∂ρ λk = ∂λk |λk |
¯ λk y ? P x |λk | y ? x 22 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). dλk y?P x = ? dt y x
[Horn & Johnson, 1985] Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | h ∂ρ = √RR 2 +I 2 ∂`k
√ I R2 +I 2
i
=
Hence dρ(A) = Re dt
`k |λk |
⇔
∂ρ λk = ∂λk |λk |
¯ λk y ? P x |λk | y ? x 23 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Computation Let A(t) = A0 + P t, A ∈ Rn×n and small t. Let λk ∈ spec(A) has algebraic multiplicity one and eigenvectors y (left) and x (right). dλk y?P x = ? [Horn & Johnson, 1985] dt y x Let λk = R + jI; `k = R I . p ρ = |λk | = R2 + I 2 = |`k | Theorem For a matrix A with ρ(A) = |λk | holds λk yx? ∇A ρ = Re |λk | y ? x 24 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Steps Stabilization 1
Compute spec(A) and find λk at which ρ is attained
2
Compute gradient of ρ w.r.t. A
3
Compute gradient of A w.r.t. K(z)
4
Update K(z)
25 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Gradient Steps Stabilization 1
Compute spec(A) and find λk at which ρ is attained
2
Compute gradient of ρ w.r.t. A
3
Compute gradient of A w.r.t. K(z)
4
Update K(z)
H∞ norm minimization 1
Compute f = kM (z)k∞ = σ ¯ (M ) −1 x jω x where Mx = C Ie −A B+D
2
Compute the gradient of f w.r.t. Mx
3
Compute the gradient of Mx w.r.t. K(z)
4
Update K(z) 26 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Contents
1
Motivation
2
Discrete-time HIFOO
3
Active Suspension System
4
Conclusions
27 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Active Suspension Benchmark System d
[Landau et.al. 2003]
28 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Active Suspension Benchmark System
d
−
K(z)
u
P (z)
y
29 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
sensitiv. [dB]
Design Requirements 5 0 −5
control sens. [dB]
−10 20 0 −20 −40 −60 −80
0
50
100
150
200
250
300
350
400
0
50
100
150 200 250 frequency [Hz]
300
350
400
30 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Active Suspension System - 4-Block Design
v1
V1 (z)
v2
V2 (z)
W2 (z)
w2
W1 (z)
w1
y −
K(z)
P (z)
[Hol et. al. 2003]
31 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Active Suspension System - 4-Block Design
v1
V1 (z)
v2
V2 (z)
−
K(z)
Pˆ (z)
W2 (z)
w2
W1 (z)
w1
y
[Hol et. al. 2003] Cont. gain of zero at 0.5Fs
⇒
Pˆ (z) = P (z) z+1 z 32 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Comparison Controller design approach Full order Balanced reduction Curved line search Cone complement. Hybrid Evol.-Algebr. Hybrid Evol.-Algebr. HIFOO
- continuous
HIFOO
- discrete
k
γ
27 5 5 5 5 2 5 2 1 5 2 1
2.476 3.405 2.506 2.630 2.589 2.596 2.611 2.473 2.611 2.466 2.470 2.611
Computation time load 11.9 s 12.8 s 4h23m45s 14m33s 2m42s 1m25s 22.3 s 41.4 s 20.6 s 1m33s 28.2 s 7.7 s
1 1.07 1329.00 73.36 13.61 7.16 11.69 21.68 10.82 51.87 14.75 4.17 33 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Comparison Controller design approach Full order Balanced reduction Curved line search Cone complement. Hybrid Evol.-Algebr. Hybrid Evol.-Algebr. HIFOO
- continuous
HIFOO
- discrete
k
γ
27 5 5 5 5 2 5 2 1 5 2 1
2.476 3.405 2.506 2.630 2.589 2.596 2.611 2.473 2.611 2.466 2.470 2.611
Computation time load 11.9 s 12.8 s 4h23m45s 14m33s 2m42s 1m25s 22.3 s 41.4 s 20.6 s 1m33s 28.2 s 7.7 s
1 1.07 1329.00 73.36 13.61 7.16 11.69 21.68 10.82 51.87 14.75 4.17 34 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Comparison Controller design approach Full order Balanced reduction Curved line search Cone complement. Hybrid Evol.-Algebr. Hybrid Evol.-Algebr. HIFOO
- continuous
HIFOO
- discrete
k
γ
27 5 5 5 5 2 5 2 1 5 2 1
2.476 3.405 2.506 2.630 2.589 2.596 2.611 2.473 2.611 2.466 2.470 2.611
Computation time load 11.9 s 12.8 s 4h23m45s 14m33s 2m42s 1m25s 22.3 s 41.4 s 20.6 s 1m33s 28.2 s 7.7 s
1 1.07 1329.00 73.36 13.61 7.16 11.69 21.68 10.82 51.87 14.75 4.17 35 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
sensitiv. [dB]
Performance
27th order
0 −5 −10
control sens. [dB]
Requir.
5
20 0 −20 −40 −60 −80
0
50
100
150
200
250
300
350
400
0
50
100
150 200 250 frequency [Hz]
300
350
400 36 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
sensitiv. [dB]
Performance 5
Requir.
0
1st order
−5 −10
control sens. [dB]
27th order
20 0 −20 −40 −60 −80
0
50
100
150
200
250
300
350
400
0
50
100
150 200 250 frequency [Hz]
300
350
400 37 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
sensitiv. [dB]
Performance 5
Requir.
0
1st order 2nd order
−5 −10
control sens. [dB]
27th order
20 0 −20 −40 −60 −80
0
50
100
150
200
250
300
350
400
0
50
100
150 200 250 frequency [Hz]
300
350
400 38 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Contents
1
Motivation
2
Discrete-time HIFOO
3
Active Suspension System
4
Conclusions
39 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Conclusions
Discrete-time fixed-structure H∞ synthesis Allows direct structural restrictions Better results than previous techniques
40 / 41
Motivation
Discrete-time HIFOO
Active Suspension System
Conclusions
Software HIFOO +d
http://bitbucket.org/andrey.popov/hifoo-d Discrete-time Replicated/repeated controller blocks: K1 (z) K1 (z) K2 (z) K(z) ∈ K2 (z)
redundant elements symmetric systems multi-agent systems [Popov & Werner, 2010] µ-synthesis [Apkarian, 2010]
features, not available in M ATLAB 2010b or HIFOO 3.0 GPL 41 / 41