Vous êtes sur la page 1sur 56

Commande linéaire avancée

Plan du cours

• Introduction

• Commande RST

• Commande par retour d ’état

• Commande robuste H infinie

1
Commande linéaire avancée

Introduction
Celui-ci aborde la synthèse des correcteurs permettant de réguler les grandeurs électriques
(courants...), magnétiques (flux, courant magnétisant...) et mécaniques (couple, vitesse,
position...).
Leur choix doit être adapté aux performances requises (temps de réponse...), aux impératifs
techniques (complexité de la commande, immunité aux parasites) et aux contraintes
économiques.
Les correcteurs ont un triple objectif :
•stabiliser le système en boucle fermée : Un système linéaire est stable
asymptotiquement si et seulement si sa réponse impulsionnelle converge vers 0 lorsque
le temps croît vers l’infini. Pour un système continu, cette propriété est vérifiée lorsque
tous les pôles du système continu sont à partie réelle négative dans le plan s. Pour un
système échantillonné, tous les pôles doivent être à l’intérieur du cercle unité dans le
plan z.
•assurer le suivi des grandeurs de sortie y en fonction des consignes yc en l’absence de
perturbations : asservissement. En particulier, des contraintes de précision peuvent être
imposées lorsque l’entrée est excitée par un échelon, une rampe...
•atténuer la variation des sorties en présence de perturbations lorsque les consignes sont
constantes : régulation.
2
Commande linéaire avancée

Pour accomplir la synthèse d’un correcteur, la première démarche à effectuer consiste à traduire
le cahier des charges sous forme d’un objectif exprimé en termes :
•de recherche de stabilité. Cette condition doit bien sûr toujours être vérifiée ! De plus
la stabilité doit être conservée en présence des bruits injectés sur le système et en dépit
des imprécisions sur la modélisation (dynamiques négligées) et des incertitudes
paramétriques. Ces contraintes conduiront à définir la notion de stabilité robuste.
•de performances en régulation (capacité de rejeter les perturbations injectées en entrée
ou en sortie) et en poursuite (capacité de suivre en sortie les consignes).

Stabilité d ’un SISO

+ e u
Correcteur Processus
w y
C P
-

3
Commande linéaire avancée

Critère du revers dans le plan de Nyquist :


Une condition nécessaire et suffisante de stabilité du système en boucle fermée est satisfaite si le
transfert en boucle ouverte FBO(jω) entoure le point critique (-1,0) autant de fois qu’il comporte
de pôles instables lorsque ω croît de 0 à +∞. Si le système en boucle ouverte ne possède ni pôle
ni zéro instables (FBO est à déphasage minimal), cette condition devient : le transfert en boucle
ouverte FBO(jω) laisse le point critique (-1,0) sur sa gauche lorsque ω croît de 0 à +∞
Im(F ) Im(F )
BO BO

ω =0 ω =0

