Com Opti
Com Opti
Com Opti
Commande Optimale
Ecole Nationale Supérieure de Physique de Strabourg
3ème année
Option Ingénierie des Systèmes, Automatique et Vision
Edouard Laroche
laroche@lsiit.u-strasbg.fr
http://eavr.u-strasbg.fr/~laroche/student
2009–2010
Dr Idellette SOM
Table des matières
1 Introduction 5
2 Commande optimale 6
2.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Principe d’optimalité de Bellman . . . . . . . . . . . . . . . . 7
2.3 Principe du minimum de Pontriaguine . . . . . . . . . . . . . 8
2.4 Equation d’Euler-Lagrange . . . . . . . . . . . . . . . . . . . 10
2.5 Commande bang-bang . . . . . . . . . . . . . . . . . . . . . . 10
5 Commande H2 31
5.1 Norme H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.3 Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2
5.1.4 Formulation LMI . . . . . . . . . . . . . . . . . . . . . 33
5.2 Problème standard . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Equivalence H2 et LQG . . . . . . . . . . . . . . . . . . . . . . 35
3
D Inégalités matricielles affines 54
D.1 Positivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
D.2 Inégalité matricielle affine ou linéaire . . . . . . . . . . . . . . 54
D.3 Exemple de LMI . . . . . . . . . . . . . . . . . . . . . . . . . 55
D.4 Résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4
1 Introduction
Les problèmes de commande optimale se rencontrent dans la vie de tous
les jours : comment arriver à destination le plus rapidement possible, com-
ment minimiser sa consommation... Pour un système dynamique donné et
dont les équations sont connues, le problème de commande optimale con-
siste alors à trouver la commande minimisant un critère donné. C’est sous
cette forme que la commande optimale a été étudiée dès le XIXème siècle
avec le calcul des variations. Une des grandes applications de la commande
optimale a été l’application au lanceur Apollo dans les années 1960. Notons
néanmoins que les difficultés soulevées par ce genre de problème sont loin
d’être complètement résolues comme en témoignent les sessions dédiées à la
commande optimale dans les conférences d’automatique. La commande op-
timale reste donc un sujet de recherche d’actualité.
5
2 Commande optimale
Plutôt que de présenter de manière approfondie le problème de la com-
mande optimale, cette partie constitue plutôt une introduction au sujet. Le
choix a été fait de présenter un résultat s’appuyant sur le principe du max-
imum de Pontriaguine sans rentrer dans la théorie du calcul des variations.
Pour approfondir ce domaine, pour pourrez consulter les ouvrages disponibles
[1, 2, 3]. D’autres cours sont également disponibles ; notamment celui de De-
nis Arzelier (http://www.laas.fr/~arzelier/cours.html).
ẋ = f (x, u, t) (1)
– le critère de Bolza :
Z tf
θ(xf ) + φ(x, u, t)dt (4)
t0
– le critère de Mayer :
σ(xf , tf ) (5)
6
Eventuellement au moyen d’une augmentation d’état du système, il est intéressant
de noter qu’ils sont équivalents.
En plus de l’équation d’état qui lie les trajectoires de u et de x, d’autres
contraintes peuvent intervenir (sans pour autant remettre en cause le critère
choisi). Typiquement :
– l’instant final peut être imposé ou libre ;
– la commande peut appartenir à un ensemble u ∈ U = 6 Rm ;
– des contraintes peuvent exister sur l’état final : xf ∈ X .
Le problème de la commande optimale consiste alors à trouver la com-
mande ũ minimisant J(x0 , t0 , u) :
˜ 0 ) = J(x0 , t0 , ũ)
On notera alors x̃ la trajectoire correspondante de l’état et J(x
la valeur du critère.
7
2.3 Principe du minimum de Pontriaguine
Le principe du minimum de Pontriaguine [4] est ici brièvement énoncé.
On peut se référer à Sage et White [1] § 4.3.1 pour sa démonstration.
Soit le système d’équation d’état :
ẋ = f (x, u, t) (10)
et le critère de performance :
Z tf
J(x0 , t0 , u) = θ(xf , tf ) + φ(x, u, t)dt (11)
t0
8
– à l’arrivée
T
∂θ ∂θ
H(tf ) + δtf + −p(tf ) + δxf = 0
∂tf ∂xf
9
2.4 Equation d’Euler-Lagrange
Cf. [1] §3.5 et [5] §4.1.3.
L’équation d’Euler-Lagrange, bien connue en mécanique, peut être retrouvée
à partir du principe du minimum. En notant T , l’énergie cinétique et U
l’énergie potentielle d’un système mécanique, le principe de moindre ac-
tion énoncé par Maupertuis postule que le système évolue en minimisant
l’intégrale : Z tf
(T − U )dt. (16)
t0
Notons q les cordonnées généralisées du système. Soit L(q, q̇) = T (q, q̇) −
U (q) le lagrangien, avec le critère :
Z tf
J(q0 , t0 , q̇) = L(q, q̇)dt (17)
t0
q̇ = u (18)
10
considère un mouvement enn ligne droite, on conçoit intuitivement que la
commande optimale est dans ce cas une accélération maximale jusqu’à un
certain instant à partir duquel il faudra freiner au maximum. On parle de
commande bang-bang parce que la commande est toujours saturée, alterna-
tivement à sa valeur minimale ou à sa valeur maximale. Quant à la robustesse
de la commande, c’est-à-dire la capacité à remplir la mission de manière
précise, lorsque la masse du véhicule est imparfaitement estimée, vous imag-
inez bien que ce genre de commande n’est pas très recommandable. Pour un
exemple de ce type de commande, cf. Sage & White [1], §5.3, p. 103.
Un exemple complet de commande en temps minimal sera traité en cours :
celui du double intégrateur.
avec le critère :
Z tf
1 1 T
x Q(t)x + uT R(t)u dt,
J(x0 , t0 , u) = xf Sxf + (24)
2 t0 2
11
– condition de transversalité
Les équations (26) et (30) peuvent se mettre sous la forme d’un système
matriciel appelé système hamiltonien :
s’écrit aussi :
d T
(x P x) + xT Qx + uT Ru = 0. (36)
dt
12
Le critère :
Z tf
1 1 T
J(x0 , t0 , u) = xf Sxf + (x Q(t)x + uT R(t)u)dt. (37)
2 t0 2
s’écrit alors :
Z tf
1 d T
J(x0 , t0 , u) = xf Sxf − (x P x)dt . (38)
2 t0 dt
soit, avec la condition de transversalité S = P (tf ) :
1
J(x0 , t0 , u) = xT P (t0 )x0 (39)
2 0
Le minimum du critère est donc :
˜ 0 ) = J0 (t0 , x0 , ũ) = 1 xT P (t0 )x0 .
J(x (40)
2 0
Il est intéressant de noter que la commande optimale obtenue s’écrit
comme un retour d’état u = −K(t)x avec :
K = −R−1 B T P. (41)
Néanmoins, n’oublions pas que, dans le cas présent, K varie en fonction du
temps, même dans le cas d’un système et d’un critère à temps invariant
(c’est-à-dire si les matrices A, B, Q et R ne dépendent pas du temps). En
effet, la matrice P (t) reste dépendant du temps dans le cas d’un critère à
temps fini.
On montre que ce critère est fini si le système est stabilisable à tout instant t,
(c’est-à-dire qu’à chaque instant, il existe un K(t) tel que les valeurs propres
de A − BK soient à partie réelle négative). Remarquons par ailleurs que
la partie du critère concernant l’état final n’est plus pertinente car, sur un
horizon infini, l’état tend vers zéro si le système bouclé est stable.
Dans le cas d’un problème LTI (linéaire à temps invariant), la commande
optimale est un retour d’état statique u = −Kx où K est exprimé par
l’équation (41) et où P vérifie l’équation algébrique de Riccati :
P A + AT P − P BR−1 B T P + Q = 0. (43)
La résolution de l’équation algébrique de Riccati (43), disponible dans les
Toolboxes du logiciel Matlab, dépasse le cadre de ce cours.
13
3.3 Robustesse de la commande LQ
Cf. [2] pp. 104 & 122, cf. [6]. Sur les propriétés de robustesse de la com-
mande LQ, cf. [7].
14
Restreignons nous au cas où R = ρI et factorisons Q en 4 Q = LT L.
L’égalité (49) s’écrit alors :
1
(I + KH(jω))H (I + KH(jω)) = I + (LH(jω))H (LH(jω)) (51)
ρ
dont on déduit les valeurs singulières de I + H(jω)K :
p
σi (I + KH(jω)) = λi ((I + KH(jω))H (I + KH(jω))) (52)
s
1 H
= λi I + (LH(jω)) (LH(jω)) (53)
ρ
r
1
= 1 + σi2 (LH(jω)) (54)
ρ
≥ 1 (55)
u = Ky (y ∗ − y) − Kz z. (57)
Si y est donné par une loi de type équation de sortie, y = Cx, on peut effectuer
un changement d’état de sorte que le nouveau vecteur d’état contienne y, par
exemple en utilisant la forme canonique d’observabilité.
4. C’est toujours possible puisque Q ≥ 0, par exemple avec une factorisation de
Choleski.
5. En utilisant les propriétés σi2 (M ) = λi (M H M ) et λi (I + M ) = 1 + λi (M ).
15
La commande LQ est de type proportionnelle. Dans le but d’améliorer
les performances en régulation en présence de perturbations constantes, il est
souhaitable d’ajouter un effet intégral. Imaginons, à titre d’exemple, que la
première composante x1 de x doive être asservie à x∗1 sans erreur statique.
Construisons l’état supplémentaire :
Z t
I1 = (x1 (τ ) − x∗1 (τ ))dτ (58)
0
16
3.5 Choix des pondérations
Il est intéressant de remarquer d’abord que la multiplication des pondérations
Q et R par un même scalaire laisse inchangé le gain K. En effet, soit P so-
lution de (43) et soit le nouveau problème basé sur les pondérations Q̂ = λQ
et R̃ = λR. On vérifie que P̂ = λP est solution de l’équation de Riccati
correspondante. En effet :
17
avec la condition initiale x(0) = x0 et cherchons la commande minimisant le
critère :
k=n
1X T
J= x (k)Q(k)x(k) + uT (k)R(k)u(k). (68)
2 k=0
Ce problème est plus simple que celui à temps continu car il s’agit ici d’un
problème dont les inconnues sont les n + 1 valeurs de u(k) et non plus une
fonction du temps. Il s’agit d’une minimisation de (68) sous les contraintes
(67). Le Lagrangien s’écrit alors :
k=n
X 1 T 1
L= x (k)Q(k)x(k) + uT (k)R(k)u(k)
k=0
2 2
+pT (k + 1) (−x(k + 1) + A(k)x(k) + B(k)u(k))
(69)
et la solution optimale vérifie les équations suivantes :
∂L
= R(k)u(k) + B T (k)p(k + 1) = 0 (70)
∂u(k)
∂L
= Q(k)x(k) − p(k) + AT (k)p(k + 1) = 0 (71)
∂x(k)
∂L
= −x(k + 1) + A(k)x(k) + B(k)u(k) = 0 (72)
∂p(k + 1)
L’équation de la commande (70) donne :
u(k) = −R−1 (k)B T (k)p(k + 1). (73)
La dernière commande u(n) n’a aucun effet sur l’évolution du système sur
l’horizon considéré ; sa valeur optimale est donc nulle :
u(n) = 0. (74)
On a ainsi d’après (70) :
p(n + 1) = 0 (75)
et d’après l’équation adjointe (71) :
p(n) = Q(n)x(n). (76)
Il s’agit d’un problème aux deux bouts : une condition initiale est disponible
pour l’état alors que c’est une condition finale qui est disponible pour l’état
adjoint. Ainsi, la résolution du problème doit se faire pour l’ensemble de la
trajectoire, ce qui peut représenter une charge de calcul élevée dans le cas
d’un horizon n élevé.
18
Formulation sous forme d’équation de Riccati. Les équations précé-
dentes peuvent être résolues directement en x et p. On peut aussi adopter
la démarche suivante, basé sur un changement de variable suivant pour la
variable adjointe :
p(k) = P (k)x(k) (77)
où P (k) est une matrice qu’il faudra déterminer ; P (n) = Q(n). La commande
u(k) vérifie alors :
Comme cette équation doit être vérifiée pour tout x(k), il est nécessaire que :
ce qui s’écrit :
P (k) = Q(k) + AT (k)M (k + 1)A(k), (87)
avec :
19
3.6.2 Critère à horizon infini
Cherchons la commande minimisant le critère :
∞
1X T
J= x (k)Qx(k) + uT (k)Ru(k). (89)
2 k=0
20
Souvent, on préfère considérer le critère suivant :
k=n
1X
J= (x(k) − r(k))T Q(x(k) − r(k)) + ∆T
u (k)R∆u (k) (93)
2 k=0
où ∆u (k) = u(k) − u(k − 1). Ce critère pénalise l’amplitude des variations
du signal d’entrée au lieu de pénaliser directement son amplitude. Pour min-
z
imiser le critère (93), il suffit d’ajouter un intégrateur z−1 sur chacune des
entrées du système et de poursuivre avec le critère (92).
∂L
= −x(k + 1) + Ax(k) + Bu(k) + v(k) = 0 (96)
∂p(k + 1)
21
Résolution. En considérant (97) pour k = 1, · · · , n, on obtient le système :
I −AT O ··· O
O
I −AT · · · O p(1) −Q O x(1) O
.. .. .. . . .. . .
.. + .. .. = ..
. . . .
I −AT p(n)
O · · · O O · · · −Q x(n) O
O ··· ··· O I
(99)
−1 T
En notant S = BR B , l’équation (98) donne pour k = 0, · · · , n :
O ··· ··· O
I
S O ··· O
−A · · ·
v(0) + Ax(0)
O S · · · O p(1) I O O x(1)
.. .. .. .. .. .. =
v(1)
.. . . .. . + O . . . .
. ..
. . . . . . . .
. . . .
p(n) . . . . O x(n)
O ··· O S v(n − 1)
O · · · O −A I
(100)
x(1) p(1)
.. ..
En notant x = . et p = . , le système (99-100) se réécrit sous
x(n) p(n)
la forme :
Les matrices M11 et M22 sont inversibles ; il est donc possible d’éliminer x
dans les équations, afin d’obtenir :
−1
M 11 p = −M12 M22 B2 (103)
−1
où M 11 = M11 − M12 M22 M21 . Si M 11 est inversible, alors,
−1 −1
p = −M 11 M12 M22 B2 (104)
En réalité, d’après (73), seul p(1) est utile pour calculer u(0). On calcule ainsi
u(0) et on l’applique à l’instant t0 . A l’étape suivante (t1 ), au lieu d’appliquer
u(1) qui vient d’être calculé, on recommance la résolution du problème en
tenant compte des nouvelles mesures.
B2 = v + Ax(0) (105)
22
avec :
A
O v(0)
A = .. , v = ..
,
. .
v(n − 1)
O
on peut réécrire le vecteur des états adjoints :
−1 −1
p = −M 11 M12 M22 (Ax(0) − v) (106)
Par ailleurs, on a :
p(1) = Cp
avec
C = I O ... O .
On peut donc écrire la commande sous la forme :
23
Exemple illustratif. La commande a été testée sur un système du second
ordre de fonction de transfert 7 :
1
H(s) = (110)
s2 + 2ξω0 s + ω02
et
L= −12.8293 −22.9263 −2.5736 −6.2616 0.1052 0.2258 ...
... 0.0069 0.0176 −0.0005 −0.0012 −0.0000 −0.0000
24
Figure 1 – Allure des réponses des systèmes
25
servations passées. L’erreur de prédiction entrainera une dégradation des
résultats. Toutefois, les résultats devraient rester meilleurs que ceux obtenue
sans utiliser cette prédiction. A titre d’exemple d’application, citons la com-
pensation des mouvements physiologiques en robotique chirurgicale. Pour
mieux stabiliser la portion du cœur à opérer, un modèle de la perturbation
engendrée par le battement cardiaque peut être développé [12].
26
4 Commande Linéaire Quadratique Gaussi-
enne
Par rapport à la commande LQ, la commande LQG présente l’intérêt de
s’appliquer à des systèmes dont l’état n’est pas mesuré. Développée au début
de la seconde moitié du 20ème siècle et appliquée lors du programme spatial
Apollo pour la stabilisation de lanceurs, elle est apparu comme la première
méthode générale pour l’asservissement des systèmes multivariables. De ce
fait, elle a connu un grand succès comme en témoigne les nombreuses publi-
cations sur le sujet. Depuis la fin du 20ème siècle, la commande H∞ apparaı̂t
comme un sérieux concurrent pour l’asservissement robuste des systèmes
multivariables. Néanmoins, la commande LQG n’en demeure pas moins un
standard industriel.
4.1 Formulation
Soit le système dynamique stochastique d’équation d’état :
ẋ = Ax + Bu + v
(112)
y = Cx + w
où le bruit d’état v et le bruit de mesure w sont des bruits blancs centrés de
variance E{vv T } = V ≥ 0 et E{wwT } = W > 0. Le problème LQG consiste
en la minimisation du critère :
Z tf
1 T T
J(x0 , t0 , u) = lim E x Qx + u Ru dt , (113)
tf →∞ tf t0
27
– la commande par retour d’état u = −K x̂ à appliquer à x̂ où K est
calculé en considérant le problème LQ correspondant (en enlevant v et
w de l’équation d’état et E dans le critère).
Ce théorème est intéressant dans la mesure où il donne la solution du problème
complet comme étant la réunion des solutions de deux problèmes plus sim-
ples et déjà résolus : celui de la commande LQ et celui de l’estimation de
Kalman. Pour une démonstration de ce théorème, cf. [2] § 8.2 et [13].
L = ΣC T W −1 , (115)
ΣAT + AΣ − ΣC T W −1 CΣ + V = 0. (116)
x̂˙ = (A − BK − LC)x̂ + Ly
(117)
u = −K x̂
x̂˙ = (A − BK − LC)x̂ + L
(119)
u = K x̂
où = y ∗ −y. Notons que ce correcteur LTI a le même ordre que le processus.
28
4.4 Choix des pondérations
4.4.1 Généralités
Le réglage du correcteur LQG nécessite la donnée de quatre matrices de
pondération : Q et R pour le retour d’état ; V et W pour l’estimateur. La
méthode de réglage la plus simple repose sur un réglage séparé : régler V et W
de sorte que l’état soit ‘bien’ reconstruit et régler Q et R pour avoir un ‘bon’
retour d’état. Si les dynamiques de la régulation sont relativement lentes
devant celles de l’observation, on peut supposer que l’état est parfaitement
connu du point de vue du retour d’état et la commande sera robuste (marge
de module égale à 1). Si cette hypothèse n’est pas respectée, et ce sera le cas
dès que vous souhaiterez obtenir un régulateur avec des dynamiques élevées,
la robustesse n’est plus assurée. La méthode de réglage des pondérations Q
et R du retour d’état vue au paragraphe précédent reste valable. Abordons
la question du réglage de l’estimateur avant de présenter les méthodes de
recouvrement du gain destinées à rendre robuste la commande LQG.
29
La présence d’un observateur fait que les propriétés de robustesse du cor-
recteur LQ ne sont plus valables [14]. Les méthodes de Loop Transfert Recov-
ery (LTR ou en Français recouvrement du transfert de la boucle) consistent
à modifier les conditions de la synthèse afin de se rapprocher du transfert
qui serait obtenu avec un retour d’état LQ. Si ce transfert est obtenu, la
robustesse est alors assurée. Depuis les premiers travaux de Doyle et Stein en
1981 [15], de nombreux travaux ont été menés sur ce sujet [16, 17, 18]. C’est
cette première approche qui est présentée ici ; elle est également présentée
dans [6]. Elle a l’inconvénient de ne pas convenir aux systèmes à déphasage
non-minimal 9 . Des travaux ultérieurs se sont attachés à ce type de système
[19].
La méthode de recouvrement repose sur l’écriture de la matrice de co-
variance V de la forme :
V = V0 + q 2 BB T . (120)
On montre que le gain de la boucle ouverte C(s)G(s) tend vers K(sI − A)−1 B,
celui du régulateur LQ, lorsque q tend vers l’infini. Ainsi, à partir d’un cor-
recteur initial reposant sur les pondérations V0 et W , on augmente petit-à-
petit q jusqu’à obtenir la robustesse suffisante.
Une approche duale consiste à retoucher le gain du retour d’état en choi-
sissant la matrice de pondération Q de la forme :
Q = Q0 + q 2 C T C. (121)
30
5 Commande H2
Les commandes LQ et LQG peuvent se mettre sous une forme particulière
dite forme standard. Il s’agit alors de synthétiser un correcteur minimisant
une norme sur les signaux de transfert.
5.1 Norme H2
La présentation de la norme H2 reprend celle de [6], §1.2.
5.1.1 Définition
Soit G(s) le système LTI multivariable défini par :
ẋ A B x
= (122)
z C D v
5.1.2 Propriétés
Soit g la réponse impulsionnelle du système. Dans le cas monovariable, le
théorème de Parseval donne une forme équivalente 11 :
Z ∞
2
||G||2 = g T (t)g(t)dt. (124)
0
31
E{v(t)v T (τ )} = Iδ(t − τ ) et calculons la puissance de sortie :
E{z T z} = tr E{zz T }
Z +∞ Z +∞
T T
= tr E g(t − τ1 )v(τ1 )v (τ2 )g (t − τ2 )dτ1 dτ2
−∞ −∞
Z +∞ Z +∞
T
T
= tr g(t − τ1 )E v(τ1 )v (τ2 ) g (t − τ2 )dτ1 dτ2
−∞ −∞
Z +∞
T
= tr g(t − τ )g (t − τ )dτ
−∞
Z +∞
T
= tr g(τ )g (τ )dτ
−∞
Z +∞
tr g T (τ )g(τ ) dτ
=
−∞
Z +∞
1
tr GH (jω)G(jω) dτ
=
2π −∞
= ||G||2
5.1.3 Calcul
La norme H2 peut être calculée pour tous les systèmes strictement propres
(D = O) et strictement stables. En effet, elle peut s’écrire ainsi :
Z ∞
2
tr g T (t)g(t) dt
||G||2 = (125)
0
Z ∞
B T exp(AT t)C T (C exp(At)B) dt
= tr (126)
0
Z ∞
T T T
= tr B exp(A t)C C exp(At)dtB (127)
0
ou encore :
Z ∞
||G||22 tr g(t)g T (t) dt
= (128)
0
Z ∞
(C exp(At)B) B T exp(AT t)C T dt
= tr (129)
0 Z ∞
T T T
= tr C exp(At)BB exp(A t)dtC (130)
0
32
soit :
||G||22 = tr B T Wo B = tr CWc C T
(131)
où Wo et Wc sont les gramiens de commandabilité et d’observabilité :
Z ∞
Wo = exp(At)BB T exp(AT t)dt (132)
0
Z ∞
Wc = exp(AT t)C T C exp(At)dt (133)
0
12
Ils peuvent être obtenus comme les solutions des équations de Lyapunov
suivantes :
AWc + Wc AT + BB T = 0 (134)
AT Wo + Wo A + C T C = 0 (135)
En effet, partons de :
d
exp(At)BB T exp(AT t) = A exp(At)BB T exp(AT t)+exp(At)BB T exp(AT t)AT .
dt
(136)
En notant que pour un système stable :
et en intégrant sur [0, ∞], on obtient directement les deux équations de Lya-
punov. C’est cette méthode qui est utilisée dans les Toolboxes de Matlab
pour le calcul de la norme H2 [11].
33
Soit S0 la solution de l’équation de Lyapunov (134), c’est-à-dire vérifiant :
AS0 + S0 AT + BB T = 0, (138)
avec S0 = S0T ≤ 0. Alors toute matrice S vérifiant :
AS + SAT + BB T < 0 (139)
vérifie aussi S > S0 .
Le système G(s) stable avec D = 0 vérifie ||G||22 < ν si et seulement si il
existe une matrice symétrique positive, :
S > 0, (140)
vérifiant (139) et :
tr CSC T < ν.
(141)
L’ensemble des inégalités (139-141) constitue un système LMI et peut se
résoudre avec les solveurs disponibles [21, 22].
34
5.3 Equivalence H2 et LQG
Considérons d’abord le cas de la commande LQ avec le critère :
Z ∞
xT Qx + uT Ru dt.
J= (146)
0
avec :
Q1/2 x
z= (148)
R1/2 u
En utilisant le théorème de Parseval , on obtient :
Z ∞
1
J= Z H (jω)Z(jω)dω. (149)
2π −∞
v = Lξ (153)
w = Nη (154)
où ξ et η sont des bruits blancs de variance unitaire. On montre alors que le
correcteur LQG est équivalent au correcteur H2 minimisant le transfert entre
[ξ T η T ]T et z = [xT Q1/2 uT R1/2 ]T [17].
35
6 Forme LQG équivalente
Un correcteur quelconque de même ordre que le processus peut se met-
tre sous la forme d’un correcteur LQG. Cette possibilité, expliquée dans ce
paragraphe, présente plusieurs intérêts. Tout d’abord, cela signifie qu’un cor-
recteur initial obtenu par une autre méthode et que l’on voudrait améliorer
grâce à une synthèse LQG peut servir de point de départ pour le réglage des
pondérations. Ensuite, la méthode LQG a comme intérêt que les états du cor-
recteur sont les estimées des états du système ; ils peuvent donc être utilisés
dans un but de diagnostic ou de supervision. Dans ce cas, il est intéressant
d’implanter le correcteur sous forme LQG quelle que soit la méthode de
synthèse. L’obtention de cette forme LQG équivalente repose sur une pro-
priété particulière de cette forme, donnant lieu à ce qu’on appelle la paramétrisation
de Youla. Des compléments sur la forme LQG équivalente peuvent être
trouvés dans les références [23, 24].
le modèle s’écrit :
ẋ = (A − BK)x − BKx + Bw
˙x = (A − LC)x (157)
y = Cx
36
indépendamment par le gain de la commande et par le gain de l’observa-
teur 14 . Ainsi, aucun mode du système n’est à la fois commandable (par
l’entrée w) et observable (par la sortie y ). Le transfert entre w et y est
donc nul. On peut alors ajouter un transfert N (s) quelconque sans changer
le comportement du système. Ce paramétrage du correcteur par un bouclage
sur un transfert extérieur N (s) est appelé paramétrisation de Youla .
En notant le modèle de N (s) :
ẋN = AN xN + BN y
(158)
w = CN xN + DN y
ẋ = −BN C x̂ + AN xN + BN y (159)
N
u = −(K + DN C)x̂ + CN xN + DN y
Les deux correcteurs sont identiques du point de vue entrée/sortie s’il existe
un changement d’état T :
xK = T x̂ (161)
tel que
T −1 AK T = A − LC − BK − BDN C (162)
T −1 BK = L + BDN (163)
CK T = −K − DN C (164)
DK = DN (165)
14. Afin de mieux visualiser ce résultat, le lecteur est invité à représenter graphiquement
le système d’équations (157)
37
ce qui s’écrit :
DN = DK (166)
K = −CK T − DK C (167)
L = T −1 BK − BDK (168)
0 = −T BCK T − T (A − BDK C) + AK T + BK C (169)
38
représentation d’état augmentée du modèle nominal du processus en ajoutant
des états non commandables ou non observables afin de garder un paramètre
de Youla statique.
39
Annexes
40
A Optimisation et calcul des variations
A.1 Optimisation
A.1.1 Notations
Soit un vecteur x dans Rn de variables de désision et soit un critère J(x)
à valeur dans R définie sur E ⊂ Rn .
On note ∇J (x) = dJ dx
(x) le gradient de la fonction de J. Il s’agit d’une
n n ∂J
fonction de R vers R . La k ème composante de ∇J (x) s’écrit ∂x k
(x).
d2 J
On note HJ (x) = dx2 (x) le Hessien de la fonction de J. Il s’agit d’une
2J
fonction de Rn vers Rn×n . La composante (k, l) de HJ (x) s’écrit ∂x∂k ∂x l
(x).
A.1.2 Définitions
Définition 1 (Minimum global)
La fonction J présente un mimimum global en x0 ∈ E si J(x) > J(x0 ) ∀x 6=
x0 .
dJ
Si le critère J présente un extrémum en x0 , alors on a dx
(x0 ) = 0.
41
Dans l’hypothèse où les conditions précédentes ne seraient pas satisfaites,
il faut étudier les conditions d’ordre supérieures. On est en présence d’un
extrémum si la première dérivée non nulle est d’ordre pair 16 .
∂ J˜
(x0 , λ0 ) = On×1 (171)
∂x
∂ J˜
(x0 , λ0 ) = Op×1 (172)
∂λ
Exercice 1 (Minimisation sous contrainte)
Pour x ∈ R2 , on considère le critère J(x) = xT x et la contrainte px = 1 où
p = 1 1 . Touvez la solution du problème de minimisation sous contrainte.
42
L’argument de J est une fonction ; on qualifie souvent J de fonctionnelle,
c’est-à-dire de fonction de fonction.
En notant δy une petite variation de la fonction y, et δ ẏ la variation de
sa dérivée correspondante, on a :
Z b
∂φ ∂φ
J(y + δy) ' φ(y, ẏ, x) + (y, ẏ, x)δy(x) + (y, ẏ, x)δ ẏ(x) dx
a ∂y ∂ ẏ
Z b
∂φ ∂φ
' J(y) + (y, ẏ, x)δy(x) + (y, ẏ, x)δ ẏ(x) dx (174)
a ∂y ∂ ẏ
∂φ ∂φ
Pour la trajectoire optimale, il faut que ∂y
(y, ẏ, x)δy(x) + ∂ ẏ
(y, ẏ, x)δ ẏ(x)
soit nul tout au long de la trajectoire.
43
A.2.3 Prise en compte des conditions initiales et finales
Les conditions initiales et finales peuvent être libres où imposées. On peut
imposer l’instant et/ou la valeurs de la fonction y. Considérons un critère
intégrant éventuellement une pénalité sur les conditions initiales et finales,
de la forme :
Z b
J= φ(y(x), ẏ(x), x)dx + ψ(a, b, y(a), y(b)) (180)
a
44
Figure 3 – Problème de Didon??
Exercice 3 (Brachistochrone)
Pour une trajectoire de la bille (x(t), y(t)) débutant en (0, 0) avec une vitesse
nulle et terminant en un point précis (l, −h), on se propose de vous guider
vers l’obtention de la trajectoire optimale :
19. Voir http://fr.wikipedia.org/wiki/Courbe_brachistochrone.
45
1. Montrez √ que le module de la vitesse de la bille en un point (x, y) est
égal à −2gy.
2. Calculez l’expression de la vitesse de progression selon x en fonction de
l’altitude y et de la dérivée y 0 = dy/dx de l’altitude.
3. Montrez que le temps ∆t mis par la bille pour parcourir l’ensemble du
trajet s’écrit :
Z x=l s
1 + y 02 (x)
∆t = dx (184)
x=0 −2gy(x)
4. A partir de l’équation de Beltrami, montrez que la solution optimale
vérifie une équation différentielle de la forme :
46
B Systèmes linéaires multivariables
Récapitulons les résultats fondamentaux concernant les systèmes multi-
variables linéaires, tout d’abord à temps invariant (LTI) puis à temps variant
(LTV).
B.1 Généralités
Soit le système LTI défini par :
ẋ = Ax + Bu
(188)
y = Cx + Du
où H(s) ∈ Rp×m . Elle est invariante par changement d’état x̂ = P x où
P ∈ Rn×n est inversible. Le système sera indifféremment représenté par sa
fonction de transfert ou par sa représentation d’état.
B.2 Pôles
On appelle pôles du système les pôles de la fonction de transfert qui sont
(par définition) aussi les valeurs propres de A. Ces pôles sont invariants par
changement d’état.
Le système est stable si ses pôles sont à parties réelles strictement négatives.
La matrice A d’un tel système est dit Hurwitz.
B AB . . . An−1 B
(190)
47
est de rang n.
Un système est dit détectable s’il existe un observateur d’état stable ; c’est-
à-dire s’il existe L ∈ Rn×p tel que A − LC soit Hurwitz. On dit que la paire
{A, C} est détectable.
Un système est dit observable si on peut imposer arbitrairement les pôles
de son observateur d’état, c’est-à-dire les pôles de A−LC. L’observabilité est
une condition plus forte que la détectabilité. La paire {A, C} est observable
si la matrice d’observabilité :
C
CA
(191)
..
.
CAn−1
est de rang n.
Les propriétés de commandabilité et d’observabilité sont duales. Ainsi,
{A, C} est observable si et seulement si {AT , C T } est commandable. Il en est
de même pour la gouvernabilité et la détectabilité.
48
B.4.2 Observabilité
De manière générale, un système non linéaire est observable si on peut
déterminer son état initial à partir de l’enregistrement de sa sortie sur un
certain horizon. Une fois connu l’état initial, la trajectoire peut alors être
entièrement reconstruite à partir du modèle.
Supposons pour simplifier les calculs que l’entrée est nulle (u = 0) ; le
signal de sortie s’écrit y(τ ) = CΦ(τ, t0 )x0 . Multiplions cette relation à gauche
par ΦT (τ, t0 )C T et intégrons sur [t0 , t1 ], on obtient alors :
Z t1 Z t1
T T
Φ (τ, t0 )C y(τ )dτ = ΦT (τ, t0 )C T CΦ(τ, t0 )dτ x0 . (195)
t0 t0
| {z }
Wo (t0 ,t1 )
La condition initiale x0 est alors obtenue en multipliant à gauche par Wo (t0 , t1 )−1 .
Le système est donc observable si le gramien d’observabilité Wo (t0 , t1 ) est
défini 20 (non singulier) [26]. L’observabilité peut dépendre de la trajectoire
de l’état, celle-ci dépendant du signal d’entrée ; un signal d’entrée rendant le
système observable est dit entrée universelle.
B.4.3 Commandabilité
De manière générale, un système est dit (complètement) commandable si,
à partir d’une condition initiale x0 = x(t0 ), on peut trouver une commande
u permettant d’atteindre tout état final arbitraire xf = x(tf ) avec tf > t0 .
Remarquons que cette notion de commandabilité est équivalente à la possi-
bilité de suivre une trajectoire quelconque pour l’état, à condition toutefois
que cette trajectoire soit suffisamment régulière.
Le système LTV (192) est commandable sur l’horizon [t0 , tf ] si et seule-
ment si son gramien de commandabilité :
Z tf
Wc (t0 , tf ) = Φ−1 (t0 , τ )BB T Φ−T (t0 , τ )dτ (196)
t0
est défini.
Le caractère suffisant de cette condition se montre en considérant la com-
mande :
20. Toutes les valeurs propres de Wo (t0 , t1 ) sont réelles et positives puisque qu’elle est
symétrique.
49
C Analyse des systèmes asservis multivari-
ables
C.1 Position du problème
Considérons un processus linéaire multivariable y = G(s)u asservi par
un correcteur K(s), avec nu entrées et ny sorties. En tenant compte de la
consigne r et d’une perturbation d en entrée du processus, les équations
s’écrivent :
u = K(s)(r − y) (198)
y = G(s)(u + d) (199)
50
Propriété 1 (Propriétés générales)
– Les valeurs singulières sont des nombres réels positifs.
– Les valeurs singulières non nulles de M sont identiques à celles de M H
(invariance par l’opération transposé/conjugué)
– Les valeurs singulières non nulles sont au plus au nombre de min(nu , ny ),
la plus petite dimension de M .
||M z||2
σ(M ) = max
z6=0 ||z||2
zH M H M z
σ 2 (M ) = max (205)
z6=0 zH z
Ainsi, la norme σ est l’amplification maximale du système de transfert M .
51
Définition 4 (Norme H∞ ) La norme H∞ de M (s), notée ||M ||∞ est la
borne supérieure des valeurs singulières maximales de M (jω) lorsque ω varie
sur [0, ∞] :
||M ||∞ = sup σ(M (jω)) (206)
ω∈[0,∞]
C.4 Stabilité
La stabilité est évaluable à partir du lieu des pôles (tous les pôles de la
boucle fermée doivent être à partie réelle strictement positive), ce qui s’évalue
en multivariable de la même manière qu’en monovariable. Cependant, on sait
que la stabilité ne suffit pas et que des marges sont nécessaires. La marge
de module est définie en monovariable comme la distance minimale au point
−1 du transfert complexe en boucle ouverte, ce qui s’écrit avec les notations
utilisées :
∆M = min |1 + K(jω)G(jω)|. (209)
ω
En notant que :
min |1 + K(jω)G(jω)| = max |(1 + K(jω)G(jω))−1 |, (210)
ω ω
52
et la marge de module en entrée :
1
∆M = . (212)
||Su (s)||∞
C.7 Robustesse
Les systèmes dynamiques physiques sont généralement de type passe-
bande et on dont un gain qui diminue en haute fréquence. Il en résulte
donc qu’au-delà d’une certaine bande de fréquences, ces dynamiques sont
nécessairement mal connues. Ainsi, une des sources classique de manque de
robustesse des systèmes asservis correspond à des amplifications de modes
hautes fréquence mal connus, entraı̂nant ainsi des instabilités. Afin de palier
ce problème, il convient de s’assurer que le gain du correcteur décroı̂t au-
delà de la bande passante. Une manière détournée de s’en assurer consiste à
considérer la réponse fréquentielle du transfert Su (s)K(s) ou K(s)Sy (s) du
transfert entre r et u.
53
D Inégalités matricielles affines
Les Inégalités Matricielles Affines ou LMI prennent une place de plus
importante dans les méthodes modernes de l’automatique. De nombreux
résultats antérieurs trouvent une formulation LMI et ce formaliste permet
aussi de résoudre de nouveaux problèmes qui n’avaient pas trouvé jusqu’alors
de solution.
D.1 Positivité
Définition 6 (Matrice positive) Une matrice A ∈ Rn est dite (semi-
définie) positive et on note A ≥ 0 si la forme quadratique xT Ax est positive
pour tout vecteur x.
54
Propriété 9 Un système de plusieurs LMI est une LMI. En effet :
P (x) > 0 P (x) 0
⇔ >0 (213)
Q(x) > 0 0 Q(x)
D.4 Résolution
Afin de rendre les solveurs de LMI facilement utilisables pour les problèmes
de l’automatique, des interfaces ont été développées permettant d’écrire les
problème sous des formes matricielles simples. On peut citer LMI-Tools de El
Ghaoui 21 , la LMI Control Toolbox de MathWorks [22] et l’interface SeDuMi
développé au LAAS par Peaucelle et al. [27]. On pourra également utiliser
l’outil YALMIP 22 .
Les trois problèmes classiques que ces outils résolvent sont
– la faisabilité (ou existence) : trouver x solution de A(x) < 0,
21. http ://robotics.eecs.berkeley.edu/˜ elghaoui/
22. http ://control.ee.ethz.ch/˜ joloef/yalmip.php
55
– la minimisation d’une fonction linéaire ; trouver x minimisant cT x sous
la contrainte A(x) < 0,
– le problème de valeur propre généralisée : minimiser λ sous les con-
traintes A(x) < λB(x), B(x) > 0 et C(x) < 0.
Références
[1] A. P. Sage and C. C. White, Optimum Systems Control, Prentice Hall,
1977.
[2] B. D. O. Anderson and J. B. Moore, Optimal Control - Linear Quadratic
Methods, Prentice Hall, 1989.
[3] E. Ostertag, Commande et Estimation Multivariables, TechnoSup, El-
lipses, Paris, 2006.
[4] L. Pontriaguine, V. Boltianski, G. Gamkrelidze, and E. Michtchenko,
Théorie Mathématique des Processus Optimaux, Moscou : Mir, 1974.
[5] H. Bourles, Optimisation et Commande Optimale, École Normale
Supérieure de Cachan, 1996.
[6] G. Duc, Robustesse des Systèmes Linéaires Multivariables, École
Supérieure d’Électricité, 1994.
[7] N. A. Lehtomaki, N. R. Sandell, and M. Athans, “Robustness results
in linear quadratic gaussian based multivariable control design,” IEEE
Trans. Autom. Control.
[8] E. Ostertag, Filtrage Optimal et Commande Optimale, École Supérieure
de Physique de Strasbourg, 2002.
[9] G. F. Franklin, J. D. Powell, and M. L. Workman, Digital Control of
Dynamic Systems, Addison-Wesley, 1990.
[10] W. F. Arnold and A. J. Laub, “Generalized eigenproblem algorithms
and software for algebraic riccati equations,” Proceedings of the IEEE,
vol. 72, pp. 1746–1754, 1984.
[11] The MathWorks Inc., Getting Started with the Control System Toolbox,
2000-2002.
[12] W. Bachta, P. Renaud, E. Laroche, A. Forgiona, and J Gangloff, “Mo-
tion prediction for computer-assisted beating heart surgery,” IEEE
Transactions on Biomedical Engineering, 2009.
[13] M. H. A. Davis, Linear Estimation and Stochastic Control, Chapman
and Hall, 1977.
56
[14] J. C. Doyle and G. Stein, “Robustness with observers,” IEEE Trans.
Autom. Control.
[15] J. C. Doyle and G. Stein, “Multivariable feedback design : Concepts for
a classical/modern synthesis,” IEEE Trans. Autom. Control, vol. 26,
no. 1, 1981.
[16] J. B. Moore and L. Xia, “Loop recovery and robust state estimate
feedback design,” IEEE Transactions on Automatic Control, vol. 32,
no. 6, 1987.
[17] G. Stein and M. Athans, “The LQG/LTR procedure for multivariable
feedback control design,” IEEE Trans. Autom. Control, vol. 32, no. 2,
1987.
[18] J. D. Birdwell and A. J. Laub, “Balanced singular values for lqg/ltr
design,” International Journal of Control, vol. 45, no. 3, 1987.
[19] Z. Zhang and J. Freudenberg, “Loop transfert recovery for nonminimal
phase plants,” IEEE Transactions on Automatic Control, vol. 35, no. 5,
1990.
[20] C. Scherer, P. Gahinet, and M. Chilali, “Multi-objective output-feedback
control via LMI optimization,” IEEE Trans. Autom. Control, vol. 42,
no. 7, pp. 896–911, 1997.
[21] Y. Nesterov and A. Nemirovski, Interior-point Polynomial Methods in
Convex Programming, SIAM, 1994.
[22] P. Gahinet, A. Nemirovski, A. J. Laub, and M. Chilali, LMI Control
Toolbox, The MathWorks Inc., 1995.
[23] D. Alazard and P. Apkarian, “Exact observer-based structures for ar-
bitrary compensators,” International Journal of Robust and Nonlinear
Control, vol. 9, pp. 101–118, 1999.
[24] D. Alazard, C. Cumer, P. Apkarian, M. Gauvrit, and G. Ferrères, Ro-
bustesse et Commande Optimale, Cépaduès Éditions, 1999.
[25] M. Berriri, “Commande LPV d’un système d’entraı̂nement de bande
flexible,” 2004.
[26] G. Bornard, F. Celle-Couenne, and G. Gilles, Observation, Observabilité,
vol. 1, chapter 5, pp. 177–221, Masson, Paris, 1993, in A.J. Fossard and
D. Normand-Cyrot, Systèmes non-linéaires.
[27] D. Peaucelle, D. Henrion, Y. Labit, and K. Taitz,
User’s guide for SeDuMi interface, LAAS - CNRS,
http ://www.laas.fr/˜peaucell/SeDuMiInt.html, 2002.
57