Sie sind auf Seite 1von 16

Centre de comptences en

automatisation industrielle et productique

Systmes asservis
Volume 5 R Asservissements par logique floue (Rsum) J.-M. Allenbach

Ecole dIngnieurs de Genve Laboratoire dAutomatique

N 129R Edition 2001

Rglage par logique floue

CHAPITRE 12 : RGLAGE PAR LOGIQUE FLOUE


12.1 PRINCIPE 12.1.1 Introduction Si la logique floue est depuis le milieu des annes '80 la mode dans des applications industrielles et "grand-public" , les bases thoriques remontent dj aux travaux du professeur L. A. Zadeh Berkley en 1965. Si on se penche sur certains rglages non linaires appliqus antrieurement la publication des thories, on s'aperoit que la logique floue se pratiquait dj de manire intuitive et pragmatique. v

w ucm u

FLC

OCM

S
xs

Fig. 12.1 Structure de rglage par logique floue.

Le schma ci-dessus montre une parent du rglage par logique floue avec le rglage par variables d'tat. Si un rgulateur d'tat cre le signal de commande ucm par une combinaison linaire des variables d'tat, de la consigne et de l'intgrale de l'cart de rglage (chap. 10), le rgulateur flou le cre par combinaison non linaires de variables linguistiques. En gnral, cette combinaison repose sur une description en langage courant, qui est ensuite formalise sous forme de tableau double entre (ou plus) ou d'une srie de rgles. Si on continue la comparaison avec le rglage d'tat, le rglage flou porte en gnral sur un nombre plus limit de variables, souvent seulement deux dont une est l'cart de rglage. On peut se pencher sur la structure interne d'un rgulateur flou. La premire opration consiste slectionner parmi les variables d'entre celles qui sont les plus reprsentatives du comportement du systme, et si possible qu'on peut mesurer sans cot prohibitif.

J.-M. Allenbach 20.11.01

121

Rglage par logique floue

v y M yM yN N Ffuz Rinf

rs
ucm

Dfuz

xs

yVL Tinf

uVL

urs

Fig. 12.2 Structure interne d'un rgulateur flou

M Matrice de slection des mesures: pour un systme rgler d'ordre ns et un choix de p variables retenues, sa dimension sera de p (ns+3). Elle contient souvent beaucoup de zros. N Matrice de normalisation: matrice diagonale qui permet de ramener la plage de variation de chaque variable entre -1 et 1, les units de sorties sont des [p.u.]. Ffuz Opration de fuzzification: cration des variables linguistiques et de leurs fonction d'appartenance. Tinf Matrice d'infrence des variables linguistiques ou ensemble de rgles d'infrences .

Rinf Mthode d'application de rgles d'infrences pour dcrire le signal de commande normalis et sa fonction d'appartenance en fonction des valeurs instantanes des signaux d'entre. Dfuz xs yM yN Opration de dfuzzification pour crer le signal de commande. Vecteur des grandeurs d'tat du systme rgler Vecteur des grandeurs d'entre choisies Vecteur des variables d'entre normalises Facteurs d'appartenance des variables linguistiques d'entre Fonctions d'appartenance des variables linguistiques d'entre Fonctions d'appartenance de la variable linguistique de sortie Fonctions de sortie rsultante de la dfuzzification Facteurs d'appartenance de la variable linguistique de sortie Signal de commande

yVL uVL urs

rs
ucm

J.-M. Allenbach 20.11.01

122

Rglage par logique floue

12.1.2 Variables linguistiques et fonctions d'appartenance. Chaque grandeur physique y utilise doit tre normalise entre 1 et +1. Pour ce faire, on la divise par MAX(ymax, ymin). La plage de fonctionnement sera divise en 3 7 zones affecte chacune d'une variable linguistique. Dans la description analogique d'une grandeur physique, on n'a qu'une variable linguistique dont la fonction d'appartenance peut prendre toutes les valeurs entre 1 et +1.

+1

Mesure

yN
1 1 Fig. 12.3 Grandeur normalise dcrite en analogique. +1

