Vous êtes sur la page 1sur 6

Courrier du Savoir – N°02, Juin 2002, pp.

23-28

COMMANDE ET STABILITE DES SYSTEMES


LINEAIRES FLOUS DE TAKAGI-SUGENO

F. KHABER*, A. HAMZAOUI**
* Département d’Electrotechnique, Université Ferhat ABBAS de Sétif, 19000, SETIF-ALGERIE
jfkhaber@yahoo.fr
**
I.U.T. de Troyes, Département GMP, 9 rue du Québec, 10026 Troyes Cedex France
hamzaouia@iut-troyes.univ-reims.fr

RESUME
Dans cet article, on présente un algorithme pour la conception d’un contrôleur linéaire stabilisant une classe de
systèmes flous. Les systèmes en question sont du type Takagi-Sugeno, caractérisés par une représentation
linéaire du type x& = A j x + B j u . Cet algorithme exploite les modèles locaux du système, obtenus autour de points
de fonctionnement et établis par l’expertise humaine sous la forme de règles de type IF-THEN. La mise en oeuvre de
l’algorithme exige la stabilité, au sens de Lyapunov, d’au moins un modèle local (Aj, Bj). L’algorithme ainsi
développé est appliqué à un robot manipulateur à un degré de liberté. Les simulations sont réalisées sous
l’environnement MATLAB 5.3.

1. INTRODUCTION où x(t)=[x1, x2, … , xn]T et u(t)=[u1, u2, … , um]T sont


respectivement le vecteur d’état et le vecteur de
Les systèmes industriels étant de plus en plus
commande, Ai et Bi sont deux matrices de
complexes, il est très souvent difficile voir
dimensions appropriées et r le nombre de règles.
impossible d’en avoir un modèle mathématique afin
de mettre en œuvre sa commande. Une solution pour Cette information est fusionnée avec les règles IF-
résoudre ce problème est d’utiliser l’approche floue THEN disponibles où la iémé règle a la forme :
introduite par [13]. En effet la commande est Règle i :
générée par l’exploitation du modèle du système s’il
existe (même avec de grandes incertitudes) et des IF x1 (t ) is F1i and IF x2 (t ) is F2i and ... and IF xn (t ) is Fni
descriptions linguistiques, fournies par des experts. THEN x& ( t ) = Ai x ( t ) + B i u ( t )
Néanmoins cette approche est heuristique. Plusieurs
auteurs [14], [4]… se sont intéressés à l’étude de la où Fji, j = 1,2,...,n est le jème ensemble flou de la ième
stabilité des systèmes commandés par logique floue. règle.
Cet article présente une contribution dans l’analyse Soit µji, (j = 1,2,...,n) la fonction d’appartenance
de la stabilité de ce type de systèmes. Nous
associée à l’ensemble flou F ji et
utiliserons la représentation de Takagi-Sugeno [10]
et nous montrerons, en utilisant une méthode n

classique (Lyapunov), qu’on peut mettre en œuvre ω i (t ) = ∏ µ ij ( x j (t )) ; i = 1,2, ... , r


j =1
une commande stabilisante pour un système
incertain. L’algorithme de cette commande est Etant donnée une paire (x(t), u(t)), le modèle flou du
appliqué à un bras de robot à 1 degré de liberté pour système résultant apparaît comme une moyenne
en évaluer les performances. pondérée des modèles locaux et se présente sous la
forme suivante :
r
2. DEFINITION DU MODELE DE TAKAGI- ∑ ω i ( t ) [A i x ( t ) + B i u ( t ) ]
SUGENO x& ( t ) = i =1
r

Pour représenter un système incertain Takagi et ∑i=1


ω i (t )
Sugeno ont proposé un modèle flou dynamique
r
constitué de règles dont la partie conclusion est mise
= ∑ α i (t )[ Ai x(t ) + Bi u (t )]
sous la forme de représentation d’état linéaire [10] i =1
de la forme :
⎛ r ⎞ ⎛ r ⎞
= ⎜ ∑ α i (t ) Ai ⎟ x (t ) + ⎜ ∑ α i (t ) Bi ⎟u (t ) ; i = 1,2, ... r (1)
x& (t ) = Ai x(t ) + Bi u (t ) ; i = 1,2,..., r ⎝ i =1 ⎠ ⎝ i =1 ⎠

