Vous êtes sur la page 1sur 2

TP 1 Création d’un système flou à l’aide de l’interface

graphique
Objectif du TP :
Le but de ce TP est de réaliser un contrôleur flou pour réguler le processus du premier ordre
dont la fonction de transfert
0.8 z −1
H ( z) =
1 − 0.5 z −1
On veut réguler en logique floue le processus H ( z ) , afin que la sortie y ( t ) suive la consigne
r ( t ) . Le régulateur aura 2 entrées : l’erreur de poursuite e ( t ) et sa variation ∆e ( t ) , et une

sortie cde ( t ) : e ( t ) = y ( t ) − r ( t ) , ∆e ( t ) = e ( t ) − e ( t − 1)

0.8
Consigne
du/dt 1 − 0.5

1er étape : Ouvrir l’interface graphique FIS Editor grâce à la commande fuzzy.
2ème étape : Conception d’un système d’inférence/commande à logique floue

1. Déclarer les variables significatives d’entrée et de sortie (respectivement erreur,


d_erreur et cde). Par défaut, l’interface propose une entrée et une sortie avec la méthode de
Mamdani. On ajoute une deuxième entrée par l’option Add input du menu Edit.
En double-cliquant sur l’une des entrées/sortie, on ouvre la fenêtre d’édition des fonctions
d’appartenance dans laquelle on peut choisir le nombre et le type de ces fonctions,
l’intervalle de valeurs de cette variable. La sélection à la souris de chacune des fonctions
d’appartenance permet de lui donner un nom auquel on fera référence dans les règles floues.
2. Définir les valeurs linguistiques de chacune.
Pour les entrées, on a 3 ensembles flous (Negative, Nulle, Positive)
Pour la sortie, on a 5 ensembles flous (GN, N, Z, P, GP)
3. Pour chaque variable d’entrée, définir une fonction d’appartenance pour chacune de ses
valeurs linguistiques.
Pour les entrées, les fonctions d’appartenance sont gaussiennes sur l’intervalle de valeurs [-10 ; 10].
Pour la sortie, les fonctions d’appartenance sont triangulaires sur l’intervalle de valeurs [-10 ; 10].
4. Concevoir une collection de règles floues « si-alors » permettant d’évaluer les
valeurs linguistiques des variables de sortie
On ouvre la fenêtre Rule Editor par l’option Edit … Rules. Tous les ensembles flous des
différentes variables sont affichés; il suffit de cliquer sur l’ensemble adéquat pour chacune des
règles. Dans le controleur flou consçu, ajouter les régles selon le tableau ci-dessous.

commande erreur
Negative Nulle Positive
Negative GP P Z
D_er

Nulle P Z N
Positive Z N GN
Remarqe 1Dans le cas affiché ci-dessus, il s’agit de la règle 8 :
Si erreur est Positive ET d_erreur est Nulle Alors cde est N
Remarque 2 Chaque règle peut être pondérée par un coefficient que l’on écrit à la fin et entre
parenthèses. Par défaut ce coefficient vaut 1.
5. Choisir une méthode de conversion des valeurs linguistiques de sortie obtenues en
valeurs précises. (centroid).
ème
3 étape : Sauvegarder le système sous forme d’un fichier d’extension reg_flou.FIS
Remarque 3Chaque règle peut être pondérée par un coefficient que l’on écrit à la fin et entre
parenthèses. Par défaut ce coefficient vaut 1.
Pour pouvoir utiliser ce régulateur dans SIMULINK ou dans un fichier M, il faut
impérativement le sauvegarder dans l’espace de travail, à l’aide de l’option Export … To
Workspace du menu File.
En utilisant fenêtre Window de Matlab, tester ces commandes.

L’interface graphique de la boîte à outils Fuzzy Logic TOOLBOX


La commande fuzzy permet d’ouvrir l’interface graphique FIS Editor dans laquelle on peut définir
complètement un système flou. Par défaut, l’interface propose une entrée et une sortie avec la méthode de
Mamdani. Les opérateurs ET et OU sont réalisés respectivement par le min et le max, l’implication se fait par le
min, l’agrégation des règles par le max et la défuzzification par la méthode du centre de gravité (centroid).
On décrit ci-après les différents menus et leurs options.
Menu File Menu Edit Menu View
New FIS nouveau Undo annuler la Rules permet de passer à la
système flou de dernière fenêtre Rule Viewer dans
type Mamdani modification laquelle on peut donner à
ou Sugeno toutes les variables
Import lecture d’un Add Variable ajout d’une d’entrée des valeurs
système flou variable d’entrée quelconques à l’aide de la
sauvegardé sur ou de sortie souris ou par des valeurs
disque (fichier numériques en les entrant
FIS) dans le vecteur ligne
Export Export du Remove suppression de la Input. On observe ainsi la
système flou Selected variable d’entrée surface floue de la variable
vers l’espace de Variable ou de sortie de sortie ainsi que sa
travail ou un préalablement valeur numérique après
fichier sélectionnée défuzification
Print Impression Membership édition des Surface permet de passer à la
Functions fonctions fenêtre Surface Viewer
d’appartenance dans laquelle est affichée
(ensembles flous) la surface représentant la
Close Fermeture de la Rules édition des règles variable de sortie en
fenêtre floues. fonction des variales
d’entrée.

Vous aimerez peut-être aussi