Commande Robuste Analyse de la Robustesse des Syst

Transcription

Commande Robuste Analyse de la Robustesse des Syst
Commande Robuste
Analyse de la Robustesse des Systèmes
Asservis
Université de Strasbourg
Ecole Nationale Supérieure de Physique de Strabourg
3A - Option ISAV
Master ISTI
Edouard Laroche
[email protected]
http://eavr.u-strasbg.fr/~laroche/Student
2008–2009
Table des matières
1 Introduction
4
2 Les systèmes
2.1 Système linéaire . . . . . . . . . . . . . . . . . . . .
2.2 Système linéaire à paramètres variants (LPV) . . .
2.2.1 Système LPV affine . . . . . . . . . . . . . .
2.2.2 Système LPV polytopique . . . . . . . . . .
2.2.3 Représentation linéaire fractionnaire (LFR)
2.3 Système non-linéaire . . . . . . . . . . . . . . . . .
3 Inégalités matricielles affines
3.1 Valeurs propres . . . . . . .
3.2 Positivité . . . . . . . . . .
3.3 Inégalité matricielle affine ou
3.4 Exemple de LMI . . . . . .
3.5 Résolution . . . . . . . . . .
3.6 Complément de Schur . . .
. . . . .
. . . . .
linéaire
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Stabilité de Lyapunov
4.1 Système non-linéaire . . . . . . . . . . . . . . .
4.2 Système linéaire . . . . . . . . . . . . . . . . . .
4.3 Système LPV . . . . . . . . . . . . . . . . . . .
4.4 Maximisation du taux de décroissance . . . . .
4.5 Matrice de Lyapunov dépendant des paramètres
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
6
7
7
9
.
.
.
.
.
.
10
10
11
12
13
13
14
.
.
.
.
.
14
14
15
15
16
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
6 Application à un système mécanique
6.1 Présentation du système . . . . . . .
6.2 Analyse à partir du modèle LPV . .
6.2.1 Modélisation . . . . . . . . .
6.2.2 Robustesse en stabilité . . . .
6.2.3 Robustesse en performance . .
6.3 µ-analyse . . . . . . . . . . . . . . .
6.3.1 Modèle LFR . . . . . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
24
25
25
27
28
29
29
6.4
6.3.2 Robustesse en stabilité . . . . . . . . . . . . . . . . . . 31
6.3.3 Robustesse en performance . . . . . . . . . . . . . . . . 33
Lieu des pôles . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A Analyse des systèmes asservis multivariables
A.1 Position du problème . . . . . . . . . . . . . .
A.2 Valeur singulière . . . . . . . . . . . . . . . .
A.3 Tracé des valeurs singulières . . . . . . . . . .
A.4 Performances d’un système asservi . . . . . .
A.4.1 Stabilité . . . . . . . . . . . . . . . . .
A.4.2 Bande passante . . . . . . . . . . . . .
A.4.3 Précision . . . . . . . . . . . . . . . . .
A.4.4 Rejet de perturbation . . . . . . . . . .
A.4.5 Robustesse . . . . . . . . . . . . . . . .
A.5 Schémas d’analyse et de synthèse H∞ . . . . .
A.5.1 Schéma 1 bloc . . . . . . . . . . . . . .
A.5.2 Schéma 2 blocs . . . . . . . . . . . . .
A.5.3 Schéma 4 blocs . . . . . . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
39
40
40
40
40
41
41
41
41
42
43
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 complexité du système. Des dynamiques sont négligées, comme celles qui se trouvent 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.
Du fait de ces approximations, il est généralement nécessaire de recourir
à une étape de validation a posteriori de la loi de commande. On parle d’analyse de la robustesse ; il s’agit en effet d’analyser la robustesse du comportement du système asservi face aux perturbations externes (variation des
conditions de fonctionnement, comme la temperature) ou internes (variation
des paramètres) du système.
L’analyse de la robustesse s’appuie généralement sur la formulation d’un
modèle variant dans le temps, variation qui peut s’exprimer en fonction d’un
certain nombre de paramètres incertains. La première question concerne la
stabilité. L’analyse de la robustesse en stabilité consiste à établir si le système
demeure stable malgré les variations attendues des paramètres. On peut aussi
souhaiter que le système maintienne certaines performances (comme la bande
passante). L’analyse de la robustesse en performance cherche à établir si le
système maintient les performances prévues pour les variations attendues des
paramètres.
On peut distinguer deux principales sources de perturbation succeptibles
de destabiliser un système asservi ou de diminuer ses performances : les variations de ses paramètres et les dynamiques négligées. Pour traiter le second
cas, celui des dynamiques qui ont été négligées lors de la synthèse, il suffit
simplement de les inclure dans le modèle d’analyse. On se retrouve donc finalement à analyser la robustesse à partir d’un modèle qui peut être plus
sophistiqué que le modèle de synthèse et dont les paramètres sont incertains
dans certains intervalles et peuvent, selon les cas, varier au cours du temps
avec des dynamiques éventuellement bornées.
Avant de se lancer dans l’analyse de la robustesse, c’est-à-dire dans l’étude
des modification du comportement du système en fonction des paramètres, il
convient de connaı̂tre son fonctionnement nominal. La première question est
celle de la stabilité nominale, la seconde est celle des performances nominales.
Une étude de robustesse en stabilité n’a de sens que si la stabilité nominale
est assurée. De même pour les performances.
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 stabilité 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é.
Les méthodes d’analyse diffèrent en fonction du modèle choisi. Les modèles
linéaires dépendant des paramètres (LPV), modèles pour lesquels des méthodes
efficaces et désormais bien connues, sont disponibles sous deux formes :
– les modèle LPV avec une dépendance affine des matrices d’état en
fonction des paramètres ;
– les représentations linéaires fractionnaire (LFR) formés d’un bouclage
entre un système linaire à temps invariant (LTI) et une matrice de
gains fonction des paramètres. Ce second type correspond aux systèmes
linéaires dont les matrices d’état dépendent rationnellement des paramètres ;
il s’agit donc d’une généralisation du premier type.
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 contenu 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.
2.1
Système linéaire
Il s’agit du cas où les équations sont linéaires par rapport aux entrées et
aux variables d’état. Le système peut être mis sous la forme :
ẋ = Ax + Bu
(1)
y = Cx + Du
Cette représentation ne concerne que les systèmes propres (qui ne contiennent
pas d’effet dérivatif pur) ; pour les systèmes strictement propres, D = 0.
2.2
Système linéaire à paramètres variants (LPV)
Dans un système LPV, les matrices d’état A, B, C et D dépendent d’un
vecteur des paramètres θ qui peut varier en fonction du temps.
ẋ = A(θ)x + B(θ)u
(2)
y = C(θ)x + D(θ)u
A défaut de connaı̂tre à l’avance la trajectoire de θ, on connaı̂t souvent des
bornes sur ses différentes composantes : θk ≤ θk ≤ θk et peut-être aussi sur
les vitesses de variation : θ̇k ≤ θ̇k ≤ θ̇k .
Le vecteur des paramètres peut être vu comme une entrée supplémentaire
du système qui ne rentre alors plus dans la classe des systèmes linéaires. Parmi
les systèmes LPV, certains types particuliers sont intéressants à étudier :
les systèmes LPV affines, LPV polytopiques et les représentations linéaires
fractionnaires).
2.2.1
Système LPV affine
Dans ce cas, la dépendance des matrices d’état en fonction des paramètres
est linéaires. Notons
A B
M=
.
(3)
C D
On a alors M (θ) = M0 + θ1 M1 + θ2 M2 ....
Remarquez que le produit où l’interconnexion de deux modèles LPV
affines n’est généralement pas un modèle LPV affine, mais plutôt un modèle
LPV avec dépendance quadratique en fonction des paramètres.
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’exemple 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
Construisons maintenant le système polytopique M̃ = α1 M1s + α2 M2s +
α3 M3s + α4 M4s avec

