cours de commande optimale lqg - ensieg.dox.free.frensieg.dox.free.fr/1a_ensieg/automatique/doxs...

63
Cours de commande optimale LQG Didier GEORGES INP Grenoble Octobre 2004

Upload: tranngoc

Post on 16-Sep-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Cours de commande optimale LQG

Didier GEORGESINP Grenoble

Octobre 2004

Page 2: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Plan du cours

•Motivations pour la commande optimale

• Le regulateur optimal Lineaire-Quadratique (LQ)

• L’observateur optimal LQ

• La commande optimale Lineaire-Quadratique-Gaussienne (LQG)

• Une methode de synthese (etude de cas : stabilisation du tangage d’un helicoptere) :

– Synthese LQ/LQGa ponderations frequentielles par ”Loop Shaping”

1

Page 3: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Motivations pour la commande optimale

• Placement de poles = choix den poles en boucle fermee pour un systeme d’ordren. Pour un systemea m > 1 entrees, un retour d’etat =m × n gainsKij pourplacer lesn poles=> m × n − n ddls => infinite de gains possibles : quelcritere de choix adopter ?

• Comment choisir lesn poles pour garantir des objectifs de performance et derobustesse d’un systeme d’ordren > 5 ?

• De facon duale, memes questions pour la synthese d’un observateur

• Plutot que placer des poles, optimiser un critere de performance=> on fixe lesddls :

minu

∫ ∞

0

{zT (t)Qz(t) + uT (t)Ru(t)}dt

2

Page 4: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Le regulateur optimal

Lineaire-Quadratique

• Enonce : trouveru = −Kx qui minimise

minu

∫ ∞

0

{zT (t)Qz(t) + uT (t)Ru(t)}dt