Dans la description en logique classique, on a deux variables linguistiques dont les fonctions d'appartenance peuvent prendre les valeurs 0 ou 1, Par exemple "ngatif" et "positif". Ces deux variables linguistiques sont dans ce cas complmentaires, mais la description binaire est trs souvent trop brutale. Dans l'exemple de la temprature, les variables "chaud" et "froid" affectes de fonctions d'appartenance valant 0 ou 1 offrent une description qui manque de nuances. Ngatif
1

Positif

yN
1 Fig. 12.4 Grandeur normalise dcrite en logique classique. +1

Dans la description en logique floue, les fonctions d'appartenance des variables linguistiques peuvent prendre toutes les valeurs comprises entre 0 et 1. Ngatif EZ 1

Positif

yN
1 Fig. 12.5 Grandeur normalise dcrite en logique floue 3 variables linguistiques. +1

On peut choisir plusieurs formes de fonction d'appartenance, mais les plus usuelles sont triangulaires, trapzodales ou gaussiennes.

Fig. 12.6 Formes de fonction d'appartenance.

J.-M. Allenbach 20.11.01

123

Rglage par logique floue

Quelle que soit la forme choisie, il faudra prendre certaines prcautions dans la construction et la disposition des fonctions d'appartenance. On veillera, pour la variable linguistique "Environ Zro", viter un "plat" au sommet, susceptible d'entraner une indtermination du rglage. Ceci s'applique particulirement la variable de sortie et la variable d'entre "cart de rglage" si elle est prsente, ou aux grandeurs rgle et de consigne. Pour d'autres grandeurs, le "plat" sera peut-tre justement souhaitable, pour introduire un domaine o celle-ci n'influence pas le rglage. Pour la mme raison, on veillera viter que les variables contigus "Environ Zro" laissent une zone ou leur fonction d'appartenance prend la valeur zro au voisinage de la valeur nulle de la grandeur normalise. On vitera un recouvrement trop important ou trop faible de deux fonctions d'appartenance contigus (entre 0,3 et 0,7). On vitera de mme, pour les formes simples, de permettre qu'une valeur de grandeur normalise puisse tre dcrite par plus de deux variables linguistique dont la fonction d'appartenance est non nulle. On prfrera les triangles ou trapzes aux gaussiennes ou autres fonctions compliques, dvoreuses d'espace mmoire et ncessitant des temps de calculs plus long lorsque le rgulateur est en fonction. Selon la valeur instantane de la grandeur physique normalise yN, on lui attribue une ou deux variables linguistiques yVL, avec un poids . C'est l'opration de fuzzyfication.

EZ 1

yN
1 0,3 +0,6 +1
Fig. 12.7 Exemple de fonctions d'appartenance.

Dans l'exemple de la figure 12.6, les valeurs de la grandeur normalise se dcrivent ainsi:

y N= 0,3

y VL=N avec = 0,7 y VL=EZ avec = 0,3


y VL=P avec = 1

(12.1) (12.2)

y N = + 0,6

Pour chaque cycle de calcul, la valeur instantane du signal doit tre convertie en une variable linguistique sur laquelle porteront les rgles d'infrence et la valeur de sa fonction d'appartenance qui dtermine la dfuzzyfication.

J.-M. Allenbach 20.11.01

124

Rglage par logique floue

12.1.3 Rgles d'infrence

Lorsqu'on a fuzzyfi toutes les grandeurs d'entre, il s'agit de dcrire le fonctionnement global de l'installation, en se fondant sur une approche intuitive, souvent avec l'aide du professionnel habitu conduire manuellement la machiner qui doit tre automatise. On tablit donc les rgles d'infrence qui dcrivent ce fonctionnement, soit sous la forme de tableau (ou matrice) soit sous la forme d'quations logiques. Pour expliquer la mthode, on s'appuie sur un exemple: Le chariot d'un distributeur de boissons en bote est entran par un moteur courant continu auquel on applique une tension ub. Cette tension est dcrite par une fuzzyfication uVL 5 variables linguistiques. On a choisi deux grandeurs d'entre: l'cart de rglage de position du  = x 2 . Ces entres sont aussi dcrites chacune par une chariot e = w y = x1 et sa vitesse y fuzzyfication 5 variables linguistiques. Si par exemple le chariot se trouve une grande distance ngative de la consigne (x1 = NG), peu prs l'arrt (x2 = EZ), on appliquera une tension leve aux bornes du moteur (uVL = PG). Cette description linguistique peut tre traduite par une quation logique.
si ( x1 = NG et x 2 = EZ) alors uVL = PG

