edouard laroche - eavr.u-strasbg.freavr.u-strasbg.fr/~laroche/student/masteristi/prescomrob.pdf ·...
TRANSCRIPT
Commande Robuste
Commande Robuste
Edouard Laroche ([email protected])
ENSPS 3A ISAVMaster IRIV – AR
Université de Strasbourg
2011–2012
Commande Robuste
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Introduction
Objectifs et contenus
Objectifs en contenu de la formation (1)
ObjectifsMieux comprendre les compromis fondamentaux quilimitent les dynamiques des systèmes asservis,notamment en terme de performance, de sensibilité aubruit et de robustesseConnaître les outils d’analyse des systèmes multi-variablesSavoir mettre en œuvre une synthèse de loi de commandede type H∞ sur un système linéaireÊtre capable de mettre en œuvre une analyse derobustesse dans le cas de variations paramétriques
Commande Robuste
Introduction
Objectifs et contenus
Objectifs en contenu de la formation (2)
Contenu7 séances de cours4 séances de TD dont 2 sur PCÉvaluation : bureau d’étude en simulation
Commande Robuste
Introduction
Objectifs et contenus
Objectifs en contenu de la formation (3)
Plan du coursOutils d’analyse des systèmes multivariablesModélisation des systèmes dynamiquesCritère d’analyse des performancesMéthode de synthèse de correcteurs H∞Méthodes d’analyse de la robustesse
Commande Robuste
Introduction
Historique de l’automatique
Historique de l’automatique (1)
MéthodesAvant 1960 : méthodes SISO, approches temporelles(Ziegler-Nichols) et fréquentielles (Bode, Nyquist,Black-Nichols)Entre 1960 et 1990 : approches temporelles pour lessystèmes MIMO : commande optimaleDepuis1990 : approches fréquentielles pour les systèmesMIMO : approche standard, commande H∞
Commande Robuste
Introduction
Historique de l’automatique
Historique de l’automatique (2)Implantation des commandes
Avant 2000 : implantation sous forme de circuitélectroniques à base d’amplificateurs opérationnels,l’automatique est fortement liée à l’électronique et onprivilégie les représentations à temps continuDepuis les années 2000 : implantation dans descalculateurs sous forme d’équations aux récurrences(représentation à temps échantillonné)
Exemples de réalisations industrielles chez AstriumPilotage H∞ d’Ariane 5 en tangage et lacet en volatmosphérique : 1er vol en 2002Pilotage ATV (Automated Transfer Vehicle) en rendez-vousfinal (3 ddl en position) par correcteur H∞ : 1er vol en 2008
Commande Robuste
Introduction
Historique de l’automatique
Historique de l’automatique (3)
Laboratoires en FranceLAAS (équipe MAC, Toulouse)ONERA (Toulouse + Châtillon)Supélec (Service d’Automatique, Gif-sur-Yvette)IRCCYN (Nantes)GIPSA (Grenoble)...
Entreprises européennesASTRIUM (lanceur, satellite)EADS-Airbus
Commande Robuste
Modélisation des systèmes dynamiques
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Modélisation des systèmes dynamiques
Représentation d’état
Représentation d’état (1)
Modèle linéaire invariant dans le temps (LTI)x = Ax + Buy = Cx + Du
(1)
Valable pour les systèmes propres ; systèmes strictementpropres : D = 0. La fonction de transfert du système :
G(s) = C(sIn − A)−1B + D (2)
relie les transformées de Laplace des signaux (L(u(t)) = U(s)et L(y(t)) = Y (s)), soit Y (s) = G(s) U(s). On effectue l’abusde language suivant : y = G(s) u ou y(t) = G(s) u(t) quisignifie que le signal u(t) est en entrée du système G(s) et quey(t) est en sortie.
Commande Robuste
Modélisation des systèmes dynamiques
Représentation d’état
Représentation d’état (2)
Modèle linéaire à paramètres variants (LPV)x = A(θ)x + B(θ)uy = C(θ)x + D(θ)u
(3)
θk ≤ θk ≤ θk
θk ≤ θk ≤ θk .
Commande Robuste
Modélisation des systèmes dynamiques
Représentation d’état
Représentation d’état (3)
Modèle linéaire à paramètres variants (LPV)
M(θ) =
[A(θ) B(θ)C(θ) D(θ)
]. (4)
avec M(θ) = M0 + θ1M1 + θ2M2....
Commande Robuste
Modélisation des systèmes dynamiques
Représentation d’état
Représentation d’état (4)
Modèle LPV polytopiqueCombinaison barycentrique : M = α1Ms
1 + α2Ms2 + ... avec
0 ≤ αk ≤ 1 et Σαk = 1
Passage LPV affine→ LPV polytopique :M = α1Ms
1 + α2Ms2 + α3Ms
3 + α4Ms4 avec
Ms1 = M0 + θ1M1 + θ2M2
Ms2 = M0 + θ1M1 + θ2M2
Ms3 = M0 + θ1M1 + θ2M2
Ms4 = M0 + θ1M1 + θ2M2
α1 = θ1−θ1θ1−θ1
θ2−θ2θ2−θ2
α2 =θ1−θ1
θ1−θ1
θ2−θ2θ2−θ2
α3 = θ1−θ1θ1−θ1
θ2−θ2
θ2−θ2
α4 =θ1−θ1
θ1−θ1
θ2−θ2
θ2−θ2
Commande Robuste
Modélisation des systèmes dynamiques
Représentation d’état
Représentation d’état (5)Modèle non-linéaire
x = f (x ,u)y = g(x ,u)
(5)
Linéarisation autour d’un point d’équilibre (x0,u0) vérifiantf (x0,u0) = 0 :
x = f (x0,u0) + ∂f∂x (x − x0) + ∂f
∂u (u − u0)
y = g(x0,u0) + ∂g∂x (x − x0) + ∂g
∂u (u − u0)(6)
En notant δx = x − x0, δu = u − u0 et δy = y − g(x0,u0) on seramène à un système LPV :
δx = A(θ)δx + B(θ)δuδy = C(θ)δx + D(θ)δu
(7)
avec θ =
[x0u0
].
Commande Robuste
Modélisation des systèmes dynamiques
Opérations sur les systèmes
Opérations sur les systèmes (1)
Somme, produit et inverseSoient G1(s) et G2(s) deux systèmes LTI de dimensionsadéquatesG(s) = G1(s) + G2(s) est défini par y = G(s)u oùy = y1 + y2, y1 = G1(s)u et y2 = G2(s)uH(s) = G1(s)G2(s) est défini par y = H(s)u oùy = G1(s)u1 et u1 = G2(s)uG−1
1 (s) est défini par y = G−1(s)u où u = G1(s)y (définique si D est inversible)Exercice : connaissant les matrices d’état de G1(s) etG2(s), donnez les représentation d’état de G(s), H(s) etde G−1(s)
Commande Robuste
Modélisation des systèmes dynamiques
Opérations sur les systèmes
Opérations sur les systèmes (2)
Système identité et système nulDans l’espace des transferts à n entrées et n sortiesLe systèmes Identité a comme matrice de transfert
In(s) = In =
1 0 . . . 00 1 0...
. . ....
0 0 1
. En effet, on a
G(s) In = In G(s) = G(s)
Le systèmes Null a comme matrice de transfert
On(s) = On×n =
0 . . . 0...
. . ....
0 . . . 0
. En effet, on a
G(s) + On×n = On×n + G(s) = G(s)
Commande Robuste
Modélisation des systèmes dynamiques
Opérations sur les systèmes
Opérations sur les systèmes (3)
Transformation linéaire fractionnaire (LFT)Upper LFT : M(s) = lftu(G(s),H(s)) où y2 = M(s)u2
G(s)
H(s)
--
-
u2
u1 = z
y2
y1 = v
Notations Matlab : M = lft(H,G)
Commande Robuste
Modélisation des systèmes dynamiques
Opérations sur les systèmes
Opérations sur les systèmes (4)
Transformation linéaire fractionnaire (LFT)Lower LFT : M(s) = lftl(G(s),H(s)) où y1 = M(s)u1
H(s)
G(s)
--
-
u1
u2 = z
y1
y2 = v
Notations Matlab : M = lft(G,H)
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (1)
DéfinitionSoit M(s) = lftu(Q(s),∆(θ)) où Q(s) est un modèle LTI et∆(θ) est une matrice dépendant du vecteur desparamètres θ.
Q(s)
∆(θ)
--
-
u
v
y
z
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (2)
Calculs(1)Le système Q(s) s’écrivant :
x = Ax + B1v + B2u (8)z = C1x + D11v + D12u (9)y = C2x + D21v + D22u (10)
En rebouclant avec la matrice ∆(θ),
v = ∆(θ) z (11)
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (3)
Calculs (2)Transfert M(s) entre u et y :
x = A(θ)x + B(θ)u (12)y = C(θ)x + D(θ)u (13)
avec :
A(θ) = A + B1∆(θ)(I− D11∆(θ))−1C1
B(θ) = B2 + B1∆(θ)(I− D11∆(θ))−1D12
C(θ) = C2 + D21∆(θ)(I− D11∆(θ))−1C1
D(θ) = D22 + D21∆(θ)(I− D11∆(θ))−1D12
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (4)
InterprétationM(s) est un modèle LPV rationnelTout modèles LPV rationnel peut être mis sous forme LFRPour les modèles LPV à dépendance non-rationnels, onpeut chercher des approximations rationnelles desfonctions non-linéaires
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (5)
Exemple Matlab (1)% Définition du paramètre incertainp0 = 1; wp = 0.2;p = ureal(’p’,p0,’Percentage’,100*wp);
% Méthode 1: tfH1 = tf(1,[1 p])USS: 1 State, 1 Output, 1 Input, Continuous System
p: real, nominal = 1, variability = [-20 20]%, 1 occurrence
% Méthode 2: ssA = -p; B = 1; C = 1; D = 0;H2 = ss(A,B,C,D)USS: 1 State, 1 Output, 1 Input, Continuous System
p: real, nominal = 1, variability = [-20 20]%, 1 occurrence
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (6)
Exemple Matlab (2)% Méthode 3: LFRQ = [1;1]*tf(1,[1 0])*[-1 1];Q_ = ss(0,[-1,1],[1;1],zeros(2,2));Delta = p;H3 = lft(Delta,Q)USS: 2 States, 1 Output, 1 Input, Continuous System
p: real, nominal = 1, variability = [-20 20]%, 1 occurrence
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (7)
Exemple Matlab (3)% Evaluationdpe = 2*rand(1)-1; % sur [-1;1]pe = p0*(1 + wp*dpe);H1e = usubs(H1,’p’,pe); % substitutionH2e = usubs(H2,’p’,pe);H3e = usubs(H3,’p’,pe);sigma(H1e,H2e,H3e,1e-2,1e2) % valeurs singulières
Commande Robuste
Modélisation des systèmes dynamiques
Modèles LFR
Représentations linéaires fractionnaires des modèlesLPV (8)
Exemple Matlab (4)% Transformation USS -> LFR[M,Delta2] = lftdata(H1);size(M)State-space model with 2 outputs, 2 inputs, and 1 state.Delta2UMAT: 1 Rows, 1 Columns
p: real, nominal = 1, variability = [-20 20]%, 1 occurrenceH4 = lft(p,M); % LFR normaliséeH4e = usubs(H4,’p’,dpe); % avec le paramètre normaliséfigure; sigma(H1e,H4e,1e-2,1e2)
Commande Robuste
Outils d’analyse
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Valeurs propres et inégalités matricielles (1)
Valeurs propresSoit M ∈ Cn×n
λ ∈ C est valeur propre de M s’il existe un vecteur x ∈ Rn
tel que M x = λxCela signifie que dans certaines directions de l’espace,celle des vecteurs propres, l’application x → M x nemodifie pas la directionSi M est hermitienne a, ses valeurs propres sont réelles
a. Le hermicien de M, noté MH, est la composition de la conjugaison et dela transposée : MH = (M∗)T.
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Valeurs propres et inégalités matricielles (2)
Matrice positive : définitionSoit M ∈ Cn×n telle que M = MH (matrice hermitienne)La notation M > 0 signifie : toutes les valeurs propres deM sont strictement positives (M est définie positive)La notation M ≥ 0 signifie : toutes les valeurs propres deM sont positives (ou nulles)Idem pour M < 0 et M ≤ 0
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Valeurs propres et inégalités matricielles (2)
Matrice positive : propriétés (1)Soit M ∈ Cn×n telle que M = MH (matrice hermitienne)M > 0 ⇐⇒ ∀x ∈ Cn∗, xHMx > 0 a
M ≥ 0 ⇐⇒ ∀x ∈ Cn, xHMx ≥ 0M > 0 =⇒ ∀X ∈ Cn×m,X HMX ≥ 0 b
M ≥ 0 ⇐⇒ ∀X ∈ Cn×m,X HMX ≥ 0
a. xHMx est une forme quadratique.b. Il suffit de considérer X =
[x1| . . . |xm
].
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Valeurs propres et inégalités matricielles (3)
Matrice positive : propriétés(2)Soit M et N deux matrices hermitiennes, ainsi que O lamatrice nulle, toutes de dimension adéquates selon leséquations.M > 0,N > 0⇒ M + N > 0M > 0,N > 0⇒ MN > 0 a
M > 0,N < 0⇒ MN < 0
M > 0,N > 0 ⇐⇒[M OO N
]> 0
Pour c ∈ R, M − cI < 0 ⇐⇒ λk (M) < c
a. Voir la démonstration donnée dans le poly
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Inégalité matricielle (1)
Inégalité matricielleSoit z ∈ Dz ⊂ Cp un vecteur de décisionSoit M(z) une fonction matricielle à valeur dans Cn×n telleque M(z) = MH(z) ∀z ∈ Cp
Le problème consistant à trouver z tel queM(z) < 0 ∀z ∈ Dz est un problème d’inégalité matricielleDans le cas où M(z) est une fonction affine descoefficients de z, i.e. M(z) = M0 + z1M1 + ...+ zpMp, onparle d’inégalité matricielle affine ou linéaire (LMI pourlinear matrix inéquality)Les LMI sont abondamment utilisées en automatiquemoderne
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Inégalité matricielle (2)
Exemple de LMIUn système dynamique x = Ax , avec x ∈ Rn et A ∈ Rn×n,est stable si et seulement si il existe une matricesymétrique P ∈ Rn×n définie positive telle queAT P + PA < 0
Pour n = 2, A =
[a1 a2a3 a4
]et P =
[p1 p2p2 p3
],
1 Montrez que l’équation AT P + PA < 0 peut se mettre sousla forme M(p) < 0 où M(p) = M0 + p1M1 + ...p3M3
2 Donnez les matrices Mk , k = 0, ...,3 en fonction descoefficients de A
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Inégalité matricielle (4)
Solveurs pour LMIDeux types de logiciels
1 Résolution des LMI2 Transformation des problèmes de l’automatique en
problèmes LMI (exempleAT P + PA < 0 −→ M0 + p1M1 + ...p3M3 < 0)
Trois types de problèmes1 fesabilité (ou existence) : trouver x solution de A(z) < 0,2 minimisation d’une fonction linéaire : trouver x minimisant
cT x sous la contrainte A(x) < 0,3 problème de valeur propre généralisée : minimiser λ sous
les contraintes A(x) < λB(x), B(x) > 0 et C(x) < 0.
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Inégalité matricielle (5)
Liste de solveurslmilab : solveur de Matlab (Robust Control Toolbox) : 1 + 2+ interface graphiqueSedumi : solveur a
SedumiInt : intergace de Sedumi pour l’automatique b
YALMIP : editeur pour l’automatique permettant d’utiliserde nombreux solveurs c
SDPT3 : solveur d
a. http://sedumi.ie.lehigh.edu/b. http://homepages.laas.fr/peaucell/software/
SeDuMiInt.htmlc. http://users.isy.liu.se/johanl/yalmip/d. http://www.math.nus.edu.sg/~mattohkc/sdpt3.html
Commande Robuste
Outils d’analyse
Valeurs propres et inégalités matricielles
Inégalité matricielle (6)
Illustration : lmiedit
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (1)
Valeurs singulières : définitionSoit M ∈ Cn×m
MMH est une matrice symétrique positive (valeurs proprespositives)Les valeurs singulière σk de M sont les racines carréesdes valeurs propres de MMH, i.e. σ2
k (M) = λk (MMH)
Interprétation : les valeurs singulières sont lesamplifications dans les différentes direction propres a
On note σ(M) ≤ σk (M) ≤ σ(M)
a. Soient λk une valeur propre de M associée à un vecteur propre xk . On aalors yk = Mxk = λk xk d’où yH
k yk = xHk MHMxk = λ2
k xHk xk , d’où ‖yk‖ = σk‖xk‖.
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (2)
Valeurs singulières : propriétésσk (M) ≥ 0σk (M) = σk (MH) (invariance par l’opérationtransposé/conjugué)Les valeurs singulières non nulles sont au plus au nombrede min(n,m), la plus petite dimension de M.σk (cIn) = |c|σk (diagc1, . . . , cn) = |ck |
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (3)
Valeurs singulières : propriétés (2)σ(·) est la norme induite sur les matrices par la normeeuclidienne sur les vecteurs
σ(M) = maxy=Mu
‖y‖‖u‖
(14)
σ(M) ≥ 0σ(M) = 0 =⇒ M = Oσ(λM) = |λ|σ(M)σ(M + N) ≤ σ(M) + σ(N)σ(MN) ≤ σ(M)σ(N)
σ(M) = 1σ(M−1)
, σ(M) = 1σ(M−1)
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (4)
Valeurs singulières : propriétés (3)σ(λM) = |λ|σ(M)
σ(M + N) ≥ σ(M) + σ(N)
σ(M)σ(N) ≤ σ(MN)
σ(M) = maxz 6=0‖Mz‖2‖z‖2
(amplification maximale)
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (5)
Tracé des valeurs singulières d’un système LTISoit un système multivariable à n entrées et n sorties
x = Ax + Bu (15)y = Cx + Du (16)
La fonction de transfert entre u et y estG(s) = C(sIn − A)−1B + DOn caractérise le système par le tracé des valeurssingulières de G(jω) pour ω ∈ R+
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (6)
Tracé des valeurs singulières d’un système LTIExemple (1) :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);
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (7)
Tracé des valeurs singulières d’un système LTI
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (8)
Exemple (3)code :G1 = C*inv(j*1*eye(2)-A)*B+D;SV = svd(G1)u = randn(2,1)Ampli = norm(G1*u)/norm(u)
Résultat :SV =
1.32570.2872
u =1.1892-0.0376
Ampli =
1.1032
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (9)
Norme sur les signaux multivariablesSoit x(t) à valeur dans Rn
La norme L2 est définie par :
‖x(t)‖L2 =
√∫ ∞0
xT (t) x(t) dt (17)
‖x(t)‖L2 = 0 =⇒ x(t) = 0 ∀t ∈ R+
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (10)
Norme H∞ sur les systèmes LTISoit G(s) un système LTI multivariable de condition initialenulle, d’entrée u(t) et de sortie y(t)La norme H∞ est définie comme la norme induite sur lessystème par la norme L2 sur les signaux :
‖G(s)‖∞ = max‖y(t)‖L2
‖u(t)‖L2
(18)
‖G(s)‖∞ = 0 =⇒ G(s) = On×n
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (11)
Propriétés de la H∞Interprétation fréquentielle
‖G(s)‖∞ = maxω∈R+
σ(G(jω)) (19)
Exemple :norm(Sys,inf)
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Valeurs singulières et norme H∞ (12)
Propriétés de la H∞ (2)Pour une matrice de transfert sous forme de blocs :
G(s) =
[G11(s) G12(s)G21(s) G22(s)
](20)
on a :
‖G(s)‖∞ < γ ⇒ ‖Gkl(s)‖∞ < γ ∀(k , l) ∈ 1,2 (21)
Commande Robuste
Outils d’analyse
Valeurs singulières et norme H∞
Récapitulatif sur les normes
Scalaire complexe (module) : |z|2 = z∗zVecteur complexe (norme euclidienne) : ‖z‖2 = zHzMatrice complexe (valeur singulière max) :σ(M) = max ‖Mu‖
‖u‖
Rq. valeur singulière d’un scalaire : σ(z) = |z|Signal vectoriel complexe : ‖z(t)‖2L2
=∫∞
0 zH(t)z(t)dtMatrice de transfert :‖G(s)‖∞ = max
‖G(s)u(t)‖L2‖u(t)‖L2
= maxω∈R+ σ(G(jω))
Rq. fonction de transfert (SISO) :‖G(s)‖∞ = maxω∈R+ |G(jω)|
Commande Robuste
Outils d’analyse
Lemmes de simplification
Lemmes de simplification (1)
Complément de SchurLa LMI : [
Q SST R
]< 0, (22)
où Q = QT et R = RT est équivalente à :R < 0
Q − SR−1ST < 0.(23)
Commande Robuste
Outils d’analyse
Lemmes de simplification
Lemmes de simplification (2)
Lemme de projectionSoit une matrice symétrique Ψ ∈ Rm×m et deux matrices P etQ de nombre de colonnes m. Et considérons le problèmeconsistant à trouver une matrice Θ de dimensions adéquoitestelle que :
Ψ + PTΘTQ + QTΘP < 0 (24)
Notons WP et WQ des matrices dont les colonnes forment unebase des noyaux de respectivement P et Q. Alors, une solutionΘ de l’équation (24) existe si et seulement si :
W TP Ψ WP < 0
W TQ Ψ WQ < 0. (25)
Commande Robuste
Synthèse H∞
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Synthèse H∞
Schéma standard
Schéma standard de synthèse (1)
K (s)
Ga(s)-
--
u
v
y
z
v → z : canal de performanceu → y : canal de commandeSynthèse : trouver le correcteur K (s) qui minimise lanorme (H∞ ou H2 ou autre) du transfert Tzv(s)
Commande Robuste
Synthèse H∞
Schéma standard
Schéma standard de synthèse (2)
Performance atteinte : γStructure du correcteur :
généralement : K (s) est de même ordre que Ga(s)(correcteur dynamique d’ordre plein)correcteurs d’ordre réduit : méthodes plus complexes
Méthodes de synthèse : Riccati ou LMI (abordé plus tarddans le cours)Sous Matlab :
hinfsyn : synthèse H∞h2syn : synthèse H2h2hinfsyn : synthèse mixte H2/ H∞
Réglage du correcteur pour respecter le cahier descharges : avec des filtres de pondération contenus dans lesystème augmenté Ga(s)
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (1)Système asservi
K (s) G(s)- - - ? - - ?
6
i i ir +
−e u
dv y
bm
ym
référence r(t)erreur de régulation e(t)erreur de suivi ε(t) = r(t)− y(t)signal de commande u(t)perturbation d(t) en entrée du systèmesignal à asservir y(t)bruit de mesure bm(t)signal de mesure ym(t)
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (2)
Transferts en BFSensibilité en sortie (coté mesure) : Sy (s) = Ter (s)
Sensibilité en entrée (coté commande) : Su(s) = Tvd (s)
Calcul des transferts en boucle fermée
euvyym
=
Sy (s) −Sy (s)G(s) −Sy (s)
Su(s)K (s) −Su(s)K (s)G(s) −Su(s)K (s)Su(s)K (s) Su(s) −Su(s)K (s)
Sy (s)G(s)K (s) Sy (s)G(s) −Sy (s)G(s)K (s)Sy (s)G(s)K (s) Sy (s)G(s) −Sy (s)
[
rdbm
]
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (3)
Allure en BO
0 dB
σ(G(jω)K (jω)) 1
σ(G(jω)K (jω)) 1
20 log(σk (G(jω)K (jω)))
ωcω (log)
FIGURE: Allure typique des valeurs singulières de la boucle ouverte.
Allure générale de G(s)K (s) : passe bas
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (4)
Allure en basse fréquencePour ω ω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)
euvy
ym
=
K−1(s) G−1(s) −K−1(s) −K−1(s) G−1(s)
G−1(s) −Inu −G−1(s)G−1(s) G−1(s) K−1(s) −G−1(s)Iny K−1(s) −Iny
Iny K−1(s) −K−1(s) G−1(s)
r
dbm
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (4)
Allure en haute fréquencePour ω ω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 etSu(s) ' Inu .
euvy
ym
=
Iny −G(s) −Iny
K (s) −K (s)G(s) −K (s)K (s) Inu −K (s)
G(s)K (s) G(s) −G(s)K (s)G(s)K (s) G(s) −Iny
r
dbm
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (5)
Marge de module
-1 0
∆M
Im
Re
G(jω) K (jω)
Marge de module en SISO : ∆M = minω |1 + K (jω)G(jω)|Généralisation en MIMO : ∆M = 1
‖Sy (s)‖∞ ou
∆M = 1‖Su(s)‖∞
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (6)Bande passante
ωBP
ω (log)0 dB
-3 dB
20 log(σ(Sy (jω)))
20 log(σ(Sy (0)))
20 log(||Sy (s)||∞)
ωBP défini par ω ≤ ωBP ⇒ σ(Sy (jω)) ≤ 1/√
2Tr ωBP ≈ 3
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (7)
Précision
ωBP
ω (log)0 dB
-3 dB
20 log(σ(Sy (jω)))
20 log(σ(Sy (0)))
20 log(||Sy (s)||∞)
Erreur statique : σ(Sy (0))
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (8)
Rejet de perturbationTransfert Ted (s) faible aux fréquences de la perturbation(généralement basse et moyennes fréquences)
Atténuation de l’effet du bruit de mesure sur la commandeTransfert Tubm (s) = Tur faible aux fréquences de du bruit(généralement les hautes fréquences)
RobustesseImmunité face aux dynamiques haute fréquence nonmodélisées ou mal modélisées : forcer le gain ducorrecteur à décroitre en haute fréquence en assurantTur (s) faible au delà de la bande passante (roll-off)
Commande Robuste
Synthèse H∞
Performance d’un système asservi
Performance d’un système asservi (9)
RecapitulatifTransfert Sy (s) : marge de module, rapidité et précisionTransfert Tur (s) : bruit de mesure et robustesse par rapportaux dynamiques haute fréquence
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (1)
Schéma général de synthèse : sensibilités mixtes
K (s)
Ge(s)-
--
u
v v
e ou y
zzWe(s) Ws(s) -
Choisir les signaux à mettre dans le canal de performanceRégler les pondérations We(s) et Ws(s) permettant desatisfaire le cahier des charges
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (2)
Synthèse à 1 bloc
K (s) G(s)u(t)
+- y(t)
r(t)e(t)
W1(s)z(t)
W1(s) = W11Iny avec W11(s) = s+ak(s+b)
Impose σ(Sy (jω)) ≤ γ/|W11(jω)|Permet de gérer la marge de module, la rapidité et laprécisionExercice : déterminer Ge(s), We(s) et Ws(s)
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (3)Synthèse à 2 blocs
K (s) G(s)+-
r(t)e(t)
W1(s)z1(t)
u(t)
y(t)
z2(t)W2(s)
W1(s) inchangéW2(s) = W21Inu avec W21(s) = s
K2(cs+1)
Impose σ(Sy (jω)) ≤ γ/|W11(jω)| etσ(Tur (jω)) ≤ γ/|W21(jω)|Atténuation de Tur (s) en haute fréquence : roll-off + bruitde mesureExercice : déterminer Ge(s), We(s) et Ws(s)
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (4)
Synthèse à 4 blocs (1)
K (s) G(s)+-
W1(s)z1(t)
v1 = r(t)+d(t)
W3(s)
W2(s)
u(t) y(t)
z2(t)
e(t)
v2(t)
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (5)
Synthèse à 4 blocs (2)W1(s) et W2(s) inchangésW3(s) = W31(s)Inu
Impose σ(Ted (jω)) < 1|W11(jω)W31(jω)|
Exemple de perturbation sinusoïdale à la pulsation ω0 :W31(s) = ω0s
s2+2ξω0s+ω20
Permet de forcer le rejet de perturbationExercice : déterminer Ge(s), We(s) et Ws(s)
Commande Robuste
Synthèse H∞
Schémas de synthèse H∞
Schémas de synthèse H∞ (6)
Illustration : commande d’un stabilisateur cardiaqueTravaux de thèse de Wael Bachta (avec P. Renaud, J.Gangloff et E. Laroche)Stabilisateur actif equipé d’un actionneur piézo-électriqueMesure de la position par camera rapideCf slides sur http://eavr.u-strasbg.fr/~laroche/ISAE-2009/PresISAE-dec09.pdf
Commande Robuste
Synthèse H∞
Robustesse de la commande H∞
Robustesse de la commande H∞ (1)
Théorème du petit gain
Q(s)
∆(s)
--
-
u
v
y
z
Le système LTI interconnecté est stable si et seulement si‖∆(s)Q11(s)‖∞ < 1
Commande Robuste
Synthèse H∞
Robustesse de la commande H∞
Robustesse de la commande H∞ (2)
Théorème du petit gainSi ∆(s) est incertain telle que ‖∆(s)‖∞ ≤ 1, alors lesystème interconnecté est stable si et seulement si‖Q11(s)‖∞ < 1La réciproque (seulement si) n’est valable qu’en absenced’information supplémentaire.Synthèse H∞ : maximiser la taille des incertitudes que l’onpeut reboucler avec le canal de performance sans remettreen cause la stabilité du système (i.e. pessimiste enprésence d’information supplémentaire, par exemple lastructure de ∆)Vision historique de la commande H∞ → commanderobuste multivariable
Commande Robuste
Synthèse H∞
Robustesse de la commande H∞
Robustesse de la commande H∞ (2)
Théorème du petit gainSi ∆(s) est incertain telle que ‖∆(s)‖∞ ≤ 1, alors lesystème interconnecté est stable si et seulement si‖Q11(s)‖∞ < 1La réciproque (seulement si) n’est valable qu’en absenced’information supplémentaire.Synthèse H∞ : maximiser la taille des incertitudes que l’onpeut reboucler avec le canal de performance sans remettreen cause la stabilité du système (i.e. pessimiste enprésence d’information supplémentaire, par exemple lastructure de ∆)Vision historique de la commande H∞ → commanderobuste multivariable
Commande Robuste
Synthèse H∞
Robustesse de la commande H∞
Robustesse de la commande H∞ (3)
Analyse de la robustesse
Q(s)
∆
K (s)
--
u
v
y
z
Soit H(s) = lftl(Q(s),K (s)) et ‖∆‖ ≤ 1Petit gain : stabilité si σ(H(jω)) < 1Prise en compte de la structure de ∆ avec la valeursingulière structurée : stabilité si µ∆(H(jω)) < 1
Commande Robuste
Théorie de la commande
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Théorie de la commande
Préliminaires
Convexité
Ensemble convexeUn ensemble D est convexe si ∀(x , y) ∈ D,λx + (1− λ)y ∈ D avec λ ∈ [0,1]
Fonction convexeUne fonction f est convexe si ∀(x , y) ∈ D,f (λx + (1− λ)y) ≤ λf (x) + (1− λ)f (y) avec λ ∈ [0,1]
Condition nécessaire et suffiante : d2fdx2 ≥ 0
Valable pour les fonctions matricielles
Commande Robuste
Théorie de la commande
Préliminaires
Multiconvexité
Fonction multiconvexeUne fonction f est multiconvexe si la fonction réduite àchaque direction cartésiennes de l’espace est convexe, i.e.xk → fk (xk ) = f (x) où x = [x1 . . . xn]T
Condition moins forte que la convexitéExemple : montrez que f (x) = x2
1 + x22 − 4x1x2 est
multiconvexe et qu’elle n’est pas convexe
Ensemble multiconvexeUn ensemble D est convexe si ∀(x , y) ∈ D,λx + (1− λ)y ∈ D avec λ ∈ [0,1]
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (1)
GénéralitésSystème d’état x ∈ D sans entrée d’équilibre x = 0Fonction d’énergie appelée fonction de Lyapunovpossédant un minimum pour x = 0Théorème de Lyapunov : V (x) décroissante sur D ⇒système stableInterprétation : l’énergie du système décroit jusqu’àatteindre un minimum correspondant à l’équilibre
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (2)
Cas d’un système linéaireSystème x = AxFonction de Lyapunov quadratique V (x) = xTQx oùQ = QT > 0 est appelée matrice de LyapunovStabilité si et seulement si ATQ + QA < 0 (à démontrer)Dans ce cas de figure uniquement (système linéaire), laréciproque est vraie.
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (3)
ExempleSystème mécanique de masse m, connecté au sol parl’intermédiaire d’un ressort de raideur k et d’unamortisseur f .z : position de la masse ; z : vitesse. Équilibre : z = 0Équation fondamentale de la dynamique : mz = −kz − f z
État : x =
[zz
]Énergie : énergie cinétique Ec = 1
2mz2 et énergiepotentielle Ep = 1
2kz2.
Fonction d’énergie : V (x) = 12mz2 + 1
2kz2.
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (4)
Exemple (suite)Variation de l’énergie s’écrit :
V (t) =∂V (x)
∂zz +
∂V (x)
∂zz (26)
= kzz + mzz (27)= z(kz + (−kz − f z)) (28)= −f z2 (29)
L’énergie est décroissante dès que la vitesse est non nulle.A terme, la décroissance de l’énergie entraine laconvergence de x vers zéro.Toutefois, la décroissance ne satisfait donc pasexactement la condition d
dt (V (x)) < 0 pour x 6= x0.
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (5)
Système à temps discretSystème x(k + 1) = Ax(k)
fonction de Lyapunov quadratique V (x) = xTQx avecQ = QT > 0.Système stable si et seulement si l’énergie décroit surtoutes les trajectoires, c’est-à-dire s’il existe une matrice Qtelle que :
Q > 0 (30)ATQA−Q < 0 (31)
En effet, la décroissance de l’énergie s’écritV (x(k + 1)) < V (x(k)) ce qui s’écrit encorexT(k)ATQAx(k) < xT(k)Qx(k).
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (5)
Retour d’état stabilisantSystème x = Ax + BuOn cherche une commande de la forme u = KxSystème en boucle fermée : x = (A + BK)x .Stabilité s’il existe une matrice Q = QT > 0 vérifiantl’inégalité matricielle :
(A + BK)T Q + Q(A + BK) < 0 (32)
Inégalité matricielle non linéaire (produit QBK) ; elle nepeut donc être résolue par les outils numériquesclassiques.
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (6)
Retour d’état stabilisant (suite)
Multiplier à droite et à gauche l’inégalité par R = Q−1 :
R(A + BK)T + (A + BK)R < 0 (33)
Changement de variable S = KR :
RAT + ST B + AR + BS < 0 (34)
Résolution de la LMI en R et S, puis détermination deK = SR−1.
Commande Robuste
Théorie de la commande
Stabilité de Lyapunov
Stabilité de Lyapunov (7)
Maximisation du taux de décroissanceFonction quadratique V (x) = xT QxAssurer V (x) < τxT x où le taux de croissance τ est unscalaire (τ < 0 si le système est stable).Résoltion LMI : trouver Q = QT > 0 et τ minimal vérifiant :
AT Q + QA < τ I (35)
Problème de valeurs propres généralisées.
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (1)
DéfinitionSystème d’entrée u, de sortie y , de vecteur d’état x ,d’équilibre x0 = 0Soit S(u, y) une fonction scalaire que nous appelleronsflux d’énergie entrant.Le système dynamique est dit S-dissipatif s’il existe unefonction d’énergie V (x) telle que dV (x)
dt < S(u, y) pour toutx 6= x0
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (2)
ExempleCircuit électrique : résistance R en série avec uneinductance L alimenté par une tension u(t). Le courantx(t) rérifie Rx(t) + Ldx(t)/dt = u(t). On mesure lecourant : y(t) = x(t).Puissance transférée au circuit : S(u, y) = uyÉnergie dans le circuit : V (x) = 1
2Lx2
On a dVdt = dV
dx x = Lxx = x(u − Rx) = S(u, y)− Rx2
On a bien dV/dt ≤ S(u, y)
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (3)
Système linéaireSystème x = Ax + Bu, y = Cx + DuQ11,Q22,Q12-dissipativité :
S(u, y) =
[yu
]T [ Q11 Q12
Q12T Q22
] [yu
](36)
Le système est Q11,Q22,Q12-dissipatif s’il existe unematrice Q = QT > 0 vérifiant le système de LMI :[
ATQ + QA− CTQ11C QB − CTQ11D − CTQ12BTQ− DTQ11C −QT
12C −DTQ11D − DTQ12 −QT12D −Q22
]< 0
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (3)
Système linéaire : Démo (1)On peut remplacer le vecteur [yT,uT]T dans la fonctionS(u, y) par [
yu
]=
[C D0 I
] [xu
](37)
On obtient alors une nouvelle expression S(x ,u) du fluxd’énergie :
S(x ,u) =
[xu
]T [ CT 0DT I
] [Q11 Q12Q12
T Q22
] [C D0 I
] [xu
](38)
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (3)
Système linéaire : Démo (1)
soit encore S(x ,u) =[xu
]T [ CTQ11C CTQ11D + CTQ12DTQ11C + QT
12C DTQ11D + DTQ12 + QT12D + Q22
] [xu
]Par ailleurs, la dérivée de la fonction d’énergie s’écrit :
dV (x)
dt= xTQx + xTQx (39)
= (Ax + Bu)TQx + xTQ(Ax + Bu) (40)
=
[xu
]T [ ATQ + QA QBBTQ 0
] [xu
](41)
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (3)
Système linéaire : Démo (2)La dissipativité s’écrit alors comme une LMI enQ = QT > 0 :[
ATQ + QA− CTQ11C QB − CTQ11D − CTQ12BTQ − DTQ11C −QT
12C −DTQ11D − DTQ12 −QT12D −Q22
]< 0
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (4)
Lemme (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 [ Q11 Q12QT
12 Q22
] [G(jω)
I
]≥ 0 (42)
Démonstration
Considérer un signal harmonique u(t) = Uexp(jωt).
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (5)
Théorème (Équivalence entre norme H∞ et dissipativité)Soit un système linéaire Σ et la fonction de flux d’énergieS(u, y) = γ2uT u − yT y. Les propositions suivantes sontéquivalentes :
(i) Σ est S-dissipatif(ii) ‖Σ‖∞ ≤ γ
DémonstrationLemme de Yakubovitch-Kalman : la proposition (ii) équivalente à−(GT (jω)G(jω) + γ2I ≥ 0, ce qui est équivalent à dire que les valeurspropres 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 valeurssingulières de G(jω). CQFD car la norme H∞ de Σ est la bornesupérieure de la valeur singulière maximale.
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (6)
Lemme (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 ilexiste une matrice Q = QT > 0 vérifiant :[
AT Q + QA + CT C QB + CT DBT Q + DT C DT D − γ2I
]< 0 (43)
ApplicationCalcul de la norme H∞ par résolution d’une LMI
Commande Robuste
Théorie de la commande
Dissipativité
Dissipativité (7)Lemme (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 ilexiste une matrice Q = QT > 0 vérifiant : AT Q + QA QB CT
BT Q −γI DT
C D −γI
< 0 (44)
DémonstrationLemme de Schur (Exercice)
IntérêtFormulation linéaire en fonction des matrices d’état (pour lasuite)
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (1)
Position du problèmePour le système P(s) de représentation d’état :x
zy
=
A B1 B2C1 D11 D12C2 D21 D22
xvu
(45)
on cherche un correcteur dynamique K (s) de représentationd’état : [
xKu
]=
[AK BKCK DK
] [xKy
](46)
tel que‖lftl(P(s),K (s))‖∞ ≤ γ. (47)
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (2)
Résolution par équation de Riccati [Glover & Doyle] (1)Pour P = PT et Q = QT de même dimension d’une matrice A.On note :
X = Ric(
A −P−Q −AT
)(48)
la solution symétrique de l’équation de Riccati :
XA + ATX − XPX + Q = 0 (49)
telle que toutes les valeurs propres de A− PX ont une partieréelle strictement négative.
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (3)
Résolution par équation de Riccati [Glover & Doyle] (2)
Théorème (Synthèse H∞ par équation de Riccati)
Solution :K (s) = lftl(Ka(s),Φ(s)) (50)
Φ(s) : matrice de transfert de dimension nu × ny arbitrairevérifiant ‖Φ(s)‖ < γ ; Ka(s) décrit par :xa
uua
=
Aa ZaYaCT2 ZaB2
−BT2 Xa O Inu
−C2 Iny O
xvu
(51)
où Aa = A + γ−2B1BT1 Xa− B2BT
2 − ZaYaC2CT2 et
Za = (In − γ−2YaXa)−1
En particulier, le correcteur central est obtenu avec Φ(s) = 0.
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (4)
Résolution par équation de Riccati [Glover & Doyle] (3)HypothèsesH1. (A,B2) est stabilisable ; (C2,A) est détectableH2. rang(D12) = nu et rang(D21) = ny où nu est la taille de u et
ny est la taille de ny .
H3. ∀ω ∈ R, rang(
A− jωIn B2C1 D12
)= n + nu où n est la taille de
x .
H4. ∀ω ∈ R, rang(
A− jωIn B1C2 D21
)= n + ny .
H5. D11 = 0, DT12[C1 D12
]=[O Inu
], D22 = 0,[
B1D21
]DT
21 =[O Iny
].
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (5)
Résolution par LMI [Gahinet & Apkarian] (1)Basé sur le lemme borné réelPour le système en boucle fermée lftl(P(s),K (s)) : AT
bfQ + QAbf QBbf CTbf
BTbfQ −γI DT
bfCbf Dbf −γI
< 0 (52)
avec, pour D22 = O :
[Abf Bbf
Cbf Dbf
]=
A + B2DK C2 B2CK B1 + B2DK D21BK C1 AK BK D21
C1 + D12DK C2 D12CK D11 + D12DK D21
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (6)
Résolution par LMI [Gahinet & Apkarian] (2)Inégalité matricielle non-linéaire : produit entre Q et lesmatrices du correcteur à déterminer.Solution : résoudre d’abord un problème LMI où lesmatrices du correcteur ont été supprimées grâce aulemme de projection
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (7)
Théorème (Synthèse LMI de correcteur H∞)
Trouver les matrices symétriques R et S qui vérifient :
[NR 00 Inv
]TAR + RAT RCT
1 B1C2R −γInz D21BT
1 DT21 −γInv
[NR 00 Inv
]< 0 (53)
[NS 00 Inz
]TATS + SA SB1 C1
BT1 S −γInv DT
21CT
2 D21 −γInz
[NS 00 Inz
]< 0 (54)
[R InIn S
]≥ 0 (55)
NR et NS : bases des noyaux de[BT
2 DT12]
et[C2 D21
].
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (8)
Résolution par LMI [Gahinet & Apkarian] (4)La détermination du correcteur :
1 Détermine les matrices R et S à partir des LMI duthéorème 3.
2 Soit r le rang de la matrice In − RS. Une décomposition envaleurs singulière permet de déterminer les matrices M etN ∈ Rn×r telles que :
MNT = In − RS (56)
3 On détermine ensuite la matrice de Lyapunov :
Q =
[S N
NT −M†RN
](57)
où M† est la pseudo-inverse de M.
Commande Robuste
Théorie de la commande
Dissipativité
Synthèse H∞ (9)
Résolution par LMI [Gahinet & Apkarian] (5)Détermination du correcteur (suite) :
4 Résoudre le lemme borné réel (52) avec Q connu ; ce quiest une LMI en AK , BK , CK et DK .
Commande Robuste
Analyse de la robustesse des systèmes LPV
Plan
1 Modélisation des systèmes dynamiques
2 Outils d’analyse
3 Synthèse H∞
4 Théorie de la commande
5 Analyse de la robustesse des systèmes LPV
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (1)
Présentation
r
actionneur transmission souple
charge
régulateur
y
u
Actionneur connecté à une charge inertielle parl’intermédiaire d’un accouplement souplecommande u : couple produit par l’actionneur (N.m) ;mesure y : vitesse de la charge (rad/s) ; position del’actionneur et de la charge : q1 et q2 [rad/s]
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (2)
Modélisationinerties : J1 et J2 [kg.m2] ; coefficients de frottement fluide :f1 et f2 [N.m.s/rad] ; raideur de l’accouplement : K[N.m/rad] ; coefficient de frottement fluide del’accouplement : f [N.m.s/rad]Modèle :
J1dΩ1
dt= u − CK − f1Ω1 (58)
J2dΩ2
dt= CK − f2Ω2 (59)
où le couple transmis par la raideur estCK = K (q1 − q2) + f (Ω1 − Ω2)
Exercice : déterminer une représentation d’état d’ordreminimale du système
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (3)
Schéma-bloc
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (4)
Réponse fréquentielle
FIGURE: Lieu de Bode du système mécanique
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (5)
Asservissement de vitesse
Commande u = K (s)(q∗2 − q2) avec K (s) = 2(s+2)(s+10)(s+0,01)
FIGURE: Réponse à un échelon du système nominal asservi
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (6)
Modèle LPV affineParamètres incertains : J2 et K
Soit M =
[A BC D
]On a M = M0 + KM1 + 1
J2M2 avec
M0 =
− f +f1
J10 0 1
− 1J1
0 0 0f
J10 0 0
0 0 0 0
, M1 =
0 0 −1 00 0 1 00 0 0 00 0 0 0
et
M2 =
0 f 0 00 −(f + f2) 0 00 −1 0 00 1 0 0
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (7)
Schéma-bloc du modèle LFR
Commande Robuste
Analyse de la robustesse des systèmes LPV
Exemple de système mécanique
Exemple de système mécanique (8)
Modèle LFR (2)G(s, θ) = lftu(H(s),∆(θ)) où ∆ = diagK ,1/J2 où H(s)
est défini par les matrices :
A B1 B2C1 D11 D12C2 D21 D22
=
−(f + f1)/J1 0 0 −1 f 1f/J1 0 0 1 −(f + f2) 01/J1 0 0 0 −1 0
0 0 1 0 0 00 1 0 0 0 00 0 0 0 1 0
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (0)
PréliminaireSoit un polytope D = [x1; x1]× ...× [xp; xp] et l’ensembledes sommets Ds = x1; x1 × ...× xp; xpSoit f (x) une fonction définie sur D à valeur dans R oudans Rn×n avec f T(x) = f (x)
Si f (x) est affine, alors f (x) < 0 ∀x ∈ Ds ⇔ f (x) < 0∀x ∈ DSi f (x) est multiconvexe, alors f (x) < 0 ∀x ∈ Ds ⇒f (x) < 0 ∀x ∈ D
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (1)
Modèle LPV affine x = A(θ)x + B(θ)uy = C(θ)x + D(θ)u
(60)
où
M =
[A BC D
](61)
et M(θ) = M0 + θ1M1 + θ2M2...+ θpMp
θ ∈ Θ = [θ1; θ1]× [θ2; θ2]...[θp; θp]
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (2)
Stabilité quadratique avec matrice de Lyapunov constanteSystème autonome x = A(θ)x , A(θ) = A0 +
∑Akθk
V (x) = xTQx avec Q = QT > 0Stabilité si ∃Q telle que V = xT (AT(θ)Q + QA(θ))x < 0∀θ ∈ Θ
Il suffit de vérifier la LMI sur les sommets de Θ :Stabilité si ∃Q telle que AT(θ)Q + QA(θ) < 0 ∀θ ∈ Θs oùΘ = co(Θs) et Θs = θ1; θ1 × θ2; θ2...θp; θp
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (3)
Stabilité quadratique avec matrice de Lyapunovdépendant des paramètres (PDLF) (1)
Afin de réduire le pessimisme, on prend V (x) = xTQ(θ)xavec Q(θ) = Q0 +
∑Qkθk tels que Q(θ) = QT(θ) > 0∀θ
Stabilité si ∃Qk telle queV = xT (AT(θ)Q(θ) + Q(θ)A(θ) + Q(θ))x < 0 ∀θ ∈ Θ
On a Q(θ) =∑
Qk θk
On note Γ = [θ1; θ1]× ...[θp; θp] et Γs l’ensemble dessommets.Les termes AT(θ)Q(θ) et Q(θ)A(θ) sont non-linéaires en θ→ utilisation de la multiconvexité : négatif sur le domaine sinégatif aux sommets et multiconvexe
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (4)
Stabilité quadratique avec PDLF (2)Stabilité si
Q(θ) > 0 ∀θ ∈ Θs
AT(θ)Q(θ) + Q(θ)A(θ) + Q(θ)−Q0 < 0 ∀θ ∈ Θs, θ ∈ Γs
ATk Qk + QkAk ≥ 0 ∀k ≥ 1
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (5)
Dissipativité avec matrice de Lyapunov constante (1)Lemme borné réel : LMI affine en les matrices d’état A, B,C et DIl suffit donc de vérifier la conditions sur Θs
Système LPV dissipatif pour S(u, y) = −yT y + γuT u s’ilexiste une matrices Q = QT > 0 telle que : M(θ) QB(θ) CT(θ)
BT(θ)Q −γI DT(θ)C(θ) D(θ) −γI
< 0 ∀ θ ∈ Θ
où M(θ) = AT(θ)Q + QA(θ).
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (5)
Dissipativité avec PDLF (1)Comme pour la stabilité de Lyapunov :AT(θ)Q(θ) + Q(θ)A(θ)→ AT(θ)Q(θ) + Q(θ)A(θ) + Q(θ)
Le système LPV est dissipatif pour S(u, y) = −yT y + γuT us’il existe des matrices symétriques Q0, Q1... avecQ(θ) = Q0 + θ1Q1 · · · telles que :
Q(θ) > 0 ∀θ ∈ Θs M(θ, θ) Q(θ)B(θ) CT(θ)BT(θ)Q(θ) −γI DT(θ)
C(θ) D(θ) −γI
< 0 ∀ (θ, θ) ∈ Θ× Γ
où M(θ, θ) = AT(θ)Q(θ) + Q(θ)A(θ) + Q(θ).
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (6)
Dissipativité avec PDLF (2)
M(θ, θ) polynomial d’ordre 2→ multiconvexitéLe système LPV est dissipatif pour S(u, y) = −yT y + γuT us’il existe des matrices symétriques Q0, Q1... telles que :
Q(θ) > 0 ∀θ ∈ Θs M(θ, θ) Q(θ)B(θ) CT(θ)BT(θ)Q(θ) −γI DT(θ)
C(θ) D(θ) −γI
< 0 ∀ (θ, θ) ∈ Θs × Γs
[AT
k Qk + QkAk QkBkBT
k Qk 0
]≥ 0 ∀ k ≥ 1
où M(θ, θ) = AT(θ)Q(θ) + Q(θ)A(θ) + Q(θ)−Q0.
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (7)
Code Matlab (1)Format différent des autres systèmes dans la RobustControl Toolboxpv = pvec(’box’,range)) : définit les bornes devariation des paramètresysaff = psys(pv,[S0,S1,S2]) : définit un systèmeLPV affinesysbfaff = slft(M,sysaff) : lft pour un systèmeLPV affine
Commande Robuste
Analyse de la robustesse des systèmes LPV
Analyse des systèmes LPV affines
Analyse des systèmes LPV affines (8)
Code Matlab (2)[tau,Q] = quadstab(sysbfaff) : stabilitéquadratique[tau,Q0,Q1,Q2] = pdlstab(sysbfaff) : stabilitéPDLF[perf,Q] = quadperf(sysbfaff) : performance H∞avec matrice de Lyapunov constanteVoir programme RobFlex2.m
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (1)
Définition (1)
M(s)
∆
-
v z
∆ = diagδ1Ir1 , ..., δsIrs , ε1Ic1 , ..., εt Ict ,∆1, ...,∆f où δk ∈ R,εk ∈ C et ∆k ∈ Cmi×mi et ‖∆‖ ≤ 1
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (2)
Définition (2)µ = taille (norme H∞) de la plus petite incertitudedéstabilisant le systèmePour Mω = M(jω), µ(ω) = inf∆∈E∆
σ(∆)\det(I−∆Mω) = 0 ;µ(ω) = 0 si det(I −∆Mω) = 0 ∀∆ ∈ E∆
µ = maxω µ(ω)
Robustesse si µ < 1Pour ∆ = ∆1 ∈ Cm1×m1 , µ(ω) = σ(Mω) et µ = ‖M(s)‖∞
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (3)
Borne inférieure (1)Sous-ensemble EQ ⊂ E∆ où δi ∈ −1; 1, |εi | = 1 et∆∗i ∆i = I où M∗ est la transposée conjuguéePour Mω = M(jω), µ(ω) = inf∆∈E∆
σ(∆)\det(I−∆Mω) = 0 ;µ(ω) = 0 si det(I −∆Mω) = 0 ∀∆ ∈ E∆
µ = maxω µ(ω)
Robustesse si µ < 1Pour ∆ = ∆1 ∈ Cm1×m1 , µ(ω) = σ(Mω) et µ = ‖M(s)‖∞Young et Doyle (1990) ont montré quemaxQ∈EQ
ρR(QMω) ≤ µ(ω) où ρR(M) est la plus grandevaleur absolue des valeurs propres réelles de M etρR(M) = 0 si M n’a pas de valeur propre réelle.
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (4)
Borne inférieure (2)+ Cette borne inférieure peut être atteinte+ La matrice ∆ correspondant au pire cas est connue− Difficultés de convergence pour les incertitudes réelles
pures
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (5)
Borne supérieure (1)Principe : µ(Mω) ≤ σ(Mω)
Amélioration de la majoration en utilisant des matrices Dinversibles qui commutent avec ∆
M(s)∆ = M(s)D−1D∆ = M(s)D−1∆Dµ(Mω) ≤ σ(DMωD−1)
+ Cette borne supérieure peut être atteinte− Présence de pics étroits dans µ(ω) surtout pour les
problèmes purement réels et en cas de modes flexibles− La matrice ∆ correspondant au pire cas n’est pas connue
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (5)
Analyse de la robustesseM(s) fait partie du système en boucle fermée où lestransferts exogènes sont supprimés
Analyse de la performance (1)On veut garantir ‖lftu(M(s),∆)‖∞ ≤ 1 ∀∆ ∈ Eθ
M(s)
∆s
---
v2
v1
z2
z1
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (6)
Analyse de la performance (2)Equivalent à µ(M(s)) ≤ 1 avec comme incertitude[
∆s 00 ∆p
]où ∆p ∈ Cm×m
M(s)
[∆s 00 ∆p
]
-
v z
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (7)
Modélisation sous Matlab (1)K = ureal(’K’,10,’Percentage’,50)
J2 = ureal(’J2’,0.01,’Percentage’,50)
AG = [-(f+f1) f -K; f -(f+f2) K; 1 -1 0]
BG = [1; 0; 0]
EG = diag([J1 J2 1])
CG = [0 1 0]
DG = 0
G = dss(AG,BG,CG,DG,EG) : système descripteurEdx/dt = Ax + Bu
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (8)
Modélisation sous Matlab (2)systemnames = ’ G Ktf ’
inputvar = ’[ r1]’;
outputvar = ’[ r-G ]’;
input_to_Ktf = ’[ r-G ]’;
input_to_G = ’[ Ktf ]’;
sysoutname = ’sysbf’;
cleanupsysic = ’yes’;
sysic : bouclage avec le correcteur
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (9)
Analyse du système (1)pole(sysbf.NominalValue)
norm(sysbf.NominalValue,inf)
step(usample(sysbf,10),1.5)
[stabmarg,destabunc,report,info] = ...robuststab(sysbf) : marge de stabilité robuste
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (10)
Analyse du système (2)[M,Delta,BlkStruct] = lftdata(sysbf);
M11 = M(1:szDelta(2),1:szDelta(1))
M11_g = frd(M11,omega) : réponse fréquentiellemubnds = mussv(M11_g,BlkStruct,’s’) :µ-analysefigure; semilogx(info.MussvBnds) : tracé des
bornes
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (11)
Analyse des performances (1)PerfBlock = ucomplexm(’PerfBlock’,...zeros(1,1));
sysbfpmu = lft(PerfBlock,sysbfp,1,1)
[M,NDelta,BlkStruct] = lftdata(sysbfpmu);
M11 = M(1:3,1:3); : on ne garde que les transfertsvers DeltaM_g = frd(M11,omega);
[mubnds] = mussv(M_g,BlkStruct,’sc’);
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (12)
Robustesse en stabilité
Commande Robuste
Analyse de la robustesse des systèmes LPV
µ-analyse
µ-analyse (13)
Robustesse en performance