Vous êtes sur la page 1sur 16

Université Kasdi Merbah Ouargla

Faculté Des Sciences Appliquée


Département De Génie Electrique
1er Année Master Académique
Réseaux Électriques

Travaux Pratique

Module : Intelligence Artificielle

Application de la logique floue


(Régulation de Vitesse)

- Etudiant : -Le Rédacteur Principal :


1) – MIDOUNE Nasreddine - Mr Laamiyed

Année Universitaire 2015/2016


TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Parté Théorique
1. Introduction de la logique floue :
La logique floue est une extension de la logique booléenne créée par Lotfi Zadeh en 1965
en se basant sur sa théorie mathématique des ensembles flous, qui est une généralisation de la
théorie des ensembles classiques. En introduisant la notion de degré dans la vérification d'une
condition, permettant ainsi à une condition d'être dans un autre état que vrai ou faux, la
logique floue confère une flexibilité très appréciable aux raisonnements qui l'utilisent, ce qui
rend possible la prise en compte des imprécisions et des incertitudes.
Un des intérêts de la logique floue pour formaliser le raisonnement humain est que les règles
sont énoncées en langage naturel. Voici par exemple quelques règles de conduite qu'un
conducteur suit, en supposant qu'il tienne à son permis :

Si le feu est rouge... si ma vitesse est élevée... et si le feu est proche... alors je freine fort.

Si le feu est rouge... si ma vitesse est faible... et si le feu est loin... alors je maintiens ma vitesse.

Si le feu est orange... si ma vitesse est moyenne... et si le feu est loin... alors je freine doucement.

Si le feu est vert... si ma vitesse est faible... et si le feu est proche... alors j'accélère.

Intuitivement, il semble donc que les variables d'entrée à l'instar de cet exemple sont appréciées par
le cerveau de manière approximative, correspondant ainsi au degré de vérification d'une condition de
la logique floue.
Afin d'exemplifier chacune des définitions, nous allons concevoir au fil de ce cours
d'introduction à la logique floue un système d'inférence flou concret dont l'objectif est de décider du
pourboire à donner à la fin d'un repas au restaurant en fonction de la qualité du service ainsi que de
la qualité de la nourriture.

2. Un Régulateur PI Floue:
Toujours dans le but d'illustrer le dossier sur le Logique Floue, cet article présente un second
et dernier exemple de système flou : le régulateur proportionnel intégrale flou (PI flou).
Le système flou sera assez basique et pourra être grandement améliorer le but étant avant tout de
comprendre comment mettre en place une régulation flou de type PI. En fin d'article,

1
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

j'expliquerais comment étendre l'exemple à un régulateur plus complet de type PID. Par contre,
je n'ai pas fait de simulations, je vous laisse le soin de tester ce régulateur et d'effectuer les
réglages vous-même.
Si vous ne connaissez pas le principe des régulateurs PI ou PID pour asservir un système, je
vous conseille de faire une petite recherche sur le web ou de lire cet article qui explique le
fonctionnement d'un PID

3. Principe d’Un Régulateur PI Floue:


