0% ont trouvé ce document utile (0 vote)
344 vues9 pages

TP 1 Logique Floue

Le document présente une manipulation sur la modélisation et la commande floues de systèmes linéaires à l'aide de MATLAB/Simulink. Il détaille la conception d'un modèle flou, l'implémentation de règles d'inférence, ainsi que des exemples d'application, notamment pour la commande d'une voiture autonome et le contrôle du niveau d'eau dans un réservoir. Des instructions précises sont fournies pour créer et simuler des contrôleurs flous dans divers systèmes.

Transféré par

farhani med
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
344 vues9 pages

TP 1 Logique Floue

Le document présente une manipulation sur la modélisation et la commande floues de systèmes linéaires à l'aide de MATLAB/Simulink. Il détaille la conception d'un modèle flou, l'implémentation de règles d'inférence, ainsi que des exemples d'application, notamment pour la commande d'une voiture autonome et le contrôle du niveau d'eau dans un réservoir. Des instructions précises sont fournies pour créer et simuler des contrôleurs flous dans divers systèmes.

Transféré par

farhani med
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Modélisation et Commande Floues


de Systèmes Linéaires
Objectif:
Dans cette manipulation on essaie de se familiariser avec les outils de la logique floue
appliquées pour la modélisation et la commande de systèmes linéaires en utilisant l'outil
Matlab/Simulink.

1. Conception d'un modèle flou


On accède à la fenêtre principale du «Edit» par une instruction sur la ligne de commande
MATLAB : » fuzzy

Figure 1. Fenêtre principale de l'éditeur de logique floue.

On y choisit premièrement le nombre d'entrées et de sorties depuis la barre de menu:

Edit--> Add variable.

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 1


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Figure 2. Changement du nombre des variables d'entrée et de sortie

On trouve alors sur la fenêtre principale du «Edit» autant d'icônes qu'on veut de signaux
d'entrées et sorties, et une pour les règles d'inférence. La partie inférieure permet de spécifier
les méthodes d'inférences. On accède alors à une fenêtre spécifique par un double clic sur
l'icône du signal dont on veut spécifier les fonctions d'appartenance.
On doit y accomplir les actions suivantes, de préférence dans l'ordre indiqué:
• Choix de la gamme de variation de chaque signal, de préférence [–1; 1], ce qui
implique que les signaux soient d'abord normalisés.
• Choix des fonctions d'appartenance depuis la barre de menu: Edit → Add MFs. On
accède alors à une fenêtre qui permet de choisir le nombre de fonctions et leur type.
On préférera les formes simples – triangle «trimf» et trapèze «trapmf» – peu coûteuses
en temps et en espace mémoire.
Sur la fenêtre MF, on choisit le nom et la dimension de chaque fonction d'appartenance soit
en déplaçant les points du graphique avec la souris, soit en spécifiant le vecteur. Pour le nom,
un mnémonique – tel EZ pour "environ zéro" – vaut mieux que "mf1" attribués par défaut. On
ferme ensuite chaque fenêtre de signal.

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 2


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Figure 3. Changement du nom et dimension de chaque fonction d'appartenance


Lorsque tous les signaux sont spécifiés, on ouvre l'éditeur des règles d'inférence:

Figure 4. Fenêtre de l'éditeur de règles d'inférence.

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 3


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

On termine en définissant les méthodes pour interpréter les combinaisons logiques et les
règles d'inférence. On recommande ici des choix qui ne soient pas trop gourmands en temps
de calcul, en donnant des résultats assez bons. Pour le "ET logique", on choisit la méthode
produit (prod) et pour le "OU logique", on choisit la méthode somme (mean).
Pour les règles d'inférence, on préfère la méthode somme-produit: Implication: prod et
Agrégation : mean.
Pour la défuzzyfication, on recommande la méthode du centre de gravité (centroid). On
signale que la méthode somme (mean) n'est pas dans le menu, mais qu'il faut passer par la
méthode Custom, dans laquelle on écrit en toute lettre «mean» sans oublier l'encadrement
d'apostrophes.
On ferme toutes les fenêtres secondaires de l'éditeur FIS avant d'enregistrer le régulateur sur
le disque en choisissant un nom dont on se souviendra facilement. Si on veut ensuite utiliser
ce régulateur dans un schéma Simulink, il faut encore l'enregistre dans l'espace de travail
MATLAB: Workspace.
2. Exemple de modélisation floue
L'objectif de cet exercice est la modélisation floue de la commande de voiture autonome. Pour
cela, on suppose qu'il y a deux entrées, c'est-à-dire, la distance jusqu'à la voiture suivante [m]
et le changement de vitesse [m/s2]. Le contrôleur flou ajuste une sortie, c'est-à-dire, le réglage
de l'accélération [m/s2].

