Commande Robuste
Commande Robuste
net/publication/261251644
CITATION READS
1 3,728
1 author:
Edouard Laroche
University of Strasbourg
108 PUBLICATIONS 918 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
PhD subject available : Control of nonlinear systems with algebraic constraints - application to cable robots taking into account the deformations of the cables View
project
All content following this page was uploaded by Edouard Laroche on 21 August 2019.
Université de Strasbourg
Edouard Laroche
laroche@[Link]
[Link]
[Link]
2017–2018
Table des matières
1 Introduction 5
2 Notions mathématiques 7
2.1 Convexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Fonctions convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Ensembles convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Positivité d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Inégalité matricielle affine ou linéaire . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.2 Exemple de LMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.3 Résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Valeurs singulières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 Norme sur les signaux et les systèmes LTI . . . . . . . . . . . . . . . . . . . . . . 14
2.6.1 Norme H∞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2 Norme H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Lemmes de simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.1 Complément de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.2 Lemme de projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.3 Lemme de Finsler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7.4 S-procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3
4 TABLE DES MATIÈRES
Bibliography 63
Chapitre 1
Introduction
Du fait de ces approximations, il est généralement nécessaire de recourir à une étape de vali-
dation 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 température) 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 incer-
tains. 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 perfor-
mances prévues pour les variations attendues des paramètres.
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 fonc-
tionnement 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.
5
6 CHAPITRE 1. INTRODUCTION
à 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 pa-
ramè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 rationnelle-
ment 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 sta-
bilité et en performance dans le cas de paramètres constants ou variants. Ces méthodes, dis-
ponibles dans les boites à outils 1 de Matlab, sont présentées dans ce fascicule. La méthode la
plus classique destinée aux modèles LFR est la µ-analyse 2 . Cette méthode fait également parti
du contenu du cours. D’autres boites à outils 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 [10].
1. Les méthodes d’analyse des systèmes LPV affines ont été proposées dans la LMI Control Toolbox [7]. Ces
fonctions sont désormais disponibles dans les version récentes de la Robust Control Toolbox[8]
2. Ces méthodes sont disponibles dans la µ-Analysis and Synthesis Toolbox [9] ou dans les versions récentes
de la Robust Control Toolbox [8].
Chapitre 2
Notions mathématiques
2.1 Convexité
2.1.1 Fonctions convexes
Définition 1 (Fonction convexe)
On dit d’une fonction f de Rn and R qu’elle est convexe si, pour tout (x, y) dans Rn , on a
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) pour λ ∈ [0; 1]. Autrement dit, la fonction passe en
dessous du segment.
Une forme quadratique f (x) = xT Ax où A = AT ∈ Rn×n est convexe si et seulement si les
valeurs propres de A sont positives.
7
8 CHAPITRE 2. NOTIONS MATHÉMATIQUES
3
2.5 2.5
2
2
1.5
x T Ax
1.5 1
x T Ax
0.5
1 0
1 −0.5
0.5
−1 1
0
0
−1.5
0
−1 1 0.5 0 −1
1 0.5 0
x1 −0.5 −1 x1
−0.5 −1
x2 x2
2 1 1 2
a. Fonction convexe (A = ) b. Fonction multiconvexe (A = )
1 1 2 0.5
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
x2
x2
0 0
−0.2 −0.2
−0.4 −0.4
−0.6 −0.6
−0.8 −0.8
−1 −1
−2 −1 0 1 2 −2 −1 0 1 2
x1 x1
a. Ensemble convexe (p = 1, 5)
b. Ensemble multiconvexe (p = 0, 7)
p p
Figure 2.2 – Exemples d’ensembles convexe et multiconvexe (définis par xa1 + xa2 f (x) ≤ 1
avec a = 2 et b = 1
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.
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, ce qui permet de les ordonner.
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.
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 = βk VkB (2.2)
k
où les βk sont les coordonnées de V AB dans la base des vecteurs propres de B et
X
VkB = αkl VlA (2.3)
l
où les αkl sont les coordonnées de VkB dans la base des vecteurs propres de A. En remplaçant
dans (2.1) et en utilisant le fait que AVlA = λA A B B B A B
l Vl et BVk = λk Vk où λl et λk sont les
valeurs propres respectivement de A et B, on obtient :
! !
X X X X
λA
l λB
k βk αkl VlA =λ AB
βk αkl VlA (2.4)
l k l k
Il s’agit d’une égalité entre deux vecteurs. Leurs coordonnées dans la base VlA sont donc iden-
tiques et
X X
λA
l λBk βk αkl = λ
AB
βk αkl ∀l (2.5)
k k
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 [11]. Il est également
lié au fait que de nombreux problèmes, notamment de l’automatique, peuvent être formulé sous
forme de LMI.
2.4.3 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 (voir figure 2.3). On peut citer LMI-Tools de El Ghaoui 2 , la LMI Control Toolbox de
MathWorks [7] et l’interface SeDuMi développé au LAAS par Peaucelle et alli [12]. Notons aussi
l’outil YALMIP 3 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.
svd([2,0;0,-3j]);
ans =
3.0000
2.0000
Figure 2.4 – Tracé des valeurs singulières d’un système LTI multivariable
Propriété 13 (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
zH M H M z
σ 2 (M ) = max (2.11)
z6=0 zH z
A = [-1 0; 1 -2];
B = eye(2);
C = [1 1; 0 1];
D = 0.1*ones(2,2);
Sys = ss(A,B,C,D)
ltiview(’sigma’,Sys,{1e-1,1e2});
G1 = C*inv(j*1*eye(2)-A)*B+D; % matrice de transfert à 1 rad/s
SV = svd(G1)
u = randn(2,1)
Ampli = norm(G1*u)/norm(u)
La partie finale du script permet de calculer l’amplification d’une entrée u à la pulsation 1 rad/s.
A partir des résultats ci-dessous, on vérifie que cette amplification est bien toujours comprise
entre la valeur singulière max et la valeur singulière min de G(j 1).
SV =
1.3257
0.2872
u =
1.1892
-0.0376
Ampli =
1.1032
14 CHAPITRE 2. NOTIONS MATHÉMATIQUES
||y(t)| |L2
||G(s)| |∞ = max (2.13)
||u(t)| |L2
Ainsi, la norme H∞ est l’amplification maximale d’un signal par un système. Pour les ma-
trices, nous avions vu que la valeur singulière maximale était l’amplification maximale d’un
vecteur. On peut donc facilement se ramener à l’interprétation suivante.
norm(Sys,inf)
On obtient une norme de 1.881, ce qui correspond à 5.49 dB, ce qui est cohérent avec le tracé
de la figure 2.4.
Propriété 15 (Norme H∞ )
on a :
||G(s)||∞ < γ ⇒ ||Gkl (s)||∞ < γ ∀(k, l) ∈ {1, 2} (2.16)
γ
— ||W (s) G(s)||∞ < γ ⇒ σ(G(jω) < σ(W (jω))
2.6.2 Norme H2
La présentation ci-dessous de la norme H2 est reprise du cours de Supélec de G. Duc [13],
paragraphe 1.2.
Définition
Soit G(s) le système LTI multivariable défini par :
ẋ A B x
= (2.17)
z C D v
avec D = O (système strictement propre 5 ). On définit la norme matricielle H2 de ce système
par : s Z
∞
1 H
||G||2 = tr [G (jω)G(jω)] dω (2.18)
2π −∞
Propriétés
Soit g la réponse impulsionnelle du système. Dans le cas monovariable, le théorème de Par-
seval donne une forme équivalente 6 :
Z ∞
2
||G||2 = g T (t)g(t)dt. (2.19)
0
Dans le cas monovariable, la norme H2 du système est égale à l’énergie de la réponse impulsion-
nelle.
Supposons maintenant que v soit un bruit blanc gaussien vérifiant
E{v(t)v T (τ )} = Iδ(t − τ ) et calculons la puissance de sortie :
E{z T z} = tr E{zz T }
Z +∞ Z +∞
T T
= tr E g(t − τ1 )v(τ1 )v (τ2 )g (t − τ2 )dτ1 dτ2
−∞ −∞
Z +∞ Z +∞
T
T
= tr g(t − τ1 )E v(τ1 )v (τ2 ) g (t − τ2 )dτ1 dτ2
−∞ −∞
Z +∞
T
= tr g(t − τ )g (t − τ )dτ
−∞
Z +∞
T
= tr g(τ )g (τ )dτ
−∞
Z +∞
tr g T (τ )g(τ ) dτ
=
−∞
Z +∞
1
tr GH (jω)G(jω) dτ
=
2π −∞
= ||G||2
Ainsi, la norme H2 est la puissance de sortie lorsque le système est alimenté pas un bruit blanc
gaussien unitaire.
Calcul
La norme H2 peut être calculée pour tous les systèmes strictement propres (D = O) et
strictement stables. En effet, elle peut s’écrire ainsi :
Z ∞
2
tr g T (t)g(t) dt
||G||2 = (2.20)
0
Z ∞
B T exp(AT t)C T (C exp(At)B) dt
= tr (2.21)
0
Z ∞
T T T
= tr B exp(A t)C C exp(At)dtB (2.22)
0
5. Cette restriction est nécessaire pour que la norme du système soit finie.
6. On rappelle que la fonction de transfert est la transformée de Laplace de la réponse impulsionnelle.
16 CHAPITRE 2. NOTIONS MATHÉMATIQUES
ou encore :
Z ∞
||G||22 tr g(t)g T (t) dt
= (2.23)
0
Z ∞
(C exp(At)B) B T exp(AT t)C T dt
= tr (2.24)
0 Z ∞
T T T
= tr C exp(At)BB exp(A t)dtC (2.25)
0
soit :
||G||22 = tr B T Wo B = tr CWc C T
(2.26)
où Wo et Wc sont les gramiens de commandabilité et d’observabilité :
Z ∞
Wo = exp(At)BB T exp(AT t)dt (2.27)
0
Z ∞
Wc = exp(AT t)C T C exp(At)dt (2.28)
0
Ils peuvent être obtenus comme les solutions des équations de Lyapunov 7 suivantes :
T T
AWc + Wc A + BB = 0 (2.29)
T T
A Wo + Wo A + C C = 0 (2.30)
En effet, partons de :
d
exp(At)BB T exp(AT t) = A exp(At)BB T exp(AT t) + exp(At)BB T exp(AT t)AT .
(2.31)
dt
En notant que pour un système stable :
lim exp(At) = 0, (2.32)
t→∞
et en intégrant sur [0, ∞], on obtient directement les deux équations de Lyapunov. C’est cette
méthode qui est utilisée dans les Toolboxes de Matlab pour le calcul de la norme H2 [14].
Formulation LMI
Les inégalités matricielles affines (LMI pour inégalités matricielles linéaires) sont devenues
un outil classique de l’automatique. Ils sont à la base de nombreuses méthodes innovantes et les
méthodes classiques ont généralement une formulation LMI. Une introduction sur les LMI est
développée en Annexe B. Voici la formulation LMI de la norme H2 [15].
Soit S0 la solution de l’équation de Lyapunov (2.29), c’est-à-dire vérifiant :
AS0 + S0 AT + BB T = 0, (2.33)
avec S0 = S0T ≤ 0. Alors toute matrice S vérifiant :
AS + SAT + BB T < 0 (2.34)
vérifie aussi S > S0 .
Le système G(s) stable avec D = 0 vérifie ||G||22 < ν si et seulement si il existe une matrice
symétrique positive, :
S > 0, (2.35)
vérifiant (2.34) et :
tr CSC T < ν.
(2.36)
L’ensemble des inégalités (2.34-2.36) constitue un système LMI et peut se résoudre avec les
solveurs disponibles [11, 7].
7. D’après la théorie de Lyapunov, l’équation AX + X T A + Q = 0 d’inconnue X, avec Q symétrique définie
positive, a une solution positive si A est Hurwitz (ses pôles sont à partie réelle strictement négative). Alors une
solution symétrique peut être facilement obtenue par la résolution d’un système de n(n + 1) équations linéaires à
autant d’inconnues (les composantes de X), où n est la dimension de A. La résolution de l’équation de Lyapunov
est disponible dans les Toolboxes [14].
2.7. LEMMES DE SIMPLIFICATION 17
Démonstration 3
La démonstration se fait facilement en multipliant (2.37) à droite par :
I 0
(2.39)
−R−1 S T I
et à gauche par la transposée de cette dernière matrice. Ces deux matrices étant définies, on
obtient alors une condition équivalente :
Q − SR−1 S T 0
< 0. (2.40)
0 R
2.7.4 S-procedure
Cet outil pratique développé par Yakubovich 9 permet de simplifier certains problèmes de
commande robuste.
Théorème 3 (S-procédure)
Soit les formes quadratiquessuivantes :
H
Ai bH
x x
qi (x) = i = xH Ai x + 2bH
i x + ci , (2.43)
1 bi ci 1
pour i = 0, 1, ..., p.
Alors, on a q0 (x) ≥ 0 pour tout x tel que qi (x) ≥ 0, i = 1, ..., p s’il existe des scalairsρi ≥ 0
qui satisfont la contrainte LMI suivante :
p
A0 bH Ai bH
X
0 − ρi i ≥0 (2.44)
b0 c0 bi ci
i=1
9. Vladimir A. Yakubovich est reconnu pour ses contributions à la commande moderne, notamment dans les
années 1960, [Link]
Chapitre 3
19
20 CHAPITRE 3. MODÉLISATION DES SYSTÈMES
M s = M0 + θ 1 M1 + θ 2 M 2
1s
M 2 = M 0 + θ 1 M1 + θ 2 M 2
(3.5)
M s = M 0 + θ 1 M1 + θ 2 M 2
3s
M 4 = M 0 + θ 1 M1 + θ 2 M 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 la représentations affine et la représentation
polytopique.
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.
H(s)
u1 = z y1 = v
-
u2 G(s) y2 -
-
u1 - y1 -
G(s)
-
u2 = z y2 = v
H(s)
1. Montrez que le système en boucle fermée S(s) d’entrée r et de sortie e peut se mettre
sous la forme suivante :
S(s) = lftl (M, Hbo (s)) (3.12)
2. Déterminez la matrice M correspondant.
3. Déduisez en le script Matlab permettant de calculer la fonction de sensibilité S(s) à partir
de Hbo (s).
2. Déterminez la matrice M .
3. Expliquez comment une méthode de synthèse d’un correcteur de type retour de sortie
statique (SOF) permet aussi de réaliser un correcteur de type retour dynamique de sortie
(DOF).
3.3. REPRÉSENTATION LINÉAIRE FRACTIONAIRE 23
∆(θ)
v z
-
u Q(s) y -
-
ẋ = Ax + B1 v + B2 u (3.16)
z = C1 x + D11 v + D12 u (3.17)
y = C2 x + D21 v + D22 u (3.18)
v = ∆(θ) z (3.19)
avec :
3. dans le cas où D11 est nulle, alors la dépendance des matrices est affine.
ẋ = v2 (3.29)
z1 = x (3.30)
z2 = −v1 + u (3.31)
y = x (3.32)
Ainsi, on a G(s) = lftu (H(s), ∆) où les équations d’état de H(s) sont données ci-dessus et où
∆ = diag(R, L1 ). En réalité, il est pratique de s’appuyer sur un schéma-bloc du modèle pour
déterminer le modèle LFR.
a =
x1
x1 -1
b =
u1 u2 u3 u4
x1 0.9269 0.7297 -0.7789 1.153
3.3. REPRÉSENTATION LINÉAIRE FRACTIONAIRE 25
c =
x1
y1 0.9494
y2 0.1646
y3 1.284
y4 0.867
d =
u1 u2 u3 u4
y1 -1 2.22e-16 1.214 0
y2 -1.11e-16 -1 -0.4742 0
y3 0 0 0 0
y4 -0.6326 -1.619 0 0
Input groups:
Name Channels
L_NC 1,2
R_NC 3
Output groups:
Name Channels
L_NC 1,2
R_NC 3
Continuous-time model.
UMAT: 3 Rows, 3 Columns
L: real, nominal = 1, variability = [-1 1], 2 occurrences
R: real, nominal = 1, variability = [-1 1], 1 occurrence
% autre méthode
S = tf(1);
H2 = 1/(L*S+R);
[M2,Delta2] = lftdata(H2)
d =
u1 u2 u3
y1 -0.5 -0.5 0.5
y2 -0.5 -0.5 0.5
y3 -0.5 -0.5 0.5
Input groups:
Name Channels
L_NC 1
R_NC 2
Output groups:
Name Channels
L_NC 1
R_NC 2
Static gain.
UMAT: 2 Rows, 2 Columns
L: real, nominal = 1, variability = [-1 1], 1 occurrence
R: real, nominal = 1, variability = [-1 1], 1 occurrence
echo on
a =
x1
x1 -1
b =
u1 u2 u3 u4
x1 0.9269 0.7297 -0.7789 1.153
c =
x1
y1 0.9494
y2 0.1646
y3 1.284
y4 0.867
d =
u1 u2 u3 u4
y1 -1 2.22e-16 1.214 0
y2 -1.11e-16 -1 -0.4742 0
y3 0 0 0 0
y4 -0.6326 -1.619 0 0
Input groups:
Name Channels
L_NC 1,2
R_NC 3
Output groups:
Name Channels
L_NC 1,2
R_NC 3
Continuous-time model.
UMAT: 3 Rows, 3 Columns
L: real, nominal = 1, variability = [-1 1], 2 occurrences
R: real, nominal = 1, variability = [-1 1], 1 occurrence
% autre méthode
S = tf(1); % variable de Laplace
H2 = 1/(L*S+R)
USS: 0 States, 1 Output, 1 Input, Continuous System
L: real, nominal = 1, variability = [-1 1], 1 occurrence
R: real, nominal = 1, variability = [-1 1], 1 occurrence
[M2,Delta2] = lftdata(H2)
d =
u1 u2 u3
y1 -0.5 -0.5 0.5
y2 -0.5 -0.5 0.5
y3 -0.5 -0.5 0.5
Input groups:
3.3. REPRÉSENTATION LINÉAIRE FRACTIONAIRE 27
Name Channels
L_NC 1
R_NC 2
Output groups:
Name Channels
L_NC 1
R_NC 2
Static gain.
UMAT: 2 Rows, 2 Columns
L: real, nominal = 1, variability = [-1 1], 1 occurrence
R: real, nominal = 1, variability = [-1 1], 1 occurrence
ẋ = v2 (3.33)
z1 = x (3.34)
z2 = −v1 + u (3.35)
y = x (3.36)
et ∆ = diag(R, L1 ).
1. Donnez un schéma-bloc du modèle LFR.
2. Déterminez la fonction de transfert du système lftu (H(s), ∆).
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és 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 }.
où
m110 m120 m11c m12c
M0 = ; Mc = . (3.45)
m120 m22 m12c 0
La matrice de Coriolis s’écrit :
−q̇2 − 21 q̇2
C(q, q̇) = m11c sin(q2 ) 1 . (3.46)
2 q̇1 0
1. Montrez que l’inverse de la matrice d’inertie peut s’écrire sous la forme M −1 (q2 ) =
lftu (N, θ1 I2 ) où N est une matrice constante et θ1 = cos(q2 ).
2. Mettez la matrice de Coriolis sous une forme affine en fonction des paramètres θ2 =
q˙1 sin(q2 ) et θ3 = q˙2 sin(q2 ). Pourquoi cette écriture n’est elle pas unique ?
3. Déduisez-en un modèle LFR du système en fonction de θ1 , θ2 et θ3 .
4. On considère le domaine de variation |q˙1 | ≤ q̇1 max , |q¨1 | ≤ q̈1 max ; q2 ∈ [0, q2 max ], (π/2 <
q2 max < π) ainsi que |q˙2 | ≤ q̇2 max et |q¨2 | ≤ q̈2 max . Déterminez les intervalles de variation
de θk et de θ̇k pour k = 1, ..., 3.
Chapitre 4
29
30 CHAPITRE 4. ANALYSE DES SYSTÈMES
Ainsi, l’énergie est décroissante dès que la vitesse est non nulle. A terme, la décroissance de
l’énergie entraine la convergence de x vers zéro. Toutefois, cette décroissance ne dépend pas de
d
z et ne satisfait donc pas exactement la condition dt (V (x)) < 0 pour x 6= x0 .
Q > 0 (4.7)
T
A Q + QA < 0 (4.8)
Q > 0 (4.9)
T
A QA − Q < 0 (4.10)
En effet, la décroissance de l’énergie s’écrit V (x(k + 1)) < V (x(k)) ce qui s’écrit encore
xT (k)AT QAx(k) < xT (k)Qx(k).
4.2 Dissipativité
4.2.1 Définition
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 13 (Dissipativité)
Un système dynamique est dit dissipatif par rapport à une fonction d’alimentation S(u, y), s’il
existe une fonction d’énergie V (x) telle que
dV (x)
< S(u, y) (4.11)
dt
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 :
T
y Q11 Q12 y
S(u, y) = (4.12)
u Q12 T Q22 u
On parle alors de {Q11 , Q22 , Q12 }-dissipativité.
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 6 (Caractérisation LMI de la dissipativité)
Le système ci-dessus est dissipatif par rapport à une fonction d’alimentation S(u, y) définie en
(4.12), s’il existe une matrice Q = QT vérifiant le système de LMI suivant :
Q>0 (4.13)
AT Q C TQ C TQ T
+ QA − 11 C QB − 11 D − C Q12
<0 (4.14)
BTQ T T T
− D Q11 C − Q12 C −D Q11 D − DT Q12 − QT
12 D − Q22
Démonstration 4
On peut remplacer le vecteur [y T , uT ]T dans la fonction S(u, y) par
y C D x
= (4.15)
u 0 I u
On obtient alors une nouvelle expression S̃(x, u) du flux d’énergie :
T T
x C 0 Q11 Q12 C D x
S̃(x, u) = T T (4.16)
u D I Q12 Q22 0 I u
soit
T
C T Q11 C C T Q11 D + C T Q12
x x
S̃(x, u) = (4.17)
u DT Q11 C + QT T T T
12 C D Q11 D + D Q12 + Q12 D + Q22 u
Par ailleurs, la dérivée de la fonction d’énergie s’écrit :
dV (x)
= ẋT Qx + xT Qẋ (4.18)
dt
= (Ax + Bu)T Qx + xT Q(Ax + Bu) (4.19)
T T
x A Q + QA QB x
= T (4.20)
u B Q 0 u
La dissipativité (4.11) 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 (4.21)
B T Q − DT Q11 C − QT T T T
12 C −D Q11 D − D Q12 − Q12 D − Q22
32 CHAPITRE 4. ANALYSE DES SYSTÈMES
4.2.3 Passivité
On dit qu’un système est passif si la condition suivante est vérifiée :
Z T
uT (t)y(t)dt ≤ 0 (4.30)
0
Cette conditions est correspond à la dissipativité avec les matrices Q11 = Q22 = O et Q12 = I,
ce qui donne le théorème suivant connu sous le nom de Positive real lemma.
La passivité est une condition suffisante de stabilité. Une propriété fondamentale est que
l’interconnexion de systèmes passifs est un système passif. Ainsi, on peut chercher à imposer la
stabilité d’un système interconnecté en assurant la passivité de chacun de ses éléments. Cette
propriété est notamment utilisée dans les systèmes de télémanipulation. L’inconvénient de cette
approche est son conservatisme (il n’est pas nécessaire qu’un système soit positif pour être
stable).
d bm
r+ e u v y
- i - K(s) - i - G(s) - i
? ?
−6 ym
Figure 4.1 – Système asservi avec référence, perturbation en entrée et bruit de mesure
L’objectif général de la commande est d’obtenir y(t) = r(t) en dépit des perturbations d(t)
et bm (t). Mais évidemment, on ne peut obtenir cette égalité parfaitement. De manière générale,
on note Tzv (s) le transfert en boucle fermée entre l’entrée v(t) et la sortie z(t). La sensibilité en
sortie (coté mesure) est définie par Sy (s) = Ter (s). La sensibilité en entrée (coté commande) est
définie par Su (s) = Tvd (s).
qu’en monovariable. Cependant, on sait que la stabilité ne suffit pas et que des marges de stabilité
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 :
En notant que :
−1
min |1 + K(jω)G(jω)| = max |(1 + K(jω)G(jω))−1 | , (4.33)
ω ω
1
∆M = , (4.34)
||Sy (s)||∞
Im
-1 0 Re
∆M
G(jω) K(jω)
Pour assurer que la marge de module ne dépasse par une valeur spécifiée ∆∗M , il suffit de
vérifier que ||∆∗M Su (s)||∞ ≤ 1.
Bande passante
Afin d’avoir un bon comportement en suivi de consigne, il faut que le transfert entre la
référence et la mesure ait un comportement de type passe-bas avec une fréquence de coupure
de l’axe -3 dB suffisamment élevée. De manière équivalente, on peut considérer qu’il faut que le
transfert Ter (s) = Sy (s) entre la référence et l’erreur soit de type coupe-bas (ou passe-haut) avec
la même pulsation de coupure. 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).
Considérons un gabarit Sy∗ (s) qui possède la bande passante requise. Supposons de plus que ce
gabarit est inversible 2 et que (Sy∗ (s))−1 = W1 (s). Alors, il suffit de vérifier que ||W1 (s) Sy (s)||∞ ≤
1 par s’assurer que Sy (s) respecte la dynamique spécifiée.
Précision
L’erreur statique en réponse à un échelon unitaire sur la référence est donnée par Sy (0). Pour
s’assurer que Sy (s) a une précision suffisante, on peut choisir un gabarit W1 (s) correspondant
puis vérifier que ||W1 (s) Sy (s)||∞ ≤ 1.
2. Il est toujours possible d’inverser un transfert, du moins sur une plage de fréquences. Si le système de départ
n’est pas inversible, on réalise une approximation en modifiant sa matrice D.
4.3. PERFORMANCES D’UN SYSTÈME ASSERVI 35
20 log(σ(Sy (jω)))
20 log(σ(Sy (0)))
Figure 4.3 – Allure typique de la sensibilité en sortie Sy (s) permettant de déterminer la marge
de module, la bande passante et la précision (système avec deux entrées et deux sorties).
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
Ted (s) = −Sy (s) G(s) et relever l’atténuation maximale (en continu) ainsi que l’amplification
maximale en précisant la fréquence.
Le bruit de mesure bm peut se répercuter par un bruit sur la commande qui risque de fatiguer
les actionneurs, entrainera une surconsommation et un vieillissement accéléré. Afin de limiter
cet effet, il importe que le transfert en boucle fermée entre une perturbation en sortie du système
(coté mesure) et la commande ait un gain limité, notamment en haute fréquence. On pourra se
donner un gabarit d’atténuation du transfert Tud (s) du type σ(Tud (jω)) ≤ |H(jω)| où H(s) est
le gabarit (transfert SISO).
Robustesse
Position du problème
Le problème de synthèse revient à chercher un compensateur K(s) tel qu’un certain nombre
des transferts d’intérêt de (4.38) aient une allure satisfaisante. Cependant, on imagine bien qu’il
n’est pas possible de réaliser des allures arbitraires pour chacun de ces transferts. Tout d’abord,
on observe q’un certain nombre de transferts sont identiques. Par exemple, l’effet du bruit de
mesure sur les différentes sorties est identique à celui de la référence au signe près, sauf pour
la mesure ym . Inversement, l’effet des différentes entrées sur les sorties y et ym sont identiques,
sauf pour bm .
Étude asymptotique
20 log(σk (G(jω)K(jω)))
ωc
ω (log)
0 dB
σ(G(jω)K(jω)) 1
σ(G(jω)K(jω)) 1
Pour un système asservi simple, le gain en boucle ouverte (ou ses valeurs singulières si on
travaille en multivariable) est généralement décroissant en fonction de la pulsation et la pulsation
de coupure ωc de l’axes 0 dB définit la bande passante (voir figure 4.4). Considérons maintenant
deux approximations : basse et haute fréquence.
— Pour ω ωc , on peut considérer que σ(K(s)G(s)) 1 et σ(G(s)K(s)) 1. Il en résulte
que Sy (s) ' K −1 (s) G−1 (s) et Su (s) ' G−1 (s) K −1 (s), du moins dans l’hypothèse de
transferts carrés inversibles. Ainsi, les différents transferts se réécrivent :
−1
K (s) G−1 (s) −K −1 (s) −K −1 (s) G−1 (s)
e
u G−1 (s) −Inu −G−1 (s) r
−1 −1 −1 −1
v =
G (s) G (s) K (s) −G (s) d
(4.37)
y Iny −1
K (s) −Iny bm
ym Iny K −1 (s) −K −1 (s) G−1 (s)
On observe que certains transferts ne dépendent plus du correcteur. C’est le cas du
transfert Tyr entre la référence et la mesure (ou grandeur à asservir), égal à l’identité
4.3. PERFORMANCES D’UN SYSTÈME ASSERVI 37
(le système est bien asservi). C’est également le cas du transfert entre le bruit et la
commande avec Tubm (s) = −G−1 (s), ce qui signifie que l’effet du bruit de mesure sur la
commande ne peut être atténué dans la bande passante. A l’inverse, le transfert Tyd (s)
entre la perturbation et la grandeur à asservir dépend entièrement du correcteur ; un bon
rejet de perturbation nécessite donc un gain du correcteur élevé indépendamment du gain
du système (c’est ainsi que la présence d’un intégrateur pur dans le système G(s) n’est
d’aucune aide pour le rejet de perturbation mais qu’il faudra prévoir un effet intégrateur
dans le correcteur).
— Pour ω ωc , on peut considérer que σ(K(s)G(s)) 1 et σ(G(s)K(s)) 1. Il en résulte
que Sy (s) ' Iny et Su (s) ' Inu . Ainsi, les différents transferts se réécrivent :
e Iny −G(s) −Iny
u K(s)
−K(s)G(s) −K(s) r
v = K(s)
Inu −K(s) d
(4.38)
y G(s)K(s) G(s) −G(s)K(s) bm
ym G(s)K(s) G(s) −Iny
A nouveau, certains transferts ne dépendent plus du correcteur, mais pas les mêmes que
dans le cas précédent. A l’inverse, le transfert Tubm (s) entre le bruit de mesure et le
signal de commande est égal, au signe près, au correcteur. Ainsi, il sera nécessaire de
prévoir l’atténuation du gain du correcteur en dehors de la bande passante afin de limiter
l’amplification du bruit.
v ṽ- z̃- z-
We (s) Ws (s)
Ge (s)
-
u e ou y
K(s)
Schéma 1 bloc
Le transfert crucial est la sensibilité Ter (s) = Sy (s) qui permet de gérer à la fois la bande
passante, la marge de stabilité et la précision. Ainsi, le schéma de synthèse le plus simple est
un schéma dans lequel on ne s’intéresse qu’à ce transfert. Ce schéma, donné sur la figure 4.6
fait apparaitre une seule pondération en sortie (Ws (s) = W1 (s)) et pas de pondération d’entrée
(We (s) = Iny ).
z(t)
W1(s)
e(t)
r(t) u(t)
+ K(s) G(s)
- y(t)
On a :
1
W1−1 (s) = Iny . (4.42)
W11 (s)
Appliquons à l’entrée de ce filtre l’erreur de régulation e ; notons z1 sa sortie. Si on est capable
−1
de vérifier que la norme du transfert entre r et z1 est inférieure à 1, alors |W11 (jω)| est un
majorant de σ(Sy (jω)) pour tout ω. On en déduit que :
— la marge de module 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 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 ;
4.3. PERFORMANCES D’UN SYSTÈME ASSERVI 39
(s + a)2
W11 (s) = (4.44)
k(s + b)2
où b est choisi très faible voire nul 3 . Il convient toutefois de refaire les calculs ci-dessus.
Schéma 2 blocs
En utilisant un schéma de synthèse à un bloc, il se peut que l’on obtienne un correcteur dont
le gain ne chute pas en haute fréquence, ce qui est défavorable en terme d’amplification du bruit
de mesure et en terme de robustesse. Afin de forcer le gain du correcteur à décroitre au delà
de la bande passante du système asservi, on peut être amené à ajouter une pondération sur la
commande u comme dans le schéma de synthèse à deux blocs de la figure 4.7. Cette pondération
est un filtre dérivateur tronqué qui amplifie les hautes fréquences. Avec W2 (s) = W21 Inu , on
peut prendre :
s
W21 (s) = (4.45)
K2 (cs + 1)
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.
z1(t)
W1(s)
z2(t)
W2(s)
e(t) u(t)
r(t)
+ K(s) G(s)
- y(t)
z1(t)
W1(s)
z2(t)
W2(s)
v2(t)
W3(s)
e(t)
v1 = r(t) d(t)
K(s) + G(s)
+ u(t) y(t)
-
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.
On aboutit au schéma de synthèse à quatre blocs (figure 4.8) dans lequel une pondération
W3 (s) = W31 (s)I constante permettra de régler le rejet de perturbation grâce au transfert
Tde (s) avec :
1
σ(Ted (jω)) < . (4.46)
|W11 (jω)W31 (jω)|
Cette approche peut également servir à mieux rejeter une perturbation sinusoı̈dale à la pulsation
ω0 . La pondération W31 (s) est alors choisie égale à un filtre passe bande résonnant de nature à
amplifier le signal à la pulsation ω0 :
ω0 s
W31 (s) = (4.47)
s2 + 2ξω0 s + ω02
où ξ est choisit d’autant plus faible que l’atténuation doit être forte.
En pratique, les différentes contraintes sont agglomérées afin d’aboutir à une formulation
unique sous la forme (4.48).
1. Donnez les matrices de la formulation (4.48) permettant d’assurer le cahier des charges
suivant :
— module inférieur à ωmax
— partie réelle inférieure à −α où√α ∈ R+
— amortissement supérieur à r = 2.
2. Justifiez l’intérêt de ces trois contraintes, notamment en terme de cahier des charge
temporel.
42 CHAPITRE 4. ANALYSE DES SYSTÈMES
Chapitre 5
En identifiant cette équation avec la quatrième formulation du lemme de Finsler (page 17), la
troisième formulation équivalente donnée dans le lemme s’écrit :
Il s’agit d’une inégalité de Riccati où la matrice inconnue K a disparu. En introduisant une
matrice P = P T > 0, cette inégalité se transforme en égalité :
AT Q + QA + λQBB T Q + P = 0 (5.6)
Il s’agit d’une équation algébrique de Riccati. Des algorithmes sont disponibles pour les résoudre
(sous Matlab, voir are pour Algebraic Riccati Equation).
43
44 CHAPITRE 5. SYNTHÈSE POUR LES SYSTÈMES LTI
5.2 Commande H∞
On présente ici les techniques de synthèse de retour dynamique de sortie. Des résultats sont
également disponibles concernant la synthèse de retour d’état statique 1
tel que
||lftl (P (s), K(s))||∞ ≤ γ. (5.9)
Les méthodes de synthèse présentées ci-dessous, disponibles sous Matlab, s’appuient sur
l’hypothèse suivante :
H1. (A, B2 ) est stabilisable 2 ; (C2 , A) est détectable 3
Ces deux hypothèses sont des hypothèses classiques pour la synthèse de correcteur.
XA + AT X − XP X + Q = 0 (5.11)
telle que toutes les valeurs propres de A − P X ont une partie réelle strictement négative.
Outre l’hypothèse H1, les hypothèses suivantes doivent être satisfaites :
H2. rang(D12 ) = nu et rang(D21 ) = ny où nu est la taille de u et ny est la taille de ny .
A − jωIn B2
H3. ∀ω ∈ R, rang = n + nu où n est la taille de x.
C1 D12
A − jωIn B1
H4. ∀ω ∈ R, rang = n + ny .
C2 D21
T
B1 T = O I
H5. D11 = 0, D12 C1 D12 = O Inu , D22 = 0, D21 ny .
D21
Vous trouverez dans la littérature, et notamment dans [1] quelques explications sur ces hy-
pothèses.
On définit les matrices suivantes :
B = B1 B2
C1
C=
C2
D1· = D11 D12
D11
D·1 =
D21
2
T γ Inv 0
R = D1· D1· −
0 0
2
T γ Inz 0
R̃ = D·1 D·1 −
0 0
A 0 B −1
T T
Xa = Ric − R D1· C1 B
−C1T C1 −AT −C1T D1·
AT CT
0 −1
T T
Ya = Ric − T R̃ D·1 B1 C
−B1 B1T −A −B1 D·1
T AT S + SA
SB1 C1
NS 0 B1T S T NS 0
−γInv D21 <0 (5.17)
0 Inz 0 Inz
C2T D21 −γInz
RIn
≥0 (5.18)
In S
où NR et NS sont des bases des noyaux respectivement de B2T D12 T et C
2 D21 .
M N T = In − RS (5.19)
Q > 0 (6.1)
T
A Q + QA < 0 (6.2)
Remarque : dans ce cas, cette stabilité (quadratique de Lyapunov) est équivalente à la sta-
bilité au sens classique dont le critère est que la matrice A ait ses valeurs propres à partie réelle
négative.
49
50 CHAPITRE 6. ANALYSE DES SYSTÈMES LPV INCERTAINS
Q > 0 (6.3)
(Ask )T Q + QAsk < 0 (6.4)
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.
Q > 0 (6.5)
T
A Q + QA < τ I (6.6)
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.
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
1. On parle en fait de LMI semi-infinie dans le cas ou les paramètres sont bornés ; le terme de LMI infi-
nieLMI !infinie s’appliquant au cas ou les paramètres ne sont pas bornés
6.2. DISSIPATIVITÉ, NORME H∞ 51
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 :
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 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 (6.12) 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 :
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.
Q>0 (6.17)
AT Q + QA QB C T
BT Q −γI DT < 0 (6.18)
C D −γI
Démonstration 5
En appliquant le complément de Schur à la relation ci-dessus avec la décomposition :
T
A Q + QA QB
Q= (6.19)
BT Q −γI
R = −γI (6.20)
T
C
S= (6.21)
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.
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 12 (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.
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 conservative sous forme d’un
nombre fini de LMI, ce qui est fait dans le théorème ci-dessous.
6.3. APPLICATION À UN SYSTÈME MÉCANIQUE 53
y
actionneur transmission charge
souple
u
r
régulateur
C = 0 J12 0 , D = 0
(6.38)
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= (6.39)
C D
1
le modèle s’écrit M = M0 + KM1 + J2 M 2 avec :
− f +f
1
0 0 1
− J11 0 0 0
M0 =
J1
(6.40)
Jf1
0 0 0
0 0 0 0
0 0 −1 0
0 0 1 0
M1 = 0 0 0 0
(6.41)
0 0 0 0
0 f 0 0
0 −(f + f2 ) 0 0
M2 = (6.42)
0 −1 0 0
0 1 0 0
Le script de définition du modèle sous Matlab est donné ci-dessous 5 :
5. 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.
56 CHAPITRE 6. ANALYSE DES SYSTÈMES LPV INCERTAINS
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);
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 stable 6 .
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 7 ) 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);
6. 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.
7. Harry Nyquist est né en 1889 en Suède et est décédé en 1976 aux États-Unis. Il a fortement contribué à la
théorie de l’information et à l’automatique. Voir [Link]
6.3. APPLICATION À UN SYSTÈME MÉCANIQUE 57
6.3.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.
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 6.4.
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.5.
Ce modèle se met alors sous la forme (3.16-3.18) avec :
−(f + f 1)/J1 0 −1
0 f 1
f /J1 0 0 1 −(f + f 2) 0
A B 1 B2
C1 D11 D12 = 1/J1 0 0 0 −1 0
(6.43)
0 0 1 0 0 0
C2 D21 D22
0 1 0 0 0 0
0 0 0 0 1 0
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
58 CHAPITRE 6. ANALYSE DES SYSTÈMES LPV INCERTAINS
comprises entre -1 et 1. Le schéma correspondant est celui de la figure 6.6. Le script de définition
du modèle LFR normalisé est donné ci-dessous 8 :
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 scalaires 9 .
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’;
cleanupsysic = ’yes’;
sysic;
Avant d’analyser la robustesse, il importe de vérifier que le modèle nominal (avec des incer-
titudes nulles) est stable 10 . Cela peut se faire 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 pulsa-
tion se fait ainsi :
TabPuls = logspace(0,2,400);
sysLFRbf w = frsp(sysLFRbf,TabPuls);
[bnds,rowd,sens,rowp,rowg] = mu(sysLFRbf w,blk);
8. 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.
9. 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].
10. 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.
60 CHAPITRE 6. ANALYSE DES SYSTÈMES LPV INCERTAINS
Figure 6.7 – Valeur singulière structurée pour l’analyse en stabilité (borne supérieure et borne
inférieure)
figure
vplot(’liv,m’,bnds)
Robustesse en performance
Le calcul de la robustesse en performance se fait en incluant une pondération W1 (s) sur
l’erreur de régulation 11 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 6.8. 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]’;
11. 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.
6.3. APPLICATION À UN SYSTÈME MÉCANIQUE 61
Figure 6.9 – Valeur singulière structurée pour l’analyse en performance (borne supérieure et
borne inférieure)
et donne les résultats présentés sur la figure 6.9. 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.
Figure 6.10 – Lieu des pôles multimodèle pour les variations nominales des paramètres (5×5
modèles)
Figure 6.11 – Évolution de la partie rélle pire-cas des pôles en fonction du coefficient de dila-
tation de l’ensemble de variation des paramètres (5×5 modèles)
6.3. APPLICATION À UN SYSTÈME MÉCANIQUE 63
Figure 6.12 – Lieu des pôles multimodèle pour les variations maximales des paramètres (10×10
modèles)
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 6.11 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 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 robus-
tesse 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 des pôles multimodèle avec les variations maximales des paramètres, présenté sur
la figure 6.12, est obtenu en multipliant le canal de ∆ par 1/µ et en traçant les pôles pour
||∆||∞ ≤ 1, ce que fait 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é.
64 CHAPITRE 6. ANALYSE DES SYSTÈMES LPV INCERTAINS
Bibliographie
[1] G. Duc and S. Font, Commande H∞ et µ-analyse, Hermes Science Publications, Paris,
1999.
[2] K. Zhou, J. C. Doyle, and K. Glover, Robust and Optimal Control, Prentice-Hall, 1996.
[3] S. Skogestad and I. Postlethwaite, Multivariable Feedback Control, Wiley and Sons, 1996.
[4] C. Scherer, Theory of Robust Control, Delft University of Technology, 2001, Notes de cours,
[Link]
[5] C. Scherer and S. Weiland, Linear Matrix Inequalities in Control, Delft University of Tech-
nology, 2005, Notes de cours, [Link]
pdf.
[6] D. Arzelier, “Robust control,” 2006, Diaporama de cours, [Link]
arzelier/[Link].
[7] P. Gahinet, A. Nemirovski, A. J. Laub, and M. Chilali, LMI Control Toolbox, The Math-
Works Inc., 1995.
[8] G. Balas, R. Chiang, A. Packard, and M. Safonov, Robust Control System Toolbox User’s
Guide, The MathWorks Inc., 2005-2006.
[9] 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.
[10] D. Peaucelle, RoMulOC a YALMIP-MATLAB based Robust Multi Objective Control Tool-
box, 2005.
[11] Y. Nesterov and A. Nemirovski, Interior-point Polynomial Methods in Convex Program-
ming, SIAM, 1994.
[12] D. Peaucelle, D. Henrion, Y. Labit, and K. Taitz, User’s guide for SeDuMi interface, LAAS
- CNRS, http ://[Link]/˜peaucell/[Link], 2002.
[13] G. Duc, Robustesse des Systèmes Linéaires Multivariables, École Supérieure d’Électricité,
1994.
[14] The MathWorks Inc., Getting Started with the Control System Toolbox, 2000-2002.
[15] C. Scherer, P. Gahinet, and M. Chilali, “Multi-objective output-feedback control via LMI
optimization,” IEEE Trans. Autom. Control, vol. 42, no. 7, pp. 896–911, 1997.
[16] P. Gahinet and P. Apkarian, “A linear matrix inequality approach to H∞ control,” Int. J.
Robust Nonlin. Control, vol. 4, no. 4, pp. 421–448, 1994.
[17] J.F. Magni, “Linear fractional representation with a toolbox for use with Matlab,” Tech.
Rep., ONERA, 2001.
[18] 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.
[19] 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.
[20] E. Laroche, “Robustness analysis of nonlinear systems - application to induction motor,”
in IFAC World Congress, Prague, Praha, July 2005.
65
66 BIBLIOGRAPHIE
[21] S. Gutman and E. Jury, “A general theory for matrix root-clustering in subregions of the
complex plane,” IEEE Trans. Autom. Control, vol. 26, no. 4, pp. 853–863, 1981.
[22] M. Chilali and P. Gahinet, “H∞ design with pole placement constraints : an LMI approach,”
IEEE Trans. Autom. Control, vol. 41, no. 3, pp. 358–367, 1996.
[23] D. Peaucelle and D. Arzelier, “A new robust d-stability condition for real convex polytopic
un,” Systems and Control Letter, vol. 40, pp. 21–30, 2000.
[24] K. Glover and J.C. Doyle, “State-space formulae for all stabilizing controllers that satisfy
an hnorm bound and relations to risk sensitivity,” Systems and Control letters, vol. 11, pp.
167–172, 1988.
[25] J.C. Doyle, K. Glover, P.P. Khargonekar, and B.A. Francis, “State-space solutions to
standard H2 and H∞ control problems,” IEEE Trans. Autom. Control, vol. 34, no. 8, pp.
831–847, 1989.
[26] D. C. McFarlane and K. Glover, “A loop shaping design procedure using H∞ synthesis,”
IEEE Trans. Autom. Control, vol. 37, no. 6, pp. 759–769, 1992.
[27] 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.