Université Mohamed Khider – Biskra, Algérie, 2002


F. Khaber & al.

ω i (t ) Ce modèle peut être considéré comme une


où α i (t ) = r représentation dynamique d’un système linéaire
∑ ω i (t ) incertain, où α j (t ) est le vecteur des paramètres
i =1
incertains, et F représente les incertitudes du
r système. Le système incertain (5) a une structure
avec α i (t ) ≥ 0 et ∑ α i (t ) = 1 (2) d’incertitude linéaire, car ∆A(.) et ∆B (.) sont des
i =1
fonctions matricielles linéaires.
L’approche floue est une méthode efficace dans la
⎧∆A(α (t )) = r α (t )(A − A )
modélisation des systèmes. Il a été démontré que les
⎪ j ∑ i i j
modèles flous peuvent êtres utilisés avec succès dans ⎪ i =1
i≠ j
la conception de contrôleurs [14]. Cela exige en ⎨
⎪∆B(α j (t )) = ∑ α i (t )(Bi − B j )
r
contre partie l’analyse de la stabilité des modèles
flous. Pour ce faire, on propose de concevoir des ⎪ i =1
⎩ i≠ j
contrôleurs linéaires stabilisant une classe de
modèles flous de systèmes selon la synthèse de Dans certains cas les éléments incertains ∆A(.) et
Lyapunov. Cette approche exige la stabilité d’au ∆B (.) peuvent présenter des propriétés structurelles
moins un modèle local.
pouvant êtres exploitées lors de la conception du
contrôleur. Par exemple ils peuvent satisfaire les
conditions équivalentes.
3. ANALYSE DU MODELE FLOU DU
SYSTEME ⎧⎪∆A(α j (t )) = B j D(α j (t ))

On représente le modèle (1) sous une forme pratique ⎪⎩∆B (α j (t )) = B j E (α j (t ))
en vue de faciliter la conception du contrôleur. A
pour α j (t ) ∈ [0,1]
r −1
partir de l’équation (2) on peut définir les poids (6)
αi(t),j=1,2,...,n comme suit :
En effet les incertitudes sont équivalentes à l’entrée
r
car elles affectent la dynamique du système de la
α j (t ) = 1 - ∑ α i (t ) (3) même façon que la commande u.
i =1
i≠ j
Dans ce cas l’équation (5) peut être réécrite :

