structured adaptive control, or how to solve lmis with...

33
Structured adaptive control, or how to solve LMIs with Simulink Alexandru - Razvan LUZI Dimitri PEAUCELLE IEIIT-CNR Torino, october 2012 1/21

Upload: others

Post on 08-Apr-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control,or how to solve LMIs with Simulink

Alexandru - Razvan LUZIDimitri PEAUCELLE

IEIIT-CNR Torino, october 2012

1/21

Page 2: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Introduction

Introduction

n Direct adaptive control:Adaptation of control gains done directly based on measurements.

s 6= Indirect adaptive control:Estimator of model parameters + scheduled control gain

n Feedback-loop stabilizing gains, MRAC not considered

n Lyapunov based stability proofs, not gradient approximation ‘MIT rule’

n Framework initiated by V.A. Yakubovich in the late 1960’s

l Contributions: new adaptive control law with asymptotic structure+ may solve LMIs

2/21

Page 3: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Plan

Plan

1 Passivity-based adaptive control

2 LMIs are strict-passifiable systems

3 Structured adaptive control

4 Numerical Example

3/21

Page 4: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Passivity-based adaptive control

Passivity-based adaptive control of LTI systems

Theorem

The following two conditions are equivalent:Ê There exists a static control u(t) = Fy(t) + w(t) for the system

x(t) = Ax(t) + Bu(t) , y(t) = Cx(t) , z(t) = y(t)

that makes the closed-loop strictly passive (with respect to w/z).

Ë For all Γ � 0 the following adaptive control

u(t) = K (t)y(t) + w(t) , K (t) = −y(t)yT (t)Γ

makes the closed-loop globally strictly-passive.

4/21

Page 5: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Passivity-based adaptive control

l Strict-passivity includes asymptotic stability of x = 0l Adaptive control converges to K (∞): strictly-passifying static gain

s Theorem for square systems - extensions exist for non-square systemss Not all stabilizable systems are strictly-passifiable

- modified adaptive laws exist for stabilizable systems

l Condition Ê also reads in terms of matrix inequalities as

∃Q � 0 : (A + BFC)TQ + Q(A + BFC) ≺ 0 , QB = CT

It happens to be an LMI constraint!

∃Q � 0 : ATQ + QA + CT (FT + F )C ≺ 0 , QB = CT

n Finding F solution to the LMI is equivalent to simulating the systemwith the adaptive control law and taking F = K (∞).

5/21

Page 6: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

All LMIs define strict-passifiable systems

l Let us consider an example: LMIs for an upper bound on the H∞ norm[ATP + PA + CTC PB + CTD

BTP + DTC −γ21 + DTD

]≺ 0 , P = PT � 0.

s All LMI constraints can be gathered in one ATP + PA + CTC PB + CTD 0BTP + DTC −γ21 + DTD 0

0 0 −P

≺ 0 , P = PT

6/21

Page 7: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

All LMIs define strict-passifiable systems

l Let us consider an example: LMIs for an upper bound on the H∞ norm[ATP + PA + CTC PB + CTD

BTP + DTC −γ21 + DTD

]≺ 0 , P = PT � 0.

s All LMI constraints can be gathered in one ATP + PA + CTC PB + CTD 0BTP + DTC −γ21 + DTD 0

0 0 −P

≺ 0 , P = PT

6/21

Page 8: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s All LMI constraints can be gathered in one ATP + PA + CTC PB + CTD 0BTP + DTC −γ21 + DTD 0

0 0 −P

≺ 0 , P = PT

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

A =

CTC CTD 0DTC DTD 0

0 0 0

, BP =

A B 01 0 00 0 1

, Bγ =[

0 1 0]

7/21

Page 9: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s All LMI constraints can be gathered in one ATP + PA + CTC PB + CTD 0BTP + DTC −γ21 + DTD 0

0 0 −P

≺ 0 , P = PT

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

A =

CTC CTD 0DTC DTD 0

0 0 0

, BP =

