Vous êtes sur la page 1sur 17

user

Commande Optimale : Commande LQR

I. Position du problème :

Soit l’équation d’état du processus :

x = f ( x, u , t )
x n
: Vecteur d ' état
u p
: Vecteur de commandes

Conditions initiales :

x0 = x(t0 ) et x f = x(t f )
K ( x0 , t0 ) = 0 ; L( x f , t f ) = 0

Contraintes imposées au système :

De nature instantanée  t ; q( x, u, t )  0 ; q(.) 


kq

tf

 p( x, u, t )dt  0 ; p(.) 
kq
▪ De nature intégrale
t0

*
Il s’agit de chercher la commande optimale u qui, tout en satisfaisant les conditions
précédentes, minimise le critère :

tf

J =  r ( x, u , t ) dt + g ( x0 , u0 , x f , t f )
t0

Partie terminale

Exemples de problème de commande optimale :

1. Commande en temps minimum :

1
user

u 1
Un processus décrit par l’équation y = u avec la contrainte . Il s’agit de trouver la
commande permettant de la faire évoluer d’un état quelconque à l’origine en temps
minimum.
tf

 J = t f − t0 =  1.dt (à min imiser )


t0

2. Critère énergétique :
Chercher la commande permettant de faire un évoluer le processus d’un état initial à
un état final en minimisant :
tf
1
 J =  u 2 dt
2 t0

3. Critère quadratique :
tf
1
 J =  ( xT Qx + u T Ru ) dt
2 t0
Q0; R0

II. Méthode de résolution d’un problème de commande optimale :


calcul des variations

Rechercher la trajectoire x(t ) qui satisfait aux contraintes précédentes tout en


minimisant le critère :

tf

 J ( x) =  r ( x, x, t ) dt + g ( x0 , t0 , x f , t f )
t0

Soit la fonctionnelle J ( x) définie pour la trajectoire x(t ) avec les conditions


terminales :

K ( x0 , t0 ) = 0 ; L( x f , t f ) = 0

Considérons la trajectoire perturbée x(t ) +  x(t ) voisine de x(t ) , évoluant dans

l’intervalle du temps t0 +  t0 , t f +  t f  et satisfaisant les conditions terminales :

2
user

 L( x0 +  x0 , t0 +  t0 ) = 0

 K ( x0 +  x0 , t0 +  t0 ) = 0

 t f ,  t0 ,  x f ,  x0
Où : sont des petites variations de la trajectoire, aux instants initial et final (
t0 et t f
)

Notons :

 J = J ( x +  x) − J ( x)

r0 = r ( x(t0 ), x(t0 ) , t0 )
r = r ( x(t ), x (t ) , t )
 f f f f

Un développement limité au 1er ordre 

tf
 d 
 J =  rxT  x + rxT ( x)  dt + (rf  t f − r0 t0 ) + ( g Tx0  x0 + gt0  t0 ) + ( g Tx f  x f + gt f  t f )
t0  
dt

 x(t f +  t f ) = x(t f ) +  x(t f ) + x(t f ) x(t f )


Intégration par parties+ 
 x(t0 +  t0 ) = x(t0 ) +  x(t0 ) + x(t0 ) x(t0 )

tf
 
( )
T
 d  
 J =   rx − rx   x  dt + ( r − rxT x ) f + gt f   t + r (t ) + g  x f − ( r − rxT x )0 − g t   t0 − ( rx (t0 ) − g x )
T T

 f  x0

t0 
dt    x f xf 0 0

II.1. Minimisation sans contraintes :

x* (t ) = La trajectoire minimisant la fonctionnelle

   x ,  x0 ,  t0 ,  x f ,  t f
(Variations admissible de la trajectoire) telles que :

 K x0  x0 + Kt0  t0 = 0

 Lx f  x f + Lt f  t f = 0

3
user

On a :  J = J ( x* +  x) − J ( x* )  0

tf
d T
  x ;  (r
t0
x −
dt
rx )  xdt  0

  x f et  t f tels que : Lx f  x f + Lt f  t f = 0 ( r − rxT x ) + gt f (


  t + r (t ) + g ) x
T

  f x f xf f 0
f

  x0 et  t0 tels que : K x0  x0 + K t0  t0 = 0 ( r − rxT x ) − gt0   t0 + rx (t0 ) − g x0 ( )


T

 0 
 x0  0