x& (t ) = (A j + B j D (α j (t ) )x(t ) + (B j + B j E (α j (t ) )u (t )
Le modèle (1) peut alors s’écrire :

⎛ ⎞
⎜ r

x& (t ) = ⎜ α j (t ) A j +

∑ α i (t ) Ai ⎟ x (t ) +
i =1 ⎟ = A j x(t ) + B j (u (t ) + D(α j (t )) x(t ) + E (α j (t ))u (t ) ) (7)
⎝ i≠ j ⎠
⎛ ⎞ Soit
⎜ r

α
⎜⎜ j (t ) B + ∑ i α (t ) Bi ⎟ u (t ) (4)
h((α j (t ), x, u ) = D(α j (t )) x(t ) + E (α j (t ))u (t ) (8)

j
i =1
⎝ i≠ j ⎠

[
Soit α j (t ) = α1 (t ) ... α j −1 (t ) α j +1 (t ). .. α r (t ) ];
T
(
d’ou x& (t ) = A j x (t ) + B j u (t ) + h((α j (t ), x, u ) ) (9)

α j (t ) ∈ [0,1]
r −1 Si l’élément incertain F ne satisfait pas les
.
conditions équivalentes, on peut l’écrire sous la
⎧∆A(α (t )) = r α (t )(A − A ) forme :
⎪ j ∑ i i j

Soient ⎪
i =1


i≠ j
F (α j (t )) = f (α j (t )) + B j h(α j (t )) (10)
⎪∆B (α j (t )) = ∑ α i (t )(Bi − B j )
r

⎪ i =1 f étant les incertitudes non équivalentes.


⎩ i≠ j

Dans ce cas, le modèle de Takagi-Sugeno, pour les


Avec ces notations, le système (4) s’écrit :
systèmes flous, prend la forme suivante :
x& (t ) = (Aj + ∆A(α j (t )) )x(t ) + (B j + ∆B(α j (t )) )u (t )
x& (t ) = Aj x(t ) + B j u (t ) + f (α j (t )) + B j h(α j (t )) (11)

= A j x(t ) + B j u (t ) + F (α j , x, u ) (5) où x& (t ) = A j x(t ) + B j u (t ) représente le jème modèle

( )
local du système qui est considéré comme le
où F α j , x, u = ∆A(α j (t )) x(t ) + ∆B (α j (t ))u (t ) système nominal associé au modèle flou (7).

24
Commande et stabilité des systèmes linéaires flous de Takagi-Sugeno

4. COMMANDE STABILISANTE Etape 3 :Vérifier les conditions équivalentes (6).


Dans cette partie, on propose la méthode de base de Si elles sont vérifiées, calculer les 2
Lyapunov pour concevoir un contrôleur globalement matrices (vecteurs) D(d) et E (e) et vérifier
stable qui va injecter une commande par retour si βu < 1.
d’état pour stabiliser le système flou de la forme Sinon, exprimer les éléments incertains par:
(11). On suppose que :
F (α j (t )) = f (α j (t )) + B j h(α j (t )) et
( )
⎧ f = f α j ,x ≤ α x
⎪ f
calculer β u ; Vérifier si β u < 1 .

( )
⎪⎩ h = h α , x ≤ β x x + βu u
j
(12)
Si β u > 1 mettre j = j + 1 et revenir à
l’étape 2.
où αf, βx, βu sont des constantes non négatives Etape 4 : Stabiliser Aj si cela est nécessaire.
connues. Calculer u1 = − K1 x pour que la matrice
Notre but est de concevoir un contrôleur linéaire par
retour d’état u qui sera capable d’assurer la stabilité
(A j − B j K1 ) ait des valeurs propres
asymptotique du système en boucle fermée, pour f et désirées (stables).
h arbitraires bornées. Mettre à jour les incertitudes équivalentes
Soit P = PT > 0 la solution de l’équation matricielle impliquant le vecteur d’état ; c’est à dire
de Lyapunov A Tj P + PA j = − 2Q pour un Q = Q T > 0 . remplacer D par D - EK1.
Etape 5 : Résoudre l’équation de Lyapunov :
Et soient λmax(P), la plus grande valeur propre de la
matrice P et λmin (Q), la plus petite valeur propre de ATj P + PA j = −2Q pour Q = Q T > 0 .
la matrice Q.
Choisir Q = I n maximisant le rapport
λ (Q )
On suppose que α f < min et β u < 1 . λmin (Q )
λmin ( P) .
λmin ( P)
Alors la sortie du contrôleur par retour d’état sera
λmin (Q)
donnée par u = −γB Tj Px [8] Vérifier si α f < . Si α f ne
λmin ( P )
β x2 satisfait pas cette condition mettre j = j + 1
avec γ >
4(λmin (Q) − α f λmax ( P ) )(1 − β u ) et revenir à l’étape 2.

Pour le cas particulier où les incertitudes non Etape 6 : Calculer u2 = −γB Tj Px .


équivalentes n’apparaissent pas dans (11) (f=0 et Etape 7 : Calculer la commande par retour d’état
αf=0), le système en boucle fermée sera
asymptotiquement stable si globale u = u1 + u 2 .

β 2
γ> x
= γ~ .
4λmin (Q )(1 − β u ) 6. APPLICATION

Toutes les étapes de cette étude sont résumées dans L’algorithme ainsi développé est utilisé pour
un algorithme permettant la génération d’une stabiliser un robot à un degré de liberté de masse m
commande par retour d’état capable de stabiliser le et de longueur l, actionnée par un moteur à courant
système flou en boucle fermée. continu, comme indiqué sur la figure 1.

REMARQUE
Dans le cas où le modèle local (Aj, Bj) n’est pas
asymptotiquement stable, on le stabilise par une m α
commande par retour d’état u1= -k1x de façon à ce
que la nouvelle matrice (Aj-Bjk1) ait des valeurs
propres dans les positions désirées (assurant la
stabilité).
l
5. ALGORITHME
Etant donné le modèle flou (1) :
Etape 1 : Initialiser un indice j = 1.
Figure 1 : Bras de robot à un degré de liberté.
Etape 2 : Représenter (1) sous la forme (4).

25
F. Khaber & al.

Le choix de cette application est motivé par le fait ce 6.2 Mise en œuvre de l’algorithme
ces dernières années une intention particulière est
Etape1 :
donnée à la commande en poursuite des robots
manipulateurs, qui devront faire face aux problèmes j=1
d’incertitudes dans leurs modèles dynamiques, en De l’équation (1) on a
particulier les incertitudes structurelles [7].
x& = (α1 A1 + α 2 A2 )x + (α1b1 + α 2b2 )u
6.1 Modélisation où α i = µi ; i = 1,2 puisque µ1 + µ 2 = 1

Soit α l’angle de rotation de l’articulation par Etape2 :


rapport à la verticale. Le système ainsi décrit est On représente le modèle obtenu sous la
régit par l’équation différentielle du 3ème ordre forme (4)
suivante :
x& = ( A1 + α 2 ( A2 − A1 ) )x + (b1 + α 2 (b2 − b1 ) )u .
R ⎛ 0.06 N 2 g cos α ⎞ Rg sin α 0.3 N
α
&&& = − α&& − ⎜⎜ 2
+ ⎟⎟α& − + 2 u Etape3 :
L ⎝ ml L l ⎠ lL ml L
Les éléments incertains du modèle vérifient
les conditions équivalentes. Alors on calcule les
où α&&& , α&& et α& sont la dérivée d’ordre 3, la dérivée
deux vecteurs d et e.
d’ordre 2 et la dérivée d’ordre 1, de l’angle α par
⎡ 0 1 0 ⎤ ⎡ 0 ⎤
rapport au temps, respectivement. ⎢ ⎥ ;b = ⎢ 0 ⎥
A1 = ⎢ 0 0 1 ⎥ 1 ⎢ ⎥
Avec g = 9.81 m/s2 ; m = 2 kg ; R=1.5 Ω ⎢⎣ − 588.60 − 24019.62 − 30 ⎥⎦ ⎢⎣1200⎥⎦
L = 0.05 H; l=0.5 m ; N=100 et
Pour la conception du contrôleur, on utilise un ⎡ 0 1 0 ⎤ ⎡ 0 ⎤
A2 = ⎢⎢ ⎥ ;b = ⎢ 0 ⎥
modèle linéaire du type Takagi-Sugeno. On
considère les deux règles pratiques suivantes, 0 0 1 ⎥ 2 ⎢ ⎥
décrivant la dynamique du système autour des deux ⎢⎣ − 374.71 − 24000.00 − 30 ⎥⎦ ⎢⎣1200⎥⎦
points de fonctionnement 0 et π/2. α 2 ( A2 − A1 ) = α 2 b1d ⇒ d = [0.1782 0.0164 0 ]⇒
Règle1: IF x1 (t ) est environ0THEN α 2 (b2 − b1 ) = α 2 b1e ⇒ e = 0
β x = d = 0.179 et β u = e = 0
x& (t) = A1 x(t ) + b1u (t )
Etape4 :
et
La matrice A1 est asymptotiquement stable
Règle2: IF x1 (t ) est environπ/2 THEN
(ses valeurs propres sont λ1=-0.0002 et λ2,3=
x& (t) = A 2 x(t ) + b2u (t ) λ2, 3 = ± 3.872i ).
avec Etape5 :
On résout l’équation de Lyapunov (avec
⎡ ⎤ ⎡ ⎤
⎢ 0 1 0 ⎥ ⎢ 0 ⎥ Q= I 2 )
⎢ ⎥ ⎢ ⎥
A1 = ⎢ 0 0 1 ⎥ ;b = ⎢ 0 ⎥
A1 P + PA1 = −2 I 2 ⇒
T
⎢ ⎥ 1 ⎢ ⎥
⎢ Rg g 0.06 N 2 R ⎥ ⎢ 0.3 N ⎥
⎢ − − − − ⎥ ⎢⎣ ml 2 L ⎥⎦
⎣ lL l ml 2 L L ⎦ ⎡ 40.80 −1 − 0.059⎤
⎡ ⎤ ⎡ ⎤ P = ⎢⎢ − 1 0.059 − 1 ⎥⎥
⎢ 0 1 0 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥ ⎢⎣− 0.059 −1 801.84 ⎥⎦
A2 = ⎢ 0 0 1 ⎥ ; b =⎢ 0 ⎥
⎢ ⎥ 2
⎢ ⎥
⎢ Rg 0.06 N 2 R ⎥ ⎢ 0.3N ⎥ λmin (Q) = 1 et λmax ( P) = 801.84
⎢ − − − ⎥ ⎢⎣ ml 2 L ⎥⎦
⎣ lL ml 2 L L ⎦ λ min ( Q )
⇒ = 0 . 0012
λ max ( P )
On considère les fonctions d’appartenance µ1 ( x1 ) et
et puisque α f = 0 alors α f < 0.0012
µ 2 ( x1 ) suivantes [9] :
Etape6 :
1− 1
µ1 ( x1 ) =
(1 + e ( − 7 ( x1 −π / 4 ) )
) βx2
( −7 ( x1 −π / 4 ) ) Calcul de u2 : γ~ = = 0.008
1+ e 4λmin (Q)(1 − βu )
µ 2 ( x1 ) = 1 − µ1 ( x1 )
soit γ = 0.01 > ~γ ⇒ u 2 = −γb1T Px

26
Commande et stabilité des systèmes linéaires flous de Takagi-Sugeno

Etape7 : importante et de sens inverse pour minimiser


La commande par retour d’état est alors l’erreur.
u = u2 = −γb1T Px = [ 0.0007 0.012 − 9.6222]x
Commandes appliquées au robot
0

6.3 Simulation -2
x1(0) = 0.1 rad
Pour les simulations, on a utilisé SIMULINK 3 sous x2(0) = 0 rad
-4 x3(0) = 0 rad
MATLAB 5.3. Le robot manipulateur est représenté
par son modèle non linéaire réel (module Robot dans -6 x1(0) = 0.87 rad
x2(0) = 0 rad
la représentation par SIMULINK) . x3(0) = 0 rad

Commande
-8

x1(0) = 1.6 rad


-10 x2(0) = 0 rad
x3(0) = 0 rad
Matrix Alpha
-12
Gain
Alpha
K u Alpha_P -14

-16
0 1 2 3 4 5 6 7 8 9 10
Alpha_2P Temps (s)

Figure 4 : Variations de la commande u pour les mêmes


Robot conditions initiales.

7. CONCLUSION
L’algorithme proposé permet la stabilisation d’une
Mux
classe de systèmes non linéaires incertains. Le
contrôleur conçu utilise les systèmes flous du type
Takagi-Sugeno et exploite les modèles locaux de
Mux
systèmes obtenus par linéarisation autour de
Figure 2: Schéma de contrôle du bras manipulateur. quelques points de fonctionnement.
Le principe de cette approche est de concevoir une
L’évolution de l’angle α est représentée, pour commande par retour d’état capable de stabiliser, au
différentes conditions initiales, sur la figure 3 où sens de Lyapunov, le système en boucle fermée. Un
l’on constate la convergence du système vers sa exemple de simulation est présenté pour illustrer
position d’équilibre. l’approche proposée. Les résultats de simulation
obtenus montrent que le contrôleur développé
permet de stabiliser le bras-manipulateur.
Evolution de l'angle alpha
1.6

REFERENCES
1.4
x1(0) = 0.1rad
x2(0) = 0 rad [1] H. Bühler, «Réglage par logique floue», Presses
1.2 x3(0) = 0 rad universitaires polytechniques romandes, Suisse
1994.
1 x1(0) = 0.87 rad
x2(0) = 0 rad [2] R. Hartani, H.T. Nguyen et B. Bouchon-
x3(0) = 0 rad
0.8
Meunier «Sur l’approximation universelle des
systèmes flous», RAIRO-APII-JESA, vol. 30,
x1(0) = 1.6 rad
0.6 x2(0) = 0 rad
n°5, pp. 645-663, 1996.
x3(0) = 0 rad
[3] M. Jamshidi, A. Titli, A. Jadbabaie,
0.4 «Guaranteed cost design of continuous-time
Takagi-Sugeno fuzzy Controllers via linear
0.2
matrix inequalities», LAAS report n° 98512,
May 1998.
0
0 1 2 3 4 5 6 7 8 9 10 [4] C. Melin et B. Vidilov, «Stabilisation de
temps(s)
systèmes par des contrôleurs flous : Partie I»,
Figure 3 : Evolution de l’angle α pour trois conditions RAIRO-APII-JESA, vol. 30, n°5, pp. 679-705,
initiales différentes. 1996.
[5] F. Khaber, A. Hamzaoui & J.L. Sculfort
«Contrôle flou et stabilité d’un portique avec
La représentation des variations de la commande u masse suspendue», Proceedings CNR-
montre que plus la condition initiale est éloignée du IUT’2000.
point d’équilibre et plus la commande doit être

27
F. Khaber & al.

[6] F. Khaber et A. Hamzaoui, «Commande floue Systems Using Fuzzy Models», IEEE trans. on
d’un système non linéaire», CIP’2001, 09-11 Fuzzy Systems, vol. 7, n° 2, April 1999, pp.
juin 2001. 133-142
[7] B.B. Kook and W. Chul Ham, «Adaptive [12] C.S. Tseng, B.S. Chen, H.J. Uang, «Fuzzy
Control of Robot Manipulator Using Fuzzy tracking control for nonlinear dynamic systems
Compensator», IEEE trans. on Fuzzy Systems, via T-S fuzzy model», IEEE trans. on Fuzzy
vol. 8, n° 2, April 2000, pp. 718-737. Systems, vol. 9, n° 3, June 2001, pp. 381-392.
[8] J. E. Slotine & W. Li «Applied Nonlinear [13] L. X. Wang «Fuzzy Systems are universal
Control», Prentice Hall 1991. Approximators», IEEE trans. on Fuzzy Systems,
[9] Stanislaw .H. Zak, «Stabilizing Fuzzy System vol. 5, n° 8, May 1992, pp. 1164-1173
Models Using Linear Controllers», IEEE trans. [14] L. X. Wang, «Stable and Optimal Fuzzy Control
on Fuzzy Systems, vol. 7, n° 2, April 1999, pp. of Linear Systems», IEEE trans. on Fuzzy
236-240 Systems, vol. 6, n°1, February 1998, pp. 137-
[10] K. Tanaka and M. Sugeno «Stability Analysis 143.
and Design of Fuzzy Control Systems», Fuzzy [15] J. Yoneyama, M. Nishikawa, H. Katayama and
Sets Syst., vol. 45, pp. 135-156, 1992 Ichikawa «Output Stabilization of Takagi-
[11] M.C.M. Teixeira and S.H. Zak, «Stabilizing Sugeno fuzzy Systems», Fuzzy sets and
Controller Design for Uncertain Nonlinear Systems 111 (2000), 253-266.

28

Vous aimerez peut-être aussi