Vous êtes sur la page 1sur 27

Commande Optimale

B. Bayle
ENSPS - 3A ISAV, UdS - master IRIV
Commande Optimale 1 20102011
Plan du cours
P Objectifs
Problmatique de commande optimale
Mthodes et limitations
Intrt pratique des mthodes quadratiques pour les systmes LTI
P 6 sances sur . . .
Le contexte
Quelques rappels doptimisation
Problme de commande optimale
Commande Linaire Quadratique
Commande Linaire Quadratique Gaussienne
Projet : tude dun cas pratique = valuation
Commande Optimale 2 20102011
Sources dinformation (1)
P Rfrences
De nombreux ouvrages de rfrence, un petit nombre en bibliothque avec le mot
cl Optimal Control (trs approfondis par rapport ce cours)
Un excellent ouvrage/cours en ligne de Karl Astrom et Richard Murray sur la
commande des systmes http://www.cds.caltech.edu/~murray/amwiki avec
un complment

ddi la commande base sur loptimisation


De nombreux supports en ligne, dont notamment le cours lENSICA (2007) de
Denis Arzelier http://homepages.laas.fr/arzelier/cours.html et le cours
dEdouard Laroche

lENSPS (alternativement, environ un an sur deux) dont est


parti ce support http://eavr.u-strasbg.fr/~laroche/student
Et bien sr la page de lenseignant, pour les infos, sujets, aides, calendrier :
http://eavr.u-strasbg.fr/~bernard
Ces transparents sont largement inspirs de ces deux sources
Commande Optimale 3 20102011
Sources dinformation (2)
P Des outils nombreux et varis
Outils dans Matlab (certains seront illustrs ici)
Un certain nombre de textes en ligne ddis lutilisation de Matlab pour les
problmes de commande optimale (Google : optimal control matlab. . .)
Maple (MapleSim) et autres outils de calcul formel pour la rsolution de problmes
analytiques diciles
Des librairies en C (souvent en Fortran initialement) si lon recherche des outils plus
rapides, ou des langages avancs. . .
P En cas de doute sur vos prrequis. . .
Lapprentissage de lautomatique (avance) est un jeu denfant
1
si lon utilise de
manire intensive Matlab et les contributions, librairies gratuites et tutoriaux en
nombre quasi illimit prsents sur le web. On peut notamment se remettre niveau
avec le ludique tutoriel http://www.engin.umich.edu/group/ctm
1. en cas de doute se renseigner sur la abilit de la source malgr tout
Commande Optimale 4 20102011
Contexte : commande des systmes multivariables (1)
P Systmes dynamiques
Systmes temps continu x = f(x, u, t) / discret x
k+1
= f(x
k
, u
k
, t
k
)
cas gnral : non linaires, multivariables (x/x
k
R
n
, u/u
k
R
m
)
Systmes temps variant x = f(x, u, t) / invariant x = f(x, u)
Systmes linaires : LTV x = A(t)x + B(t)u / LTI x = Ax + Bu
Exemple de systme non linaire
Robot mobile deux roues indpendantes
x
1
O
x
2
x
1
= u
1
cos x
3
x
2
= u
1
sin x
3
x
3
= u
2
y = x
x
3
u
2
u
1
Exemple de systme linaire
Double intgrateur
x
1
= x
2
x
2
= u
y = x
1
Commande Optimale 5 20102011
Contexte : commande des systmes multivariables (2)
P Proprits de commandabilit et de stabilisabilit
Commandabilit : capacit trouver une commande u(t) permettant damener un
systme dun tat initial quelconque x
0
t = 0, un tat nal quelconque
x
f
= x(t
f
) en un temps ni
Rappel : obtenue pour les systmes LTI ssi le rang de la matrice [B BA . . . BA
n1
] est plein (= n)
La stabilisabilit est une proprit plus faible, mais importante en pratique, car cest
la condition minimale pour stabiliser un systme. Elle est obtenue pour un systme
LTI ssi :
ses ples non commandables sont stables, i.e. si les variables non commandables
sont naturellement stables
il existe une commande par retour dtat u = Kx telle que la matrice A BK
soit Hurtwitz (valeurs propres < 0)
Commande Optimale 6 20102011
Contexte : commande des systmes multivariables (3)
P Proprits dobservabilit et de dtectabilit
Observabilit : capacit dduire, pour tout t > 0, ltat x(t) du systme de la
connaissance de son modle, de sa sortie et de sa commande sur lhorizon de temps
[0 t]
Rappel : obtenue pour les systmes LTI ssi le rang de la matrice [C
T
(CA)
T
. . . (CA
n1
)
T
]
T
est plein (= n)
La dtectabilit est une proprit plus faible. Elle est obtenue pour un systme LTI
ssi :
ses ples non observables sont stables
il existe une matrice de gain dobservateur dtat K telle que la matrice AKC
soit Hurtwitz
Commande Optimale 7 20102011
Contexte : commande des systmes multivariables (4)
P Dirents types dasservissement
Retour dtat/de sortie
La commande peut tre tantt calcule en utilisant ltat (solution la plus classique)
ou la sortie du systme.
Retour statique/dynamique
Dans le cas du retour statique, la correction se fait laide dune matrice de gain
constante, alors que dans le cas du retour dtat dynamique, le correcteur est
lui-mme un systme dynamique. Cest le cas par exemple si lon utilise un
observateur dtat pour raliser le retour dtat en pratique.
Commande Optimale 8 20102011
Quelques rappels doptimisation (1)
P Condition doptimalit sans contrainte
Soit F(x) une fonction (de cot) valeurs dans R. Une condition ncessaire pour
que F soit minimale en x