ans l'article Implémenter un PI sans faire de calculs, j'explique comment fonctionne un
régulateur de type PI : en définissant la commande comme combinaison linéaire de l'erreur et de
la somme des erreurs du système, on arrive à obtenir un asservissement avec une erreur statique
finale nulle. La formulation d'un tel régulateur est
commande = Kp * erreur + Ki * somme(erreurs).
Cette formulation fait intervenir le proportionnel et l'intégrateur en parallèle
(commande = erreur + intégrale de l'erreur). Une autre formulation du régulateur PI peut être
trouvé écrivant : variation de la commande = intégrale de ( la dérivé de l'erreur + l'erreur).
Ainsi, la formule commande = Kp * erreur + Ki * somme(erreurs) se transforme
en commande(k) = commande(k-1) + Kp * variation(erreur) + Ki * erreur
C'est cette seconde formulation que l'on utilisera pour concevoir notre système flou. Ainsi, on a

Avec :
 u(k) : la commande à l'instant k

 Δu : la variation de la commande

 e : l'erreur (e(k), l'erreur à l'instant k)

 Δe : la variation de l'erreur (e(k) - e(k-1))

 c : la consigne à respecter

 y : la mesure de la réponse du système à la consigne donnée

2
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

4. Les Variables Linguistiques:

Les données que l'on a en entrées sont l'erreur et la variation de l'erreur. Chacune de ses
entrées sera représentée par trois variables linguistiques.
(erreur_négative, erreur_nulle, erreur_positive,variation_erreur_négative, variation_erreur_nulle et var
iation_erreur_positive).
Les fonctions d'appartenances sont de simples triangles ou fonctions linéaires :

Ici, on devra fixer E et ΔE des fonctions d'appartenances par essais/erreurs en fonction du système.
Enfin, pour la sortie, on choisira trois variables linguistiques représentant la variation de la commande
(variation_commande_négative, variation_commande_nulle, variation_commande_positive).
Les fonctions d’appartenances sont représentées ci-dessous :

De même que pour les functions d'appartenances des variables linguistiques d'entrée, ΔU sera à
déterminer expérimentalement.

3
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

5. Les Régles D’inférences:


Il est temps main tenant de déterminer les divers règles à entrer au système. Comme il y a deux
données d'entrées à trois variables linguistiques chacune, il y aura donc au <maximum 32=9 règles>
d'inférences.
Ces neuf cas sont représentés schématiquement ci-dessous:

Enfin, dernier cas. La réponse est égal à la consigne, mais elle tend à diminuer. Pour contrer
cela, il faut augmenter la commande. La variation de la commande sera positive.
Voilà. On a donc nos neuf règles prêtes à être utilisés !
 SI erreur positive ET variation_errreur nulle ALORS variation_commande positive

 SI erreur négative ET variation_errreur nulle ALORS variation_commande négative

 SI erreur nulle ET variation_errreur nulle ALORS variation_commande nulle

 SI erreur positive ET variation_errreur positive ALORS variation_commande nulle

 SI erreur négative ET variation_errreur positive ALORS variation_commande négative

 SI erreur nulle ET variation_errreur positive ALORS variation_commande négative

 SI erreur positive ET variation_errreur négative ALORS variation_commande positive

 SI erreur négative ET variation_errreur négative ALORS variation_commande nulle

 SI erreur nulle ET variation_errreur négative ALORS variation_commande positive

4
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Parté Pratique
- But de Tp:
L’objectif de ce TP est de synthétiser à logique floue en utilisant le Toolbox fuzzy logique de
Matlab. Ce TP perment, en outre, de se familiariser avec les importantes possibilités de
simulation des systèmes dynamiques qu’offre ce logiciel.
On suppose que le système est linéaire et ayant une fonction de transfert M(s)=1Js+fr).
C’est un système de contrôle la vitesse de rotation d’un moteur électrique. La vitesse désirée est
de 10. On modélise le système avec SIMULINK.
Pour la régulaton d’un systéme pareil, on propose deux solutions:

1ercas : Régulation PI
On introduit le système dans une boucle de régulation avec correction proportionnel intégrale
dérivée PI, et ce avec les paramètres du système simulé:
Gain -k-= 1, gain1 -k-= 50 Lower saturation limite =5

Figeur 01: Schéma bloc d'un system de régulation de Vitesse par un PI

1. On retire les courbes de l'oscilloscope, la courbe jaune représente la réponse du système en


termes de la vitesse,

5
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

La courbe en couleur mauve représente la commande du système, sortie PI

Figeur 02: La Répanse De La Commande du Systéme

*Et Je Vous changeé les paramètres du système simulé:


En appliquant une perturbation sur ce system après un délai de 5 second pour étudier la
réponse en régime permanent et en réagissent ,que le system devient plus rapide et que le PI a
bien corriger la mesure.
gain -k-= 1/100 , gain1 -k-= 50 Lower saturation limit =5

Figure03 : La réponse et la commande appliquant une perturbation a 5s

6
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

2.Présentation du Toolbox fuzzy logic


Nous allons changer notre régulateur classique PI par le régulateur a logique flou avec une seule
entrée, on commence tout d'abord par définir les entrées et les sorties, et par la suite on va essayer de
lier les fonctions d'appartenances d'une façon logique afin de réponde au cahier des charges.

Figure 04 : Création d'entrée et Sortie


Ensuite on définit les plages de variations (les ensembles flous) et les fonctions d'appartenances
pour l'entrée et la sortie les figeurs on appellera chaque partie de la fonction d'appartenance par un
nom significatif. On aura alors : lorsque l'erreur est négative (la vitesse de sortie est supérieure à la
consigne), la fonction d'appartenance est élevé.. Lorsqu'elle est positive la fonction d'appartenance
est nommée fible, et la partie du milieu sera nommée rien.