Soit la fonction d'appartenance de la variable d'entrée "la distance jusqu'à la voiture suivante
[m] " de type X :

TP P PF G TG
µ( X )
1

0.5
X%
0 5 10 15 20 25
Figure 5. Fenêtre des fonctions d'appartenance de la variable " X "
avec : TP (Très Petit), P (Petit), PF (Parfait), G (Grand) et TG (Très Grand).
Soit la fonction d'appartenance de la variable d'entrée " le changement de vitesse [m/s2] " de
type Y :
µ (Y )
F C E

0.5

Y%
-10 -5 0 5 10

Figure 6. Fenêtre des fonctions d'appartenance de la variable " Y "


avec : F (Faible), C (Constante) et E (Elevée).

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 4


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Soit la fonction d'appartenance de variable de sortie " le réglage de l'accélération [m/s2]" de


type Z suivante :
µ (Z )
TP P Z G TG
1

0.5

Z%
-2 -1 0 1 2
Figure 7. Fenêtre des fonctions d'appartenance de la variable " Z "

avec : TP (Très Petit), P (Petit), Z (Zéro), G (Grand) et TG (Très Grand).


Les règles de base sont:

- Si la distance est Petite ET la vitesse est Faible, ALORS le réglage de l'accélération


est Zéro.
- Si la distance est Petite ET la vitesse est Constante, ALORS le réglage de
l'accélération est Très Petit.
- Si la distance est Parfaite ET la vitesse est Faible, ALORS le réglage de l'accélération
est Très Grand.
- Si la distance est Parfaite ET la vitesse est Constante, ALORS le réglage de
l'accélération est Zéro.

En utilisant l'opérateur flou min-max, la méthode de coupure comme noyau d'inférence,


l'opérateur d'union comme accumulateur et la méthode du centre de gravité de zone comme
défuzzificateur, donner la sortie du contrôleur flou si les mesures confirment que la distance
jusqu'à la voiture suivante est de 13 m et que la vitesse est -2.5 m/s2.

utiliser la commande Matlab : fuzzy


ajouter le nombre des fonctions d'appartenance d'entrée et de sortie
tracer les fonctions d'appartenance d'entrée et de sortie
ajouter les règles d'inférence
calculer la variable de sortie sachant que la distance jusqu'à la voiture suivante est de
13 m et que la vitesse est -2.5 m/s2 .

4. Exemple d'application de la commande floue

4.1. Exemple d'un réservoir d'eau : contrôleur flou

Notre objectif est d'appliquer un contrôleur flou pour commander le niveau d'eau dans un
réservoir comme donné par la figure suivante.

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 5


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Figure 8. Schéma bloc de la commande floue du niveau d'eau dans un réservoir

Le réservoir est décrit par l'équation différentielle suivante:

dh (t ) 0.012 1
+ 2 * 9.81h(t ) = qin
dt 0.4 0.4

Les fonctions d'appartenance de la variable d'entrées "niveau d'eau", notée X , sont données
par la figure suivante :
µ( X )
B A E
1

0.5

X%
1 5 9 14
Figure 9. Fenêtre des fonctions d'appartenance de la variable " X "

avec : B (Bas), A (acceptable) et E (Elevé).

Les fonctions d'appartenance de la variable de sortie "état de la vanne", notée Y , sont données
par la figure suivante :
µ (Y )
F NRT O
1

0.5

0 Y%
-30 -10 0 10 30
Figure 10. Fenêtre des fonctions d'appartenance de la variable " Y "

