0% ont trouvé ce document utile (0 vote)
28 vues100 pages

AC423 Slides

fbvvv

Transféré par

imenenouvelle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues100 pages

AC423 Slides

fbvvv

Transféré par

imenenouvelle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Optimisation de la Commande

Code : AC431, Auteur Damien Koenig


Plan de la présentation
– Principe d’optimalité de Bellman
Application: recherche du plus court chemin
– Synthèse LQ
Commande LQ, Stabilité et Robustesse
Observateur LQ, Filtre de Kalman
– Synthèse LQG/LTR
– Commande LQ à pondérations fréquentielles
Étude de cas

8sc cours, 4 sc TD, 3 sc TP


Pondérations 25%TP, 75%Exam

Auteur: Damien Koenig


08/09/2017 1/100
http://koenig-damien.jimdo.com
Principe d’optimalité de Bellman

• Principe d’optimalité de Bellman


Dans un processus d'optimisation dynamique, une suite de décisions est
optimale si, quels que soient l'état et l'instant considérés sur la trajectoire
qui lui est associée, les décisions ultérieures constituent une suite optimale
de décisions pour le sous-problème dynamique ayant cet état et cet instant
comme conditions initiales.

• Rappel : pour un système MIMO à n états et m commandes, le


gain K solution du problème de commande présente :
• n*m paramètres dont n*m-n paramètres libres
 Il y a donc une infinité de solutions.
On propose ici de rechercher les paramètres du gain tels que la
commande obtenue minimise un critère énergétique …

Auteur: Damien Koenig


08/09/2017 2/100
http://koenig-damien.jimdo.com
Exemples de problèmes d’optimisation

Problème 1

Auteur: Damien Koenig


08/09/2017 3/100
http://koenig-damien.jimdo.com
Problème 2: Gestion de stock

Auteur: Damien Koenig


08/09/2017 4/100
http://koenig-damien.jimdo.com
Critère énergétique

Problème LQ : On considère le système


x t   Axt   Bu t 
yt   Cxt 

L’objectif est de déterminer le gain optimal K tel que la commande u=Kx


minimise le critère
1 T

min Ju    x t Qxt   u T t Ru t  dt
u 20

T T
où Q  Q  0 R  R  0
sont des matrices de pondérations fixées selon les objectifs souhaités …

Auteur: Damien Koenig


08/09/2017 5/100
http://koenig-damien.jimdo.com
Problème 3: Estimateur optimal de Kalman

• Horizon fini : on considère à nouveau le critère

Auteur: Damien Koenig


08/09/2017 6/100
http://koenig-damien.jimdo.com
Application du principe d’optimalité de Bellman

On s’intéresse ici à rechercher le chemin de distribution de l’eau


le moins couteux entre les villes A et G, lesquelles sont reliées
par différentes villes
C1 E1

2 3 6
D1 2 F1
B1

3 1 5 5 10
C2 E2 4
G
A
6 8 7
3 D2 4 F2 3

B2 4 3 7
C3 E3 5

Chaque arrête représente le coût d’acheminement de l’eau entre


2 villes, par exemple entre F1 et G, le coût est de 10 euros

Auteur: Damien Koenig


08/09/2017 7/100
http://koenig-damien.jimdo.com
Exemple : Recherche du chemin à coût minimal

On considère le réseau de distribution d’eau suivant :


C1 E1

2 3 6
D1 2 F1
B1

3 1 5 5 10
C2 E2 4
G
A
6 8 7
3 D2 4 F2 3

B2 4 3 7
C3 E3 5

• Déterminer d’après le principe de Bellman le chemin de coût minimal (plus


court chemin) qui permet de relier A à G.
• On notera :
– d(P,Q) la distance entre P et Q
– L(P) la longueur du plus court chemin (coût optimal) entre un point P
quelconque du graphe et le point G.
– On recherche donc L(A).
Auteur: Damien Koenig
08/09/2017 8/100
http://koenig-damien.jimdo.com
C1 E1
2 3 D1 2 6
F1
Solution 3
B1
1
C2 5
5
E2 4
10
G
A 8 7
3 6 D2 4 F2 3
• Etape 1 : B2 4 C3 3 7
– de F1, on a L(F1) = d(F1,G) = 10 E3 5

– de F2, on a L(F2) =d(F2,G) = 3 Etape 3 Etape 1


Etape 2

• Etape 2 :
– de E1, on a L(E1) = d(E1,F1)+L(F1)=16
– de E2, on a L(E2) = min{d(E2,F1)+L(F1), d(E2,F2)+L(F2)}
= min{4+10, 7+3)}=10
– de E3, on a L(E3) = d(E3,F2)+L(F2)=8

• Etape 3 :
– de D1, on a L(D1) = min{d(D1,E1)+L(E1), d(D1,E2)+L(E2)}
= min{2+16, 5+10)} = 15
– de D2, on a L(D2) = min{d(D2,E2)+L(E2), d(D2,E3)+L(E3)}
= min{4+10, 7+8)} = 14

Auteur: Damien Koenig


08/09/2017 9/100
http://koenig-damien.jimdo.com
C1 E1
2 3 D1 2 6
F1
B1
Suite de l’exercice 3 1
C2 5
5
E2 4
10
G
A 8 7
3 6 D2 4 F2 3
B2 4 C3 3 7
E3 5
Etape 5 Etape 3 Etape 1
• Etape 4 : Etape 6 Etape 4 Etape 2

– de C1, on a L(C1) = d(C1,D1)+L(D1) = 3+15 = 18