est que le gradient de F soit nul en x

, soit :
F
x
(x

) = 0.
Exemple Murray http://www.cds.caltech.edu/~murray/books/AM08/pdf/obc-optimal_04Jan10.pdf
Commande Optimale 9 20102011
Quelques rappels doptimisation (2)
P Condition doptimalit avec contrainte
Si lon cherche x

minimisant F et vriant k contraintes G


i
(x

) = 0 (on note
G = [G
1
G
2
. . . G
k
]
T
), alors la solution du problme implique que k scalaires
i
appels multiplicateurs de Lagrange, tels que
F
x
+
T G
x
= 0.
Exemple Murray http://www.cds.caltech.edu/~murray/books/AM08/pdf/obc-optimal_04Jan10.pdf
Commande Optimale 10 20102011
Quelques rappels doptimisation (3)
P Condition doptimalit avec contrainte
Le problme de minimisation prcdent : min
x
F sous G(x) = 0 est quivalent la
recherche du minimum de

F = F +
T
G. Il a donc pour solution x

tel que


F
x
(x

) = 0.
Exemple
Dterminer min
x
F(x)
avec F = F
0
+ (x
1
a)
2
+ (x
2
b)
2
,
sous contrainte que G(x) = x
1
x
2
= 0.
Commande Optimale 11 20102011
Problme de la Commande Optimale (1)
P Formulation gnrale, temps continu
Le problme de commande optimale se formule par :
min
u
J(x, u) sous contrainte que x = f(x, u, t) [PbComOpt]
avec :
J(x, u) =
_
t
f
0
L(x, u)dt + V (x
f
)
La commande optimale u

(t) minimise la fonction de cot. Ltat initial tant


connu, la commande optimale produit la trajectoire
2
optimale x

(t) .
On note J

= J(x

, u

).
Remarque : on note J = J(x, u) ou lune des variantes rencontres dans la
littrature et toutes interprtables, comme par exemple J = J(x
0
, x
f
, t
f
).
2. parfois on parle du couple (x

, u

) comme tant la trajectoire optimale


Commande Optimale 12 20102011
Problme de la Commande Optimale (2)
P Variantes
Contraintes terminales : ltat x
f
fait souvent partie des donnes du problme,
linstant nal pouvant quant lui tre ou non libre.
La commande u est gnralement borne, soit u U.
Si le systme est linaire et la fonction de cot J(x, u) quadratique, on parle alors
de problme linaire quadratique (LQ en anglais).
J =
1
2
_
t
f
0
(x
T
Qx + u
T
Ru)dt +
1
2
x
T
f
Sx
f
avec Q et S 0 et R > 0, sous contrainte que x = Ax + Bu.
Si on xe x
f
et que lon choisit t
f
comme paramtre du problme, on obtient en
posant L = 1 un problme dit temps minimal. En gnral ce problme nest bien
pos que si u est borne (cf plus loin).
Si on laisse t
f
= (et donc V = 0) on parle de problme horizon inni.
Commande Optimale 13 20102011
Problme de la Commande Optimale (3)
P Principe doptimalit de Bellman
Soit t
1
, tel que 0 < t
1
< t
f
.
Le principe doptimalit de Bellman tablit que la trajectoire optimale sur [0, t
f
]
contient la trajectoire optimale sur [t
1
, t
f
], avec comme condition initiale
x
1
= x

