Jean-Philippe Roberge

Download Report

Transcript Jean-Philippe Roberge

Introduction à l’automatisation
-ELE3202Cours #10: Le modèle d’état (2ième partie) & transformée en z
Enseignant: Jean-Philippe Roberge
S
Jean-Philippe Roberge - Mars 2011
Cours # 10
S Fin de la matière portant sur les systèmes continus:
S Retour sur le cours #9
S
Modèle d’états et commande par retour d’états
S
Régulation par placements de pôles
S
Observateurs d’états
S
Conception pour le suivi de consigne
2
Jean-Philippe Roberge - Mars 2011
Cours # 10
S Systèmes discrets (non-continus):
S Échantillonnage
S Transformée en z : propriétés et démonstrations
S Bloqueur d’ordre 0
S La semaine prochaine (entres autres):
S Présentation d’intérêts d’étudiant :
S
Application des systèmes du contrôle au domaine de la photographie (1) et des
automates programmables (2).
S Exercices sur la matière des cours #9 et #10
3
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (I)
S Pour faire l’analyse d’un système et/ou la conception d’un contrôleur,
deux approches sont disponibles:
S La première est basée sur la fonction de transfert du système
S La deuxième est basée sur le modèle d’état du système
M
d 2 y t 
2
b
dy  t 
 ky  t   u  t 
dt
dt
x1  y t  et x2  y t 
Mx2  bx2  kx1  u t 
Figure tirée de “Modern Control
Systems”, Bishop & Al.
 x1  x2


b
k
1
x2   x2  x1  u  t 


M
M
M
Modèle d’état:
4
x  Ax  Bu
y  Cx  Du
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (II)
S
Du modèle d’état, il est possible d’obtenir directement la fonction de transfert d’un
système (Laplace):
Y s
1
Gs 
S
U  s
 C  sI  A B  D
Par ailleurs;
Gs 
S
Qs
sI  A
Donc les pôles de la fonction de transfert sont aussi les valeurs propres de la matrice A!!
S
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.
S
De ces “formes” équivalentes, nous avions vu quatre formes importantes:
S
La forme canonique commandable
S
La forme canonique observable
S
La forme canonique diagonale
S
La forme canonique de Jordan
5
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (III)
Forme canonique commandable
6
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (IV)
Forme canonique observable
S
Note:
Acan.obs.  AT can.com.
Bcan.obs.  CT can.com. Ccan.obs.  BT can.com.
7
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (V)
Forme canonique diagonale
8
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (VI)
Forme canonique diagonale
9
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (VII)
Forme canonique de Jordan
10
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (VIII)
Forme canonique de Jordan
11
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (IX)
Solution des équations d’état par Laplace
S
Au dernier cours, nous avions vu qu’il était possible de solutionner le système d’équation
suivant, en utilisant Laplace:
x  Ax  Bu
y  Cx  Du
S
Donc, la solution:
x  t     t  x  0     t    BU   d
t
0
t
y  t   C  t  x  0   C  t    BU   d
0
S

1
Où:   t   L  sI  A
 se nomme la « matrice de transition ».
1
12
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (X)
Solution des équations d’état par Laplace
13
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (XI)
Solution des équations d’état par Laplace
14
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (XII)
Solution des équations d’état par Laplace
15
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (XIII)
Commandabilité
16
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (XIV)
Observabilité
17
Jean-Philippe Roberge - Mars 2011
Retour sur le cours #9 (XV)
Exemple – système masse-ressort avec friction
 x1  x2


b
k
1
x


x

x

u t 
2
1
 2
M
M
M
 x1   0 1   x1  0 
 x    1 2   x   1  u  t 
 2  
 2 

x
y  1 0  x  0  u  t 
S Observabilité:
B
D
C
S Commandabilité:
x
A
 0  1  
rang B | AB  rang   |     2
1  2 
 1   0  
rang C T | AT C T   rang    |     2
 0  1  
18
Jean-Philippe Roberge - Mars 2011
Cours #10
Conception à l’aide du modèle d’état (I)
Commande par retour d’états
20
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (II)
Commande par retour d’états
S
En effet:


B


x
1
s
x
C
A
K
1


s B 

 1 A

BC
s