avec : F (Fermer), NRT (Ne Rien Toucher) et O (Ouvrir).


Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 6
ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Les règles de base:


Règle 1: SI le niveau est accepté, ALORS pas de changement de l'état de la vanne
Règle 2: SI le niveau est bas, ALORS ouvrir rapidement la vanne
Règle 3: SI le niveau est haut, ALORS fermer rapidement la vanne.
1- ouvrir un nouveau fichier flou par la commande "fuzzy"
2- tracer les variables d'entrée-sortie
3- appliquer les règles
4- transférer les données par : file--> exoprt --> workspace ou bien file--> exoprt --> file
5- ouvrir un nouveau fichier simulink par la commande "simulink" et présenter le système et
son contrôleur.
6 - double clic sur fuzzy controller, télécharger le ficher déjà réalisé.
7- simuler et vérifier les résultats.
8- prendre deux entrées (la commande et la dérivée de la commande), simuler et comparer les
résultats.

4.2. Exemple d'un circuit RLC : contrôleur PD flou

Soit le circuit RLC définit par le schéma suivant

Figure 11. Circuit RLC

L'équation différentielle du système est la suivante

d 2Vc (t ) dVc (t )
0.1 + = 1.85Ve (t )
dt 2 dt

1- En utilisant la commande "tf", donner la fonction de transfert en boucle ouverte.

2- En utilisant la commande "sisotool" sous Matlab\Simulink, concevoir un contrôleur


Proportionnel-Dérivé conventionnel pour le système afin de garantir un temps de stabilisation,
en Boucle Fermée, à une entrée échelon unitaire environ 0.5 secondes et la marge de phase en
boucle fermée doit être d'environ 50°. Donner les valeurs de K et de Td .

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 7


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

Figure 12. Fixation de paramètres du PD classique

3- Dans ce cas, pour la conception du contrôleur Proportionnel-Dérivé Flou pour le système


afin de garantir un temps de stabilisation, en Boucle Fermée, à une entrée échelon unitaire
environ 0.5 secondes, on propose les fonctions d'appartenance de la variable d'entrées "l'erreur
e(t ) " données par la figure suivante :

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 8


ISSAT Kairouan - Mastère de Recherche "Automatique et Informatique Industrielle" 2021-2022

µ (e(t ))
N M P
1

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1


Figure 13. Fenêtre des fonctions d'appartenance de la variable " e(t ) "
avec : N (Négatif), M (Moyenne) et P (Positif).

Les fonctions d'appartenance de la variable d'entrées "la dérivée de l'erreur " sont données par
la figure suivante :
de(t )
µ( )
dt
1 N Z P

0.5

-50 -40 -30 -20 -10 30 40 50


0 10 20
Figure 14. Fenêtre des paramètres du système second ordre

avec : N (Négatif), Z (Zero) et P (Positif).

4- soient les règles d'inférences suivantes:

- SI (e est N) ET (de/dt est N) ALORS (U est N)


- SI (e est N) ET (de/dt est Z) ALORS (U est N)
- SI (e est N) ET (de/dt est P) ALORS (U est Z)
- SI (e est Z) ET (de/dt est N) ALORS (U est N)
- SI (e est Z) ET (de/dt est Z) ALORS (U est Z)
- SI (e est Z) ET (de/dt est P) ALORS (U est P)
- SI (e est P) ET (de/dt est N) ALORS (U est Z)
- SI (e est P) ET (de/dt est Z) ALORS (U est P)
- SI (e est P) ET (de/dt est P) ALORS (U est P)

a.- tracer les variables d'entrée-sortie


b.- appliquer les règles
c.- simuler et vérifier les résultats.

4.3. Exemple d'un moteur à courant continu : contrôleur PID flou

Rekha kushwah, Sulochana Wadhwani, Speed control of separately excited DC motor using
fuzzy logic controller, International Journal of Engineering Trends and Technology (IJETT) -
Volume4 Issue6- June 2013.

Enseignant/MC Ayachi ERRACHDI----------------------------Commande Non Conventionnelle 9

Vous aimerez peut-être aussi