(t
1
). Autrement dit, si J

(x
0
) est la valeur optimale du critre sur [0, t
f
]
pour une condition initiale x
0
, alors :
J

(x
0
) = min
u
_
_
t
f
0
L(x, u)dt + V (x
f
)
_
= min
u, t[0 t
1
]
__
t
1
0
L(x, u)dt + J

(x
1
)
_
avec J

(x
1
) la valeur optimale du critre sur [t
1
, t
f
] pour une condition initiale x
1
.
Application : recherche rcursive dun chemin optimal.
Commande Optimale 14 20102011
Problme de la Commande Optimale (4)
P Principe du maximum
3
de Pontriaguine (PMP)
On dnit lHamiltonien : H = L +
T
f o , gnralement appel tat adjoint
reprsente un ensemble de fonctions du temps.
Pour x, , u susamment rguliers, la solution optimale du problme de
minimisation [PbComOpt] vrie le PMP :
H(x

(t), u

(t),

(t)) H(x

(t), u(t),

(t)), u U, t [0 t
f
]
avec, pour la solution optimale :
lquation de ltat :
H

= x
lquation de ltat adjoint :
H
x
=

lquation de transversalit (H(t


f
) +
V
t
f
)t
f
+ ((t
f
) +
V
x
f
)
T
x
f
= 0

H
u
= 0 si aucune contrainte nest impose sur u

H
t
=
dH
dt
= 0 si H nest pas une fonction explicite du temps
3. Terme consacr, mais dans la formulation o lon cherche minimiser le cot, comme nous.
Commande Optimale 15 20102011
Equation dEuler-Lagrange
P Principe de moindre action de Maupertuis
Un systme mcanique dnergie cintique T = T(q, q) et dnergie potentielle
U = U(q) se comporte de manire minimiser laction :
_
t
f
0
(T U)dt
Exemple
On sintresse un systme robotique dont le modle simpli scrit q = u.
Appliquer le principe de moindre action de Maupertuis pour retrouver dmontrer
lquation dEuler-Lagrange :
d
dt
L
q

L
q
= 0
o L = T U est le Lagrangien du systme.
Commande Optimale 16 20102011
Commande en temps minimal
P Commande bang-bang
On montre que les commandes en temps minimal non singulires avec des
contraintes de type intervalle (sur les commandes) sont bang-bang, cest--dire que
la commande optimale est toujours sur une des bornes de lintervalle.
Exercice
On considre un systme x = Ax + Bu, commande borne |u| 1. Calculer la
commande optimale amenant ce systme dun tat initial x
0
, ltat nal x
f
= 0 en
temps minimal.
Application au systme intgrateur double.
Commande Optimale 17 20102011
Commande Linaire Quadratique (1)
P Horizon ni
On considre un systme linaire x = Ax +Bu et une fonction de cot quadratique
que lon cherche minimiser :
J =
1
2
_
t
f
0
(x
T
Qx + u
T
Ru)dt +
1
2
x
T
f
Sx
f
avec Q et S 0 et R > 0, toutes trois symtriques.
Pour rsoudre, on applique le PMP, et pour cela on construit lHamiltonien :
H(x, u, ) =
1
2
(x
T
Qx + u
T
Ru) +
T
(Ax + Bu)
pour lequel on crit les conditions sur la solution optimale :
extrmalit :
H
x
= Qx + A
T
=

H fonction non explicite de t :


H
u
= Ru + B
T
= 0
x
f
non contraint : (t
f
) =

x
f
_
1
2
x
T
f
Sx
f
_
= Sx
f
Commande Optimale 18 20102011
Commande Linaire Quadratique (2)
P Horizon ni
On en dduit notamment la commande et les quations de ltat et de ltat adjoint :
commande : u = R
1
B
T

tat : x = Ax BR
1
B
T

tat adjoint :

= Qx A
T

Les deux dernires quations formant le systme :


d
dt
_
x

_
=
_
A BR
1
B
T
Q A
T
_ _
x

_
on obtient
4
la solution :
u = Kx
avec K = R
1
B
T
. est solution de lquation (direntielle) de Riccati
obtenue en posant = x :

+ A + A
T
BR
1
B
T
+ Q = 0, (t
f
) = S.
4. Dmontrer le rsultat prcdent et calculer la valeur du critre optimal...
Commande Optimale 19 20102011
Commande Linaire Quadratique (3)
P Horizon inni
On considre le critre pour t
f
:
J(x
0
, t
0
, u) =
_

