Automatique Modélisation et commande de systèmes par représentation d’état Marc BACHELIER - PPS5
December 25, 2015 Abstract Ce cours a pour objectif de faire découvrir des méthodes de conception de commande de systèmes dans le domaine temporel au travers des représentations d’état des modèles de ces systèmes. Tout d’abord la mise sous forme de représentation d’état d’un système d’équations différentielles issues d’une étude physique (modélisation) et le passage entre les différentes représentations d’état possibles de ce modèle seront étudiés. Il faut ensuite vérifier la validité du modèle établi en résolvant l’équation différentielle décrite par cette représentation d’état. Puis, sous réserve de la commandabilité du système, la conception de commande est abordée: en boucle ouverte, puis en boucle fermée à l’aide d’une boucle de retour appelée retour d’état. Enfin, dans le cas où l’état n’est pas accessible et que le système est observable, la création d’un estimateur d’état peut se révéler nécessaire. Ce cours nécessite de solides connaissances en mathématiques (équations différentielles, développement limité, nombres complexes, inversion, diagonalisation et trigonalisation de matrice...) mais, pour une bonne compréhension, il ne faut pour autant jamais oublier les raisons techniques amenant à utiliser ces outils mathématiques.
Fiches bilan (obligatoire) A la fin de chacun des 5 chapitres, la rédaction d’une fiche bilan est demandée. Cette fiche bilan devra être rédigée en dehors des cours, sera ramassée lors de la séance suivante, notée selon un bonus ou malus qui affectera la note d’examen et pourra éventuellement être utilisée comme document autorisé lors de l’examen. Trois niveaux de qualité sont différenciés sur les fiches bilan selon le tableau suivant: Qualité Fiche parfaite Fiche correcte Fiche bâclée
Bonus/Malus +0,5 0 -0,5
Fiche autorisée à l’examen oui oui non
Une fiche bilan est une fiche cartonnée A5 (couleur au choix) répondant aux problématiques posées à la fin de chacun des chapitres. Une fiche bilan n’est pas une suite d’équations! Le nombre d’équations autorisées dans la fiche bilan est spécifié clairement dans les problématiques. Une fiche bilan contient par contre des explications en français et des schémas si cela est nécessaire. 1
Une fiche bilan n’est pas une compilation des définitions du chapitre mais doit retranscrire dans vos propres mots (en français) les principaux points vus dans le chapitre. Les problématiques sont là pour vous guider, vous aider à cerner les principaux enjeux du chapitre et éviter de passer à côté d’éléments importants. La réponse à ces problématiques ne tiennent pas forcément en une seule ligne! Il est même raisonnable de faire un petit paragraphe par problématique. Les fiches bilan sont obligatoires. Toute fiche non rendue, rendue avec une séance de retard ou ne respectant pas les consignes données sera considérée comme une fiche bâclée.
Exercices bonus (facultatif) Des exercices bonus sont proposés à la fin de chaque chapitre. Ils ne sont pas à faire en classe et sont proposés comme travail facultatif à faire en dehors des cours. Ils reprennent les points importants du chapitre et sont un bon entrainement pour l’examen. Aucune correction formelle de ces exercices ne sera faite en cours par manque de temps mais il est toujours possible de demander l’avis du professseur sur les méthodes utilisés ou les résultats trouvés dans ces exercices. Ne pas faire ces exercices vous donne une bonne raison de ne pas vous plaindre si vous n’obtenez pas une note satisfaisante à l’examen...
2
CONTENTS
Contents 1 Modélisation d’un système sous forme de représentation d’état 1.1 Rappel: Modélisation d’une MCC à aimants permanents . . . . . . 1.2 Représentation d’état mécanique . . . . . . . . . . . . . . . . . . . 1.3 Représentation d’état électrique . . . . . . . . . . . . . . . . . . . . 1.4 Changement de représentation d’état . . . . . . . . . . . . . . . . . 1.5 Généralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
5 5 7 9 10 14
2 Vérification de la qualité du modèle 17 2.1 Régime libre (ou autonome) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Régime libre - cas A non diagonalisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Commande en boucle ouverte 29 3.1 Commandabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Génération de commande en boucle ouverte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 Commande par retour d’état 37 4.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 Placement des pôles dans le plan complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 Principe du retour d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5 Estimation d’état 57 5.1 Observabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2 Estimateur d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3
CONTENTS
4
1
Modélisation d’un système sous forme de représentation d’état
La modélisation d’un système est une série d’équations mathématiques obtenue grâce à l’étude du comportement physique d’un système. Elle permet d’estimer le comportement de ce système en fonction d’une certaine commande ou de déterminer la commande permettant d’obtenir un comportement précis pour ce système. L’écart entre le comportement attendu du système et son comportement réel dépendra bien entendu de la fidélité au système du modèle choisi. Dans ce cours, les équations mathématiques des modèles seront toujours des équations différentielles linéaires à coefficients constants, mais il faut savoir que pour tout système non linéaire, il est possible de linéariser ce système autour d’un point de fonctionnement et donc se retrouver avec un problème linéaire.
1.1
Rappel: Modélisation d’une MCC à aimants permanents
Pour illustrer ce cours, on s’intéresse à une MCC à aimants permanents dont le document constructeur est fourni. Dans un premier temps, il faut rappeler la modélisation mathématique obtenue grâce à la physique d’un tel système du second ordre.
Question: 1. Dessiner le schéma électrique générique d’une machine à courant continu à aimants permanents. Réponse:
5
1
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
Question: 2. Rappeler le système d’équations différentielles régissant le fonctionnement d’une machine à courant continu à aimants permanents. Ce système comprend une équation électrique, une équation mécanique et deux équations électro-mécaniques. Rappeler ce que représente physiquement chaque terme de ces équations ainsi que leur unité. Réponse: E(t) = K.Ω(t) Cm (t) = K.I(t) Um (t) = E(t) + r.I(t) + L. dI dt dΩ J. dt = Cm (t) − Cr (t) avec: • E(t) la f.e.m. (force électro-motrice) du moteur en Volt (V ) • Ω(t) la vitesse de rotation du moteur en rad.s−1 • Cm (t) le couple fourni par le moteur en N m • I(t) le courant traversant l’induit du moteur en Ampère (A) • Um (t) la tension d’alimentation du moteur en Volt (V ) • Cr (t) le couple résistant s’opposant au mouvement du moteur en N m • K la constante de couple du moteur en N m.A−1 • r la résistance d’induit du moteur en Ohm (Ω) • L l’inductance d’induit du moteur en Henry (H) • J l’inertie du moteur par rapport à son axe de rotation en kg.m2 Question: 3. A l’aide de la datasheet de la MCC, déterminer les valeurs (dans le système d’unité international) des différents paramètres constants de ce système d’équations. Par la suite, on utilisera les expressions littérales de ces équations sauf dans le cas des questions précédées de (A.N.) où on utilisera les valeurs numériques trouvées dans cette question. Réponse: On considère le moteur référencé 221 sur le document constructeur. Les valeurs relevées sur la datasheet sont les suivantes: • Résistance r = 0, 5Ω • Inductance L = 1mH = 10−3 H • Inertie J = 850g.cm2 = 85.10−6 kg.m2 • Constante de couple K = 54mN m.A−1 = 54.10−3 N m.A−1 • Vitesse nominale: ΩN = 3150tr.min−1 = 330rad.s−1 • Couple nominal: CN = 350mN m = 0, 35N m
6
1.2
Représentation d’état mécanique
Question: 4. Par une méthode de substitution, réduire ce système de 4 équations à un système de 2 équations décrivant le fonctionnement mécanique de la MCC en fonction entre autre de la tension appliquée en entrée de celleci. Pour cela, identifier les variables électriques afin de s’en débarasser par substitution. Ce système sera le système d’équations mécanique de la MCC. Réponse: L dCm r .Cm (t) + K . dt Um (t) = K.Ω(t) + K dΩ J. dt = Cm (t) − Cr (t) dC r K2 K m dt = − L .Cm (t) − L .Ω(t) + L .Um (t) ⇐⇒ dΩ 1 1 dt = J .Cm (t) − J .Cr (t)
(1.1)
Question: 5. Avec la même méthode, réduire le même système de 4 équations à un système de 2 équations décrivant le fonctionnement électrique de la MCC en fonction entre autre du couple résistant subit par celle-ci. Pour cela, identifier les variables mécaniques afin de s’en débarasser par substitution.Ce système sera le système d’équations électrique de la MCC. Réponse:
⇐⇒
1.2
Um (t) = E(t) + r.I(t) + L. dI dt J dE K . dt = K.I(t) − Cr (t)
dI dt dE dt
= − Lr .I(t) − 2 = KJ .I(t) −
1 1 L .E(t) + L .Um (t) K J .Cr (t)
(1.2)
Représentation d’état mécanique
Question: 1. Dans le système d’équations mécanique de la MCC, identifier les éléments suivants (attention! certains éléments peuvent faire partie de plusieurs groupes): (a) des termes constants intrinsèques à la MCC. (b) des valeurs variables internes à la MCC et décrivant son état. Ces variables seront regroupées dans un vecteur x1 (t) x2 (t) X(t) = . .. xn (t) qui sera nommé vecteur d’état. (c) des valeurs variables d’entrées extérieures à la MCC qui influent de manière volontaire ou involontaire sur son comportement. Ces variables seront regroupées dans un vecteur u1 (t) u2 (t) U (t) = . .. un (t) 7
1
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
qui sera nommé vecteur de commande. (d) des valeurs variables de sorties générées par la MCC et significatives pour son utilisateur. Ces variables seront regroupées dans un vecteur y1 (t) y2 (t) Y (t) = . .. yn (t) qui sera nommé vecteur de sortie. Réponse: (a) Termes constants: K, r, L et J (b) Vecteur d’état:
Cm (t) Ω(t)
Um (t) Cr (t)
Cm (t) Ω(t)
X(t) = (c) Vecteur de commande: U (t) = (d) Vecteur de sortie: Y (t) = Question:
2. Modifier alors le système d’équations mécanique pour le représenter sous la forme matricielle suivante: ˙ X(t) = A.X(t) + B.U (t) ˙ où X(t) est la dérivée temporelle du vecteur X(t) et A, B sont des matrices à déterminer. Cette équation différentielle matricielle se nomme l’équation de commande car elle décrit complètement l’évolution de l’état du système (ici la MCC) en fonction de la commande qui lui est appliquée. Réponse: D’après l’équation 1.1, l’équation de commande de la représentation d’état mécanique du moteur s’écrit: r K 2 C˙m (t) Cm (t) Um (t) 0 − L − KL L × × = + 1 ˙ Ω(t) Cr (t) 0 − J1 Ω(t) 0 {z } | {z } | {z } | J {z } | {z } | ˙ X(t)
X(t)
A
B
U (t)
Question: 3. Pourquoi le terme vecteur de commande pour U (t) est-il critiquable ici? Réponse: On peut critiquer le terme vecteur de commande pour U (t) car le couple résistant Cr (t) est plutôt une perturbation extérieure appliquée au moteur qu’une commande contrôlée par l’utilisateur. 8
1.3
Représentation d’état électrique
Question: 4. En utilisant les résultats trouvés précédemment, écrire l’équation décrivant le comportement des sorties du système sous la forme suivante: Y (t) = C.X(t) + D.U (t) où C, D sont des matrices (extrêmement simples) à déterminer. Cette équation matricielle se nomme l’équation d’observation car elle permet d’observer la sortie du système en fonction de l’état de celuici et éventuellement des influences extérieures exercées sur celui-ci. Dans les cas des systèmes simples, la matrice D est nulle. Réponse: D’après l’équation 1.1, l’équation d’observation de la représentation d’état mécanique du moteur s’écrit: 1 0 Cm (t) 0 0 Um (t) Cm (t) = × + × 0 1 Ω(t) 0 0 Cr (t) Ω(t) | {z } | {z } | {z } | {z } | {z } Y (t)
C
X(t)
D
U (t)
On peut remarquer que pour cette représentation d’état, l’équation d’observation est très simple: la matrice D est nulle et la matrice C est la matrice identité. Question: 5. Indiquer la dimension de chacune des matrices A, B, C, et D en fonction du nombre de variables d’état n, du nombre d’entrées m et du nombre de sorties p. Pour quelle raison le cas étudié ici est-il un cas particulier? Qu’implique-t-il sur le format des matrices? Réponse: Les dimensions des matrices d’une représentation d’état sont les suivantes: • Pour la matrice A: dim(A) = n × n • Pour la matrice B: dim(B) = n × m • Pour la matrice C: dim(C) = p × n • Pour la matrice D: dim(D) = p × m Dans le cas de la représentation d’état mécanique du moteur, nous observons un cas particulier car le nombre d’entrées, de sorties et d’états est identique: n = m = p = 2. Par conséquent, les quatre matrices A, B, C et D sont des matrices carrées de dimension 2 × 2.
1.3
Représentation d’état électrique
Question: 1. Réitérer la même démarche que dans la partie 1.2, en utilisant cette fois le système d’équations électrique afin de le représenter sous la forme suivante: ˙ X(t) = A.X(t) + B.U (t) Y (t) = C.X(t) + D.U (t) 9
1
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
où X(t), U (t) et Y (t) sont respectivement le vecteur d’état, le vecteur de commande et le vecteur de sortie à déterminer (et qui ne sont pas tous forcément identiques à ceux trouvés pour la représentation d’état mécanique), et A, B, C et D sont des matrices à déterminer (là encore pas forcément identiques à celles trouvées pour la représentation d’état mécanique). L’association d’une équation de commande et d’une équation d’observation permet d’obtenir un système d’équations matricielle qui est une représentation d’état du système. Réponse: D’après l’équation 1.2, l’équation de commande de la représentation d’état électrique du moteur s’écrit: 1 r ˙ − L − L1 0 Um (t) I(t) I(t) L 2 × × + = K ˙ Cr (t) E(t) 0 −K E(t) 0 {z J } | {z } | {z } | J {z } | {z } | ˙ X(t)
X(t)
A
B
U (t)
et l’équation d’observation s’écrit:
K 0 Cm (t) I(t) = × 1 Ω(t) E(t) 0 K | {z } | {z } | {z } C
Y (t)
X(t)
Question: 2. Comparer les dimensions des matrices de la représentation d’état mécanique à celles des matrices de la représentation d’état électrique. Cela semble-t-il logique? Pourquoi? Que peut-on présupposer sur la dimension des différents vecteurs des différentes représentations d’état d’un système? Réponse: On constate que les dimensions des matrices A, B, C et D sont identiques pour la représentation d’état mécanique et la représentation d’état électrique. Cela semble logique si on considère que quelle que soit la représentation d’état choisie, le système possède toujours le même nombre d’entrées/sorties et est toujours caractérisé par le même nombre d’état. Ainsi les valeurs de n, m et p dépendent du système lui-même et non pas de la représentation d’état choisie.
1.4
Changement de représentation d’état
Question: 1. Quelle est la principale différence entre la représentation d’état mécanique et la représentation d’état électrique? Ces deux représentations d’état sont-elles équivalentes en terme de fidélité de modèle par rapport au système réel? Pour quelle raison pourrait-on préférer utiliser une représentation plutôt qu’une autre? Réponse: La principale différence entre la représentation d’état électrique et la représentation d’état mécanique est le vecteur d’état X(t) (qui implique bien sûr des modifications sur A, B, C et D). Ces deux représentations d’état sont absoluement identiques en terme de fidélité du modèle par rapport au système réel. La représentation d’état mécanique est plus simple dans son écriture avec un vecteur de sortie identique au vecteur d’état mais la représentation d’état électrique permet d’avoir les informations sur la f.e.m. et le courant circulant dans le moteur via le vecteur d’état. L’utilisation de l’une ou l’autre représentation d’état dépendra donc du cahier des charges de la modélisation. 10
1.4
Changement de représentation d’état
Question: 2. Existe-t-il d’autres représentations d’état possibles du système? Combien? En proposer une très simple. Réponse: Il existe une infinité de représentation d’état pour un système donné. Dans le cas de la MCC, on peut par exemple proposer la représentation d’état suivantes mixant les deux représentations d’état précédentes: 1 r ˙ I(t) Um (t) 0 −L −K I(t) L L × × + = K ˙ Ω(t) Cr (t) 0 − J1 0 Ω(t) J | {z } | {z } {z } | {z } | {z } | B A X(t) U (t) ˙ X(t) Cm (t) K 0 I(t) = × Ω(t) 0 1 Ω(t) | {z } | {z } | {z } C
Y (t)
X(t)
Question: 3. En partant du système d’équations mécaniques, donner la réprésentation d’état de la MCC ayant pour vecteur d’état: x1 (t) = Ω(t) + Cm (t) X(t) = x2 (t) = Ω(t) où Ω(t) représente la valeur de la vitesse de rotation de la MCC et Cm (t) celle du couple qu’elle fournie. Cette représentation vous semble-t-elle plus intéressante que les précédentes? Pourquoi? Réponse: D’après l’équation 1.1, on peut écrire l’équation suivante: K2 L .Ω(t)
dCm dt
+
⇐⇒
d(Cm +Ω) dt
= ( J1 −
r L ).Cm (t)
⇐⇒
d(Cm +Ω) dt
= ( J1 −
r L ).(Cm
dΩ dt
= − Lr .Cm (t) −
−
+
K L .Um (t)
K2 L .Ω(t) 2
+
+ Ω) − ( KL +
+ J1 .Cm (t) − J1 .Cr (t)
K L .Um (t)
− J1 .Cr (t)
1 J
+
−
r L ).Ω
K L .Um
− J1 .Cr
et l’équation suivante:
dΩ 1 1 1 = .(Cm + Ω) − .Ω − .Cr dt J J J A partir de ces deux équations, on peut donc écrire la nouvelle représentation d’état pour le vecteur d’état X(t) donné: K 1 2 r − J1 ˙ − KL − J1 + Lr L J − L × X(t) + × U (t) X(t) = 1 0 − J1 − J1 J | {z } | {z } B
A
1 −1 Y (t) = × X(t) 0 1 | {z } C
Toutefois cette représentation d’état est un peu farfelue et ne semble pas avoir d’intérêt particulier pour notre application. 11
1
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
Question: 4. Parmi les éléments A, B, C, D, X, Y et U , quels sont ceux qui varient en fonction de la représentation d’état choisie? Pourquoi les autres éléments restent-il identiques quelle que soit la représentation d’état? Pour différencier les éléments dépendants de la représentation d’état choisie, jusqu’à la fin de la partie 1.4, on affectera l’indice e pour les éléments issus de la représentation d’état électrique, l’indice m pour les éléments issus de la représentation d’état mécanique et l’indice b (comme bizarre...) pour la représentation d’état établie dans la question précédente. Réponse: Lors d’un changement de représentation d’état, le vecteur d’état X(t) est modifié et par conséquent les matrices A, B et C. Bien entendu, les entrées U et les sorties Y du système ne sont pas modifiées et par conséquent la matrice D non plus. Question: 5. Ecrire l’équation matricielle permettant le passage du vecteur d’état Xm (t) au vecteur d’état Xb (t): Xb (t) = P.Xm (t) où P est la matrice de passage (ou matrice de transition) à déterminer et dont on donnera la dimension en fonction de n (nombre de variables d’état), m (nombre d’entrées) et p (nombre de sorties). Etablir de la même façon l’équation matricielle permettant de passer du vecteur X˙m (t) au vecteur X˙ b (t). Réponse: Connaissant les deux vecteurs d’état Xb (t) et Xm (t), on calcule aisément la matrice de passage P entre les deux états: 1 1 Cm (t) Ω(t) + Cm (t) = (1.3) 0 1 Ω(t) Ω(t) {z } | {z }| {z } | P
Xb (t)
Xm (t)
Cette matrice de passage P est une matrice carrée de dimension dim(T ) = n × n. En dérivant l’équation 1.3, on obtient l’équation matricielle permettant de passer du vecteur X˙m (t) au vecteur X˙ b (t): X˙ b (t) = P .X˙ m (t) Question: 6. Dans la représentation d’état “bizarre” écrite avec les indices b, remplacer tous les vecteurs d’état Xb (t) (et leur dérivée) par leur expression en fonction du vecteur d’état mécanique Xm (t) (et sa dérivée) déterminée dans la question précédente. Puis, en manipulant légèrement cette représentation d’état pour la rapprocher de la représentation d’état mécanique, établir l’expression de Am , Bm et Cm en fonction de Ab , Bb , Cb et P . Réponse: La représentation d’état bizarre s’écrit de la manière suivante: X˙ b (t) = Ab .Xb (t) + Bb .U (t) Y (t) = Cb .Xb (t) 12
1.4
Changement de représentation d’état
En remplaçant X˙ b (t) = P .X˙ m (t) et Xb (t) = P.Xm (t) dans l’équation précédente, on obtient: P.X˙m (t) = (Ab .P )Xm (t) + Bb .U (t) Y (t) = (Cb .P )Xm (t) Après mise en forme, on peut identifier Am , Bm et Cm en fonction de Ab , Bb , Cb et P: X˙ (t) = (P −1 .Ab .P )Xm (t) + (P −1 .Bb ).U (t) m | {z } {z } | Am
Bm
Y (t) = (Cb .P )X(t) | {z } Cm
On en déduit: • Am = P −1 .Ab .P • Bm = P −1 .Bb • Cm = Cb .P Question: 7. Calculer P −1 pour obtenir ensuite Am , Bm et Cm et vérifier le résultat obtenu avec la représentation d’état mécanique. Réponse: D’après l’équation 1.3, on sait que la matrice de passage est: 1 1 P = 0 1 On peut donc calculer son inverse: P
−1
(−1)n = (com(P ))t = det(P )
Et ainsi calculer les matrices Am , Bm et Cm : K 1 −1 −1 L Bm = P .Bb = 0 1 0 Cm = P.Cb =
Am = P
−1
.Ab .P =
⇐⇒ Am =
1 0
− Lr 1 J
1 1
1 0 2
− KL 0
− J1 − J1
1 0
−1 1
−1 1
1 J
= − 1 J
r L
−1 1
1 0
K L
=
1 0
0 0 1
0 − J1
= I2 2
− KL − J1 + − J1
r L
1 0
1 1
On constate que les matrices Am , Bm et Cm trouvées à partir de la transposition de la représentation d’état bizarre correspondent bien à celles trouvées en établissant directement la représentation d’état mécanique. 13
1
1.5
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
Généralisation
Definition 1. Représentation d’état d’un système Soit un système multi-entrées (m entrées), multi-sorties (p sorties), dont le modèle est décrit par une ou plusieurs équations différentielles linéaires à coefficients constants. Ce modèle peut s’écrire sous la forme d’un système d’équations matricielles différentielles du premier ordre: ˙ X(t) = A.X(t) + B.U (t) équation de commande Y (t) = C.X(t) + D.U (t) équation d’observation où X(t) est le vecteur d’état dont le nombre d’éléments n dépend de la complexité du système, U (t) est le vecteur de commande, Y (t) est le vecteur de sortie, et A(n×n) , B(n×m) , C(p×n) et D(p×m) sont des matrices à coefficients constants. Le modèle sous cette forme est appelé représentation d’état du système. Cette représentation d’état n’est pas unique et dépend du vecteur d’état choisi. Definition 2. Changement de représentation d’état Soit un système modélisé par la représentation d’état associée au vecteur d’état X1 (t). On peut obtenir la représentation d’état de ce système associée au vecteur d’état X2 (t) tel que X1 (t) = P.X2 (t) de la manière suivante: X˙ 2 (t) = (P −1 A1 P )X2 (t) + (P −1 B1 )U (t) | {z } | {z } A2
Y (t)
=
B2
(C1 P )X2 (t) + D.U (t) | {z } C2
où P est la matrice de passage. Seules les matrices A, B, C et le vecteur d’état X sont modifiés lors de ce changement de représentation d’état. Definition 3. Schéma-bloc d’une représentation d’état
14
1.5
Généralisation
Fiche bilan La fiche bilan à rédiger pour ce chapitre doit répondre aux problématiques suivantes: • Qu’est-ce qu’un modèle d’un système utilisant une représentation d’état? • De quoi est constitué un modèle utilisant une représentation d’état? • Quelles sont les propriétés d’un modèle utilisant une représentation d’état? • Comment peut-on passer d’une représentation d’état à une autre? Que cela représente-t-il? Quel est l’intérêt? 2 équations sont autorisées sur la fiche.
Exercices bonus Exercise 1. Représentation d’état du moteur en vue de l’étude de sa position angulaire 1. Ecrire la relation liant la position angulaire du moteur à sa vitesse de rotation. 2. Ecrire l’équation de commande de la représentation d’état du moteur dans le cas où le vecteur d’état est constitué du couple moteur, de la vitesse de rotation du moteur et de sa position angulaire. 3. Ecrire l’équation d’observation de la représentation d’état du moteur dans le cas où la valeur que l’on souhaite observer en sortie du moteur est sa position angulaire. 1 1 0 4. Soit la matrice de passage P = 0 1 1 . Calculer la changement de représentation d’état du modèle par 1 0 1 cette matrice de passage. Exercise 2. Représentation d’état des amortisseurs sur un véhicule Le système d’amortissement sur un véhicule peut être représenté par un système constitué d’une masse reliée à un ressort et à un amortisseur selon le schéma suivant:
15
1
MODÉLISATION D’UN SYSTÈME SOUS FORME DE REPRÉSENTATION D’ÉTAT
Ce système est caractérisé par l’équation différentielle du second ordre suivante: m
dx d2 x +B + kx(t) = F (t) dt2 dt
où x représente la position du véhicule par rapport à la référence, m = 1000kg est la masse du véhicule, k = 105 N.m−1 est la raideur du ressort, B = 103 kg.s−1 est l’amortissement du véhicule et F est la force appliquée au véhicule. 1. Après avoir identifié les inconnues dans l’équation différentielle précédente, proposer un vecteur d’état de dimension 2 permettant de représenter ce système sous forme de représentation d’état. 2. Ecrire alors l’équation de commande de la représentation d’état de ce système pour le vecteur d’état choisi. 3. Ecrire également l’équation d’observation de cette représentation d’état sachant que l’on souhaite connaître à tout moment la hauteur de la voiture par rapport au sol.
16
2
Vérification de la qualité du modèle
Une fois la modélisation mathématique obtenue, on peut évaluer la fidélité de ce modèle en étudiant son comportement en régime libre (sans commande) et le comparer avec le comportement du système réel.
2.1
Régime libre (ou autonome)
→ − On considère dans un premier temps que l’on applique aucune commande au système (c’est-à-dire U (t) = 0 ), mais que celui-ci se trouve dans un état initial différent du repos défini par le vecteur d’état Xini . On dit alors que le système va évoluer en régime libre ou autonome. Question: 1. A quel essai expérimental concret correspond une telle situation? A quel comportement mécanique et électrique doit-on s’attendre? Cet essai est-il bien prudent en pratique? Réponse: Cet essai correspond à un court-circuit sur l’entrée du moteur. Si celui-ci est en rotation, il fonctionne alors en génératrice et un courant I(t) continue de circuler dans l’induit jusqu’à l’arrêt complet du moteur. Concrètement, au moment du court-circuit, le sens du courant va brusquement s’inverser et un pic de courant important va circuler dans l’induit. Ce type d’essai est donc à déconseiller sur le moteur réel lorsque celui-ci tourne à pleine vitesse. Question: 2. Dessiner le schéma électrique de l’induit pendant l’essai. On considère qu’à l’instant initial, la vitesse de rotation du moteur est Ωini = ΩN . En déduire le couple moteur au début de l’essai Cini . Confirmer alors la réponse de la question précédente. Réponse: L’induit étant en court-circuit lors de l’essai, le schéma électrique est le suivant:
On peut alors déduire la valeur du couple moteur initial en fonction de celui de la vitesse de rotation initiale: Cini = KIini ⇐⇒ Cini = −K Eini r 2
⇐⇒ Cini = − Kr Ωini ⇐⇒ Cini = −1, 925N m 17
2
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
On en déduit les valeurs de la vitesse de rotation initiale Ωini = 330rad.s−1 , du couple moteur initial Cini = −1, 925N m et du courant initial dans l’induit Iini = 35, 64A. On constate donc bien ce qui était attendu: le pic de courant dans l’induit important. Question: 3. Réécrire la représentation d’état mécanique de la MCC en prenant en compte ces éléments. Que doit-on alors faire pour connaitre l’évolution de la sortie Y (t) de notre système? Réponse: La représentation d’état s’écrit dans ce cas:
X˙ m (t) Y (t)
= Am .Xm (t) = Xm (t)
Il suffit alors de résoudre l’équation différentielle de commande pour trouver Y (t). Question: 4. Rappeler la solution d’une équation différentielle scalaire du premier ordre du type y(t) ˙ − a.y(t) = 0. En s’inspirant de la définition 2, proposer une méthode pour simplifier l’équation de commande en un système d’équations différentielles scalaires du premier ordre du type y(t) ˙ − a.y(t) = 0 facilement résolvable. A quelle condition cette méthode est-elle utilisable? Réponse: La solution de l’équation différentielle y(t) ˙ − a.y(t) = 0 est y(t) = Keat où K est une constante à définir en fonction des conditions initiales du problème. Pour t = 0, on trouve K = y(0), donc la solution est y(t) = y(0).eat . Pour avoir une équation de commande constituée de n équations différentielles de ce type, il faudrait que la matrice Am soit une matrice diagonale. Si la matrice Am est diagonalisable, on pourra donc diagonaliser la matrice pour simplifier l’équation différentielle de commande et ainsi pouvoir la résoudre. Question: 5. (A.N.) En procédant par étape, donner la représentation d’état simplifiée permettant d’obtenir l’équation de commande sous forme d’un système d’équations différentielles scalaires du premier ordre. On indiquera plus T particulièrement le nouveau vecteur d’état Xd (t) = P Xm (t) = [x1 (t), x2 (t)] en fonction du vecteur d’état de la représentation d’état mécanique ou électrique, les valeurs de la matrice de passage P entre les deux représentations d’état et son inverse P −1 , les valeurs des matrices Ad , et Cd dans la nouvelle représentation d’état. Réponse: On commence par chercher les valeurs propres de la matrice Am afin de la diagonaliser. Ces valeurs propres sont les λi solutions de l’équation det(Am − λ.I) = 0:
− r − K2 λ 0
L L − =0 |Am − λ.I| =
1 0 λ
0 J ⇐⇒ λ2 +
r L .λ
+
K2 JL
=0
2
∆ = ( Lr )2 − 4 K JL > 0 λ=
√ r ± ∆− L 2
=
λ1 = −418 λ2 = −82, 1 18
2.1
La matrice diagonalisée sera donc:
Ad =
−418 0 0 −82, 1
Régime libre (ou autonome)
et l’équation de commande de la représentation d’état sera: (2.1)
X˙ d (t) = Ad .Xd (t)
Pour passer de la représentation d’état mécanique à la représentation d’état diagonalisée, on a réalisé la transposition suivante: Xm (t) = P.Xd (t). Or les vecteurs propres de Am constituent la matrice de passage P entre la représentation d’état mécanique et la représentation d’état diagonalisée. Les vecteurs propres de la ta matrice Am , tλi = , sont solutions de l’équation Am .t = λi t, c’est-à-dire : tb
2
− KL −λ1
− Lr − λ1 1 J
ta tb
=0
En cherchant une solution non singulière (non nulle) de ce système de deux équations, on remarque que le système est sous-déterminé car les deux équations du système sont identiques. Il faut donc fixer une des deux 1 : inconnues pour calculer la seconde. Par exemple, on fixe ta = 1 et on trouve tb = J.λ i tλ1 =
1 −28, 14
=
tλ2 =
1 −143, 5
La matrice de passage P est donc: P =
tλ1
tλ2
1 1 −28, 14 −143, 5
=
1 −115,4
et l’inverse de la matrice de passage est: P −1 =
(−1)n t det(P ) (com(P ))
⇐⇒ P −1 =
−143, 5 28, 14
1, 244 8, 665.10−3 −0, 2439 −8, 665.10−3
−1 1
et le vecteur d’état de la représentation d’état diagonalisée peut ainsi se déduire de celui de la représentation mécanique: Xd (t) = P −1 .Xm (t) Xd (t) =
1, 244.Cm (t) + 8, 665.10−3 .Ω(t) −0, 2439.Cm (t) − 8, 665.10−3 .Ω(t)
Enfin, d’après la définition 2, on peut déterminer la matrice Cd = Cm P = I2 P = P Question: 6. (A.N.) En résolvant les équations différentielles, donner alors l’expression de l’évolution des deux nouvelles variables d’état au cours du temps sans oublier les constantes d’intégration. 19
2
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
Réponse: On peut donc résoudre facilement l’équation de commande dans la nouvelle représentation d’état avec une matrice diagonale. la solution de l’équation 2.1 est: K1 .e−418t Xd (t) = K2 .e−82,1t L’équation différentielle ne comportant pas de second membre, il est inutile de chercher la solution particulière de l’équation qui est nulle. Question: 7. (A.N.) En repassant au vecteur d’état mécanique, donner l’expression de l’évolution du couple et de la vitesse de rotation du moteur lorsque celui-ci est “lâché” pour une vitesse de rotation initiale et un couple moteur égaux aux valeurs déterminées dans les premières questions de cette partie. Tracer l’évolution de ces deux valeurs au cours du temps et vérifier que le comportement obtenu est bien celui attendu. Le courant parcourant l’induit du moteur est-il acceptable? Réponse: On peut maintenant calculer l’évolution du vecteur d’état Xm (t) = P.Xd (t): Cm (t) 1 1 K1 .e−418t = Ω(t) −28, 14 −143, 5 K2 .e−82,1t
Cm (t) Ω(t)
=
K1 .e−418t + K2 .e−82,1t −28, 14.K1 .e−418t − 143, 5.K2 .e−82,1t
Il suffit maintenant de trouver les valeurs de K1 et de K2 à partir des conditions initiales définies plus haut: Cm (0) = Cini = −1, 925N m Ω(0) = Ωini = 330rad.s−1 Cini = K1 + K2 Ωini = −28, 14.K1 − 143, 5.K2 ⇐⇒
K1 K2
=
1 1 −28, 14 −143, 5 {z | T −1
⇐⇒ ⇐⇒
K1 K2
K1 K2
1, 244 −0, 2439
0, 465 −2, 39
=
=
−1
Cini Ωini
}
8, 665.10−3 −8, 665.10−3
Cini Ωini
Finalement le comportement du moteur au cours du temps pendant l’arrêt du moteur est le suivant: Cm (t) 0, 465.e−418t − 2, 39.e−82t = Ω(t) −13, 09.e−418t + 343.e−82t La représentation graphique de l’évolution du couple moteur et de la vitesse de rotation est la suivante: 20
2.1
Régime libre (ou autonome)
La vitesse de rotation du moteur décroît jusqu’à l’arrêt complet du moteur et le couple moteur subit une brusque inversion au moment du passage de moteur à génératrice et diminue également jusqu’à l’arrêt complet du moteur. Ce comportement parait parfaitement cohérent, la modélisation par représentation d’état choisie semble donc correcte au moins qualitativement. Un pic de courant apparait au début de l’essai et vaut ini Iini = CK = −35, 64A. D’après le document constructeur, le courant au démarrage est de l’ordre de 47A donc le pic de courant constaté ici semble acceptable. Question: 8. Si l’essai réalisé n’avait pas été un essai de lâché mais un démarrage du moteur, quelle étape supplémentaire dans le calcul aurait été nécessaire? Réponse: Pour le démarrage du moteur, la commande U (t) aurait été non nulle. A la solution sans second membre de l’équation différentielle, il aurait donc fallu ajouter une solution particulière pour obtenir la solution complète et chercher alors les valeurs des constantes d’intégration.
21
2
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
Definition 4. Résolution du régime libre (cas A diagonalisable) Soit une représentation d’état dont l’équation de commande pour laquelle U (t) = 0 est de la forme: ˙ X(t) = A.X(t) où A est une matrice carrée diagonalisable. Pour calculer l’évolution en régime libre de l’équation de commande avec un état initial Xini , on peut trouver un vecteur d’état XD (t) pour lequel l’équation de commande a une matrice diagonale AD . Le changement de représentation d’état se fait alors grâce à la matrice de passage P . La solution matricielle peut alors s’écrire:
λ1
..
0
XD (t) = eAD t = e
0 . λn
t
.K
où λ1 · · · λn sont les valeurs propres de A et K est le vecteur d’intégration de l’équation et dépend de Xini . On peut ensuite en déduire l’évolution du vecteur d’état d’origine grâce à la matrice de passage P contenant les vecteurs propres de A.
2.2
Régime libre - cas A non diagonalisable
Definition 5. Résolution du régime libre (cas A non diagonalisable) Soit une représentation d’état dont l’équation de commande pour laquelle U (t) = 0 est de la forme: ˙ X(t) = A.X(t) où A est une matrice carrée non diagonalisable. Pour calculer l’évolution en régime libre de l’équation de commande avec un état initial Xini , on peut trouver un vecteur d’état XT (t) pour lequel l’équation de commande a une matrice triangulaire supérieure AT pouvant se décomposer comme la somme d’une matrice diagonale AD et d’une matrice n’ayant que des zéros sur sa diagonale AN , soit AT = AD + AN . Le changement de représentation d’état se fait alors grâce à la matrice de passage P . La solution matricielle peut alors s’écrire: XT (t) = eAT t .K = e(AD +AN )t .K = eAD t .eAN t .K et on peut décomposer l’exponentielle grâce à son développement limité: XT (t) = eAD t (I + AN t +
(AN t)3 (AN t)2 + · · · ).K 2 3!
où K est le vecteur d’intégration de l’équation et dépend de Xini . On peut ensuite en déduire l’évolution du vecteur d’état d’origine grâce à la matrice de passage P .
22
2.2
Régime libre - cas A non diagonalisable
Question: 1. Chercher sur le wikipédia anglais la définition d’une matrice nilpotente. Dans la définition 5, la matrice AN est-elle nilpotente? Quel est son indice de nilpotence? En quoi cela est-il important pour calculer l’évolution de la vitesse et du couple de notre moteur? Réponse: Une matrice nilpotente est une matrice dont les puissances s’annulent à partir d’une certaine valeur. La matrice est nilpotente d’indice N si et seulement si: ∃N ∈ N, n > N =⇒ An = 0 La matrice AN étant une matrice triangulaire supérieur avec uniquement des zéros sur sa diagonale, on remarque qu’à chaque augmentation de la puissance de cette matrice, une diagonale supplémentaire se remplie de zéros. Lorsque la puissance atteindra la valeur de la dimension de AN , celle-ci s’annulera complètement. Donc l’indice de nilpotence de cette matrice AN est sa dimension. Dans le cas précis du moteur à courant continu, l’indice de nilpotence est de 2. Il est est très important que cette matrice AN soit nilpotente car ainsi le développement limité de cette matrice contiendra un nombre fini d’élément et XT (t) sera donc calculable. Question: q 4K 2 L ' 370mΩ, où L est l’inductance de l’induit 2. La résistance de l’induit du moteur vaut en fait r = J du moteur, J est son inertie à vide et K sa constante électromécanique. Réécrire l’expression littérale de la représentation d’état mécanique en tenant compte de cette nouvelle information. En conservant les expressions littérales, montrer qu’il n’existe alors pas de représentation d’état avec une matrice Ad diagonale et en proposer une avec une matrice AT triangulaire supérieure. Donner le vecteur d’état XT (t) correspondant en fonction du vecteur d’état de la représentation mécanique ou électrique ainsi que les valeurs de la matrice de passage P. Réponse: D’après la valeur de la résistance d’induit, on peut écrire: q
r=
⇐⇒ ⇐⇒
4K 2 L J 2 r2 = 4KJ L 2 K 2 = r4LJ
En remplaçant K 2 dans la matrice Am de la représentation d’état mécanique, on obtient: Am =
− Lr 1 J
23
2
r J − 4L 2 0
2
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
Comme dans la partie précédente, on cherche les valeurs propres de la matrice Am :
− r − r2 J2 λ 0
L 4L − =0 |Am − λ.I| =
1 0 λ
0 J ⇐⇒ λ2 +
r L .λ
+
r2 4L2
=0
2
r ∆ = ( Lr )2 − 4 4L 2 = 0 r λ = − 2L = −185
La matrice Am a donc une valeur propre double dans ce cas de figure. On cherche les vecteurs propres correspondant: r r2 J ta − L − λ − 4L 2 =0 1 tb −λ J ⇐⇒
ta J
+
r 2L .tb
ta tb
⇐⇒
=0
=
1 − 2L rJ
On constate que le sous-espace propre de la matrice Am est de dimension 1, on ne peut donc avoir qu’un seul vecteur de la matrice de passage P . Il faut compléter cette matrice de passage par un autre vecteur non-colinéaire au premier, par exemple: 1 0 P = − 2L 1 rJ P −1 =
1 2L rJ
0 1
A partir de cette matrice de passage, on peut calculer la nouvelle matrice AT obtenu après changement de représentation d’état via la matrice de passage P : r r2 J 1 0 1 0 − L − 4L 2 −1 AT = P .Am .P = 2L 1 1 − 2L 1 0 rJ rJ J AT =
λ 0
−λ2 J λ
=λ
1 0
−λJ 1
On constate en effet que cette matrice AT n’est pas diagonale mais bien triangulaire. On peut alors obtenir le vecteur d’état XT (t) de cette nouvelle représentation d’état: 1 0 Cm (t) −1 XT (t) = P Xm (t) = 2L Ω(t) 1 rJ XT (t) =
Cm (t) 2L C rJ m (t) + Ω(t) 24
2.2
Régime libre - cas A non diagonalisable
Question: 3. A l’aide de la définition 5, calculer l’évolution du couple moteur et de la vitesse de rotation en régime libre, toujours en conservant les expressions littérales. Réponse: Comme indiqué dans la définition 5, la matrice AT peut être décomposée en une matrice diagonale et une matrice nilpotente: 0 −λ2 J 1 −λJ = λ.I2 + λ |{z} 0 0 0 1 | {z } {z } | AD AT
On remarque aisément que
AN
= 0, donc l’indice de nilpotence de la matrice AN est bien 2. Toujours d’après la définition 5, on peut maintenant résoudre l’équation X˙ T (t) = AT .XT (t): 0 −λ2 Jt K1 XT (t) = eλt (I2 + ) 0 0 K2 A2N
XT (t) =
eλt (K1 − K2 λ2 Jt) K2 eλt
Grâce à la matrice de passage P , on peut retrouver l’expression du couple et de la vitesse de rotation du moteur: Xm (t) = P.XT (t) Xm (t) =
Cm (t) Ω(t)
=
eλt (K1 − K2 λ2 Jt) 1 eλt (K2 + K λJ − K2 λt)
Il ne reste plus alors qu’à déterminer K2 grâce aux conditions initiales déterminées de les valeurs de K1Ket 2 Cm (0) = Cini = − r Ωini = −2, 6N m manière identique à la partie 2.1: Ω(0) = Ωini = ΩN = 330rad.s−1
Cini = K1 Ωini = K2 +
K1 λJ
On en déduit les valeurs de K1 et K2 :
K1 = Cini = −2, 6 ini = 164, 6 K2 = Ωini − CλJ
Et ainsi l’expression complète du couple et de la vitesse de rotation du moteur: λt e (Cini − (Ωini λJ − Cini )λt) Cm (t) = ini Ω(t) eλt (Ωini − Ωini − CλJ λt) Question: 4. (A.N.) Tracer l’évolution du couple moteur et de sa vitesse de rotation au cours du temps. Quel régime de fonctionnement reconnait-on à quoi est-il dû? Faire le lien concret avec le fonctionnement de la MCC 25
2
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
en fonction de sa résistance interne d’induit (trois cas à différencier). Comment peut-on limiter les risques encourus lors de ce genre d’essai? Que se passe-t-il si on ajoute une résistance trop importante en série avec l’induit du moteur? Réponse: La représentation graphique de l’évolution du couple moteur et de la vitesse de rotation est la suivante:
On constate clairement que le moteur s’arrête plus rapidement dans ce mode de fonctionnement. En effet, la résistance plus faible implique un courant circulant dans l’induit plus fort et donc un couple de freinage également plus fort. On reconnait le régime critique de fonctionnement du moteur à courant continu. C’est la limite entre le comportement amorti et le comportement oscillant. Ici, en diminuant la valeur de la résistance d’induit, le moteur s’est donc rapproché d’un fonctionnement oscillant. On peut donc distinguer les trois comportements suivants: • r > 370mΩ: Régime amorti • r = 370mΩ: Régime critique • r < 370mΩ : Régime oscillant Pour limiter les risques encourus lors de cet essai d’arrêt du moteur, deux options sont envisageables. Soit on effectue cet essai pour des vitesses faibles du moteur, soit on ajoute une résistance en série avec l’induit du moteur pour limiter le courant circulant dans celui-ci. Cependant, l’ajout de cette résistance modifiera le comportement du moteur: celui-ci fonctionnera en régime très amorti et mettra un temps beaucoup plus important pour s’arrêter complètement. 26
2.2
Régime libre - cas A non diagonalisable
Question: 5. Conclure quant à la fidélité du modèle mathématique au système réel. Réponse: On a donc constaté que le comportement du moteur à courant continu modélisé par représentation d’état correspond bien à l’intuition physique du comportement d’un moteur réel en fonction de sa résistance d’induit, ce qui tend à valider ce modèle mathématique. Il faut toutefois être conscient que ce modèle est quand même imparfait. Entre autres, tous les frottements mécaniques ont été négligés, ce qui est loin de la réalité. Il faut donc s’attendre à un comportement avec des tendances similaires entre modèle et réel mais des amplitudes et des temps de réponse très différents. Ces erreurs sur le modèle mathématique provoqueront des erreurs lors de la conception de nos lois de commandes et donc sur le comportement souhaité du moteur réel.
Fiche bilan La fiche bilan à rédiger pour ce chapitre doit répondre aux problématiques suivantes: • Comment peut-on connaître le comportement d’un modèle grâce à sa représentation d’état? Quel est l’utilité d’une telle étude? • Comment peut-on simplifier la démarche de calcul de ce comportement? Quels sont les trois cas que l’on peut différencier? • Quelles sont les différentes étapes de cette démarche? • Quelles propriétés ont les solutions obtenues? 1 équation est autorisée sur la fiche.
Exercices bonus Exercise 3. Démarrage du moteur Le moteur étant à l’arrêt (Cm = 0 et Ω = 0), on lui applique une tension d’alimentation Um = 20V . On néglige le couple résistant. 1. Trouver une solution particulière de l’équation d’état pour cette valeur de commande. 2. En déduire l’expression de l’évolution du couple moteur et de la vitesse de rotation du moteur pour les conditions initiales données. 3. Tracer ces évolutions et réfléchir sur la cohérence de celles-ci vis-à-vis de ce que l’on pouvait attendre. Exercise 4. Système d’amortisseurs d’un véhicule soumis à une force On reprend le système de l’exercice 2 auquel on applique une force du type F = F0 cos(ωt). En suivant une démarche similaire à celle vue dans ce chapitre, établir l’évolution de la hauteur du véhicule par rapport au sol au cours du temps, sachant qu’au début de l’expérience x(0) = 0 et dx dt (0) = 0.
27
2
28
VÉRIFICATION DE LA QUALITÉ DU MODÈLE
3
Commande en boucle ouverte
Si le modèle mathématique est suffisamment fidèle au système, on peut alors se fier à lui pour définir une commande permettant d’obtenir un comportement désiré du modèle et donc proche du comportement réel du système. Il faut pour cela étudier la commandabilité du système afin de savoir s’il est possible d’atteindre tous les états possibles. Une fois la commandabilité avérée, il existe plusieurs méthodes intuitives (ou pas) pour concevoir un signal de commande.
3.1
Commandabilité
On cherche maintenant à contrôler l’évolution de la sortie du système grâce à la commande U (t). La première question à se poser est: “Est-il théoriquement possible d’obtenir la sortie voulue grâce à la commande U (t)?”. On étudie pour cela la commandabilité du système. Definition 6. Commandabilité d’un système Un système est dit commandable lorsque, pour tout état initial Xini , il existe une commande U (t) permettant d’atteindre n’importe quel état final Xf in en un temps fini. Concrètement, pour déterminer la commandabilité d’un système, on peut calculer la matrice de commandabilité d’une de ses représentations d”état, définie de la manière suivante: CA,B = B A.B A2 .B . . . An−1 .B où n est le nombre de variables d’état. Le système est alors commandable si et seulement si la matrice de commandabilité est de rang plein, c’est-à-dire que son déterminant est non nul dans le cas d’une matrice carrée. Question: 1. Calculer la matrice de commandabilité de la représentation d’état mécanique de la MCC. Vérifier si la matrice de commandabilité est de rang plein. Réponse: D’après la définition 6, on peut écrire la matrice de commandabilité CAm ,Bm dans le cas de la représentation d’état mécanique du moteur à courant continu. Sachant que le nombre de variables d’état est n = 2, la matrice CAm ,Bm s’écrit: CAm ,Bm = Bm Am .Bm CAm ,Bm = CAm ,Bm =
K L
0
K L
0
0 − J1
− KL 0
− rK L2
−K JL 0
1 J
0 − J1
2
− Lr
K JL
2
K L
0
0 − J1
On remarque aisément que les vecteurs constituant les deux premières colonnes de la matrice de commandabilité CAm ,Bm ne sont pas colinéaires. Cette matrice est donc de rang 2, c’est-à-dire de rang plein.
29
3
COMMANDE EN BOUCLE OUVERTE
Question: 2. Qu’en déduire quant au contrôle du moteur? Cela semble-t-il concorder avec la réalité? Réponse: D’après la définition 6, on en déduit que le moteur à courant continu est commandable, c’est-à-dire qu’il est possible d’atteindre n’importe quelle valeur de couple moteur et de vitesse de rotation en agissant sur la tension et le couple résistant du moteur. Cela semble concorder avec la réalité jusqu’à un certain point. En effet les limites physique du moteur font qu’il ne pourra pas dépasser une vitesse et un couple maximaux. Il ne faut donc pas oublier que le modèle mathématique utilisé ne prend pas en compte les limitations réelles du moteur. Question: 3. Calculer la matrice de commandabilité de la représentation d’état électrique de la MCC. Comparer avec la matrice de commandabilité de la représentation d’état mécanique. Qu’en déduire? Réponse: D’après la définition 6, on peut écrire la matrice de commandabilité CAe ,Be dans le cas de la représentation d’état électrique du moteur à courant continu. Sachant que le nombre de variables d’état est n = 2, la matrice CAe ,Be s’écrit: CAe ,Be = Be Ae .Be CAe ,Be = CAe ,Be =
1 L
0
1 L
0
0 −K J
− Lr K2 J
− Lr2
0 −K J
2
K JL
− L1 0 K − JL 0
1 L
0
0 −K J
Comme dans le cas de la représentation d’état mécanique, on constate que la matrice de commandabilité de la représentation d’état électrique est de rang plein. Cela parait cohérent car la commandabilité est intrinsèque au moteur et ne doit pas dépendre de la représentation choisie. On peut étendre cette analyse en remarquant que l’étude de la commandabilité d’un système peut être faite sur n’importe quelle représentation d’état de ce système. Question: 4. On réalise un essai à vide du moteur pour lequel on néglige les frottements (couple résistant considéré nul). Réécrire la représentation d’état mécanique de ce nouveau système en tenant compte de ce changement. Cette représentation d’état parait-elle plus ou moins réaliste que la première? Réponse: Dans ce cas de figure, le vecteur de commande U (t) est modifié et ainsi seules les matrices Bm et D de la représentation d’état vont être impactées. La matrice D étant nulle elle ne sera pas modifiée, par contre la matrice Bm devient: K K 0 L L Bm = ⇐⇒ 0 0 0 Cette représentation est moins proche du modèle réel car il ne prend pas en compte le couple résistant mais est plus réaliste car il ne considère pas le couple résistant comme une commande contrôlée par l’utilisateur. En effet, en terme de commande, le couple résistant est plutôt vu par l’utilisateur comme une perturbation. 30
3.1
Commandabilité
Question: 5. Calculer la matrice de commandabilité de la nouvelle représentation d’état mécanique de la MCC. Vérifier si la matrice de commandabilité est de rang plein. Réponse: D’après la définition 6, on peut écrire la matrice de commandabilité CAm ,Bm dans le cas de la représentation d’état mécanique du moteur à courant continu. Sachant que le nombre de variables d’état est n = 2, la matrice CAm ,Bm s’écrit: CAm ,Bm = Bm Am .Bm CAm ,Bm = CAm ,Bm =
K L
1 J
0
K L
0
− Lr
− rK L2
2
− KL 0
K L
0
K JL
De même que précédemment, on peut directement constater que les deux vecteurs de la matrice de commandabilité CAm ,Bm ne sont pas colinéaires et ainsi en déduire que la matrice est de rang plein. On peut également calculer son déterminant et vérifier que celui-ci est non nul. Dans ce cas, on a: |CAm ,Bm | =
K2 6= 0 JL2
Question: 6. Qu’en déduire quant au contrôle du moteur? Comparer avec la commandabilité trouvée pour l’ancienne représentation d’état mécanique, on se posera notamment la question de lapossibilité du maintien du moteur dans un état précis. En déduire la limite de la notion de commandabilité dans la conception d’une loi de commande en boucle ouverte. Réponse: On en déduit que le moteur est toujours commandable malgré la suppression d’une de ses commandes par rapport au cas précédent. Si on se penche plus précisément sur le comportement physique du moteur, on comprend que la seule tension du moteur permet à celui-ci d’atteindre n’importe quelle valeur de couple et de vitesse mais pas de se maintenir dans un tel état alors que l’ajout du couple résistant comme commande le permettait. On touche ainsi une limite de ce principe de commandabilité: le calcul de la matrice de commandabilité permet de savoir si le système peut atteindre tous les états mais pas de savoir s’il peut s’y maintenir. Question: 7. Dans le cas général, proposer une matrice A2×2 pour laquelle le système est non commandable quel que soit le vecteur B2×1 . Cela semble-t-il cohérent avec le fonctionnement du moteur réel? Réponse: Si on choisit la matrice identité pour A, la matrice de commandabilité CA,B sera: CA,B = B B 31
3
COMMANDE EN BOUCLE OUVERTE
Cette matrice sera forcément de rang 1 et le système sera donc non commandable. Cela parait cohérent car une matrice A = I2 signifie que les deux éléments du vecteur d’état évoluent indépendemmant l’un de l’autre et donc si la commande unique est utilisée pour commander précisément un des deux états (par exemple la vitesse de rotation), l’autre état (le couple moteur) évoluera librement: le système sera bien non commandable car on ne peut atteindre tous les états possibles.
3.2
Génération de commande en boucle ouverte
Si le système est commandable, cela signifie qu’on peut trouver une commande permettant d’atteindre l’état voulu. On peut alors utiliser la modélisation par représentation d’état pour déterminer l’expression de la commande U (t) permettant d’atteindre théoriquement l’état souhaité, et l’appliquer au système en espérant que le comportement du système réel sera proche de celui de son modèle (voir le chapitre 2). Un autre élément important pour la commande est la trajectoire de l’état du système pour atteindre son état final. Est-il possible de fixer cette trajectoire afin d’obtenir un comportement transitoire possible entre les deux états? Sinon, la trajectoire prise par l’état du système respecte-t-il les contraintes de celui-ci (limites physiques, butée...)? Question: 1. (A.N) On considère dans un premier temps que le couple résistant peut être contrôlé. On souhaite obtenir un démarrage du moteur avec une augmentation linéaire de la vitesse de rotation et du couple moteur tel que Ω(t) = 100t et Cm (t) = 0, 1t. Déterminer la commande U (t) permettant d’obtenir ce comportement et tracer l’évolution de ses deux composantes. Critiquer la cohérence de cette démarche de conception de commande. Réponse: On commence par réécrire la représentation d’état afin de déterminer le vecteur de commande U (t): −1 ˙ U (t) = Bm (Xm (t) − Am .Xm (t))
Sachant que l’on souhaite obtenir le comportement suivant: Ω(t) = 100t ˙ ⇒ Ω(t) = 100 Cm (t) = 0, 1t =⇒ C˙m (t) = 0, 1 On en déduit facilement l’expression de la commande U (t): 1 r −J 0 0, 1 −L LJ − U (t) = − K K 1 100 0 L J ⇐⇒ ⇐⇒
Um (t) Cr (t)
Um (t) Cr (t)
L K (0, 1
1, 852.10−3 + 6, 326t −8, 5.10−3 + 0, 1t
=
=
r + (0, 1 K + 100K)t) −J(100 − 0, 1 J1 t)
Ces expressions correspondent au tracé suivant: 32
2
− KL 0
0, 1t 100t
3.2
Génération de commande en boucle ouverte
Cette conception de commande est très critiquable car elle se base sur le fait qu’il est possible d’appliquer un couple résistant précis à tout moment de la commande, alors qu’en pratique ce couple résistant est plutôt une perturbation que l’on ne maîtrise pas. Question: 2. On souhaite maintenant contrôler le moteur à vide et en négligeant les frottements uniquement grâce à son alimentation (tension électrique). Peut-on exiger un comportement similaire à la question précédente? Pourquoi? Quel est le lien avec la commandabilité calculée dans la partie 3.1? On souhaite obtenir un comportement de la vitesse de rotation du moteur au démarrage selon l’équation Ω(t) = ΩN (1 − e−t ). Déterminer le comportement du couple moteur Cm (t) correspondant ainsi que la commande U (t) permettant d’obtenir un tel comportement. Tracer l’évolution de Ω(t), Cm (t) et U (t). Critiquer la cohérence de cette démarche de conception de commande. Réponse: On ne peut exiger un comportement similaire à la question précédente dans ce cas de figure car la seule tension Um (t) comme commande ne permettra pas d’obtenir une évolution précise au cours du temps pour les deux états Cm (t) et Ω(t). Cela ne remet pas en cause la commandabilité calculée plus haut! En effet celle-ci indique qu’il est possible d’atteindre n’importe quel état, pas qu’il est possible de contrôler l’évolution de l’état entre l’état initial et l’état final. Pour calculer la tension de commande qui permet d’atteindre l’évolution de la vitesse de rotation souhaitée, on suit une démarche similaire à celle utilisée dans la question précédente. On commence par exprimer la commande en fonction des autres termes de la représentation d’état: Bm .U (t) = X˙ m (t) − Am .Xm (t) 33
3
COMMANDE EN BOUCLE OUVERTE
Sachant que l’on souhaite obtenir le comportement suivant: Ω(t) = ΩN (1 − e−t ) = 330(1 − e−t ) ˙ ⇒ Ω(t) = ΩN e−t Mais on commence cette fois par déterminer l’évolution du couple moteur correspondant à cette évolution souhaitée de la vitesse de rotation grâce à la seconde ligne de la représentation d’état: ˙ Ω(t) =
1 J Cm (t)
⇐⇒ Cm (t) = JΩN e−t = 28, 05.10−3 e−t =⇒ C˙m (t) = −JΩN e−t Et on peut alors en déduire l’expression de la tension de commande grâce à la première ligne de la représentation d’état: K r K2 ˙ L Um (t) = Cm (t) + L Cm (t) + L Ω(t) −t ⇐⇒ Um (t) = (J r−L + ΩN K K − K)ΩN e
=⇒ Um (t) = −17, 82e−t + 17, 82 Ces expressions correspondent au tracé suivant:
Cette conception de commande est plus réaliste car elle détermine la tension à appliquer au moteur pour obtenir une évolution de la vitesse de rotation souhaitée. Elle présente toutefois deux inconvénients: 34
3.2
Génération de commande en boucle ouverte
• Le premier inconvénient est qu’il faut vérifier a posteriori si le couple moteur correspondant à cette commande est acceptable pour le moteur. En l’occurence dans le cas étudié, le couple au démarrage passe brusquement de 0 à 28, 05mN m, ce qui est acceptable si on compare au couple nominal du moteur. • Le second inconvénient est que cette commande en boucle ouverte est fortement tributaire de la qualité de la représentation d’état utilisée. Ainsi, une forte erreur de modélisation lors du calcul de la commande amènera le moteur réel à se comporter très différemment de ce qui était attendu avec une telle commande. Definition 7. Calcul de la commande permettant d’atteindre un point de l’espace d’état donné en un temps donné Soit un système commandable mono-entrée dont une représentation d’état est: ˙ X(t) = A.X(t) + B.u(t) Y (t) = C.X(t) + D.u(t) Il existe toujours une commande u(t) permettant d’atteindre un état désiré Xdes à partir d’un état initial X0 en un temps désiré tdes et cette commande est: ˆ tdes T T AT (tdes −t) u(t) = B e ( eAτ BB T eA τ dτ )−1 (Xdes − eAtdes X0 ) 0
Fiche bilan La fiche bilan à rédiger pour ce chapitre doit répondre aux problématiques suivantes: • Qu’est-ce qu’une commande en boucle ouverte? Quel est son but? • Qu’est-ce qu’un système commandable? Pourquoi est-il important de connaître la commandabilité d’un système? Comment peut-on vérifier la commandabilité d’un système? • Quelle sont les différentes techniques de conception d’une commande en boucle ouverte? Dans quels cas utilise-t-on chacune d’entre elles? • Quelles sont les limites de cette méthode de commande des systèmes? 1 équation est autorisée sur la fiche.
Exercice bonus Exercise 5. Définition de trajectoire pour le moteur Pour cet exercice, on néglige le couple résistant subi par le moteur. On souhaite que la vitesse de rotation du moteur augmente linéairement pendant les cinq premières secondes jusqu’à atteindre la vitesse de rotation nominale, puis se maintienne à cette vitesse pendant dix secondes et enfin décroisse linéairement jusqu’à l’arrêt cinq secondes plus tard. On peut représenter l’évolution souhaitée de la vitesse de rotation du moteur de la manière suivante: 35
3
COMMANDE EN BOUCLE OUVERTE
1. Déterminer l’équation de la vitesse de rotation du moteur sur les trois phases du cycle de fonctionnement. 2. Par une démarche similaire à celle vue dans ce chapitre, indiquer alors l’expression de la tension à appliquer au moteur pour obtenir un tel comportement ainsi que l’expression du couple moteur pendant ces trois phases. 3. Tracer ces différentes évolutions et vérifier que les valeurs obtenues sont cohérentes avec le fonctionnement d’un moteur réel. 4. Quels écarts peut-on attendre précisément si on applique la commande calculée dans cet exercice sur un moteur réel? Exercise 6. Essai des amortisseurs d’un véhicule On reprend le système de l’exercice 2 afin de faire des essais de fatigue sur les amortisseurs. Pour cela, on souhaite faire osciller le véhicule selon la loi suivante x(t) = 0, 2sin(t). 1. Vérifier la commandabilité du système. 2. Par une démarche similaire à celle vue dans ce chapitre, donner l’expression de l’évolution de la force à appliquer au véhicule pour que celui-ci suive ce comportement.
36
4
Commande par retour d’état
Il est donc possible de générer un signal de commande afin de faire parvenir un système dans un état donné selon plusieurs méthodes avec une précision relative. On peut donc considérer qu’il est possible de s’approcher d’un état donné grâce à la boucle ouverte, mais qu’une autre méthode est nécessaire pour obtenir un résultat plus précis ou pour maintenir le système dans un état souhaité. Le retour d’état est une méthode permettant d’atteindre cet objectif.
4.1
Problématique
Pour éclairer les problématiques liées à la commande en boucle ouverte, on se place dans le cas où le moteur est initialement à l’arrêt et on lui applique une tension continue à ses bornes (essai indiciel). On néglige tous les couples de frottements. Question: 1. En s’inspirant de l’exercice bonus de la partie 2, rappeler le comportement du moteur obtenu lorsqu’on lui applique une consigne échelon. Relevé sur le tracé de la réponse indicielle le temps de réponse à 5% noté tr5% . Réponse: La solution de l’équation autonome (ou sans second membre) a été établie dans la partie 2 comme suit: Cm (t) K1 .e−418t + K2 .e−82,1t = Ω(t) −28, 14.K1 .e−418t − 143, 5.K2 .e−82,1t Il faut ajouter à cette solution la solution particulière pour Cm (t) liée à la tension d’alimentation du moteur. Cette tension d’alimentation étant constante, on cherchera des valeurs constantes de Cm et Ω comme solution particulière. Il faut donc résoudre:
0 0
=
− Lr 1 J
2
− KL 0
Cm Ω
+
K L
0
Um
Cm = 0 Ω = UKm
L’évolution temporelle du couple moteur et de sa vitesse de rotation en réponse à un échelon de tension à ses bornes est donc: Cm (t) = K1 .e−418t + K2 .e−82,1t Ω(t) = −28, 14.K1 .e−418t − 143, 5.K2 .e−82,1t + UKm Et on peut déterminer les constantes K1 et K2 pour les conditions initiales au moment du démarrage du moteur Ω(0) = 0 et Cm (0) = 0: 0 = K1 + K2 0 = −28, 14.K1 − 143, 5.K2 + UKm (
Um K1 = − 115,4K = −0.16Um Um K2 = 115,4K = 0, 16Um
37
4
COMMANDE PAR RETOUR D’ÉTAT
On en conclut finalement la réponse du moteur à un échelon de tension:
Cm (t) = Um (0, 16e−82,1t − 0, 16e−418t ) Ω(t) = Um (4, 5e−418t − 23e−82,1t + 18, 52)
Ces expressions du couple moteur et de la vitesse de rotation correspondent au tracé suivant:
On constate sur ces relevés que le temps de réponse à 5% vaut approximativement tr5% = 40ms. Question: 2. On considère que la résistance de l’induit du moteur est en fait nulle r = 0Ω. Par une technique similaire à celle utilisée dans la partie 2, calculer l’évolution du couple moteur et de la vitesse de rotation pour ce type de commande. Exprimer le couple et la vitesse de rotation à l’aide de fonctions trigonométriques cosinus et sinus, et les tracer. Quelles sont les valeurs propres obtenues lors de la diagonalisation de la matrice A? Quel lien peut-on faire entre ces valeurs propres et le comportement du système? Réponse: Pour une résistance d’induit nulle, on obtient l’équation de commande suivante:
C˙m (t) ˙ Ω(t)
=
0 1 J
2
− KL 0
38
Cm (t) Ω(t)
+
K L
0
Um (t)
4.1
Problématique
Comme d’habitude on commence par chercher les valeurs propres de la matrice Am : 2
0 |Am − λ.I| =
1
− KL 0
J
⇐⇒ λ2 +
K2 LJ
−
λ 0
0 λ
=0
=0
2
∆ = − 4K LJ < 0 λ=
√ ±i −∆ 2
= ±i √K LJ
On constate que les valeurs propres de la matrice Am sont des valeurs imaginaires pures conjuguées. On peut de la même manière que dans la partie 2, définir une matrice de passage P permettant de passer de la matrice Am à la matrice diagonale équivalente en recherchant les vecteurs propres correspondant aux valeurs propres trouvées: 2 ta −λ − KL =0 1 tb −λ J ⇐⇒ ±λta − ⇐⇒
ta tb
K2 L .tb
=
=0 2
"
±K Lλ 1
=
q # J ±iK L 1
On constitue ainsi la matrice de passage P à partir des deux vecteurs propres définis précédemment et calculer sa matrice inverse: " q q # J J −iK L iK L P = 1 1 P −1 =
i
q
L 2 q4K J
−i
1 2
L 4K 2 J
1 2
On peut aussi déterminer l’expression de la matrice diagonale Ad , soit en calculant Ad = P −1 Am P soit en écrivant directement Ad avec les valeurs propres sur la diagonale: " Ad =
−i √K LJ 0
0
#
i √K LJ
On calcule alors simplement la solution de l’équation homogène Xd (t) à l’aide de la forme diagonalisée de la matrice: " # −i √K t LJ K1 e Xd (t) = i √K t K2 e LJ A partir de cette solution, on retranspose dans l’espace d’état original pour obtenir le comportement de Cm (t) 39
4
COMMANDE PAR RETOUR D’ÉTAT
et Ω(t): Xm (t) = P.Xd (t) Xm (t) =
Cm (t) Ω(t)
"
=
iK
q
i √K t −i √K t J LJ − K e LJ ) 1 L (K2 e −i √K t i √K t LJ K2 e LJ + K1 e
#
On constate aisément que la solution particulière de l’équation dans le cas présent est exactement la même que dans le cas précédent:
Cm = 0 Ω = UKm
Il ne reste plus alors qu’à utiliser les conditions initiales pour déterminer les valeurs de K1 et K2 , ces conditions initiales étant identiques au cas précédent: Ω(0) = 0 et Cm (0) = 0. (
q J (K2 − K1 ) 0 = iK L 0 = K1 + K2 + UKm
m K1 = K2 = − U 2K Um K2 = − 2K
On en conclut finalement la réponse du moteur à un échelon de tension: K K q i √ t −i √ t C (t) = U J (e 2 LJ −e 2 LJ ) m m L 2i K K i √ t −i √ t Um e 2 LJ +e 2 LJ Ω(t) = K (− + 1) 2
(
q J Cm (t) = Um L sin( 2√KLJ t) Um Ω(t) = K (1 − cos( 2√KLJ t))
Ces expressions du couple moteur et de la vitesse de rotation correspondent au tracé suivant: 40
4.1
Problématique
D’après ce tracé, on constate que le fait de considérer la résistance d’induit du moteur comme nulle implique un comportement oscillant de la vitesse du moteur (dû à la présence de valeurs propres complexes) et une limite d’instabilité, les oscillations n’étant pas amorties (dû à la partie réelle non nulle des valeurs propres). Question: 3. Détailler alors le comportement du moteur en fonction des valeurs de sa résistance d’induit: r > 370mΩ, 0Ω < r < 370mΩ et r < 0Ω. Lier les résultats mathématiques au comportement physique du moteur. Réponse: Les deux calculs importants à prendre en compte pour étudier les différents comportements possibles du moteur en fonction de la valeur de sa résistance d’induit sont le discriminant de la matrice Am noté ∆ et les valeurs propres de cette matrice noté λ. Pour rappel: (
2
∆ = ( Lr )√2 − 4 K JL λ=
r ±(i) ∆− L 2
On regroupe tous les cas possibles dans un tableau: 41
4
r
∆
r>
q
2
4 KJ L = 370mΩ
∆>0
r=
q
2
4 KJ L = 370mΩ
∆=0
r<
q
2
4 KJ L = 370mΩ
∆<0
λ <(λ) < 0 =(λ) = 0 <(λ) > 0 =(λ) = 0 <(λ) < 0 =(λ) = 0 <(λ) > 0 =(λ) = 0 <(λ) < 0 =(λ) 6= 0 <(λ) > 0 =(λ) 6= 0
COMMANDE PAR RETOUR D’ÉTAT comportement stable, régime amorti 2
instable, régime amorti (impossible si 4 K JL > 0) stable, régime critique instable, régime critique (impossible si
r L
> 0)
r L
> 0)
stable, régime oscillant instable, régime oscillant (impossible si
On constate ainsi que dans le cas d’un moteur à courant continu, le comportement de celui-ci peut-être amorti, critique ou oscillant selon la valeur de sa résistance d’induit. On aurait également pu étudier le comportement de celui-ci en fonction de la valeur de l’inductance ou de l’inertie entrainée par le moteur. On remarque toutefois que les caractéristiques physique d’un moteur font que celui-ci ne peut avoir un comportement instable naturellement. Question: 4. A partir de tous les cas étudié précédemment, indiquer les problèmes pouvant être suscités par une commande en boucle ouverte lorsque l’on souhaite stabiliser une sortie d’un système autour d’une valeur précise en lui appliquant une commande constante. En déduire la nécessité de l’utilisation d’un retour d’état. Réponse: Les problèmes que l’on peut rencontrer lors de l’application d’une commande sur un système en boucle ouverte: • Système instable: la sortie du système diverge alors, s’éloignant de la valeur de consigne. Ce comportement peut impliquer de graves dégradations physiques du système. • Système oscillant: la sortie évolue autour de la valeur de consigne. Un dépassement trop important de cette valeur de consigne peut éventuellement également dégrader le système. • Système lent: la sortie évolue trop lentement vers la valeur de consigne. Cela peut être le cas pour un système trop fortement amorti. • Système imprécis: la sortie n’atteint pas exactement la valeur de consigne. La rencontre de ces éventuels problèmes en boucle ouverte peut amener le concepteur du système à mettre en place un retour d’état (boucle fermée) afin de corriger ceux-ci.
42
4.1
Problématique
Question: 5. D’une manière générale pour un système d’ordre deux, représenter dans le plan complexe 6 positionnements des paires de pôles (ou valeurs propres) amenant à 6 comportements différents possibles de ce système. Réponse:
On distingue sur le plan complexe: • En jaune, un système stable fonctionnant en régime amorti. • En rouge, un système en limite de stabilité fonctionnant en régime amorti. • En bleu, un système instable fonctionnant en régime amorti. • En turquoise, un système stable fonctionnant en régime critique. • En vert, un système stable fonctionnant en régime oscillant. • En noir, un système instable fonctionnant en régime oscillant. Question: 6. Compléter la définition suivante. Réponse: Valeurs propres λ Tous les λ sont tels que <(λ) < 0 Au moins un λ est tel que <(λ) = 0 Au moins un λ est tel que <(λ) > 0 43
Stabilité Système stable Système en limite de stabilité Système instable
4 Valeurs propres λ Tous les λ sont tels que =(λ) = 0 Tous les λ sont identiques Au moins un λ est tel que =(λ) 6= 0
COMMANDE PAR RETOUR D’ÉTAT
Régime de fonctionnement Régime amorti Régime critique Régime oscillant
Definition 8. Comportement global d’un système en fonction de ses valeurs propres Le comportement global d’un système, quel que soit son ordre, est facilement évaluable grâce à ses valeurs propres λ (ou pôles). Pour connaître la stabilité et le régime de fonctionnement du système, on peut se reporter aux tableaux suivants: Valeurs propres λ Tous les λ sont tels que <(λ) < 0 Au moins un λ est tel que <(λ) = 0 Au moins un λ est tel que <(λ) > 0 Valeurs propres λ Tous les λ sont tels que =(λ) = 0 Tous les λ sont identiques Au moins un λ est tel que =(λ) 6= 0
4.2
Stabilité du système
Régime de fonctionnement
Placement des pôles dans le plan complexe
Dans cette partie, on considérera toujours que le moteur fonctionne de manière stable. Question: 1. Rappeler dans quelle partie du plan complexe doivent se trouver les valeurs propres de la matrice Am (ou pôles) pour que le moteur fonctionne de manière stable. Réponse: Pour qu’un système soit stable, il faut que les valeurs propres de sa matrice Am soit à partie réelle négative, c’est-à-dire que les pôles se trouvent dans le demi-plan complexe gauche. Question: 2. On considère que le moteur a un comportement amorti. Que peut-on alors dire des valeurs propres de la matrice Am ? En s’inspirant de la partie 2.1, écrire l’expression générique de l’évolution de la vitesse de rotation du moteur suite à un essai de lâcher en fonction des valeurs propres λi et des constantes d’intégration Ki . Réponse: Pour qu’un système soit amorti, il faut que ses valeurs propres soient réelles (partie imaginaire nulle). Dans le cas du moteur, l’évolution de sa vitesse de rotation peut alors s’écrire: Ω(t) = K1 eλ1 t + K2 eλ2 t 44
4.2
Placement des pôles dans le plan complexe
Question: 3. En déduire les expressions des constantes de temps τi pour chaque valeur propre λi . Comment doivent être ces valeurs λi pour que le moteur réagisse plus ou moins rapidement? Réponse: D’après l’expression précédente, les exponentielles vont décroître si λ < 0, plus ou moins rapidement en fonction de λ, selon une constante de temps τi = λ1i . Pour que le moteur réagisse rapidement, il faut donc une grande valeur pour λ et pour que le moteur réagisse lentement, il faut une petite valeur pour λ. On comprend également que pour une valeur positive de λ, l’exponentielle ne sera plus décroissante mais croissante et le moteur se comportera de manière instable. Question: 4. On considère que le moteur a un comportement oscillant. Que peut-on alors dire des valeurs propres de la matrice Am ? En s’inspirant de la partie 4.1, écrire l’expression générique de l’évolution de la vitesse de rotation du moteur suite à un essai de lâcher en fonction des parties réelles et complexes des valeurs propres λi notées <(λi ) et =(λi ) et des constantes d’intégration Ki . Réponse: Pour qu’un système soit oscillant, il faut que ces valeurs propres soit complexes à valeurs imaginaires non nulles. Dans le cas du moteur, l’évolution de sa vitesse de rotation peut alors s’écrire: Ω(t) = K1 eλ1 t + K2 eλ2 t sauf que dans le cas présent les λi sont des valeurs complexes conjuguées. On peut alors réécrire Ω(t) en fonction de la partie réelle et de la partie imaginaire de λ: Ω(t) = K1 e[<(λ)+i=(λ)]t + K2 e[<(λ)−i=(λ)]t ⇐⇒ Ω(t) = e<(λ)t K1 ei=(λ)t + K2 e−i=(λ)t 0 0 ⇐⇒ Ω(t) = e<(λ)t K1 cos (=(λ)t) + K2 sin (=(λ)t) On remarque que le comportement de la vitesse de rotation du moteur peut être considéré comme un comportement oscillant (sinusoïdal) dû à la partie imaginaire de λ auquel vient s’ajouter un comportement amortissant de manière exponentielle ces oscillations dû à la partie réelle de λ. Question: 5. En déduire l’expression de la constante de temps τ du système en fonction de <(λ). Comment doivent être les valeurs λ pour que le moteur réagisse plus ou moins rapidement? Réponse: D’après l’expression précédente, l’évolution de la vitesse de rotation du moteur sera oscillante et les oscillations seront comprises dans une enveloppe exponentielle décroissante qui va décroître plus ou moins rapidement en 1 . Pour que les oscillations s’atténuent rapidement, il fonction de <(λ), selon une constante de temps τ = <(λ) faut donc une forte valeur pour la partie réelle de λ et pour que les oscillations soient maintenues longtemps, il faut une faible valeur pour la partie réelle de λ. On comprend également que pour une valeur positive de la partie réelle de λ, l’exponentielle ne sera plus décroissante mais croissante et les oscillations ne seront plus atténuées mais amplifiées au cours du temps, rendant le moteur instable. 45
4
COMMANDE PAR RETOUR D’ÉTAT
Question: 6. En déduire l’expression de la pulsation ωr des pseudo-oscillations de la vitesse de rotation en fonction de =(λ). On appellera ωr la pulsation de résonance du système. Comment doivent être les valeurs λ pour que le moteur oscille plus ou moins rapidement? Réponse: Le comportement oscillant de l’évolution de la vitesse de rotation du moteur est lié à la présence de sinus et de cosinus dont la pulsation est ωr = =(λ). Ainsi, pour obtenir des oscillations rapides, la valeur de la partie imaginaire de λ doit être grande et pour obtenir des oscillations lentes, la valeur de la partie imaginaire de λ doit être faible. Question: 7. On note ζ l’amortissement du système. On sait pour un système du second ordre oscillant que ζ < 1 et que ζ sera d’autant plus faible que l’on observe un grand nombre d’oscillations avant que la valeur de sortie ne soit comprise dans une plage de 5% autour de la valeur finale. En déduire les caractéristiques de λ amenant un comportement oscillant plus ou moins amorti du moteur. Réponse: Pour obtenir un amortissement la plus proche possible de ζ = 1 dans le cas où le moteur à un comportement oscillant, il faut donc que les oscillations soient lentes (c’est-à-dire une petite valeur de la partie imaginaire de λ) et qu’elles soient rapidement atténuées (c’est-à-dire une forte valeur de la partie réelle de λ). Question: 8. On rappelle que dans le domaine de Laplace, la fonction de transfert du moteur exprimant le comportement de sa vitesse de rotation en fonction de sa tension d’alimentation pourrait s’écrire: K Ω(p) = Um (p) 1 + 2ζ ωp0 +
p2 ω02
où K représente le gain statique du moteur, ζ est son coefficient d’amortissement et ω0 est sa pulsation propre. Sachant que les valeurs propres de Am correspondent aux pôles de la fonction de transfert, par identification, exprimer la pulsation ω0 et le coefficient d’amortissement ζ en fonction du module des valeurs propres |λ|, de leur partie réelle <(λ) et de leur partie imaginaire =(λ). Vérifier la cohérence du résultat trouvé avec celui de la question précédente. Réponse: Les pôles de la fonction de transfert correspondant aux valeurs propres de Am , on peut écrire: 1 + 2ζ
p2 p ¯ + 2 = (p − λ)(p − λ) ω0 ω0
¯ − (λ + λ)p ¯ + p2 ⇐⇒ ω02 + 2ζω0 p + p2 = λλ 2
⇐⇒ ω02 + 2ζω0 p + p2 = |λ| − 2<(λ)p + p2 L’identification de ζ et ω0 est alors très simple: ( √ ζ = − <(λ) |λ| = − ω0 = |λ| 46
<(λ) <2 (λ)+=2 (λ)
4.2
Placement des pôles dans le plan complexe
On constate en effet qu’une forte valeur de <(λ) pour une faible valeur de =(λ) amène à un coefficient d’amortissement ζ proche de 1. Question: 9. En identifiant ce que représente <(λ) et |λ| dans le plan complexe pour une valeur donnée de λ ayant une partie imaginaire non nulle et une partie réelle négative, remarquer que le coefficient d’amortissement ζ correspond, dans le cas d’un régime oscillant, à la valeur du cosinus d’un angle à préciser. Réponse: Si on considère la valeur propre complexe λ suivante dans le plan complexe,
On constate aisément que ζ = − <(λ) |λ| = |cos θ| = − cos(arg(λ)). Le coefficient d’amortissement correspond donc au cosinus de l’angle que fait la valeur propre avec l’axe réel négatif, c’est-à-dire à l’opposé du cosinus de l’argument de la valeur propre complexe. Definition 9. Comportement précis d’un système en fonction de ses valeurs propres On peut déterminer le comportement précis d’un système grâce aux caractéristiques de ses valeurs propres λ:
1
• Son temps de réponse correspond à l’inverse de la partie réelle de la valeur propre: τ = <(λ)
• Son amortissement correspond au cosinus de l’argument de la valeur propre: ζ = |cos(arg(λ))| • Sa pulsation propre correspond au module de la valeur propre: ω0 = |λ| • Sa pulsation de résonance (ou la pulsation de ses pseudos-oscillations) correspond à la partie imaginaire de la valeur propre: ωr = |=(λ)| On peut alors représenter graphiquement un cahier des charges spécifiant ces éléments en délimitant dans le plan complexe les zones dans lesquelles doivent se trouver les valeurs propres pour répondre à ce cahier des charges.
47
4
4.3
COMMANDE PAR RETOUR D’ÉTAT
Principe du retour d’état
On étudie l’effet d’un retour d’état sur la représentation d’état d’un système. K1×n = ( k1 k2 ) ∈ R2 est un vecteur contenant des coefficients dont on cherche à déterminer les valeurs pour obtenir un comportement souhaité du système:
La mise en place d’un tel retour d’état implique qu’il est possible de s’introduire au sein du système réel pour prélever, par le biais de capteurs, les différents éléments du vecteur d’état X(t) utilisés dans la représentation d’état. Question: 1. Réécrire la représentation d’état du système de la figure précédente dans la configuration d’un retour d’état sous la forme: ˙ X(t) = A0 .X(t) + B.u(t) Y (t) = C 0 .X(t) + D.u(t) en déterminant l’expression de A0 et C 0 en fonction des autres éléments du modèle du système. On considère la matrice D nulle. Quels éléments de la représentation d’état va-t-on pouvoir modifier en jouant sur les coefficients du vecteur K? Réponse: On remarque que la nouvelle entrée du système peut s’écrire ε(t) = u(t) − KX(t). On réécrit alors la représentation d’état en prenant en compte cette nouvelle entrée: ˙ X(t) = A.X(t) + B.ε(t) Y (t) = C.X(t) + D.ε(t)
˙ X(t) Y (t)
= =
A.X(t) + B(u(t) − KX(t)) C.X(t) + D(u(t) − KX(t))
˙ X(t) = (A − BK).X(t) + B.u(t) Y (t) = (C − DK).X(t) + D.u(t)
Par identification, on peut donc déterminer l’expression des matrices A0 = A − BK et C 0 = C − DK. Si la matrice D est nulle, alors C 0 = C et les choix de coefficients du vecteur K n’influeront que sur la matrice A0 . Sachant que c’est précisément cette matrice qui influe directement sur le comportement du système (stabilité, régime, rapidité...), on pourra alors jouer sur ces coefficients pour obtenir les performances souhaitées pour le système grâce au retour d’état.
48
4.3
Principe du retour d’état
Question: 2. Donner la représentation d’état du système pour r = 0Ω en incluant le retour d’état K. A quelle condition mathématique rencontrée lors du calcul des valeurs propres le moteur fonctionnera-t-il en régime critique? (A.N.) En déduire des valeurs q de k1 et k2 à fixer pour obtenir un comportement similaire au système avec une résistance d’induit r =
4K 2 L J
' 370mΩ (régime critique).
Réponse: On écrit l’équation de commande de la représentation d’état du moteur dans le cas r = 0Ω avec un retour d’état K: K K 2 Cm (t) C˙m (t) 0 − KL L k k − = + L Um (t) 1 2 1 ˙ Ω(t) 0 0 Ω(t) 0 J kK K 2) Cm (t) C˙m (t) − 1L − K(K+k L L Um (t) = + 1 ˙ Ω(t) 0 Ω(t) 0 J On rappelle que pour que le moteur fonctionne en régime critique, il faut que le discriminant de |A − λI| soit nul. Si on cherche un tel comportement, il faut donc chercher les valeurs de k1 et k2 respectant cette condition:
− k1 K − λ − K(K+k2 )
= λ2 + k1 K λ + K(K + k2 ) L L |A − λI| =
1
−λ L JL J 2 k1 K 4K(K + k2 ) ∆= − =0 L JL Pour obtenir ce fonctionnement, on peut par exemple choisir k1 = 0 et k2 = −K. Question: 3. (A.N.) Donner l’ensemble des couples ( k1 k2 ) permettant de faire fonctionner le système en régime critique. Quelle différence sur la rapidité du système provoque le choix d’un de ces couples par rapport aux autres? Quelle contrepartie faut-il escompter? Donner deux exemples. Réponse: Pour obtenir l’ensemble des couples ( k1
k2 ) menant au régime critique, il faut résoudre l’équation ∆ = 0:
k1 K L
2 =
4K(K + k2 ) JL
On remarque immédiatement que cette équation n’est définie que pour k2 compris dans l’intervalle [−K; +∞]. Pour toute valeur comprise dans cet intervalle, il faut alors compléter le couple avec l’une des deux valeurs de k1 suivantes: r 4L(K + k2 ) k1 = ± JK Ces valeurs de couple permettent juste de s’assurer que le moteur fonctionnera en régime critique mais n’indique rien sur sa stabilité. Cela dépendra de la valeur de k1 uniquement. En effet, comme ∆ = 0, 1K la valeur propre double du système avec retour d’état sera λ = − k2L . On constate ainsi que pour des valeur k1 > 0, le moteur se comportera de façon stable alors que pour des valeurs k1 < 0, le moteur se comportera de façon instable. 49
4
COMMANDE PAR RETOUR D’ÉTAT
Le choix des valeurs de ( k1 k2 ) influent également sur la rapidité du système. En effet, si le système est stable, sa sortie convergera selon eλt et donc d’autant plus rapidement que les valeurs propres de A − BK sont grandes en valeur absolue (λ 0). Dans ce cas précis, il suffit de prendre une valeur importante de k1 pour que le système converge rapidement. Cependant, on ne peut augmenter k1 indéfiniement. En effet, une trop grande valeur de k1 provoquera des tensions trop importantes au niveau du retour d’état! Voici des exemples de valeurs pour k1 , k2 , de constantes de temps du système τ et de tension dans le retour d’état V calculée pour la vitesse de rotation nominale et le couple nominal du moteur: k1 0 1 6, 86 20
k2 −K −0, 053 0 0, 4
τ ∞ 37ms 5, 4ms 1, 9ms
V = k1 CN + k2 ΩN −17, 8V −17, 1V 2, 4V 139V
On constate ainsi qu’il est raisonnable d’atteindre une rapidité du système de l’ordre de 5ms mais qu’en voulant être plus rapide, on atteint très vite des tensions trop importantes dans la boucle de retour. Ces tensions trop fortes amèneront forcément des saturations et des comportements qui différeront de ceux attendus. Question: → − → − 4. (A.N.) Dans un plan (k1 ; k2 ), tracer la courbe correspondant aux valeurs de ( k1 k2 ) pour lesquelles le système fonctionne en régime critique. En s’inspirant de la partie 4.1, repérer la zone de ce plan correspondant à un régime oscillant et celle correspondant à un régime amorti. Réponse: Le régime amorti est obtenu pour ∆ > 0, c’est-à-dire dans le cas où k1 = 0, pour des valeurs k2 < −K. De même, le régime oscillant correspond à ∆ < 0, c’est-à-dire dans le cas où k1 = 0, pour des valeurs k2 > −K. Par continuité, on définit les valeurs de ( k1 k2 ) permettant d’obtenir un régime amorti comme la zone jaune dans la figure ci-après et les valeurs de ( k1 k2 ) permettant d’obtenir un régime oscillant comme la zone bleue.
50
4.3
Principe du retour d’état
Question: 5. (A.N.) On considère le régime oscillant. A quelle condition mathématique rencontrée lors du calcul des valeurs propres le moteur fonctionnera-t-il en régime instable? En déduire les valeurs de ( k1 k2 ) pour lequel le → − → − système devient instable. Repérez la zone associée dans le plan (k1 ; k2 ). Réponse: Comme rappelé dans la définition 8, le moteur fonctionnera en régime instable si la partie réelle des valeurs propres est négative. Donc pour k1 > 0, le moteur se comportera de manière stable et pour k1 < 0, le moteur se comportera de manière instable. Question: 6. (A.N.) De même, trouver les valeurs de ( k1 k2 ) correspondant à une limite de stabilité en régime amorti. → − → − Placer ces points sur le plan (k1 ; k2 ) pour définir les zones de stabilité et d’instabilité en régime amorti. Réponse: De la même manière que pour le régime oscillant, le moteur se comportera de manière stable si les valeurs propres sont négatives, c’est-à-dire: √ ∆ k1 K − <0 2 2L √
⇐⇒
∆<
s ⇐⇒
k12 −
4L J
k1 K L
k2 1+ < k1 K
On distingue deux cas différents. Dans le premier cas k1 < 0, l’inéquation ne peut jamais être vraie, le moteur se comportera donc forcément de manière instable. Dans le second cas k1 > 0, on poursuit le calcul: −
4L J
k2 1+ <0 K
k2 > −K Dans ce cas, le moteur ne se comportera donc de manière stable que si k2 > −K. On peut ainsi tracer globalement les zones de stabilité du moteur en boucle fermée en fonction des valeurs du couple ( k1 k2 ): 51
4
COMMANDE PAR RETOUR D’ÉTAT
Le moteur se comportera donc de manière stable pour des valeurs de ( k1 k2 ) choisies dans la zone verte et de manière instable pour des valeurs de ( k1 k2 ) choisies dans la zone rouge. Question: 7. Déduire de tout cela l’intérêt de la commande par retour d’état en plus d’un calcul de commande en boucle ouverte. Sachant qu’un système peut se trouver dans une situation telle qu’on ne peut avoir accès à son fonctionnement interne (carter, milieu dangereux etc...), quel problème peut-on rencontrer lors de la mise en place d’une commande par retour d’état? Réponse: Le calcul de commande en boucle ouverte permet d’obtenir le comportement approximatif souhaité du système et le retour d’état permet d’affiner le comportement du système voir même parfois d’assurer sa stabilité par le choix de la matrice K. Si on ne peut accéder au fonctionnement interne du système, il est alors a priori impossible de connaître la valeur de son état à tout moment et le retour d’état est donc rendu impossible également. Question: 8. Le cas étudié dans cette partie était mono-entrée. Comment adapter la matrice K pour les cas multi-entrées? Réponse: Si le système est multi-entrées, il faut ajouter une ligne supplémentaire à la matrice K par entrée. Question: 9. A partir de tout ce qui a été vu dans cette partie et dans la partie précédente, indiquer la zone du plan complexe dans laquelle il faudra placer les valeurs propres du moteur par retour d’état pour répondre au cahier des charges suivant: • Comportement oscillant stable • Amortissement: ζ > 0, 5 52
4.3
Principe du retour d’état
• Fréquence des pseudos-oscillations: fr < 1Hz • Constante de temps: τ < 1s Réponse: Pour chacun des paramètres du cahier des charges, on définit la zone du plan complexe dans laquelle devra se trouver les valeurs propres après placement de celles-ci. Pour respecter la condition de stabilité demandée, les valeurs propres λ doivent être à partie réelle négative. Représentons cela en indiquant en rouge les zones du plan complexe pour lesquelles cette condition de stabilité n’est pas respectée.
Pour respecter l’amortissement souhaité, les valeurs propres λ doivent être telles que arg(−λ) < arccos(ζ), c’est-à-dire dans notre cas pour arg(−λ) < 60°. Représentons cela en indiquant en rouge les zones du plan complexe pour lesquelles cette condition d’amortissement n’est pas respectée.
53
4
COMMANDE PAR RETOUR D’ÉTAT
Pour respecter la fréquence des pseudo-oscillations souhaitée, les valeurs propres λ doivent être telles que =(λ) < 2πfr , c’est-à-dire dans notre cas pour =(λ) < 6, 28. Représentons cela en indiquant en rouge les zones du plan complexe pour lesquelles cette condition sur la fréquence des pseudo-oscillations n’est pas respectée.
Pour respecter la constante de temps souhaitée, les valeurs propres λ doivent être telles que <(λ) < − τ1 , c’est-à-dire dans notre cas pour <(λ) < −1. Représentons cela en indiquant en rouge les zones du plan complexe pour lesquelles cette condition sur la constante de temps n’est pas respectée.
En rassemblant les quatre conditions nécessaires au respect du cahier des charges, les zones rouges identifient les zones du plan complexe dans lesquelles il est exclu de placer les pôles et les zones blanches celles où il est envisageable de les placer. On peut ensuite grâce au retour d’état effectuer le placement souhaité. 54
4.3
Principe du retour d’état
Definition 10. Commande par retour d’état Soit l’équation de commande suivante:
X˙ = AX + BU
où X représente l’état du système et U sa commande. Le comportement de cette équation de commande est caractérisé par les valeurs propres de la matrice A. L’ajout à la commande U d’un retour d’état −KX permet de modifier l’équation de commande de la manière suivante: X˙ = (A − BK)X + BU | {z } A0
Il est alors possible de fixer les valeurs propres de la matrice A0 en choisissant les valeurs de la matrice K correspondantes et ainsi modifier le comportement du système.
Fiche bilan La fiche bilan à rédiger pour ce chapitre doit répondre aux problématiques suivantes: • Quels sont les différentes caractéristiques (ou performances) d’un système commandé en boucle ouverte? • Pourquoi voudrait-on mettre en oeuvre un retour d’état? • Qu’est-ce qu’un retour d’état? Comment est-il mis en oeuvre concrètement? • Quelle est la démarche permettant de définir les valeurs des éléments du retour d’état pour obtenir un comportement donné du système? 1 équation est autorisée sur la fiche. 55
4
COMMANDE PAR RETOUR D’ÉTAT
Exercices bonus Exercise 7. Conception du retour d’état pour le moteur Dans le cas du moteur étudié dans ce chapitre, déterminer le comportement du système et tracer l’évolution de la vitesse de rotation du moteur pour les valeurs des éléments de la boucle de retour suivant: • ( k1
k2 ) = ( 1
• ( k1
k2 ) = ( −1
1 ) −1 )
Déterminer des valeurs du couple ( k1
k2 ) permettant d’obtenir les comportements suivants:
• Un régime amorti stable dont le temps de réponse à 5% à un échelon est de l’ordre de 5s. • Un régime oscillant stable dont la pseudo-période des oscillations sera de l’ordre de T0 = 100ms Exercise 8. Asservissement du système d’amortissement du véhicule On reprend le système de l’exercice 2. 1. Quelle critique peut-on apporter à ce système lorsqu’il est commandé en boucle ouverte? 2. En réfléchissant bien au cadre d’utilisation de ce système, proposer un comportement plus adapté pour celui-ci. Préciser notament les valeurs comme le temps de réponse, l’amortissement, etc... 3. Calculer alors le retour d’état à mettre en oeuvre pour obtenir le comportement ainsi défini. 4. Critiquer la mise en oeuvre d’un tel retour d’état sur un véhicule.
56
5
Estimation d’état
La commande par retour d’état présuppose d’avoir accès à l’état X(t) du système pour effectuer ce retour. Or ce n’est pas toujours le cas, certains systèmes clos ne permettent d’obtenir que les informations de sortie Y (t) du b système. Il peut alors être intéressant d’être capable de reconstruire l’état estimé X(t) du système en fonction de son entrée U (t) et de sa sortie Y (t) pour pouvoir ensuite mettre en place une commande par retour d’état. Si le système est observable, cette reconstruction est possible via un estimateur d’état.
5.1
Observabilité
Definition 11. Observabilité d’un système Un système est dit observable lorsqu’il est possible de reconstruire l’état X de ce système à un instant donné t à partir de la connaissance de son entrée U et de sa sortie Y pour des temps au-delà de t. Concrètement, pour déterminer l’observabilité d’un système, on peut calculer la matrice d’observabilité O d’une de ses représentations d”état, définie de la manière suivante: C C.A 2 OA,C = C.A .. . C.An−1
où n est le nombre de variables d’état. Le système est alors observable si et seulement si la matrice d’observabilité est de rang plein, c’est-à-dire que son déterminant est non nul. Question: 1. Pourquoi peut-on très rapidement affirmer que le moteur à courant continu est un système observable grâce à sa représentation d’état mécanique? Réponse: Etant donné que la matrice C de la représentation d’état mécanique est la matrice identité, on comprend aisément que l’observation de la sortie du système apporte directement la connaissance de l’état du système. Le système est donc forcément observable. Mathématiquement, il est évident que la matrice C étant de rang 2, la matrice OA,C sera également de rang 2, c’est-à-dire de rang plein. Par conséquent, on peut également conclure que le système est observable. Question: 2. On considère maintenant que seul le couple du moteur est mesuré par un capteur (il devient l’unique sortie du système). Réécrire la matrice C avec cette nouvelle hypothèse et calculer la nouvelle matrice d’observabilité correspondante. Dans ce cas, le système est-il observable? Réponse: On ne s’intéresse qu’au couple moteur en sortie, l’équation d’observation peut donc s’écrire: Cm (t) Cm (t) = 1 0 . Ω(t) 57
5
ESTIMATION D’ÉTAT
Et donc la matrice d’observabilité devient:
1 − Lr
OA,C =
0 2
− KL
La matrice d’observabilité étant de rang plein, le système est donc bien observable dans ce cas aussi. Question: 3. On considère maintenant que seule la vitesse de rotation du moteur est mesuré par un capteur (elle devient l’unique sortie du système). Réécrire la matrice C avec cette nouvelle hypothèse et calculer la nouvelle matrice d’observabilité correspondante. Dans ce cas, le système est-il observable? Réponse: On ne s’intéresse qu’à la vitesse de rotation du moteur, l’équation d’observation peut donc s’écrire: Cm (t) Cm (t) = 0 1 . Ω(t) Et donc la matrice d’observabilité devient: OA,C =
0
1 0
1 J
La matrice d’observabilité étant de rang plein, le système est donc bien observable dans ce cas aussi. Question: 4. On considère maintenant que seul la position angulaire du moteur est mesuré par un capteur (elle devient l’unique sortie du système). Ecrire la relation liant position angulaire et vitesse de rotation. Ecrire alors une représentation d’état correspondant à cette hypothèse avec un vecteur d’état de dimension 3. Dans ce cas, le système est-il observable? Réponse: ˙ La vitesse de rotation correspondant à la dérivation de la position angulaire Ω = dθ dt = θ, on peut écrire la nouvelle représentation d’état suivante: ˙ 0 1 0 θ(t) 0 θ(t) 1 ˙ = 0 Ω(t) Ω(t) + 0 Um (t) 0 J K r K2 ˙ Cm (t) 0 − L −L Cm (t) L θ(t) θ(t) = 1 0 0 Ω(t) Cm (t) La matrice d’observabilité s’écrit alors: 0 2 A = 0 0
0
2
−K LJ K2r L2
OA,C
1 = 0 0
1 J r − LJ r2 K2 L2 − LJ
0 1 0
0 0
1 J
On trouve à nouveau une matrice d’observabilité de rang plein. Le système est encore observable. 58
5.2
Estimateur d’état
Question: 5. Un système peut ne pas être observable si une de ses variables d’état n’influe pas sur sa sortie. Confirmer les résultats trouvés précédemment avec une étude qualitative physique du moteur. Réponse: Dans le cas du moteur, on comprends aisément que le couple moteur influe forcément sur la vitesse de rotation du moteur et donc sur sa position angulaire. Dans l’autre sens, la vitesse de rotation du moteur influe sur la force électromotrice de celui-ci et donc sur le courant circulant dans l’induit qui est directement lié au couple fourni par le moteur. On comprends ainsi pourquoi dans tous les cas précédents nous avons trouvé que le moteur, tel qu’il est modélisé avec ces représentations d’état, est observable. Question: 6. Donner un exemple de cas pour lequel la représentation d’état du moteur ne serait pas observable. Que peut-on dire de cette représentation d’état? Réponse: Si on avait considéré la température du moteur comme élément du vecteur d’état, le moteur n’aurait pas été observable car la température n’influe pas sur les valeurs de sortie (vitesse de rotation ou couple moteur). Toutefois l’utilisation d’une telle représentation d’état est d’un intérêt discutable. Question: 7. En déduire qu’un système non observable découle forcément d’une modélisation maladroite du système vis-àvis de la problématique que l’on souhaite résoudre (sortie du système). Réponse: Si le système est non observable, c’est donc que l’on a choisi une variable d’état n’influant pas sur la sortie du système et donc que la représentation contient au moins une variable d’état inutile. On peut alors réduire l’ordre du modèle en supprimant cette variable.
5.2
Estimateur d’état
Si un système ne permet pas l’accès à son état mais est observable, il est alors possible d’estimer son état à l’aide b d’un estimateur. Cet estimateur est un circuit électronique qui permettra de générer le signal d’état estimé X(t) en fonction des signaux d’entrée U (t) et de sortie Y (t) du système. Ce signal estimé pourra ensuite être utilisé, par exemple en étant réinjecté pour réaliser une commande par retour d’état. La précision de l’estimateur est donc importante, tout comme sa rapidité de convergence vers la valeur réelle de l’état. Dans toute cette partie, on considérera que seule la vitesse de rotation du moteur est mesurée et qu’il est donc nécessaire d’estimer la valeur du couple moteur pour effectuer le retour d’état. Definition 12. Estimateur d’état Un estimateur d’état est un simulateur permettant d’estimer l’état d’un système lorsque celui-ci est inaccessible sur le système lui-même. On utilise la représentation d’état issu de la modélisation du système réel pour obtenir l’estimateur d’état selon le schéma suivant, où x b(t) représente l’état estimé du système:
59
5
ESTIMATION D’ÉTAT
Question: 1. Compléter le schéma-bloc de la définition 12 en représentant la commande par le retour d’état K effectué sur b l’état estimé X(t). Réponse: Voir plus loin. Question: 2. Quel est l’inconvénient d’utiliser un état estimé pour le retour d’état plutôt que l’état réel? D’où peut provenir b − X(t)? l’écart entre l’état réel et l’état estimé noté δ(t) = X(t) Réponse: L’utilisation d’un état estimé pour le retour d’état plutôt que l’état réel risque de provoquer une erreur sur le comportement attendu du système malgré le choix des bonnes valeurs pour la matrice de retour K. L’écart entre l’état réel et l’état estimé provient de l’écart entre le modèle utilisé pour obtenir l’état estimé et le système réel. Question: 3. Pour limiter cet écart, on décide de comparer l’écart entre la sortie réelle du système et sa sortie estimée. Compléter le schéma-bloc de la définition 12 pour obtenir la valeur de la sortie estimée Yb (t) grâce à l’état b estimé X(t). Compléter alors le schéma-bloc de la définition 12 pour obtenir la valeur de l’erreur entre sortie estimée et sortie réelle ε(t) = Yb (t) − Y (t). Réponse: Voir plus loin. 60
5.2
Estimateur d’état
Question: 4. On décide de réinjecter ce vecteur erreur ε(t), après multiplication par une matrice V , dans l’additionneur b˙ dont la sortie est X(t). Compléter le schéma-bloc de la définition 12 pour prendre en compte cet élément. Indiquer les dimensions de la matrice V dans le cas de la construction de l’estimateur pour le moteur à courant continu. Réponse: Voir plus loin. Dans le cas de l’estimateur pour le moteur à courant continu, la sortie Y (t) (et donc l’erreur ε(t)) est uniquement constituée de la vitesse de rotation du moteur et l’état X(t) est toujours de dimension 2 (couple moteur et vitesse de rotation). On en déduit que la matrice V sera constituée de deux lignes et d’une seule colonne. Question: b˙ b 5. Donner dans ce cas l’expression de X(t) en fonction de U (t), ε(t) et X(t); puis en fonction de U (t), Y (t) et b ˙ b X(t); et enfin en fonction de X(t), X(t) et X(t). Réponse: D’après le schéma-bloc, on écrit: b˙ b + BU (t) + V ε(t) X(t) = AX(t) b˙ b + BU (t) + V (Yb (t) − Y (t)) = AX(t) ⇐⇒ X(t) b˙ b + BU (t) + V (C X(t) b − Y (t)) = AX(t) ⇐⇒ X(t) b˙ b + BU (t) − V Y (t) ⇐⇒ X(t) = (A + V C)X(t) b˙ b + X(t) ˙ ⇐⇒ X(t) = (A + V C)X(t) − AX(t) − V CX(t) Question: ˙ b − X(t) représente l’erreur 6. En déduire l’expression de δ(t) en fonction de δ(t). On rappelle que δ(t) = X(t) entre l’état estimé et l’état réel. Réponse: En reprenant l’expression de la question précédente, on trouve: b˙ ˙ b − X(t)) X(t) − X(t) = (A + V C)(X(t) ˙ = (A + V C)δ(t) ⇐⇒ δ(t)
61
5
ESTIMATION D’ÉTAT
Question: 7. En déduire qu’en agissant sur la matrice V on peut agir sur le comportement dynamique de cette erreur. Comment doit-on choisir V pour obtenir une erreur divergente? Comment doit-on choisir V pour obtenir une erreur convergente plus ou moins rapidement vers 0? Comment doit-on choisir V pour obtenir une oscillation de l’erreur ou pas? Réponse: ˙ On remarque que l’expression obtenue est très proche de celle observée sur le retour d’état X(t) = (A − BK)X(t). Tout comme il a été possible de jouer sur les valeurs de la matrice de retour K pour modifier le comportement de l’état du système, il sera possible de jouer sur les valeurs de la matrice V pour modifier le comportement de l’erreur entre l’état estimé et l’état réel du système. On pourra donc rendre le comportement de cette erreur stable ou instable, amorti ou oscillante, rapide ou lente en jouant sur la matrice V pour faire varier les valeurs propres de la matrice A + V C. L’erreur divergera si on choisit V telle que les valeurs propres de A + V C soient à partie réelle positive. L’erreur convergera vers 0 si on choisit V telle que les valeurs propres de A + V C soient à partie réelle négative, cette convergence sera d’autant plus rapide que ces valeurs propres sont grandes en valeur absolue. Enfin l’erreur oscillera autour de la valeur 0 si on choisit V telle que les valeurs propres de A + V C soient à partie imaginaire non nulle et sera amortie dans l’autre cas. Question: 8. Dans la pratique comment va-t-on choisir V pour obtenir le meilleur comportement possible? Réponse: Le but de l’estimateur d’état est d’obtenir une valeur de l’état estimé la plus proche possible de l’état réel. Pour cela il est bien sûr très important que l’estimateur converge et calcule cet état estimé plus rapidement que l’état réel n’évolue lui-même sans quoi la valeur estimée serait toujours en retard sur le système réel. On choisira donc une valeur de V permettant d’avoir un comportement de l’estimateur 10 à 100 fois plus rapide que le système lui-même. On essaiera également dans la mesure du possible de choisir une valeur de V amenant comportement amorti plutôt qu’un comportement oscillant. Enfin, pour simplifier le calcul de V , on pourra également décider de se placer dans le cas d’un régime critique et donc de valeurs propres multiples. Question: 9. Concevoir l’estimateur d’état (c’est-à-dire calculer la matrice V ) du moteur à courant continu afin que la vitesse de convergence de l’erreur entre l’état estimé et l’état réel soit 10 fois plus grande que la vitesse de réaction du système lui-même, sans oscillation. Réponse: On commence tout d’abord par calculer la matrice A + V C: r r 2 v1 −L − L − KL 0 1 + = A+VC = 1 1 v 0 2 J J
2
− KL + v1 v2
On cherche ensuite à calculer le discriminant ∆ du déterminant de la matrice A + V C − λI:
2
− r − λ − K 2 + v1
L
= λ2 + ( r − v2 )λ − rv2 − v1 + K L 1
v2 − λ
L L J LJ J
∆=
r L
− v2
2
+4
62
Jrv2 + Lv1 − K 2 LJ
5.2
Estimateur d’état
On ne souhaite pas avoir d’oscillation au niveau de l’erreur, on peut donc se placer en régime critique en choississant ∆ = 0. On aura alors une valeur propre double: λ=
r 1 (v2 − ) 2 L
On cherche à obtenir une convergence de l’erreur dix fois plus rapide que l’évolution de l’état. Il faut donc choisir une valeur propre pour l’estimateur dix fois plus grande que celle du système lui-même. On avait une valeur propre double λ = −185 pour le système, on choisira donc une valeur propre double λ = −2000 pour l’estimateur. La valeur de v2 amenant à cette valeur est donc: v2 = 2λ +
r = −3500 L
On détermine alors v1 sachant que ∆ = 0: Jrv2 + Lv1 − K 2 =0 L LJ 2 rv K2 r 2 − v2 − + ' 619 ⇐⇒ v1 = J L L LJ ∆=
r
− v2
2
+4
La matrice V de l’estimateur permettant d’obtenir une convergence relativement rapide de l’erreur entre l’état estimé et l’état réel est donc: 619 V = −3500 Question: 10. Quel problème de saturation peut-on rencontrer au niveau de l’estimateur? Donner une valeur approximative de l’erreur entre la sortie estimée et la sortie réelle à ne pas dépasser pour assurer un fonctionnement correct. Réponse: Selon la valeur de la matrice V , la tension produite en sortie de ce bloc risque d’être trop importante, donc de provoquer une saturation et ainsi un fonctionnement de l’estimateur moins performant que ce qui était attendu. Si on considère que les tensions produites par les différents blocs ne doivent pas dépasser 15V il 15 faut que l’erreur maximum entre la sortie estimée et la sortie réelle soit de |εmax | = 3500 = 4, 3mrad.s−1 . L’estimateur ne convergera donc à la vitesse souhaitée que pour des écarts de vitesse très faibles entre la vitesse estimé et la vitesse réelle.
63
5
ESTIMATION D’ÉTAT
Question: 11. Dessiner un grand schéma-bloc contenant toutes les informations de cette commande par retour d’état estimé. Réponse:
Question: 12. Indiquer les éléments à mettre en place concrètement (capteurs, calculateurs, circuits électroniques, étage de puissance...) pour effectuer une commande par retour d’état via un estimateur d’état dans le cas étudié. Réponse: On cherche à commander le moteur, donc le premier élément à avoir est bien entendu le moteur lui-même. Ensuite l’estimateur doit calculer l’erreur entre la vitesse estimée du moteur et sa vitesse réelle. Pour cela, il faut pouvoir mesurer la vitesse du moteur avec par exemple une génératrice tachymétrique (choix d’un 64
5.2
Estimateur d’état
asservissement analogique) ou un codeur optique (choix d’un asservissement numérique). La fabrication de l’estimateur lui-même peut être fait à l’aide de structure électronique analogique (additionneur, soustracteur, amplificateur, intégrateur...), ou plus simplement et plus couramment avec un composant numérique (microcontrôleur, FPGA...). Un générateur de signaux est alors nécessaire pour générer la commande de boucle ouverte u(t) qui sera comparée avec le retour d’état calculé par l’estimateur. Enfin un étage de puissance (hacheur par exemple) sera nécessaire pour transformer ce signal de commande en énergie capable d’alimenter le moteur.
Fiche bilan La fiche bilan à rédiger pour ce chapitre doit répondre aux problématiques suivantes: • Quelle problématique peut-on rencontrer lors de la mise en oeuvre d’un retour d’état? • Comment peut-on pallier à ce problème? Comment la mise en oeuvre est-elle faite concrètement? • Qu’est-ce qu’un système observable? Pourquoi est-il important de connaître l’observabilité d’un système? Comment peut-on vérifier l’observabilité d’un système? • Quelle est la démarche permettant de mettre en oeuvre un estimateur d’état? • Quelle démarche complète doit-on suivre pour mettre en oeuvre un asservissement basé sur une modélisation par représentation d’état? 1 équation est autorisée sur la fiche.
Exercice bonus Exercise 9. Estimateur d’état du moteur Dans le cas du moteur étudié dans ce chapitre, déterminer le comportement de l’estimateur d’état et tracer l’évolution de l’erreur entre l’état estimé et l’état réel pour les valeurs des éléments de la matrice V suivant: v1 100 • = v2 −100 v1 −600 • = v2 3500 Critiquer le comportement de ces deux estimateurs d’état. Exercise 10. Estimateur d’état du système d’amortissement de véhicule On reprend le système de l’exercice 2. On considère que seule la hauteur du véhicule est mesurée en sortie du système. 1. Vérifier que le système est bien observable. 2. Si tel est le cas, proposer un estimateur d’état dont le comportement sera convenable vis-à-vis du but recherché. 3. Dessiner alors le schéma-bloc complet de l’asservissement de ce système.
65