A B 01 0 00 0 1

, Bγ =[

0 1 0]

7/21

Page 10: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

s Or equivalently when gathering all variables in a block-diagonal matrix

A + BTFB ≺ 0 , B =[

BP Bγ

]with the structural equality constraints

F =

[FP 00 Fγ

], FP =

0 P 0P 0 00 0 −P

, P = PT , Fγ = −γ21

l The constraint A + BTFB ≺ 0 holds iff(A,B,C = BT ) is strictly-passifiable by F .

n LMI converted to strict-passification problem, with equality constraints.

8/21

Page 11: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

s Or equivalently when gathering all variables in a block-diagonal matrix

A + BTFB ≺ 0 , B =[

BP Bγ

]with the structural equality constraints

F =

[FP 00 Fγ

], FP =

0 P 0P 0 00 0 −P

, P = PT , Fγ = −γ21

l The constraint A + BTFB ≺ 0 holds iff(A,B,C = BT ) is strictly-passifiable by F .

n LMI converted to strict-passification problem, with equality constraints.

8/21

Page 12: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

s Or equivalently when gathering all variables in a block-diagonal matrix

A + BTFB ≺ 0 , B =[

BP Bγ

]with the structural equality constraints

F =

[FP 00 Fγ

], FP =

0 P 0P 0 00 0 −P

, P = PT , Fγ = −γ21

l The constraint A + BTFB ≺ 0 holds iff(A,B,C = BT ) is strictly-passifiable by F .

n LMI converted to strict-passification problem, with equality constraints.

8/21

Page 13: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

s Can be decomposed in a sum with elementary matrix variables

A + BTP

0 P 0P 0 00 0 −P

BP + BTγ (−γ21)Bγ ≺ 0 , P = PT

s Or equivalently when gathering all variables in a block-diagonal matrix

A + BTFB ≺ 0 , B =[

BP Bγ

]with the structural equality constraints

F =

[FP 00 Fγ

], FP =

0 P 0P 0 00 0 −P

, P = PT , Fγ = −γ21

l The constraint A + BTFB ≺ 0 holds iff(A,B,C = BT ) is strictly-passifiable by F .

n LMI converted to strict-passification problem, with equality constraints.

8/21

Page 14: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

n Procedure applies to any LMI: concludes with search of passifying

F =

F1 0. . .

0 FN

for a (symmetric) system (A,B,C = BT )

with additional structural equality constraints that can be compacted in

vec(Fi ) = Sixi ⇔ Uivec(Fi ) = 0

where vec(Fi ) is the vector composed of stacked columns of Fi ,xi are vectors of independent scalar decision variables and Ui = S⊥i .

l When starting from the canonical representation L0 +∑

j xjLj ≺ 0,then the structural constraints are all of the type

Fj =

[xj1rj1 0

0 −xj1rj2

]and rj1 + rj2 can be very large and Uj is huge.

l F and Ui s expected to be smaller when matrix representation.

9/21

Page 15: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

LMIs are strict-passifiable systems

n Procedure applies to any LMI: concludes with search of passifying

F =

F1 0. . .

0 FN

for a (symmetric) system (A,B,C = BT )

with additional structural equality constraints that can be compacted in

vec(Fi ) = Sixi ⇔ Uivec(Fi ) = 0

where vec(Fi ) is the vector composed of stacked columns of Fi ,xi are vectors of independent scalar decision variables and Ui = S⊥i .

l When starting from the canonical representation L0 +∑

j xjLj ≺ 0,then the structural constraints are all of the type

Fj =

[xj1rj1 0

0 −xj1rj2

]and rj1 + rj2 can be very large and Uj is huge.

l F and Ui s expected to be smaller when matrix representation. 9/21

Page 16: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Block-diagonal adaptive control with asymptotic structure

Theorem

The following two conditions are equivalent:Ê There exists a decentralized static control ui (t) = Fiyi (t) + wi (t)satisfying the structural constraints Uivec(Fi ) = 0 for the system