– de C2, on a L(C2) = min{d(C2,D1)+L(D1), d(C2,D2)+L(D2)}
= min{5+15, 8+14)} = 20
– de C3, on a L(C3) = d(C3,D2)+L(D2) = 3+14 = 17
• Etape 5 :
– de B1, on a L(B1) = min{d(B1,C1)+L(C1), d(B1,C2)+L(C2)}
= min{2+18, 1+20)} = 20
– de B2, on a L(B2) = min{d(B2,C2)+L(C2), d(B2,C3)+L(C3)}
= min{6+20, 4+17)} = 21
• Etape 6 :
– de A, on a L(A) = min{d(A,B1)+L(B1), d(A,B2)+L(B2)}
= min{3+20, 3+21)}=23

Auteur: Damien Koenig


08/09/2017 10/100
http://koenig-damien.jimdo.com
Parallèle avec l’Automatique : Commande LQ

On considère le système à temps discret


x k 1  Ax k  Bu k

où le critère à minimiser est : x k 1  Ax k  Bu k

T 1
1 f
  1
min J u   J xk , k    xTj Q j x j  u Tj R j u j  xTTf PT f xT f
u 2 j  k0 2

Le problème consiste à déterminer la trajectoire unique reliant les


points x(k0) et x(Tf) telle que cette trajectoire est optimale au
sens où elle minimise le critère énergétique J sous la contrainte de
la dynamique du modèle x k 1  Ax k  Bu k
Remarque : J représente la somme des coûts pour aller de x(k0) à x(Tf), notre
travail consiste à trouver u telle que ce coût soit le plus petit possible.

Auteur: Damien Koenig


08/09/2017 11/100
http://koenig-damien.jimdo.com
Rappel: recherche du minimum de f(x)

Hyp: f de classe C2
Si x* est un minimum local de la fonction f alors
   
f x*  h  f x *  0
= 0 pour h = 0

On applique un DL à l’ordre 2 de f(x*+h) autour de x*,


f x*  1 2  2 f x* 
f x  h   f x   h
* *
 h  O3
x *
2 x*
2

f x*  1 2  2 f x* 
soit f x  h   f x   0  h
* *
 h 0
x *
2 x * 2

Auteur: Damien Koenig


08/09/2017 12/100
http://koenig-damien.jimdo.com
Recherche du minimum
f x*  1  2 f x* 
• h > 0, on en déduit  h 0
x *
2 x * 2

• h < 0, on en déduit f x *
 
1
h
 2
f x *
0
x* 2 x*
2

• comme, h est proche de 0 alors

 
f x*
0 est une condition nécessaire
x *

Auteur: Damien Koenig


08/09/2017 13/100
http://koenig-damien.jimdo.com
Conditions pour un minimum

Pour que x* soit un minimum et non un maximum il faut de plus

  0
 2f x *
*2
x

Soit les conditions suivantes :

  0
f x*   0
 2f x *
x* *2
x

Auteur: Damien Koenig


08/09/2017 14/100
http://koenig-damien.jimdo.com
Application à la commande LQ

Notations :
Le coût associé au point final est
1 T
J opt x Tf , Tf   J x Tf , Tf   x T PTf x Tf
*
2 f
où le poids final Ptf est donné par le designer.

Le coût associé pour aller du point x(k) au point final est


T 1
1 f
  1 1
min J u   J xk , k    xTj Q j x j  u Tj R j u j  xTTf PT f xT f  xkT Pk xk
u 2 j k 2 2
où Pk est un coût à déterminer

Auteur: Damien Koenig


08/09/2017 15/100
http://koenig-damien.jimdo.com
Application du principe de Bellman

• Partant de pt final x(Tf) connu au point précédent x(Tf-1). La


dernière trajectoire à minimiser est alors donnée par le coût
suivant :
min Ju   Jx Tf  1, Tf  1
u


1 T
2 f

x T 1QTf 1x Tf 1  u T
Tf 1
R Tf 1u Tf 1 1 T
x T PTf x Tf
2 f

• sous la contrainte de la dynamique du système


x k 1  Ax k  Bu k

Auteur: Damien Koenig


08/09/2017 16/100
http://koenig-damien.jimdo.com
Solution

• Etape 1 Jx Tf  1, Tf  1


0
u Tf  1 u u*
• On obtient une commande linéaire fonction de l’état
*
 T 1 T

u Tf 1   R Tf 1  B PTf B B PTf AxTf 1

• Etape 2
 2Jx Tf  1, Tf  1
0
2
u T
f 1
Soit
J 2 x Tf  1, Tf  1
u Tf  1
2
 
 R Tf 1  BT PTf B  0

Auteur: Damien Koenig


08/09/2017 17/100
http://koenig-damien.jimdo.com
Solution

• Etape 3 : On remplace la solution u* dans le critère partiel que


l’on identifie au coût minimal désirée, i.e,

  1 T
J x Tf  1, u Tf 1, Tf  1  x T 1PTf 1x Tf 1
*
2 f

– Soit
PTf 1  QTf 1  A T PTf A  LTT 1BT PTf A
f

T T
 T
 PTf 1  QTf 1  A PTf A  A PTf B R Tf 1  B PTf B 
1 T
B PTf A

Auteur: Damien Koenig


08/09/2017 18/100
http://koenig-damien.jimdo.com
Temps rétrograde

• EARD à temps rétrograde, déterminée hors ligne, i.e.,

QTf  PTf  PTf 1  LTf 1  u Tf 1  PTf 2  LTf 2  u Tf 2  ...

Auteur: Damien Koenig


08/09/2017 19/100
http://koenig-damien.jimdo.com
Exercice

• Pour xk+1= 2xk+uk déterminer la commande u qui stabilise x et


minimise
T 1
1 f
 1

min J u   J x0, 0   xkT x k  ukT Ru k  xTTf PT f xT f
u 2 k 0 2

• Avec Tf=3 et PTf=1, montrer respectivement pour R=1, R=10 et