-1 Re(FBO ) -1 Re(F
BO
ω ω

Stable Instable

4
Commande linéaire avancée

Le système en boucle fermée est asymptotiquement stable si et seulement si la courbe de gain


dans le diagramme de Bode est en dessous de l’axe 0dB pour la pulsation ωosc définie par
Arg[F BO(ωosc)]=π

G ain de F en dB Gain de F en dB
B0 B0
ω
osc
ω
osc
0dB 0dB
ω ω

Phase Phase
ω ω

-180 -180

Stable Instable

5
Commande linéaire avancée

Précision

La précision de l’asservissement est caractérisée par l’erreur entre la sortie et la consigne en


réponse à différents types d’échelons d’entrée (position, vitesse, accélération...). Elle peut être
calculée à partir du théorème de la valeur finale pour un système en boucle fermée avec retour
unitaire :
W
• pour un système continu e( ∞ ) = lim s→0 s
1 + FBO ( s )
 z − 1 W
• pour un système discrétisé e( ∞) = lim z→1  
 z  1 + FBO ( z)
y ( z)
avec w l’entrée, e = y-w l’erreur de sortie, y la sortie et FBO = le transfert direct en boucle
e( z )
ouverte.

6
Commande linéaire avancée

K −
Si FBO(s) est factorisée sous la forme i
F ( s) avec F-(0) = 1 et i le nombre d’intégrateurs,
s
l’erreur statique en boucle fermée peut être évaluée pour les différentes excitations ci-dessous

Système continu Système discret


nombre échelon échelon échelon échelon échelon échelon
d’intégrateurs de de vitesse d’accélération de de d’accélération
dans FBO position position vitesse wn =
wn = wn = 2
t2 2 Tech
w(t)= E0 w(t) = V0t w( t ) = Γ 0 E0 V0 n T ech Γ0 n
2 2
0 E0 ∞ ∞ E0 ∞ ∞
1+ K 1+ K
1 0 V0 ∞ 0 V0
Tech ∞
K K
2 0 0 Γ0 0 0 Γ0
Tech 2
K K

7
Commande linéaire avancée

Performances
Les performances dynamiques désirées en boucle fermée sont spécifiées à partir :
• soit d’une réponse pile z-d-1 (la sortie recopie l’entrée avec d pas de retard), des caractéristiques
d’un modèle du premier ordre (Gain et constante de temps) ou celles d’un modèle du second
K 0 .ω n 2
ordre continu H(s) = 2 (qui sera bloqué à l’ordre zéro et discrétisé) et donc
s + 2ζωn s + ω n 2

de son gain K0, de sa pulsation naturelle ωn et de son amortissement ξ


Gain Facteur de qualité :
db 1
M Q=
Q 2ξ
Facteur de surtension
fr f n f 1
M=
2ξ 1 − ξ 2
Phase Fréquence naturelle
deg
f fn = 2πωn
-90 Fréquence de résonance
-180 f r = 2πω n 1 − 2ξ 2

8
Commande linéaire avancée

y (1+d%)y( 00) Temps de montée


π − Arc cos(ξ )
tm =
ω n 1− ξ 2
(1+n%).y( 00)
Temps de premier pic
y( 00 ) π
t pic =
Tp (1-n%).y( 00 ) ω n 1− ξ 2
Temps de réponse à n%
1 100
tr n ≈ ln( )
ω nξ n
tm tpic tr n t Pseudo-période :

Tp =
ω n 1− ξ 2
Dépassement :
−πξ
d% = 100 exp( )
1− ξ 2

9
Commande linéaire avancée

Discrétisé et bloqué à l’ordre 0, ce système est représenté (pour un gain unitaire) par le transfert
en z :
B1 (z) b1 z + b0
= (14.1)
A 1 (z) z + αz + β
2

avec
β = exp(-2ξωTech)
α = -2exp(-ξωTech)cos(ωTech 1 - ξ 2 )

•soit de la dynamique du système objectif (ce qui revient à fixer les pôles du système corrigé).
Cependant, les zéros de la fonction de transfert modifient sensiblement la réponse temporelle et
fréquentielle.
•soit, plus généralement, par des transferts entrées/sorties, perturbations/entrées et
perturbations/sorties.

10
Commande linéaire avancée

Le cahier des charges précise l’objectif désiré pour chacune de ces fonctions de tranfert. Il impose
ωn 2
leur expression analytique (par exemple FBF ( s) = 2 ) ou, plus généralement, il
s + 2ζω n s + ω n 2

définit leurs gabarits S x px ( jω) à partir du spectre des bruits


bruit sur capteur
S
y, p de sortie à rejeter
y

p
y

11
Commande linéaire avancée

Commande RST
Exposé de la méthode

ΠIdentifier le processus
La méthode d’identification doit tenir compte des bruits injectés dans le processus

• Fixer le modèle en régulation et les objectifs de l’asservissement


Ë Réponse pile
Ë Modèle du second ordre

Ž Calculer le régulateur polynomial


⇒ Commande RST

• Calculer le filtre d’entrée pour l’asservissement


A partir de la trajectoire et/ou de la dynamique désirée

12
Commande linéaire avancée

-a- Réponse pile


Le modèle a pour fonction de transfert z-1-d. La sortie recopie l’entrée avec d pas de retard. Nous
supposons ici que le processus possède naturellement le terme z-1 en facteur.

-b- Modèle du second ordre


Le modèle désiré est en général décrit par une fonction de transfert du second ordre :
B1(z) 1+α+β z+b
=
A1(z) 1+b z2+α z+β
avec :
z+b : numérateur de H(z)
α, β : coefficients fixant la dynamique du système désiré

Ce choix correspond à celui d'un système du second ordre de gain statique 1 et dont le temps de
réponse dépend de α et β qui constituent les paramètres de réglage de ce type de correcteur
réalisé au moyen des polynômes R(z), S(z) et T(z).
Nous avons donc :
P(z)=A1(z) = z2+αz+β
et
Le modèle doit vérifier degré(A 1)-degré(B1)>=degré(A) - degré(B) pour permettre une correction
polynomiale.
13
Commande linéaire avancée

Pour choisir α et β, on peut par exemple utiliser les caractéristiques d'un système du second
ordre.
En effet, un système continu du second ordre est donné par :
1
2
p  p
1 + 2λ +  
ω  ω
Il a pour dénominateur

p2+2λω p+ ω2

Si nous utilisons un bloqueur d'ordre zéro, la fonction de transfert en z qui lui correspond a pour
dénominateur : z2 + αz+ β soit sous sa forme retard 1+αz-1+βz-2 .
avec :
β = exp(-2λωT)
α = -2exp(-λωT)cos(ωT 1- λ2 )
Si nous adoptons un coefficient d'amortissement de λ = 0.7, le temps de réponse est alors donné
par Tr = 5/ω.
14
Commande linéaire avancée

Régulation polynomiale RST


Dans cette méthode la structure de la boucle de commande est donnée sur la figure suivante :
d (z) p(z)

w(z) w'(z) w''(z) e(z) u(z) y(z)


B (z)
m 1/S(z)
Am(z)

R(z)

Le but est de déterminer les polynômes R(z), T(z), S(z) sachant que l'on désire que la fonction de
Y (z) z − d B( z ) T ( z)
transfert en asservissement et en boucle fermée FBF ( z ) = = soit de la
W '( z) A( z ) S ( z) + z −d B ( z) R ( z )
Y(z) T ( z ) N ( z ) −d
forme = z
W '( z ) P ( z)
où le polynôme P(z), choisi à l'avance, fixe les performances du système bouclé en régulation , N(z)
B (z)
contient les zéros du processus qui sont conservés et m .est un modèle de référence série pour
Am ( z )
l’asservissement.
15
Commande linéaire avancée

Nous avons :
y ( z) A( z ).S ( z )
y( z ) B ( z ).S ( z ).z − d =
= p ( z) A( z).S ( z) + B ( z).R( z ).z −d
d ( z ) A( z ).S ( z ) + B ( z ).R ( z ).z − d
Placement de pôles : conservation des zéros
B( z ) − d
Le modèle en asservissement est donné par : z
P( z)
La méthode est résumée ci-dessous :
- identification du processus par un modèle de la forme :
Y ( z ) b0 + b1 z −1 + b2 z −2 +... +bm z − m − d
= − − −
z
U ( z) 1 + a1 z + a2 z +... +an z
1 2 n

- choix de la dynamique de régulation : déterminez un polynôme P(z) tel que :


deg(P(z)) ≤ deg(A)+deg(B)+d-1
- choix de la dynamique en asservissement. Choisissez un modèle de référence série :
−1 −2
Bm ( z ) bm 0 + bm 1 z + bm 2 z +...
=
Am ( z ) 1 + am 1 z −1 + am 2 z −2 +...

16
Commande linéaire avancée

- calcul des polynômes R(z) et S(z)


Résolvez l’identité de Bezout P(z) = A(z).S(z)+z-d.B(z).R(z) avec
deg(R(z) = deg(A)-1 et deg(S(z)) ≤ deg(B) + d - 1
R ( z ) = r0 + r1z −1 + ... + rr −1z − r +1
S ( z ) = 1 + s1z −1 + ... + sr −1z − r +1
Trouvez les polynômes R(z) et S(z) revient à résoudre P=M.X avec
P T = p0 p1 ... p2r −1
X T = 1 s1 s2 ... sr −1 r0 r1 ... rr −1
- calcul du polynôme T(z) : T(z)=P(z)/B(1)

Poursuite et régulation à objectifs indépendants : élimination de tous les zéros


Le modèle en asservissement est z − ( d +1)
La méthode est résumée ci-dessous :
- identification du processus par un modèle de la forme :
Y ( z ) b0 + b1 z −1 + b2 z −2 + ... + bm z − m −d
= z
U ( z ) 1 + a1 z −1 + a2 z −2 + ... + an z −n
17
Commande linéaire avancée

- choix de la dynamique de régulation : déterminez un polynôme P(z) tel que :


deg(P(z)) ≤ n+d
- choix de la dynamique en asservissement. Choisissez un modèle de référence série :
−1 −2
Bm ( z ) bm 0 + bm 1 z + bm 2 z +...
=
Am ( z ) 1 + am 1 z −1 + am 2 z −2 +...
- calcul des polynômes R(z) et S(z)
Résolvez l’identité de Bezout P(z) = A(z).S’(z)+z-(d+1).R(z) avec :
S ( z ) −1
S '( z ) = .z
B( z)
deg(S’(z))=d, deg(R(z))=n-1, deg(P(z))=n+d
Trouvez les polynômes R(z) et S(z) revient à résoudre P=M.X avec
P T = 1 p1 ... pn+d
X T = 1 s '1 s' 2 ... s'd r0 r1 ... rn−1
D’où S ( z ) = B ( z ). S '( z ) = s0 + s1 z −1 + ...
z −1
Si s0 est différent de 1, il faudra diviser S(z), R(z) et T(z) par s0.
- calcul du polynôme T(z) : T(z)=P(z)

18
Commande linéaire avancée

Poursuite et régulation à objectifs indépendants : cas général

d dy
u
wk B (z-1 ) w'k w''k ek uk + + y
k
as -1 + 1/S(z -1
) -1
Aas (z-1 ) - + +
+
R(z-1 ) + d
m

Asservissement Régulation .

B( z −1 ) − d B * ( z −1 ) − d −1
H (z ) =
−1
z = z
A( z − 1 ) A( z −1 )

19
Commande linéaire avancée

Posons :
A( z −1 ) = a0 + a1 z −1 +...+ a na z − na (eq.39)
B( z −1 ) = b1 z −1 +...+bn b z − nb = z −1 B * ( z −1 ) (eq.40)
et na = deg(A(z -1 )) et nb = deg(B(z-1 ))
Le but est de déterminer les polynômes R(z -1 ), T(z -1 ), S(z -1 ) sachant que l'on désire que la
fonction de transfert en régulation et en boucle fermée
−1 yk z − d B ( z − 1 ) T ( z −1 )
F BF ( z ) = =
w'k A ( z − 1 ) S ( z −1 ) + z − d B ( z −1 ) R ( z − 1 )
soit de la forme
yk T ( z −1 ) B *− ( z − 1 ) − ( d +1)
= z
wk ' P ( z −1 )
P(z), choisi à l'avance, fixe les performances du système bouclé en régulation.
−n
Notons : P( z) = 1 + p1 z −1 +...+ p n p z p

20
Commande linéaire avancée

B*-(z) contient les zéros du processus qui sont conservés. A cet effet, B* est décomposé en deux
parties :
•B*- : contenant les zéros qui doivent être conservés
•B*+ : polynôme normalisé qui représente les zéros qui seront éliminés (zéros
masquables) par les pôles de S
D’où B*(z-1) = B*-(z-1)B*+(z-1)
Si tous les zéros sont masquables, B*- est réduit à une constante.

21
Commande linéaire avancée

Calcul des polynômes R et S

S se décompose en trois parties :


•B*+(z-1) qui permet de masquer les zéros stables que l’on désire éliminer,
•Sp(z-1) partie précaractérisée contenant par exemple le facteur (1-z-1) pour éliminer
l’erreur statique,
•S1 un polynôme qui sera calculé par la suite.
Nous avons : S(z-1) = S1(z-1) B*+(z-1)Sp(z-1) (14.)
R se factorise en deux polynômes :
•Rp(z-1) partie précaractérisée de R permettant d’annuler les pics sur la fonction de
sensibilité . En effet, il suffit de placer les pôles auxiliaires de R de manière à annuler
ce polynôme sur les fréquences correspondant à ces pics.
•R1 un polynôme qui sera déterminé par la suite.
Nous pouvons écrire : R(z-1) = R1(z-1)Rp(z-1) (14.)
Il suffit d’identifier la transmittance en boucle fermée FBF et son modèle pour calculer les
polynômes R1 et S1.

22
Commande linéaire avancée

Il faut résoudre l’identité de BEZOUT :


( A( z −1 )S1 ( z −1 )S p ( z −1 ) B *+ ( z − 1 ) + z − d −1 B *+ ( z −1 ) B − ( z −1 ) R1 ( z −1 ) R p ( z −1 ))( z − (d +1)T ( z −1 ) B *− ( z − 1 )) =
P ( z −1 )( z − (d +1)T ( z −1 ) B *− ( z −1 ) B *+ ( z −1 ))
Soit, après simplification :
A( z −1 ) S1 ( z −1 ) S p ( z −1 ) + z − d −1 B*− (z −1 )R1 ( z −1 ) Rp ( z −1 ) = P( z −1 )

Posons
R1 ( z −1 ) = r0 + r1 z −1 + ... + rnr z − nr
S1 ( z −1 ) = 1 + s1 z −1 + ... + s ns z − n s
R1 et S 1 sont les inconnues du problème. L’existence et l’unicité de la solution est assurée si :
degré(P) ≤ degré(A)+degré(Sp)+degré(B*-)+degré(Rp)+d
degré(S 1) = degré(B*-)+deg(Rp)+d
degré(R1) = degré(A)+deg(Sp)-1
A.Sp et B*-.Rp sont premiers entre eux.

23
Commande linéaire avancée

Calcul du polynôme T

T permet de compenser la dynamique de régulation P(z -1) de manière à pouvoir introduire la


dynamique en asservissement. Enfin, il amène un gain unitaire.
T ( z −1 ) = P ( z −1 ) si B *− (1) = 0

 −1 P ( z −1 ) −
T ( z ) = −
si B * (1) ≠ 0
 B * (1)
Si B*-(1) est non nul, la transmittance entrée/sortie devient donc :
Y B as ( z ) z ( ) B *− ( z −1 )
−1 − d +1
=
W Aas ( z −1 ) B *− (1)
Et si tous les zéros sont stables et masqués :
−1
Y Bas ( z ) −( d +1)
= z
W Aas ( z −1 )

24
Commande linéaire avancée

Précontraintes et rejet de perturbations


Fixation de précontraintes :
Si nous désirons fixer des racines dans S(z) soit S(z)=S1(z)S2(z) avec S2(z) le polynôme faisant
apparaître les racines imposées ( en particulier une racine z=1 pour assurer une erreur statique
nulle sur une perturbation de sortie additive), il faut résoudre l’équation de BEZOUT en
remplaçant A par A.S2 et S par S1 .
Choix de la dynamique de rejet des perturbations avec simplification des zéros:
Les fonctions de transfert en régulation sont :
Y (z ) B( z).S ( z ).z − d y ( z) A( z ).S ( z )
= =
d ( z ) A( z).S ( z ) + B( z).R( z).z − d p ( z) A( z).S ( z) + B ( z).R( z ).z −d
Si les zéros sont simplifiables, lors de la définition de la fonction de transfert en asservissement
nous posons:
z − d . z −1 B ( z ).z −d D ’où z −1 ( A( z ).S ( z ) + z − d .B ( z ).R ( z )) = P ( z ).B ( z )
=
P(z ) A( z ).S ( z ) + B( z ).R ( z ).z −d
L’équation de Bezout à résoudre dans ce cas est :
S ' ( z ).B( z )
P ( z ) = A' ( z ).S ' ( z ) + R ( z ). z − d .z −1
avec S (z) =
z −1
A’(z) contient le dénominateur du processus et la partie précaractérisée.(par défaut 1-z-1).
25
Commande linéaire avancée

Y ( z ) A( z ).S ( z ) −1 Y ( z) S ( z) −1−d
Il vient p( z ) = P ( z ).B ( z ) .z et d ( z) = P( z) .z Eq1

−1
En reportant S ' ( z) = S ( z ). z
B( z )
dans l ’équation Eq1 et en prenant la partie précaractérisée par défaut, nous obtenons :
−1
−1
Y ( z ) A' ( z ).S ' ( z ) A( z ).(1 − z ) S ' ( z ) Y ( z ) B ( z ) S ' ( z )(1 − z ) −d
= = = z
et d ( z) P( z )
p( z) P( z ) P( z )

Pour un retard nul d=0 nous obtenons :


Y ( z ) A( z ).(1 − z −1 )
deg(S’)=0 ð =
p( z ) P( z )

Y ( z ) B ( z )(1 − z −1 )
et =
d ( z) P( z)

26
Commande linéaire avancée

Calculez le filtre d’entrée de la manière suivante :


W W' Y
Bm(z)
Am(z) z -1

W W' Y

k k k
m-1 m
Choisissons une trajectoire Y en réponse à un échelon d’entrée W.
1  Tz Tz  1 z  1 
Prenons Y (z) = − =
 ( z − 1) 2 ( z − 1) 2 z m  m ( z −1) 2 1 − m 
mT    z 
 1 
2
1 z Bm ( z ) W ' ( z ) 1 z 1
Soit W ' z ) = Y ( z ). z = .  1 −  Et = = (1 − )
m ( z − 1)  z 
2 m
Am ( z ) W ( z ) m z − 1 z m

Bm ( z) W ' ( z ) 1 z 1
Donc = = (1 − m )
Am ( z) W ( z ) m z − 1 z
27
Commande linéaire avancée

Commande par retour d ’état


Rappels sur la notion d ’état
Le processus est décrit par un vecteur d’état X caractérisant l’information minimale nécessaire à
un instant donné t0 pour prédire son devenir connaissant l’évolution de son entrée u.

Soit un système discret S.I.S.O. décrit par :  X k +1 = Ad . X k + Bd .U k



 Yk = Cd . X k + Dd .U k
Ad est de dimension nxn, Bd est de dimension nx1, Cd est de dimension 1xn et Dd est de
dimension 1x1.
Le système est propre si la sortie ne dépend pas explicitement de l’entrée : Dd = 0.
Le polynôme caractéristique du système est : Φ A ( z ) = det( zI − Ad ) = a0 + a1 z + ... + an −1 z n −1 + z n
d

Commandabilité
Un système linéaire discret S.I.S.O. est commandable si et seulement si on peut toujours définir
une trajectoire de commande uk en un nombre fini de périodes d’échantillonnage permettant de
passer d’un vecteur d’état initial X(k0Tech) à un vecteur d’état final X(kfTech), quelques soient ces
vecteurs.

28
Commande linéaire avancée

Le système est commandable si et seulement si :


Wcom = [Bd AdBd ... Adn-1Bd]
est de rang maximum (et donc n).
Une condition nécessaire et suffisante de commandabilité est de trouver un changement de base
(
Wc pour lequel le système puisse être représenté par le triplet A ~
d ,
~
Bd) ,
~ avec :
C d
 0 1 0 ... 0  0
   
 0 0 1 ... 0  0
~ 
...  et Bd =  ...
~
Ad = ... ...
   
 0 0 ... 0 1  0
 − a − a ... − a
 0 1 n −2 − an−1  1
 
Décomposition selon la commandabilité
Lorsque le système n’est pas entièrement commandable, on peut trouver une transformation W
~ A A12  ~  B1 
telle que Ad = WAd W −1 =  11  et B d =   et telle que le sous-système A11, B1 soit
 0 A22   0
commandable.

Le système est stabilisable si ses parties instables sont commandables.


29
Commande linéaire avancée

Calcul de la matrice de changement de base Wc (algorithme de Leverrier)


~ ~ ~
Soient Ad , Bd , Cd les matrices dans l’espace canonique et Ad, Bd, Cd les matrices dans l’espace
initial.
Notons Wc = [ w1 w2 ... wn ] la matrice de changement de base vers l’espace canonique de
commandabilité.
~ ~
Nous avons : Wc Bd = Bd et Wc Ad = Ad Wc
Soit en reportant l’expression des matrices dans l’espace canonique :
w n = Bd
et
 wn −1 = Ad wn + a n −1 wn
w = A w + a w
 n −2 d n −1 n −2 n

 ...
 w1 = Ad w2 + a1 wn

30
Commande linéaire avancée

Commande par retour d ’état

PROCESSUS DISCRET ISE

D
d
e u X X
W k + k + k+1 k
+ Y
k k
T B
d z -1 C
d
- + +
A
d .

Le vecteur d’entrée est donné par : uk = T.wk-K.Xk


Sans nuire à la généralité de l’exposé, le système est supposé propre : les sorties ne dépendent pas
explicitement des entrées. Donc la matrice Dd est nulle.

31
Commande linéaire avancée

Principe
La synthèse du correcteur se fait par placement de pôles. Le système corrigé doit présenter les
pôles z1, ... z n fixés par le cahier des charges.
Le polynôme caractéristique devra donc être :
Φ( z ) = ( z − z1 ) ... ( z − z n ) = α 0 + α 1 z+...+α n −1z n−1 + z n Eq2
Or le système en boucle fermée présente le polynôme caractéristique :
Φ( z ) = det( zI − ( Ad − Bd K ))
Il suffit d’identifier les deux équations précédantes.

Calcul du retour d’état dans la forme canonique de commandabilité


La matrice d’état Ad est transformée sous sa forme canonique de commandabilité par le
changement de base Wc.
 0 1 0 ... 0   0
   
 0 0 1 ... 0   0
~ ~
Ad =  ... ... ...  et Bd =  ...
   
 0 0 ... 0 1   0
   
 −a 0 −a 1 ... −a n − 2 −a n −1   1
32
Commande linéaire avancée

Notons K = [k0 k1 ... kn-1]


Soit ΦAd le polynôme caractéristique de processus discrétisé :
~
Φ Ad ( z ) = det(zI − Ad ) = a 0 + a1 z +...+ a n −1z n−1 + z n
Celui du système corrigé devient (et il est invariant par changement de base) :
~ ~ ~
Φ( z ) = det( zI − ( Ad − Bd K )) = z n + ( a n−1 + k n−1 ) z n −1 +...+ ( a 0 + k 0 ) Eq3
En identifiant Eq2 et Eq3, on obtient le retour d’état :
~ ~
[ ~
] ~
K = k 0 ... k n−1 avec k i = α i − a i

33
Commande linéaire avancée

Calcul du retour d’état dans la base initiale


Wc caractérise la transformation de l’espace initial vers la forme canonique de commandabilité.
 X~ k +1 = Wc −1 Ad Wc . X~ k + Wc −1 Bd . U k
 ~
 Y k = C d . Wc X k

Wc peut être évaluée à l’aide de l’algorithme de Leverrier.


Pour revenir dans l’espace de départ, il suffit d’utiliser le changement de base inverse Wc-1.
~ −1
K = K .Wc
~
En effet  X k = Wc X k ~ ~~ ~
 ⇒ u k = ek − KWc X k = ek − K X k ⇒ K = KWc −1
u k = ek − KX k

34
Commande linéaire avancée

Calcul du filtre T en entrée dans le cas monovariable

La matrice de gain K apporte la dynamique en boucle fermée. Le filtre en entrée permet de


donner au système corrigé un gain unitaire.
La fonction de transfert du système corrigé est :

FBF ( z ) = C d [zI − ( Ad − Bd K )] Bd
−1

et présente un gain :
FBF (1) = C d [I − ( Ad − Bd K )] Bd
−1

Pour obtenir un gain unitaire, il suffit de choisir T (constante scalaire) telle que :

1
T=
C d [I − ( Ad − Bd K ) ] Bd
−1

35
Commande linéaire avancée

Commande robuste H infinie


Bruit et variation de modèle

Mesure des courants :


Quantification et numérisation + Vabc
IBM parasites électromagnétiques Variation
du couple résistant

Commande :
IBM
Quantification+Numérisation
Variation des paramètres
Onduleur : Harmoniques du moteur :
et temps morts fréquence, échauffement

Vitesse de rotation :
Quantification
Sectorisation irrégulière

36
Commande linéaire avancée

Bruits :
- quantification + numérisation,
- susceptibilité électromagnétique des capteurs de courant et de tension,
- sectorisation du capteur de vitesse et de position, influence de l’accélération,
- influence de la modulation de largeurs d’impulsions implantée sur l’onduleur.
Variation de modèle :
- Variation des résistances rotoriques et statoriques, des inductances cycliques due à la
température et à l’effet de peau.

37
Commande linéaire avancée

Mise en équation d ’un système


du dy
w entrée supposée
+ e + u + nulle pour étudier la
w K P y
+ + régulation
-
y sortie
b bruits de mesure
+ du perturbations
b
+ agissant sur l’entrée
y = Ts w + S s d y + S s Pd u − Tsb dy perturbations
agissant sur la sortie
u = S e Kw + Se d u − Se K (b + d y )
avec :
Le = KP matrice de transfert de la boucle ouverte en entrée
Ls = PK matrice de transfert de la boucle ouverte en sortie
et, pour i=e ou s, nous construisons :
Si = (1 + Li ) −1 matrice de sensibilité en entrée ou en sortie
Ti = (1 + Li ) −1 Li matrice de sensibilité complémentaire en entrée ou en sortie
Nous avons S i + Ti = 1
38
Commande linéaire avancée

Définition de la norme H infinie


On note l’espace H∞ des fonctions de la variable complexe analytiques et bornées dans le demi-
plan droit ouvert Re(s)>0
Cet espace est muni d’une norme :
G ∞
= sup{σ M (G ( s )) : Re( s) > 0}
avec
σ M ( A) = max(λi ) et σ m ( A) = min(λi ) avec λ i valeur propre de AA *
Soit R l’ensemble des systèmes représentés par une fonction ou matrice de transfert G sous
forme de fraction rationnelle:
G de R appartient à H∞ si et seulement si
- G n’a pas de pôles dans le demi-plan droit
- G est propre c’est-à-dire bornée à l’infini σ M (G (∞ )) < ∞
Notons RH∞ = R∩ H∞
Si G appartient à RH∞ alors
G ∞ = sup {σ M (G (iω )) : ω ∈ ]− ∞ , + ∞[}
Dans le cas monovariable G ∞ représente le maximum du gain atteint par G(iω) dans le lieu
de Bode
39
Commande linéaire avancée

Approche de la robustesse pour les systèmes linéaires monovariables


-1/g1 -1/g2 Im
Nous supposons le système bouclé nominal
stable.
Marge de gain Mg
On note Mg = ]g1 , g 2 [
L(iw)
δ

-1 Re Pour tout g appartenant à Mg, K stabilise


φ gP.

ω0

Marge de phase Mp
La marge de retard de phase Mrp est définie par :
φ = min{φi / arg( L(iω 0 )) = π + φi et L(iω0 ) = 1}
Pour tout angle ψ tel que 0 < ψ < Φ, K stabilise e −iψ P
La marge d’avance de phase Map est définie par :
φ = min {φi / arg( L( iω 0 )) = π − φi et L (i ω 0 ) = 1}
Pour tout angle ψ tel que 0 < ψ < Φ, K stabilise eiψ P
40
Commande linéaire avancée

Marge de retard Mr
Mr est la borne supérieure des retards τ tels que K stabilise le processus P retardé de τ :
φ 
M r = min i  . Cette marge de retard permet de représenter les dynamiques négligées si celles-
ω i 
ci ont des pôles non oscillants : P~(iω ) ≈ P(iω ) e −iωτ
Marge de module Mm
La marge de module Mm, notée δ sur le schéma, est la distance du point -1 au lieu de Nyquist.
M m = inf { 1 + L(iω ):ω ∈ ]− ∞ + ∞[} =
1
S∞
Elle traduit la robustesse du système en boucle fermée vis à vis des erreurs de modèle
Marge de module complémentaire Mmc
Mmc est la borne inférieure des quantités 1/λ telles que le lieu de Nyquist reste extérieur aux
λ2 λ
cercles de centre − 2
et de rayon définissant dans le plan de Nyquist le facteur de
λ −1 λ −1
2

1
résonnance de la fonction de sensibilité complémentaire : M mc =
T ∞

41
Commande linéaire avancée

1 − M mc , 1 + M mc ⊂ M g et M p ≥ 2 arcsin( M mc / 2)
avec Mp=Mrp ou Map

Représentation des incertitudes


Des erreurs de modélisation peuvent affecter le comportement du système. Les méthodes
robustes prennent en compte ces incertitudes dans la synthèse des correcteurs.
Soit P un ensemble de systèmes comprenant le système nominal. P intègre les incertitudes ou
variation du modèle.
Ces incertitudes peuvent être structurées ou non structurées.
incertitudes structurées : exemple
1
Soit Pno min al = . Mais τ peut varier entre τmin et τmax.
1 + τs
On définit P =  
1
: τ min < τ < τ max  . Ce type d’incertitudes est utilisé en µ-synthèse.
1 + τs 

42
Commande linéaire avancée

incertitudes non structurées


Elles sont utilisées dans les méthodes H∞.
incertitudes additives :
P ( jω ) = Pnom ( jω ) + ∆ a ( jω ) avec ∆ a ( jω ) ∞
< δ a (ω )∀ω

∆a

+
+
Pnom
incertitudes multiplicatives :

P ( jω) = Pnom ( jω)(1 + ∆ m ( jω)) avec ∆ m ( jω) ∞ < δm (ω)∀ω


∆a
+
+
Pnom

Ces incertitudes peuvent prendre en compte les dynamiques négligées, certaines non linéarités et
les erreurs de modélisation.
43
Commande linéaire avancée

Fonctions de pondération

Supposons les incertitudes modélisées sous forme multiplicative.


∆ m ( jω ) = (1 + ∆( j ω )WT ( jω ))avec ∆ ( jω ) < 1
||WT(jω)||∞ représente la norme des incertitudes tolérées.

Pour la clarté de l’exposé, nous supposerons par la suite, le système monovariable. Mais la
méthode H∞ s’applique aux systèmes multivariables.

44
Commande linéaire avancée

Principe de la méthode
y e e y d y
Rappelons que : S= =− = et T = − = − u =
dy dy r b u w
Donc S représente l’influence des perturbations sur l’erreur e et T l’influence du bruit de mesure
sur la sortie.

Lors de la synthèse des correcteurs, deux objectifs doivent être atteints :

• Rendre S le plus faible possible pour réduire l’influence des perturbations

‚ Rendre T le plus faible possible pour réduire l’influence des bruits de mesure

Or S+T=1. Donc il faut rendre S et T faibles dans des plages de fréquences différentes.

45
Commande linéaire avancée

Stabilité robuste
Rechercher la robustesse vis-à-vis des incertitudes du modèle revient à maintenir la stabilité du
système en boucle fermée malgré la présence des perturbations et des erreurs de modèle.
Cela revient à donner l’atténuation de T(jω). A basse fréquence |T(jω)| tend vers 1
Spécifier une fonction de transfert de type passe-haut WT(s) représentant la norme des
incertitudes multiplicatives que le système doit tolérer
1
WT Tnom < 1 ⇔ Tnom ( jω ) <

WT ( jω)

u1
y1 ∆ WT

y2 u2 +
K P
+
-

Schéma de régulation avec erreur de modèle en sortie


46
Commande linéaire avancée

gain
dB

|Tnom(j ω)| |1/WT(j ω)|

47
Commande linéaire avancée

Performance nominale

Les performances du système nominal sont évaluées en fonction de l’erreur e=w-y. Or S=e/w.
Donc rechercher la performance nominale du système revient à fixer l’atténuation de |S(iω)| en
fonction de la fréquence.
1
WS S nom < 1 ⇔ S nom ( jω ) <

WS ( jω )
y1
∆ WS
u1

y2 u2 +
+
K P
-

Système bouclé perturbé associé au problème


de rejet de perturbation sur la sortie
48
Commande linéaire avancée

gain
dB

|1/Ws(j ω)|

|Snom(j ω)|

49
Commande linéaire avancée

Calcul des fonctions de pondération


Par le domaine d’incertitude :
Choix de WT
A une fréquence donnée ω, WT représente le pourcentage d’incertitude du modèle à cette
fréquence.
Fixer un coefficient d’incertitude faible à basse fréquence (<1) et élevé à haute fréquence.
T .s + 1
Vous pouvez choisir une fonction de transfert du type GT 1 d’où
T2 . s + 1
1 + T12ω 2
WT ( ω ) = GT
1 + T22 ω 2
GT , T1 et T2 sont choisis pour permettre :
- une incertitude G 1 à basse fréquence : G1=GT
- une incertitude G 2 pour une pulsation nominale ωT donnée
1 + T12ω T 2
G2 = GT
1 + T22 ω T 2

50
Commande linéaire avancée

Choix de WS
Ws permet de fixer les performances du système et assure le rejet des perturbations de sortie.
Fixer le facteur de rejet kf << 1 des perturbations à basse fréquence.
1 T3 . s + 1
Vous pouvez choisir une fonction de transfert du type .
k f T4 . s + 1
T3 et T4 sont déterminés en fixant le rejet des perturbations pour une fréquence donnée ωs.

1 1
Il faut, bien sûr, respecter la condition : + > 1 pour respecter S+T=1
Ws ( jω ) WT ( jω )

Par un modèle
Choisir une fonction de transfert modèle J(s) pour le système en boucle fermée :
Tj(s)=J(s) et Sj(s)=1-Tj(s)
Choisir pour WT(s) la droite asymptotique à Tj à haute fréquence et pour WS la droite
asymtotique à S à basse fréquence.
Il peut être nécessaire de relâcher un peu les contraintes pour respecter la condition :
1 1
+ >1
W ( jω ) W ( jω )
51
Commande linéaire avancée

dB |1/WT |

|Tj|
dB |1/Ws|

|Sj|
Calcul du correcteur
Le calcul du correcteur est un problème d ’optimisation :
WT Tnom ∞
<1 et WS S nom ∞
<1
52
Commande linéaire avancée

Exemple :
Φr * ωr
F( ωr,Φdr*,Iqs)

Qnom(Ids,Iqs, ωs*) ω* Ids


s ω*
s
F( ωr,Φdr,Iqs)
femd Iqs Ids
Rnom(Ids,Iqs, ωs*)

Transformation
femq Iqs Ids Ids Ic

123/dq
Ib ωr
Iqs
Ia Φdr ωs
Iqs
Ids Iqs
femd
Ids* - -

Transformation
Vds1 femq

ONDULEUR
Φr* + + Vds
Régulateur Va
K1

dq/123
- - Vb
MAS
Te ∗ + Vqs1 + Vqs Vc
K2 Régulateur
Iqs*

Modèle
Machine asynchrone
ω *
s

53
Commande linéaire avancée

Equation du processus :
I ds I qs LrTr
P( s) = = =
Vds1 Vqs σLs LrTr s + Rs LrTr + Lm 2
Fonctions de pondération
2. 210 −5 s + 75 25s + 5000
Ws (T ) = et WT ( s ) =
s +1 0.5s + 10000
WS permet un rejet des perturbations sur la sortie de 1 pour 75 à basse fréquence.
WT permet une erreur de modèle de 50% aux basses fréquences et de plus de 100% aux hautes
fréquences.

Correcteur

249 ,3s 2 + 5,05 .10 6 s + 1,32 .10 9


C ( s) = 3
s + 3464 s 2 + 1, 45 .10 6 s + 1,446 .10 6

54
Commande linéaire avancée

Fonction de sensibilité
et WS

Fonction de sensibilité
complémentaire et WT

55
Commande linéaire avancée

Fin du chapître

56

Vous aimerez peut-être aussi