(12.3)

On peut ainsi tablir une liste d'quations logiques qui dcrivent les diverses conditions de fonctionnement, la machine se trouvant dans une ou une autre des conditions: ces quations sont lies par un ou logique. Plutt qu'une liste d'quations, on peut aussi prsenter une description sous forme de matrice. uVL
NG
 x2 = y

PG PM EZ NM NG

PM PG

NM NM EZ PM PG

x1 = e EZ NG NM EZ PM PG

PM

PG

NG NM EZ PM

NG NM

Fig. 12.8 Matrice d'infrence deux variables d'entre: exemple du chariot distributeur de canettes.

L'quation (12.3) est transcrite dans la troisime case de la premire colonne. Les cases vides de la matrice n'entranent aucune action, car il n'y a pas de rgle; ce n'est pas gnant, car ces cases correspondent le plus souvent des vnements impossibles, du moins en service normal. Dans la reprsentation par matrice d'infrence, c'est toujours l'oprateur et qui relie les conditions d'entre d'une case: si l'oprateur ou relie deux conditions d'entre, cela se traduit dans la matrice par une colonne et une ligne compltes. Dans certains cas de valeurs d'entre, plusieurs rgles peuvent tre concernes comme le montre l'exemple (12.1), cause du recouvrement des fonctions d'appartenance.

J.-M. Allenbach 20.11.01

125

Rglage par logique floue

12.1.4 Mthodes d'infrence

Lorsqu'on a tabli les rgles d'infrence qui dcrivent le fonctionnement, il faut indiquer au calculateur la procdure l'algorithme mathmatique qu'il doit employer pour calculer une fonction de sortie rs(urs) connaissant la valeur prsente des entres ainsi que les rgles d'infrence prtablies. On recense plusieurs mthodes, dcrites en dtail la section 12.4: minmax maxproduit sommeproduit TVFI gamma

On illustre ici la mthode sommeproduit la plus usite par une exemple d'un systme deux entres et une sortie fuzzyfies trois variables linguistiques. Dans l'exemple tudi, les conditions prsentes des entres sont les suivantes:
x1 = 0,44 et x 2 = 0,67

(12.4)

Deux des rgles sont concernes par ces valeurs d'entre.

si( x1 = PG si( x1 = EZ

et ou

x2 = EZ)

alors uVL = EZ

x2 = NG ) alors uVL = NG

ou

(12.5)

Fig. 12.9 Exemple d'application de la mthode d'infrence sommeproduit deux variables d'entre

On relve que la "somme" est en fait la "moyenne". Si les conditions d'entre sont telles qu'une seule rgle est concerne, la "somme" des rgles, illustre droite de la figure

J.-M. Allenbach 20.11.01

126

Rglage par logique floue

12.9, n'est simplement pas applique, ou si l'on prfre, la moyenne sur une seule variable est la variable elle-mme. 12.1.5 Dfuzzyfication La dernire tape consiste transformer la fonction d'appartenance de sortie rs(urs) en une valeur xcm prsente sur la grandeur de sortie. L encore, plusieurs mthodes existent, dcrites la section 12.5, dont la plus rpandue est celle du centre de gravit. La figure 12.10 prsente une exemple de rsultat de mthode d'infrence.
rs

+1

urs

xcm

+1

Fig. 12.10 Dfuzzyfication par la mthode du centre de gravit.

On calcule le centre de gravit de la figure comprise entre l'axe et la fonction de sortie calcule par la mthode d'infrence.
+1

x cm = 1 +1 rs ( urs ) d urs
1

urs rs ( urs ) d urs


(12.6)

Lorsqu'on peut dcomposer la figure en n figures simples de surface Sk(rs, urs) dont le centre de gravit xk peut tre calcul facilement, pour le centre de gravit global les intgrales deviennent sommes.