R =1000 l'influence de la pondération R sur les pôles de la BF.

Auteur: Damien Koenig


08/09/2017 20/100
http://koenig-damien.jimdo.com
Solution de l’exercice

Auteur: Damien Koenig


08/09/2017 21/96
http://koenig-damien.jimdo.com
Solution de l’exercice
Soit pour une commande optimale u2* = -x2
un coût optimisé égale à

Auteur: Damien Koenig


08/09/2017 22/96
http://koenig-damien.jimdo.com
Solution de l’exercice
• Si l’on itère les résultats précédents selon le principe de
Hamilton Jacobi Bellman on trouve les résultats suivants :

Auteur: Damien Koenig


08/09/2017 23/96
http://koenig-damien.jimdo.com
LQ à horizon infini : cas discret

• Critère min Ju   Jx  ,    lim


u
1 Tf 1 T
 T
 x k Qk x k  u k R k u k
Tf  2 k 0

• Contrainte x k 1  Axk  Bu k

• Solution

– Gain *

u  R B P B T
1 T
B P Ax

– EAR T
P Q A P AA P B R B P BT
 T

1 T
B PA

Auteur: Damien Koenig


08/09/2017 24/96
http://koenig-damien.jimdo.com
Application LQ à horizon infini : cas discret

Exercice: Pour xk+1= 2xk+uk déterminer la commande u qui stabilise x et minimise


T 1
1 f

min J u   J x ,    lim  xkT xk  ukT Ru k
u T f  2

k 0

Auteur: Damien Koenig


08/09/2017 25/96
http://koenig-damien.jimdo.com
Résultat fondamental : cas discret

• Critère
Tf 1

J u 0 , u1,  u Tf 1    
Lx k , u k , k   LTf x Tf , Tf 
k 0

• Contrainte
x k 1  Fx k , u k , k 

• Solution
D’après le principe de Bellman, ce problème se réduit à trouver une
fonctionnelle V(x(t), t) définie sur [0, Tf] solution de

V xt , t   min Lxt , ut , t   V xt  1, t  1


u

 min Lxt , ut , t   V F xt , ut , t , t  1


u
coût immédiat + coût optimisé
Auteur: Damien Koenig
08/09/2017 26/96
http://koenig-damien.jimdo.com
Résolution

• u* est la solution qui donne le min de la fonctionnelle V(x(t),t)

u*  arg min Lx t , u t , t   VFx t , u t , t , t  1


u
Vx t , t   2Vx t , t 
  0 et 0
u 2
u u* u

• Rappel f

x*  arg min f
x
min

  0
f x*   0
 2f x * x*

x* *2
x
Auteur: Damien Koenig
08/09/2017 27/96
http://koenig-damien.jimdo.com
LQ à horizon fini : par res. de l’eq aux différences

• Pb : Déterminer une fonctionnelle V(x(Tf-1), Tf-1) solution de

      
V x T f 1 , T f 1  L x T f 1 , u T f 1 , T f 1  V x T f , T f    

• Résolution

V xT f  1, T f  1 
1 T
2
 1

xT f 1QT f 1 xT f 1  uTTf 1RT f 1uT f 1  xTTf PT f xT f
2

avec V xT f  1, T f  1  xTT 1PT 1 xT 1


1
2 f f f

Il reste à rendre la fonctionnelle V(x(Tf-1), Tf-1) la plus petite possible


V x Tf 1 , Tf 1  0 et
 
 2V x Tf 1 , Tf 1
0
u u 2
u  u*

Auteur: Damien Koenig


08/09/2017 28/96
http://koenig-damien.jimdo.com
Résultat fondamental : cas continu


1 Tf T
 1 T

LQ: Ju    x t Qx t  u t R t u t dt  x Tf PTf x Tf
2 t
T
2

– contrainte x  Ax  Bu

• Cas général
 
Tf
– Minimiser Ju    Lx, u, t dt  LTf x Tf , Tf
t

– Sous la contrainte x  Fx, u, t 

Auteur: Damien Koenig


08/09/2017 29/96
http://koenig-damien.jimdo.com
Hamilton Jacobi Bellman (HJB)

• D’après le principe de Bellman ce problème ramené au cas


continu se réduit à trouver une fonctionnelle V(x(t), t) solution
de l’eq. HJB

 x t , t   min Lx, u, t    V  min Lx, u, t   V Fx, u, t 


V
u t u x

• Solution
 V 
u*  arg min Lx t , u t , t   Fx, u, t 
u  x 
HJB  2HJB
  0 et 0
u u u* 2
u

Auteur: Damien Koenig


08/09/2017 30/96
http://koenig-damien.jimdo.com
LQ à horizon fini par résolution de l’éq HJB

• Critère J u  
1 Tf T
2 t
 xt Qx t  u T
R u
t t t dt  
1 T
x T PTf x Tf
2 f

– Contrainte x  Ax  Bu

• 2
Résolution  V x t , t   1 x TtQx t  u Tt R t u t 
1 Tf T
 1 T

 Vx t , t    x t Qx t  u t R t u t dt  x T PTf x Tf
2 t
T
2 f

1
– avec Vx t , t   x T
t Pt x t
2

Auteur: Damien Koenig


08/09/2017 31/96
http://koenig-damien.jimdo.com
Solution

• On détermine l’eq HJB

 xt Pt xt  xt Pt xt  xt Pt xt  xt Qxt  utT Rt ut   HJB


1 T 1 T 1 T 1 T
2 2 2 2
HJB  2HJB
Où  0 et 0
u u u* 2
u

• On obtient u*t  R t 1BT Pt x t


 2HJB
 Rt  0
2
u
 P t  Q t  AT Pt  Pt A  Pt BR t 1BT Pt