7
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Figure 05 : fonction d'appartenance de l'erreur Figure 06 : fonction d'appartenance de Commande

Après avoir définit les fonctions d'appartenance, on va implémenter les règles d'inférences, de telle
façon à réaliser un cahier des charges, par exemple si le système devient chaux le régulateur va
automatiquement abaisser la vitesse pour garder la consigne voulus cela va être traduit par la commande
suivante :
*Editeur de bases de règles :
A partir des 9 ensembles flous associés à la variation de la commande, la matrice d’inférence est
donnée comme suit :

Figures 07: Implémentation des règles d'inférence

8
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

*Visualiseur de règles :

3.C'est une réponse qui atteint la consigne. En effet en variant les plages d'inférences on a augmenté
l'efficace du régulateur autour de cette consigne. On pourrait également modifier les règles
d'inférences ou les formes des fonctions d'appartenances utilisées, mais ceci suppose une maîtrise du
système à régule.

9
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

2éme cas : Régulateur à Logique Flou à deux Entrée


On introduit le système dans une boucle de régulation avec correction proportionnel intégrale
dérivée PI , et ce avec les paramètres du système simulé:
gain -k-= 1/100 , gain1 -k-= 1/0.5 Lower saturation limit =10s

Figeur 01: Schéma bloc d'un system de régulation de Vitesse à deux entrée

1. On retire les courbes de l'oscilloscope, la courbe jaune représente la réponse du système en


termes de la vitesse, à deux Entrée
La courbe en couleur mauve représente la commande du système, sortie PI deux Entrée

Figeur 02: La Répanse De La Commande du Systéme

10
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

*Et Je Vous changeé les paramètres du système simulé:


En appliquant une perturbation sur ce system après un délai de 10 second pour étudier la
réponse en régime permanent et en réagissent ,que le system devient plus rapide et que le PI a
bien corriger la mesure.
gain -k-= 1/100 , gain1 -k-= 1/0.005 Lower saturation limit =10s

Figure03 : La réponse et la commande appliquant une perturbation a 10s


2.Présentation du Toolbox fuzzy logic
Dans cette partie on va ajouter une deuxième entrée ,c'est la dérivée de l'erreur (variation de
l'erreur) on lui donne le nom derreur sa fonction d'appartenance comporte trois parties:
· Nigati Grand

. Nigatif Moyenne

· Egal Zéro

. Positif Moyenne

· Positife Grand.

La fonction d'appartenance de la sortie sera divisée en 5 parties :


· Nigati Grand (NG)

. Nigatif Moyenne (NM)

· Egal Zéro ( EZ)

. Positif Moyenne (PM)

· Positife Grand. (PG)

11
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Figure 04 : Création Identification des entrées et des sorties à deux entrées

Figure 05 : fonction d'appartenance de l'erreur Figure 06: fonction d'appartenance de la dérivée de l'erreur

12
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Figure 06 : fonction d'appartenance de Commande

Apres avoir compléter le paramétrage des blocs d'entrées et de sortie, on procède par
l'élaboration des règles logique qui répond au cahier des charges, et on les implémente dans le
bloc inférence
*Editeur de bases de règles :
25 ensembles flous associés à la variation de la commande, la matrice d’inférence est donnée comme
suit :

13
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

Figure 07:Implémentation des règles d'inférence

*Visualiseur de règles :

14
TP de Module : Intelligence Artificielle

Application de la logique floue (Régulation de Vitesse)

-Conclusion :
Les outils fournis par la logique floue permettent une modélisation des phénomènes pouvant en
un certain sens s'approcher du raisonnement humain. Le fait de dépasser le tout ou rien des
ordinateurs introduit une souplesse faisant la puissance des outils flous dans de nombreux
domaines.
Mais même s'ils bénéficièrent d'un effet de mode, les algorithmes flous ne sont pas
nécessairement les meilleurs.
Plus le système est complexe, plus les règles qui le régissent sont nombreuses et compliquées.
Il s'agit là d'un obstacle majeur au contrôle en temps réel.
Elle apporte des solutions à des problèmes compliqués ou difficilement modélisables et elle n'a
pas des méthodes générales de synthèses, alors il est nécessaire de varier à l'entrée et faire des
tests jusqu'à atteindre la consigne.

15

Vous aimerez peut-être aussi