k =1 x cm = n

x k Sk
(12.7)
k =1

Sk

Dans le cas d'une dfuzzyfication aprs infrence par la mthode sommeproduit avec m rgles, le calcul est simple. Il se base sur les surfaces Si des fonctions d'appartenance des variables linguistiques dfinies pour le signal de sortie, pondres par les facteurs d'appartenance calculs par les rgles. Le centre de gravit xi de chaque variable linguistique Si se calcule sans peine pour les formes frquentes; au besoin par exemple pour des fonctions

J.-M. Allenbach 20.11.01

127

Rglage par logique floue

gaussiennes le calcul du centre de gravit est fait une fois pour toute par calcul intgral; dans tous les cas il est fait au dbut et stock en mmoire.
x cm = i =1 m

ci x i S i
(12.8)

ci S i
i =1

Aprs la dfuzzyfication, il reste encore appliquer le facteur d'chelle ke pour obtenir le signal de commande ucm. Ce facteur a un rle semblable au gain des rgulateurs classiques, ce n'est pas simplement l'inverse de l'opration de normalisation applique aux signaux d'entre.
u cm = k e x cm

(12.9)

Comme en rglage classique il y a lieu d'tre prudent avec une augmentation deu facteur d'chelle, afin de ne pas rendre le systme instable.

12.1.6 Apprciation globale du rglage flou

Grce aux logiciels proposs par plusieurs fournisseurs, la conception d'un rgulateur par logique floue est assez aise, de mme que son implantation sur un calculateur pour le rglage en temps rel. On obtient rapidement un rsultat assez bon. La difficult est de passer d'un rglage assez bon un rglage trs bon. En effet on ne dispose que peu d'indication sur la marche suivre pour modifier les rgles, la fuzzyfication ou les mthodes d'infrence afin d'amliorer un rsultat connu. Le rglage par logique floue peut paratre attractif pour qui est rebut par les outils mathmatiques ncessaires au rglage classique ou au rglage d'tat, continus ou chantillonns, mais on se rend vite compte que cette technique exige aussi une connaissance approfondie de l'installation rgler, ainsi qu'une robuste exprience professionnelle. Pire, les trs nombreux essais ncessaires l'obtention d'un rsultat satisfaisant ne permettent pas d'chapper des essais en simulation, qui ncessitent le dveloppement d'un modle de simulation, imposant au concepteur des connaissances mathmatiques et techniques aussi pointues que celles auxquelles on esprait chapper. Toutefois, grce ses caractristique non linaires, le rgulateur par logique floue est intressant pour rgler des systmes qui eux aussi on un comportement non linaire.

J.-M. Allenbach 20.11.01

128

Asservissements par logique floue

L'outil MATLAB

12.B

APPLICATION AVEC MATLAB

12.B.1 Principe Le calcul en logique floue ncessite, outre la licence de base MATLAB, l'achat et l'installation du Fuzzy Control Toolbox. Celui-ci met disposition de l'utilisateur deux outils fondamentaux: Un guide de construction du rgulateur par logique floue. Un bloc fonctionnel intgrer dans un schma de rgulation Simulink.

12.B.2 Conception du rgulateur On accde la fentre principale du FIS Editor par un instruction sur la ligne de commande MATLAB: fuzzy

Fig. 12.B1 Fentre principale de l'diteur de logique floue.

On y choisit premirement le nombre d'entres depuis la barre de menu: Edit Add input. On trouve alors sur la fentre principale du FIS Editor autant d'icnes qu'on veutde signaux d'entres et sorties, et une pour les rgles d'infrence. La partie infrieure permet de
Jean-Marc Allenbach EIG 12B1 2001.11.12

Asservissements par logique floue

L'outil MATLAB

spcifier les mthodes d'infrences. On accde alors une fentre spcifique par un doubleclic sur l'icne du signal dont on veut spcifier les fonctions d'appartenance.

Fig. 12.B2 Fentre de l'diteur de fonctions d'appartenance d'un signal.