II.2. Conditions au 1er ordre :

a) Condition d’Euler : Lemme de Lagrange

tf
[t0 , t f ]
y (t ) (t )dt = 0 pour toute fonction
T
Si y (t ) est une fonction continue sur et si
t0

 (t ) continue, alors y (t ) est identiquement nulle sur [t0 , t f ]

L’application du lemme de Lagrange sur la condition conduit à l’équation d’Euler :

d
rx − rx = 0 pour x = x*
dt

  d 
tf
 d  
T
d  
dt  t0 
  x = −  r − rx   r − r   r − r  dt = 0 
 
x x x
dt  
x x
dt  
 

b) Equations canoniques de Hamilton

Posons sur la trajectoire optimale :  (t ) = rx

Equations d’Euler
 (t ) = rx

Rxx
Lorsque est non singulière  x =  ( x,  , t )

On appelle Hamiltonien la quantité :

4
user

H ( x,  , t ) = − r +  T 
dH
 = H xT x + H T  + H t
dt

H x = Tx  − rx − Tx rx = −rx = −


H  = 0 + T  − T rx =  = x
H t =  T  t − rt − Tt rx = −rt

Les équations canoniques de Hamilton :


x = H

 = − H x
 dH
 = − rt
 dt

c) Equation de Hamilton-Jacobi :

Soit x* la trajectoire optimale et  x une variation de la trajectoire à l’instant t , nulle à l’instant


tf .

tf

Posons J ( x , t ) =  r ( x* , x, )d


*

Il vient alors d’après l’équation de variation  J et d’après l’équation d’Euler :

 J = −  r − rxT x   t − rxT  x

Et avec les notations canoniques de Hamilton il vient :  J = − H ( x* ,  , t ) t −  T  x

Comme  J = J t t + J xT  x , on obtient :

 J t = H ( x ,  , t )
*


 J x = −

D’où l’équation de Hamilton-Jacobi :

5
user

J t − H ( x* , − J x , t ) = 0

Qui doit être satisfaite sur la trajectoire optimale avec la condition finale : J ( x* (t f ), t f ) = 0

d) Les conditions de Transversalité :

Ce sont les expressions à satisfaire pour vérifier les conditions terminales imposées à la
trajectoire :

d.1. Conditions initiales :

Elles découlent directement de la relation ( r − rxT x ) − gt0   t0 + rx (t0 ) − g x0 ( )


T

 0 
 x0  0 :

  x0 et  t0 tels que : K x0  x0 + K t0  t0 = 0 on doit avoir

(
( r − rxT x ) − gt   t0 + rx (t0 ) − g x )
T

 0 0  0
 x0 = 0

d.2. Conditions finales :

  x f et  t f tels que Lx f  x f + Lt f  t f = 0 on doit avoir

(
( r − r T x ) + g   t + r (t ) + g ) x
T
=0
 x f tf 
 f x f xf f

e) Conditions de Weierstrass et de Legendre (conditions au second ordre)

e.1. Conditions de Weierstrass :

tf

Considérons l’expression J =  r ( x, x, t ) dt et envisagerons une variation par rapport à


t0

la trajectoire optimale telle que x* soit remplacé par x entre les instants t et dt .
L’effet de la variation étant nul à l’instant final.

Il en résulte :  J (t )t f =  J (t )t +  J (t )t +  J (t )t +f dt


t t t + dt t
0 0 0

6
user

 J (t )t  J (t )t
t + dt
=0 ; = r ( x* , x, t ) − r ( x* , x* , t )  dt ;
t
Avec
0 0

tf
d T
 J (t )t + dt =  (rx − rx )  xdt − (rxT  x) (t + dt ) et  x(t + dt ) = ( x − x* )dt
tf

t + dt
dt
= 0( Euler )

 J (t ) = r ( x* , x, t ) − r ( x* , x* , t ) − rxT ( x* , x, t )( x − x* )  dt

On doit avoir  J (t )  0 , x ; ds  0 ( J minimum) : solution optimale obtenue pour

x = x*

La condition nécessaire au second ordre de Weierstrass


 x et  t  t0 , t f  ,  r ( x* , x, t ) − r ( x* , x* , t ) − rxT ( x* , x* , t )( x − x* )   0

e.2. Condition de Legendre

Lorsque Rxx existe et est continue dans un voisinage de la trajectoire optimale, il vient
avec la notation  x = x − x* :