C 
1
s  A  BK

s  BK 
1



 1 A

s


Pcar.  s   0
21

s  A  BK
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (III)
Commande par retour d’états
http://www.jproberge.net -- Liens – Pendule de Furuta double #1
22
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (IV)
Commande par retour d’états
23
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (V)
Commande par retour d’états
24
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (VI)
Commande par retour d’états
25
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (VII)
Commande par retour d’états
26
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (VIII)
Commande par retour d’états
27
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (IX)
Commande par retour d’états
28
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (X)
Exemple 2: système de tests automatiques (tiré de [1], [5])
S
Soit le système suivant qui sert à tester des
pièces électriques: entres autres, des relais,
des interrupteurs et des lumières.
S
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.
S
Variables d’état:
x1   ,
x2 
d  
dt
et
Tiré de [1]
x3  i f
29
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (XI)
Exemple 2: système de tests automatiques (tiré de [1], [5])
S
Le diagramme fonctionnel du système en boucle ouverte est:
U(s)
K
V
Amplificateur
1
s5
X3=If
Champ magnétique
S
1 X
s 1
2
1
s
X1=ϴ(s)
Moteur
Le modèle d’état associé est:
0 1 0 
0
x  Ax  Bu  0 1 1  x   0  u
0 0 5
 K 
y  1 0 0 x
30
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (XII)
Exemple 2: système de tests automatiques (tiré de [1], [5])
S
Le diagramme fonctionnel du système en boucle fermée est:
R(s)
U(s)
+
K
-
-
V
Amplificateur
1
s5
X3=If
Champ magnétique
1 X
s 1
X1=ϴ(s)
Moteur
K3
S
1
s
2
K2
K1
Le modèle d’état associé est:
1
 0

x  Ax  BKx  Br   A  BK  x  Br   0
1
  KK1  KK 2
31

0

 0 r
1
x


 

 K 
  5  K3 K 
0
Jean-Philippe Roberge - Mars 2011
Conception à l’aide du modèle d’état (XIII)
Exemple 2: système de tests automatiques (tiré de [1], [5])
S
Les racines du polynôme caractéristique, ou les valeurs propres de la matrice d’intérêt
sont déterminées par:

1
0
 0




3
2
2
det  sI   0
1
1
   0  s  6s  5s  K3 Ks  K3 Ks  KK 2 s  KK1

  KK1  KK 2   5  K3 K   


 s3   K3 K  6  s 2   K3 K  KK 2  s  KK1
S
Supposons que nous souhaitons obtenir un temps de réponse à 2% environ égal à 1.08
sec et un dépassement d’environ 2.1%:
s1  10.62
et
s2,3  3.69  3 j
Loin à gauche pour réduire l'impact
S
Nous avons 4 degrés de liberté et 3 pôles à fixer, nous pouvons donc arbitrairement poser
K1=1 et résoudre: s3  18.07 s 2  101.5122s  241.8078  s3   K3 K  6  s 2   K3 K  KK 2  s  K
Polynôme désiré
S
Solution:
K  240, K2  0.35, K3  0.05, K1  1
32
Jean-Philippe Roberge - Mars 2011
Observateur d’état (I)
S
Lorsque nous avons choisi la rétroaction:
S
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.
S
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?
S
S
u   Kx
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.
33
Jean-Philippe Roberge - Mars 2011
Observateur d’état (II)
S
Un observateur d’état permet d’estimer x:
S
Comment peut-on estimer le vecteur d’état?
S
xˆ  Vecteur d'état estimé
Démonstration au tableau…
34
Jean-Philippe Roberge - Mars 2011
Observateur d’état (III)
S
La dynamique de l’observateur d’état est donnée par :
xˆ  Axˆ  Bu  Ke Cx  Cxˆ 
S
La dynamique de l’erreur
e  x  xˆ
est donc donnée par:
e  x  xˆ  Ax  Bu   Axˆ  Bu  K e Cx  Cxˆ 
x
 Ae  K eCe   A  K eC  e