0
1
2
_
x
T
Qx + u
T
Ru
_
dt
La convergence implique ncessairement la dcroissante vers 0 de x linni et la
convergence de ltat adjoint, soit

= 0.
Pour un systme LTI x = Ax + Bu, la commande optimale est donc : u = Kx
avec K = R
1
B
T
o est solution unique de lquation algbrique de Riccati :
A + A
T
BR
1
B
T
+ Q = 0
Commande Optimale 20 20102011
Commande Linaire Quadratique (4)
P Robustesse : marge de module
Dirence de retour : par des manipulations partir de lquation de Riccati, on
obtient lquation de la dirence de retour :
(I + B
T
(sI A
T
)
1
K
T
)R(I + K(sI A)
1
B) = R + B
T
(sI A
T
)
1
Q(sI A)
1
B
Ingalit de Kalman multivariable : en frquentiel (s = j) et en notant
H(j) = (jI A)
1
B, on obtient :
(I + KH(j))
H
R(I + KH(j)) = R + H
H
(j)QH(j) R
Dans le cas particulier o R = I et en crivant Q = L
T
L (factorisation de
Choleski), on obtient :
(I + KH(j))
H
(I + KH(j)) = I +
1

(LH(j))
H
(LH(j))
Marge de module : on en dduit :

i
(I + KH(j)) =
_
1 +
1

2
i
(LH(j)) 1
Commande Optimale 21 20102011
Commande Linaire Quadratique (5)
P Aspect pratique : rglage des pondrations
La multiplication de Q et R par un mme scalaire ne modie pas le rgulateur
Restriction des pondrations diagonales
Mthodologie itrative (simulation ou retour dexprience) :
Pondrations initiales : matrices identit
Rgler globalement la dynamique en multipliant Q ou R par un scalaire
Ajuster les dynamiques sur les dirents tats en ajustant les lments de Q
Ajuster les dynamiques des actionneurs en ajustant les lments de R
Commande Optimale 22 20102011
Commande Linaire Quadratique : exemple
P Moteur courant continu, avec couple de charge
Rejet de perturbation
Fichier dexemple Matlab dcdemo.m
Commande Optimale 23 20102011
Commande Linaire Quadratique Gaussienne (1)
P Formulation du problme
Systme dynamique stochastique
_
x = Ax + Bu + b
v
y = Cx + b
w
o b
v
et le bruit de mesure b
w
sont des bruits blancs centrs de variance
E{b
T
v
b
v
} = V = V
T
0 et E{b
T
w
b
w
} = W = W
T
> 0
Critre
J(x, u) = E
__
t
f
0
_
x
T
Qx + u
T
Ru
_
dt
_
,
avec Q = Q
T
0 et R = R
T
> 0
Commande Optimale 24 20102011
Commande Linaire Quadratique Gaussienne (2)
P Principe de sparation
La solution du problme LQG est donne par les solutions de deux problmes
connus :
le problme destimation optimale de ltat dun systme dynamique
stochastique (ltre de Kalman donnant une estime x de x)
le problme de commande LQ optimale en supposant x connu, donnant un
retour dtat de gain K.
La commande LQG par retour de ltat estim est donc nalement u = K x
Commande Optimale 25 20102011
Commande Linaire Quadratique Gaussienne (3)
P Structure de la commande
Equation de lobservateur (ltre de Kalman-Bucy) :

x = A x + Bu + L(y C x)
o L = C
T
W
1
est le gain de Kalman avec solution de lquation de Riccati :
A
T
+ A C
T
W
1
C + V = 0
Modle dtat du correcteur :
_

x = (ABK LC) x + Ly
u = K x
quivalent un transfert U(s) = C(s)Y (s) o le correcteur est le systme
dynamique C(s) = K(sI A + BK + LC)
1
L.
Commande Optimale 26 20102011
Commande Linaire Quadratique Gaussienne (4)
P Mthode de rglage
Rglage du retour dtat
Rglage du ltre de Kalman
Recouvrement du gain de boucle (LTR pour loop transfer recovery)
P Suivi de consigne
On peut facilement intgrer un signal de consigne y

(par exemple en faisant


U(s) = C(s)(Y

(s) Y (s)) ou en reprenant la mthode vue en 1re anne).


Commande Optimale 27 20102011