VOLUME5R Asservissements Par Logique Floue
-
Upload
aymen-chaaira -
Category
Documents
-
view
241 -
download
3
Transcript of VOLUME5R Asservissements Par Logique Floue
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
1/16
Centre de comptencesen
automatisation industrielleet productique
asservisSystmes
Volume 5 R
Asservissements par logique floue
(Rsum)
J.-M. Allenbach
Ecole dIngnieurs de Genve
Laboratoire dAutomati ue
N 129R
Edition 2001
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
2/16
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
3/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 121
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.
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.
OCM Suucm
FLC
Gv
w
xs
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
4/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 122
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 depvariables retenues, sa dimension sera dep (ns+3). Elle contient souvent beaucoup de zros.
N Matrice de normalisation: matrice diagonale qui permet de ramener la plage devariation 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 commandenormalis et sa fonction d'appartenance en fonction des valeurs instantanes des signaux
d'entre.
Dfuz Opration de dfuzzification pour crer le signal de commande.
xs Vecteur des grandeurs d'tat du systme rgler
yM Vecteur des grandeurs d'entre choisies
yN Vecteur des variables d'entre normalises
Facteurs d'appartenance des variables linguistiques d'entre
yVL Fonctions d'appartenance des variables linguistiques d'entre
uVL Fonctions d'appartenance de la variable linguistique de sortie
urs Fonctions de sortie rsultante de la dfuzzification
rs Facteurs d'appartenance de la variable linguistique de sortie
ucm Signal de commande
M N Ffuz
Tinf
Rinfucm
Dfuz
rs
ursuVLVL
NM
w
v
xs
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
5/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 123
12.1.2 Variables linguistiques et fonctions d'appartenance.
Chaque grandeur physiquey 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 variablelinguistique dont lafonction d'appartenance peut prendre toutes les valeurs entre 1 et +1.
Fig. 12.3 Grandeur normalise dcrite en analogique.
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.
Fig. 12.4 Grandeur normalise dcrite en logique classique.
Dans la description en logique floue, les fonctions d'appartenance des variables
linguistiques peuvent prendre toutes les valeurs comprises entre 0 et 1.
Fig. 12.5 Grandeur normalise dcrite en logique floue 3 variables linguistiques.
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.
1
1
+1
+1
yN
Mesure
1+1
1
yN
PositifN atif
+1
1
yN
PositifN atif EZ
1
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
6/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 124
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 lavariable 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 linguistiquesyVL, avec un poids . C'est l'opration de fuzzyfication.
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 = , y =y =
N VL
VL
N avecEZ avec
=
=
0 3 0 70 3
,,
(12.1)
y = , y =N VL P avec+ =0 6 1 (12.2)
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.
+1
1
yN
PN EZ
1 0,3 +0,6
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
7/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 125
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 laforme 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
chariot e = w y = x1 et sa vitesse y x= 2 . Ces entres sont aussi dcrites chacune par une
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 NG et EZ alors PG( )x x uVL1 2= = = (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 x1 = e
NG NM EZ PM PGPG NM NG
x y2 = PM PM EZ NM NGEZ PG PM EZ NM NGNM PG PM EZ NMNG PG PM
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 servicenormal. 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.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
8/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 126
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'exempletudi, les conditions prsentes des entres sont les suivantes:
x x1 0 44 0 67= = , ,et 2 (12.4)
Deux des rgles sont concernes par ces valeurs d'entre.
NGalors)NGouEZ(si
EZalors)EZetPG(si
21
21
===
===
VL
VL
uxx
uxxou (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
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
9/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 127
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 valeurxcm 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.
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.
x
u u u
u u
cm
rs rs rs rs
rs rs rs
=
+
+
( ) d
( ) d
1
1
1
1(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.
x
x S
S
k
n
k
ncm
k k
k
==
=
1
1
(12.7)
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 gravitxi de chaque variable linguistique Sise calcule sans peine pour les formes frquentes; au besoin par exemple pour des fonctions
xcm
rs
urs
1 +1
+1
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
10/16
Rglage par logique floue
J.-M. Allenbach 20.11.01 128
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
x S
S
i
m
i
mcm
ci i i
ci i
==
=
1
1
(12.8)
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 k xcm e 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 lamarche 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 chantil-
lonns, 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.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
11/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B1 2001.11.12
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 duFuzzy Control Toolbox. Celui-ci met disposition de l'utilisateur deux outilsfondamentaux:
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
commandeMATLAB:
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 Addinput. 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
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
12/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B2 2001.11.12
spcifier les mthodes d'infrences. On accde alors une fentre spcifique par un double-
clic 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 inputkattribu
par dfaut.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
13/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B3 2001.11.12
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.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
14/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B4 2001.11.12
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 etAggregation: 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 lergulateur 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 travailMATLAB: Workspace.
12.B.3 Essai en simulation
On cre un schma Simulinkdans 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 dansl'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.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
15/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B5 2001.11.12
Fig. 12.B6 Schma de rgulation par logique floue.
Fig. 12.B7 Dtail de rgulateur par logique floue.
On peut alors excuter une simulation.
-
7/27/2019 VOLUME5R Asservissements Par Logique Floue
16/16
Asservissements par logique floue L'outilMATLAB
Jean-Marc Allenbach EIG 12B6 2001.11.12
0 0.5 1 1.5 2 2.5 3 3.5 4-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
consignegrandeur reelle
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.
0 0.5 1 1.5 2 2.5 3 3.5 4-0.5
0
0.5
1
Essai. fixed step, discrete, 3 [ms]
Fig. 12.B9 Exemple de rglage sur installation relle pendant 4 [s].