Académique Documents
Professionnel Documents
Culture Documents
Version provisoire
Gérard Blanchet
29 Novembre 2007
2
Table des matières
Notations 5
Contexte 7
5 Commande LQR 35
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Problème de régulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.1 Construction de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.2 Cas invariant, horizon infini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3 Problème de poursuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3.1 Construction de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.3.2 Poursuite à horizon infini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3.3 Poursuite à horizon fini et état final fixé . . . . . . . . . . . . . . . . . . . . . . . . 40
5.4 Cas invariant et horizon infini, performances . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4.1 Degré de stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3
4
6 Principe de Pontryagin 45
6.1 Principe de Pontryagin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 Programmation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.2.1 Principe d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.2.2 Commande optimale et programmation dynamique . . . . . . . . . . . . . . . . . . 47
6.2.3 Cas du temps discret invariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2.4 Cas du temps continu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3 Recherche de la commande en boucle fermée . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4 Application à la commande LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7 Commande LQG 51
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9 Indications et corrigés 59
Bibliographie 68
Index 71
Notations
− F fréquence ;
− Fe fréquence d’échantillonnage ;
Transformées
− Transformée en z (TZ) :
+∞
X
{x(n)}, n ∈ (Z) → Xz (z) = x(n)z −n , z ∈ (DC)
n=−∞
5
6
− Transformée en z monolatérale :
+∞
X
{x(n)}, n ∈ (Z) → Xz (z) = x(n)z −n , z ∈ (DC)
n=0
Notations
Les matrices seront généralement représentées par des lettres majuscules grasses et les vecteurs
par des lettres soulignées ou des lettres minuscules grasses.
x ou x Vecteur colonne.
A et AT Matrice A et sa transposée.
AH Transposée-conjuguée de A.
Tr(A) Trace de A.
adj(A) Adjoint de A.
det(A) Déterminant de A.
Re(x) Partie réelle de x.
Im(x) Partie imaginaire de x.
arg(x) Argument de x.
x⋆ Conjugué de x.
Res Résidu.
Définitions
" #
∂f /∂x1 ∂f /∂x2
Matrice jacobienne J
∂g/∂x1 ∂g/∂x2
Jacobien de J det(J)
∂Q/∂x1
..
Gradient de Q ∇(Q) =
.
∂Q/∂xn
Contexte
Un système de commande automatique consiste à “faire calculer” les entrées d’un système par un organe
de commande en vue de satisfaire une tâche donnée. On peut le schématiser de la façon suivante :
(b) w(t)
(a)
La mise en œuvre peut être effectuée en boucle ouverte ou fermée, cette dernière situation (schéma
1) s’avérant indispensable dans la très grande majorité des cas, ne serait-ce qu’à cause des perturbations
w(t) qui peuvent affecter le système à commander. On distingue aussi deux types de problèmes : le suivi
de consignes et la régulation. Dans le premier cas le système doit répondre avec précision et rapidité à
toute variation des signaux d’entrée tandis que dans le second les sorties doivent conserver leurs valeurs
en dépit des perturbations qui affectent le système.
Un certain nombre d’éléments sont causes d’écarts entre les consignes et les sorties :
− l’utilisation incorrecte et/ou retardée par l’organe de commande des signaux qu’il reçoit.
Lorsque les caractéristiques du système varient, le problème de la commande s’avère délicat et il peut
être utile de prendre en compte les caractéristiques des perturbations dans l’algorithme de commande.
Lorsqu’on veut prendre en compte un critère dans l’algorithme de commande, on parle alors de
commande optimale, un certain nombre d’éléments doivent être pris en compte :
− le critère d’optimalité de type min (Q) ou max (Q) qui peut constituer le but de la commande ou
un ensemble de contraintes sur les commandes et/ou l’état du système ;
− les caractéristiques du système à commander y(t) = F (u(t), w(t)), des connaissances sur w(t) et
sur les domaines de fonctionnement et de variation des diverses variables et fonctionnelles utilisées ;
− et la part des informations sur le système qui sont prises en compte dans l’organe de commande.
Normalement l’information détenue, en particulier sur l’état du système et les caractéristqiues des
perturbations, est incomplète ou entâchée d’erreurs (dans le cas contraire il n’y aurait pas vraiment
de problème. . . ) et l’optimalité dépend de ce que l’on connaı̂t. Il faut remarquer qu’en dépit du nom
“commande optimale”, ce que l’on cherche est une stratégie optimale (l’algorithme mis en œuvre dans
l’organe de commande) et non une commande optimale satisfaisant un critère donné, par exemple une
commande assurant une réponse en temps minimal.
7
8
Chapitre 1
D’un point de vue général, on ne considèrera que les systèmes dynamiques (voir polycopié [8]) de
dimension finie gouvernés par un ensemble d’équations de la forme :
ẋ(t) = F(x(t), u(t))
(1.1)
y(t) = H(x(t), u(t))
où x(t)(n × 1) est le vecteur d’état (ensemble de variables d’état), u(t)(m × 1) le vecteur des entrées et
y(t)(r × 1) le vecteur des sorties.
Les systèmes linéaires, ou linéarisés autour d’un point de fonctionnement (théorème de Hartman-
Grobman), peuvent être décrits par un système différentiel vectoriel du premier ordre de la forme :
ẋ(t) = A(t)x(t) + B(t)u(t)
(1.2)
y(t) = C(t)x(t) + D(t)u(t)
où A(t)(n × n) est la matrice d’état du système et B(t), C(t) et B(t) sont de dimensions respectives
(n × m), (r × n), (r × m) (figure 1.1).
Système
D(t)
u(t) (n) + y(t)
B(t) + C(t)
(m) + + (r)
A(t)
Nous allons nous limiter dans ce qui suit au cas des systèmes linéaires invariants, ou aux systèmes
qui peuvent se ramener à ce cas.
9
10 Chapitre 1 - Notion de système dynamique
connaı̂tre l’état par observation des sorties et des entrées pendant un temps fini. De nombreux critères
d’observabilité et gouvernabilité peuvent être utilisés pour en vérifier l’existence [6, 10].
Un résultat important indique qu’il est toujours possible de trouver une représentation d’état qui
mette le système sous la forme dite forme canonique de Kalman suivante :
xcno (t) A11 A12 A13 A14 xcno (t) B1
d xco (t) = 0 A 22 0 A 24 cox (t) + B2 u(t)
dt xncno (t) 0 0 A33 A34 xncno (t) 0
xnco (t) 0 0 0 A44 xnco (t) 0
(1.4)
x cno (t)
xco (t)
y(t) = 0 C2 0 C4
xncno (t)
xnco (t)
où on a noté par l’indice “co” ce qui correspond au sous-espace commandable et observable, par l’indice
“nco” ce qui correspond au sous-espace non commandable et observable, etc.
A13
A11 A33
+
+ +
R1
+ Xcno Xncno
Yk
A22 A44 B4
+ +
+ + + Xnco
R2
Xco
B2
A22
Dans le cas particulier d’un système à une seule entrée (m = 1) le comportement de celui-ci est décrit
par l’évolution du vecteur d’état à partir d’un état initial x0 de la façon suivante :
Z t
x(t) = eA(t−t0 ) x0 + eA(t−τ ) Bu(τ )dτ (1.5)
t0
où B est un vecteur de dimension (n × 1). On reconnait là la solution causale d’un système différentiel
linéaire comportant un terme d’évolution “autonome” (solution de l’équation sans second membre) à
partir d’un état initial et un terme convolutif d’évolution “forcée” (solution particulière).
Système
D
Compensateur
u(t) (n) + y(t)
B + C
(m) + + (r)
A
Système
D
r(t) u(t) (n) + y(t)
+ B + C
(m) − (m) + + (r)
A
(m) (n)
K
Les pôles de la fonction de transfert sont donnés par det(sI − A + BK). On peut remarquer que les
zéros n’ont pas été modifiés dans le retour d’état.
Il suffit donc de se donner les pôles de la fonction de transfert en boucle fermée et d’en déduire K
(ici K est un vecteur). Il y a deux méthodes principales pour choisir les pôles : la méthode des pôles
dominants et la méthode des fonctions prototypes.
Remarque : la commande par retour d’état suppose que l’on peut positionner
MDI224 tous les pôles. Or ceci n’est possible que si le système est commandable. Lorsque
ce n’est pas le cas il faut que les “modes non commandables” soient stables (on
dit que le système est stabilisable).
Pôles dominants
On peut définir le comportement du système en faisant référence à celui d’un système du second ordre. On
donne un ou deux pôles dominants (ceux du second ordre) et autant de pôles non dominants (n’intervenant
que de façon secondaire dans la dynamique) que nécessaire.
Lorsqu’on choisit des pôles complexes P et P∗ , on rappelle que l’amortissement est donné par ξ = sin ψ
et la pulsation propre par la longueur OP (figure 1.5).
ωn ψ
O
P*
Le vecteur de retour d’état K est alors obtenu par identification entre le polynôme choisi précédemment
à partir des pôles et det(sI − A + BK) (expression 1.7).
Fonctions “prototypes”
Les fonctions “prototypes” sont de la forme 1/A(p) où A(p) est un polynôme calculé pour minimiser un
critère de performance donné. Les critères les plus usuels sont :
1. L’énergie du signal d’erreur ou ISE (Integral of the Square of the Error) :
Z T
J= ε2 (t)dt (1.8)
0
2. L’intégrale de la valeur absolue du signal d’erreur ou IAE (Integral of the Absolute magnitude of
the Error) :
Z T
J= |ε(t)|dt (1.9)
0
3. La durée moyenne vis-à-vis du signal d’erreur ou ITAE (Integral of Time multipied by the Absolute
Error) :
Z T
J= t|ε(t)|dt (1.10)
0
Le critère ITAE est la plus souvent choisi pour peu que l’on accepte un dépassement, de faible
valeur toutefois.
MDI224 / 2007-2008 / GB 13
4. La durée quadratique moyenne vis-à-vis du signal d’erreur ou ITSE (Integral of Time multipied by
the Square Error) :
Z T
J= tε2 (t)dt (1.11)
0
On peut rajouter aux fonctions prototypes les polynômes de Bessel qui ne donnent aucun dépassement
dans la réponse indicielle.
On effectue ensuite le même type d’identification que pour les pôles dominants.
2. on ne contrôle en aucune façon la dynamique des signaux autres que la sortie. On peut alors très
bien avoir des phénomènes de saturation sur les variables d’état.
Système
d
r(t) u(t) (n) + y(t)
bu + b + cT
− + + (r)
A
+
kT
(n) −
bx
Système
D
u(t) (n) + y(t)
+ B + C
− + + (r)
A x(t)
+
L
−
Modèle
D
+ (n) +
B C
+ + (r)
A x(t)
K
(n)
ẋ(t) = Ax(t) + Bu(t)
(1.15)
y(t) = Cx(t) + Du(t)
MDI224 / 2007-2008 / GB 15
˙
x̂(t) = Ax̂(t) + Bu(t) + L(y(t) − Cx̂(t))
= (A − LC)x̂(t) + Bu(t) + Ly(t) (1.16)
On peut remarquer que cet observateur travaille en boucle fermée en faisant intervenir les termes de
sortie (L(y(t) − Cx̂(t))).
En posant ε(t) = x(t) − x̂(t), on arrive à :
ε̇(t) = d(x(t) − x̂(t))/dt
= Ax(t) + Bu(t) − (A − LC)x̂(t) − Bu(t) − Ly(t)
= Ax(t) − (A − LC)x̂(t) − L(Cx(t) + Du(t))
= (A − LC)ε(t) − LDu(t) (1.17)
Le réglage de la vitesse d’observation dépend donc de (A − LC).
MDI224 Remarque : la dynamique de l’observateur est définie par (L) et peut être
réglée indépendamment de celle du système (K).
En général les constantes de temps de l’observateur sont choisies de 2 à 6 fois plus petites que celles
du contrôleur.
La condition sur l’observabilité est imposée par le fait qu’il faille construire un état initial pour le
modèle. Si des modes sont non observables il faut qu’ils soient stables (on dit qu’ils sont détectables). On
est alors sûr que l’effet des conditions initiales devient négligeable “au bout d’un certain temps” (dont
on espère qu’il sera relativement court).
Cette étape est désignée par “étape de recalage” ou de filtrage (Measurement Update).
Le terme K(k) de gain est calculé de telle sorte qu’il minimise la quantité :
E (x(k) − x̂(k))(x(k) − x̂(k))H
Il existe plusieurs façons de présenter l’algorithme. Prenons quelques exemples :
16 Chapitre 1 - Notion de système dynamique
− En supposant que B = 0 et pour des signaux réels, en combinant les diverses expressions on peut
arriver à [4] [5] :
Valeurs initiales :
x̂(0) = E [x(0)] et K(0) = E x(0)xT (0) (1.21)
Répéter :
−1
G(k) = K(k − 1)CT (k) × C(k)K(k − 1)CT (k) + Qv (k) (1.22)
x̂(k) = A(k)x̂(k − 1) + G(k) y(k) − C(k)x̂(k − 1) (1.23)
K(k) = A(k) (I − G(k)C(k))K(k − 1)(I − G(k)C(k))T AT (k)
+ A(k)G(k)Qv (k)GT (k)AT (k) + Qw (k) (1.24)
Valeurs initiales :
x̂(0) = E [x(0)] et K(0) = E x(0)xT (0) (1.25)
Répéter :
−1
G(k) = K(k − 1)CT × CK(k − 1)CT + Qv (k) (1.26)
x̂(k) = Ax̂(k − 1) + (B − G(k)CB) u(k − 1)
+ G(k) y(k) − CAx̂(k − 1) (1.27)
T T T
−1
K(k) = AK(k − 1)A − AK(k − 1)C Qv (k) + C(k)K(k − 1)C (k)
AT (k)CK(k − 1)AT + Qw (k) (1.28)
Chapitre 2
Dans les approches traditionnelles les critères conduisant à la synthèse de compensateurs simples portent
essentiellement sur la dynamique des signaux de sortie et, éventuellement, des signaux de commande du
système. Pour aller plus loin dans le processus de synthèse, on peut introduire de nouvelles contraintes
à travers ce que l’on désigne par marges de robustesse. Cette approche conduit aux synthèses dites H∞
et à des compensateurs d’ordre bien supérieur à ce que l’on obtenait avec les synthèses classiques.
Entre ces deux façons de faire les automaticiens se sont penchés sur des méthodes de minimisation
de critères quadratiques très souvent liées à des considérations d’ordre économique.
et on cherche à construire un retour d’état qui, tout en assurant ou préservant la stabilité, tente de rendre
minimal un critère de la forme (2.2).
Z tf
J = g(x(t), u(t), t)dt (2.2)
0
On a ici un problème de régulation en temps infini ; en absence de consigne on amène l’état en 0 tout
en minimisant le critère.
Nous allons traiter deux exemples appliqués à des systèmes à une entrée et une sortie (SISO : Single
Input Single Output). Dans ce cas précis, B = b, C = cT , K = k T et le retour d’état donne une équation
de la forme :
d T
(x Px) = −xT x (2.4)
dt
17
18 Chapitre 2 - Critère quadratique, introduction
On a à résoudre :
0 −k1 p11 p12 p p12 0 1 1 0
+ 11 =−
1 −k2 p21 p22 p21 p22 −k1 −k2 0 1
On obtient :
1 1 1 k1 1 k2
⇒ p12 = p21 = , p22 = + , p11 = + +
2k1 2k2 2k2 k1 2k2 2k2 2k1
Avec l’état initial donné, le critère s’écrit :
k12 + k22 + 2k1 + 2k2 + 1
J = xT (0)Px(0) =
2k1 k2
Le programme dintcrit.m donne la figure 2.1.
%===== DINTCRIT.M
[k1,k2] = meshgrid(.2:.2:4, .2:.2:6);
J=(k1.^2+k2.^2+2*k1+2*k2+1)./k1./k2/2;
mesh(k1,k2,J)
view(55,20)
20
15
10 [1 k ]
5
[k k]
0
0 k2
1 6
2 4 5
3 2 3
40 1
k1
Système
r(t) + u(t) 1 y(t)
− s2
x(t)
1 k (2)
11
J
10
9
8
7
6
5
4
3
0 0.5 1 1.5 2 2.5 3 3.5 k
J = xT (0)Px(0)
Exemple 2.2 On considère le système avec la même matrice A et deux entrées. On suppose que la
matrice de retour d’état k T (1 × 2) est de la forme k T = k k , k > 0.
T 0 1
⇒ A − bk =
−k −k
0 −k p11 p12 p p12 0 1 1 + λk 2 k2
+ 11 = −Q = −
1 −k p21 p22 p21 p22 −k −k k2 1 + λk 2
1. Calculer le critère J (λ, k), λ > 0, dans le cas où l’état initial est [1 1]T .
2. Donner l’allure de J (λ, k). Donner la valeur approximative kmin pour le minimum de J pour λ = 1.
3. Etudier la stabilité du système bouclé en fonction de k (on tracera le ”lieu des pôles”).
21
22 Chapitre 3 - Systèmes linéaires, quelques problèmes
Chapitre 4
Le calcul de variations est une des façons d’aborder le problème de la commande optimale. Ce dernier
consiste à rechercher une commande u(t) appliquée au système qui minimise un critère J scalaire donné.
Le système étant supposé posséder une équation de comportement ẋ(t) = f (x(t), u(t), t), on a donc un
problème d’optimisation sous cette contrainte [1][9].
∂J(x) 1 ∂ 2 J(x) 2
δJ(x(t), δx (t)) = δx (t) et δ 2 J(x(t), δx (t)) = δ (t) (4.1)
∂x 2 ∂x2 x
On dira que la fonctionnelle J possède un extrémum relatif pour la fonction x∗ (t) si, pour toute fonction
x “assez proche” de x∗ , l’incrément de J conserve le même signe. Si ∆J = J(x(t)) − J(x(t)∗ ) ≥ 0 alors
on a un minimum relatif. Si ∆J = J(x(t)) − J(x(t)∗ ) ≤ 0 alors on a un maximum relatif.
Théorème 4.1
Une condition nécessaire pour que x∗ (t) satisfasse l’extrémalité de la fonctionnelle J est
δJ(x∗ (t), (δx)(t)) = 0 pour tout δx (t) admissible. Une condition suffisante pour avoir un minimum
ou un maximum est donnée par le signe de δ 2 J. Si δ 2 J < 0 on a un maximum, si δ 2 J > 0 on a un
minimum.
Dans le théorème 4.1 le signe de δ 2 J est alors lié à la positivité de la matrice H(J).
23
24 Chapitre 4 - Calcul variationnel et C. Opt.
x0
t0 x*(t)
x(t) x1
t1
où on suppose que x(t) est une fonction scalaire, avec x(t0 ) = x0 , x(t1 ) = x1 et où x(t) est à dérivée
continue.
1. Si on suppose que x∗ (t) est optimale pour J, posons x(t) = x∗ (t) + δx (t) et ẋ(t) = ẋ∗ (t) + δ˙x (t) =
ẋ∗ (t) + δẋ (t) avec δx (t0 ) = δx (t1 ) = 0.
Z t1
∗
∆J(x (t) + δx (t)) = [V (x∗ (t) + δx (t), ẋ∗ (t) + δẋ (t), t) − V (x∗ (t), ẋ∗ (t), t)] dt
t0
MDI224 / 2007-2008 / GB 25
3. En vertu du théorème 4.1 et de la continuı̈té de l’expression entre crochets dans 4.4, on obtient
l’équation d’Euler-Lagrange 4.5 (obtenue par Euler en 1741 et redémontrée en 1755 par Lagrange
en utilisant le calcul de variations) :
Comme V est une fonction de x, ẋ et t, la relation 4.5 peut être écrite sous la forme :
∂V ∂ 2 V dx ∂ 2 V d2 x ∂ 2 V
− − − =0 (4.6)
∂x ∗ ∂ ẋ∂x ∗ dt ∗ ∂ ẋ2 ∗ dt2 ∗ ∂ ẋ∂t ∗
Cette variation devant conserver son signe quels que soient δx et δẋ :
Comme δx est arbitrairement petit, on réduit ces deux conditions à la seule condition dite de Legendre-
Jacobi :
Condition de Legendre-Jacobi :
MDI224 ∂2V ∂2V
> 0 (minimisation) ou < 0 (maximisation) (4.7)
∂ ẋ2 ∂ ẋ2
26 Chapitre 4 - Calcul variationnel et C. Opt.
Cette façon de faire permet de considérer les variables x1 et x2 comme si elles étaient indépendantes.
∂f ∂f ∂g ∂g
Une résolution directe aurait donné df = ∂x1
dx1 + ∂x 2
dx2 = 0 avec dg = ∂x1
dx1 + ∂x 2
dx2 = 0, dont on
en déduit dx2 = − ∂g/∂x
∂g/∂x2 dx1 .
1
∂f ∂f ∂g/∂x1
⇒ df = − dx1 = 0
∂x1 ∂x2 ∂g/∂x2
" #
∂f ∂f
∂f ∂g ∂f ∂g ∂x1 ∂x2
⇒ − = det ∂g ∂g =0 (4.9)
∂x1 ∂x2 ∂x2 ∂x1 ∂x1 ∂x2
Cas vectoriel
Théorème 4.2 T
Soit f (x) une fonction du vecteur x = x1 x2 ... xn dont on recherche les extrema sous un ensemble
de m < n conditions gk (x) :
g1 (x) = g1 (x1 , x2 , . . . xn ) = 0
g2 (x) = g2 (x1 , x2 , . . . xn ) = 0
..
.
gm (x) = gm (x1 , x2 , . . . xn ) = 0
La fonction f et le vecteur g des conditions sont supposés à dérivées partielles continues. Soit λ =
T
λ1 λ2 . . . λm le vecteur des multiplicateurs de Lagrange. La fonction de Lagrange augmentée
est :
L(x, λ) = f (x) + λT g(x)
Les valeurs optimales x∗ et λ∗ sont données par le système de n + m équations :
(
∂L ∂f T ∂g
∂x = ∂x + λ ∂x = 0
∂L
∂λ = g(x) = 0
MDI224 / 2007-2008 / GB 27
On raisonne de la même façon que précédemment. On choisit δx2 (t) comme “variable indépendante”
et on cherche λ∗ tel que :
∂L d ∂L
− =0
∂x1 ∗ dt ∂ ẋ1 ∗
Avec ce choix, on a nécessairement :
∂L d ∂L
− =0
∂x2 ∗ dt ∂ ẋ2 ∗
Sachant que ∂L
∂λ ∗ = 0, on peut aussi écrire la relation :
∂L d ∂L
− =0
∂λ ∗ dt ∂ λ̇ ∗
On peut généraliser ce qui vient d’être vu au cas de n fonctions xk (t). On considère la fonctionnelle
J:
Z t1
J= V (x(t), ẋ(t), t)dt
t0
et m contraintes :
gk (x(t), ẋ(t), t) = 0 pour k = 1 . . . m
On forme le critère augmenté :
Z t1
Ja = L(x(t), ẋ(t), t)dt
t0
∂L d ∂L
− = 2u∗ (t) − λ∗ (t) = 0 (4.12)
∂u ∗ dt ∂ u̇ ∗
La dernière relation revient à écrire l’équation différentielle pour les fonctions optimales :
Le problème d’optimisation consiste à chercher une trajectoire de commande u(t) qui minimise, ou
maximise, le critère J.
On pourrait aussi considèrer le critère J2 (u(t)) :
Z tf
J2 (u(t)) = V (x(t), u(t), t)dt + S(x(tf ), tf ) − S(x(t0 ), t0 ) (4.18)
t0
Z tf
dS(x(t), t)
= V (x(t), u(t), t) + dt (4.19)
t0 dt
pour lequel le problème d’optimisation est identique puisque S(x(t0 ), t0 ) est une quantité fixe.
Supposons que l’on connaisse les commandes et trajectoires optimales x∗ (t) et u∗ (t). On peut écrire :
ẋ∗ (t) + δ ẋ(t) = f (x∗ (t) + δx(t), u∗ (t) + δu(t), t)
Z tf +δtf
∗ ∗ dS
J2 (u(t)) = V (x (t) + δx(t), u (t) + δu(t), t) + dt
t0 dt
On introduit des multiplicateurs de Lagrange λ(t). On désigne λ(t) par vecteur d’état adjoint. Pour
la commande optimale on a :
Z tf " T
∂S
∗
Ja (u (t)) = ∗ ∗
V (x (t), u (t), t) + ẋ∗ (t)
t0 ∂x ∗
∂S
+ + λT f (x∗ (t), u∗ (t), t) − ẋ∗ (t) dt
∂t ∗
Pour une commande non optimale :
Z tf +δtf
Ja (u(t)) = [V (x∗ (t) + δx(t), u∗ (t) + δu(t), t)
t0
T
∂S ∂S
+ (ẋ∗ (t) + δ ẋ(t)) +
∂x ∗ ∂t ∗
i
+ λT f (x∗ (t) + δx(t), u∗ (t) + δu(t), t) − (ẋ∗ (t) + δ ẋ(t)) dt
On peut écrire :
Z tf +δtf Z tf Z tf +δtf
Ja (u(t)) = Lδ dt = Lδ dt + Lδ dt
t0 t0 tf
Z tf +δtf
Lδ dt ≈ Lδ t δtf
f
tf
" T T T #
∂L ∂L ∂L
≈ L+ δx(t) + δ ẋ(t) + δu(t)
∂x ∗ ∂ ẋ ∗ ∂u ∗ tf
≈ L|tf δtf
30 Chapitre 4 - Calcul variationnel et C. Opt.
Rappelons que l’équation d’état est la contrainte qui s’exprime aussi sous la forme ∂L/∂λ|∗ = 0.
On peut écrire (voir figure 4.2) :
δxf − δx(tf )
ẋ∗ (tf ) + δ ẋ(tf ) ≈ ⇒ δx(tf ) ≈ δxf − ẋ∗ (tf )δtf
δtf
4.4.2 Récapitulatif
Système :
Lagrangien :
T
∂S
L = V (x∗ (t), u∗ (t), t) + ẋ∗ (t)
∂x ∗
∂S
+ + λT f (x∗ (t), u∗ (t), t) − ẋ∗ (t) (4.24)
∂t ∗
Equations de Lagrange :
∂L∂L d
− = 0 (4.25)
∗ ∂x ∂ ẋ ∗ dt
∂L
= 0 (4.26)
∂u ∗
∂L
= 0 (4.27)
∂λ ∗
" T # T
∂L ∂L
L∗ − ẋ(t) δtf + δxf = 0 (4.28)
∂ ẋ ∗ ∂ ẋ ∗
tf tf
T
∂S ∂S
L = H∗ + ẋ∗ (t) + − λ∗T ẋ∗ (t) (4.29)
∂x ∗ ∂t ∗
32 Chapitre 4 - Calcul variationnel et C. Opt.
Différents cas
1. Si tf et x(tf ) sont fixés alors δtf et δxf sont nuls et 4.33 est satisfaite.
2. Si on fixe l’état final et que tf reste libre de choix, la condition 4.33 s’écrit :
∂S
H+ =0
∂t ∗tf
3. Si on fixe tf et que l’état final reste libre de choix, la condition 4.33 s’écrit :
∂S
λ∗ (tf ) =
∂x ∗tf
Conditions suffisantes
La matrice :
" 2 2 #
δ H δ H
δx2 δxδu
δ2 H δ2 H
δxδu δu2 ∗
MDI224 / 2007-2008 / GB 33
doit être définie positive ou négative selon que l’on a un minimum ou un maximum respectivement. En
fait la condition porte simplement sur le signe de :
2
δ H
δu2 ∗
Exercices
Exercice 4.1 (Intégrateur double, utilisation de l’hamiltonien)
On considère un système (intégrateur double) et un critère J définis par :
Z
ẋ1 (t) = x2 (t) 1 tf 2
et J = u (t)dt
ẋ2 (t) = u(t) 2 t0
2. Intégrateur double avec tf fixé et x(tf ) libre (cas 3) : on suppose que x(0) = [1 2]T , x1 (2) = 0 et
xtf =2 (2) libre.
3. Intégrateur double avec tf et x(tf ) libres (cas 4) : on suppose que x(0) = [1 2]T , x1 (tf ) = 3 et
x2 (tf ) libre.
34 Chapitre 4 - Calcul variationnel et C. Opt.
Chapitre 5
Commande LQR
Nous allons appliquer aux systèmes linéaires invariants ce que nous avons vu chapitre 4. Par rapport au
chapitre 2, on introduit une “condition limite” sur le temps.
5.1 Introduction
On considère les systèmes linéaires décrits par 5.1 :
ẋ(t) = A(t)x(t) + B(t)u(t)
(5.1)
y(t) = C(t)x(t)
1
J(u(t)) = [z(tf ) − y(tf )]T F(tf )[z(tf ) − y(tf )]
2
Z
1 tf
+ (z(t) − y(t))T Q(t)(z(t) − y(t)) + uT (t)R(t)u(t) dt (5.2)
2 t0
z(t) est la “trajectoirede sortie” désirée. F est désignée par matrice de pénalisation. On aurait pu
aussi utiliser un critère basé sur une “trajectoire d’état” désirée avec un terme de la forme [z(t) − x(t)]
si l’état est directement accessible (système complètement observable).
On peut distinguer trois types de problèmes :
2. Régulation de la sortie si on cherche à maintenir la sortie en 0 (comme le système est linéaire c’est
équivalent à dire que l’on veut maintenir la sortie à un valeur constante).
Cette approche basée sur un critère quadratique conduit naturellement à une commande type “retour
d’état”.
35
36 Chapitre 5 - Commande LQR
Les relations 5.6 et 5.7 peuvent aussi s’écrire sous la forme suivante 5.8 dite de système hamiltonien
faisant intervenir l’état x(t) et l’état adjoint λ(t) :
∗
ẋ (t) A(t) −B(t)R−1 (t)BT (t) x∗ (t)
∗ = (5.8)
λ̇ (t) −Q(t) −AT (t) λ∗ (t)
Dans notre cas, tf est fixé. La condition aux bornes (relation 4.33) est réduite à :
∂S
λ∗ (tf ) = ⇒ λ∗ (tf ) = F(tf )x∗ (tf ) (5.9)
∂x ∗tf
4. Admettons qu’il existe P(t) telle que l’on puisse écrire λ∗ (t) = P(t)x∗ (t). Les relations 5.6 et 5.7
deviennent :
ẋ∗ (t) = A(t)x∗ (t) − B(t)R−1 (t)BT (t)P(t)x∗ (t)
∗
λ̇ (t) = −Q(t)x∗ (t) − AT (t)P(t)x∗ (t)
∗
Comme λ∗ (t) = P(t)x∗ (t), on a aussi λ̇ (t) = Ṗ(t)x∗ (t) + P(t)ẋ∗ (t). En reportant dans cette
expression les deux relations précedentes, on obtient :
h i
Ṗ(t) + P(t)A(t) + AT (t)P(t) + Q(t) − P(t)B(t)R−1 (t)BT (t)P(t) x∗ (t) = 0 (5.10)
5. L’équation 5.10 doit être satisfaite ∀t indépendamment de x∗ (t0 ). De plus P(t) ne dépend pas de
l’état initial et 5.10 doit être satisfaite pour tout x∗ (t). On obtient ainsi une équation différentielle
matricielle dite de Riccati (DRE, Differential Riccati Equation).
dP(t)
+ P(t)A(t) + AT (t)P(t) + Q(t) − P(t)B(t)R−1 (t)BT (t)P(t) = 0 (5.11)
dt
MDI224 / 2007-2008 / GB 37
Jésuite italien, Vincenzo Riccati vécut de 1707 à 1775. Après ses études
théologiques, il va à Bologne enseigner les mathématiques au collège
San Francesco Saverio de 1739 à 1769. Il y continue les études qu’avait
commencé son père sur l’intégration et les équations différentielles. Ses
études sur les fonctions hyperboliques le conduisirent à la résolution des
équations du troisième degré bien avant Lambert.
Son expertise dans le domaine de l’hydraulique le fit participer à des
projets de contrôle des flots qui participèrent sauvetage de la région de
Venise et de Bologne.
L’équation de Riccati doit donc être résolue en partant de cette condition finale (Backward solution).
On peut remarquer que la matrice associée aux variations du deuxième ordre s’écrit :
" 2 #
δ H δ2 H
δx 2 δxδu Q(t) 0
δ2 H δ2 H
=
2
0 R(t)
δxδu δu ∗
Cette matrice est seulement semi-définie positive. Cependant la condition “R(t) définie positive”
suffit à garantir que l’on a un minimum.
Théorème 5.1
La valeur optimale du critère est donnée par :
1 ∗T
J∗ = x (t)P(t)x∗ (t) (5.13)
2
où P(t) est solution de
dP(t)
+ P(t)A(t) + AT (t)P(t) + Q(t) − P(t)B(t)R−1 (t)BT (t)P(t) = 0
dt
D’après 5.5, la commande est donnée par :
− en résolvant l’équation sur de petits intervalles de temps en approchant la dérivée par dP/dt ≈
(P (t + δ) − P (t))/δ. On parle de méthode de Sage-Eisenberg.
On suppose que la paire (A, B) est commandable et que la matrice symétrique P est solution de
l’ARE (Algebraic Riccati Equation) 5.15 :
PA + AT P + GT G − PBBT P = 0 (5.15)
Z +∞ T
⇒ J(x0 , u(t)) = B Px(t) + u(t) dt − xT (t)Px(t) +∞ (5.17)
0
0
5.2.3 Exercice
Exercice 5.1 (Intégrateur double, régulation LQR)
On considère un double intégrateur :
0 1 0 1
ẋ(t) = x(t) + u(t) avec x(0) =
0 0 1 1
1 0
On se donne t0 = 0, tf = 8, R = 1, Q = et F = 2I.
0 0
1. Calculer le retour d’état K(t). Pour ce faire utiliser directement le système hamiltonien.
2. Effectuer une simulation et visualiser la trajectoire de phase et le lieu des pôles correspondant à la
fonction de transfert Gt (s).
3. Dans le cas d’un horizon infini, on est amené à résoudre l’équation 5.15. Comparer la trajectoire
de phase obtenue avec celle de la question précédente.
2. Calcul de ∂H/∂u :
∂H
= 0 ⇒ u∗ (t) = R−1 (t)BT (t)λ∗ (t) (5.21)
∂u
3.
∂H
ẋ(t) = = A(t)x(t) + B(t)u(t)
∂λ
∗ ∂H
λ̇ (t) = − = −CT (t)Q(t)C(t)x∗ (t) − AT (t)λ∗ (t) + CT (t)Q(t)z(t)
∂x
1 ∂ T
λ(tf ) = e (tf )F(tf )e(tf )
2 ∂x(tf )
= CT (tf )F(tf )C(tf ) − CT (tf )F(tf )z(tf )
4. On introduit P(t) et g(t) tels que λ∗ (t) = P(t)x∗ (t) − g(t). En reportant ce changement de variable
dans le système hamiltonien, on arrive à :
∗
λ̇ (t) = Ṗ(t)x∗ (t) + P(t)ẋ∗ (t) − ġ(t)
1 1
ḣ(t) = − g T (t)B(t)R−1 (t)BT (t)g(t) − z T (t)Q(t)z(t) (5.31)
2 2
et h(tf ) = −z T (tf )Q(tf )z(tf ) (5.32)
−PA − AT P + PBR−1 BT P − CT QC = 0
1. Hamiltonien :
1 T
H= x (t)Q(t)x(t) + uT (t)R(t)u(t) + λT (t) [A(t)x(t) + B(t)u(t)]
2
4. Obtention d’une commande en boucle fermée : on va supposer qu’il existe M(t) telle que x∗ (t) =
M(t)λ∗ (t). En reportant cette relation dans les équations précédentes, on obtient :
dM(t)
= A(t)M(t) + M(t)AT (t) + M(t)Q(t)M(t) − B(t)R−1 (t)BT (t) (5.34)
dt
et M(t0 ) = 0 et M(tf ) = 0
Une fois résolues les équations différentielles précédentes avec ces conditions initiales, la
commande optimale est donnée par :
u∗ (t) = −R−1 (t)BT (t)M−1 (t)[x∗ (t) − v(t)] (5.37)
On suppose que M(t) est inversible.
où P satisfait :
dont les valeurs propres ont une partie réelle inférieure à −α. On dit que le degré de stabilité est au moins
α. Le contrôle optimal est fourni par :
PΦ(s) + ΦT (−s)P + KT RK = Q
On multiplie à gauche et à droite par BT Φ−T (−s) (on note Φ−T (−s) l’inverse de ΦT (−s)) respecti-
vement et Φ−1 (s)B :
BT Φ−T (−s)PB + BT PΦ−1 (s)B + BT Φ−T (−s)KT RKΦ−1 (s)B
= BT Φ−T (−s)QΦ−1 (s)B
Ceci peut s’interpréter par le fait que le lieu de Nyquist reste hors du disque centré au point critique
et de rayon 1 (figure 5.1) ; la marge de gain est infinie et la marge de phase est au moins de 60˚.
Im
Re
60°
3.
4.
44 Chapitre 5 - Commande LQR
Chapitre 6
Principe de Pontryagin
Jusqu’ici on a considéré que les signaux n’étaient jamais bornés. Cela a permis de construire une
commande optimale. Dans les cas réels, les variables qui interviennent dans le système sont souvent
soumises à des saturations. Pour simplifier l’exposé on va se limiter ici au cas de la saturation des
variables de commande u(t).
La résolution du problème s’appuie sur le principe du maximum dû à Pontryagin (image du haut),
ou sur la programmation dynamique dûe à Bellman.
Richard Ernest Bellman (26 août 1920 - 19 mars 1984) est né à Brooklyn,
New York . Son goût pour les mathématiques a été remarqué dès ses
onze ans. Il fit de brillantes études secondaires au cours desquelles il
participa régulièrement à des concours de mathématiques. Il passa par
l’université John Hopkins avant de rejoindre Princeton puis participa au
projet Manhattan à Los Alamos. De retour à Princeton il fit une thèse
sous la direction de Lefschetz (stabilité des équations différentielles). En
1948 il prend un poste de professeur associé à Stanford. Sa première
publication sur la programmation dynamique date de 1952. Il est difficile
de présenter tous les travaux de R. Bellman. Auteur de 621 articles et
41 livres il s’intéressa aux problèmes de théorie des nombres, au contrôle
optimal, à la théorie des graphes. . .
u(t) ≤ U (6.1)
45
46 Chapitre 6 - Principe de Pontryagin
La condition nécessaire pour que u∗ (t) assure la minimalité de J est que, pour un ||δu(t)|| assez petit :
Si les conditions 4.31, 4.32 et 4.33 sont satisfaites, la relation précédente devient :
Z tf T
∂H
δJ(u∗ (t), δu(t) = δu(t)dt (6.4)
t0 ∂u
avec :
T
∂H
δu(t) = H(x∗ (t), u∗ (t) + δu(t), λ∗ (t), t) − H(x∗ (t), u∗ (t), λ∗ (t), t) (6.5)
∂u
min {H(x∗ (t), u(t), λ∗ (t), t)} = H(x∗ (t), u∗ (t), λ∗ (t), t) (6.6)
||u(t)||≤U
La procédure de recherche consiste donc à trouver u(t) qui satisfait 6.6, puis à résoudre 4.31, 4.32 et
4.33.
On démontre les propriétés suivantes :
1. Si tf est fixé et que H ne dépend pas de t, alors H reste constant le long de la trajectoire optimale.
2. Si tf n’est pas fixé et que H ne dépend pas de t, alors H est identiquement nul le long de la
trajectoire optimale.
Si on considère une trajectoire optimale de A vers B, toute trajectoire de C ∈AB vers B est
optimale, quel que soit C.
Supposons que l’on ait résolu le problème d’optimalité entre les instants k + 1 et kf . D’après le
principe d’optimalité, on peut écrire :
3. A l’instant kf − 2, on a :
1 T 1
Jkf −2 = x (kf − 2)Qx(kf − 2) + uT (kf − 2)Ru(kf − 2) + Jkf −1
2 2
1 T 1 T
= x (kf − 2)Qx(kf − 2) + u (kf − 2)Ru(kf − 2)
2 2
1 T
+ x (kf − 1)P(kf − 1)x(kf − 1) (6.16)
2
u∗ (k) = −[R + BT P(k + 1)B]−1 BT P(k + 1)Ax∗ (k) = −L(k)x∗ (k) (6.19)
avec P(kf ) = F.
La valeur du critère à l’instant k est :
1 ∗T
Jk∗ = x (k)P(k)x∗ (k) (6.21)
2
Soit J ∗ (x∗ (t), t) la valeur optimale du critère lorsqu’on part de l’état x(t) :
Z tf
∗ ∗
J (x (t), t) = V (x∗ (v), u∗ (v), v)dv (6.24)
t
T
dJ ∗ (x∗ (t), t) ∂J ∗ (x∗ (t), t) ∂J ∗ (x∗ (t), t)
= ẋ∗ (t) +
dt ∂x∗ ∂t
T
∂J ∗ (x∗ (t), t) ∗ ∗ ∂J ∗ (x∗ (t), t)
= f (x (t), u (t), t) +
∂x∗ ∂t
∗ ∗
= −V (x (t), u (t), t) (6.25)
MDI224 / 2007-2008 / GB 49
On introduit l’hamiltonien :
∗ ∗ T
∂J (x (t), t)
H = V (x(t), u(t), t) + f (x(t), u(t), t) (6.26)
∂x∗
dans lequel l’état adjoint est donné par :
∂J ∗ (x∗ (t), t)
λ∗ (t) = (6.27)
∂x∗
A partir de 6.25 et 6.26 on déduit (équation de Hamilton-Jacobi-Bellman) :
∂J ∗ (x∗ (t), t) ∂J ∗ (x∗ (t), t) ∗
+ H x∗ (t), , u (t), t = 0, ∀t ∈ [t0 , tf ) (6.28)
∂t ∂x∗
avec :
J ∗ (x∗ (tf ), tf ) = 0 ou J ∗ (x∗ (tf ), tf ) = S(x∗ (tf ), tf ) (6.29)
Ayant u∗ à partir de 4.30, la relation 4.31 donne :
∗ ∗ ∂H x∗
(t), ∂J ∗ (x∗ (t),t)
, u ∗
(t), t
∗ ∂H d ∂J (x (t), t) ∂x ∗
λ̇ (t) = − = =− (6.30)
∂x ∗ dt ∂x∗ ∂x∗
Avec les notations :
∂J ∗ (x∗ (t), t) ∂J ∗ (x∗ (t), t)
: labelnotatpontryagJt∗ = et Jx∗ = (6.31)
∂t ∂x∗
3. Hamiltonien optimal :
1 2 1 1 1
H= x (t) + Jx2 + Jx (−2x(t) − Jx ) = x2 (t) − Jx2 − 2x(t)Jx
2 2 2 2
1 1
Jt + x2 (t) − Jx2 − 2x(t)Jx = 0 (6.35)
2 2
avec pour condition à la limite :
1 2
J(x(tf ), tf ) = S(x∗ (tf ), tf ) = x (tf )
2
50 Chapitre 6 - Principe de Pontryagin
5. Pour résoudre l’équation HJB 6.35, posons J(x(t)) = 21 p(t)x2 (t). On vérifie que p(tf ) = 1, Jx =
p(t)x(t) et Jt = 12 ṗ(t)x2 (t). La commande optimale est alors u∗ (t) = −p(t)x∗ (t). L’équation HJB
devient alors :
1 1 2 1
ṗ(t) − p (t) − 2p(t) + x∗2 (t) = 0
2 2 2
√ √ √ √
( 5 − 2) + ( 5 + 2)αe2 5(t−tf ) 3− 5
⇒ p(t) = √ avec α = √
1 − αe2 5(t−tf ) 3+ 5
√
6. Si on fait tendre tf vers +∞, p(t) → p = 5 − 2 et la commande devient :
√
u∗ (t) = (2 − 5)x(t)
Commande LQG
7.1 Introduction
L’article de référence dû à R. E. Kalman [7] date de 1960. On y trouve une solution récursive au problème
de filtrage linéaire “en temps discret”. Le filtre de Kalman offre une estimation de l’état passé, présent
ou futur même si le modèle du procédé étudié est mal connu [2].
Rudolf Emil Kalman est né à Budapest en 1930. Il suit les cours du
Massachusetts Institute of Technology en 1953 et 1954 puis passe son
doctorat en 1957 au sein de l’université de Columbia. Il est successivement
chercheur en mathématiques au RIAS (Research Institute for Advanced
Study) de Baltimore puis professeur à l’université de Stanford. Depuis
1973 il détient la chaire de Théorie Mathématiques des Systèmes à Zurich
(Swiss Federal Institute of Technology). Ses travaux l’ont fait honorer par
de nombreuses distinctions.
Les développements du filtre de Kalman-Bucy en 1960-61 ont révolutionné le
domaine de l’estimation. Les contributions de R. E. Kalman à la théorie des
sytèmes ne se limitent cependant pas à cela. Les principaux résultats connus
sur les représentations d’état lui doivent en effet beaucoup (commandabilité,
observabilité. . . ).
51
52 Chapitre 7 - Commande LQG
Chapitre 8
− Equation de Sylvester :
AX − XB = C (8.1)
PA + AT P + Q = 0 (8.2)
PA + AT P + PLP + Q = 0 (8.3)
u⋆ = −BT Px (8.6)
53
54 Chapitre 8 - Remarques sur les équations de Riccati
Propriété 8.1
λ valeur propre de H ⇒ −λ , λ∗ et −λ∗ sont valeurs propres de H.
(H est réelle ⇒ λ∗ est valeur propre. On a Hv = λv ⇒ JHv = λJv ⇒ HT w = −λw avec w = Jv.)
Propriété 8.2
Condition nécessaire : l’équation 8.9 admet une solution stabilisante si H n’a aucune valeur propre sur
l’axe imaginaire.
On a :
I I
HW = H n = n (A + LP)
P P
Le SEV engendré par les vecteurs colonnes de W est invariant par H. La restriction de H à ce
sous-espace admet A + LP comme matrice sur cette base.
On peut en effet écrire :
L’obtention d’une solution P passe par la recherche d’un sous-espace invariant par H tel que la
restriction de H à ce sous-espace soit stable.
MDI224 / 2007-2008 / GB 55
(A ⊗ B)(v ⊗ w) = λµ(v ⊗ w)
⇒ Spectre{A} × Spectre{B} ⊂ Spectre{A ⊗ B}
On admettra l’égalité des deux ensembles (c’est immédiat si A et B sont diagonalisables; cas non
diagonalisable par continuité ou par Jordan). De la même façon, le spectre de (A ⊗ Im + In ⊗ B) est égal
à la somme des spectres de A et de B.
Exemple :
λ 1 0
α 0
A = 0 λ 1 et B =
0 β
0 0 λ
λIm Im 0
αIn 0
A ⊗ Im + In ⊗ B = 0 λIm Im +
0 βIn
0 0 λIm
λ 0 1 0 0 0 α 0 0 0 0 0
0 λ 0 1 0 0 0 α 0 0 0 0
0 0 λ 0 1 0 0 0 α 0 0 0
=
0 0 0 λ 0 1 + 0 0 0
β 0 0
0 0 0 0 λ 0 0 0 0 0 β 0
0 0 0 0 0 λ 0 0 0 0 0 β
Propriété 8.4
On a les propriétés suivantes :
d
AX = (In ⊗ A) × X̂
d
XB = (BT ⊗ Im ) × X̂
\
AXB = (BT ⊗ A) × X̂
On a les équivalences :
AX − XB = C ⇔ d − XB
AX d = Ĉ ⇔ (In ⊗ A − BT ⊗ Im ) × X̂ = Ĉ (8.11)
Conséquence de l’équivalence 8.11 : étant donné que les valeurs propres de (In ⊗ A − BT ⊗ Im )
sont données de la formes λA − λB , l’équation de Sylvester 8.1 aura des solutions si et seulement si les
spectres de A et B n’ont aucune valeur commune, d’où la propriété 8.3.
Application : on veut trouver un changement de base qui permette d’effectuer le passage (mise sous
forme “bloc-diagonale”) :
A C A 0 I X Im −X
T= → = S−1 TS avec S = m et S−1 =
0 B 0 B 0 In 0 In
Théorème 8.1
On considère l’équation 8.3 où A, Q et L sont réelles, avec Q et L symétriques et L semi-définie de signe
donné. On considère la matrice hamiltonienne
A L
H=
−Q −AT
Construction de la solution
Définition 8.1 (Décomposition de Schur)
Soit A ∈ Cn×n . Il existe une matrice unitaire Q ∈ Cn×n (QH Q = QQH = I) telle que :
QH AQ = T = D + N
où D = diag{λ1 . . . λn } et N une matrice strictement triangulaire supérieure (les éléments sur sa diagonale
sont nuls).
où les valeurs propres de T11 sont stables. On admettra que S11 est symétrique et inversible (on peut
montrer que cette hypothèse est liée à la stabilisabilité du système, propriété que l’on suppose remplie).
On peut alors écrire :
S11 −1 I S11 −1 I −1 I
H S =H = T11 S11 = S T S = K
S21 11 V S21 V 11 11 11 V
On retrouve bien l’ARE de départ dont la solution est donnée par S21 S−1
11 .
MDI224 / 2007-2008 / GB 57
PA + AT P − PLP + Q = 0 (8.12)
1. On construit H ;
4. On prend les n vecteurs propres associés à des valeurs propres stables pour en faire une
matrice S ;
5. On extrait les blocs S11 et S21 (partition de la matrice W) et P = S21 S−1
11 .
function [Us,Ts]=reod(Ue,Te)
%!=============================================================!
%! Rearrangement pour avoir les valeurs propes stables en tete !
%!=============================================================!
vd=diag(Te);
idxn=find(real(vd)<0); idxp=find(real(vd)>0);
Lidx=length(idxp);
Ts=Te; Us=Ue;
for k=1:Lidx
ix=idxn(k);
if ix>Lidx
for n=1:Lidx
iy=idxp(n);
if iy<=Lidx,
% permutation entre ix et iy
for m=ix:-1:iy+1
id1=m-1; id2=m; % de proche en proche
g=givens(Ts(id1,id1)-Ts(id2,id2),Ts(id1,id2));
g=flipud(g);
Ts(:,[id1,id2])=Ts(:,[id1,id2])*g;
Ts([id1,id2],:)=g’*Ts([id1,id2],:);
Us(:,[id1,id2])=Us(:,[id1,id2])*g;
idxn(k)=id1; idxp(n)=id2;
58 Chapitre 8 - Remarques sur les équations de Riccati
end
n=Lidx+1; % (exit for)
end
end
end
end
Indications et corrigés
1 + λk 2 (1 + λk 2 )(1 + k) 1 + λk 2
p12 = p21 = , p22 = , p11 = 1 + (9.1)
2k 2k 2 2k
(4k + 1)(1 + λk 2 )
J =1+ (9.2)
2k 2
2. Allure de J(λ, k) (figure 9.1) :
%===== DINTCRITCD.M
figure(1)
debl=.2; pasl=.2; debk=.125; pask=.1;
[lambda,k] = meshgrid(debl:pasl:3,debk:pask:5);
J=1+(1+lambda.*k.*k).*(4*k+1)./k./k/2;
mesh(lambda,k,J)
xlabel(’lambda’); ylabel(’k’); grid
view(-65,20)
%===== Cas de lambda=1
k=[debk:pask:5];
figure(2); plot(k,J(:,5)); grid
Le tracer du lieu des pôles calculé directement est donné figure 9.2.
59
60 Chapitre 9 - Indications et corrigés
60
50
40
30
20
10 3
0 2
5 4 1 lambda
3 2
k 1 0 0
0,75
0,5
0,25
−0,25
−0,5
−0,75
−1
−4 −3,5 −3 −2,5 −2 −1,5 −1 −0,5 0
%===== trajphasecd.m
k=1.19148788395312;
MDI224 / 2007-2008 / GB 61
0,8
0,6 1,2
1
0,4 0,8
0,6
0,2 0,4
0,2
0
0
−0,2 −0,2
0 1 2 3 4 5 6 7 8 9 10
−0,4
−0,6
−0,8
−0,2 0 0,2 0,4 0,6 0,8 1 1,2 1,4
Relations 4.32 :
∂H ∂H
= ẋ∗2 (t) = −λ∗2 (t) et = ẋ∗1 (t) = x∗2 (t)
∂λ2 ∗ ∂λ1 ∗
x2(t)
1,5 1,5
1,4
1,3 1
1,2
1,1 0,5
1
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2
0
−0,5
−1
1 1,1 1,2 1,3 1,4 1,5 x1(t)
c1 = 1, c2 = 2, c3 = 4/9, c4 = 4/3 et tf = 3
x∗ (t) = (H̃11 + H̃12 F(tf ))x∗ (tf ) et λ∗ (t) = (H̃21 + H̃22 F(tf ))x∗ (tf )
⇒ P(t) = (H̃21 + H̃22 F(tf ))(H̃11 + H̃12 F(tf ))−1
⇒ K(t) = R−1 (t)BT P(t)
3. Taper :
1
x2(t)
1,4
0,8 x1(t)
1,2
1
0,03
0,6 0,8
(1) 0,6
0,02
0,4
0,4
0,01 0,2
(2) 0
0 0,2 −0,2
0 1 2 3 4 5 6 7 8
−0,01
(3) x1(t)
−0,02 0
−0,03
−0,04
−0,2
−0,05 −0,04 −0,03 −0,02 −0,01 0 0,01
−0,4
−0,6
−0,2 0 0,2 0,4 0,6 0,8 1 1,2 1,4
Figure 9.5: Trajectoire de phase et retour à zéro de l’état x1 (t). (1) : résolution
de la DRE avec F = 2I, résolution de l’ARE avec F = 2I, résolution de la DRE
avec F = 6I.
1. Représentation d’état :
x1 −2,15 −0,305 −0,01 x1 1
d
dt
x 2 = 1 0 0 x2 + 0 u(t)
x3 0 1 0 x3 0
x1
y(t) = 1 0 0 x2
x3
0,8
0,6
0,4
0,2
−0,2
−0,4
−0,6
−0,8
−1
−2 −1,8 −1,6 −1,4 −1,2 −1 −0,8 −0,6 −0,4 −0,2 0
On a les quatre relations suivantes (la valeur de tf est fixée et donne la quatrième) :
∂H ∂H ∗ ∂H ∗ ∂S
= 0, = ẋ (t), = −λ̇ (t), λ(tf ) = (9.4)
∂u ∗ ∂λ ∂x ∗ ∂x ∗tf
On obtient :
On cherche une matrice P(t) telle que λ∗ (t) = P(t)x∗ (t) − g(t).
∗
λ̇ (t) = Ṗ(t)x∗ (t) + P(t)ẋ∗ (t) − ġ(t)
En reportant les résultats 9.5 dans l’expression précédente, on arrive au système différentiel suivant :
( dP(t) T
dt =−AT P(t) − P(t)A
+ P(t)bb P(t) (9.9)
ġ(t) = −AT + P(t)bbT g(t)
avec P(tf ) = ccT et g(tf ) = cyf (λ∗ (t) = P(t)x∗ (t) − g(t)).
La commande optimale est alors donnée par :
u∗ (t) = −k T x∗ (t) + bbT g(t) = −bT P(t)x∗ (t) + bbT g(t) (9.10)
66 Chapitre 9 - Indications et corrigés
+1
u(t) − x1(t) x2(t)
+ − a
−
k1
k2
En boucle ouverte on a :
1 d x1 d
x1 = − + u(t) et x2 = x1
a dt a dt
MDI224 / 2007-2008 / GB 67
x2 (T )(λ1 − λ2 ) = eλ1 T (x1 (0) − λ2 x2 (0)) − eλ2 T (x1 (0) − λ1 x2 (0))
(9.17)
x1 (T )(λ1 − λ2 ) = λ1 eλ1 T (x1 (0) − λ2 x2 (0)) − λ2 eλ2 T (x1 (0) − λ1 x2 (0))
En éliminant T entre les deux expressions 9.17 on obtient une relation liant λ1 et λ2 et, par suite,
k1 et k2 .
T T
Exemple 9.1 x(0) = x1 (0) x2 (0) et x(T ) = 0 M :
(x1 (0) − x2 (0)λ1 ) eλ2 T = −M λ1
(x1 (0) − x2 (0)λ2 ) eλ1 T = −M λ2
On vérifie qu’il n’y a qu’une seule solution λ1 = λ2 qui correspond à (1 + ak1 )2 − 4ak2 = 0.
68 Chapitre 9 - Indications et corrigés
Bibliographie
[1] Maı̈tine Bergounioux. Optimisation et contrôle des sytèmes linéaires. Dunod, Paris, France, 2001.
[2] G. Welsh & G. Bishop. An introduction to the kalman filter. UNC-Chapel Hill, TR95-041, May
2003.
[3] Gérard Blanchet. Commande et temps discret. Hermès, Paris, France, 2003.
[5] Maurice Charbit Gérard Blanchet. Signaux et images sous Matlab. Hermès, Paris, France, 2001.
[7] R. E. Kalman. A new approach to linear filtering and prediction problems. Transaction of the ASME
- Journal of Basic Engineering, pages 35–45, March 1960.
[8] Denis Matignon. Commande linéaire des systèmes dynamiques. Technical report, ENST, Paris,
France, 1998.
[9] Desineni Subbaram Naidu. Optimal Control Systems. CRC Press, 2003.
69
70 Chapitre 9 - Indications et corrigés
Index
71
72 Chapitre 9 - Indications et corrigés
Pontryagin, 45
prédiction, 15
problème de Bolza, 28
propagation, 15
régulation, 7
recalage, 15
Riccati, 36, 37
Sage-Eisenberg, 37
Signal anticausal, 5
Signal causal, 5
Single Input Single Output, 17
SISO, 17
stabilisable, 12
suivi de consignes, 7
système
gouvernable, 9
invariant, 9
observable, 9
Système hamiltonien, 36
système hamiltonien, 39
TFTD, 5
Time Update, 15
TL, 5
Transformée de Laplace, 5
Transformée de Fourier
à temps discret, 5
Transformée en z, 5
modifiée, 6
monolatérale, 6
TZ, 5
TZM, 6
variables
d’état, 9
vecteur
d’état, 9
des entrées, 9
des sorties, 9
vecteur d’état adjoint, 29