x(t) = Ax(t) +∑

Biui (t) , yi (t) = Cix(t) , z(t) = y(t)

that makes the closed-loop strictly passive (with respect to w/z).

Ë For all Γi � 0, αi > 0 the following adaptive control

ui (t) = Ki (t)yi (t) + wi (t) ,

Ki (t) = −yi (t)yTi (t)Γi − αi ·mat

(UT

i Ui · vec(Ki (t)))

Γi

makes the closed-loop globally strictly-passive.

‘mat’ is the function such that mat(vec(F )) = F .10/21

Page 17: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë

l Ê reads as

∃F ,∃Q � 0 :(A + BFC)TQ + Q(A + BFC) < 0, QB = CT ,F = diag

[· · · Fi · · ·

], Ui · vec(Fi ) = 0

(1)

l Let the Lyapunov function for the non-linear system (with adaptive law)

V (x ,K ) =1

2

(xTQx +

∑i

Tr(

(Ki − Fi )Γ−1(Ki − Fi )T))

l After manipulations and using QB = CT , Ui · vec(Fi ) = 0, we get:

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

11/21

Page 18: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë

l Ê reads as

∃F ,∃Q � 0 :(A + BFC)TQ + Q(A + BFC) < 0, QB = CT ,F = diag

[· · · Fi · · ·

], Ui · vec(Fi ) = 0

(1)

l Let the Lyapunov function for the non-linear system (with adaptive law)

V (x ,K ) =1

2

(xTQx +

∑i

Tr(

(Ki − Fi )Γ−1(Ki − Fi )T))

l After manipulations and using QB = CT , Ui · vec(Fi ) = 0, we get:

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

11/21

Page 19: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë

l Ê reads as

∃F ,∃Q � 0 :(A + BFC)TQ + Q(A + BFC) < 0, QB = CT ,F = diag

[· · · Fi · · ·

], Ui · vec(Fi ) = 0

(1)

l Let the Lyapunov function for the non-linear system (with adaptive law)

V (x ,K ) =1

2

(xTQx +

∑i

Tr(

(Ki − Fi )Γ−1(Ki − Fi )T))

l After manipulations and using QB = CT , Ui · vec(Fi ) = 0, we get:

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

11/21

Page 20: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë (continued)

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

s First term is strictly negative due to (1), until x = 0,s Last term is strictly negative, until Ui · vec(Ki ) = 0

n If no perturbations (w = 0) the system converges to the attractor

A = {(x ,K ) : x = 0 , Ui · vec(Ki ) = 0}

n On the attractor Ki = 0: the gains Ki (∞) are constant.

12/21

Page 21: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë (continued)

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

s First term is strictly negative due to (1), until x = 0,s Last term is strictly negative, until Ui · vec(Ki ) = 0

n If no perturbations (w = 0) the system converges to the attractor

A = {(x ,K ) : x = 0 , Ui · vec(Ki ) = 0}

n On the attractor Ki = 0: the gains Ki (∞) are constant.

12/21

Page 22: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë (continued)

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

n For initial conditions at equilibrium and nonzero perturbations

0 ≤ V (x(t),K (t)) =

∫ t

0V (x ,K )dτ <

∫ t

0wT z dτ

⇒ the system is strictly passive.

13/21

Page 23: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ê ⇒ Ë (continued)

V (x ,K ) = xT (A + BFC)TQx + wT z −∑

i

αi (Ui · vec(Ki ))T (Ui · vec(Ki )).

n For initial conditions at equilibrium and nonzero perturbations

0 ≤ V (x(t),K (t)) =

∫ t

0V (x ,K )dτ <

∫ t

0wT z dτ

⇒ the system is strictly passive.

13/21

Page 24: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Proof of Ë ⇒ Ê

l The system with adaptive control is globally asymptotically stable,it converges to a asymptotically stable equilibrium:F i = Ki (∞) are stabilizing gains.

l Same reasoning holds for passivity.

