Vous êtes sur la page 1sur 10

COMMANDE OPTIMALE PAR MINIMISATION DUN CRITERE QUADRATIQUE

FORMULATION MONTRANT LA SIMILARITE AVEC LE FILTRE DE KALMAN


Jol Le Roux et Jean Paul Stromboni,
Ecole Polytechnique de lUniversit de Nice
leroux@polytech.unice.fr
1. Introduction
Ces notes de cours formulent le problme de la commande optimale et sa solution en
ltablissant dune manire similaire celle qui a t employe dans le cas du filtre de
Kalman.
On considre un systme linaire donn sous la forme dune reprsentation dtat (fig.1) ; ici
nous nenvisagerons pas la prise en compte des mesures
(1)
(on peut gnraliser au cas o les matrices A et B varient au cours du temps.)
Figure 1 : Reprsentation dtat de la commande dun systme
Le problme est le suivant : A linstant 0, le systme est dans un tat x
0
connu. Comment
calculer la commande u
n
pour quau bout de N applications de cette commande, le systme se
retrouve dans un tat final donn x
N
? On peut prendre cet tat final gal zro, du fait de
lhypothse de linarit ; un changement de variable permet de ramener le problme ce cas.
Le problme ainsi pos a en gnral une infinit de solutions ; on peut choisir parmi ces
solutions en se donnant un critre quil sagira de minimiser. Dans le cas de la commande
dun engin, on peut par exemple envisager de minimiser la consommation de lnergie totale
ncessaire pour atteindre la cible en pnalisant par un cot supplmentaire lcart la cible
la fin de la squence de commandes, linstant N.
Dans ce document, nous dtaillons les oprations justifiant la construction de la commande
pour aboutir aux formules donnant le tapes de calcul de cette commande. Le deuxime
paragraphe donne la formalisation du critre minimiser ; le troisime paragraphe dtaille la
minimisation du critre et le quatrime illustre le rsultat par une simulation.
y
n
mmoire
(retard)
z
-1
A
B
u
n
commande
(entre)
x
n+ 1
C
+
+
x
n
tat
sortie
(mesure)
D
x
n+1
=A. x
n
+B.u
n
.
2. Formulation du critre
Nous chercherons atteindre la cible linstant N (soit x
N
= 0 aprs avoir effectu un
changement de repre si ncessaire) en minimisant le critre (ou le cot) suivant
(2)
Une hypothse fondamentale est la forme quadratique du critre : il dpend de manire
quadratique des tats et des commandes. Les matrices Q et R sont des matrices symtriques
dfinies positives qui dpendent du problme rsoudre. Le premier terme de la somme
pnalise lcart lobjectif ; en particulier on imposera en gnral qu la dernire tape N du
processus cet cart soit faible et on prendra une valeur importante pour Q
N
. Le deuxime
terme value le cot li la commande. Comme la dernire tape il ny a plus de
commande, nous prendrons R
N
gal zro. Ce choix est fondamental pour la justification des
dveloppements menant la solution.
Une deuxime hypothse est ladditivit des cots : le cot sur la priode (m, N) se dduit du
cot sur la priode (m+1, N) par laddition dun terme qui ne dpend que de ltat et de la
commande linstant m. De manire tout fait artificielle, nous allons crire ce critre qui est
un scalaire positif sous la forme suivante
(3)
o on suppose que x
n
est diffrent de zro. Notez que rien ninterdit cette criture, mme si
pour le moment nous navons pas calcul P
n
.
On rcrit (3) de manire faire apparatre une rcurrence :
(4)
ou encore, en remplaant la somme par lexpression C(n+1) donne par la formule (3)
(5)
Pour tirer parti de cette formule rcurrente, on remplace dans lexpression prcdente (5), la
valeur de x
n+1
par son expression (1)
(6)
Dans les quations suivantes, lindice n des termes A, B, Q, R, x et u ne sera pas retranscrit
pour ne pas alourdir les formules. Le dveloppement de cette expression (6) fait apparatre des
termes quadratiques qui ne dpendent que de x et des termes qui dpendent de u :
(7)
. ) ( ) ( ) 0 (
1
0
0
N N
T
N
N
m
m m
T
m m m
T
m
n
x Q x u R u x Q x n C C + +

, ) ( ) (
n n
T
n
N
n m
m m
T
m m m
T
m
x P x u R u x Q x n C +

, ) ( ) (
1
n n
T
n n n
T
n
N
n m
m m
T
m m m
T
m n n
T
n
u R u x Q x u R u x Q x x P x n C + + +

+
. ) (
1 1 1 n n
T
n n n
T
n n n
T
n n n
T
n
u R u x Q x x P x x P x n C + +
+ + +
. ) . . ( ) . . (
1 n n
T
n n n
T
n n n n
T
n n n n
T
n
u R u x Q x u B x A P u B x A x P x + + + +
+
.
.
1 1 1
1
u R u Bu P B u Ax P B u Bu P A x
x Q x x A P A x x P x
T
n
T T
n
T T
n
T T
T
n
T T
n
T
+ + + +
+
+ + +
+
Lcriture (3) qui peut sembler artificielle est particulirement astucieuse ; cest cette ide qui
permet dtablir une expression rcurrente pour le calcul de la commande optimale. Elle
ncessite cependant des prcautions pour quelle ninduise pas de faux raisonnements.
3. Minimisation du critre
3.1 Calcul de la valeur de u qui minimise le critre
Nous allons mettre lexpression (7) sous la forme suivante
(8)
Cette formulation a pour but de faciliter la minimisation du critre. Notons que dans le cas
scalaire, ceci revient crire un binme homogne de degr deux sous la forme dune somme
o apparat un carr
(9)
Dans ce cas plus simple, le minimum est atteint lorsque le carr sannule. Le dveloppement
de lexpression (8) donne
(10)
Pour que les expressions (7) et (8) concident, il faut que
(11)
(12)
Afin dobtenir puis , il faut dabord exprimer les facteurs (12) ; ce calcul de nest
quune opration intermdiaire qui napparaitra pas dans la formule finale. La matrice de
droite dans lexpression (12) est une matrice symtrique dfinie positive qui admet une
dcomposition sous la forme du produit dune matrice par sa transpose, par exemple le
produit dune matrice triangulaire infrieure par sa transpose, et il peut y avoir une multitude
dautres factorisations de ce type. Nous obtenons ainsi
(13)
En remplaant par sa valeur (13) dans (11), on obtient
(14)
Si on suppose que le terme quadratique en x de lexpression (8)
ne dpend pas de la commande u
n
, alors le critre C(n) de (8) sera minimum lorsque
(15)
soit, en remplaant par sa valeur (11)
(16)
). . . .( ) . . (
1
x u x u x x
x Q x Ax P A x x P x
T T T
T
n
T T
n
T
+ + +
+
+
.
2 4
2
2
2
2 2 2

,
`

.
|
+ + + + c u
c
b
x x
c
b
ax cu bxu ax
.
1
u u x u u x x x x x
Qx x Ax P A x x P x
T T T T T T T T T
T
T
n
T T
n n
T
+ + + +
+
+
, . . .
1
B P A
n
T T
+

. . . .
1
B P B R
n
T T
+
+
2 / 1
1
) . . ( B P B R
n
T
+
+
A P B
n
T T
. .
1 +


, .
1
x u


, . . .
1
1
x A P B u
n
T T
+


n
T T
n n
T
n n n
T T
n
x x x Q x x A P A x +
+1
ou encore en remplaant par sa valeur (12)
( ) .
1
1
1 n n
T
n
T
n n
Ax P B B P B R u
+

+
+
(17)
3.2. Calcul de la valeur du minimum
Pour le moment, nous ne savons toujours pas exprimer la matrice
n
P
; Nous allons dduire
du fait que le minimum est atteint une formule rcurrente permettant de calculer cette matrice.
Lorsque le minimum est atteint, lexpression (8)
se simplifie car le dernier terme sannule ; elle scrit
(18)
soit, en remplaant par sa valeur (14),
(19)
puis en remplaant par sa valeur (13),
(20)
La matrice
n
P
doit tre construite de manire vrifier cette identit. Cette identit sera
vrifie quelque soit x si on choisit
(21)
n n
T
n
x P x est la valeur positive dune forme quadratique, et ceci est valable pour tous les
choix possibles de ltat initial
n
x qui peut tre pris arbitrairement ; et par consquent les
matrices
n
P
sont toutes dfinies positives.
) .( ) (
1
x u x u x x x Q x Ax P A x x P x
T T T T
n
T T
n
T
+ + + +
+
, ) . . (
1
x Q A P A x x P x
T
n
T T
n
T
+
+
, ) . (
1
1
1 1
x A P B B P A Q A P A x x P x
n
T T
n
T
n
T
T
n
T
+

+ +
+
. ) . . ) . . ( . (
1
1
1 1 1
x A P B B P B R B P A Q A P A x x P x
n
T
n
T
n
T
n
T T
n
T
+

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

+ + +
+ +

Cette expression montre que le calcul rcursif rtrograde de
1 + n
P
partir de la
dernire valeur
N
P
(quon prend gale
N
Q
car
N
R
vaut zro ) ne fait pas intervenir
ni les tats ni les commandes. On justifie ainsi lhypothse que nous avons faite au
paragraphe prcdent sur le fait que
1 + n
P
et les termes et qui sen dduisent ne
font pas intervenir la commande
n
u
.

Attention : Lhypothse qui justifie cette expression du minimant est que dans lquation (8),
le seul terme qui dpend de u est ) . . .( ) . . ( x u x u
T
+ + . En particulier
1 + n
P
,ainsi que
et qui sen dduisent ne doit pas dpendre de la commande
n
u
. Cette hypothse
fondamentale pour la justification de la minimisation sera vrifie a posteriori dans le
paragraphe suivant.
3.3. Lalgorithme. On a ainsi lexpression complte de la commande optimale :
4.
Illustration par une simulation
Voici un exemple assez simple, le dplacement dun mobile en lui appliquant une force (ou
plutt une variation de vitesse) permettant dillustrer (et ventuellement de vrifier la
programmation) de cette mthode dans un cas lmentaire (programmation mathcad)
Systme, tat initial et tat final :
Il sagit de minimiser o le dernier terme donne le cot
lorsque la cible nest pas atteinte ; la matrice apparaissant dans ce terme (matrice identit
proportionnelle un scalaire q, ici gal 1) donne linitialisation de la matrice
N
P

Initialisation du critre : N =1000, r = 0.001
Calcul rcursif rtrograde de la matrice
m
P
Dans une premire tape on calcule rcursivement de manire rtrograde
, . . ) . . .( . .
1
1
1 1 1
A P B B P B R B P A Q A P A P
n
T
n
T
n n
T
n n
T
n +

+ + +
+ +
pour n dcroissant de N-1 zro ; la valeur initiale de
N
P
est connue :
cest par exemple lexpression donnant la pnalisation associe un cart
la valeur cible .
N N
T
N
x P x ; elle ne tient pas compte dune commande car
cest la dernire tape dun calcul sur un horizon de dure finie N. On a
ainsi
N
P
,
1 N
P
, ... ,
1
P
,
0
P
. Ce calcul peut tre effectu a priori.
Puis on calcule ( n croissant) la squence des commandes et des tats

( ) ,
1
1
1 n n
T
n
T
n n
Ax P B B P B R u
+

+
+
001 . 0 ,
1 0
1

,
`

.
|

,
`

.
|

1
0
B

,
`

.
|

,
`

.
|

5
1
0
v
p
X

,
`

.
|

0
0
N
X

,
`

.
|

1 0
0 1
N
P
x
n+1
=A. x
n
+B.u
n
.
2
1
0
2
. ) 0 (
N
N
m
m
X q u r C +

antecedant P ( ) A
T
P A
( )
A
T
P B R B
T
P B +
( )
1
B
T
P A :
m N 1 0 .. :
P
m
antecedant P
m 1 +
( )
:
Calcul de la commande optimale
commande P X , ( ) R B
T
P B +
( )
1
B
T
P A X

]
]
:
XetU P P
X X
U
n
commande P
n 1 +
X
n
,
( )

X
n 1 +
A X
n
B U
n
+
n 0 N 1 .. for
U
N
0
pile X U , ( ) return
:
Table I : Rsultats des calculs de la commande optimale :
- position vitesse commande valeur du
critre
tabX
0 1 2 3
0
1
2
3
4
5
6
7
8
1 5 4.20310
-5
1.72210
-4
1.005 4.974 -0.026 1.71510
-4
1.01 4.948 -0.026 1.70910
-4
1.015 4.922 -0.026 1.70210
-4
1.02 4.896 -0.026 1.69510
-4
1.025 4.87 -0.026 1.68910
-4
1.03 4.845 -0.026 1.68210
-4
1.034 4.819 -0.026 1.67510
-4
1.039 4.793 -0.026 1.66910
-4

evolution de la matrice P
P_00 P_01 P_10 P_11
tabP
0 1 2 3
0
1
2
3
4
5
6
7
8
1.210
-5
6.00610
-6
6.00610
-6
4.00610
-6
1.20410
-5
6.01810
-6
6.01810
-6
4.0110
-6
1.20710
-5
6.0310
-6
6.0310
-6
4.01410
-6
1.21110
-5
6.04210
-6
6.04210
-6
4.01810
-6
1.21410
-5
6.05410
-6
6.05410
-6
4.02210
-6
1.21810
-5
6.06610
-6
6.06610
-6
4.02610
-6
1.22210
-5
6.07910
-6
6.07910
-6
4.0310
-6
1.22610
-5
6.09110
-6
6.09110
-6
4.03410
-6
1.22910
-5
6.10310
-6
6.10310
-6
4.03810
-6

- position vitesse commande valeur du


critre
tabX
0 1 2 3
992
993
994
995
996
997
998
999
1000
6.14410
-4
-0.127 0.016 2.01110
-6
4.87610
-4
-0.111 0.016 1.76510
-6
3.76510
-4
-0.095 0.016 1.51710
-6
2.81210
-4
-0.08 0.016 1.26810
-6
2.01610
-4
-0.064 0.016 1.01710
-6
1.37910
-4
-0.048 0.016 7.65410
-7
910
-5
-0.032 0.016 5.12310
-7
5.80410
-5
-0.016 0.016 2.57810
-7
4.20310
-5
-1.59910
-5
0 2.02210
-9

evolution de la matrice P
P_00 P_01 P_10 P_11
tabP
0 1 2 3
992
993
994
995
996
997
998
999
1000
0.96 4.31910
-3
4.31910
-3
1.44410
-4
0.973 3.89110
-3
3.89110
-3
1.58410
-4
0.983 3.4410
-3
3.4410
-3
1.78710
-4
0.99 2.97110
-3
2.97110
-3
2.08910
-4
0.995 2.48810
-3
2.48810
-3
2.56210
-4
0.998 1.99610
-3
1.99610
-3
3.37210
-4
1 1.49910
-3
1.49910
-3
5.0210
-4
1 110
-3
110
-3
110
-3
1 0 0 1

0 1 2
4
2
0
2
4
6
- vitesse
- vitesse + commande
.
- position
0 200 400 600 800 1000
4
2
0
2
4
6
.
Figure 2 : Evolution du vecteur dtat dans le plan de phase (position, vitesse) et au
cours du temps.
5. Conclusion
Lapproche, assez acadmique, prsente des limites comme les suivantes :
- lhypothse de linarit du modle est rarement parfaitement vrifie en pratique ;
- lestimation de ltat vis linstant final nest pas non plus parfaitement prcise et il
peut tre ncessaire dintroduire une formalisation probabiliste ; toutefois, le modle
permet de recalculer la squence des commandes chaque fois que cette estimation de
ltat final est ractualise ;
- la formalisation quadratique du critre, qui permet daboutir une formulation et une
rsolution assez simple du problme nest pas ncessairement trs pertinente.
Lapproche reste tout de mme une base solide partir de laquelle on peut dvelopper une
mthode mieux adapte une application donne.
critre
position
vitesse
commande
vitesse
temps (m)
position
Annexe : La prsentation classique et plus carre de notre collgue Pierre Bernhard
On y vite les considrations dlicates que nous avons faites sur la manire dont interviennent
les variables de commande, au prix dune construction qui nous parait plus artificielle
Soit lquation de commande
n n n
Bu Ax x +
+1
(A1)
et le critre quon cherche minimiser
( )

+ +
1
) (
N
n m
m m
T
m m m
T
m N
T
N
u R u x Q x Qx x n C
(A2)
On pose de manire artificielle
( ) A BP B P B R B P A Q A P A P
n n
T
n
T
n
T
n n
T
n 1
1
1 1 1 +

+ + +
+ +
(A3)
On considre
n n
T
n
x P x n V ) ( (A4)
On calcule la diffrence
n n
T
n n n
T
n n
x P x x P x n V n V V +
+ + + 1 1 1
) ( ) 1 ( (A5)
On y remplace
1 + n
x par sa valeur (A1)
n n
T
n n n n
T T
n
T T
n n
x P x Bu Ax P B u A x V + +
+
) ( ) (
1
On dveloppe
n n
T
n n n
T T
n n n
T T
n n n
T T
n n n
T T
n n
x P x Bu P B u Ax P B u Bu P A x Ax P A x V + + +
+ + + + 1 1 1 1
On
remplace dans le dernier terme
n
P
par son expression (A3)
( ) x A BP B P B R B P A Q A P A x
Bu P B u Ax P B u Bu P A x Ax P A x V
n n
T T
n
T
n
T T
n
T T
n
T T
n
T T
n
T T
n

,
`

.
|
+ +
+ + +
+

+ + +
+ + + +
1
1
1 1 1
1 1 1 1
quon dveloppe
( ) Ax BP B P B R B P A x x Q x Ax P A x
Bu P B u Ax P B u Bu P A x Ax P A x V
n n
T T
n
T T T
n
T T
n
T T
n
T T
n
T T
n
T T
n
1
1
1 1 1
1 1 1 1
+

+ + +
+ + + +
+ +
+ + +
On introduit artificiellement
u R u u R u
T T

( )
u R u u R u
Ax BP B P B R B P A x x Q x Ax P A x
Bu P B u Ax P B u Bu P A x Ax P A x V
T T
n n
T T
n
T T T
n
T T
n
T T
n
T T
n
T T
n
T T
n
+
+ +
+ + +
+

+ + +
+ + + +
1
1
1 1 1
1 1 1 1
On supprime les deux termes qui sannulent et on regroupe les deux premiers termes
quadratiques en u
( )
( )
u R u x Q x
Ax BP B P B R B P A x
u B P B R u Ax P B u Bu P A x V
T T
n n
T T
n
T T
n
T T
n
T T
n
T T
n

+ +
+ + +
+

+ +
+ + +
1
1
1 1
1 1 1
Afin de mettre en vidence un regroupement de termes, on utilise lidentit
( ) ( ) ( )( )
1
1 1 1
1
1

+ + +

+
+ + + + B P B R B P B R B P B R B P B R I
n
T
n
T
n
T
n
T
(A6)
( ) ( )
( )( ) ( )
( ) ( )( )
u R u x Q x
Ax BP B P B R B P B R B P B R B P A x
u B P B R u Ax P B B P B R B P B R u
u B P B R B P B R B P A x V
T T
n n
T
n
T
n
T T
n
T T
n
T T
n
T
n
T
n
T T
n
T
n
T
n
T T
n

+ + + +
+ + + + +
+ +
+

+ +

+ +
+ +

+ +
+

+ +
1
1
1 1
1
1 1
1 1
1
1 1
1
1
1 1
On met en vidence, en deux tapes, le facteur commun
( ) B P B R
n
T
1 +
+
des quatre premiers
termes ; dabord en regroupant la premire ligne et le premier terme de la troisime ligne qui
ont le mme facteur gauche
( ) ( ) ( )
( )( ) ( )
u R u x Q x
u B P B R u Ax P B B P B R B P B R u
Ax BP B P B R u B P B R B P B R B P A x V
T T
n
T T
n
T
n
T
n
T T
n n
T
n
T
n
T
n
T T
n

+ + + + +

,
`

.
|
+ + +

,
`

.
|
+
+ +

+ +
+

+ +

+ +
1 1
1
1 1
1
1
1 1
1
1 1
puis
on met en vidence le facteur commun de droite des termes de la deuxime ligne de cette
quation
( ) ( ) ( )
( ) ( )
u R u x Q x
Ax P B B P B R u B P B R u
Ax BP B P B R u B P B R B P B R B P A x V
T T
n
T
n
T
n
T T
n n
T
n
T
n
T
n
T T
n

,
`

.
|
+ + + +

,
`

.
|
+ + +

,
`

.
|
+
+

+ +
+

+ +

+ +
1
1
1 1
1
1
1 1
1
1 1
et on
remarque que les deux premires lignes ont le mme facteur de droite
( ) ( ) ( )
u R u x Q x
Ax BP B P B R u B P B R B P B R B P A x u V
T T
n n
T
n
T
n
T
n
T T T
n

,
`

.
|
+ + +

,
`

.
|
+ +
+

+ +

+ + 1
1
1 1
1
1 1
On rajoute tous les termes de la forme
n
V
et daprs la dfinition (A5) on obtient ainsi
) 0 ( ) ( V N V
( ) ( ) ( )

+ +

+ +

,
`

.
|
+ + +

,
`

.
|
+ +

1
0
1
0
1
0
1
1
1 1
1
1 1
1
0
) 0 ( ) (
N
n
n n
T
n
N
n
n n
T
n
N
n
n n n
T
n n n
T
n n
T
n n
T T
n
T
n
N
n
n
u R u x Q x
Ax BP B P B R u B P B R B P B R B P A x u
V V N V
On met en vidence le critre minimiser (A2)
( ) ( ) ( )

+ +

+ +

,
`

.
|
+ + +

,
`

.
|
+ + +
+
1
0
1
1
1 1
1
1 1
1
0
1
0
) ( ) 0 (
N
n
n n n
T
n n n
T
n n
T
n n
T T
n
T
n
N
n
n n
T
n
N
n
n n
T
n
Ax BP B P B R u B P B R B P B R B P A x u
N V V u R u x Q x
On remplace les termes
) ( ) 0 ( N V V
en utilisant leur dfinition (A4)
( ) ( ) ( )

+ +

+ +

,
`

.
|
+ + +

,
`

.
|
+ + +
+
1
0
1
1
1 1
1
1 1
0 0 0
1
0
1
0
N
n
n n n
T
n n n
T
n n
T
n n
T T
n
T
n
N N
T
N
T
N
n
n n
T
n
N
n
n n
T
n
Ax BP B P B R u B P B R B P B R B P A x u
x P x x P x u R u x Q x
Par construction, les deux premiers termes
N N
T
N
T
x P x x P x et
0 0 0
ne font pas intervenir les
commandes : le deuxime est gal
N N
T
N
x Q x et la matrice du premier se dduit par
lquation rcurrente (A3) quon sest donne au dpart, si bien que le critre est minimum
lorsque les termes de la dernire somme sont tous nuls
( ) 0
1
1
1
+ +
+

+ n n n
T
n n
Ax BP B P B R u
( )
n n n
T
n n
Ax BP B P B R u
1
1
1 +

+
+ (A7)
Les quations (A1), (A3) et (A7) donnent lexpression de la commande optimale :
Pour n dcroissant de N-1 0
( ) A BP B P B R B P A Q A P A P
n n
T
n
T
n
T
n n
T
n 1
1
1 1 1 +

+ + +
+ +
Puis pour n croissant de 0 N-1
( )
n n n
T
n n
Ax BP B P B R u
1
1
1 +

+
+
n n n
Bu Ax x +
+1