1 T
r ( x* , x, t ) − r ( x* , x* , t ) −  xT rx ( x* , x* , t )  x Rxx ( x* , x* , t ) x
2

La condition au second ordre de Legendre : Rxx ( x* , x* , t )  0

II.3. Minimisation en présence de contraintes :


a. Contraintes égalités : → problème de BOLZA
Le problème consiste à trouver x(t ) satisfaisant les conditions terminales
K ( x0 , t0 ) = 0 ; L( x f , t f ) = 0 et les conditions instantanées et intégrales :

t , q(.)  , q ( x, x, t ) = 0
Kq

tf

t , p(.)   p( x, x, t )dt = 0
Kp
,
t0

tf

Et minimisant la fonctionnelle : J =  r ( x, x, t )dt + g ( x0 , t0 , x f , t f )


t0

7
user
Si g  0 → problème de Lagrange

Si r  0 → problème de Mayer

b. Cas de contraintes intégrales :


La condition de stationnarité au premier ordre s’exprime pour la fonctionnelle :
tf t0 T
 d 
J =  r ( x, x, t ) dt sous la forme :   x admissible on a :  J =   rx − rx   xdt
tf 
t0 dt 
tf

Or la i ème
contrainte :  p ( x, x, t )dt ; i  1,
t0
i , k p  doit être vérifiée.

tf
 d 
Après variation, il vient :   p
t0
ix −
dt
pix   xdt = 0

tf

Les intégrales ci-dessous s’interprètent comme un produit scalaire (u \ v) =  u T v dt


t0

d
u = rx − rx ⊥ x  x
dt
d
et vi = pix − pi ⊥  x  x
dt x
Les vecteurs u et vi sont linéarisant dépendant

 d   
 i , i 1, , K p  ;  rx − rx  +   i  pix − pix  = 0
d
 dt  i  dt 
Equation d’Euler obtenue en remplaçant r (.) par  ( x, x, t ,  ) = r ( x, x, t ) +  T p( x, x, t )
c) Contraintes instantanées :
On montre de même que l’on obtient une équation d’Euler relative à la fonction :
 ( x, x, t ,  ) = r ( x, x, t ) +  T q( x, x, t )
Pour un problème de minimisation avec contrainte on montre que :
• L’équation d’Euler
• Les conditions de Weirstrass et de Legendre
• Les conditions de transversalité
Restent valable en remplaçant en remplaçant la fonction r (.) par la fonction  (.)

 ( x, x, t ,  ,  ) = r ( x, x, t ) +  T q( x, x, t ) +  T p( x, x, t )

8
user

d) Principe du maximum :

Soit un problème de commande optimale :


• Un processus défini par l’équation d’état :
x = f ( x, u, t ) , x  n
,u  l

• Chercher la commande optimale minimisant le critère :


tf

J =  r ( x, u , t )dt + g ( x0 , t0 , x f , t f )
t0

• Tout en satisfaisant les conditions terminales : K ( x0 , t0 ) = 0 ; L( x f , t f ) = 0

Et en satisfaisant les contraintes :


✓ Instantanées : q( x, u, t ) − v 2 = 0
tf

✓ Intégrales :  ( p( x, u, t ) + w ) dt = 0
2

t0

Remarque : Les contraintes intégrales peuvent s’exprimer sous la forme de


contraintes instantanées en introduisant la nouvelle variable :

tf

Z =  p ( x, u , t )dt 
t0

 Z − p ( x, u , t ) = 0

 Z (t0 ) = 0
 Z (t ) = 0
 f

d
Et l’équation d’Euler relative à la variable Z s’écrit alors : =0
dt

Notons : Le Hamiltonien du système H ( x,  , u, t ) = −r ( x, u, t ) +  T f ( x, u, t )

Les conditions d’optimalité peuvent alors s’exprimer par les équations canoniques
de Hamilton et le principe du maximum.

Equations canoniques de Hamilton :

9
user

 x = H 

 = − H x

Principe du maximum : La commande optimale est celle qui maximise le


Hamiltonien, les contraintes étaient satisfaites.

Expression des conditions de transversalité :

✓ A l’instant initial :
(−H (t0 ) − gt0 ) t0 + (− (t0 ) − g x0 )T  x0 = 0 avec K x0  x0 + K t0  t0 = 0