14/21

Page 25: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Structured adaptive control

Summary

n All LMI problems are equivalent to static output-feedbackstrict-passification problems with structure constraints:

- gain F is block-diagonal- sub-blocks should satisfy Uivec(Fi ) = 0.

n If a structured strict-passification problem admits solutions,the block-diagonal adaptive law with asymptotic structure will converge toone of these.

l The LMIs can be solved by simulating the adaptive controlled systems.

s If the system converges Ki (∞) contain solutions of the LMIs.

s If does not converges the LMIs are infeasible.

15/21

Page 26: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

Numerical example

l Consider the transfer function:

G (s) =s2 + s + 1

s2 + s + 2

l Problem: compute the H∞ norm (or at least an upper bound).

s In Matlab: norm(G, Inf, 1e-4) = 1.3251

s LMI problem converted to adaptive passification

Ki = −yiyTi Γi − αi ·mat

(UT

i Ui · vec(Ki ))

Γi , y1 ∈ R6 , y2 ∈ R

with structural asymptotic constraints :

F1 =

0 P 0PT 0 00 0 −P

, P = PT ∈ R2×2 , F2 = −γ21 = −γ2.

16/21

Page 27: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

Numerical example

l Consider the transfer function:

G (s) =s2 + s + 1

s2 + s + 2

l Problem: compute the H∞ norm (or at least an upper bound).

s In Matlab: norm(G, Inf, 1e-4) = 1.3251

s LMI problem converted to adaptive passification

Ki = −yiyTi Γi − αi ·mat

(UT

i Ui · vec(Ki ))

Γi , y1 ∈ R6 , y2 ∈ R

with structural asymptotic constraints :

F1 =

0 P 0PT 0 00 0 −P

, P = PT ∈ R2×2 , F2 = −γ21 = −γ2.

16/21

Page 28: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

l Parameters for simulating the adaptive law (simulation in Simulink)s Initial conditions x = (1 . . . 1)T and Ki = 0s Γ1 = 1000 · 1, Γ2 = 10, α1 = α2 = 1

l Convergence to zero of the ‘outputs’ yi

17/21

Page 29: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

l Parameters for simulating the adaptive law (simulation in Simulink)s Initial conditions x = (1 . . . 1)T and Ki = 0s Γ1 = 1000 · 1, Γ2 = 10, α1 = α2 = 1l Convergence to zero of the ‘outputs’ yi

17/21

Page 30: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

s Convergence to structured values of the adapted gains Ki

K1(∞) =

266666640 0 4.6330 1.0671 0 00 0 1.0671 10.7960 0 0

4.6330 1.0671 0 0 0 01.0671 10.7960 0 0 0 0

0 0 0 0 −4.6330 −1.06710 0 0 0 −1.0671 −10.7960

37777775K2(∞) = −7.1307

18/21

Page 31: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

s Evolution of the (1 : 2, 3 : 4) elements of K1 that converge to P

s Solution of the LMIs

P =

[4.6330 1.06711.0671 10.7960

], γ = 2.6703 ≥ 1.3251 = γopt

19/21

Page 32: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Numerical Example

l Test for feasible / unfeasible casess Only K1 is adapated, γ is slowly linearly modified

s Unstable behavior when γ < 1.3251 = γopt .20/21

Page 33: Structured adaptive control, or how to solve LMIs with Simulinkhomepages.laas.fr/peaucell/presentation/TorinoOct2012.pdf · 2014-02-10 · Structured adaptive control, or how to solve

Conclusions

Conclusions et perspectives

n LMI feasibility problems can be solved by simulating systems

s Need for a parser to convert LMIs to adaptive control problems Simulation time is large - what is the best implementation ?s Is simulation time polynomial w.r.t. size of problem ?

n What about LMI optimization problems ?

s Decreasing parameters until system becomes unstable ?s Minimizing gap with dual LMI problem (it works).s Other ?

n Solving time-varying LMI problems ?

21/21