On doit y accomplir les actions suivantes, de prfrence dans l'ordre indiqu: Choix de la gamme de variation de chaque signal, de prfrence [1; 1], ce qui implique que les signaux soient d'abord normaliss. Choix des fonctions d'appartenance depuis la barre de menu: Edit Add MFs... . On accde alors une fentre qui permet de choisir le nombre de fonctions et leur type. On prfrera les formes simples triangle trimf et trapze trapmf peu coteuses en temps et en espace mmoire. Sur la fentre MF, on choisit le nom et la dimension de chaque fonction d'appartenance: soit en dplaant les points du graphique avec la souris, soit en spcifiant le vecteur dans la fentre params. Pour le nom, un mnmonique tel EZ pour "environ zro" vaut mieux que mf1 mfn attribus par dfaut. On ferme ensuite chaque fentre de signal. De retour dans le du FIS Editor, on choisit le nom du signal de prfrence inputk attribu par dfaut.

Jean-Marc Allenbach EIG

12B2

2001.11.12

Asservissements par logique floue

L'outil MATLAB

Fig. 12.B3 Fentre de l'diteur de fonctions d'appartenance d'un signal: exemple.

Lorsque tous les signaux sont spcifis, on ouvre l'diteur des rgles d'infrence:

Fig. 12.B4 Fentre de l'diteur de rgles d'infrence. Jean-Marc Allenbach EIG 12B3 2001.11.12

Asservissements par logique floue

L'outil MATLAB

On termine en dfinissant les mthodes pour interprter les combinaisons logiques et les rgles d'infrence. On recommande ici des choix qui ne soient pas trop gourmands en temps de calcul, en donnant des rsultats assez bons. Pour le ET logique (And method), on choisit la mthode produit (prod) et pour le OU logique (Or method), on choisit la mthode somme (mean). Pour les rgles d'infrence, on prfre la mthode somme-produit: Implication: prod et Aggregation: mean. Pour la dfuzzyfication, on recommande la mthode du centre de gravit (centroid). On signale que la mthode somme (mean) n'est pas dans le menu, mais qu'il faut passer par la mthode Custom, dans laquelle on crit en toute lettre 'mean' sans oublier l'encadrement d'apostrophes.

Fig. 12.B5 Fentre principale de l'diteur de logique floue: exemple complt.

On ferme toutes les fentres secondaires de l'diteur FIS avant d'enregistrer le rgulateur sur le disque en choisissant un nom dont on se souviendra facilement. Si on veut ensuite utiliser ce rgulateur dans un schma Simulink, il faut encore l'enregistre dans l'espace de travail MATLAB: Workspace.

12.B.3 Essai en simulation On cre un schma Simulink dans lequel on colle un bloc "Fuzzy Logic Controller" qu'on trouve dans la bote "SIMULINK Fuzzy", elle-mme place dans la bote "Blocksets & Toolboxes". On doit y spcifier un nom de rgulateur parmi ceux chargs prcdemment dans l'espace de travail. Ce bloc doit tre prcd de blocs gain chargs de la normalisation des signaux et suivi d'un gain ajustable de l'amplification du rgulateur.
Jean-Marc Allenbach EIG 12B4 2001.11.12

Asservissements par logique floue

L'outil MATLAB

Fig. 12.B6 Schma de rgulation par logique floue.

Fig. 12.B7 Dtail de rgulateur par logique floue.

On peut alors excuter une simulation.

Jean-Marc Allenbach EIG

12B5

2001.11.12

Asservissements par logique floue

L'outil MATLAB

1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 0 consigne grandeur reelle

0.5

1.5

2.5

3.5

Fig. 12.B8 Exemple de rglage sur installation simule pendant 4 [s].

12.B.4 Essai sur machine relle On doit disposer d'un outil qui permet de placer un bloc fonctionnel qui donne accs aux interfaces d'entre et sortie, par exemple le Realtime Interface dvelopp par Vetsch consulting.
Essai. fixed step, discrete, 3 [ms]

0.5

-0.5

0.5

1.5

2.5

3.5

Fig. 12.B9 Exemple de rglage sur installation relle pendant 4 [s]. Jean-Marc Allenbach EIG 12B6 2001.11.12

Das könnte Ihnen auch gefallen