Vous êtes sur la page 1sur 30

Commande Robuste des Systèmes Linéaires - Techniques LMI

Séminaire pour l’option Systèmes-Transport Aérien

Dimitri PEAUCELLE
peaucelle@laas.fr

LAAS-CNRS - Université de Toulouse, FRANCE


Introduction : Commande Robuste

Robustesse : garantie de performance malgré incertitudes de modèle


Incertitude : connaissance de bornes sur les paramètres
Performance : comportement dynamique ou rejet de perturbations

Commande Multi-Objectif Robuste :


! Faire appel aux riches outils développés pour les systèmes linéaires
! Sans négliger les éléments non-linéaires

Techniques LMI :
! Propriétés garanties / résultats pessimistes
! Outils numériques efficaces

1 ENAC, Décembre 2007


Plan de la présentation

" Modélisation incertaine et critères de performance


Exemple de ”l’hélicoptère” du LAAS puis formulation générale

# Outils LMI pour l’analyse et la synthèse robuste


Quelques résultats théoriques puis application à ”l’hélicoptère”

2 ENAC, Décembre 2007


Modélisation : exemple

θ̈(t) = −a1θ θ̇(t) −a0θ sin θ(t) +b0θ ud (t) +wθ (t)
"¨(t) = −a1" "(t)
˙ −a0" sin ("(t) − "0 ) +b0" us (t) cos θ(t) +w" (t)
λ̈(t) = −a1λ λ̇(t) +b0λ us (t) sin θ(t) +wλ (t)
où ud (t) = vf (t) − vr (t) et us (t) = vf (t) + vr (t) sont
la différence et la somme des tensions appliquées à chaque hélice,
w$ (t) : termes non-linéaires de couplage dynamique + perturbations.
3 ENAC, Décembre 2007
Modélisation : exemple

θ̈(t) = −a1θ θ̇(t) −a0θ sin θ(t) +b0θ ud (t) +wθ (t)
"¨(t) = −a1" "(t)
˙ −a0" sin ("(t) − "0 ) +b0" us (t) cos θ(t) +w" (t)
λ̈(t) = −a1λ λ̇(t) +b0λ us (t) sin θ(t) +wλ (t)

! Modèle non-linéaire approché :


couplages vus comme des perturbations, effets aérodynamiques négligés, etc.
! Paramètres a0$ , a1$ , b0$ , "0 sont non mesurables :
identification donne une approximation modélisable par des intervalles

a0$ ∈ [a0$ , a0$ ] , a1$ ∈ [a1$ , a1$ ] , b0$ ∈ [b0$ , b0$ ] , "0 ∈ ["0 , "0 ]

4 ENAC, Décembre 2007


Modélisation : exemple

Objectifs de commande