PTf  QTf
Auteur: Damien Koenig
08/09/2017 32/96
http://koenig-damien.jimdo.com
LQ à horizon infini : cas continu
Tf

 x Q x  u 
1
• Critère min J u   J x ,    lim T
t t
T
t R ut dt
u T f  2
0

• Contrainte
x  Ax  Bu

• Solution
ut*   R 1BT Pxt

0  Q  AT P  PA  PBR 1BT P

Auteur: Damien Koenig


08/09/2017 33/96
http://koenig-damien.jimdo.com
Stabilité : continu

• Système bouclé x t  A  BL t x t

– Où la commande est donnée par u*t  L t x t

1 T
– avec L t  R t B P

– est stable au sens de Lyapunov ssi


il existe une fonction de Lyapunov candidate > 0
dont sa dérivée le long des trajectoires non nulles de (1) est < 0

– Preuve V x t   x T
t Pt x t  0

 x t   1 x T
V
2
Q x
t t t  u T
R u
t t t 
1 T
2
x t Q t 
 LT

t R t Lt x t  0 
Auteur: Damien Koenig
08/09/2017 34/96
http://koenig-damien.jimdo.com
Propriétés de robustesse d’une commande LQ
• Le transfert de boucle s’écrit

• avec

On pose

On montre après quelques manipulations algébriques sur l’EAR que

Auteur: Damien Koenig


08/09/2017 35/96
http://koenig-damien.jimdo.com
Application: propriétés de robustesse

Auteur: Damien Koenig


08/09/2017 36/96
http://koenig-damien.jimdo.com
Application: propriétés de robustesse

On obtient la commande optimale suivante

Auteur: Damien Koenig


08/09/2017 37/96
http://koenig-damien.jimdo.com
Application: propriétés de robustesse

Auteur: Damien Koenig


08/09/2017 38/96
http://koenig-damien.jimdo.com
Commande Optimale par maximisation de l’Hamiltonien
 PMP: Principe du Maximum de Pontryaguine
• On défini l’Hamiltonien

H, x, u   
2

1 T

x Qx  u T Ru  T Ax  Bu 

1 T Tf
Rq: Ju   x T PTf x Tf    H, x , u    Ax  Bu dt
T

2 f 0
  
1
2
 T
x Qx  u T
Ru 
• Cas général
– Continu Hx, u, , t   Lx, u, t    Fx, u, t 
T

avec x  Fx, u, k 

– Discret H k 1  Lx, u, k   Tk 1Fx, u, k 

avec x k 1  Fx, u, k 
Auteur: Damien Koenig
08/09/2017 39/96
http://koenig-damien.jimdo.com
Équations canonique de Hamilton
H k 1
• Conditions au 1er ordre : H x k 1 
x   k 1

   H H k 1
x k 
x k
Avec la condition terminale
Coût final
TT    x T
T
PTf
f x f

+conditions
H H k 1
0 0
u u u* u k u u*
k k

2
 H 2H k 1
0 0
u 2 u 2k
Auteur: Damien Koenig
08/09/2017 40/96
http://koenig-damien.jimdo.com
Application: Exercices

• Exercice 1: On considère le système

• Aide : on pose l’Hamiltonien


H, x, u   
1 T
2
 
x Qx  u T Ru  T Ax  Bu 

• Avec les conditions


H 2H
   H 0 0
u u u* 2
x u
Auteur: Damien Koenig
08/09/2017 41/96
http://koenig-damien.jimdo.com
Exercice 1: Maximisation de l’Hamiltonien

• Solution de l’exercice 1

Auteur: Damien Koenig


08/09/2017 42/96
http://koenig-damien.jimdo.com
Exercice 2: Véhicule à essence

Auteur: Damien Koenig


08/09/2017 43/96
http://koenig-damien.jimdo.com
Eléments de réponse : exercice 2

• Rappel : Résolution par maximisation de l’Hamiltonien : H


– Cas continu Hx, u, , t   Lx, u, t    Fx, u, t 
T

avec x  F x, u, k 
Coût final H  2H
TT    xTT PT f 0
 
0
u u 2
f x T f f u u*

u 
  
– Application : Véhicule à essence H x, u,  , t   0  x s  1 2   xu  s u 2
 u  2
avec  2 
Coût final   xT    S T   Cte

On désire maximiser x(T) et on souhaite S(T) = 0 pour dépenser tout le carburant.  est
un multiplicateur constant de Lagrange utilisé pour dualiser la containte S(T)=0. 

– Le PMP affirme que si u est une solution optimale, alors :

Auteur: Damien Koenig


08/09/2017 44/96
http://koenig-damien.jimdo.com
Eléments de réponse : suite

• Les variables adjointes x s  sont solutions des équations adjointes


H H H 
  x  0   x  Cte; S  0  S  Cte

    x   ; S  
x  x s 
  xT f    S T f 
TT
f

Coût final
 
x Tf

 
x Tf
 
  x T f   1  t  0, T f ; S T f      t  0, T f  
TT   x T f  S T f 
f

xT   x S 
s
• u(t) réalise le maximum instantané de H  xu  u2
2
H x t  1
 0  x t   s u t   0  u t   
u u u* s t  

• Il reste à déterminer le paramètre de Lagrange 


Sachant on obtient S t    1 2  S t    1
2
t  S 0  
1
t 1
2 2 2 2
1 1
or S T  1   1  0   2 
2 2 2

Auteur: Damien Koenig


08/09/2017 45/96
http://koenig-damien.jimdo.com
Conclusion de l’exercice 2

• Seul le choix
1
 
2

a un sens physique car il correspond à une vitesse u positive


1
u t     2  1.41

On note que cette vitesse est constante.

La distance maximale parcourue est


