Vous êtes sur la page 1sur 18

Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I.

4, 2007-08
1
Commande optimale linaire quadratique
pour lalunissage de Lunar Lander
commenter un exemple simple de commande
optimale
dfinir un critre quadratique en exprimant un
compromis entre erreur et commande
noncer le principe doptimalit de Bellman
rsoudre lquation de Riccati rcurrente
rsoudre lquation algbrique de Riccati avec
Matlab
Objectifs : aprs cette sance vous DEVREZ savoir
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 2
Illustration de la commande optimale
linaire quadratique sur un exemple.
( )
n n
n n n
x y
a x x
0 1
1
2 / 1
1 0
1 1
1
=
|
|
.
|

\
|
+
|
|
.
|

\
|
=
+
Reprenons le systme inertie
discrtis avec Te = 1s

On cherche la loi de commande
par retour dtat :

qui minimise lnergie de
commande J
0
durant le retour
lquilibre
opr en H priodes
dchantillonnage.

=
=
1
0
2
0
2
1
H
j
j
a J
n n
Kx a =
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 3
Les composantes de ce problme
J
0
est un critre quadratique, il sagit donc dun
problme de commande optimale quadratique.
H est lhorizon de la commande
est le vecteur de commande
optimal, celui qui minimise la fonction critre J
0
.
Sil y a une solution a = - Kx , cest une commande
en boucle ferme par retour dtat
est la trajectoire
optimale (qui minimise le critre J
0
).
Ltat final x
H
est impos (cest ltat dquilibre)
] , , [
1 1 0
=
H
a a a a

] 0 , , , [
1 1 0

= =
H H
x x x x x
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 4
Un critre quadratique exprime en gnral un
compromis entre lnergie de commande et
H est lhorizon de la commande, qui dure HT
e
.
Q et R symtriques, dfinies, positives, fixent les importances
relatives de lcart lquilibre et de la commande applique
, forme quadratique, fixe limportance de lcart la
valeur finale
fixe le poids de lnergie de commande
) (
2
1
1
0
0 n
T
n n
H
n
T
n
Ra a Qx x J + =

=
n
T
n
Qx x
0

=
H
x
n
T
n
Ra a
cart
lquilibre
cot de la
commande

Critre
minimiser
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 5
Le principe doptimalit de Bellman suggre
une solution ce problme de commande
Le principe de Bellman dit que les
parties dune trajectoire optimale sont
elle-mmes optimales.
Lide est alors de rsoudre le
problme dhorizon n partir de la
solution pour un horizon n-1
Si on connat la trajectoire x
n+1
x
H
optimale, alors on
calculera a
n
de telle faon que x
n
x
H
soit optimale aussi

Lapplication de ce principe au problme de commande
optimale quadratique impose de remonter le temps partir
de linstant final et jusqu linstant initial.
x
n
x
0
x
H
x
n+1
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 6
On dfinit J
n
, valeur du critre entre nT
e
et HT
e
) (
2
1
1
i
T
i i
H
n i
T
i n
Ra a Qx x J + =

=
) (
2
1
1 n
T
n n
T
n n n
Ra a Qx x J J + + =
+
H n < s 0
On vrifie aisment :
Question : prciser les valeurs de J
H-1
et J
H
Pour
On se place alors linstant final HTe, et on cherche bien
choisir la commande a
H-1
pour minimiser J
H-1
,
puis a
H-2
pour minimiser J
H-2
, et ainsi de suite, jusqu J
0
On fait ainsi H choix successifs, pour a
H-1
, puis a
H-2
, et a
0
.
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 7
La solution est lquation de Riccati rcurrente
2. la relation P
n
(P
n+1
), ou quation de Riccati rcurrente :
La solution du problme est alors donnes par :
1. la relation entre x
n
et a
n
, ou loi de commande :
n n
T
n n
x P x J
2
1
=
On introduit P
n
, la matrice de Riccati, symtrique, dfinie
positive, de la manire suivante :
n n
T
n
T
n
Ax P B B P B R a
1
1
1
) (
+

+
+ =
A P B B P B R B P A Q A P A P
n
T
n
T
n
T
n
T
n 1
1
1 1 1
) (
+

+ + +
+ + =
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 8
Comment tablir la solution prcdente
1. On fait apparatre P
n
et P
n+1
dans la relation entre J
n
et J
n+1

on fait disparatre x
n+1
avec lquation dtat.
2. On drive J
n
par rapport la commande a
n
en utilisant les
proprits rappeles ci-aprs pour la drivation des formes
linaires et des formes quadratiques.
3. On drive de mme J
n
par rapport ltat x
n
.
Voici la premire tape du calcul, poursuivre selon le
temps disponible pour aboutir la solution prcdente :
n
T
n n
T
n n n
T
n n n
T
n
Ra a Qx x x P x x P x + + =
+ + + 1 1 1
n n n
Ba Ax x + =
+1
n
T
n n
T
n n n n
T
n n n n
T
n
Ra a Qx x Ba Ax P Ba Ax x P x + + + + =
+
) ( ) (
1
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 9
n n
T T
n n n
T T
n
n n
T T
n n n
T T
n n n
T
n
Ax P B a Ba P A x
a R B P B a x Q A P A x x P x
1 1
1 1
) ( ) (
+ +
+ +
+ +
+ + + =
n n n n
T
n
T
n
n n
T
n n
T
n
n
x K Ax P B B P B R a
Ax P B a R B P B
a
J
= + =
+ + = =
c
c
+

+
+ +
1
1
1
1 1
) (
2 ) ( 2 0
A P B B P B R B P A Q A P A P
Ba P A Qx Ax P A x P
x
J
n
T
n
T
n
T
n
T
n
n n
T
n n n
T
n n
n
n
1
1
1 1 1
1 1
) (
2 2 2 2
+

+ + +
+ +
+ + =
+ + = =
c
c
n
n
n
P
x
J
2
2
2
=
c
c
) ( 2
1
2
2
R B P B
a
J
n
T
n
n
+ =
c
c
+
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 10
Remarques sur la solution de lquation de Riccati
1. le retour dtat obtenu a
n
= - K
n
x
n
est non stationnaire.
2. on rsoud lquation de Riccati P
n
(P
n+1
) en temps invers,
depuis n = H jusqu n=0.
3. quand lhorizon tend vers linfini, lquation rcurrente de
Riccati tend vers lquation algbrique de Riccati :




4. Il faut initialiser la matrice de Riccati P
H-M
: si le processus est
entirement gouvernable, la trajectoire est impose pour les
dernires priodes dchantillonnage par lquation a=Gx
H-M
,
on doit calculer P
H-M
et les retours dtat K
H-M
, K
H-1
par
ses propres moyens (cf. exemple du systme inertie)
n n
T T
n
Kx PAx B PB B R a = + =
1
) (
PA B PB B R PB A Q PA A P
T T T T 1
) (

+ + =
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 11
Matlab Control Toolbox ne sait rsoudre que
lquation algbrique de Riccati par dfaut
Il existe plusieurs possibilits pour rsoudre
lquation algbrique de Riccati avec Matlab :
La fonction dlqr : [K,S,e] = dlqr(ad,bd,Q,R,N)
La fonction lqrd : [Kd,S,e] = lqrd(A,B,Q,R,Te) qui
trouve la loi de commande discrte par retour dtat pour
un processus continu
lqry qui calcule un critre sur la sortie du processus
La fonction dare (voir ci-aprs) rsoud lquation de
Riccati algbrique pour un systme discret
Pour rsoudre lquation rcurrente de Riccati, il
faut crire des scripts adquats
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 12
Utilisation de la fonction dare de Matlab
pour le systme inertie
Time (sec.)
A
m
p
l
i
t
u
d
e
Initial Condition Results
0 5 10 15 20 25
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

% dfinit une reprsentation d'tat
% sous la forme de commande
ovni=ss([0 1;0 0],[0;1],[1 0],0);
Te=1;
% discrtise
ovnidiscret=c2d(ovni,Te)
% extrait a,b et c
a=get(ovnidiscret,'a')
b=get(ovnidiscret,'b')
c=get(ovnidiscret,'c')
% cre la loi de commande du systme
% embarqu avec lquation de Riccati
[X,L,K] = dare(a,b,0.01*ones(2,2),1)
ovniasservi=ss(a-b*K,K(1)*b,c,0,Te)
x0=[1;0]
initial(ovniasservi,x0)
L
J=x0'*X*x0
K
% la fonctiondare naccepte pas Q=0
% do le terme Q=0.01*ones(2,2)

L = 0.7767 + 0.1724i
0.7767 - 0.1724i
J = 0.0411
K= [0.0796 , 0.4068]
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 13
Initialiser lquation de Riccati pour
lalunissage de Lunar Lander (1/2)
Les deux dernires priodes dchantillonnage de Lunar Lander sont
fixes, ce processus dordre 4 entirement gouvernable peut atteindre
tout tat x
H
en deux priodes dchantillonnage suivant une trajectoire
unique, puisque :
si ad et bd sont les matrices dtat discrtises, la matrice de gouvernabilit
G = [ad*bd, bd] est en effet carre et inversible :
les commandes pour atteindre ltat dquilibre x
H
=0 depuis ltat x
H-2
sont
donc donnes par la solution unique :


de plus, si le critre est lnergie de commande, il vaut :


2 2
2 1
1
2

= = =
|
|
.
|

\
|
H H d
H
H
Nx x a G a
a
a
2 2 2 2 2 2
2
1
2
1
2
1

= = = =
H H
T
H H H
T T
H
T
comm
x P x J Nx N x a a E
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 14
Initialiser lquation de Riccati pour
lalunissage de Lunar Lander (2/2)
Do la condition initiale de lquation de Riccati linstant (H-2)Te:


De plus, K
H-2
tel que a
H-2
=-K
H-2
*x
H-2
est la moiti suprieure
de la matrice N, note ici N
haut
. En effet :


Pour calculer de K
H-1
tel que a
H-1
=-K
H-1
*x
H-1
, on crit la dernire
quation dtat entre (H-1)T
e
et HT
e
, et si b
d
est pseudo inversible (de
rang complet), il y a au moins la solution K
H-1
=pinv(b
d
)*a
d
:
) ( ) (
2 1 2 1
2 d
T
d
T
H
a G a G N N P

= =
2 2 2 2
2
1
1
2

=
|
|
.
|

\
|
= = = =
|
|
.
|

\
|
H haut H
bas
haut
H H d
H
H
x N a
N
N
Nx x a G a
a
a
1 1 1 1
1 1 1 1
) (
0


= =
= + = =
H H H d H
H d H d H d H d H
x K x a bd pinv a
x a a b a b x a x
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 15
Comment choisir les matrices Q et R
Les matrices Q et R permettent de fixer le compromis entre
cart quadratique (cart la valeur finale) et nergie de
commande :
1 ,
1 0
0 1
=
|
|
.
|

\
|
= R Q
donne la mme importance aux deux termes
1 ,
9 0
0 9
=
|
|
.
|

\
|
= R Q
cart quadratique trois fois plus important
A quels compromis aboutissent selon vous les valeurs suivantes ?
100 ,
1 0
0 1
=
|
|
.
|

\
|
= R Q 1 ,
1 0
0 25
=
|
|
.
|

\
|
= R Q
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 16
Annexe : forme bilinaire F(x), forme
quadratique Q(x,y), et matrice dfinie positive
On drive alors F(x) et Q(x,y) comme suit :
Qy
x
Qy x
x Q
y
Qy x
x Q Q
x
Qx x
T
T
T
T
T
=
c
c
=
c
c
+ =
c
c ) ( ) (
) (
) (
La drive de F(x) par le vecteur x vaut :
|
|
|
|
|
.
|

\
|
c
c
c
c
=
xn
F
x
F
dx
dF

1
On appelle forme quadratique le scalaire :
On appelle forme bilinaire le scalaire :
Qx x x F
T
= ) (
Qy x y x G
T
= ) , (
(
(
(

=
n
x
x
x
1
** Les dimensions des vecteurs x, y et de la matrice Q sont telles que les
produits ci-dessous sont licites :
Q est dite matrice dfinie positive si la forme quadratique associe
F(x) est positive quelque soit x non nul et nulle seulement en x=0.
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 17
Comment initialiser lquation rcurrente de Riccati
pour lexemple du systme inertie
On doit calculer P
H-2
, K
H-2
et K
H-1
pour initialiser lquation
de Riccati, puis P
H-2
, K
H-2
donneront P
H-3
, K
H-3
etc

0
1 2
1 2

=

H
a
H
a
H
x x x
H H
| |
|
|
.
|

\
|
= =
1 1
5 . 5 . 1
B AB G
2 2
2 1
1
2
5 . 0 1
5 . 1 1

|
|
.
|

\
|

= =
(

H H
H
H
x x A G
a
a
do :
| |
2 2 2 2
5 . 1 1

= =
H H H H
x K x a
avec
On obtient
1 1
1
5 . 0
1 0
1 1
0
0

|
|
.
|

\
|
+
|
|
.
|

\
|
=
|
|
.
|

\
|
H H
a x
| |
1 1 1 1
2 2

= =
H H H H
x K x a
Puis lquation dtat donne :
Introduction la commande par ordinateur, cours n5, J.-P. Stromboni, S.I. 4, 2007-08
Page 18
2
) ( ) (
2
2
2 1 2 1
2 2 2 2
2


= =
H
T T
H H H
T
H
H
x A G A G x x P x
J
|
|
.
|

\
|
=

5 . 2 2
2 2
2 H
P Conduit
Calcul de P
H-2
Utilisation de P
H-2
si H > 2
partir de P
H-2
, lquation de Riccati donne :

et on trouve

puis, P
H-3
et lquation de Riccati donnent :

et

etc (cf. le script MAPLE Riccati.mws pour H=10)
|
|
.
|

\
|
=

454 . 1 75 . 0
748 . 0 5 . 0
3 H
P
( ) 084 . 1 5001 . 0
3
=
H
K
|
|
.
|

\
|
=

049 . 1 4001 . 0
3998 . 0 2001 . 0
4 H
P
( ) 8499 . 0 3006 . 0
4
=
H
K