Cours de Commande Robuste H Infini PDF
Cours de Commande Robuste H Infini PDF
Cours de Commande Robuste H Infini PDF
Université de Strasbourg
Ecole Nationale Supérieure de Physique de Strabourg
3A - Option ISAV
Master ISTI
Edouard Laroche
laroche@unistra.u-strasbg.fr
http://eavr.u-strasbg.fr/~laroche/Student
2008–2009
Table des matières
1 Introduction 4
2 Les systèmes 6
2.1 Système linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Système linéaire à paramètres variants (LPV) . . . . . . . . . 6
2.2.1 Système LPV affine . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Système LPV polytopique . . . . . . . . . . . . . . . . 7
2.2.3 Représentation linéaire fractionnaire (LFR) . . . . . . 7
2.3 Système non-linéaire . . . . . . . . . . . . . . . . . . . . . . . 9
4 Stabilité de Lyapunov 14
4.1 Système non-linéaire . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Système linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Système LPV . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Maximisation du taux de décroissance . . . . . . . . . . . . . 16
4.5 Matrice de Lyapunov dépendant des paramètres . . . . . . . . 16
5 Dissipativité, norme H∞ 18
5.1 Système non-linéaire . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Système linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 Performance H∞ . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.4 Système LPV . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.5 Dissipativité avec matrice de Lyapunov dépendant des paramètres 22
2
6.3.2 Robustesse en stabilité . . . . . . . . . . . . . . . . . . 31
6.3.3 Robustesse en performance . . . . . . . . . . . . . . . . 33
6.4 Lieu des pôles . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3
1 Introduction
En Automatique, la synthèse d’une loi de commande se fait généralement
sur un modèle nominal simplifié qui ne prend pas en compte toute la com-
plexité du système. Des dynamiques sont négligées, comme celles qui se trou-
vent en dehors de la bande passante du système asservi ; les valeurs des
paramètres du modèle sont considérés égales à leurs valeurs nominales.
4
La question de la robustesse peut-être abordée de deux manières, pour la
stabilité comme pour les performances :
– étant donné les intervalles de variation des paramètres, le système est-il
robuste ? A cette question, on répond par oui ou non ;
– quel taux de dilatation faut-il appliquer aux intervalles des paramètres
pour amener le système en limite de stabilité ou de performance ? Le
taux de dilatation est aussi appelé marge de robustesse. La robustesse
est assurée si la marge de robustesse est supérieure à 1. Puisque la sta-
bilité est une condition suffisante pour les performances, la marge de
robustesse en performance est nécessairement plus faible que la marge
de robustesse en stabilité.
Pour les systèmes LPV affines, des formulation LMI sont disponibles pour
l’analyse en stabilité et en performance dans le cas de paramètres constants
ou variants. Ces méthodes, disponibles dans les boites à outils1 de Matlab,
sont présentées dans ce fascicule. La méthode la plus classique destinée aux
modèles LFR est la µ-analyse2 . Cette méthode fait également parti du con-
tenu du cours mais seule la présentation de la modélisation LFR est présentée
dans ce fascicule. Elle sera traitée de manière détaillée en cours3 .
1
Les méthodes d’analyse des systèmes LPV affines ont été proposées dans la LMI
Control Toolbox [1]. Ces fonctions sont désormais disponibles dans les version récentes de
la Robust Control Toolbox[2]
2
Ces méthodes sont disponibles dans la µ-Analysis and Synthesis Toolbox [3] ou dans
les versions récentes de la Robust Control Toolbox [2].
3
D’autres boites à toutils sont également disponibles. Citons par exemple Romuloc,
développée par D. Peaucelle qui permet de traiter à la fois les modèles LPV affines et les
LFR [4]
5
2 Les systèmes
Nous nous limitons, dans ce cours, aux systèmes dynamiques continus
multivariables (dits aussi MIMO pour multi input multi output). Le vecteur
des entrées est u, celui des sorties y ; le vecteur d’état est x.
6
2.2.2 Système LPV polytopique
La matrice M représentant le système est une combinaison barycentrique
de plusieurs matrices M1s , M2s ,... : M = α1 M1s + α2 M2s + .... Avec 0 ≤ αk ≤ 1
et Σαk = 1.
Un système LPV affine dont les paramètres varient sur des intervalles
connus peut être considéré comme un système polytopique. Traitons l’exem-
ple d’un système dépendant de deux paramètres M (θ) = M0 + θ1 M1 + θ2 M2
et notons M1s , M2s , M3s et M4s ses sommets :
s
M = M0 + θ1 M1 + θ2 M2
1s
M2 = M0 + θ1 M1 + θ2 M2
(4)
M3s = M0 + θ1 M1 + θ2 M2
s
M4 = M0 + θ1 M1 + θ2 M2
7
[6]4 pour un système mécanique élémentaire et dans [7]5 pour un système
électromécanique d’enroulement de bande. Des travaux sur la machine as-
chrone sont également disponibles [8, 9].
∆(θ)
v z
-
u Q(s) y-
-
ẋ = Ax + B1 v + B2 u (6)
z = C1 x + D11 v + D12 u (7)
y = C2 x + D21 v + D22 u (8)
v = ∆(θ) z (9)
avec :
8
1. cette représentation n’existe que si la matrice I − D11 ∆(θ) n’est pas
singulière (on parle de LFR “bien posée” (well-posed en anglais) ;
2. dans le cas général, il s’agit d’un modèle LPV où les matrices d’état
dépendent de manière rationnelle des paramètres ;
3. dans le cas où D11 est nulle, alors la dépendance des matrices est affine.
9
En notant δx = x − x0 , δu = u − u0 et δy = y − g(x0 , u0 ) on se ramène à un
système LPV :
δ̇x = A(θ)δx + B(θ)δu
(24)
δy = C(θ)δx + D(θ)δu
avec θ = [x0 , u0 ].
L’étude d’un système non-linéaire par l’analyse de son modèle linéarisé,
bien que souvent sans garantie stricte, constitue une voie couramment em-
pruntée en automatique.
10
3.2 Positivité
Définition 2 (Matrice positive)
Une matrice A ∈ Rn est dite positive et on note A ≥ 0 si la forme quadratique
xT Ax est positive pour tout vecteur x.
Propriété 4
11
Démonstration 2 (Démonstration plus complète)
Pour une démonstration plus complète, on peut considérer une valeur propre
λAB de AB associée au vecteur propre V AB , vérifiant donc
et chercher à montrer qu’elle est positive. L’idée des calculs ci-dessous con-
siste à calculer les coordonnées du vecteur propre d’abord dans la base des
vecteurs propres de B notés VkB puis dans ceux de A notés VlA . Ainsi, on
peut écrire X
V AB = βk VkB (26)
k
AB
où les βk sont les coordonnées de V dans la base des vecteurs propres de
B et X
VkB = αkl VlA (27)
l
où les αkl sont les coordonnées de VkB dans la base des vecteurs propres de
A. En remplaçant dans (25) et en utilisant le fait que AVlA = λA l Vl
A
et
B B B A B
BVk = λk Vk où λl et λk sont les valeurs propres respectivement de A et
B, on obtient :
! !
X X X X
λAl λBk βk αkl VlA = λAB βk αkl VlA (28)
l k l k
Il s’agit d’une égalité entre deux vecteurs. Leurs coordonnées dans la base VlA
sont donc identiques et
X X
λA
l λB
k βk αkl = λ
AB
βk αkl ∀l (29)
k k
A
P B
Dans l’hypothèse où A et B sont toutes deux positives, les quantités λ l k λk βk αkl
et k βk αkl sont nécessairement de même signe et λAB est donc positif (AB
P
positive). Si A et B sont de signe contraire, ces deux quantités seront de signe
contraire et AB est alors négative.
12
Le succès des LMI vient du développement des méthodes dites du point
intérieur (interior point methods) qui permettent de résoudre de manière
efficace ces problèmes [10]. Il est également lié au fait que de nombreux
problèmes, notamment de l’automatique, peuvent être formulé sous forme de
LMI.
3.5 Résolution
Afin de rendre les solvers de LMI facilement utilisables pour les problèmes
de l’automatique, des interfaces ont été développées permettant d’écrire les
problème sous des formes matricielles simples. On peut citer LMI-Tools de
El Ghaoui6 , la LMI Control Toolbox de MathWorks [1] et l’interface SeDuMi
6
http ://robotics.eecs.berkeley.edu/˜elghaoui/
13
développé au LAAS par Peaucelle et alli [11]. Notons aussi l’outil YALMIP7
qui permet de définir un problème LMI et de le résoudre avec n’importe quel
solveur installé sur votre machine.
Les trois problèmes classiques que ces outils résolvent sont
– la fesabilité (ou existence) : trouver x solution de A(x) < 0,
– la minimisation d’une fonction linéaire : trouver x minimisant cT x sous
la contrainte A(x) < 0,
– le problème de valeur propre généralisée : minimiser λ sous les con-
traintes A(x) < λB(x), B(x) > 0 et C(x) < 0.
4 Stabilité de Lyapunov
4.1 Système non-linéaire
Soit un système libre de vecteur d’état x et d’équation d’état ẋ = f (x).
Soit x0 un point stable candidat. Il doit alors vérifier la condition d’équilibre
f (x0 ) = 0. De plus, il faut aussi que que ce point soit attractif, c’est-à-dire
que les trajectoires de x convergent vers x0 .
7
http ://control.ee.ethz.ch/˜joloef/yalmip.php
14
Définition 4 (Stabilité au sens de Lyapunov)
x0 est un point stable au sens de Lyapunov s’il existe une fonction scalaire
V (x) vérifiant les conditions suivantes :
– V (x) > V (x0 ) pour x 6= x0
– dtd (V (x)) < 0 pour x 6= x0
Une telle fonction V (x) est dite fonction d’énergie du système.
A partir d’une condition initiale xi différente de x0 , l’énergie interne du
système va décroı̂tre jusqu’à atteindre son minimum qui correspond à l’u-
nique point x0 ; l’état du système tendra donc nécessairement vers x0 .
Pour démontrer la stabilité par cette méthode, la difficulté réside dans
le choix d’une “bonne” fonction d’énergie. Une classe de fonctions souvent
utilisées sont les fonction quadratiques V (x) = (x − x0 )T Q(x − x0 ) avec
Q = QT > 0 ; on parle alors de stabilité quadratique.
Pour la fonction d’énergie choisie, il reste à démontrer que dtd (V (x)) =
dV (x)
dx
f (x) < 0 pour tout x.
15
valeur des paramètres). Une issue consiste à se ramener à un nombre fini
de LMI en discrétisant l’ensemble des paramètres. L’inconvénient de cette
méthode réside dans le nombre élevé de LMI à résoudre, même pour un petit
nombre de paramètres ; elle est irréaliste dans le cas de systèmes dépendant
d’un nombre élevé de paramètres.
Dans le cas d’un système LPV affine ou polytopique, on vérifie qu’il suffit
que la condition soit vérifiée au sommets de l’espace pour qu’elle le soit sur
l’ensemble du domaine. En effet, si A = Σαk Ask , V̇ = Σαk xT ((Ask )T Q +
QAsk )xT . Il suffit de vérifier ((Ask )T Q + QAsk ) < 0 pour tout k. L’étude de la
stabilité quadratique d’un système LPV affine ou polytopique s’étudie par le
système de 2p + 1 LMI suivantes où p est le nombre de paramètres :
Q > 0 (41)
(Ask )T Q + QAsk < 0 (42)
Q > 0 (43)
T
A Q + QA < τ I (44)
16
Q(θ(t)) ∂Q
où Q̇ = dt
= Σ ∂θ k
θ̇k . La stabilité est donc assurée si :
Pour que la fonction f soit négative, il suffit qu’elle soit négative aux sommets
et qu’elle soit multiconvexe. Remarquons que la multiconvexité, c’est-à-dire
la convexité dans chacune des directions des axes de l’espace est une condition
moins forte que la convexité (la convexité implique la multiconvexité). Pour
comprendre ce résultat, prenons l’exemple d’une fonction de R2 . L’ensemble
de départ E est donc un rectangle. Supposons que les conditions (ii) soient
vérifiées. Il est alors évident que f (x) < 0 sur chacun des cotés du rectangle,
par convexité. Ensuite, pour un point à l’intérieur du rectangle, on peut dire
17
qu’il appartient à un segment parallèle à l’un des bords du rectangle ; par
convexité, f est négative en tous les points de ce segment.
Il s’agit alors d’appliquer ce lemme à l’inégalité matricielle (50) avec E =
Θ × Γ et E s = Θs × Γs . La condition de multiconvexité se ramenant à
ATk Qk + Qk Ak ≥ 0 ∀k ≥ 1, on obtient le système de LMI suivant :
5 Dissipativité, norme H∞
5.1 Système non-linéaire
On s’intéresse maintenant à un système non-linéaire de vecteur d’entrée u,
de vecteur de sortie y, de vecteur d’état x. Son équation d’état est ẋ = f (x, u)
et son équation de sortie est y = g(x, u). Soit S(u, y) une fonction scalaire
que nous appellerons flux d’énergie entrant.
Définition 5 (Dissipativité)
Un système dynamique est dit S-dissipatif s’il existe une fonction d’énergie
V (x) telle que
dV (x)
< S(u, y) (55)
dt
pour tout x 6= x0 où x0 est le point d’équilibre considéré vérifiant f (x0 , 0) = 0
18
5.2 Système linéaire
Soit le système d’équation d’état ẋ = Ax + Bu et d’équation de sortie
y = Cx + Du.
Théorème 1 (Caractérisation LMI de la dissipativité)
Le système ci-dessus est {Q11 , Q22 , Q12 }-dissipatif s’il existe une matrice Q =
QT vérifiant le système de LMI suivant :
Q>0 (57)
AT Q + QA − C T Q11 C QB − C T Q11 D − C T Q12
<0
B T Q − DT Q11 C − QT12 C −DT Q11 D − DT Q12 − QT12 D − Q22
(58)
Démonstration 4
On peut remplacer le vecteur [y T , uT ]T dans la fonction S(u, y) par
y C D x
= (59)
u 0 I u
soit
T
x C T Q11 C C T Q11 D + C T Q12 x
S̃(x, u) =
u D Q11 C + Q12 C D Q11 D + DT Q12 + QT12 D + Q22
T T T
u
(61)
Par ailleurs, la dérivée de la fonction d’énergie s’écrit :
dV (x)
= ẋT Qx + xT Qẋ (62)
dt
= (Ax + Bu)T Qx + xT Q(Ax + Bu) (63)
T T
x A Q + QA QB x
= T (64)
u B Q 0 u
19
5.3 Performance H∞
Définition 6 (Norme H∞ )
La norme H∞ d’un système est la norme induite par la norme L2 sur ses
signaux ; c’est-à-dire que pour un système S de vecteur d’entrée u, de vecteur
de sortie y et de condition initiale nulle :
||y||2
||S||∞ = max (66)
||u||2
R∞
avec ||y||2 = 0
y T ydt
Lemme 3 (Yakubovitch-Kalman)
Soit Σ un système linéaire. Les propositions suivantes sont équivalentes :
(i) Σ est {Q11 , Q22 , Q12 }-dissipatif.
(ii) ∀ω ∈ R+ \det(jωI − A) 6= 0,
T
G(jω) Q1 Q12 G(jω)
≥0 (67)
I QT12 Q2 I
20
Lemme 4 (Lemme borné réel 1)
Un système dynamique continu linéaire de matrices d’état A, B, C et D a
une norme H∞ inférieure à γ si et seulement si il existe une matrice Q = QT
vérifiant :
Q>0 (68)
T
A Q + QA + C T C QB + C T D
<0 (69)
B T Q + DT C DT D − γ 2 I
On peut appliquer le lemme borné réel pour le calcul de la norme H∞
d’un système linéaire en résolvant un problème de valeurs propres généralisées
suivant : trouver les matrices Q = QT et R = RT minimisant λ = γ 2 et
vérifiant :
Q>0 (70)
T
A Q + QA + C T C QB + C T D 0 0
T T T < (71)
B Q+D C D D 0 R
R < λI (72)
Remarquez l’introduction d’une nouvelle matrice R nécessaire pour avoir
une matrice de rang plein dans l’inégalité (72) où intervient le scalaire à
minimiser.
21
Démonstration 5
En appliquant le complément de Schur à la relation ci-dessus avec la décomposition :
T
A Q + QA QB
Q= (75)
BT Q −γI
R = −γI (76)
T
C
S= (77)
DT
et en multipliant par γ on obtient la première forme du lemme borné réel
où la matrice de Lyapunov est γQ. Les deux formes sont bien équivalentes
puisque γ > 0.
22
y
actionneur transmission charge
souple
u
r
régulateur
23
6.1 Présentation du système
Le système est présenté sur la figure 2. Il est composé de deux sous-
systèmes d’inerties respectives J1 et J2 et de coefficients de dissipation (frot-
tements fluides) f1 et f2 reliées par un accouplement de raideur K et de coeffi-
cient de dissipation f . Le premier sous-système est actionné et on commande
le couple u. On note qk les positions et Ωk les vitesses. On cherche à asservir
la vitesse Ω2 du second sous-système. On considère que la raideur K et l’in-
ertie J2 sont entachées d’incertitudes. Les valeurs nominales des paramètres
sont J1 = J2 = 10 mkg.m2 , f1 = f2 = 20 mNms/rad, f = 40 mNms/rad,
K = 10 N/rad. On considère des variations de 50 % sur K et sur J12 .
Le couple transmis par la liaison flexible entre les deux sous-systèmes est
CK = K(q1 − q2 ) + f (Ω1 − Ω2 ). Les équations de la dynamique appliquées
aux deux sous-systèmes s’écrivent :
dΩ1
J1 = u − CK − f1 Ω1 (83)
dt
dΩ1
J2 = CK − f2 Ω2 (84)
dt
Il s’agit d’un modèle linéaire d’ordre 4. Il peut s’écrire sous forme d’état avec
x = [q1 Ω1 q2 Ω2 ]T et les matrices d’état suivantes :
0 1 0 0 0
− K − f +f1 K f 1
J1 J1 J1 J1 , B = J1
A= 0 (85)
0 0 1 0
f
K
J2 J2
− JK2 − f +f
J2
2
0
C= 0 0 0 1 , D=0 (86)
Ce modèle a l’inconvénient d’être non observable. En effet, seule la dif-
férence q1 − q2 des positions a de l’influence sur la mesure Ω2 ; la somme
étant sans effet9 . Ainsi, il est préférable de simplifier les équations en notant
q̃ = q1 − q2 et qui vérifie l’équation :
q̃˙ = Ω1 − Ω2 (87)
En reprenant les équations de la dynamique avec CK = K q̃ + f (Ω1 − Ω2 ), on
peut écrire le modèle d’état avec x = [Ω1 Ω2 q̃]T et les matrices d’état :
f +f1 f
− JK1
1
− J1 J1 J1
A = Jf2 − f +f
J2
2 K
J2
, B = 0 (88)
1 −1 0 0
9
Ajouter un offset identique sur les conditions initiales de q1 et q2 est sans effet sur la
trajectoire de Ω2 .
24
Fig. 3 – Lieu de Bode du système mécanique
C= 1 0 0 , D=0 (89)
Le lieu de Bode du système mécanique est présenté sur la figure 3. La
résonance se situe entre 40 et 50 rad/s. Afin d’asservir la vitesse de la charge,
on a choisi un correcteur de fonction de transfert :
2(s + 2)
K(s) = (90)
(s + 10)(s + 0, 01)
Il s’agit d’un correcteur de type PI10 avec une troncature du terme intégral
pour les pulsations inférieures à 10 mrad/s et un filtrage passe bas du premier
ordre pour les fréquences supérieures à 10 rad/s. La réponse du système
nominal asservi à un échelon unitaire est donnée sur la figure 4. On note un
dépassement de l’ordre de 15 % et un temps de réponse à 5 % de 500 ms.
25
Fig. 4 – Réponse à un échelon du système nominal asservi
LPV affine. Cela sera rendu possible par un changement de variable d’état
x = [J1 Ω1 J2 Ω2 θ̃]T . Remarquons que ce changement de variable est jus-
tifié par la physique car, en présence d’inerties variables, les équations de la
dynamique s’écrivent rigoureusement sous la forme :
d
(J1 Ω1 ) = u − CK − f1 Ω1 (91)
dt
d
(J2 Ω2 ) = CK − f2 Ω2 (92)
dt
Le modèle d’état s’écrit alors avec les matrices suivantes :
− f +f 1 f
−K
J1 J2 1
A = − Jf1 − f +f 2
K , B = 0 (93)
J2
f f 0
J1
− J2 0
h i
f
C= 0 J2
0 , D=0 (94)
Les matrices d’état s’expriment de manière affine en fonction des paramètres
incertains K et J12 .
En notant par commodité :
A B
M= (95)
C D
26
le modèle s’écrit M = M0 + KM1 + J12 M2 avec :
− f +f
J1
1
0 0 1
f
− J1 0 0 0
M0 = (96)
Jf1
0 0 0
0 0 0 0
0 0 −1 0
0 0 1 0
M1 = 0 0 0 0
(97)
0 0 0 0
0 f 0 0
0 −(f + f2 ) 0 0
M2 = (98)
0 −f 0 0
0 f 0 0
Le script de définition du modèle sous Matlab est donné ci-dessous11 :
Aa0 = [ 1/J1*[-(f+f1) ; f ; 1] zeros(3,2) ] ;
Aa1 = [zeros(3,2) [-1 ; 1 ; 0]] ;
Aa2 = [zeros(3,1) [f ; -(f+f2) ; -1] zeros(3,1)] ;
Ba0 = [1 ; 0 ; 0] ; Ba1 = zeros(3,1) ; Ba2 = Ba1 ;
Ca0 = zeros(1,3) ; Ca1 = Ca0 ; Ca2 = [0 1 0] ;
Da0 = 0 ; Da1 = 0 ; Da2 = 0 ;
S0 = ltisys(Aa0,Ba0,Ca0,Da0) ;
S1 = ltisys(Aa1,Ba1,Ca1,Da1,zeros(3)) ;
S2 = ltisys(Aa2,Ba2,Ca2,Da2,zeros(3)) ;
K0 = 10 ; w1 = 5 ; % pondération sur K
J20 = 1e-2 ; w2 = 50 ; % pondération sur 1/J2
range = [K0-w1 K0+w1 ; 1/J20-w2 1/J20+w2] ;
pv = pvec(’box’,range)
sysGaff = psys(pv,[S0,S1,S2]) ;
psinfo(sysGaff)
27
On calcule le système en boucle ouverte composé du correcteur et du process :
sysboaff = smult(sysK,sysGaff) ;
On peut ensuite définir le système bouclé, ayant comme entrée la référence
et comme sortie l’erreur, par une simple lft :
sysbfaff = slft([1 -1 ; 1 -1],sysboaff) ;
On peut ensuite étudier la stabilité quadratique avec une matrice de Lya-
punov constante :
[tau,P] = quadstab(sysbfaff) ;
On obtient tau = -0.0039 négatif, ce qui montre que le système est robuste-
ment stable. La stabilité quadratique avec matrice de Lypaunov dépendant
des paramètres de manière affine est étudiée avec :
[tau2,Q0,Q1,Q2] = pdlstab(sysbfaff) ;
qui donne tau2 = -0.0222, et qui montre que le système est robustement
stable12 .
28
Fig. 5 – Schéma-bloc du modèle dynamique d’ordre 3
6.3 µ-analyse
La µ-analyse est une analyse de robustesse qui s’appuie sur la notion de
valeur singulière structurée. Le modèle doit-être donné sous forme de LFR.
29
Fig. 6 – Schéma-bloc du modèle LFR
On observe que la matrice D11 est nulle, ce qui fait que le modèle LFR est
aussi un modèle LPV affine.
Une étape de normalisation est ensuite opérée. Les paramètres K et J12
sont respectivement remplacés par K0 + w1 δ1 et J120 + w2 δ2 où δ1 et δ2 sont
deux paramètres dont les variations sont comprises entre -1 et 1. Le schéma
correspondant est celui de la figure 7. Le script de définition du modèle LFR
normalisé est donné ci-dessous13 :
A = [-(f+f1)/J1 f/J20 -K0 ; f/J1 -(f+f2)/J20 K0 ; 1/J1 -1/J20
0] ;
B1 = [-1 f ; 1 -(f+f2) ; 0 -1] ;
B2 = [1 ; 0 ; 0] ;
C1 = [0 0 w1 ; 0 w2 0] ;
C2 = [0 1/J20 0] ;
D11 = zeros(2) ;
D12 = zeros(2,1) ;
D21 = [0 1] ;
D22 = 0 ;
sysLFR = pck(A,[B1 B2],[C1 ;C2],[D11 D12 ; D21 D22]) ;
blk = [-1 0 ; -1 0] ; % structure des incertitudes
La variable blk indique que le système contient deux incertitudes réelles
13
Les codes Matlab de cette partie requièrent la boite à outil µ-analysis and synthesis
toolbox ou la version 3 ou postérieure de la Robust Control Toolbox.
30
Fig. 7 – Schéma-bloc du modèle LFR normalisé
scalaires14 .
31
Fig. 8 – Valeur singulière structurée pour l’analyse en stabilité (borne
supérieure et borne inférieure)
cleanupsysic = ’yes’ ;
sysic ;
Avant d’analyser la robustesse, il importe de vérifier que le modèle nom-
inal (avec des incertitudes nulles) est stable15 . Cela se fait de la manière
suivante :
if max(real(spoles(sysLFRbf))) >= 0,
disp(’Système nominal instable’)
else
disp(’Système nominal stable’)
end
Le calcul de la valeur singulière singulière structurée sur un ensemble de
valeurs de la pulsation se fait ainsi :
TabPuls = logspace(0,2,400) ;
sysLFRbf w = frsp(sysLFRbf,TabPuls) ;
[bnds,rowd,sens,rowp,rowg] = mu(sysLFRbf w,blk) ;
figure
vplot(’liv,m’,bnds)
15
Une valeur de µ inférieure à 1 signifie qu’aucun pôle ne traverse l’axe imaginaire mais
ne garantie pas que le système nominal est stable.
32
Fig. 9 – Schéma-bloc du modèle LFR pour l’analyse en performance
33
Fig. 10 – Valeur singulière structurée pour l’analyse en performance (borne
supérieure et borne inférieure)
sysLFRbfp w = frsp(sysLFRbfp,TabPuls) ;
blkp = [blk ; [1 0]] ; % ajout de l’incertitude complexe liée
aux performances
[bnds,rowd,sens,rowp,rowg] = mu(sysLFRbfp w,blkp) ;
figure
vplot(’liv,m’,bnds)
et donne les résultats présentés sur la figure 10. On observe que les bornes
supérieure et inférieure sont proches ; l’ajout d’une incertitude complexe
pour l’analyse en performance permet de régulariser le problème. Le système
est robuste en performance avec une marge de robustesse de 1,5 (1/0,66).
C’est-à-dire que le système maintient les performances définies par le gabarit
W1−1 (s) sur la sensibilité en sortie (le transfert entre la référence et l’erreur
de régulation) pour toutes les valeurs des paramètres dans les intervalles
prédéfinis.
34
Fig. 11 – Lieu des pôles multimodèle pour les variations nominales des
paramètres (5×5 modèles)
Le lieu des pôles multimodèle, tracé sur la figure 11, obtenu par un
échantillonnage de l’espace paramétrique est obtenu par :
[poles,para0] = polesMM(sysLFRbf,blk,5) ;
figure
plot(real(poles),imag(poles),’*’)
On observe que la partie réelle des pôles demeure inférieure à -1,9 ; le système
est donc robustement stable.
On peut tracer l’évolution de la partie réelle maximale en fonction d’un
coefficient r que l’on applique au domaine de variation des paramètres. Les
résultats produits sur la figure 12 sont obtenu avec les commandes :
tabr = linspace(0,3,40) ;
tabpole = [] ;
for ind = 1 :length(tabr),
r = tabr(ind) ;
rsysLFR = mmult(r*eye(2),sysLFRbf) ;
[poles,para0] = polesMM(rsysLFR,blk,10) ;
tabpole = [tabpole max(real(poles))] ;
end
figure
plot(tabr,tabpole)
On observe qu’au moins un pôle est à partie réelle positive à partir d’une
35
Fig. 12 – Évolution de la partie rélle pire-cas des pôles en fonction du coeffi-
cient de dilatation de l’ensemble de variation des paramètres (5×5 modèles)
36
Fig. 13 – Lieu des pôles multimodèle pour les variations maximales des
paramètres (10×10 modèles)
37
où = r − y est l’erreur de régulation.
Les objectifs de ce schéma général s’asservissement sont les suivants :
– stabilité,
– robustesse,
– un bon suivi de trajectoire,
– un bon rejet des perturbations.
Voici comment les évaluer à partir de la représentation fréquentielle des trans-
ferts en boucle fermée.
Les outils classiques de l’automatique monovariable (lieu de Bode, de
Black et de Nyquist) ne sont pas directement utilisables en multivariable.
Les outils présentés s’appuient sur le tracé des valeurs singulières, extention
de la notion de gain.
38
– σ(M + N ) ≥ σ(M ) + σ(N )
– σ(M )σ(N ) ≤ σ(M N )
Propriété 11 (Interprétation)
La norme σ est la norme induite sur les matrices par la norme euclidienne
des vecteurs :
||M z||2
σ(M ) = max
z6=0 ||z||2
z MHMz
H
σ 2 (M ) = max (107)
z6=0 zH z
Ainsi, la norme σ est l’amplification maximale du système de transfert M .
Définition 8 (Norme H∞ )
La norme H∞ de M (s), notée ||M ||∞ est la borne supérieure des valeurs
singulières maximales de M (jω) lorsque ω varie sur [0, ∞] :
||M (s)z||2
||M (s)||∞ = max (110)
z6=0 ||z||2
39
Des critères de stabilité, robustesse, qualité du suivi de trajectoire et
qualité du rejet de peturbation peuvent s’évaluer à partir des représentations
fréquentielles de certains transferts du système bouclé. Cela fait l’objet des
paragraphes suivants. Pour obtenir les valeurs singulières d’un systèmes dy-
namique, vous pouvez utiliser sous Matlab la fonction sigma de la Control
System Toolbox ou la fonction vsvd de la µ-Analysis and Synthesis Toolbox.
A.4.3 Précision
L’erreur statique en réponse à un échelon unitaire sur la référence est
donnée par Sy (0).
40
A.4.4 Rejet de perturbation
Afin d’avoir un bon comportement en rejet de perturbation, il faut que le
transfert entre la perturbation et l’erreur soit le plus faible possible notam-
ment en basse fréquence. Ce transfert est généralement de type passe-bande.
On pourra alors tracer la représentation fréquentielle de Sy (s)G(s) et relever
l’atténuation maximale (en continu) ainsi que l’amplification maximale en
précisant la fréquence.
A.4.5 Robustesse
Les systèmes dynamiques physiques sont généralement de type passe-
bande et on dont un gain qui diminue en haute fréquence. Il en résulte
donc qu’au dela d’une certaine bande de fréquences, ces dynamiques sont
nécessairement mal connues. Ainsi, une des sources classique de manque de
robustesse des systèmes asservis correspond à des amplifications de modes
hautes fréquence mal connus, entraı̂nant ainsi des instabilités. Afin de palier
ce problème, il convient de s’assurer que le gain du correcteur décroit au
dela de la bande passante. Une manière détournée de s’en assurer consiste à
considérer la réponse fréquentielle du transfert Su (s)K(s) ou K(s)Sy (s) du
transfert entre r et u.
41
On a :
1
W1−1 (s) = I. (118)
W11 (s)
Appliquons à l’entrée de ce filtre l’erreur de régulation e ; notons z1 sa sortie.
Si on est capable de vérifier que la norme du transfert entre r et z1 est
−1
inférieure à 1, alors |W11 (jω)| est un majorant de σ(Sy (iω)) pour tout ω.
On en déduit que :
– la marge de gain du système est supérieure à K1 ;
– l’erreur statique relative est inférieure à Kb
a
;
– la bande passante est supérieure à ωc .
Il suffit d’inverser ces trois relations pour définir la pondération permettant
correspondant à un cahier des charges donné :
– K est déterminé à partir de la marge de gain ;
– le rapport ab est ensuite déduit à partir de l’erreur statique acceptable ;
– le coefficient a est alors déterminé par l’expression de la bande pas-
sante : s
2K 2 − 1
a = ωc 2 (119)
1 − 2K 2 ab
– on détermine ensuite b grâce à la valeur de ab .
Si on souhaite une erreur statique nulle, il convient de prendre b = 0.
On peut aussi chercher à imposer une erreur de suivi de rampe nulle en
choississant une pondération de la forme :
(s + a)2
W11 (s) = (120)
K(s + b)2
où b est choisi très faible voire nul17 . Il convient toutefois de refaire les calculs
ci-dessus.
42
avec cωc 1 (par exemple cωc = 0, 01). Une valeur de K2 faible correspond
à un effet de roll-off important, c’est-à-dire une décroissante rapide du gain
du correcteur en haute fréquence.
Références
[1] P. Gahinet, A. Nemirovski, A. J. Laub, and M. Chilali, LMI Control
Toolbox, The MathWorks Inc., 1995.
[2] G. Balas, R. Chiang, A. Packard, and M. Safonov, Robust Control Sys-
tem Toolbox User’s Guide, The MathWorks Inc., 2005-2006.
[3] R. D. Braatz, P. M. Young, J. C. Doyle, and M. Morari, µ-Analysis and
Synthesis Toolbox : Users’s Guide, MUSYN Inc. and The MathWorks,
1998.
[4] D. Peaucelle, RoMulOC a YALMIP-MATLAB based Robust Multi Ob-
jective Control Toolbox, 2005.
[5] J.F. Magni, “Linear fractional representation with a toolbox for use
with Matlab,” Tech. Rep., ONERA, 2001.
[6] G. Duc and S. Font, Commande H∞ et µ-analyse, Hermes Science
Publications, Paris, 1999.
[7] E. Laroche and D. Knittel, “An improved linear fractional model for
robustness analysis of a winding system,” Control Engineering Practice,
vol. 13, no. 5, pp. 659–666, 2005.
[8] E. Laroche, Y. Bonnassieux, H. Abou-Kandil, and J.P. Louis, “Con-
troller design and robustness analysis for induction machine-based po-
sitioning system,” Control Engineering Practice, vol. 12, pp. 757–767,
2004.
[9] E. Laroche, “Robustness analysis of nonlinear systems - application to
induction motor,” in IFAC World Congress, Prague, Praha, July 2005.
43
[10] Y. Nesterov and A. Nemirovski, Interior-point Polynomial Methods in
Convex Programming, SIAM, 1994.
[11] D. Peaucelle, D. Henrion, Y. Labit, and K. Taitz,
User’s guide for SeDuMi interface, LAAS - CNRS,
http ://www.laas.fr/˜peaucell/SeDuMiInt.html, 2002.
[12] P.M. Young, “Structured singular value approach for systems with para-
metric uncertainty,” Int. J. Robust Nonlinear Control, vol. 11, no. 7, pp.
653–680, 2001.
44
Index
Bande passante, 40 en entrée, 37
Boucle en sortie, 37
fermée, 37, 38, 40 Stabilité, 38, 40
ouverte, 40 de Lyapunov, 13, 14
quadratique, 15, 18
Complément de Schur, 14, 21, 22 Suivi
Fonction de trajectoire, 38, 40
de Lyapunov, 16 Système
asservi, 4
Inégalité bouclé, 8
de Lyapunov, 13 dynamique, 18, 21
Inégalité matricielle affine, 12 LFR, 9
linéaire, 6, 13, 15, 16, 19–21
LFR, 5, 7, 9 LPV, 6, 10, 15, 16, 21–23
LMI, 5, 10, 12–19, 21–23 LPV affine, 5, 6, 16, 17, 21, 22
semi-infinie, 15, 23 LTI, 5, 7
Marge de module, 40 non linéaire, 14
Matrice de Lyapunov, 17, 18, 22 non-linéaire, 9, 10, 18
dépendant des paramètres, 16, 18, polytopique, 7, 16
22 Valeur singulière, 38–40
Modèle maximale, 38
LFR, 8
linéarisé, 10
LPV, 6
LPV affine, 5, 6, 9
nominal, 4
Norme
H∞ , 39
matricielle, 38
Performance, 40
Précision, 40
Sensibilité
45