1 θ2 −θ2

α1 = θθ1 −θ

1 −θ1 θ2 −θ2



 α2 = θ1 −θ1 θ2 −θ2
θ1 −θ1 θ2 −θ2
(5)
θ1 −θ1 θ2 −θ2

α
=
3

θ1 −θ1 θ2 −θ2



 α4 = θ1 −θ1 θ2 −θ2
θ −θ θ −θ
1
1
2
2
En remplaçant dans l’expression de M̃ les Mks et les αk par leurs expressions
ci-dessus, vérifie que l’on retrouve bien M̃ = M . Ce résultat est encore valable
pour un nombre de paramètres plus élevé. On retiendra qu’il y a équivalence
entre les représentations affine et polytopique.
Éxercice 1 (Équivalence entre polytopique et LPV affine)
Ecrivez M̃ en fonction de θ ; simplifiez et montrez que l’on retrouve M .
2.2.3
Représentation linéaire fractionnaire (LFR)
Ce système est l’interconnexion d’un système LTI avec une matrice ∆
(un système statique) dépendant des paramètres, comme représenté sur la
figure 1. Tout type de système LPV dont les matrices d’état dépendent rationnellement des paramètres peut être mis sous forme de LFR ; cependant
il n’est pas toujours aisé de trouver une représentation LFR d’ordre minimale, c’est à dire avec une matrice ∆ de taille minimale. La LFR Toolbox,
développée à l’Onéra, permet de créer et de manipuler les LFR [5]. Vous
trouverez des exemples de modélisation LFR d’un système physiques dans
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 aschrone sont également disponibles [8, 9].
∆(θ)
v
z
-
Q(s)
u
-
y-
Fig. 1 – Modèle LFR
Notons v et u les entrées provenant respectivement de ∆ et de la commande et z et y les sorties destinées respectivement à ∆ et à la mesure. Le
système Q(s) s’écrivant :
ẋ = Ax + B1 v + B2 u
z = C1 x + D11 v + D12 u
y = C2 x + D21 v + D22 u
(6)
(7)
(8)
En rebouclant avec la matrice ∆(θ), c’est-à-dire en écrivant que
v = ∆(θ) z
(9)
on peut écrire les équation du système bouclé d’entrée u et de sortie y :
ẋ = Ã(θ)x + B̃(θ)u
y = C̃(θ)x + D̃(θ)u
(10)
(11)
avec :
Ã(θ)
B̃(θ)
C̃(θ)
D̃(θ)
=
=
=
=
A + B1 ∆(θ)(I − D11 ∆(θ))−1 C1
B2 + B1 ∆(θ)(I − D11 ∆(θ))−1 D12
C2 + D21 ∆(θ)(I − D11 ∆(θ))−1 C1
D22 + D21 ∆(θ)(I − D11 ∆(θ))−1 D12
(12)
(13)
(14)
(15)
On peut faire différentes remarques sur cette représentation :
4
Ouvrage disponible à la bibliothèque du pôle API de l’ULP.
Article disponible à partir du réseau internet de l’ULP sur le site du LSIIT
(http ://lsiit.u-strasbg.fr/Publications) ou par le SCD (http ://www-scd-ulp.u-strasbg.fr).
5
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.
Propriété 1 (Interconnexion des LFR)
L’interconnexion de plusieurs LFR est une LFR.
Éxercice 2 (Interconnexion de deux LFR)
Soit un système LFR d’entrée u1 et de sortie y1 défini par ∆1 et le système :
ẋ1 = A1 x1 + B11 v1 + B12 u1
z1 = C11 x1 + D111 v1 + D112 u1
y1 = C12 x1 + D121 v1 + D122 u1
(16)
(17)
(18)
et la LFR d’entrée u2 et de sortie y2 définie par ∆2 et le système :
ẋ2 = A2 x2 + B21 v2 + B22 u2
z2 = C21 x2 + D211 v2 + D212 u2
y2 = C22 x2 + D221 v2 + D222 u2
(19)
(20)
(21)
1. Les systèmes sont connectés en série avec u2 = y1 . Déterminez les 9 matrices d’état du système d’entrée u1 , de sortie y2 , d’état x = [xT1 ; xT2 ]T
et de matrice incertaine ∆ = diag{∆1 , ∆2 }.
2. Les systèmes sont interconnecté en rétroaction avec u1 = u + y2 et
u2 = y1 . Déterminez les 9 matrices d’état du système d’entrée u, de
sortie y = y1 , d’état x = [xT1 ; xT2 ]T et de matrice incertaine ∆ =
diag{∆1 , ∆2 }.
2.3
Système non-linéaire
L’équation d’état d’un système non-linéaire est :
ẋ = f (x, u)
y = g(x, u)
(22)
Si les fontions f et g sont dérivables, (on exclut donc les non-linéarités fortes
du type seuil, bande morte...), on peut linéariser les équations autour d’un
point d’équilibre (x0 , u0 ) vérifiant f (x0 , u0 ) = 0 :
ẋ = f (x0 , u0 ) + ∂f
(x − x0 ) + ∂f
(u − u0 )
∂x
∂u
(23)
∂g
∂g
y = g(x0 , u0 ) + ∂x (x − x0 ) + ∂u (u − u0 )
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 empruntée en automatique.
3
Inégalités matricielles affines
Les Inégalités Matricielles Affines ou LMI prennent une place de plus
importante dans les méthodes modernes de l’automatique. De nombreux
résultats antérieurs trouvent une formulation LMI et ce formaliste permet
aussi de résoudre de nouveaux problèmes qui n’avaient pas trouvé jusqu’alors
de solution.
3.1
Valeurs propres
Définition 1 (Valeur propre)
Soit A une matrice carrée de réels ou de complexes. On appelle valeur propre
la grandeur λ telle qu’il existe un vecteur propre x vérifiant Ax = λx.
La matrice A de dimension n × n représente une application linéaire de
Rn dans Rn . Les directions propres, c’est-à-dire les directions des vecteurs
propres, sont les directions de Rn invariantes par A. Les valeurs propres sont
les gains d’amplifications dans ces directions. Le nombre de valeurs propres
distinctes est au plus n. La dimension du sous-espace propre correspondant
à une valeur propre donnée est variable. Une base de vecteurs propres peut
être obtenue.
En utilisant la relation Axi = λi xi où λi est la ième valeur propre et xi un
vecteur propre qui lui est associé, on peut concaténer les n relations obtenues
pour i = 1 . . . n en AX = XD où X = [x1 . . . xn ] est la matrices des vecteurs
propres formant une base et D = diag{λ1 , . . . λn } est la matrice des valeurs
propres où chaque valeur propre est répétée autant de fois que la dimension
de son sous-espace propre.
Propriété 2 (Matrice symétrique ou hermitienne)
Les valeurs propres des matrices réelles symétriques (AT = A) et complexes
hermitiennes (AH = (A∗ )T ) sont toutes réelles.
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.
Cette définition se transpose évidemment au cas négatif. On peut toujours écrire une forme quadratique à partir d’une matrice symétrique. Ainsi,
xT Ax = 21 xT (AT +A)x. On ne contentera donc de considérer le cas des matrices symétriques. Ces matrices ont la particularité d’avoir toutes leurs valeurs
propres réelles.
Propriété 3 (Matrice positive)
Une matrice A symétrique est positive si et seulement si toutes ses valeurs
propres sont positives et on note A ≥ 0.
On définit aussi la positivité stricte et on dit qu’une matrice est définie
positive si toutes ses valeurs propres sont strictement positives. C’est équivalent
à dire que la forme quadratique correspondante xT Ax est strictement positive
pour tout x non nul.
Propriété 4
– Soit λ un scalaire, A − λI > 0 si et seulement si les valeurs propres de
A sont strictement supérieures à λ.
– P > 0 ⇔ −P < 0 ; on peut donc toujours se ramener à un problème
de positivité (ou de négativité).
Propriété 5 (Somme de matrices)
– A > 0, B > 0 ⇒ A + B > 0
Cette propriété se démontre facilement à partir de la définition A > 0 ⇐⇒
xT Ax > 0 ∀x 6= 0.
Propriété 6 (Produit de matrices)
– A > 0, B > 0 ⇒ AB > 0
– A > 0, B < 0 ⇒ AB < 0
Démonstration 1 (Explication) Ces propriétés se comprennent facilement en considérant qu’une matrice positive est une application qui, à un
vecteur de composantes positives, associe un vecteur de composantes toutes
positives ; une matrice négative, au contraire, est une application qui, à un
vecteur de composantes positives, associe un vecteur dont les composantes
sont toutes négatives.
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
λAB V AB = ABV AB ,
(25)
et chercher à montrer qu’elle est positive. L’idée des calculs ci-dessous consiste à 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 =
(26)
βk VkB
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
VkB
où les αkl sont les coordonnées de
dans la base des vecteurs propres de
A
et
A. En remplaçant dans (25) et en utilisant le fait que AVlA = λA
l Vl
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
βk αkl VlA
(28)
λA
λB
VlA = λAB
l
k βk αkl
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
AB
λA
λB
βk αkl ∀l
(29)
l
k βk αkl = λ
k
k
P B
A
Dans
l’hypothèse
où
A
et
B
sont
toutes
deux
positives,
les
quantités
λ
l
k λk βk αkl
P
et k βk αkl sont nécessairement de même signe et λAB est donc positif (AB
positive). Si A et B sont de signe contraire, ces deux quantités seront de signe
contraire et AB est alors négative.
3.3
Inégalité matricielle affine ou linéaire
Définition 3 (Inégalité matricielle affine)
On appelle inégalité matricielle affine (ou inégalité matricielle linéaire et
en anglais linear matrix inequality, noté LMI) le problème suivant : étant
données les matrices réelles, carrées et symétriques Mk , k = 1..n, trouver les
réels xk , k = 1...n tels que M0 + x1 M1 + ... + xn Mn > 0.
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.
Remarque 1 (Un système de plusieurs LMI est une LMI)
P (x) > 0
P (x)
0
⇔
>0
Q(x) > 0
0
Q(x)
3.4
(30)
Exemple de LMI
Les LMI ne se présentent pas directement sous la forme de l’inégalité
présentée ci-dessus. Prenons un exemple classique de l’automatique : la stabilité de Lyapunov pour un système linéaire ẋ = Ax. Il s’agit de trouver une matrice réelle P = P T > 0 de même dimensions que A telle que
AT P + P A < 0. Considérons à titre d’exemple, le cas où A est une matrice
2 × 2.
a1 a2
A=
(31)
a3 a4
La matrice P dépend alors de 3 paramètres xi , k = 1..3 et peut s’écrire
x1 x2
P =
(32)
x2 x3
La condition de positivité de P s’écrit
1 0
0 1
0 0
x1
+ x2
+ x3
>0
0 0
1 0
0 1
L’inégalité de Lyapunov, elle se réécrit :
2a1 a2
2a2
a1 + a4
0 a3
x1
+ x2
+ x3
<0
a2 0
a1 + a4
2a2
a3 2a4
3.5
(33)
(34)
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 contraintes A(x) < λB(x), B(x) > 0 et C(x) < 0.
3.6
Complément de Schur
Il s’agit d’un résultat préliminaire qui permettra, dans ce qui suit, de
simplifier des expressions matricielles.
Lemme 1 (Complément de Schur)
La LMI :
Q S
< 0,
ST R
(35)
où Q = QT et R = RT est équivalente à :
R < 0, Q − SR−1 S T < 0.
Démonstration 3
La démonstration se fait facilement en multipliant (35) à droite par :
I
0
−R−1 S T I
(36)
(37)
et à gauche par la transposée de cette dernière matrice. On obtient alors :
Q − SR−1 S T 0
< 0.
(38)
0
R
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’unique 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)
f (x) < 0 pour tout x.
dx
4.2
Système linéaire
Dans ce cas, f (x) = Ax. Le point d’équilibre candidat est x = 0. En
choisissant V (x) = xT Qx avec Q = QT > 0, la condition de stabilité s’écrit
alors xT (AT Q + QA)x < 0 pour x 6= 0, ce qui s’écrit aussi AT Q + QA < 0 et
qui signifie que toutes les valeurs propres (réelles) de la matrice symétrique
AT Q + QA sont strictement négatives. La stabilité quadratique peut ainsi se
caractériser par un système de LMI dont l’inconnue est la matrice symétrique
Q:
Q > 0
A Q + QA < 0
T
(39)
(40)
Remarque : dans ce cas, cette stabilité (quadratique de Lyapunov) est
équivalente à la stabilité au sens classique dont le critère est que la matrice
A ait ses valeurs propres à partie réelle positive.
4.3
Système LPV
Pour un système LPV autonome ẋ = A(θ)x, la condition de décroissance
s’écrit (A(θ))T Q + QA(θ) < 0 pour tout θ dans l’ensemble admissible. En
absence d’hypothèse supplémentaires sur la dépendance en θ de A, nous
trouvons alors devant une infinité de conditions LMI à vérifier 8 (pour chaque
8
On parle en fait de LMI semi-infinie dans le cas ou les paramètres sont bornés ; le
terme de LMI infinieLMI !infinie s’appliquant au cas ou les paramètres ne sont pas bornés
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 :
(Ask )T Q
Q > 0
+ QAsk < 0
(41)
(42)
Remarquez que la stabilité quadratique d’un système LPV n’est, dans
le cas général, qu’une condition suffisante de stabilité. En effet, la stabilité
pourrait être établie avec des fonction de Lyapunov non quadratiques.
4.4
Maximisation du taux de décroissance
Plutôt que de se contenter d’assurer que V décroı̂t, il est intéressant de
chercher à maximiser cette décroissance. Dans le cas d’une fonction quadratique V (x) = xT Qx, on peut chercher à assurer V̇ (x) < τ xT x où le taux de
croissance τ est un scalaire ; il est négatif si le système est stable. Pour un
système linéaire, il s’agit donc de trouver Q = QT et τ minimal vérifiant :
Q > 0
A Q + QA < τ I
T
(43)
(44)
Il s’agit d’un problème de valeurs propres généralisées. Ce résultat est généralisable aux systèmes LPV affine et polytopique ; on assure alors un taux de
décroissance minimal sur le domaine.
4.5
Matrice de Lyapunov dépendant des paramètres
Dans le cas d’un système LPV, on peut introduire une matrice de Lyapunov Q(θ) dépendant des paramètres. La dérivée de l’énergie s’écrit alors :
dV
dt
= ẋT Qx + xT Qẋ + xT Q̇x
(45)
= ẋT (AT Q + QA + Q̇)x,
(46)
16
où Q̇ =
Q(θ(t))
dt
∂Q
= Σ ∂θ
θ̇k . La stabilité est donc assurée si :
k
Q(θ) < 0 ∀ θ ∈ Θ
A Q + QA + Q̇ < 0 ∀ θ ∈ Θ et θ̇ ∈ Γ
T
(47)
(48)
où Θ est l’ensemble de variation des paramètres et Γ celui des variations de
θ̇ ; comme on l’a fait pour Θ, on suppose que chaque composante de θ̇ est
bornée, c’est-à-dire que θ̇k ≤ θ̇k ≤ θ̇k . Dans le cas général, cette inégalité
peut être vérifiée en échantillonnant Θ et Γ.
Restreignons nous désormais à des matrices de Lyapunov dépendant de
manière affine des paramètres : Q(θ) = Q0 + θ1 Q1 + θ2 Q2 · · · . Il suffit alors de
vérifier la positivité de Q aux sommets de Θ, c’est-à-dire sur Θs . On observe
alors que Q̇ = θ̇1 Q1 + θ̇2 Q2 · · · = Q(θ̇)−Q0 . L’inégalité à vérifier s’écrit alors :
Q(θ) < 0 ∀θ ∈ Θs
(A(θ))T Q(θ) + Q(θ)A(θ) + Q(θ̇) − Q0 < 0 ∀ (θ, θ̇) ∈ Θ × Γs .
(49)
(50)
Dans le cas d’un système LPV affine (A(θ) = A0 + θ1 A1 · · · ), il s’agit d’une
inégalité matricielle polynomiale d’ordre 2 qu’on ne peut résoudre avec les
techniques classiques. Par contre, il est possible d’obtenir une condition suffisante sous forme de LMI. Pour cela, nous allons nous appuyer sur le résultat
suivant :
Lemme 2 (Condition suffisante de négativité)
Soit f une fonction de E vers R où E est un parallélépipède rectangle
(E = [x1 ; x1 ] × [x2 ; x2 ] · · · ). Notons E s l’ensemble des sommets de E (E s =
{(x1 , x2 , ...), (x1 , x2 , . . .) . . .}). La proposition (ii) implique la proposition (i)
i. f (x) < 0 ∀x ∈ E
ii.
(
f (x) < 0 ∀x ∈ E s
∂2f
≥ 0 ∀x ∈ E
∂xk
(51)
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 :
Q(θ) < 0 ∀θ ∈ Θs
(A(θ))T Q(θ) + Q(θ)A(θ) + Q(θ̇) − Q0 < 0∀θ ∈ Θs et θ̇ ∈ Γs
ATk Qk + Qk Ak ≥ 0 ∀k ≥ 1
(52)
(53)
(54)
Remarque : la stabilité quadratique simple (avec matrice de Lyapunov
constante) est un cas particulier de la stabilité quadratique avec matrice de
Lyapunov dépendant des paramètres. Il suffit en effet de choisir Qk = 0 ∀ k ≥
1.
5
5.1
Dissipativité, norme H∞
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)
dt
(55)
pour tout x 6= x0 où x0 est le point d’équilibre considéré vérifiant f (x0 , 0) = 0
On peut s’intéresser à des fonctions S de type particulier comme :
S(u, y) =
y
u
T Q11 Q12
Q12 T Q22
On parle alors de {Q11 , Q22 , Q12 }-dissipativité.
18
y
u
(56)
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
AT Q + QA − C T Q11 C
QB − C T Q11 D − C T Q12
B T Q − DT Q11 C − QT12 C −DT Q11 D − DT Q12 − QT12 D − Q22
(57)
<0
(58)
Démonstration 4
On peut remplacer le vecteur [y T , uT ]T dans la fonction S(u, y) par
y
C D
x
=
u
0 I
u
On obtient alors une nouvelle expression S̃(x, u) du flux d’énergie :
T T
Q11 Q12
x
C
0
C D
x
S̃(x, u) =
T
T
u
D I
0 I
u
Q12 Q22
(59)
(60)
soit
S̃(x, u) =
x
u
T C T Q11 C
C T Q11 D + C T Q12
T
T
T
D Q11 C + Q12 C D Q11 D + DT Q12 + QT12 D + Q22
(61)
Par ailleurs, la dérivée de la fonction d’énergie s’écrit :
dV (x)
= ẋT Qx + xT Qẋ
dt
= (Ax + Bu)T Qx + xT Q(Ax + Bu)
T T
x
A Q + QA QB
x
=
T
u
B Q
0
u
(62)
(63)
(64)
La dissipativité (55) s’écrit alors comme une LMI en Q = QT > 0 :
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
(65)
19
x
u
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 :
||S||∞ = max
avec ||y||2 =
R∞
0
||y||2
||u||2
(66)
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,
G(jω)
I
T Q1 Q12
QT12 Q2
G(jω)
I
≥0
(67)
Ce résultat s’obtient facilement en considérant un signal harmonique u(t) =
U exp(jωt).
On peut maintenant montrer que la norme H∞ est un cas particulier de
dissipativité.
Théorème 2 (Équivalence entre norme H∞ et dissipativité)
Soit un système linéaire Σ et la fonction de flux d’énergie S(u, y) = γ 2 uT u −
y T y. Les propositions suivantes sont équivalentes :
(i) Σ est S-dissipatif
(ii) ||Σ||∞ ≤ γ
Grâce au lemme de Yakubovitch-Kalman, la proposition (ii) est équivalente
à −(G(jω)T G(jω) + γ 2 I ≥ 0 ce qui est équivalent à dire que les valeurs
propres de G(jω)T G(jω) sont inférieures à γ 2 . Or les valeurs propres (réelles
et positives) de G(jω)T (G(jω) sont les carrés des valeurs singulières de G(jω).
CQFD car la norme H∞ de Σ est la borne supérieure de la valeur singulière
maximale.
La majoration de la norme H∞ par γ est donc équivalente à la {−I, γ 2 I, 0}dissipativité. Ce résultat est aussi connu sous le nom de lemme borné réel
(bounded real lemma en anglais) :
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
<
(71)
T
T
T
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.
5.4
Système LPV
Comme pour la passivité, on peut garantir des propriétés d’un système
LPV en passant par un échantillonnage de l’ensemble Θ de variation des
paramètres. Cependant, dans le cas d’un système LPV affine, il existe un
résultat sous forme d’un système comportant un nombre fini de LMI. En
effet, l’équation (74) qui comporte des produits des matrices d’état (ce qui
entraı̂ne le caractère non linéaire de l’inégalité, même pour un système LPV
affine) peut se transformer via le complément de Schur :
Lemme 5 (Lemme borné réel 2)
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
(73)
 T

A Q + QA QB C T

BT Q
−γI DT  < 0
(74)
C
D −γI
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
T C
S=
DT
(76)
(77)
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.
La seconde forme du Lemme borné réel a l’avantage de ne pas faire apparaı̂tre de produit des matrices d’état. Ainsi, pour un système LPV affine, la
LMI dépend de manière affine des paramètres. Pour que la LMI soit vérifiée
sur l’ensemble du domaine, il suffit qu’elle le soit aux sommets de l’espace
des paramètres. On peut alors énoncer le théorème suivant :
Théorème 3 (Dissipativité d’un système LPV affine)
Un système LPV affine est stable pour toute trajectoire de θ dans Θ et sa
norme H∞ est inférieure à γ pour tout θ figé dans Θ si le lemme borné réel
2 est vérifié pour tout θ ∈ Θs .
Ce résultat est immédiat du fait du caractère affine de l’inégalité matricielle
et du fait du caractère affine de la dépendance des matrices d’état en fonction
des paramètres.
5.5
Dissipativité avec matrice de Lyapunov dépendant
des paramètres
Comme nous l’avons fait pour la passivité, nous pouvons introduire une
matrice de Lyapunov Q(θ) dépendant des paramètres (en abrégé PDLF pour
parameter-dependent Lyapunov function) pour traiter le problème de la dissipativité. Remarquons tout de suite que seule la fonction d’énergie xT Qx
est affectée ; la fonction S(u, y) de flux d’énergie n’est en rien concernée par
ce changement. Comme pour la passivité, le terme AT Q + QA est désormais
affecté d’un terme supplémentaire Q̇. Pour un système LPV, sous pouvons
alors énoncer le résultat suivant :
22
actionneur
transmission
souple
charge
y
u
r
régulateur
Fig. 2 – Schema du système mécanique étudié
Théorème 4 (LMI semi-infinie de dissipativité avec PDLF)
Le système LPV est S-dissipatif (S(u, y) = −y T y + γuT u) s’il existe des
matrices symétriques Q0 , Q1 ... avec Q(θ) = Q0 + θ1 Q1 · · · telles que :
Q(θ) > 0 ∀θ ∈ Θs

T

M (θ, θ̇)
Q(θ)B(θ) C(θ)
 (B(θ))T Q(θ)
−γI
(D(θ))T  < 0 ∀ (θ, θ̇) ∈ Θ × Γ
C(θ)
D(θ)
−γI
(78)
(79)
où M (θ, θ̇) = (A(θ))T Q(θ) + Q(θ)A(θ) + Q̇(θ).
Cette caractérisation est une LMI semi-infinie. Comme nous l’avions fait
pour la passivité dépendant des paramètres, on peut obtenir une caractérisation
plus restrictive sous forme d’un nombre fini de LMI :
Théorème 5 (Condition LMI de dissipativité avec PDLF)
Le système LPV est S-dissipatif (S(u, y) = −y T y + γuT u) s’il existe des
matrices symétriques Q0 , Q1 ... avec Q(θ) = Q0 + θ1 Q1 · · · telles que :
Q(θ) > 0 ∀θ ∈ Θs

T

(80)
M̃ (θ, θ̇)
Q(θ)B(θ) C(θ)
 (B(θ))T Q(θ)
−γI
(D(θ))T  < 0 ∀ (θ, θ̇) ∈ Θs × Γs (81)
C(θ)
D(θ)
−γI
T
Ak Qk + Qk Ak Qk Bk
≥ 0∀k≥1
(82)
BkT Qk
0
où M̃ (θ, θ̇) = (A(θ))T Q(θ) + Q(θ)A(θ) + Q(θ̇) − Q0 .
6
Application à un système mécanique
On traite dans cette partie la modélisation d’un système dynamique sous
forme LPV affine et sous forme LFR. Des résultats d’analyse par différentes
méthodes sont présentés.
23
6.1
Présentation du système
Le système est présenté sur la figure 2. Il est composé de deux soussystèmes d’inerties respectives J1 et J2 et de coefficients de dissipation (frottements fluides) f1 et f2 reliées par un accouplement de raideur K et de coefficient 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’inertie 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
= 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
f
K

 − K − f +f1
 1 
J1
J1
J1
J1
 , B =  J1 
A=
(85)
 0
 0 
0
0
1 
f
K
2
0
− JK2 − f +f
J2
J2
J2
C= 0 0 0 1 , D=0
(86)
J1
Ce modèle a l’inconvénient d’être non observable. En effet, seule la diffé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 :

 1 
 f +f1
f
− J1
− JK1
J1
J1
K 
2
 0 
(88)
A =  Jf2
,
B
=
− f +f
J2
J2
0
1
−1
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)
(90)
K(s) =
(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.
6.2
6.2.1
Analyse à partir du modèle LPV
Modélisation
le modèle développé ci-dessus fait apparaı̂tre des produits entre les variables incertaines K et J12 et ne peut s’écrire directement comme un modèle
10
Ce correcteur simple a été développé pour illustrer les procédures d’analyse de robustesse. De meilleurs résultats peuvent-être obtenus avec un correcteur d’ordre plus élevé
comme ceux obtenus par les méthodes H∞ . Vous trouverez un exemple dans [8], article
disponible depuis le réseau de l’ULP sur le cite du SCD (http ://www-scd-ulp.u-strasbg.fr,
rubrique Revues électroniques) ou à partir du cite du LSIIT (http ://lsiit.u-strasbg.fr).
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 justifié 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
dt
d
(J2 Ω2 ) = CK − f2 Ω2
dt
Le modèle d’état s’écrit alors avec les matrices suivantes :


 
f
1
− f +f
−K
1
J1
J2


2

K
0 
A =  − Jf1 − f +f
,
B
=

J2
f
f
0
− J2
0
J1
C=
h
0
f
J2
0
i
, D=0
(91)
(92)
(93)
(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 :


1
− f +f
0
0
1
J1


f
 − J1 0 0 0 
M0 = 

 Jf1
0 0 0 
0
0 0 0


0 0 −1 0
 0 0 1 0 

M1 = 
 0 0 0 0 
0 0 0 0


0
f
0 0
 0 −(f + f2 ) 0 0 

M2 = 
 0
−f
0 0 
0
f
0 0
(96)
(97)
(98)
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)
6.2.2
Robustesse en stabilité
Le correcteur est défini comme suit :
Kp = 2 ; ti = 1 ; w1K = 2 ; w2K = 10 ;
NumK = Kp*[1 w1K] ; DenK = conv([1 1e-2],[1 w2K]) ;
sysK = nd2sys(NumK,DenK) ;
11
Les codes Matlab de cette partie requièrent la boite à outil LMI toolbox ou la version
3 ou postérieure de la Robust Control Toolbox.
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 Lyapunov constante :
[tau,P] = quadstab(sysbfaff) ;
On obtient tau = -0.0039 négatif, ce qui montre que le système est robustement 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 .
6.2.3
Robustesse en performance
On calcule la norme H∞ du système avec :
[perf,Pp] = quadperf(sysbfaff) ;
On obtient un gain de 1,77, ce qui correspond à une marge de module pire
cas (distance au point -1 dans le lieu de Nyquist) de 0,564.
On peut étudier la robustesse en performance en ajoutant une pondération
fréquentielle W1 (s) sur l’erreur et en calculant la norme H∞ du transfert entre
la référence et la sortie de W1 (s). On définit la pondération comme suit :
w1c = 8 ; NumW1 = 0.5*[1 1/w1c] ; DenW1 = [1 1e-3] ;
W1lti = ltisys(’tf’,NumW1,DenW1) ;
Le système pondéré est calculé par :
sysbfaffp = smult(sysbfaff,W1lti) ;
et on calcule la norme H∞ du système avec :
[perf,Pp] = quadperf(sysbfaffp) ;
On obtient une norme de 0,863, ce qui montre que la sensibilité en sortie
(le transfert entre la référence et l’erreur) vérifie le gabarit W1−1 (s) avec une
marge de robustesse de 1,13. Le système est robuste en performance.
12
L’utilisation de matrice de Lypunov dépendant des paramètres aboutit à une
évaluation moins concervative de la stabilité ; ce résultat est donc évident dès lors que
la stabilité quadratique avec matrice de Lyapunov constante est vérifiée.
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.
6.3.1
Modèle LFR
La méthode la plus simple pour obtenir une représentation LFR d’un
système consiste à travailler sur le schéma-bloc et à la simplifier au maximum
de sorte à faire intervenir un nombre minimum de fois chacun des paramètres.
Dans le cas du système mécanique considéré, chaque paramètre peut être
utilisé une seule fois, comme le montre le schéma de la figure 5.
A partir de ce schéma, il est possible de construire simplement la LFR
en remplaçant chaque paramètre incertain par une entrée vk et une sortie zk .
Ainsi, en remplaçant la raideur K par v1 et z1 puis J12 par v2 et z2 , on obtient
le modèle présenté sur la figure 6.
Ce modèle se met alors sous la forme (6-8) avec :


−(f + f 1)/J1 0 0 −1
f
1

 
f /J1
0 0 1 −(f + f 2) 0 


A B1 B2


1/J1
0
0
0
−1
0
 (99)
 C1 D11 D12  = 

0
0 1 0
0
0 


C2 D21 D22

0
1 0 0
0
0 
0
0 0 0
1
0
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 .
6.3.2
Robustesse en stabilité
On présente ensuite les résultats d’analyse de la robustesse en stabilité à
partir du modèle bouclé. Après avoir défini le correcteur au format adéquat :
Kp = 2 ; ti = 1 ; w1K = 2 ; w2K = 10 ;
NumK = Kp*[1 w1K] ; DenK = conv([1 1e-2],[1 w2K]) ;
Ktf = tf(NumK,DenK) ;
sysK = nd2sys(NumK,DenK) ;
La définition du modèle bouclé peut se faire à partir de la fonction sysic
de la manière suivante :
systemnames = ’ sysLFR sysK ’ ;
inputvar = ’[ v{2}]’ ;
outputvar = ’[ sysLFR(1 :2) ]’ ;
input to sysK = ’[ -sysLFR(3) ]’ ;
input to sysLFR = ’[ v ;sysK ]’ ;
sysoutname = ’sysLFRbf’ ;
14
Chaque ligne de la variable code un bloc d’incertitude. Les incertidudes réelles diagonales rI sont codées par [-r 0] ; les incertitudes complexes diagonales cI sont codées
par [c 0] ; les incertitudes complexes pleine de taille l × c sont codées par [l c].
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 nominal (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
et donne le tracé de la figure 8. On note un majorant de 0,55 de la borne
supérieure et un minorant de 0,53 de la borne inférieure, d’où une marge de
robustesse de l’ordre de 1,8. Remarquons que la borne inférieure a de grandes
difficultés à converger. C’est là une caractéristique de la borne inférieure pour
les problèmes purement réels.
6.3.3
Robustesse en performance
Le calcul de la robustesse en performance se fait en incluant une pondération
W1 (s) sur l’erreur de régulation16 et en ajoutant une incertitude complexe
pleine entre la sortie de W1 (s) et la référence. Le schéma du système est
présenté sur la figure 9. La pondération est définie sous Matlab comme suit :
w1c = 8 ; NumW1 = 0.25*[1 1/w1c] ; DenW1 = [1 1e-3] ;
W1 = nd2sys(NumW1,DenW1) ;
On définit ensuite le modèle bouclé sous forme LFR :
systemnames = ’ sysLFR sysK W1’ ;
inputvar = ’[ v{2} ; vp]’ ;
outputvar = ’[ sysLFR(1 :2) ; W1 ]’ ;
input to sysK = ’[ vp-sysLFR(3) ]’ ;
input to sysLFR = ’[ v ;sysK ]’ ;
input to W1 = ’[ vp-sysLFR(3) ]’ ;
sysoutname = ’sysLFRbfp’ ;
cleanupsysic = ’yes’ ;
sysic ;
Le tracé de la valeur singulière structurée se fait avec le script ci-dessous :
16
Avec une pondération placée sur l’erreur de régulation, on peut traiter les problèmes
de bande-passante, de marge de module et de précision statique.
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.
6.4
Lieu des pôles
L’étude du lieu des pôles multimodèle présentée ici s’appuie sur une
modélisation LFR présentée dans le paragraphe 6.3.1. Elle utilise des fonctions développée par l’auteur.
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 coefficient de dilatation de l’ensemble de variation des paramètres (5×5 modèles)
dilatation de 1.875. Cette valeur est aussi la marge de robustesse obtenue.
Cette valeur peut être obtenue automatiquement par dichotomie avec la
commande :
[Mu,para] = mumm(sysLFRbf,blk,10,1,1,[])
On obtient Mu = 0.5334 et para = [-1.0000 -0.1111], ce qui montre que
la marge de robustesse est de 1.8746 et le pire cas est obtenu pour les incertitudes normalisées δ1 = −1, 8746 et δ2 = −0, 2083. Remarquons que,
dans le cas présent, le pire cas n’est pas obtenu sur un sommet de l’espace
paramétrique.
Le lieu de pôles multimodèle avec les variations maximales des paramètres,
présenté sur la figure 13, est obtenu par le script suivant :
rsysLFR = mmult(1/Mu*eye(2),sysLFRbf) ;
[poles,para0] = polesMM(rsysLFR,blk,10) ;
figure
plot(real(poles),imag(poles),’*’)
On observe bien que l’ensemble des pôles sont à partie réelle négative ; cependant, certains ont une partie réelle proche de zéro et sont en limite de stabilité.
36
Fig. 13 – Lieu des pôles multimodèle pour les variations maximales des
paramètres (10×10 modèles)
A
A.1
Analyse des systèmes asservis multivariables
Position du problème
Considérons un processus linéaire multivariable y = G(s)u asservi par
un correcteur K(s), avec nu entrées et ny sorties. En tenant compte de la
consigne r et d’une perturbation d en entrée du processus, les équations
s’écrivent :
u = K(s)(r − y)
y = G(s)(u + d)
(100)
(101)
En notant Sy (s) = (Iny + K(s)G(s))−1 la sensibilité en sortie et Su (s) =
(Inu +G(s)K(s))−1 la sensibilité en entrée, on obtient les transferts en boucle
fermés suivants :
= Sy (s)r − Sy (s)G(s)d
u = K(s)Sy (s)r − K(s)Sy (s)G(s)d
= Su (s)K(s)r − Su (s)K(s)G(s)d
y = Sy (s)G(s)K(s)r + Sy (s)G(s)d
37
(102)
(103)
(104)
(105)
(106)
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 transferts 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.
A.2
Valeur singulière
Définition 7 (Valeur singulière)
Les valeurs singulières d’une matrice complexe M sont les racines carrées
des valeurs propres de M H M où M H est le hermicien (transposé conjugué)
de M . On les note σi (M ).
Propriété 7 (Propriétés générales)
– Les valeurs singulières sont des nombres réels positifs.
– Les valeurs singulières non nulles de M sont identiques à celles de M H
(invariance par l’opération transposé/conjugué)
– Les valeurs singulières non nulles sont au plus au nombre de min(nu , ny ),
la plus petite dimension de M .
Propriété 8 (Norme matricielle)
La valeur singulière maximale σ(M ) est une norme matricielle. Les propriétés générales des normes s’appliquent donc.
– σ(λM ) = |λ|σ(M )
– σ(M + N ) ≤ σ(M ) + σ(N )
– σ(M N ) ≤ σ(M )σ(N )
Propriété 9 (Inversion de matrice)
M est inversible si et seulement si sa plus petite valeur singulière est non
nulle (σ(M ) > 0). Alors, σ(M ) = σ(M1−1 ) et σ(M ) = σ(M1−1 ) .
On en déduit les propriétés suivantes :
Propriété 10 (Autres propriétés)
– σ(λM ) = |λ|σ(M )
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
z6=0
||z||2
H
z MHMz
σ 2 (M ) = max
z6=0
zH z
σ(M ) = max
(107)
Ainsi, la norme σ est l’amplification maximale du système de transfert M .
A.3
Tracé des valeurs singulières
Pour un transfert dynamique multivariable M (s), la représentation fréquentielle
consiste en le tracé des valeurs singulières de M (jω) en fonction de ω sur
[0, ∞]. L’échelle logarithmique est généralement choisie pour les absisses et
les ordonnées. Ce tracé généralise celui du gain aux systèmes multivariables.
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 ||∞ = sup σ(M (jω))
(108)
ω∈[0,∞]
Définition 9 (Norme L2 sur les signaux)
Soit z un signal à valeur réelle ou complexe sur [0, ∞] ; on note ||z||2 sa
norme L2 définie par :
Z ∞
||z||2 =
z H (t)z(t)dt
(109)
0
Propriété 12 (Interprétation de la norme H∞ )
La norme H∞ est la norme induite sur les systèmes par la norme L2 sur les
signaux :
||M (s)||∞ = max
z6=0
||M (s)z||2
||z||2
Ainsi, la norme ||M (s)||∞ est l’amplification maximale.
39
(110)
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 dynamique, 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
A.4.1
Performances d’un système asservi
Stabilité
La stabilité est évaluable à partir du lieu des pôles (tous les pôles de la
boucle fermée doivent être à partie rélelle strictement positive), ce qui s’évalue
en multivariable de la même manière qu’en monovariable. Cependant, on sait
que la stabilité ne suffit pas et que des marges sont nécessaires. La marge
de module est définie en monovariable comme la distance minimale au point
−1 du transfert complexe en boucle ouverte, ce qui s’écrit avec les notations
utilisées :
∆M = min |1 + K(jω)G(jω)|.
(111)
ω
En notant que :
−1
min |1 + K(jω)G(jω)| = max |(1 + K(jω)G(jω))−1 |
,
ω
ω
(112)
on définit en multivariable la marge de module en sortie :
∆M =
1
,
||Sy (s)||∞
(113)
1
.
||Su (s)||∞
(114)
et la marge de module en entrée :
∆M =
A.4.2
Bande passante
Afin d’avoir un bon comportement en suivi de consigne, il faut que le
transfert entre la référence et l’erreur soit de type coupe-bas (ou passe-haut).
On pourra alors tracer la représentation fréquentielle de Sy (s) et relever la
bande passante à -3 dB ainsi que l’atténuation maximale (en continu).
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 notamment 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 passebande 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.
A.5
A.5.1
Schémas d’analyse et de synthèse H∞
Schéma 1 bloc
Le transfert cruxial est la sensibilité Sy (s) qui permet de gérer à la
fois la bande passante, la marge de stabilité et la précision. Considérons
la pondération suivante :
W11 (s) =
s+a
K(s + b)
avec a < b et K ≥ 1. Ce transfert a un gain statique de
de K1 et présente un gain à 3 dB à la pulsation
r
ωc =
a2 − 2K 2 b2
2K 2 − 1
(115)
a
,
Kb
un gain minimal
(116)
Définissons le filtre multivariable diagonal :
W1 (s) = W11 (s)I.
41
(117)
On a :
W1−1 (s) =
1
I.
W11 (s)
(118)
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 passante :
s
2K 2 − 1
(119)
a = ωc
2
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 :
W11 (s) =
(s + a)2
K(s + b)2
(120)
où b est choisi très faible voire nul17 . Il convient toutefois de refaire les calculs
ci-dessus.
A.5.2
Schéma 2 blocs
Afin de forcer le gain du correcteur à décroitre au dela de la bande passante du système asservi, on peut être amené à ajouter une pondération sur la
commande u. Cette pondération est un filtre dérivateur tronqué qui amplifie
les hautes fréquences. Avec W2 (s) = W21 I, on peut prendre :
W21 (s) =
s
K2 (cs + 1)
17
(121)
Il est parfois préférable de choisir b faible non nul afin de ne pas rendre le système
instable par l’adjonction d’un pôle nul ; c’est notamment le cas pour l’analyse de la robustesse.
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.
A.5.3
Schéma 4 blocs
Si le rejet de perturbation n’est pas suffisant, il convient d’intégrer l’entrée
d qui s’ajoute au signal de commande et qui modélise les perturbation apparaissant sur l’entrée du système. Une pondération W3 (s) = W31 (s)I constante
permettra de régler le rejet de perturbation grâce au transfert Tde (s) avec :
σ(Tde (jω)) <
1
.
|W11 (jω)W31 (jω)|
(122)
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 System 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 Objective 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, “Controller design and robustness analysis for induction machine-based positioning 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 parametric uncertainty,” Int. J. Robust Nonlinear Control, vol. 11, no. 7, pp.
653–680, 2001.
44
Index
Bande passante, 40
Boucle
fermée, 37, 38, 40
ouverte, 40
en entrée, 37
en sortie, 37
Stabilité, 38, 40
de Lyapunov, 13, 14
quadratique, 15, 18
Complément de Schur, 14, 21, 22
Suivi
de trajectoire, 38, 40
Fonction
Système
de Lyapunov, 16
asservi, 4
bouclé, 8
Inégalité
dynamique, 18, 21
de Lyapunov, 13
LFR, 9
Inégalité matricielle affine, 12
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
non linéaire, 14
Marge de module, 40
non-linéaire, 9, 10, 18
Matrice de Lyapunov, 17, 18, 22
polytopique, 7, 16
dépendant des paramètres, 16, 18,
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
Rejet de perturbation, 38, 40, 41
Représentation fréquentielle, 39, 40
Robustesse, 38, 40, 41
Sensibilité
45