xt   u(t )  2  xt   2t  x0  xT   2  1.41

Auteur: Damien Koenig


08/09/2017 46/96
http://koenig-damien.jimdo.com
Exercice 3: Gestion de stock

Auteur: Damien Koenig


08/09/2017 47/96
http://koenig-damien.jimdo.com
Exercice 3: éléments de réponses

• Exercice : Gestion de stock

Auteur: Damien Koenig


08/09/2017 48/96
http://koenig-damien.jimdo.com
Exercice 3: éléments de réponses

• Application du principe du maximum de Pontryaguine

Hx, u, , t   Lx, u, t   T Fx, u, t 

H x, u,  , t   0  x1   ux (t )  u(t ) 


x2 
 1 
Les variables adjointes x 1
x2  sont solutions des équations adjointes
  
H
x

 x1  
H
x
; x2  
H 
x
  x1   x2  x2  0   x2  Cte 
 1 1

TT  
Coût final


  x2 T f     T   0 ; 
 x2 T f   1  t  0, T f 
f x Tf   x Tf   x f1

TT   x T f   x T f 
1 2
f

xT   x1 x2 

Auteur: Damien Koenig


08/09/2017 49/96
http://koenig-damien.jimdo.com
Exercice 3: éléments de réponses

• On en déduit que x1  1 x2  1


– Soit x1  t  x1 0  t  T f  t  10
x2  1

– D’où
H  x, u,  , t   x1 u  x2  x1 (t )  u (t )   (t  10)u (t )  x1 (t )  u (t )
H  x1 (t )  (9  t )u (t )
• Le principe du maximum de Pontryaguine dit que cette fonction doit être
maximisée à chaque instant t [0,Tf=10]
– Tant que 9-t>0, la maximisation de H est obtenue pour u(t)=x1(t), on
réinvestit tout dans la production sous forme d’engrais
– Tant que t [9, 10], la maximisation de H est obtenue pour u(t)=0,
c’est-à-dire on stocke toute la production de la dernière période.
– A partir de u on en déduit l’évolution du stock pour t [0, 10], …

Auteur: Damien Koenig


08/09/2017 50/96
http://koenig-damien.jimdo.com
Poursuite Optimale

• On considère le système x t   Axt   Bu t 


yt   Cxt 

– Avec  t   yref t   yt 

Première partie :
– La référence yref(t) est constante

Seconde partie :
– La référence yref(t) est variable et correspond par exemple à une
trajectoire prédéfinie à suivre

Auteur: Damien Koenig


08/09/2017 51/96
http://koenig-damien.jimdo.com
Première partie : référence constante

• Il suffit d’appliquer la commande optimale


ut    Lx t   hyref t 

– Où L est le gain optimal : L  R 1BT P


– et P la solution positive de l’ARE Q  AT P  PA  PBR 1BT P  0

– Le paramètre h est un pré filtre égal à l’inverse du gain statique


de la BF optimisée, soit :

h   C  A  BL  B
1

1

Auteur: Damien Koenig


08/09/2017 52/96
http://koenig-damien.jimdo.com
Deuxième partie : référence variable

• Nous nous intéressons au problème de poursuite suivant :

• Ce problème est équivalent au sens de Bellman à l’équation suivante :

– Il faut donc trouver une fonctionnelle V solution de l’équation


précédente. Cette fonctionnelle est de la forme suivante :

• Que l’on dérive le long des trajectoires du process x t   Axt   Bu t 


yt   Cxt 
Auteur: Damien Koenig
08/09/2017 53/96
http://koenig-damien.jimdo.com
Deuxième partie : suivi de trajectoire (suite)

• D’après l’équation de HJB

– Et de la fonctionnelle candidate
– On trouve après quelques manipulations

– Le système d’équations :

Auteur: Damien Koenig


08/09/2017 54/96
http://koenig-damien.jimdo.com
Exemple
Y  p 2  x   x  u
On considère le système suivant : G p    
U  p p  1
 y  2x
où le critère de performance vise à effectuer un compromis entre l’écart de régulation et le coût de commande :

J
1
2   y   yref 
2

  2 u 2   d
yref une consigne constante et  un paramètre à régler. 0

Solution  P  AT P  P A  P BR 1 B T P  C T QC  0 0   2 P 2  4 P  1  P 2  4 2 P   2  0
 t t t t t 

 T T T
 T
 g t  A  Lt B g t  C Q y ref  0  
 P  2 2 2  4 4   2  0


h  g tT BR 1 B T g t  y ref
T
Qyref  0


 P  2 
2 2

  2 4 2  1  0 
  2 2

2   2
  P  2   4  1  P  2   4  1   0
  
2 2 

 
On obtient

P  2 2   2 4 2  1   yref
ut*   Lxt    Lxt  hyref
g A  T
 LTt B T  C Qy
1 T
ref A T 1

 LTt BT C T Q
T
y ref Qyref  g tT BR 1 BT g t  y ref
2
  2 g 2
 
L  R 1 B T Pt  R 1 B T   2 2   2 4 2  1   2   1
 
4 2

1
ut*   Lxt   2 g


h   AT  LTt BT 
Auteur: Damien Koenig
08/09/2017 55/96
http://koenig-damien.jimdo.com
Partie 2: Observateur LQ

• Un système est complètement observable si à partir d’un état


quelconque pris à l’instant t on sait déterminer son évolution
jusqu’à l’état initial.

• On propose la structure de l’observateur Identité

• Objectif, trouver x tel que :

Auteur: Damien Koenig


08/09/2017 56/96
http://koenig-damien.jimdo.com
Approche selon le principe de dualité

• Analyse de converge de l’erreur d’estimation d’état :

– Sachant que les valeurs propres de A-GC sont également les


valeurs propres de AT-CTGT

