Application de La Logique Floue R Gulation de Vitesse [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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 : 1) – MIDOUNE Nasreddine

-Le Rédacteur Principal : - 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 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