sous {x(t) = Ax(t) + Bu(t), x(t) ∈ Rn, u(t) ∈ Rm

z(t) = Nx(t)

ou Q = QT ≥ 0 etR = RT > 0.

3

Page 5: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Solution

• Par le principe d’optimalite de Bellman :”une strategie optimale possede la pro-priete que, quelques soient l’etat initial et l’instant initial, les decisions restanta prendre (c’est-a-dire les decisionsa prendrea partir de cetetat initial et decet instant initial) doivent aussi constituer une strategie optimale.”

• Permet de resoudre un probleme de commande optimale :

minu(t),0≤t≤tf

∫ tf

0

l(t, x(t), u(t))dt + qf(tf , x(tf))

x = F (t, x(t), u(t)),u(t) = k(t, x(t)), k ∈ Φx ∈ Rn, u ∈ Rm

(1)

ou tf designe l’horizon de commande, suppose fixe, et ou Φ designe l’ensembledes strategies de commande en boucle fermee admissibles.

4

Page 6: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Solution (suite)

• Notion de fonction de Bellman :

V (t, x) = minu(s),t≤s≤tf

∫ tf

t

l(s, (x(s), u(s))ds + qf(tf , x(tf)) (2)

lorsquex(t) = x quelconque∈ Rn, avec la condition au temps finalV (tf , x) =

qf(tf , x).

• Parametrage en temps et dans l’espace d’etat des problemes commencant autemps initialt ∈ [0, tf ], sachant que l’etat initial estx(t) = x, ∀x ∈ Rn.

5

Page 7: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Le principe d’optimalite permet d’ecrire :

V (t, x) = minu(t)

[

∫ t+dt

t

l(s, x(s), u(s))ds

+ minu(s),t+dt≤s≤tf

∫ tf

t+dt

l(s, (x(s), u(s))ds + qf(tf , x(tf))]

= minu(t)

[

∫ t+dt

t

l(s, x(s), u(s))ds + V (t + dt, x(t + dt))]

(3)

avec la condition au temps finalV (tf , x) = qf(tf , x).

• On note d’abord qu’au premier ordre :∫ t+dt

t

l(s, x(s), u(s))ds = l(t, x(t), u(t))dt + o(dt). (4)

6

Page 8: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• De plus un developpement au premier ordre deV (t + dt, x(t + dt)) autour de(t, x(t)) conduita :

V (t+dt, x(t+dt)) = V (t, x(t))+∂V (t, x)

∂tdt+

∂V (t, x)

∂xF (t, x, u)dt+o(dt). (5)

• Finalement en reportant ces deux approximations dans (3), on obtient :

V (t, x) = minu(t)

[l(t, x(t), u(t))dt

+V (t, x(t)) +∂V (t, x)

∂tdt +

∂V (t, x)

∂xF (t, x, u)dt + o(dt)]

• Lorsquedt → 0, on obtient l’equation d’Hamilton-Jacobi-Bellman :

−∂V (t, x)

∂t= min

u[l(t, x, u) +

∂V (t, x)

∂xF (t, x, u)] (6)

avec la condition au temps final

V (tf , x) = qf(tf , x). (7)

7

Page 9: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Ou encore :

minu

[l(t, x, u) + V (t, x)] = 0 (8)

avec la condition au temps final

V (tf , x) = qf(tf , x), (9)

en notant queV (t, x) =∂V (t, x)

∂t+

∂V (t, x)

∂xF (t, x, u).

8

Page 10: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Solution : application au cas LQ

• Problemea temps fini :

minu

∫ tf

0

{zT (t)Qz(t) + uT (t)Ru(t)}dt + x(tf)TQfx(tf)

sous {x(t) = Ax(t) + Bu(t), x(t) ∈ Rn, u(t) ∈ Rm

z(t) = Nx(t)

ou Q = QT ≥ 0, Qf = QTf ≥ 0 etR = RT > 0.

• On chercheV (t, x) sous la forme :V (t, x) = xTP (t)x :

• minu

[l(t, x, u) + V (t, x)] = 0 ⇔ minu

[xTNTQNx + uTRu

+xTP (t)x + xTP (t)x + xT P x] = 0

9

Page 11: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Soit encore :

minu

[xTNTQNx + uTRu + (Ax + Bu)TPx + xTP (Ax + Bu) + xT P x] = 0

• On pose :H(t, x, u) = xTNTQNx + uTRu + (Ax + Bu)TPx + xTP (Ax +Bu) + xT P x

• La commande optimaleu∗ est donnee par∇uH = 0 (condition de stationnarite)

• ∇uH = 0 ⇔ Ru∗ + BTP (t)x = 0 ⇔ u∗ = −R−1BTP (t)x

• On obtient finalement l’equation differentielle :

xT{NTQN + ATP + PA− PBR−1BTP + P}x = 0, ∀x ∈ Rn

• Equation de Riccati :

NTQN + ATP + PA− PBR−1BTP + P = 0 (10)

• Condition terminale fixee parV (tf , x) = xTQfx ⇔ P (tf) = Qf

10

Page 12: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Integration retrograde permet d’obtenirP (t), ∀t ∈ [0, tf ] : calcul hors-ligne carindependant dex

• Commande en boucle fermee :u∗(t, x) = −R−1BTP (t)x

• Systeme en boucle fermee : x = (A−BR−1BTP (t))x

11

Page 13: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Poursuite optimale LQ

• Probleme :

minu

∫ tf

0

{(z(t)−r(t))TQ(z(t)−r(t))+uT (t)Ru(t)}dt+(z(tf)−r(tf))TQf(z(tf)−r(tf))

sous {x(t) = Ax(t) + Bu(t), x(t) ∈ Rn, u(t) ∈ Rm

z(t) = Nx(t)

ou Q = QT ≥ 0, Qf = QTf ≥ 0 etR = RT > 0.

• On chercheV (t, x) sous la forme :V (t, x) = xTP (t)x + 2xTg(t) + h(t) :

12

Page 14: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Solution par programmation dynamique :

NTQN + ATP + PA− PBR−1BTP + P = 0, P (tf) = NTQfN.

g = −(A−BR−1BTP )Tg + NTQr, g(tf) = −NTQfr(tf).

h = gTBR−1BTg − rTQr, h(tf) = rT (tf)Qfr(tf).

13

Page 15: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Regulateur LQ

• tf → +∞ :

minu

∫ ∞

0

{zT (t)Qz(t) + uT (t)Ru(t)}dt

sous {x(t) = Ax(t) + Bu(t), x(t) ∈ Rn, u(t) ∈ Rm

z(t) = Nx(t)

• Solution stationnaire de l’equation de Riccati (en faisantP = 0).

• Fonction de Bellman independante det :

V (x) = xTPx = minu

∫ ∞

0

{zT (s)Qz(s) + uT (s)Ru(s)}ds (11)

lorsquex(0) = x.

14

Page 16: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• P = P T > 0 est solution de l’equation algebrique de Riccati :

NTQN + ATP + PA− PBR−1BTP = 0

15

Page 17: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Autre solution du regulateur LQ

• Critere de performance :

J = Trace[

∫ ∞

0

(xTQxx + uTRu)dt] = Trace[(Qx + KTRK)L],

avecQx = NTQN etL =∫∞

0 xxTdt, puisqueu = −Kx.

• Systeme en boucle fermee :x(t) = e(A−BK)tx0 est tel que

(A−BK)L + L(A−BK)T = −x0xT0 .

si K choisi tel queA−BK stable ((A,B) stabilisable).

• Preuve :

(A−BK)L + L(A−BK)T =

∫ ∞

0

[(A−BK)e(A−BK)t(x0xT0 )e(A−BK)T t

+e(A−BK)t(x0xT0 )e(A−BK)T t(A−BK)T ]dt.

16

Page 18: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Soit encore :

(A−BK)L + L(A−BK)T =

∫ ∞

0

d

dt[e(A−BK)t(x0x

T0 )e(A−BK)T t]dt = 0− x0x

T0

• Probleme : trouverK qui minimiseJ sous la contrainte(A − BK)L + L(A −BK)T = −x0x

T0 .

• Hamiltonien :

H = Trace[(Qx + KTRK)L + P ((A−BK)L + L(A−BK)T + x0xT0 )]

• C.N. d’optimalite : ∂H∂L = 0 et ∂H

∂K = 0.

• ∂H∂L = 0 ⇒ Qx + KTRK + P (A−BK) + (A−BK)TP = 0.

• ∂H∂K = 0 ⇒ 2RKL− 2BTPL = 0 ⇒ K = −R−1BTP .

• d’ou l’ equation de Riccati :PA + ATP − PBR−1BTP + Qx = 0.

• Cout optimal :Jmin = xT0 Px0.

17

Page 19: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Resolution de l’equation de Riccati

•Matrice Hamiltonienne :

H =

(A −BR−1BT

−Qx −AT

)

• Propriete : les2n valeurs propres deH sont lesn valeurs propres deA−BK etlesn valeurs propres opposees.

• Preuve :

detH = det

(A−BR−1BTP −BR−1BT

−Qx − ATP −AT

)

detH = det

(A−BK −BR−1BT

P (A−BK) −AT

)= det

(A−BK −BR−1BT

0 −AT + KTBT

)

C.Q.F.D.

18

Page 20: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Corollaire : siH n’a pas de v.p. sur l’axe imaginaire,n et seulementn v.p. apartie reelle< 0, appeleesλi, i = 1, ..., n.

• On peutecrire :HX = XΛ avecλ = diag(λ1, ..., λn).

• En partitionnantX :(

A −BR−1BT

−Qx −AT

)(X1

X2

)=

(X1

X2

• on obtient :

AX1 −BR−1BTX2 = X1Λ

−QxX1 − ATX2 = X2Λ

• En posantP = X2X−11 :

−Qx − ATP = P [AX1 −BR−1BTX2]X−11 ]

c’est-a-dire :

PA + ATP + Qx − PBR−1BTP = 0.

19

Page 21: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Stabilite deA−BK, car :

X−11 (A−BK)X1 = Λ

• Positivite deP , carequation de Lyapunov :

(A−BK)TP + P (A−BK) = −Qx −KTRK

• Remarque importante : on montre que si(A,B) est stabilisable et(A,Q1/2x )

est detectable, alorsH n’a pas de valeurs propres sur l’axe imaginaire etP =

P T ≥ 0 (seulement semi-definie positive).

20

Page 22: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Stabilite du regulateur LQ

• si (A,B) est stabilisable et(C, Q1/2x ) est detectable, alors il existe une unique

matriceP symetrique, semi-definie positive, solution stabilisante de l’equationde Riccati algebrique.

21

Page 23: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Comportement modal en boucle fermee

• Cas mono-entree, mono-sortie (u ∈ R, z ∈ R) :

J =

∫ ∞

0

(zTz + ru2)dt =

∫ ∞

0

(xTNTNx + ru2)dt.

• Fonction de transfert du systeme :G(s) = N(sI − A)−1B. On supposeq zeroszi etn polespi deG(s).

• Si r → 0 :

– Systemea dephasage minimal: q poles tendent asymptotiquement vers lesq

zeros deG(s). n − q poles tendent vers−∞ : le temps de reponse devientinfiniment court.P → 0.

– Systemea dephasage non minimal: q desn poles tendent vers

zi =

{zi, Re(zi) ≤ 0−zi, Re(zi) > 0

22

Page 24: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Lesn− q poles restant tendent vers−∞ : temps de reponse

limit e par les zeros instables ”en miroir”.P ne tend pas vers0.

• Si r → +∞ : lesn poles en boucle fermee tendent vers :

pi =

{pi, Re(pi) ≤ 0−pi, Re(pi) > 0

”Effet miroir des poles instables” : presence d’au moins un pole instable = com-mandea energie minimale non nulle.

• Resultats generalisables si dimu ≥ dim z.

23

Page 25: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Robustesse du regulateur LQ

• Transfert de boucle :L(s) = K(sI − A)−1B = R−1BTP (sI − A)−1B.

• Reecriture de l’equation de Riccati :

NTQN − PBR−1BTP − (sI − AT )P − P (sI − A) = 0.

•Multiplication parBT (−SI − AT ) a gauche et par(sI − A)−1B a droite :

GT (−s)QG(s)− LT (−s)RL(s)−RL(s)− LT (−s)R = 0.

• ou encore :

(I + LT (−s))R(I + L(s)) = R + GT (−s)QG(s).

• D’ou :

(I + LT (−s))R(I + L(s)) ≥ R.

24

Page 26: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Cas mono-entree, mono-sortie :

|1 + L(jω)| ≥ 1 ⇔ S(jω) ≤ 1

ou S(s) = 11+L(s) designe la fonction de sensibilite.

•Marges de stabilite :

– Marge de gain[0.5; +∞]

– Marge de phase[−60◦; +60◦]

– Marge de module≥ 1.

• Remarques :

– La presence d’un observateur fait perdre ces marges.

– Ces marges sont perdues en presence de termes croises enx et u dans lecritereJ .

25

Page 27: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Exemples numeriquesConsiderons la commande LQ (Q = 1, R = 1) du systemea non minimum de

phase eta deux poles instables, de fonction de transfertH(s) =s− 3

(s− 1)(s− 2).

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

Lieu de Nyquist − Transfert de boucle

Axe réel

Axe

imag

inai

re

Figure 1: Exemple de lieu de Nyquist d’un regulateur LQ

26

Page 28: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Considerons le systeme double integrateur :

x =

(0 10 0

)x +

(01

)u

z =(

1 −1)x

• G(s) = (1− s)/s2.

• On recherche la commande LQ qui minimise :

J =

∫ +∞

0

z2(t) + ru2(t)dt

• P =

(p1 p2

p2 p3

)avec

p1 = 1 +√

1 + 2√

rp2 =

√r

p3 =√

r(1 + 2√

r)

etK =(

1√r

√1+2

√r√

r

)

• Lorsquer → 0 : 1 pole tend vers−1, l’autre, vers−∞.

27

Page 29: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

L’observateur optimal LQ

• Objectif : produire un estime x de l’etatx du systeme :{

x(t) = Ax(t) + Bu(t), x(t) ∈ Rn, u(t) ∈ Rm

y(t) = Cx(t)

sachant quex(0) est inconnu et en cherchanta minimiser le critere :

J = xT (0)S−1x(0) +

∫ τ

0

((y − y)TV −1(y − y) + vTW−1v)dt

sachant quex = Ax + Bu + Mv et x(0), inconnu.

28

Page 30: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Resolution

• Resolution comme un probleme de poursuite optimale LQ : en inversant letemps :t → τ − t : x(t) = x(τ − t)

d

dtx(t) = −Ax−Bu

• Le critere devient :

J =

∫ τ

0

((y − ˜y)TV −1(y − ˜y) + vTW−1v)dt + ˜xTS−1 ˜x

sachant quex = −A ˜x−Bu− Ev.

29

Page 31: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Solution :

CTV −1C + AT P + PA− PEWET P + ˙P = 0, P (τ ) = S−1.

˙g = −(A− EWET P )T g + CTV −1y, g(τ ) = 0.

˙h = gTEWET g − yTV −1y, h(τ ) = 0.

• Le cout optimal :

J = ˜xT P ˜x + 2˜xT g + h

s’ecrit aussi :

J = (˜x + P−1g)T P (˜x + P−1g)− gT P−1g + h

dont le minimum est obtenu pour˜x = −P−1g.

30

Page 32: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• En revenant en temps ”direct”, en posantM(t) = P−1 et sachant queM =

−MPM : equations du filtre de Kalman instationnaire :

M = MAT + AM −MCTV −1CM + EWET , M(0) = S

˙x = Ax + Bu + M(t)CTV −1(y − Cx), x(0) = 0

31

Page 33: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Filtre de Kalman stationnaire

• Horizon infini : τ → +∞MAT + AM −MCTV −1CM + EWET = 0,

˙x = Ax + Bu + MCTV −1(y − Cx)

• Interpretation stochastique : il s’agit de l’estimateur d’etat optimal du systeme :{

x = Ax + Bu + Ewy = Cx + v,

ou w etv representent des bruits blancs, centres et independant de variance :

E[w(t)w(t)T ] = W ≥ 0, E[v(t)v(t)T ] = V > 0

qui minimise la variance de l’erreur d’estimationE{trace((x− x)(x− x)T )}.

32

Page 34: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Dualite

• Dualite entre observateur LQ et commande LQ : passage desequations de Ric-cati de l’observateur et du regulateur grace aux correspondances :

A ↔ AT , B ↔ CT , N ↔ ET

R ↔ V, Q ↔ W

K ↔ LT

• Corollaire : Stabilite de l’observateur :si (A,C) est detectable et(A,W1/21 ),

avecW1 = EWET , est stabilisable, alors il existe une unique matriceM

symetrique, semi-definie positive, solution stabilisante de l’equation de Riccatialgebrique de l’observateur optimal.

33

Page 35: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Commande LQG

• Soit le systeme :

x = Ax + Bu + Ew,y = Cx + v,z = Nx

ou w etv representent des bruits blancs, centres et independant de variance :

E[w(t)w(t)T ] = W ≥ 0, E[v(t)v(t)T ] = V > 0.

On cherche la commande qui minimise :

J = limT→+∞

E[

∫ T

0

(zTQz + uTRu)dt], Q = QT ≥ 0, R = RT > 0

34

Page 36: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Solution

• Principe de separation :

– Calcul du regulateur optimal LQ :u = −Kx, avecK = R−1BTP et P ,solution de

ATP + PA− PBR−1BTP + NTQN = 0.

– Calcul de l’observateur optimal LQ de gainL = MCTV −1 :

˙x = Ax + Bu + L(y − Cx), x(0) = 0

avecM , solution de

MAT + AM −MCTV −1CM + EWET = 0.

35

Page 37: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Synthese LQ/LQGa ponderations frequentielles

Figure 2: Loop Shaping

• Performance : bon suivi de consigne et bonne rejection des perturbationsp :Sy faible⇒ σ(Sy(jω)) < 1

|W1(jω)| pourω < ωb,

• Robustesse :attenuation deTy en haute frequence.

36

Page 38: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Ponderations frequentielles

• D’apres le theoreme de Parseval, le critere Sortie/Entree :∫ +∞

0

(yTQy + uTRu)dt

estequivalenta :

1

∫ +∞

−∞(Y (jω)∗QY (jω) + U(jω)∗RU(jω))dω

Si on introduit des ponderations frequentielles :

1

∫ +∞

−∞(Y (jω)∗Q(jω)Y (jω) + U(jω)∗R(jω)U(jω))dω

37

Page 39: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Cela revienta introduire des filtresQ1/2 etR1/2, sur la sortie et sur l’entree :

U(s) = R1/2(s)U(s)Y (s) = Q1/2(s)Y (s)

• Le critere peut alors se mettre sous la forme :

1

∫ +∞

−∞(Y (jω)∗Y (jω) + U(jω)∗U(jω))dω

• Plus de ponderations !

38

Page 40: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

InterpretationLe probleme estequivalenta calculer le regulateur optimal LQ, solution duprobleme :

minu

∫ +∞

0

(yTy + uTu)dt

sous le systeme augmente d’etatX = (xT , xTQ, xT

R)T , defini par

x = Ax + Bu (12)y = Cx (13)

R−1/2

{xR = ARxR + BRuu = CRxR

(14)

Q1/2

{xQ = AQxQ + BQyy = CQxQ + DQy

(15)

Le regulateur est de la forme :

u = −Lxx− LQxQ − LRxR

39

Page 41: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Schema du regulateur LQ

Figure 3:

• On doit souvent associer ce regulateura un observateur d’etat optimal (LQG) :

˙x = Ax + Bu + K(y − Cx) ,

{K = MCTV −1,MAT + AM −MCTV −1CM + W = 0

40

Page 42: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Choix deR−1/2(s) et Q1/2(s)

Figure 4:

En prenant les filtres de la forme suivante :

R−1/2(s) =kR

1 + τRsIm, Q1/2(s) = kQ

1 + τQs

1 + 10τQsIp

41

Page 43: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Proprietes

• On obtient :

– GraceaR−1/2(s) : decroissance plus rapide deL hors bande passante (ameliorationde robustesse), ((−1− nR)× 20 dB/decade,nR : ordre du filtre) ;

– Gracea Q1/2(s) : accroissement de la pente deL dans la bande passante(accroissement de performance), (nQ × 20 dB/decade,nQ : ordre du filtre)

42

Page 44: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Loop Transfer Recovery (LTR)• LQG avec gain du regulateurL et gain de l’observateurK.

• Transfert de boucle du regulateur LQ :

LLQ(s) = L(sId − A)−1B

• Transfert de boucle du controleur LQG :

LLQG(s) = L(sId − A + BL + KC)−1KC(sId − A)−1B

• Calcul de l’observateur optimal : W = W0 + q2BBT etV = V0

• Proposition : Si G(s) = C(sId−A)−1B (avecm = p) esta minimum de phase,alors lorsqueq → +∞, LLQG(s) → LLQ(s).

• Approche : augmenterq, jusqu’a ce que les 2 transferts soient proches (au sensdes valeurs singulieres) ; attention : sensibilite au bruit de mesure accrue.

• Propri ete modale : lorsqueq → +∞, les poles de l’observateur (v.p. deA −KC) tendent vers les zeros du systeme et les poles restant, vers−∞.

43

Page 45: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Methodologie :

1. Reglage du regulateur LQ par ponderations frequentielles (Loop Shaping) ;

2. Calcul de l’observateur optimal (LTR)˙x = (A−KC)x + BCRxR + Ky a partirdeV = V0 etW = W0 + q2BBT , pourq donne.

3. Comparaison des valeurs singulieres deLLQ etLLQG ;

• Si OK, alors FIN, sinon : augmenterq et retour en 2).

LLQ (u → u∗) est calcule a partir de :

X =

AR −BRLR −BRLx −BRLQ

0 A 00 BQC AQ

X +

0B0

u

u∗ =(

CR 0 0)X

44

Page 46: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

avecXT = (xTR, xT , xT

Q)T , L = (LR, Lx, LQ) etLLQG, a partir de :

X =

AR −BRLR 0 −BRLQ −BRLx

0 A 0 00 BQC AQ 0

BCR KC 0 A−KC

X +

0B00

u

u∗ =(

CR 0 0 0)X

avecXT = (xTR, xT , xT

Q, xT )T .

45

Page 47: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Etude de cas

• Stabilisation du mouvement longitudinal d’un helicoptere :

Figure 5:

• Systeme d’ordre 4,a 2 entrees et 2 sorties

46

Page 48: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Representation d’etat autour d’une vitesse de 40 nœuds :

x =

−0, 02 0, 005 2, 4 −32−0, 14 0, 44 −1, 3 −30

0 0, 018 −1, 6 1, 20 0 1 0

x +

0, 14 −0, 120, 36 −8, 60, 35 0, 009

0 0

u

y =

(0 1 0 00 0 0 57, 3

)x

• etat x : vitesse longitudinale, vitesse verticale, vitesse angulaire de tangage,assiette de tangage

• commandeu : pas cyclique longitudinal, pas collectif.

• Systeme instable (poles : +0, 491 ± 0, 415j; 0,0652; -2,228), maisa dephasageminimal (zero : -0,018).

47

Page 49: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Reponses frequentielles

10−4

10−3

10−2

10−1

100

101

102

103

−200

−150

−100

−50

0

50

100

150

200

Réponse fréquentielle avec/sans modèle rotors − hélicoptère + gabarit incertitude

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

• Pulsation de coupure autour de 20 rd/s.

• Dynamiques negligees des rotors : du type 2nd ordre avec pole double (G(s) =625/(p+25)2), avec pulsation proprea 25 rd/s : gabarit d’incertitude multiplica-tive.

48

Page 50: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Synthese LQ

• Objectifs :

– Stabiliser le mouvement longitudinal;

– Obtenir un gain statique nominal unitaire;

– Assurer la robustesse vis-a-vis des dynamiques HF negligees (dynamique des2 rotors en entree).

• Correcteur :u = −Kx + Kryref .

• Ponderations du regulateur LQ :Q = CTC, R = I2.

K =

[ −0, 0033 0, 0472 14, 6421 60, 88940, 0171 −1, 0515 0, 2927 3, 2469

]

• Poles en boucle fermee :[ −8, 6168 −3, 3643 + 2, 9742j −3, 3643− 2, 9742j −0, 0196

]

49

Page 51: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

•Kr choisi de sorte que le gain statique en boucle fermee =1 :C(−A+BK)−1BKr =

1 c’est-a-direKr = (C(−A + BK)−1B)−1 :

Kr =

[ −0, 0042 1, 0951−1, 0030 −0, 0331

]

• Illustration du comportement modal : avecR = 0, 01 × I2 : poles en bouclefermee :

[ −86, 0759 −10, 0773 + 9, 9524j −10, 0773− 9, 9524j −0, 0180]

• Le pole−0, 0180 compense le zero (−0, 0180) du systeme.

• Robustesse - rotors : siσi(Ty)σ(∆) ≤ 1, i = 1, 2, ou Ty = (I +L)−1L, sensibilite

en sortie et∆(s) =−s2 − 50s

s2 + 50s + 625(incertitude multiplicative en entree).

• Gabarit d’incertitudesa ne pas depasser est donc :∆−1 =s2 + 50s + 625

−s2 − 50s

50

Page 52: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Robustesse vis-a-vis des incertitudes assuree et marge de gain[0, 5; +∞] :

10−4

10−2

100

102

−50

0

50

100

150

200

10−4

10−2

100

102

0

5

10

15

20

25

30

Transfert de boucle LQ − Ty − gabarit incertitude

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 6: Transfert LQ -Q = CTC etR = I2.

51

Page 53: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

• Gabarit non respecte, mais toujours marge de gain[0, 5; +∞] :

10−4

10−2

100

102

104

−100

−50

0

50

100

150

200

10−4

10−2

100

102

104

0

5

10

15

20

25

30

35

40

45

50

Transfert de boucle LQ − Ty − gabarit incertitude

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 7: Transfert LQ -Q = CTC etR = 0, 01× I2.

52

Page 54: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQG/LTR

• Ponderation de l’observateur :W = q2BBT et V = I2 : perte des marges[0, 5; +∞], degradation de la performance (v.s. inferieuresa celles du LQ).

100

105

−300

−250

−200

−150

−100

−50

0

50

100

150

200

10−4

10−2

100

102

−15

−10

−5

0

5

10

15

Transfert de boucle LQG − Ty − gabarit incertitude

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 8: Transfert LQG -Q = CTC, R = I2, q = 0, 1.

53

Page 55: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQG/LTR : recouvrement

100

105

−300

−250

−200

−150

−100

−50

0

50

100

150

200

10−4

10−2

100

102

−15

−10

−5

0

5

10

15

20

25

30

Recouvrement LQ − LQG

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L LQ) et sigma (I + L LQG)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 9: Recouvrement LQ - LQG -q = 0, 1.

54

Page 56: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQG/LTR : recouvrement

100

105

−250

−200

−150

−100

−50

0

50

100

150

200

100

105

−5

0

5

10

15

20

25

30

Recouvrement LQ − LQG

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L LQ) et sigma (I + L LQG)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 10: Recouvrement LQ - LQG -q = 100.

55

Page 57: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Sensibilite au bruit de mesure

10−2

100

102

104

−200

−150

−100

−50

0

50

10−4

10−2

100

102

−60

−50

−40

−30

−20

−10

0

10

Sensibilité au bruit de mesure en sortie

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Sensibilité au bruit de mesure en entrée

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 11:q = 0.1.

56

Page 58: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Sensibilite au bruit de mesure

100

105

−250

−200

−150

−100

−50

0

50

100

105

−50

−40

−30

−20

−10

0

10

20

Sensibilité au bruit de mesure en sortie

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Sensibilité au bruit de mesure en entrée

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 12:q = 100.

57

Page 59: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Commentaires

• Roll off avec pente de -20dB/decade : risque de manque de robustesse en HF.

• Performance limitee par gain en BF : solution = introduction d’un integrateursur chaque sortie (filtreQ1/2).

58

Page 60: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQ avec ponderations frequentielles

• R−1/2 =

(1

0,05s+1 0

0 10,05s+1

)etQ1/2 =

(1s 00 1

s

).

10−8

10−6

10−4

10−2

100

102

−100

−50

0

50

100

150

200

250

300

Transfert de boucle LQ avec/sans pondérations fréquentielles − KG/(I+KG) − gabarit

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 13: - : LQ avec pf; – :(I + KG)−1KG; -. : LQ sans pf; .. : gabarit

59

Page 61: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQ avec ponderations frequentielles

0

0.5

1

1.5

To:

Out

(1)

0 1 2 3 4 5 6 7 80

0.5

1

1.5

To:

Out

(2)

Linear Simulation Results

Time (sec)

Am

plitu

de

Figure 14:

60

Page 62: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

LQG/LTR avec pond. freq.

100

105

−300

−250

−200

−150

−100

−50

0

50

100

150

100

105

−20

0

20

40

60

80

100

120

140

Transfert L LQ (−) − L LQG (.)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

sigma (I + L LQ) (−) − sigma (I + L LQG) (.)

Frequency (rad/sec)

Sin

gula

r V

alue

s (d

B)

Figure 15: LQG/LTR -q = 100

61

Page 63: Cours de commande optimale LQG - ensieg.dox.free.frensieg.dox.free.fr/1A_ENSIEG/Automatique/Doxs prof/cde_opt.pdf · Motivations pour la commande optimale † Placement de poles =

Commentaires

• Roll off ameliore.

• Integrateur en sortie permettant de rejeter les perturbations constantes.

62