✓ A l’instant final :
(− H (t f ) − gt f ) t f + (− (t f ) − g x f )T  x f = 0 avec Lx f  x f + Lt f  t f = 0

III. Commande optimale quadratique des systèmes linéaires

Soit le système linéaire :

 x(t ) = A(t ) x(t ) + B(t )u (t)



 y(t) = C (t ) x(t )
 (t ) = e − y

x n
; u l
; y m

e : vecteur de consigne

 : vecteur d'erreur

e = 0  problème de régulation

e  0  problème de poursuite

a) Le critère à minimiser :

tf
1 1
J =  ( T (t ) (t) (t) + u T (t ) R(t )u (t ))dt +  T (t f ) P  (t f )
2 t0 2

10
user
P , Q : matrice de dimension m * m , symétrique semi-définie positive

R(t ) : matrice de dimension l* l , définie positive

J : représente un compromis entre:

• Une économie de l'énergie représentée par le terme:


tf
1
J u =  u T (t ) R (t )u (t )dt
2 t0

• Et l'amélioration des performances du processus représentée par la minimisation de la


quantité:

tf
1
J  =   T (t ) (t) (t)dt
2 t0

b) Résolution du problème :

Le critère s'écrit sous la forme:

tf
1 1
J =  ((e− Cx)T (t ) (t)(e− Cx) + u T (t ) R(t )u (t )) dt + (e − Cx)Tf P(e − Cx) f
2 t0 2

On applique le principe du maximum et les équations canoniques de Hamilton

a.1. Hamiltonien :

1
H = −r +  T f = − ((e− C x)T (t ) (t)(e− C x) + u T (t ) R(t )u (t )) +  T ( Ax + Bu )
2

a.2. Equations canoniques de Hamilton :

 H
 x = H  =  = Ax + Bu

 = − H = − H = −( AT  + C T Q(e − Cx) = CT QCx − AT  − C T Qe
 x
x

11
user

a.3. Maximisation de H :

 H u = 0 et H uu  0
H u = BT  − Ru = 0  u* = R −1BT 
H uu = − R : matrice définie négative

a.4. Condition de transversalité à l'instant final:

( ) 1
T
(− H f + gt f ) t f +  f + g x f  x f = 0 Avec g (.) = (e − Cx)Tf P(e − Cx) f
2

Etat final ( x f ) = libre   f = CTf P(e − Cx) f

Le système optimaux s'écrit alors sous la forme :

 x = Ax + BR −1 BT 

 = C QCx − A  − C Qe
T T T

Avec les conditions terminales :

 x(t0 ) = x0

 (t f ) = C P (e − Cx ) f
T

b. Problème avec contrainte :

En présence de contrainte sur la commande de la forme :  i , ui  ui max

On peut montrer que la solution optimale s’écrit :

u* = sat ( R −1 BT  )
ui si ui  ui max
Avec : sat (ui ) = 
 sign(ui )ui max si ui  ui max

III.1. Problème de régulation e = 0


Soit le système linéaire

12
user

 x(t ) = A(t ) x(t ) + B(t )u (t)



 y(t) = C (t ) x(t )
 (t ) = e − y

S’écrit :

x   A BR −1BT   x 
 = T   (b)
  C QC − AT   

 x(t )   x(t0 )   11 (t , t0 ) 12 (t , t0 )   x0 


  = (t , t0 )   =  (t , t )  (t , t )   
 (t )    (t 0 )   21 0 22 0  0

Avec :  (t f ) =  f = −C Tf PC f x(t f )
  21 (t f , t0 ) x0 +  22 (t f , t0 )0 = −C Tf PC f 11 (t f , t0 ) x0 + 12 (t f , t0 )0 
−1
 0 = −  22 (t f , t0 ) + C Tf PC f 12 (t f , t0 )   21 (t f , t0 ) + C Tf PC f 11 (t f , t0 )  x0

Pour t f donner on a : 0 = − K (t0 ) x0

Un calcul d’optimalité à partir d'un instant quelconque t pris comme origine ( t0 = t ) conduit à

l'expression suivant de  (t )

t ;  (t ) = − K (t ) x(t )

−1
Avec K (t ) =  22 (t f , t ) + C Tf PC f 12 (t f , t )   21 (t f , t ) + C Tf PC f 11 (t f , t ) 

Si (t f , t ) = I  K(t f ) = CTf PC f

La solution correspond à une structure de commande optimale en boucle fermée :

u* = − R −1BT K x

Calcul direct du gain K (t )

On a  = − K x   = − ( Kx + Kx )

Le système (b)  CT QCx − AT A = − K ( Ax + BR −1BT  ) − Kx

Par élimination de  (  = −Kx ) il vient :

 K + KA + AT K − KBR −1 BT K + C T QC  x = 0 x

13
user
 K est solution de l'équation de Riccati:

K + KA + AT K − KBR −1BT K + C T QC = 0
Avec la condition finale : K (t f ) = C Tf PC f
K : symétrique est définie positive

Remarques importantes :

1. Les relations ci-dessous sont invariantes par transposition  la matrice K (t ) est symétrique

:  t K (t ) = K T (t )

2. L'équation de Hamilton-Jacobi permet de montrer que l'optimal pour un état initial x à


l'instant t , s’écrit :

tf
1 1
J ( x, t ) =  (yT (t ) (t) y + u T (t ) R(t )u (t ))dt + y Tf Py f
2t 2
1 T
= x (t ) K x(t )
2

J ( x, t )  K (t )
Et comme est nécessairement positif est obligatoirement définie non négative

(semi définie positive).

Cas stationnaire, horizon infini :

tf
1
J ( x, t ) =  (yT (t ) (t) y + u T (t ) R(t )u (t ))dt
2t

i) Dans le cas stationnaire on a : les matrices