– Le problème d’estimation est par dualité équivalent à un


problème de commande du système fictif suivant :

– Avec
– Cette commande optimale assure la stabilité de AT-CTGT et donc de A-GC et donc
celle de l’erreur d’estimation d’état

Auteur: Damien Koenig


08/09/2017 57/96
http://koenig-damien.jimdo.com
Approche selon le principe de dualité

• On s’ait finalement ramené à un problème de commande


optimale identique à la première partie du cours.
• En conclusion, il suffit d’appliquer le principe de dualité et
remplacer les matrices par les relations suivantes :

– Rappel de la structure de l’observateur

– Critère

– Système fictif

Auteur: Damien Koenig


08/09/2017 58/96
http://koenig-damien.jimdo.com
Synthèse d’un observateur selon le principe
d’optimalité de Bellman
• L’observateur

– Est un observateur à gain optimal au sens où son gain est


solution du problème d’optimalité

Auteur: Damien Koenig


08/09/2017 59/96
http://koenig-damien.jimdo.com
Résolution par minimisation du critère

• On propose d’écrire l’observateur sous la forme

– où w  G y  yˆ 

– L’erreur d’estimation d’état e  x  xˆ


s’écrit alors sous la forme e  Ae  w

Et le critère se réduit à la forme suivante


t
 
V (t , e(t ))   eT C T R 1Ce  wT Q 1w d  eTT S 1eT
0 0
T0

Auteur: Damien Koenig


08/09/2017 60/96
http://koenig-damien.jimdo.com
1ère approche : Minimisation de l’HJB

Solution optimale proposée : xˆ  Axˆ  Bu  M t C R  y  Cxˆ 


T 1

dM t
– où  M t AT  AM t  Q  M t C T R 1CM t
dt

– avec M t  T0   S  0

• Preuve : On considère la fonctionnelle


t
 
V (t , e(t ))   eT C T R 1Ce  wT Q 1w d  eTT S 1eT
0 0
T0

– On cherche Mt telle que V (t , e(t ))  etT M t1et

avec

Auteur: Damien Koenig


08/09/2017 61/96
http://koenig-damien.jimdo.com
1ère approche : Minimisation de l’HJB

• On se ramène à un problème de commande optimale de t à T0 + coût


final, en posant le changement de variable t  t '

• Le critère se réécrit sous la forme classique


 
T0
V (t ' , e(t ' ))   eT C T R 1Ce  wT Q 1w dt '  eTT S 1eT
0 0
t '

 eTt ' M t1'et '

• Ou encore sous la forme équivalente de l’eq HJB


 V (t ' , e(t ' ))  eT C T R 1Ce  wT Q 1w

– avec 
dV


d eTt ' M t1'et ' 
dt ' dt '

Auteur: Damien Koenig


08/09/2017 62/96
http://koenig-damien.jimdo.com
1ère approche : Minimisation de l’HJB

• Après quelques manipulations, nous obtenons



d eTt ' M t1'et '  e C
T T
R 1Ce  wT Q 1w
dt '
eTt ' M t1'dM t ' M t1'et '
dt '
 t t

 eT  AT M 1'  M 1' A  C T R 1C e  2wT M 1' e  wT Q 1w
t

• Il reste à minimiser le coût précédent :


d 2wT M 1' e  wT Q 1w
t
  2M 1' e  2Q 1w*  0
dw t
w w*

• Soit w*  QM 1' e


t

• Que l’on réinjecte dans eTt ' M t1'dM t ' M t1'et '
dt '
 
 eT  AT M 1'  M 1' A  C T R 1C e  2wT M 1' e  wT Q 1w
t t t

Auteur: Damien Koenig


08/09/2017 63/96
http://koenig-damien.jimdo.com
1ère approche : Minimisation de l’HJB

• On obtient après factorisation et identification terme à terme


dM t '
 M t ' AT  AM t '  Q  M t 'C T R 1CM t '
dt

• Il reste à revenir à la variable temporel t=-t’ et l’on obtient la dare


dM t
 M t AT  AM t  Q  M t C T R 1CM t
dt

xˆ  Axˆ  Bu  M t C T R 1 y  Cxˆ 

• Deuxième solution : par maximisation de l’Hamiltonien (voir poly)

• Troisième solution : par le calcul de variation (voir poly)

Auteur: Damien Koenig


08/09/2017 64/96
http://koenig-damien.jimdo.com
Observation : Cas stochastique

• Le processus aléatoire considéré est x  Ax  bu  w


y  Cx  v

• Où w et v sont des bruits blancs centrés, de matrice de covariance connue et


non corrélés entre eux :

• Objectif : Déterminer un estimateur de x non biaisé et à variance minimale

Auteur: Damien Koenig


08/09/2017 65/96
http://koenig-damien.jimdo.com
Filtre de Kalman

• Horizon fini : on considère à nouveau le critère

- On obtient les mêmes résultats que précédemment avec l’interprétation fort


intéressante que :

Auteur: Damien Koenig


08/09/2017 66/96
http://koenig-damien.jimdo.com
Filtre de Wiener

• Horizon infini

Auteur: Damien Koenig


08/09/2017 67/96
http://koenig-damien.jimdo.com
Méthode Linéaire Quadratique Gaussienne (LQG)

• Structure de la commande LQG

• Selon le principe de séparation


– On cherche le gain de Kalman Kf et le gain de Correction Kc

Auteur: Damien Koenig


08/09/2017 68/96
http://koenig-damien.jimdo.com
Commande LQG

• On considère le modèle de synthèse

• Le problème revient à déterminer u fonction de l’estimé de x


telle que :

Auteur: Damien Koenig


08/09/2017 69/96
http://koenig-damien.jimdo.com
Commande LQG