! Stabilité asymptotique, convergence rapide vers référence ("ref , λref )


! Faibles dépassements de " et λ
! Rejet des perturbations
! Limitation de l’amplitude de commande (max |v$ (t)| ≤ v̄ )
Stabilité ? Définition de l’équilibre

θeq = cst, "eq = "ref = cst, λeq = λref = cst pour w$ = 0

a0θ sin θeq = b0θ ud.eq


ud.eq = 0
a0" sin ("ref − "0 ) = b0" us.eq cos θeq ⇒ a0!
us.eq = b0!
sin ("ref − "0 )
0 = b0λ us.eq sin θeq

! Ne permet pas de construire une stratégie de commande

5 ENAC, Décembre 2007


Modélisation : exemple

θ̈(t) = −a1θ θ̇(t) −a0θ sin θ(t) +b0θ ud (t) +wθ (t)
"¨(t) = −a1" "(t)
˙ −a0" sin ("(t) − "0 ) +b0" us (t) cos θ(t) +w" (t)
λ̈(t) = −a1λ λ̇(t) +b0λ us (t) sin θ(t) +wλ (t)

! Analyse de l’équilibre : pour "ref donné, au voisinage de l’équilibre on a

θ̈(t) = −a1θ θ̇(t) −a0θ (t)θ(t) +b0θ ud (t) +ŵθ (t)


"¨(t) = −a1" "(t)
˙ −a0" (t)"(t) +b0" (t)us (t) +ŵ" (t)
λ̈(t) = −a1λ λ̇(t) +b0λ (t)θ(t) +ŵλ (t)

où a0θ (t), a0" (t), b0," (t) et b0λ (t) sont bornés (ainsi que leurs dérivées)
si θ et us sont bornées proches de l’équilibre (|θ| ≤ 30o , 2o ≤ " ≤ 10o )
Rem : b0λ (t) ne doit pas inclure 0 sinon le système n’est pas commandable

6 ENAC, Décembre 2007


Modélisation : exemple

Choix d’une structure de commande

! L’ensemble de l’état est mesurable (6 composantes) ⇒ retour d’état

! Convergence vers la référence, erreur statique nulle


⇒ intégrateurs dans la chaı̂ne d’action en amont des perturbations

! Les états des intégrateurs sont accessibles


⇒ 2 états supplémentaires :
! !
"I (t) = "(t) − "ref dt , λI (t) = λ(t) − λref dt

Ẋ(t) = A(∆(t))X(t) + Bu (∆(t))u(t) + Bw w(t) + Bref (∆(t))Xref


u(t) = KX(t)

7 ENAC, Décembre 2007


Modélisation : exemple

 
 0 1 0 0 0 0 0 0 
 
 −a0θ (t) −a1θ 0 0 0 0 0 0 
 
 
 


0 0 0 1 0 0 0 0 

 
 0 0 0 0 1 0 0 0 
 
A(∆(t)) = 



 0 0 0 −a0" (t) −a1" 0 0 0 
 
 
 0 0 0 0 0 0 1 0 
 
 
 0 0 0 0 0 0 0 1 
 
 
b0λ (t) 0 0 0 0 0 0 −a1"

a0θ (t) ∈ [0.64 0.69], a1θ ∈ [0.045 0.065], a0" (t) ∈ [2.55 2.6],
a1" ∈ [0.025 0.045], b0λ (t) ∈ [−0.12 − 0.11], a1" ∈ [0.11 0.12]
( )
XT = θ θ̇ "I " − "ref "˙ λI λ − λref λ̇
8 ENAC, Décembre 2007
Modélisation : exemple

Bu (∆(t)) = Bw = Bref (∆(t)) =


     
0 0 0 0 0 0 0
     
 b0θ 0   1 0 0   0 0 
     
     
 0 0   0 0 0   1 0 
     
     
 0 0   0 0 0   0 0 
     
     
 0 b0" (t)   0 1 0   −a0" (t) 0 
     
 0 0   0 0 0   0 1 
     
     
 0 0   0 0 0   0 0 
     
0 0 0 0 1 0 0

b0θ ∈ [0.24 0.26], b0" (t) ∈ [0.15 0.16]


 
  wθ  
ud   !ref
u=   w =  w" 

 Xref = 
us λref

9 ENAC, Décembre 2007


Modélisation : exemple

Vitesse de convergence

Ẋ = A(∆)X a une convergence plus rapide que e−αt si

λ(A(∆)) ≤ α

Faibles oscillations

Les modes de Ẋ = A(∆)X ont un amortissement supérieur à ζ si

Reλ(A(∆)) ζ
≥√
Imλ(A(∆)) 1 − ζ2

10 ENAC, Décembre 2007


Modélisation : exemple

Minimiser l’effet des perturbations w : critère de ratio énergétique

! Perturbations w mal connues : pas d’information


( fréquentielle ou temporelle
)
! Effet mesuré sur les écarts de position z1T = θ " − "ref λ − λref
! ∞ ! ∞
min γ : 'z1 (t)'22 dt ≤ γ 2 'w(t)'22 dt
0 0

Contrôle des dépassements de la commande

! Un changement brusque de référence → signal impulsionnel sur Xref


! Limitation de l’amplitude de commande sur chacun des moteurs :
ud (t) + us (t) ud (t) − us (t)
|z2 (t) = | ≤ v̄ & |z3 (t) = | ≤ v̄
2 2
 
o
 8 0 
v̄ = 5Volts , Xref =  δ(t)
o
0 45
11 ENAC, Décembre 2007
Modélisation : Formulation générale

Étapes de modélisation : vers une représentation linéaire incertaine

! Modèles issus de la physique


˙
x̂(t) = f (x̂, t, ∆p ) + gu (x̂, t, ∆p , û) + gw (x̂, t, ∆p , ŵ)

contiennent certaines approximations :


effets mal connus, mal maı̂trisés (w ) et paramètres mal identifiés (∆p ∈ ∆p )
! Pour un choix d’un point d’équilibre xeq

ẋ(t) = Ã(x, t, ∆p )x(t) + B̃u (x, t, ∆p )u(t) + B̃w (x, t, ∆p )w̃(t)

12 ENAC, Décembre 2007


Modélisation : Formulation générale

Étapes de modélisation : vers une représentation linéaire incertaine

˙
x̂(t) = f (x̂, t, ∆p ) + gu (x̂, t, ∆p , û) + gw (x̂, t, ∆p , ŵ)

! Pour un choix de domaine admissible autour de xeq

ẋ(t) = A(∆(t))x(t) + Bu (∆(t))u(t) + Bw (∆(t))w̃(t)

! Pour un choix de performance

ẋ(t) = A(∆(t))x(t) + Bu (∆(t))u(t) + Bw (∆(t))w(t)


z(t) = C(∆(t))x(t) + Du (∆(t))u(t) + Dw (∆(t))w(t)

! Si l’état du système n’est pas mesurable on a de même

y(t) = Cy (∆(t))x(t) + Dyu (∆(t))u(t) + Dyw (∆(t))w(t)

13 ENAC, Décembre 2007


Modélisation : Formulation générale

Un modèle par performance

! Pour chaque spécification d’un cahier des charges :


une performance Πi et un modèle associé Σi (∆i ∈ ∆i )

! Pour les hypothèses de modélisation linéaire incertaine : idem.


Problème de synthèse : multi-objectif robuste

Trouver une loi de commande u = K(y) telle que :


! chaque boucle fermée Σi (∆i ) ( K vérifie la performance Πi ,
! pour toute les incertitudes admissibles ∆i ∈ ∆i .

14 ENAC, Décembre 2007


Modélisation : Formulation générale

Types de lois de commande

! Retour de sortie dynamique ẋc = AK xc + BK y, u = CK xc + DK y


! Retour de sortie statique u = Ky
! Retour d’état, u = Kx

Ces contrôleurs sont valides au voisinage d’une situation d’équilibre


! Commandes adaptatives (LPV) pour suivre évolutions entre voisinages
! Possible que pour systèmes dont les linéarisés sont commandables et ...

15 ENAC, Décembre 2007


Plan de la présentation

" Modélisation incertaine et critères de performance


Exemple de ”l’hélicoptère” du LAAS puis formulation générale

# Outils LMI pour l’analyse et la synthèse robuste


Quelques résultats théoriques puis application à ”l’hélicoptère”

16 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Analyse de stabilité robuste de la boucle fermée

ẋ = A(∆)x + Bu (∆)u , u = Kx ⇒ ẋ = A(∆, K)x

Pour K donnée comment démontrer la stabilité pour tout ∆ ∈∆?


! Calcul des pôles du système ? Non.
! Faire appel à la théorie de Lyapunov.
Pour chaque valeur de ∆ trouver P (∆) telle que V (x, ∆) = xT P (∆)x vérifie

V (x, ∆) > 0 , V̇ (x, ∆) < 0 ∀x *= 0

Equiv à : pour Q(∆) symétrique définie positive donnée, trouver P (∆) telle que

AT (∆, K)P (∆) + P (∆)A(∆, K) = −Q(∆)

Stabilité démontrée si P (∆) est définie positive.

17 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Quelle complexité du problème ?

Soit le cas des incertitudes polytopiques:


N
0 N
0
A(∆) = ζk Ak : ζk ≥ 0 , ζk = 1
k=1 j=1

AT (∆)P (∆) + P (∆)A(∆) = −Q(∆)

! Pour ∆ et Q(∆) données, P (∆) est unique


Solution de n(n + 1)/2 équations à n(n + 1)/2 inconnues

! Impossible à résoudre pour l’infinité de valeurs ∆ ∈ ∆.


1N
! Même si on se restreint à chercher P (∆) = P avec Q(∆) = k=1 ζk Qk
(résoudre AT
k P + P Ak = −Qk pour tous les sommets k = 1 . . . N )

18 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Quelques propriétés des matrices définies positives


$ M + 0 (M ∈ Rn×n symétrique)
ssi toutes les valeurs propres de M sont à parties réelles positives
ssi pour tout x *= 0 on a xT M x > 0.
$ M + N ssi M − N + 0
$ Si M + N et N + P alors M + P (relation d’ordre partiel)
$ M + "1 ssi toutes les valeurs propres de M sont à parties réelles > "
$ Si M + 0 alors N T M N + 0 (équivalent si N est non-singulière)
$ Complément de Schur
  

−1 T

 M N  M − N P N +0
 +0 ⇔

NT P  P +0

$ {M + 0} est un cône convexe

19 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Inégalités matricielles linéaires (LMI)

$ Condition LMI = condition sur des variables pj


exprimée par une inégalité matricielle affine vis-à-vis des pj
m
0
F0 + pj Fj + 0 , Fj ∈ Rn×n , pj ∈ R
j=1
1m
$ Problème LMI = minimisation d’un critère linéaire min j=1 cj pj
sous des contraintes LMI.

$ Exemple de problème LMI

min Trace(BwT P Bw ) : AT P + P A + CzT Cz ≺ 0 , P + 0

20 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Problème LMI, ou ”Semi-Definite Programming” (SDP)


Existent nombreux ”solveurs” avec
! Convergence vers optimum global (car optimisation convexe)
! Convergence en temps polynômial O(n6 ) aussi près de l’optimum que souhaité
! Si infaisable : preuve d’infaisabilité
! Conçu au départ pour les problèmes de l’Automatique robuste
! Les plus connus : LMIlab, SeDuMi, SDPA, SDPT3...
! Interface simple d’utilisation dans Matlab : YALMIP
>> P = sdpvar{n,n,’symmetric’);
>> quiz = lmi(A’*P+P*A+Cz’*Cz < 0) + lmi(P>0);
>> solvesdp( quiz , trace(Bw’*P*Bw) );

21 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Stabilité robuste grâce aux LMI

Pour chaque valeur de ∆ trouver P (∆) telle que V (x, ∆) = xT P (∆)x vérifie

V (x, ∆) > 0 , V̇ (x, ∆) < 0 ∀x *= 0

Equiv à : trouver P (∆) + 0 telle que

AT (∆)P (∆) + P (∆)A(∆) ≺ 0

! Pour ∆ donnée : Trouver P (∆) est un problème LMI.


! Si on restreint P (∆) = P pour le cas des incertitudes polytopiques
Trouver P est un problème de SDP:

∀k = 1 . . . N , ATk P + P Ak ≺ 0 , P + 0

22 ENAC, Décembre 2007


Synthèse robuste : Stabilité

1N
! Si on restreint P (∆) = k=1 Pk , existent aussi des conditions LMI
   
6 7
 0 P k   1  T
∀k = 1 . . . N ,  +  G +G 1 Ak ≺ 0 , P + 0
Pk 0 ATk

Enjeux de recherche

! Conditions existantes garantissent stabilité mais sont pessimistes


(si les LMI ne sont pas faisable on ne peut rien dire)
! Élaborer conditions numériquement testables pour la synthèse de contrôleurs
dans le cas général.

23 ENAC, Décembre 2007


Synthèse robuste : Stabilité

Synthèse de correcteurs : cas du retour d’état

ẋ = A(∆)x + Bu (∆)u , u = Kx ⇒ ẋ = A(∆, K)x


1N
A(∆, K) = k=1 ζk (Ak + Bk K)
Conditions ne sont pas LMI

∀k = 1 . . . N , ATk P + BkT K T P + P Ak + P KBk ≺ 0 , P + 0

mais presque : K = SX −1 où S et X = P −1 sont solution de

∀k = 1 . . . N , XATk + S T BkT + Ak X + Bk S ≺ 0 , X + 0

! Solution pas unique :


choisir parmi toutes les solutions celle qui remplit plusieurs spécifications
⇒ problème multi-objectif robuste
! Le pb est-il LMI-formalisable ? Quelles spécifications ?
24 ENAC, Décembre 2007
Performances robustes

Localisation des pôles

Montrer que les pôles de ẋ = Ax sont dans une région définie par

r1 + r2 p + r̄2 p̄ + r3 p̄p ≤ 0

est LMI-formalisable:

r1 P + r2 P A + r̄2 AT P + r3 AT P A ≺ 0 , P + 0

Trouver K tel que les pôles de la boucle fermée pi = λ(A(∆)+B(∆)K) sont


dans la région pour toutes les incertitudes, admet une condition LMI suffisante.

25 ENAC, Décembre 2007


Performances robustes

Performance H∞

Montrer que les entrées/sorties de ẋ = Ax + Bw w , z = Cz x + Dzw w


sont telles que
! ∞ ! ∞
'z(t)'22 dt ≤ γ 2 'w(t)'22 dt
0 0
est LMI-formalisable:
 
T T T
 A P + P A + Cz zC P B w + Cz Dzw 
 ≺0 , P +0
BwT P + Dzw
T
Cz T
Dzw Dzw − γ 2 1

Idem pour la synthèse de retour d’état K robuste (conditions LMI suffisantes)


Possible de minimiser γ

26 ENAC, Décembre 2007


Performances robustes

Performance ”impulse-to-peak”

Montrer que les entrées/sorties de ẋ = Ax + Bw w , z = Cz x + Dzw w


sont telles que si w(t) = δ(t) est une impulsion alors

∀t ≥ 0 : 'z(t)' ≤ max 'z(t)'2 ≤ γ


t≥0

est LMI-formalisable:

AT P + P A ≺ 0 , BwT P Bw ≺ γ 2 1 , CzT Cz ≺ P , Dzw


T
Dzw ≺ γ 2 1

Idem pour la synthèse de retour d’état K robuste (conditions LMI suffisantes)


Possible de minimiser γ

27 ENAC, Décembre 2007


Performances robustes : Exemple

Application au problème de commande de ”l’hélicoptère”

Le problème Multi-Objectif, codé sous Matlab-YALMIP


résolu avec SeDuMi (30 secondes de calcul), donne
 
 ud (t) 
  = KX(t)
us (t)
 
 −18.83 −15.46 0 0 0
1.50 24.39 86.66 
K=  
0 0 −1.12 2.17 −15.23 0 0 0
( )
XT = θ θ̇ "I " − "ref "˙ λI λ − λref λ̇

28 ENAC, Décembre 2007


Performances robustes

Exemples de réponses à des consignes indicielles

Elevation "(t) Voyage λ(t)

29 ENAC, Décembre 2007

Vous aimerez peut-être aussi