Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE ②
PLACEMENT DE
POLES :
APPROCHE
POLYNOMIALE
I. FORMULATION DU PROBLEME
Tvy→ u
Ty*→ u
Tvu→ u
Tvu→ y
Tvy→ y
Ty*→ y
Vu(z) Vy(z)
+ B(z−1) + Y(z)
Y*(z) U(z)
⊗ ⊗ +⊗
+ 1
T(z−1) S(z−1)
+ A(z−1)
-
R(z−1)
Ce schéma montre les différentes fonctions de transfert qui vont caractériser le problème
que nous pouvons séparer en deux groupes :
Celles indiquant les actions sur la sortie : Ty*→y , Tv u →y , Tv y →y
Le procédé :
B(z-1)
Y(z) = [ U(z) + Vu(z) ] + Vy(z)
A(z−1)
A(z −1) = 1 + a1 z-1 + a2 z-2 +.....+ a na z-na B(z −1) = z-(d+1) ( b0 + b1 z-1 + b2 z-2 +.....+ bnb z-nb )
Le correcteur :
S(z −1) U(z) = T(z-1) Y*(z) − R(z-1) Y(z)
T(z −1 ) = t 0 + t 1 z -1 + t 2 z -2 + ....... + t n t z -n t
Toutes les fonctions de transfert concernées ont le même dénominateur qui est le polynôme
caractéristique :
Pc (z −1 ) = A (z −1 ) S(z −1 ) + B(z −1 ) R (z −1 )
L'équation de Bezout :
Le choix du régulateur sera effectué lorsque, ayant défini les pôles de la boucle fermée
c'est-à-dire le polynôme Pc(z-1) il reste pour un procédé à calculer les polynômes R et S de
l'équation précédente. Ce problème possède une infinité de solutions dont une seule solution
minimale. Ce problème est celui de l'équation de Bezout appelée aussi équation Diophantine
ou encore division polynômiale dont la technique de résolution sera étudiée au paragraphe III.
C(z−1)
D(q−1) v(t) = C(q−1) δ(t) où en choisissant une représentation en z : V(z) =
D(z−1)
Echelon simple : v(t) = v(t - 1)+ δ(t) V(z) = 1 soit D(q−1) = (1 - q−1)
1 - z−1
Soit un signal constitué d’un premier échelon v1(t) arrivant à l’instant t = kTs auquel se
superpose un autre échelon v2(t) arrivant lui à l’instant t = nTs
z −k
v1 ( t ) = v1 ( t − 1) + δ(t - kTs ) V1 (z) =
1 − z −1 z −k + z −n C(q −1 ) = q −k + q − n
v 2 ( t ) = v 2 ( t − 1) + δ(t - nTs ) ⇒ V (z) = ⇒
z −n 1 − z −1 D(q −1 ) = (1 − q −1 )
v(t) = v1 ( t ) + v 2 ( t ) V2 (z) =
1 − z −1
Cet exemple rappelle que le dénominateur D(q-1) est caractéristique de la "forme" d'un signal
d'où l'usage d'appeler modèle de perturbation ce dénominateur D(q-1).
Rampe : D(q−1) = (1 - q−1)2 ( C(q−1) = Ts q−1 pour une rampe de pente unité et sans
retard.
Pb (z −1 ) = A b (z −1 ) S b (z −1 ) + B b (z −1 ) R b (z −1 )
A b (z −1 ) = 1 + a1 z -1 + a 2 z -2 + ..... + a n a z -n a
B b (z −1 ) = b 0 + b1 z -1 + b 2 z -2 + ..... + b n b z -n b )
R b (z −1 ) = r0 + r1 z -1 + r2 z -2 + ....... + rn r z -n r
S b (z −1 ) = s 0 + s1 z -1 + s 2 z -2 + ....... + s n s z -ns
Pb (z −1 ) = p 0 + p1 z -1 + p 2 z -2 + ....... + p n p z
-n p
L'équation de Bezout peut s'écrire sous forme matricielle en égalant les coefficients des
termes de même degré :
ns+1 nr+1
nb+1
a0 0 L 0 b0 0 L 0
a1 a0 O O b1 b0 O O s0 p0
M
a1 O 0 M b1 O O M M
na+1
M O O a0 M O O b0 M M
M
O O a1 bnb O O b1 sns = p n p
a n a O O O 0 O O O r0 0
0
a na O O M O O O M M
ns M r
O O O M O O bnb nr 0
0 K 0 a na 0 K K 0
nr
M
Le système d'équations est tel que :
Le nombre de lignes de la matrice M est égal à max [ (na+ns+1),(nb+nr+1) ] ( M est ci-
dessus représentée avec (na+ns+1) > (nb+nr+1) ).
Le nombre de colonnes est égal à ns+nr+2.
Le vecteur P possède np+1 coefficients non nuls. Avec np+1 ≤ ns+nr+2
⇒ np ≤ ns+nr+1
Le système admet une solution unique si la matrice M est inversible ce qui implique
deux conditions : M est une matrice carrée et Det(M) ≠ 0
==================================Un exemple=====================================
Cela oblige une pré-spécification dans S telle que : S(z −1) = (1 - z −1) S1(z −1) et l'équation de
Bezout devient : (1+a1z −1) (1 - z −1) S1(z −1)+z −1(b0 +b1z−1) R(z −1) = Pc(z −1)
1442443
Aa
A(z-1) factorise deux des termes, une solution non nulle sera obtenue s'il factorise le
troisième d'où la condition sur R(z-1) = A(z-1) R1(z-1) ce qui modifie l'équation :
(1+a1z −1) (1 - z −1) S1(z −1)+z −1(b0 +b1z−1) (1+a1z −1)R1(z−1) = (1+a1z−1) (1+p1z −1)
L'équation nécessite une simplification par A(z-1) soit :
−1 −1 −1 −1 −1 −1
(4
112
- z4
3) S1 z )+z (b0 +b1z ) R1(z ) = (1+p1z )
1(23 1424 43 4 123 1 424 3
Ab Sb Bb Rb Pb
Perturbation de sortie :
La fonction de transfert concernée est Tv y → y et l'expression de la sortie :
−1
A(z −1 ) S(z −1 ) A(z −1 ) S(z −1 ) C y (z )
Y (z) = Vy (z) =
Pc (z −1 ) Pc (z −1 ) D y (z −1 )
Cy(z−1)
étant le modèle de la perturbation.
Dy(z−1)
Dans la réponse temporelle vont figurer des modes dus à Pc(z-1) et des modes dus à Dy(z-1).
Ces derniers traduisent l'action de la perturbation sur la sortie. Pour que celle-ci soit
inexistante, il suffit de faire disparaître ces modes et donc mathématiquement d'éliminer
Dy(z-1) du dénominateur. Il faut donc une simplification par l'un des polynômes du numérateur.
Ici la solution est : soit Dy(z-1) est factorisé dans A soit il est factorisé dans S. La première
solution est un cas particulier qui peut exister pour certains procédés intégrateurs
A(z −1) = (1 - z−1)p lorsque la perturbation est de type échelon : Dy(z −1) = 1 - z−1 . Sinon reste la
seconde solution soit :
Perturbation de commande :
Un cas identique peut se poser pour une perturbation de commande, la fonction de transfert
concernée est Tvu → y :
−1
B(z −1) S(z −1) B(z−1) S(z−1) Cu(z )
Y(z) = −1
Vu(z) = −1
Pc(z ) Pc(z ) Du(z−1)
d'où la pré-spécification : S(z −1) = Du(z −1) S1(z −1) (Le cas pratique où Du(z-1) est présent dans le
numérateur B(z-1) est quasiment inexistant).
Rejet asymptotique :
Dans le cas continu, le rejet d'une perturbation correspond à la recherche d'une solution
asymptotique telle que lim (y(t)) = 0 . Une telle solution peut être ici choisie, il suffit de choisir
t → +∞
les pôles de la boucle fermée en précisant le polynôme Pc(z-1). Il faut aussi se rappeler que,
d'un point de vue théorique, ce qui fixe les modes ce sont les pôles de la fonction de transfert
en z et non en z-1. Reprenons l'exemple de la perturbation de sortie, l'expression de Y(z) est :
−1
A(z −1) S(z −1) Cy(z )
Y(z) =
Pc(z −1) Dy(z −1)
Comment choisir des pôles de rejet asymptotique ? Cela se fait comme nous l'avons indiqué
dans le chapitre , en choisissant les pôles d'un système continu (1er ordre ou 2nd ordre) qui
seront ensuite transposés en discret. C'est ici la méthode standard du placement de pôles.
Pôles à l'origine :
Dans cette méthode, les polynômes utilisés sont en z-1 (ou q-1).
Premier cas : deg(N) > deg(Pc) et pour exprimer le transfert en z il suffit de multiplier haut et
polynôme en z
64748
−1 −1
N ( z ) z n
N ( z ) z n
N (z −1)
bas par z-n : Y(z) = y −1 = n y −1 = n −p py ce qui fait apparaître clairement que,
Pc(z ) z Pc(z ) z z Pc(z−1)
1424 3
polynôme en z
dans ce cas, nous avons (n-p) pôles à l'origine. En discret un pôle à l'origine ne donne aucune
dynamique ( mode 0k ).
Deuxième cas : deg(N) < deg(Pc). La multiplication se fera haut et bas par zp :
polynôme en z
64748
N y(z ) z N y(z ) z z N y(z −1)
−1 p −1 p− n n
Y(z) = = p = . Nous voyons ici apparaître des zéros à l'origine
Pc(z−1) z Pc(z−1) zp Pc(z−1)
1
424 3
polynôme en z
caractéristiques d'une avance donc d'un système non causal.
La seconde situation de cette étude sommaire est inacceptable en pratique ce qui implique
une limite supérieure au degré du polynôme Pc(z-1). C'est ce que nous avons vu dans la
méthode de résolution d'une équation de Bezout.
Le polynôme Pc(z-1) à un degré p ≤ pmax
pmax = deg(Aa) + deg(B) - 1 = deg(A) + deg(D) + deg(B) - 1 est le nombre maximal de
pôles que nous pouvons choisir.
Si nous choisissons p < pmax, les (pmax-p) pôles non précisés seront de fait à l'origine.
=========================Exemple=========================
Nous allons illustrer tous les résultats par un exemple simple :
C(z−1)
Perturbation échelon à rejeter : = 1
D(z −1) 1 - z −1
p1, 2Ts
Pôles du modèle discret équivalent : z1, 2 = e = 0,5848 ± j 03376
Polynôme caractéristique : Pc(z −1) = (1 - z1z−1) (1 - z2z−1) = 1 - 1,17 z-1 + 0,456 z-2
Equation de Bezout :
(1 + a 1z −1 ) (1 − z −1 ) S1 (z −1 ) + z −1 (b 0 + b1z −1 ) R (z −1 ) = Pc (z −1 )
0.25
Perturbation de sortie
Sortie du procédé
0.2
0.15
0.1
0.05
-0.1
30 35 40 45 50 55 60 65 70 75 80
Temps en secondes
-0.2
-0.4
-0.6
Perturbation
de
-0.8 sortie
-1
-1.2
-1.4
Perturbation
de
-1.6
commande
-1.8
-2
30 35 40 45 50 55 60 65 70 75 80
Temps en secondes
================================================================================
A(z−1) T(z−1)
Ty*→u =
Pc(z−1)
Poursuite idéale :
Elle implique deux conditions :
T(z −1)
Pc factorise B1 : Pc(z-1) = B1(z-1).Q(z-1) ⇒ Ty*→y = z-(d +1)
Q(z−1)
T simplifie les pôles restants : T(z-1) = Q(z-1) ⇒ Ty*→y = z-(d +1) ⇒ y(t) = y*(t - d - 1)
A(z−1)
La commande associée est alors de la forme : Ty*→u =
B1(z−1)
Le retard est non compensable car il faudrait une avance dans T(z-1) (la commande
associée devrait être en avance sur la consigne).
Les zéros du modèle du procédé apparaissent dans la dynamique de la commande
⇒ ils doivent être "stables" c'est à dire à l'intérieur du cercle unité. Nous savons
qu'avec une modélisation avec bloqueur d'ordre zéro le modèle discret a des zéros
non liés au procédé continu et dont la position est difficile à prévoir.
Cette poursuite idéale peut être délicate à mettre en œuvre.
nb
∑ bk y*(t-k)
Soit encore : y(t) = q-(d +1) k =0
nb
∑ bk
k =0
C'est un filtrage par un filtre RIF de gain statique unité (moyenne mobile) avec toujours le
retard de (d+1)Ts:
t < (d+1)Ts : y(t) = 0
t ≥ (d+1+nb)Ts : y(t) = 1 la poursuite est assurée.
(d+1)Ts ≤ t < (d+1+nb)Ts : régime transitoire de durée nbTs (en pratique, nb est de
l'ordre de quelques unités).
Modèle de poursuite :
En partant de la poursuite d'un échelon en temps fini et en filtrant l'échelon par un modèle
B*(z−1)
de poursuite de gain statique unité qui va répartir l'effort demandé sur un temps
A*(z−1)
plus long nous pouvons obtenir une dynamique de poursuite indépendante. Cela est décrit par
le schéma ci-dessous :
Vu(z) Vy(z)
+
Y *(z) B*(z−1) 1 U(z) B(z−1) + Y(z)
A*(z−1)
T(z−1) +
⊗ S(z−1)
+
⊗ A(z −1) +⊗
-
R(z−1)
et la commande associée :
La dynamique de la poursuite est fixée par le polynôme A*(z-1) et pour toujours assurer un
gain statique unité il suffit de choisir
Le correcteur assure ainsi une régulation avec une dynamique fixée par Pc(z-1) et une
poursuite de dynamique fixée par A*(z-1) : asservissement avec poursuite et régulation à
objectifs indépendants ( PROI ). Le choix du modèle de référence se fait toujours par la
méthode rappelée au chapitre ➀ : choix d'un système de référence en continu (1er ou 2nd ordre)
puis transposition vers le discret.
L'implantation du modèle de référence se fait toujours avec des équations de récurrence de
type RST, il suffit d'utiliser les polynômes R*, S* et T* tels que :
B*(z−1)
S(z −1) U(z) = T(z −1) Y*(z) -R(z −1) Y(z) ⇒ A* −1
(z42
) S4 −1
3) U(z) = B
(z4 * −1
1(4
z42) T4 −1
(z4 *
3) Y (z) -A
* −1
(z42
) R4 −1
(z4
3) Y(z)
A*(z −1) 14
S* T*
14
R*
==================================Exemple===============================
Reprenons notre exemple simple :
C(z−1)
Perturbation échelon à rejeter : = 1
D(z−1) 1 − z−1
p1, 2Ts
Pôles du modèle discret équivalent : z1,2 = e = 0,5848 ± j 03376
Polynôme caractéristique :
Pc(z −1) = (1 - z1z−1) (1 - z2z−1) = 1 - 1.17 z-1 + 0,456 z-2
Pc(z−1)
Compensation de la dynamique de régulation : T(z−1) = = 5,21 - 6,1 z−1 + 2,375 z− 2
B(1)
Nous allons choisir une dynamique de poursuite différente soit : dépassement de 5% ( ζ = 0,7 ) et
un temps de premier dépassement de tmax = 10s
ω0 = π = 0,44
t max 1−ζ2
==============================================================
−1
A(z −1) R(z −1) A(z −1) R(z−1) Cy(z ) A(z −1) R(z−1) Cy(z −1)
U(z) = - V ( z ) = - = -
Pc(z −1) Pc(z−1) Dy(z −1) Dy(z −1)
y
−1
B(z −1) R(z−1) B(z −1) R(z−1) Cu(z ) B(z −1) R(z −1) Cu(z −1)
U(z) = - V ( z) = - = -
Pc(z −1) Pc(z −1) Du(z−1) Du(z −1)
u
C(z−1)
Perturbation échelon à rejeter : = 1
D(z−1) 1 − z−1
S1 (z −1 ) = (1 + s1z −1 ) = 1 + 0,9028 z −1
Solution ( méthode vue ensuite ) : S(z −1 ) = (1 − z −1 ) (1 + s1z −1 ) = 1 - 0,0972 z −1 - 0,9028 z −2
R (z −1 ) = (r0 + r1z −1 ) = 12,4653 - 7,2562 z −1
Pour une perturbation de sortie : Y(z) = A(z−1) S1(z−1) = (1 + a1z−1) (1 + s1z−1) réponse en 3 coups
Perturbation de commande : Y(z) = B(z−1) S1(z−1) = z−1 (b0 + b1z−1) (1 + s1z−1) réponse en 3
coups ( avec un retard ).
0.2
Sortie du procédé
0.1
Perturbation de commande
-0.1
-0.2
-0.4
25 30 35 40 45 50 55 60 65 70
Temps en secondes
Perturbation de
-0.5 sortie
-1
-1.5
-2
Perturbation de
commande
-2.5
-3
-3.5
25 30 35 40 45 50 55 60 65 70
Temps en secondes
============================================================
L'équation de Bezout devient : Pc(z −1) = A(z −1) D(z-1) S1(z −1) + B(z−1) R(z −1) = A(z −1)
A factorise 2 des 3 termes et pour avoir une solution non nulle il faudra :
R(z-1) = A(z-1) R1(z-1) ( le régulateur compense les pôles du procédé )
Il s'agit d'une idée académique dont il est nécessaire de regarder les conséquences sur
toutes les fonctions de transfert entrant en jeu dans le régulateur. Ici nous avons limité notre
B(z−1) S1(z −1) Cy(z −1) B(z −1) S1(z −1) Cy(z −1)
Y(z) = =
Pc(z −1) A(z −1)
La dynamique de rejet sera fixée par A(z-1) ce qui est à exclure si le procédé est instable.
La commande associée se stabilise en temps fini :
B(z −1) R(z −1) Cy(z −1) B(z −1) R1(z −1) Cy(z−1)
U(z) = − =−
A(z −1) Dy(z −1) Dy(z −1)
Cette réponse est donc utilisable uniquement dans le cas de procédés stables. Dans le cas
de procédés intégrateurs, A(z −1) = (1 - z −1)p A1(z −1) il ne faut donc pas compenser les pôles en z =
1, seule A1(z-1) la partie des pôles strictement stables est compensable.
Récapitulation :
Pour un procédé ayant des pôles stables et instables tels que :
Nous pouvons obtenir une réponse en temps fini pour la perturbation de sortie, dite réponse
pile (ou réponse plate) en choisissant : Pc(z −1) = Ast(z −1)
Dans ce cas :
Pc(z −1) = (1−z −1)p Ainst (z −1) Ast(z −1) D(z-1) S1(z −1) + B(z −1) R(z −1) = Ast(z −1)
Ast factorise 2 des 3 termes et pour avoir une solution non nulle il faudra : R(z-1) = Ast(z-1)
R1(z-1) ( le régulateur compense les pôles du procédé )
La commande associée à ce rejet sera :
B(z −1) R(z −1) Cy(z −1) B(z−1) (1 - z-1)p Ainst (z −1) R1(z −1) Cy(z −1)
U(z) = - =-
Ast(z −1) Dy(z−1) Dy(z−1)
==================================Exemple=====================================
C(z−1)
Perturbation échelon à rejeter : = 1
D(z−1) 1 − z−1
Choix de la dynamique : Pc (z −1 ) = (1 + a 1z −1 )
Equation de Bezout :
(1 + a 1z −1 ) (1 − z −1 ) S1 (z −1 ) + z −1 (b 0 + b1z −1 ) R (z −1 ) = (1 + a 1z −1 )
R (z −1 ) = (1 + a 1z −1 ) R 1 (z −1 )
Pour une perturbation de sortie : Y(z) = A(z−1) S1(z−1) = (1 + a1z−1) (1 + s1z−1) réponse en 3
coups
Perturbation de commande
0.3
0.25
Perturbation de sortie
0.15
0.1
Sortie du procédé
0.05
0
30 35 40 45 50 55 60 65 70 75 80
Temps en secondes
-0.5
Perturbation de sortie
-1
Perturbation de commande
-1.5
-2
-2.5
30 35 40 45 50 55 60 65 70 75 80
Temps en secondes
=================================================================================
Pc(z −1) = A(z−1) D(z-1) S1(z−1)+z−(d+1) B1(z −1) R(z−1) = B1(z−1) B1 factorise 2 des 3 termes et pour avoir
une solution non nulle il faudra : S1(z-1) = B1(z-1) S2(z-1) ( le régulateur compense les zéros du
procédé ).
une commande variable qui ramène à chaque instant d'échantillonnage la sortie discrète à la
valeur souhaitée. Son rôle de correcteur discret est rempli, il ne s'intéresse pas à ce qui se
passe entre les instants d'échantillonnage. Pour l'utilisateur cela est bien sûr inacceptable
sauf si éventuellement la dynamique fixée par les zéros du procédé est jugée satisfaisante.
Comment détecter le problème ? La méthode rigoureuse serait de calculer la sortie continue
ce qui peut se faire en utilisant la transformée en Z modifiée. Plus simplement, il est possible
d'utiliser le raisonnement précédent c'est à dire de regarder systématiquement quelle est la
commande que nous allons exiger du correcteur. Enfin pratiquement, l'étude en simulation en
utilisant un modèle de procédé continu permet de repérer le problème.
Pour le gain de boucle :
Ce type de choix appelé aussi la compensation des zéros est en général à éviter surtout
pour des procédés non inversement stables ( zéros extérieurs au cercle unité )
=================================Exemple=====================================
C(z−1)
Perturbation échelon à rejeter : = 1
D(z−1) 1 − z−1
Pour une perturbation de sortie : Y(z) = A(z-1) S2(z−1) = 1 + a1z−1 = 1 − 0,9 z−1 réponse
discrète en 2 coups.
A(z−1) R(z−1)
U(z) = − commande instable.
B1(z−1)
Pour une perturbation de commande :
−1 −1 −1 −1 −1 −1 −2
Y(z) = z B1(z ) S2(z ) = z (b0 + b1z ) = 0,08 z + 0,112 z réponse en 2 coups ( avec un
retard ).
======================================================================
V. CONCLUSIONS :
La méthode polynomiale de placement de pôles permet de spécifier directement les pôles
souhaités en boucle fermée. La compensation des pôles et des zéros du procédé par le
correcteur est envisageable mais cela peut amener des inconvénients surtout dans le second
cas qui est à éviter. La compensation est d'autant plus délicate à réaliser qu'elle implique une
connaissance précise du modèle du procédé ce qui est loin d'être le cas pratique le plus
fréquent.
La méthode la plus sûre consiste à ne pas effectuer de compensation et à utiliser un modèle
de poursuite. Il est indispensable de s'intéresser à la commande que nécessite le choix
effectué. Le chapitre ➂ aura pour but de mettre en place des méthodes générales pour mieux
évaluer la qualité de l'asservissement mis en place grâce aux fonctions de sensibilité.