A , B, C , Q et R cons tan tes
ii)
dH
 = H t = 0  H (t ) = cons tan t t
dt

tf
1
 J ( x, t ) =  (yT (t ) (t) y+ u T (t ) R(t )u (t ))dt
2t
ii) Horizon Infini

14
user

 t f non fixé  H (t f ) = 0 ( condition de transversalité )

1
x −  xT C T QCx + xT KBR −1 BT Kx  − xT K ( A − BR −1BT K ) x = 0
2
on a:

K (t )
Il resulte alors que vérifie l'équation algébrique de Riccati:

KA + AT K − KBR −1BT K + C T QC = 0
 K = 0  K (t ) = K : matrice cons tan te

La stabilité du système muni de la commande obtenue : on utilise la méthode directe de

Lyapunov avec la fonction quadratique:

V ( x ) = xT K x

dV
 = xT K x + x T K x
dt
= − xT  KBR −1 BT K + C T QC  x  0

Le système commandé est stable

e0
III.2. Problème de poursuite

On montre d'une manière similaire à celle du problème de régulation que:


t ;  (t ) = − K (t ) x(t ) + k(t) et que la commande optimale correspond à une structure bouclée
de la forme:

u* = R−1BT  −K (t ) x(t ) + k (t )

On montre aussi que :

15
user
i) K (t ) est la même solution de l'équation de Riccati obtenue dans le problème de régulation

 −1 T
 K + KA + A K − KBR B K + C QC
T T


 K f = C f PC f
T

ii) k (t ) est solution de l'équation

k + ( AT − KBR −1 BT ) k + C T Qe = 0

 K f = C f Pe(t f )
T

Cas Stationnaire-horizon infini :

e(t ) = Consigne constante

K = Matrice constante, k = constante

 KA + AT K − KBR −1BT K + C T QC = 0
 T −1 T
( A − KBR B )k + C Qe = 0
T

k = −( A − BR −1BT K )−T C T Qe
 u* = − Lx + Ne

 L = R −1 BT K

 K : solution définie non négative de l ' équation de Riccati
Avec :  −1 T
 KA + A K − KBR B K + C QC = 0
T T

 N = − R −1 BT ( A − BR −1BT K ) −T C T Q : gain statique ; précision max imale = 1


Remarque :

i) La résolution complète du problème de poursuite  La condition suivante doit être vérifiée


(Condition imposée par une erreur permanente nulle)

Q − QC ( A − BR −1BT K )−1 BR −1BT ( A − BR −1BT K )−T C T Q = 0 (c)

ii) S'il existe une indication des entrées-sorties tel que le ième sortie soit commandable par la ième
entrée, alors la présence d'un intégrateur au niveau de chaque entrée:

16
user

1 
p 0
 
y ( p) = M ( p)   u ( p ) Avec M (0)  0
 1 
0
 p 

Garantit la vérification de la relation (c)

17

Vous aimerez peut-être aussi