• Partie 1 : on recherche l’estime de x en appliquant les résultats


du filtre de Wiener :

• Partie 2 : on recherche Kc en appliquant le principe de Bellman


au critère

Et l’on déduit
Auteur: Damien Koenig
08/09/2017 70/96
http://koenig-damien.jimdo.com
Commande LQG

• La synthèse LQG exige donc la résolution des équations de Riccati duales et


l’on peut facilement se ramener au schéma bloc usuel avec une gain
dynamique K(s) et le process G(s)

• Il suffit de repérer sur le schéma de synthèse l’entrée et la sortie du bloc K(s)


et de donner la représentation d’état associé

• Soit

• Il reste à étudier le transfert de boucle et faire tendre ce transfert au transfert


sans l’observateur afin de conserver les propriétés de robustesse d’une
commande LQ: il s’agit dès lors du principe de la commande LTR

Auteur: Damien Koenig


08/09/2017 71/96
http://koenig-damien.jimdo.com
Exemple

• On considère le système stochastique

– Où w et v sont des bruits blancs w  N 0, 3 v  N 0, 1


– Pour la commande on considèrera un poids R=3 et Q=1

1. Déterminer la synthèse de commande LQG solution de problème


2. Déterminer le transfert de boucle avec et sans observateur
3. En déduire les fonctions de sensibilité
4. Tracé le module des fonctions de sensibilité et du transfert de boucle avec
et sans observateur
5. Conclure

Auteur: Damien Koenig


08/09/2017 72/96
http://koenig-damien.jimdo.com
Résolution

• Selon le principe de séparation : on synthétise premièrement


l’observateur puis la commande ou inversement
• Observateur :

• Commande :

Auteur: Damien Koenig


08/09/2017 73/96
http://koenig-damien.jimdo.com
Transferts de boucle

• Sachant que

• On en déduit le transfert de boucle


– avec observateur
1
K ( s) 
s3

– sans observateur

Auteur: Damien Koenig


08/09/2017 74/96
http://koenig-damien.jimdo.com
Fonctions de sensibilité

• Fonction de sensibilité avec observateur

• Fonction de sensibilité sans observateur

• Fonction de sensibilité complémentaire avec observateur

• Fonction de sensibilité complémentaire sans observateur

Auteur: Damien Koenig


08/09/2017 75/96
http://koenig-damien.jimdo.com
Tracés des modules

• Fonctions de sensibilité

On constate que le compromis Performance / Robustesse de la commande LQG (avec


observateur) est moins bon que celui de la commande LQ (sans observateur)

Auteur: Damien Koenig


08/09/2017 76/96
http://koenig-damien.jimdo.com
Tracés des modules

• Transferts de boucle / Fonctions de sensibilité complémentaire

Auteur: Damien Koenig


08/09/2017 77/96
http://koenig-damien.jimdo.com
Synthèse LTR

• Le régulateur LQ et l’observateur LQ (Filtre de Kalman ou Wiener) étudiés


séparément montrent une très bonne robustesse (MG , MP > 60°), cependant
l’association des deux induit une perte de robustesse.
• Pour conserver les excellentes propriétés de robustesse de la synthèse LQ, il
convient naturellement de faire tendre asymptotiquement le transfert de
boucle avec observateur vers le transfert de boucle sans observateur.

– Principe de base de la commande LTR


La modélisation de nature stochastique du système disparaît au profit d’une meilleur
robustesse associée à des performances nominales imposées.

Auteur: Damien Koenig


08/09/2017 78/96
http://koenig-damien.jimdo.com
Recouvrement asymptotique à l’entrée

• Procédure :
1. Synthèse du correcteur LQ par un choix approprié des poids
Q et R pour un bon comportement en basse fréquence des
valeurs singulières du transfert de boucle
2. Synthèse LQ de l’observateur en fixant premièrement les
poids W0 et V0 du filtre de Kalman et en augmentant
graduellement le poids

tel que le transfert de boucle LLQG(s) tend asymptotiquement


vers le transfert de boucle LLQ(s).

Auteur: Damien Koenig


08/09/2017 79/96
http://koenig-damien.jimdo.com
Passage d’un régulateur/obseravateur LQ à une
synthèse RST
• On considère le système (A,B,C) perturbé en sortie par une
perturbation b constante.

– On propose d’ajouter un état z égal à l’intégrale de l’erreur


de poursuite à asservir et un observateur identité de l’état x
du système.

– Il convient alors de rechercher par synthèse LQ et selon le


principe de séparation respectivement le gain augmenté L et
le gain G de la commande et de l’observateur.

Auteur: Damien Koenig


08/09/2017 80/96
http://koenig-damien.jimdo.com
Synthèse RST équivalente

• On obtient le système augmenté

– où la fonction « dlqr » de Matlab donne directement L en


minimisant le critère

Auteur: Damien Koenig


08/09/2017 81/96
http://koenig-damien.jimdo.com
Synthèse RST équivalente

• Par dualité on obtient le gain de l’observateur LQ et on obtient


au final le système augmenté

• Que l’on identifie à la synthèse de commande RST

• On obtient dès lors les polynômes inconnus T et S par le calcul


du transfert u/yc associé au système ci-dessus et le polynôme -R
par le calcul du numérateur du transfert u/y.

Auteur: Damien Koenig


08/09/2017 82/96
http://koenig-damien.jimdo.com
Commande LQ à pondérations fréquentielles

• Principe

– Modeler le transfert de boucle afin de satisfaire au mieux le


compromis Performance/Robustesse.

• Solution
– Appliquer le principe du théorème de Parseval

Auteur: Damien Koenig


08/09/2017 83/96
http://koenig-damien.jimdo.com
Commande LQ à pondérations fréquentielles

