Introduction à l’automatisation
-ELE3202-
Cours #10: Le modèle d’état (2ième partie) & transformée en z
Enseignant: Jean-Philippe Roberge
Jean-Philippe Roberge - Mars 2011
Cours # 10
Fin de la matière portant sur les systèmes continus:
Retour sur le cours #9 Modèle d’états et commande par retour d’états
Régulation par placements de pôles
Observateurs d’états
Conception pour le suivi de consigne
2 Jean-Philippe Roberge - Mars 2011
Cours # 10
Systèmes discrets (non-continus): Échantillonnage
Transformée en z : propriétés et démonstrations
Bloqueur d’ordre 0
La semaine prochaine (entres autres):
Présentation d’intérêts d’étudiant :
Application des systèmes du contrôle au domaine de la
photographie (1) et des automates programmables (2).
Exercices sur la matière des cours #9 et #103 Jean-Philippe Roberge - Mars
2011
Jean-Philippe Roberge - Mars 2011
4
Retour sur le cours #9 (I)
Pour faire l’analyse d’un système et/ou la conception d’un contrôleur, deux approches sont disponibles: La première est basée sur la fonction de transfert du système La deuxième est basée sur le modèle d’état du système
Figure tirée de “Modern Control Systems”, Bishop & Al.
2
2
d y t dy tM b ky t u t
dt dt
1 2 et x y t x y t
2 2 1Mx bx kx u t
1 2
2 2 1
1
x x
b kx x x u t
M M M
Modèle d’état:x Ax Bu y Cx Du
Jean-Philippe Roberge - Mars 2011
5
Retour sur le cours #9 (II)
Du modèle d’état, il est possible d’obtenir directement la fonction de transfert d’un système (Laplace):
Par ailleurs;
Donc les pôles de la fonction de transfert sont aussi les valeurs propres de la matrice A!!
Autre particularité des modèles d’états: Aussi, nous avions vu au dernier cours qu’en général, une fonction de transfert quelconque possède plusieurs représentations d’état équivalentes.
De ces “formes” équivalentes, nous avions vu quatre formes importantes: La forme canonique commandable La forme canonique observable La forme canonique diagonale La forme canonique de Jordan
1Y s
G s C sI A B DU s
Q sG s
sI A
Retour sur le cours #9 (III)
Forme canonique commandable
Jean-Philippe Roberge - Mars 2011
6
Retour sur le cours #9 (IV)
Forme canonique observable
Note:Jean-Philippe Roberge - Mars
20117
. . . . . . . . . . . .T T T
can obs can com can obs can com can obs can comA A B C C B
Retour sur le cours #9 (V)Forme canonique
diagonale
Jean-Philippe Roberge - Mars 2011
8
Retour sur le cours #9 (VI)
Forme canonique diagonale
Jean-Philippe Roberge - Mars 2011
9
Retour sur le cours #9 (VII)
Forme canonique de Jordan
Jean-Philippe Roberge - Mars 2011
10
Retour sur le cours #9 (VIII)
Forme canonique de Jordan
Jean-Philippe Roberge - Mars 2011
11
Retour sur le cours #9 (IX) Solution des équations d’état par
Laplace
Au dernier cours, nous avions vu qu’il était possible de solutionner le système d’équation suivant, en utilisant Laplace:
Donc, la solution:
Où: se nomme la « matrice de transition ».
Jean-Philippe Roberge - Mars 2011
12
x Ax Bu
y Cx Du
0
0t
x t t x t BU d
00
ty t C t x C t BU d
11t sI A L
Retour sur le cours #9 (X) Solution des équations d’état par
Laplace
Jean-Philippe Roberge - Mars 2011
13
Retour sur le cours #9 (XI) Solution des équations d’état par
Laplace
Jean-Philippe Roberge - Mars 2011
14
Retour sur le cours #9 (XII) Solution des équations d’état par
Laplace
Jean-Philippe Roberge - Mars 2011
15
Retour sur le cours #9 (XIII)Commandabilité
Jean-Philippe Roberge - Mars 2011
16
Retour sur le cours #9 (XIV)Observabilité
Jean-Philippe Roberge - Mars 2011
17
Retour sur le cours #9 (XV)Exemple – système masse-ressort
avec friction
Jean-Philippe Roberge - Mars 2011
18
1 21 1
2 22 2 1
0 1 01
1 2 1
x xx x
u tb kx xx x x u t
M M M
Bx xA
1 0 0y x u t D
C
Commandabilité:
Observabilité:
0 1| | 2
1 2rang B AB rang
1 0| | 2
0 1T T Trang C A C rang
Cours #10
Conception à l’aide du modèle d’état (I)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
20
Conception à l’aide du modèle d’état (II)
Commande par retour d’états
En effet:
Jean-Philippe Roberge - Mars 2011
21
1
s
x x
A
B
C
K
1
1
11
1
s BA BCs C
s A BKs BKAs
. 0carP s s A BK
Conception à l’aide du modèle d’état (III)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
22
http://www.jproberge.net -- Liens – Pendule de Furuta double #1
Conception à l’aide du modèle d’état (IV)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
23
Conception à l’aide du modèle d’état (V)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
24
Conception à l’aide du modèle d’état (VI)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
25
Conception à l’aide du modèle d’état (VII)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
26
Conception à l’aide du modèle d’état (VIII)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
27
Conception à l’aide du modèle d’état (IX)
Commande par retour d’états
Jean-Philippe Roberge - Mars 2011
28
Conception à l’aide du modèle d’état (X)
Exemple 2: système de tests automatiques (tiré
de [1], [5])
Soit le système suivant qui sert à tester des pièces électriques: entres autres, des relais, des interrupteurs et des lumières.
Le système utilise un moteur DC (vous avez vu comment modéliser approximativement un moteur à l’aide d’un système de premier ordre dans le cadre du laboratoire) ainsi qu’un encodeur incrémental qui permet de connaître la position ϴ ainsi que la vitesse d(ϴ)/dt.
Variables d’état:Jean-Philippe Roberge - Mars
201129
Tiré de [1] 1 2 3, et x f
dx x i
dt
Conception à l’aide du modèle d’état (XI)
Exemple 2: système de tests automatiques (tiré
de [1], [5])
Le diagramme fonctionnel du système en boucle ouverte est:
Le modèle d’état associé est:
Jean-Philippe Roberge - Mars 2011
30
K1
5s 1
1s 1
s
U(s)
Amplificateur
Champ magnétique Moteur
V X3=IfX2 X1=ϴ(s)
0 1 0 0
0 1 1 0
0 0 5
1 0 0
x Ax Bu x u
K
y x
Conception à l’aide du modèle d’état (XII)
Exemple 2: système de tests automatiques (tiré
de [1], [5])
Le diagramme fonctionnel du système en boucle fermée est:
Le modèle d’état associé est:
Jean-Philippe Roberge - Mars 2011
31
K1
5s 1
1s 1
s
U(s)
Amplificateur
Champ magnétique Moteur
V X3=IfX2 X1=ϴ(s)
3K2K 1K
-- -
R(s) +
1 2 3
0 1 0 0
0 1 1 0
5
x Ax BKx Br A BK x Br x r
KK KK K K K
Conception à l’aide du modèle d’état (XIII)
Exemple 2: système de tests automatiques (tiré
de [1], [5])
Les racines du polynôme caractéristique, ou les valeurs propres de la matrice d’intérêt sont déterminées par:
Supposons que nous souhaitons obtenir un temps de réponse à 2% environ égal à 1.08 sec et un dépassement d’environ 2.1%:
Nous avons 4 degrés de liberté et 3 pôles à fixer, nous pouvons donc arbitrairement poser K1=1 et résoudre:
Solution:Jean-Philippe Roberge - Mars
201132
3 2 23 3 2 1
1 2 3
3 23 3 2 1
0 1 0
det 0 1 1 0 6 5
5
6
sI s s s K Ks K Ks KK s KK
KK KK K K
s K K s K K KK s KK
1 2,3
Loin à gauche pour réduire l'impact
10.62 et 3.69 3s s j
3 2 3 23 3 2
Polynôme désiré
18.07 101.5122 241.8078 6s s s s K K s K K KK s K
2 3 1240, 0.35, 0.05, 1K K K K
Observateur d’état (I)
Lorsque nous avons choisi la rétroaction:
pour fermer la boucle, nous avons émis l’hypothèse que le vecteur d’états « x » était disponible. En effet, nous avons sous-entendu qu’il était possible d’obtenir la valeur de tous les états du système afin de générer le signal de rétroaction.
Par contre, dans biens des situations, il vous sera impossible de mesurer physiquement toutes les variables d’état. La sortie « y » ne contiendra pas nécessairement tous les états. Dans ce cas, que peut-on faire?
C’est ici qu’intervient l’observateur d’état!
Un observateur d'état est une extension d’un système représenté sous forme de modèle d'état. Lorsqu’un ou plusieurs état(s) d'un système n'est (ne sont) pas mesurable(s), on construit un observateur qui permet de reconstruire l'état à partir d'un modèle du système dynamique et des mesures disponibles.
Jean-Philippe Roberge - Mars 2011
33
u Kx
Observateur d’état (II)
Un observateur d’état permet d’estimer x:
Comment peut-on estimer le vecteur d’état?
Démonstration au tableau…
Jean-Philippe Roberge - Mars 2011
34
ˆ Vecteur d'état estiméx
Observateur d’état (III)
La dynamique de l’observateur d’état est donnée par :
La dynamique de l’erreur est donc donnée par:
Si les valeurs propres de sont négatives, alors la dynamique de l’erreur est stable et l’erreur tend vers 0!!!
Jean-Philippe Roberge - Mars 2011
35
ˆ ˆ ˆex Ax Bu K Cx Cx
ˆe x x
ˆ
ˆ ˆ ˆex
x
e e
e x x Ax Bu Ax Bu K Cx Cx
Ae K Ce A K C e
eA K C
Observateur d’état (IV)
Ainsi, on peut choisir le gain Ke afin que les valeurs propres de (A-KeC) soient toutes à partie réelle négative. De cette façon, peu importe la condition initiale de l’erreur (e(0)),
l’erreur convergera vers 0. Aussi, puisque les valeurs propres d’une matrice sont toujours égales aux
valeurs propres de cette même matrice transposée;
On peut donc utiliser la formule d’Ackerman pour placer les pôles en remplaçant A par A’, B par C’ et K par Ke’:
Jean-Philippe Roberge - Mars 2011
36
. . T T Te eval propres A K C val propres A C K
Observateur d’état (V)
Exemple 1
Jean-Philippe Roberge - Mars 2011
37
Observateur d’état (VI)
Exemple 1
Jean-Philippe Roberge - Mars 2011
38
Observateur d’état (VII)
Exemple 1
Jean-Philippe Roberge - Mars 2011
39
Observateur d’état (VIII)
Exemple 1
Jean-Philippe Roberge - Mars 2011
40
Observateur d’état (IX)
Contrôleur et observateur
Maintenant que nous avons un moyen d’estimer le vecteur état au complet, il est maintenant possible d’utiliser cette information pour la rétroaction en prenant :
Donc, les équations de la dynamique deviennent:
Donc, le système augmenté sera stable si et seulement si les valeurs propres de Aaug. sont à parties réelles négatives.
Ceci étant dit, remarquez-vous une particularité sur la forme de Aaug. ?
Jean-Philippe Roberge - Mars 2011
41
ˆ ˆu kx k x x x k x e
e
x A BK x BKe
e A K C e
.
Dynamique du système "augmenté" de l'observateur
0
augA
e
A BK BKx x
A K Ce e
Observateur d’état (X)
Contrôleur et observateur
En fait, la matrice Aaug. est une matrice dite « triangulaire supérieure ». Les valeurs propres de Aaug. sont:
Donc, les pôles de la partie commande ne sont influencés que par le gain de la partie commande! Les pôles de la partie observateur ne sont influencés que par le gain de la partie observateur! On appelle cette particularité, le « principe de séparation ».
Le design de l’observateur peut donc être effectué de manière tout à fait indépendante du design de la partie commande.
Jean-Philippe Roberge - Mars 2011
42
00 e
e
sI A BK BKsI A BK sI A K C
sI A K C
Observateur d’état (XI)
Contrôleur et observateur
Par contre, il faut faire une dernière petite remarque en revisitant la forme du système augmenté:
Nous pouvons en effet faire le design de l’observateur de manière indépendante par rapport à la partie commande. Cependant, puisque l’erreur « e » affecte quand même la partie commande, nous avons intérêt à ce cette erreur converge rapidement vers 0. C’est pourquoi il est généralement recommander de faire le design de
l’observateur de sorte à ce que les pôles soient plus rapides (plus à gauche dans le plan complexe) que les pôles de la partie commande. Habituellement, on recommande des pôles de l’observateur de 2 à 5 fois plus rapide.
Jean-Philippe Roberge - Mars 2011
43
0 e
A BK BKx x
A K Ce e
Observateur d’état (XII)
Contrôleur et observateur : Diagramme
fonctionnel
Jean-Philippe Roberge - Mars 2011
44
Contrôle intégral pour suivi de consigne
(I)
Sommaire de l’apprentissage par rapport aux modèles d’état:
Nous avons appris ce qu’était un modèle d’état et comment mettre un système
dynamique quelconque sous cette forme.
Lorsque l’état n’est pas complètement disponible à la sortie du système, nous
avons appris comment faire le design d’un observateur d’état afin d’estimer
« x ».
Nous avons appris que nous pouvions alors se servir l’état estimé pour le signal
de rétroaction. Nous avons démontré que le système, ainsi que l’observateur,
seront stables en choisissant des gains K et Ke conséquents.Jean-Philippe Roberge - Mars
201145
Contrôle intégral pour suivi de consigne
(II)
Dans un très grand nombre d’applications, on souhaite faire en sorte que la sortie suive des consignes. Plusieurs exemples ont d’ailleurs déjà été discutés dans le cadre du cours: Régulateur de vitesse, lecteur de disque dur, système de bicyclette
robotisé, suivi de température dans un four, thermostats électroniques et mécaniques, etc…
Dans plusieurs cas, on souhaite suivre des consignes de type échelon (d’une amplitude quelconque).
Nous avons appris comment stabiliser le système par retour d’états, comment faire maintenant pour continuer à stabiliser le système (en la présence possible de perturbations constantes) tout en le rendant apte à suivre des consignes-échelon?
Jean-Philippe Roberge - Mars 2011
46
Contrôle intégral pour suivi de consigne
(III)
Nous allons maintenant démontrer qu’en ajoutant un intégrateur (suivi d’un certain gain KI) à l’entrée du système, ce dernier sera alors apte à suivre des consignes de type échelon, malgré la présence de perturbations constantes:
Jean-Philippe Roberge - Mars 2011
47
Contrôle intégral pour suivi de consigne
(IV)
En effet, soient l’erreur « e » et l’intégrale de l’erreur « eI »:
On peut ré-écrire sous forme de modèle d’état (boucle ouverte), tel que:
En fermant la boucle (tout en étant conforme avec le diagramme fonctionnel précédent) avec u=-Kx+KIeI , on obtient le modèle d’état en boucle fermée:
Jean-Philippe Roberge - Mars 2011
48
I et e
I
e r t y t e t dt r t y t dt
e e r t y t r t Cx t
0 0
0 0 1I
x A x Bu d r
e C e
0 0
0 0 1 0
0
0 1 0
e
II I
I
I
A
x xA B BK K r d
e eC
xA BK BK Br d
eC
Contrôle intégral pour suivi de consigne
(VI)
Le système et l’erreur à la sortie de l’intégrateur seront stables si la matrice Ae à toute ses valeurs propres à partie réelle négative.
Maintenant, si le système est strictement stable, cela implique que lorsque le temps tend vers l’infini:
Si , alors on a (de l’équation du haut):
Jean-Philippe Roberge - Mars 2011
49
0 0 0
0 0 1 0 0 1 0
ee
II
I I I
AA
x x xA B B A BK BK BK K r d r d
e e eC C
lim l'état x prend une valeur finie constante x=0
lim et lim
t
t t
x t x
r t r d t d
0x
0
constante
constante
0
I I I
I
A BK x BK e Bd A BK x BK e t dt Bd
BK e t dt A BK x Bd
e t
de t dt e t r t y t
dt
Le système est apte à suivre des consignes de type échelon!
Contrôle intégral pour suivi de consigne
(VII)
Jean-Philippe Roberge - Mars 2011
50
Contrôle intégral pour suivi de consigne
(VIII)
Exemple I : Le lecteur de disque
Jean-Philippe Roberge - Mars 2011
51
Contrôle intégral pour suivi de consigne
(IX)
Exemple I : Le lecteur de disque
Jean-Philippe Roberge - Mars 2011
52
Contrôle intégral pour suivi de consigne
(X)
Exemple I : Le lecteur de disque
Jean-Philippe Roberge - Mars 2011
53
Contrôle intégral pour suivi de consigne
(XI)
Exemple I : Le lecteur de disque
Jean-Philippe Roberge - Mars 2011
54
Contrôle intégral pour suivi de consigne
(XII)
Exemple I : Le lecteur de disque
Jean-Philippe Roberge - Mars 2011
55
Contrôle intégral pour suivi de consigne
(XII)
Exemple II avec observateur d’états
Exemple des wagons de train…
Jean-Philippe Roberge - Mars 2011
56
Fin de la matière sur les systèmes continus!!
Jean-Philippe Roberge - Mars 2011
57
Domaine non-continu et transformée en z
(I)
Jusqu’à maintenant nous avons seulement considéré les systèmes continus…
Ceci est correct tant et aussi longtemps que les signaux sont échantillonnés à haute
fréquence de sorte que l’on puisse « approximer » le système discret par un système
continu sans problème.
On peut faire cette approximation dans plusieurs cas… Cependant, dans d’autre
cas, la période d’échantillonnage est trop grande et le système est trop
« discontinu »: Que peut-on faire?
Dans ces cas, on utilisera la théorie propre aux systèmes discontinus,
particulièrement la transformée en z.
Jean-Philippe Roberge - Mars 2011
58
Domaine non-continu et transformée en z
(II)
Un signal r(t) échantillonné peut être représenté par r*(t), tel que:
Donc, sous forme équivalente:
Jean-Philippe Roberge - Mars 2011
59
* entier 0,r t r kT t kT k
0
*k
r t r kT t kT
Domaine non-continu et transformée en z
(III)
Rappel du cours #2:
En prenant la transformée de Laplace d’un signal échantillonné:
Et en définissant simplement:
Alors:
C’est ce qu’on appelle la « transformée en z » de r(t). La transformée en Z est donc simplement l’extension de la transformée de Laplace au domaine non-continu!
Jean-Philippe Roberge - Mars 2011
60
0
0 0
* ksT ksT
k k
r t r kT t kT e r kT e
L
0
stf t F s f t e dt
L
sTz e
0
* *k
k
r t r kT z Z r t Z r t
L
Domaine non-continu et transformée en z
(IV)
Transformé en z d’un échelon
Jean-Philippe Roberge - Mars 2011
61
Domaine non-continu et transformée en z
(V)
Transformé en z d’une exponentielle
Jean-Philippe Roberge - Mars 2011
62
Domaine non-continu et transformée en z
(VI)
Transformé en z d’un sinus
Jean-Philippe Roberge - Mars 2011
63
Jean-Philippe Roberge - Mars 2011
64
Transformées en z et propriétés
Domaine non-continu et transformée en z
(VII)
Théorème de la valeur initiale / finale
Jean-Philippe Roberge - Mars 2011
65
Domaine non-continu et transformée en z
(VIII)
Bloqueur d’ordre zéro
Un bloqueur d’ordre 0 est un système qui permet de garder constante (le temps d’une période d’échantillonnage) la valeur d’un échantillon:
À l’entré du bloqueur, on a: En intégrant, on obtient :
Finalement on obtient la sortie du bloqueur en soustrayant: , c’est-à-dire l’intégrale décalée de:
Jean-Philippe Roberge - Mars 2011
66
Pour kT t 1 , y =r *k T t kT r kT
0k
r kT t kT
100 0k k
r kT t kT r kT u t kT
10
1k
r kT u t k T
ste
s
Domaine non-continu et transformée en z
(IX)
Bloqueur d’ordre zéro
Jean-Philippe Roberge - Mars 2011
67
Donc, la fonction de transfert du bloqueur d’ordre 0 est:
Exemple de système en boucle ouverte avec un bloqueur d’ordre 0 à l’entrée:
0
1 1sT ste eG s
s s s
Domaine non-continu et transformée en z
(X)
Bloqueur d’ordre zéro
Jean-Philippe Roberge - Mars 2011
68
Prochain cours
Jean-Philippe Roberge - Mars 2011
69
Exercices!
Continuation de la matière concernant le domaine non-
continu:
Transformée en z inverse
Choix d’une période d’échantillonnage
Fonction de transfert pulsée d’éléments en cascade
Fonction de transfert pulsée d’éléments en boucle fermée
Stabilité d’une fonction de transfert pulsée
Références
70
[1]Modern Control Systems – Richard C. Dorf & Robert H. Bishop
[2]Control Systems Engineering – Norman S. Nise
[3]Notes de cours (ELE3202) – Richard Gourdeau & John Thistle
[4]Linear System Theory – Wilson J. Rugh
[5] R.C. Dorf and A. Kusiak, Handbook of Manufacturing and Automation, John Wiley & Sons, New York, 1994.
[6] Jean-Philippe Roberge, Étude et commande d’un système mécanique avec liens flexible, 2009.
Jean-Philippe Roberge - Mars 2011