S
xˆ
Si les valeurs propres de  A  KeC  sont négatives, alors la dynamique de l’erreur est stable
et l’erreur tend vers 0!!!
35
Jean-Philippe Roberge - Mars 2011
Observateur d’état (IV)
S
Ainsi, on peut choisir le gain Ke afin que les valeurs propres de (A-KeC) soient toutes à
partie réelle négative.
S De cette façon, peu importe la condition initiale de l’erreur (e(0)), l’erreur convergera
vers 0.
S
Aussi, puisque les valeurs propres d’une matrice sont toujours égales aux valeurs propres
de cette même matrice transposée;
val. propres  A  K eC   val. propres  AT  C T K eT 
S
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’:
36
Jean-Philippe Roberge - Mars 2011
Observateur d’état (V)
Exemple 1
37
Jean-Philippe Roberge - Mars 2011
Observateur d’état (VI)
Exemple 1
38
Jean-Philippe Roberge - Mars 2011
Observateur d’état (VII)
Exemple 1
39
Jean-Philippe Roberge - Mars 2011
Observateur d’état (VIII)
Exemple 1
40
Jean-Philippe Roberge - Mars 2011
Observateur d’état (IX)
Contrôleur et observateur
S
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 :
u  kxˆ  k  x  xˆ  x   k  x  e
S
Donc, les équations de la dynamique deviennent:
x   A  BK  x  BKe
e   A  K eC  e
Aaug .
 x   A  BK 
e   
0
  
BK
  x
 
A

K
C

e   e 
Dynamique du système "augmenté" de l'observateur
S
Donc, le système augmenté sera stable si et seulement si les valeurs propres de Aaug. sont
à parties réelles négatives.
S Ceci étant dit, remarquez-vous une particularité sur la forme de Aaug. ?
41
Jean-Philippe Roberge - Mars 2011
Observateur d’état (X)
Contrôleur et observateur
S
S
En fait, la matrice Aaug. est une matrice dite « triangulaire supérieure ». Les valeurs
propres de Aaug. sont:
sI  A  BK
 BK
0
sI  A  K eC
 sI  A  BK sI  A  K eC  0
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 ».
S
Le design de l’observateur peut donc être effectué de manière tout à fait
indépendante du design de la partie commande.
42
Jean-Philippe Roberge - Mars 2011
Observateur d’état (XI)
Contrôleur et observateur
S
S
Par contre, il faut faire une dernière petite remarque en revisitant la forme du système
augmenté:
 x   A  BK 
e  
0
  
BK
  x
 A  K eC   e 
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.
S 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.
43
Jean-Philippe Roberge - Mars 2011
Observateur d’état (XII)
Contrôleur et observateur : Diagramme fonctionnel
44
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (I)
S
Sommaire de l’apprentissage par rapport aux modèles d’état:
S Nous avons appris ce qu’était un modèle d’état et comment mettre un système
dynamique quelconque sous cette forme.
S 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 ».
S 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.
45
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (II)
S
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:
S 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…
S
Dans plusieurs cas, on souhaite suivre des consignes de type échelon (d’une amplitude
quelconque).
S
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?
46
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (III)
S
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:
47
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (IV)
S
En effet, soient l’erreur « e » et l’intégrale de l’erreur « eI »:
e  r  t   y  t  et eI   e  t  dt   r  t   y t  dt
 eI  e  r  t   y  t   r  t   Cx  t 
On peut ré-écrire sous forme de modèle d’état (boucle ouverte), tel que:
 x   A 0  x   B 
 0
e    C 0  e    0   u  d   1 r
   
 
 I 
S 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:
  x  0
 x    A 0  B 
 B


K

K

r

d
I  
e    C 0   0  





  
0
 I  
 eI  1 
S
 A  BK

 C
Ae
BK I   x  0 
B

r

0 d
0  eI  1 
 
48
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (VI)
 x    A 0  B 
e     C 0   0   K
  
 I  
  x  0
 B
 A  BK
KI        r    d  
0
 C
 eI  1
BK I   x  0
 B

r

0d
0  eI  1
 
Ae
Ae
S
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.
S
Maintenant, si le système est strictement stable, cela implique que lorsque le temps tend
vers l’infini:
lim  x  t    x l'état x prend une valeur finie constante  x=0
t 
lim  r  t    r et
t 
S
lim  d  t    d 
t 
Si x  0 , alors on a (de l’équation du haut):
0   A  BK  x  BK I eI  Bd    A  BK  x  BK I  e  t  dt  Bd 
 BK I  e  t  dt    A  BK  x  Bd   constante
  e  t   constante

