You are on page 1of 4

TP RÉGULATION FLOUE

I. PRÉSENTATION ET OBJECTIF

L’objectif de ce TP est de synthétiser 2 régulateurs à logique floue en utilisant le


Toolbox fuzzy logic de Matlab. Ce TP permet, en outre, de se familiariser avec les
importantes possibilités de simulation des systèmes dynamiques qu’offre ce logiciel.

• Le premier procédé a asservir, non linéaire, a été étudié en TD :


Qe

Un bac de section A contient une hauteur h de fluide. Cette cuve peut


être alimentée par une pompe imposant un débit volumique d’entrée Qe .

Une vanne en fond de cuve engendre un débit de fuite. On caractérise


l’ouverture de cette vanne par un coefficient a f compris entre 0 (vanne
h
fermée) et 1 (vanne ouverte à 100%). Le débit de fuite est tel que :
q fuite = a f ⋅ S ⋅ 2 g ⋅ h . où S représente la section efficace de la vanne.

q fu ite

• Le seconde synthèse, portera sur le procédé double-bac, non linéaire et multi-


variables:

Qe
q fuite1 = a f 1 ⋅ S ⋅ 2 g ⋅ h1
q1→2 = at ⋅ S ⋅ signe(h1 − h2 ) ⋅ 2 g ⋅ ∆h
q fuite 2 = a f 2 ⋅ S ⋅ 2 g ⋅ h2
h1
h2 Données numériques

qtransfert 1ƒ Section des réservoirs : A=0.0154m2.


2 Section des valves : S=0.55cm2= 5.10-5m2.
q fuite 1 q fuite 2 Débit maximal de la pompe: Qe max=100ml/s=1.10-4m3/s.

On souhaite synthétiser des régulateurs qui asservissent les niveaux de fluide, h1 dans
le premier cas et h2 dans le second, à une consigne et cela quelque soient les coefficients
d’ouverture des vannes de fuite (qui constituent des perturbations des systèmes étudiés).

Les seules mesures disponibles sont les niveaux de fluide dans les 2 cuves. La seule
commande possible est le débit de la pompe d’alimentation en fluide de la cuve 1.

On mettra en œuvre des Régulateurs à Logique Floue cadencés à 1 seconde et qui


auront comme sortie la variation de débit entrant de fluide (on devra donc placer un
intégrateur en sortie de RLF).
II. FICHIERS DISPONIBLES

Pour cela vous disposez des modèles Simulink « mdlbac1v1.mdl » et


« mdlbac1v2.mdl » ainsi que du fichier de commande « exploite.m ».

« mdlbac1.mdl » correspond à une modèle directement utilisable sous Simulink en


paramétrant les entrées, les valeurs des constantes et conditions initiales nécessaires.
Cependant, les scopes et sorties de ce modèle sont d’une utilisation fastidieuse…

« mdlbac1v2.mdl » correspond au même modèle mais dont la simulation se lance par


un fichier de commande Matlab « exploite.m » qui permet de donner l’ensemble des données
nécessaires à la simulation comme paramètres (Méthode d’intégration, pas d’intégration,
durée de la simulation, Entrées de consigne et de perturbation). De plus, ce fichier contient du
code d’exploitation graphique des résultats de simulation, code qui permet une interprétation
plus aisée des résultats.

III. PRÉSENTATION DU TOOLBOX FUZZY LOGIC.

La toolbox fuzzy logic de Matlab possède un éditeur qui permet de créer des systèmes
d’inférences floues : des FIS (pour fuzzy inference system). Cette boite à outils permet de
générer des fichiers « .fis », qui correspondent à des systèmes d’inférences floues et dont font
partie les RLF.

Cette boite à outils possède 3 éditeurs (de fis, de règles et de fonctions d’appartenance)
qui permettent de saisir l’ensemble des données du FIS ainsi que 2 interfaces graphiques qui
permettent de visualiser les inférences directement sur la base de règles, ainsi que des surfaces
de contrôle.
Pour lancer cet éditeur principal : >>fuzzy. dans la command windows de Matlab.

A partir de la fenêtre principale de l’éditeur de fis, un navigation assez aisée permet de


passer d’un éditeur à un autre…

Le FIS crée devra être enregistrer « nomdefichier.fis » dans le répertoire de simulation


et chargé dans un bloc fuzzy controleur de Simulink.

IV. TRAVAIL DEMANDÉ.

Régulateur 1

a. Prise en main : Enregistrer dans votre répertoire, ouvrir et comprendre


le fonctionnement des fichiers « mdlbac1v2.mdl » et « exploite.m ».
Lancer des simulations pour différentes entrée de débit, d’ouverture de
vanne.

b. Modifier ce modèle de manière a intégrer une boucle de régulation


floue. Incorporer notamment le bloc fuzzy controleur , le bloc retard
d’un échantillon pour le calcul de la variation d’ erreur, un intégrateur
numérique en sortie du RLF.

c. Lancer l’éditeur de FIS pour créer le RLF que vous chargerez dans le
fuzzy controleur lorsqu’il sera crée. Créer ce RLF…

d. Tester votre régulateur et affiner le….

Régulateur 2

e. Modifier le fichier « mdlbac1v2.mdl » pour générer un modèle


Simulink du système double-bac « mdlbac2.mdl » . Vous devrez,
notamment, programmer graphiquement le débit de transfert entre les 2
bacs et les coupler.

f. Reprendre la démarche précédente.


V. PRINCIPALES COMMANDES DU TOOLBOX FUZZY LOGIC MATLAB.

fuzzy Lance l’éditeur de FIS


mfedit Lance l’éditeur de fonctions d’appartenance.
ruleedit Lance l’éditeur de règles
ruleview Lance l’interface graphique d’inférences
surfview Lance l’interface graphique de visualisation des surfaces de contrôle.

showfis affiche un synoptique du FIS


showrule affiche l’ensemble des règles de la base de règles
gensurf génère une surface de contrôle du FIS

writefis Sauvegarde du FIS sur disque.


readfis charge un FIS à partir d’une sauvegarde
setfis Configure les propriétés du FIS
… …

Toutes ces commandes peuvent être utilisées à partir de la fenêtre de commande de


Matlab.

You might also like