MAP434
Contrôle de modèles dynamiques
Alexandre Ern
ENPC - INRIA - X
amphi du mardi 05 mars 2019
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 1 / 19
Contrôlabilité des systèmes linéaires
Introduction au cours
Formule de Duhamel
Matrice de Kalman
Poly, sections 1.1 et 1.3
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 2 / 19
Commentaires généraux
La page web du cours est
http://cermics.enpc.fr/eern/MAP434
S’y référer pour le déroulement des séances, le contenu des amphis, les
planches d’exercices en PC et les annales d’examens
La notation est basée sur l’examen final plus un bonus (entre 0 et 1 point)
attribué par les enseignants de PC
Lectures complémentaires
E. Trélat, Contrôle optimal (Vuibert, Paris, 2008)
P.-L. Lions, Contrôle de modèles dynamiques (Ecole Polytechnique, 2015)
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 3 / 19
Deux exemples
Contrôle d’un aspirateur-robot
l’état du système est décrit par la position (x(t), y (t)) de l’aspirateur dans le
plan et l’angle θ(t) de ses roues p.r. à une orientation de référence
on contrôle la vitesse de changement de l’angle des roues
la dynamique est régie par (système de Dubbins)
ẋ(t) = cos(θ(t))
ẏ (t) = sin(θ(t))
← action sur le système
θ̇(t) = u(t)
Contrôle d’insectes nuisibles par des prédateurs
état du système décrit par la population de proies x(t) et de prédateurs y (t)
le contrôle s’exerce en rajoutant des prédateurs en quantité u(t)
la dynamique est régie par l’équation de Lotke–Volterra plus le contrôle
(
ẋ(t) = x(t)(a − by (t))
ẏ (t) = y (t)(cx(t) − d) + u(t) ← action sur le système
(séparément, la population de proies croit à taux a, celle des prédateurs à jeun dépérit
à taux d; au contact l’une de l’autre, la population de proies subit des pertes et celle
des prédateurs se requinque (fréquence des rencontres ∼ x(t)y (t)))
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 4 / 19
Cadre général
Un système de contrôle est de la forme
ẋ(t) = f (t, x(t), u(t)), ∀t ∈ [0,T ]
l’état est décrit par le vecteur x(t) ∈ Rd (d ≥ 1)
on agit sur le système par le biais d’un contrôle u(t) ∈ Rk (k ≥ 1)
on pourra imposer des contraintes sur le contrôle : u(t) ∈ U compact de Rk
on prescrit en général la condition initiale x(0) = x0 ∈ Rd
Deux questions naturelles
Contrôlabilité. Étant donné un état cible x1 ∈ Rd , existe-t-il un contrôle u
amenant le système en x1 en temps T à partir de x0 ?
Contrôle optimal. Si la réponse est positive, existe-t-il un tel contrôle qui de
plus minimise un certain critère J(u)?
x0 x1 = x (T )
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 5 / 19
Systèmes de contrôle linéaires
On considère un contrôle u ∈ L1 ([0,T ]; Rk )
On considère le système de contrôle linéaire dans Rd
ẋ(t) = Ax(t) + Bu(t), ∀t ∈ [0,T ], x(0) = x0 ∈ Rd
avec des matrices A ∈ Rd×d , B ∈ Rd×k
on dit que le système est autonome car les matrices A et B ne dépendent pas
du temps
Par la suite, on explicitera le fait que la trajectoire x dépend du contrôle u en
la notant xu
ẋu (t) = Axu (t) + Bu(t), ∀t ∈ [0,T ], xu (0) = x0 ∈ Rd
Attention, le contrôle u n’est pas forcément continu (penser aux
commutations), donc la trajectoire xu n’est pas forcément de classe C 1
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 6 / 19
Fonctions absolument continues
On dit qu’une fonction F : [0,T ] → Rd est absolument continue et on écrit
F ∈ AC ([0,T ]; Rd ) s’il existe f ∈ L1 ([0,T ]; Rd ) telle que
Z t
F (t) − F (0) = f (s) ds, ∀t ∈ [0,T ]
0
Si F est absolument continue sur [0,T ], alors
F est continue sur [0,T ]
F est dérivable presque partout sur [0,T ], de dérivée égale à f
Attention, si F est continue et presque partout dérivable, elle peut ne pas
être égale à l’intégrale de sa dérivée (même si celle-ci est L1 )
l’escalier de Cantor
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 7 / 19
Formule de Duhamel
Rappel du système de contrôle linéaire
ẋu (t) = Axu (t) + Bu(t), ∀t ∈ [0,T ], xu (0) = x0 ∈ Rd
Formule de Duhamel (ou de variation de la constante)
Z t
xu (t) = e tA x0 + e (t−s)A Bu(s) ds, ∀t ∈ [0,T ]
0
1 n d tA
(Rappels : e A = n≥0 n! A , dt e = Ae tA = e tA A, et si A1 , A2 commutent
P
(A1 A2 − A2 A1 = 0), alors e A1 e A2 = e A2 e A1 = e A1 +A2 )
La trajectoire xu est dans AC ([0,T ]; Rd ); on a donc
ẋu (t) = Axu (t) + Bu(t) p.p. dans [0,T ]
Z t
xu (t) = x0 + Axu (s) + Bu(s) ds ∀t ∈ [0,T ]
0
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 8 / 19
Contrôlabilité des systèmes linéaires autonomes
On considère le système de contrôle linéaire autonome
ẋu (t) = Axu (t) + Bu(t), ∀t ∈ [0,T ], xu (0) = x0 ∈ Rd
On s’intéresse à la propriété suivante, dite de contrôlabilité en temps T à
partir de x0 :
∀x1 ∈ Rd , ∃u ∈ L∞ ([0,T ]; Rk ), xu (T ) = x1
(on pourrait aussi chercher u ∈ Lr ([0,T ]; Rk ), r ∈ {1, 2})
On cherche donc à atteindre la cible x1 au temps T à partir de x0
En posant x2 = x1 − e TA x0 , la contrôlabilité en T à partir de x0 équivaut à
Z T
∀x2 ∈ Rd , ∃u ∈ L∞ ([0,T ]; Rk ), x2 = e (T −s)A Bu(s) ds
0
i.e., à la surjectivité de l’application
Z T
∞ k
Φ : L ([0,T ]; R ) → R , d
Φ(u) = e (T −s)A Bu(s) ds
0
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 9 / 19
Condition de Kalman
On introduit la matrice de Kalman C ∈ Rd×dk telle que
C = B, AB, · · · , Ad−1 B
(Kalman) Le système linéaire autonome ẋu (t) = Axu (t) + Bu(t) est
contrôlable pour tout T > 0 et pour tout x0 ∈ Rd ssi
rang(C ) = d
(ce qui signifie que la matrice C est de rang maximal)
Il s’agit d’une condition purement algébrique sur les matrices A et B,
indépendante de T et de x0
noter qu’on n’impose pas de contrainte sur le contrôle
On vérifie facilement que la condition de Kalman est invariante par
changement de base
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 10 / 19
Preuve (1)
Supposons que rang(C ) < d
Il existe donc Ψ ∈ Rd , Ψ 6= 0, t.q.
Ψ† B = Ψ† AB = · · · = Ψ† Ad−1 B = 0 (∈ Rk )
où Ψ† désigne le transposé de Ψ (Ψ† est un vecteur ligne)
D’après le théorème d’Hamilton–Cayley, il existe des réels s0 , · · · , sd−1 t.q.
Ad = s0 I + · · · + sd−1 Ad−1
On en déduit par récurrence que Ψ† Ak B = 0, pour tout k ∈ N, puis que
Ψ† e tA B = 0 pour tout t ∈ [0,T ]
Par conséquent, Ψ† Φ(u) = 0 pour tout contrôle u, i.e., l’application Φ ne
peut être surjective
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 11 / 19
Preuve (2)
Réciproquement, si l’application Φ n’est pas surjective, il existe Ψ ∈ Rd ,
Ψ 6= 0, t.q.
Z T
†
Ψ e (T −s)A Bu(s) ds = 0, ∀u ∈ L∞ ([0,T ]; Rk )
0
†
Ceci implique que (choisir le contrôle u(s) = B † e (T −s)A Ψ ∈ L∞ ([0,T ]; Rk ))
Ψ† e tA B = 0 (∈ Rk ) ∀t ∈ [0,T ]
En t = 0, il vient Ψ† B = 0, puis en dérivant par rapport à t, il vient
Ψ† AB = 0 et ainsi de suite; d’où
Ψ† B = Ψ† AB = · · · = Ψ† Ad−1 B = 0 (∈ Rk )
La matrice C ne peut donc être de rang maximal
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 12 / 19
Exemple 1 : contrôle d’un tram
L’état est la position x(t) du tram le long d’un axe unidirectionnel et on
contrôle l’accélération u(t) (masse unité)
ẍ(t) = u(t), ∀t ∈ [0,T ]
Cela se récrit comme un système d’ordre un en temps (d = 2, k = 1)
0 1 0 x(t)
Ẋ (t) = X (t) + u(t), X (t) =
0 0 1 ẋ(t)
La matrice de Kalman C ∈ R2×2 est
0 1
C= , rang(C ) = 2
1 0
Le tram est contrôlable en tout temps T à partir de tout X0 = (x0 , v0 )
(position et vitesse initiales) : quel que soit X1 = (x1 , v1 ) (position et vitesse
cibles en T ), il existe u ∈ L∞ ([0,T ]; R) amenant le tram de X0 en X1 au
temps T
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 13 / 19
Exemple 2 : circuit RLC
Application en électronique : x (l’état) représente la charge du circuit et u (le
contrôle) la tension appliquée
u(t) = Lẍ(t) + R ẋ(t) + C −1 x(t)
ou encore ẍ(t) = − RL ẋ(t) − 1
LC x(t) + L1 u(t)
Système linéaire de contrôle (d = 2, k = 1)
0 1 0 x(t)
Ẋ (t) = −1 −R X (t) + 1 u(t), X (t) =
LC L L
ẋ(t)
La matrice de Kalman C ∈ R2×2 est
1
0 L
C = 1 −R , rang(C ) = 2
L L2
Le circuit électrique est contrôlable
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 14 / 19
Reformulation du critère de Kalman
On introduit la matrice GT ∈ Rd×d t.q.
Z T
†
GT = e (T −s)A BB † e (T −s)A ds
0
RT †
GT est symétrique positive (car y † GT y = 0 |B † e (T −s)A y |2Rk ds ≥ 0, ∀y ∈ Rd )
Lemme. Le système linéaire autonome est contrôlable (en temps T à partir
de x0 ) ssi GT est inversible
Trois remarques
d’après le critère de Kalman (rang(C ) = d), l’inversibilité de GT est donc
indépendante de T
le critère de Kalman est plus simple à vérifier que l’inversibilité de GT
si k < d, la matrice BB † n’est jamais inversible ...
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 15 / 19
Preuve
RT †
Rappel : GT = 0
e (T −s)A BB † e (T −s)A ds
Supposons GT inversible et posons
†
u(s) = B † e (T −s)A y , y = GT−1 (x1 − e TA x0 )
Par la formule de Duhamel, on voit que
Z T
TA
xu (T ) = e x0 + e (T −s)A Bu(s) ds = e TA x0 + GT y = x1
0
=⇒ le système est contrôlable
Supposons qu’il existe Ψ ∈ Rd , Ψ 6= 0, dans ker(GT ). Il vient
Z T
†
†
0 = Ψ GT Ψ = |B † e (T −s)A Ψ|2Rk ds
0
† (T −s)A
si bien que Ψ e B = 0 pour tout s ∈ [0,T ]; par la formule de Duhamel,
Ψ† (xu (T ) − e TA x0 ) = 0, ce qui montre que xu (T ) est dans un hyperplan
affine =⇒ le système n’est pas contrôlable
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 16 / 19
Systèmes linéaires instationnaires
Un système de contrôle linéaire instationnaire (ou non-autonome) est de la
forme
ẋu (t) = A(t)xu (t) + B(t)u(t), xu (0) = x0
Pour les systèmes différentiels instationnaires
ẋ(t) = A(t)x(t) + b(t), x(0) = x0
on utilise la notion de résolvante : R : [0,T ] → Rd×d t.q.
Ṙ(t) = A(t)R(t), R(0) = I
0 d×d 1 d×d
si A ∈ C ([0,T ]; R ), R ∈ C ([0,T ]; R )
si A ∈ L1 ([0,T ]; Rd×d ), R ∈ AC ([0,T ]; Rd×d )
d
comme dt det(R(t)) = tr(A(t)) det(R(t)), det(R(0)) = 1, R(t) est inversible à
tout temps (det(R(t)) s’appelle le Wronskien au temps t)
dans le cas autonome, A(t) = A, on a R(t) = e tA
La solution du système différentiel instationnaire s’écrit
Z t
xu (t) = R(t)x0 + R(t) R(s)−1 b(s) ds
0
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 17 / 19
Généralisation du critère de Kalman
La solution du système de contrôle instationnaire est donnée par
Z t
xu (t) = R(t)x0 + R(t) R(s)−1 B(s)u(s) ds
0
Lemme. Le système instationnaire est contrôlable en temps T à partir de x0
ssi la matrice de contrôlabilité
Z T
KT := R(s)−1 B(s)B(s)† (R(s)−1 )† ds ∈ Rd×d
0
est inversible
preuve identique au cas autonome
la condition dépend de T , mais pas de x0 (contrôlabilité en temps T à partir
de x0 =⇒ contrôlabilité en temps T à partir de tout point)
si k < d, la matrice B(s)B(s)† ∈ Rd×d n’est jamais inversible à s fixé
dans le cas autonome, on retrouve le critère précédent car R(s) = e sA et
B(s) = B, d’où
Z T
† †
KT = e −TA e (T −s)A BB † e (T −s)A ds e −TA
0
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 18 / 19
Contre-exemple
On considère le système de contrôle linéaire instationnaire
0 −1 cos(t)
Ẋu (t) = Xu (t) + u(t)
1 0 sin(t)
cos(s) − sin(s)
On vérifie facilement que R(s) = e sA = sin(s) cos(s)
, d’où
1 1 0
R(s)−1 B(s) = =⇒ KT = T
0 0 0
La matrice KT n’est pas inversible, donc le système n’est pas contrôlable
(le problème vient du fait que R(s)−1 B(s) est indépendant de s)
En revanche, si B est constant non-nul, le système est contrôlable
B et AB sont des vecteurs orthogonaux non-nuls
la matrice de Kalman C = (B, AB) est donc de rang plein
Alexandre Ern (ENPC - INRIA - X) MAP434 (A1) 05 mars 2019 19 / 19