• On montre que le problème de synthèse LQ à pondération


fréquentielle, peut se ramener à un problème de synthèse LQ
temporel à pondération unitaire.
• Explication:
– Le critère
peut se réécrire sous la forme

En posant
on obtient le critère temporel à pondération unitaire suivant :

Auteur: Damien Koenig


08/09/2017 84/96
http://koenig-damien.jimdo.com
Commande LQ à pondérations fréquentielles

• Conclusion
– La synthèse se réduit à un problème de commande LQ à
pondération unitaire :

– sous la contrainte du système augmenté:

0 u y
K(p) G  p

Auteur: Damien Koenig


08/09/2017 85/96
http://koenig-damien.jimdo.com
Commande LQ à pondérations fréquentielles

• Le système augmenté
peut être décomposé selon la représentation d’état suivante :

où les pré et post filtres R-1/2 et Q1/2 prennent généralement la


forme suivante

Auteur: Damien Koenig


08/09/2017 86/96
http://koenig-damien.jimdo.com
Commande LQ à pondérations fréquentielles

• Le pré filtre R-1/2(s) permet une décroissance plus rapide hors de


la bande passante du système et donc une amélioration de la
Robustesse.
• Le post filtre Q1/2(s) permet un accroissement de la pente dans la
bande passante du système (augmentation du gain en basse
fréquence) et donc une amélioration des performances.
• Exemple :
– Poser R-1/2(s) =k/(p+1) et Q1/2(s) =(p+1)/p donne un transfert
intégrateur dont le paramètre k permet d’ajuster la
bande passante et le compromis P/R.

Auteur: Damien Koenig


08/09/2017 87/96
http://koenig-damien.jimdo.com
Exemple : Etude de cas

• Transmission élastique composée de 3 poulies

• On considère un système de transmission élastique composé de 3 poulies reliées par


deux courroies métalliques comportant chacune deux ressorts. Le problème de
commande considéré est celui de l’asservissement en position de la troisième poulie à
partir de la position de la première poulie.
• Pour la synthèse du régulateur, un modèle du système nominal à vide obtenu par
identification est donné par le transfert suivant

• Ce système est supposé soumis à une référence yref et à une perturbation en sortie dy.
On propose de comparer les performances d’un régulateur LQG sans pondération
fréquentielle et d’un régulateur LQG à pondération fréquentiel incluant un intégrateur
dans la boucle.

Auteur: Damien Koenig


08/09/2017 88/96
http://koenig-damien.jimdo.com
Exemple : Etude de cas

• Régulateur LQG sans pondération fréquentielle, donc à


pondérations fixes Qr = CTC et Rr = 1 pour le régulateur optimal
LQ et avec Q0 = BBT et R0 = 1
• Sous matlab :

Auteur: Damien Koenig


08/09/2017 89/96
http://koenig-damien.jimdo.com
Régulateur LQG sans pondération fréquentielle

• Il reste à déduire K(s)

Où la fonction reg retourne directement K(s)

On en déduit directement le tracé des fonctions usuelles

Auteur: Damien Koenig


08/09/2017 90/96
http://koenig-damien.jimdo.com
Régulateur LQG avec pondération fréquentielle

• On se propose d’ajouter un effet intégrateur avec l’aide des pré


et post filtres R-1/2(s) et Q1/2(s) .

Auteur: Damien Koenig


08/09/2017 91/96
http://koenig-damien.jimdo.com
Régulateur LQG avec pondération fréquentielle

Il reste à déterminer par synthèse LQ ordinaire le gain du


contrôleur et de l’observateur sur le système augmenté

On en déduit le régulateur K(s)

Que l’on augmente de l’effet intégrateur k/p

Auteur: Damien Koenig


08/09/2017 92/96
http://koenig-damien.jimdo.com
Tracés des fonctions de sensibilités usuelles

• Calcul de S et T

• Tracés

Auteur: Damien Koenig


08/09/2017 93/96
http://koenig-damien.jimdo.com
Solutions obtenues

• Modules des transferts S, SK, SG et T avec le régulateur 1 (sans


pondérations)

Auteur: Damien Koenig


08/09/2017 94/96
http://koenig-damien.jimdo.com
Solutions obtenues

• Modules des transferts S, SK, SG et T avec le régulateur 2 (avec


pondérations fréquentielles de type intégrateur)

Auteur: Damien Koenig


08/09/2017 95/100
http://koenig-damien.jimdo.com
Conclusion

• Synthèse LQ (norme H2)


– Régulateur (robustesse MG , MM > 1, MP > 60°)
– Observateur
• Extension
– Synthèse LQG
– Synthèse LTR
(On souhaite que le transfert de boucle avec observateur tend asymptotique vers le
transfert de boucle sans observateur, afin de conserver les propriétés de robustesse)

– Synthèse LQG à pondération fréquentielle


– (Permet de modeler « loop schape » le transfert de boucle pour obtenir un bon
compromis P/R)

• Perspective : Commande robuste à synthèse H

Auteur: Damien Koenig


08/09/2017 96/96
http://koenig-damien.jimdo.com
Synthèse

• Régulateur LQ :
– Critère cas discret

– Sous la contrainte

– Critère cas continu

– Sous la contrainte

Auteur: Damien Koenig


08/09/2017 97/100
http://koenig-damien.jimdo.com
Synthèse

• Résolution du problème LQ :
– Critère cas discret

Auteur: Damien Koenig


08/09/2017 98/100
http://koenig-damien.jimdo.com
Synthèse

Auteur: Damien Koenig


08/09/2017 99/100
http://koenig-damien.jimdo.com
Synthèse

Auteur: Damien Koenig


08/09/2017 100/100
http://koenig-damien.jimdo.com

Vous aimerez peut-être aussi