Le système est apte à
suivre des consignes de
type échelon!
d
e  t  dt  e  t   r  t   y  t   0
dt 
49
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (VII)
50
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (VIII)
Exemple I : Le lecteur de disque
51
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (IX)
Exemple I : Le lecteur de disque
52
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (X)
Exemple I : Le lecteur de disque
53
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (XI)
Exemple I : Le lecteur de disque
54
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (XII)
Exemple I : Le lecteur de disque
55
Jean-Philippe Roberge - Mars 2011
Contrôle intégral pour suivi de consigne (XII)
Exemple II avec observateur d’états
S
Exemple des wagons de train…
56
Jean-Philippe Roberge - Mars 2011
S Fin de la matière sur les systèmes continus!!
57
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (I)
S
Jusqu’à maintenant nous avons seulement considéré les systèmes continus…
S
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.
S
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?
S
Dans ces cas, on utilisera la théorie propre aux systèmes discontinus, particulièrement la
transformée en z.
58
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (II)
S
Un signal r(t) échantillonné peut être
représenté par r*(t), tel que:
r * t   r  kT    t  kT  k entier 0, 
S
Donc, sous forme équivalente:

r *  t    r  kT     t  kT 
k 0
59
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (III)
L  f  t   F  s     f  t  e st dt

S
Rappel du cours #2:
S
En prenant la transformée de Laplace d’un signal échantillonné:
0
L r *  t   
 
0
S
Et en définissant simplement:
S
Alors:
 r  kT  t  kT  e
k 0
 ksT

  r  kT e ksT
k 0
z  e sT

L r *  t    r  kT z  k  Z r *  t   Z r  t 
k 0
S
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!
60
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (IV)
Transformé en z d’un échelon
61
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (V)
Transformé en z d’une exponentielle
62
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (VI)
Transformé en z d’un sinus
63
Jean-Philippe Roberge - Mars 2011
Transformées en z et propriétés
64
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (VII)
Théorème de la valeur initiale / finale
65
Jean-Philippe Roberge - Mars 2011
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:
Pour kT  t   k  1T , y t  =r  kT   r *  kT 

S À l’entré du bloqueur, on a:  r  kT    t  kT 
S
S
k 0
En intégrant,
on obtient :
 
0  r  kT  t  kT    r  kT  u1 t  kT 
k 0
S
k 0
Finalement on
obtient la sortie du bloqueur en

soustrayant:  r  kT  u1 t   k  1T  , c’est-à-dire l’intégrale
k 0
décalée de:
 e  st 


 s 
66
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (IX)
Bloqueur d’ordre zéro
S
Donc, la fonction de transfert du bloqueur d’ordre 0 est:
1 e sT 1  e st
G0  s   

s
s
s
S
Exemple de système en boucle ouverte avec un bloqueur d’ordre 0 à l’entrée:
67
Jean-Philippe Roberge - Mars 2011
Domaine non-continu et transformée en z (X)
Bloqueur d’ordre zéro
68
Jean-Philippe Roberge - Mars 2011
Prochain cours
S Exercices!
S Continuation de la matière concernant le domaine non-continu:
S Transformée en z inverse
S Choix d’une période d’échantillonnage
S Fonction de transfert pulsée d’éléments en cascade
S Fonction de transfert pulsée d’éléments en boucle fermée
S Stabilité d’une fonction de transfert pulsée
69
Jean-Philippe Roberge - Mars 2011
Références
S [1]Modern Control Systems – Richard C. Dorf & Robert H. Bishop
S [2]Control Systems Engineering – Norman S. Nise
S [3]Notes de cours (ELE3202) – Richard Gourdeau & John Thistle
S [4]Linear System Theory – Wilson J. Rugh
S [5] R.C. Dorf and A. Kusiak, Handbook of Manufacturing and
Automation, John Wiley & Sons, New York, 1994.
S [6] Jean-Philippe Roberge, Étude et commande d’un système mécanique
avec liens flexible, 2009.
70
Jean-Philippe Roberge - Mars 2011