Vous êtes sur la page 1sur 16

Compte Rendu TP

Gestion - Optimisation
des système énergétiques.

Auteur : Papa Sény DIOME

p. 1
LOGIQUE FLOUE
Régulation de vitesse
d’une machine
synchrone à aimants
permanent.

p. 2
Table des matières
Introduction............................................................................................................................................. 4
A- Logique Floue et pilotage d’un moteur ........................................................................................... 4
B- Intégration du contrôleur flou sous Simulink ................................................................................ 10
C- Premier test du contrôleur flou..................................................................................................... 12
D- Modification (et amélioration) du contrôleur flou........................................................................ 12
E- Comparaison des performances du contrôleur flou avec celles d’un contrôleur proportionnel
intégral .................................................................................................................................................. 14
Conclusion ............................................................................................................................................. 16

p. 3
Introduction

Le but de ce TP est de réaliser la régulation de vitesse d’une machine synchrone à aimants permanents
au moyen d’un contrôleur flou de type proportionnel-intégral (PI). Pour ce faire, la boîte à outils «
Fuzzy Logic » de Matlab sera utilisée. Le contrôleur flou ainsi développé sera ensuite implanté sous
Simulink pour réaliser la régulation de vitesse proposée.

A- Logique Floue et pilotage d’un moteur


1. Fonctionnement de la logique floue
On entend de plus en plus souvent parler de la logique floue comme d'une méthode offrant des
performances hors du commun, permettant de gérer des systèmes complexes de façon intuitive.
Certaines boutiques ont même utilisé la logique floue comme outil marketing ; ne vous est-il jamais
arrivé de voir sur une machine à laver, une étiquette Fuzzy Technology Inside ??
Néanmoins, comme toute méthode, la logique floue apporte son lot d'avantages, mais aussi
d’inconvénients.
La logique floue permet de raisonner non pas sur des variables numériques, mais sur des variables
linguistiques, c'est-à-dire, sur des variables qualitatives (grand, petit, moyen, loin, près, fort, etc.).
Le fait de raisonner sur ces variables linguistiques va permettre de pouvoir manipuler des
connaissances en langage naturel. Tout ce que l'on a à rentrer au système, ce sont des règles
d'inférences exprimées en langage naturel.

2. Avantages et inconvénients de la logique floue

La logique floue est très utile lorsque l'on se trouve confronté à des systèmes qui ne sont pas, ou
difficilement modélisable.
De même, cette méthode est très avantageuse si l'on possède un bon niveau d'expertise
humaine. En effet, il faut fournir au système flou toute une base de règle exprimé en langage
naturel pour permettre de raisonner et de tirer des conclusions. Plus l'expertise humaine d'un
système est importante et plus on est capable d'ajouter des règles d'inférences au système.
Néanmoins, cette méthode présente divers inconvénients. Tout d'abord, le fait d'exprimer ses
connaissances sous la forme de règles en langage naturel (et donc qualitative) ne permet pas de
prouver que le système aura un comportement optimal. Tous les réglages que le programmeur doit
entrer au système se fait de façon totalement ad-hoc. Cette méthode ne peut donc pas garantir
que le système soit stable, précis ou optimal, ni même qu'elle ne peut garantir que les règles
entrées par le programmeur ne soient pas contradictoires.

p. 4
Le modèle (simpliste – 2 constantes de temps) de la machine associée à sa charge mécanique est fourni
sous Simulink (fichier appelé model.mdl). On note l’existence d’un couple de charge (positif puis
négatif), dont le codage est également déjà fourni sous Simulink. Les performances du contrôleur flou
seront évaluées au moyen d’un critère IAE (Integrative Absolute Error) entre la vitesse de référence et
la vitesse mesurée. Ce critère IAE sera évalué sur un benchmark de type asservissement, régulation
positive, régulation négative.

3. Le critère IAE

L'un des meilleurs outils pour mesurer la réponse est l'erreur absolue intégrée (IAE). Le but d'un
schéma de contrôle est de minimiser le temps et l'amplitude pendant lesquels la variable de procédé
s'écarte du point de consigne lorsqu'un dérangement se produit.

4. Autres critères d’évaluation de performance

ISE intègre le carré de l’erreur au fil du temps. ISE pénalisera les grosses erreurs plus que les plus petites
(puisque le carré d’une grosse erreur sera beaucoup plus grand).

ITAE intègre l’erreur absolue multipliée par le temps au fil du temps. Ce que cela fait est de pondération
des erreurs qui existent après une longue période beaucoup plus fortement que ceux au début de la
réponse.

L’ensemble des paramètres nécessaires pour faire fonctionner la simulation est fourni dans un fichier
MATLAB dénommé : execution.m. Ce fichier vous servira également à lancer la simulation Simulink et
afficher les résultats. Il peut être intéressant de visualiser ce fichier à l’écran et de lire les différents
commentaires s’y trouvant. A noter qu’il est ici demandé de conserver tous les paramètres de ce fichier
constants (à l’exception éventuellement des trois paramètres notés norme_E, norme_DE et norme_S
– lesquels sont repérés dans le fichier).

5. Normalisation des entrées

Il est nécessaire de normaliser les entrées pour réduire le temps de calcul et le taux d’erreur du
contrôleur flou.

p. 5
Le contrôleur flou retenu doit être de type Sugeno. On choisira 2 entrées (l’erreur entre la vitesse de
consigne et la vitesse mesurée, ainsi que la dérivée de cette erreur) et 1 sortie (l’incrément de
consigne de courant). Il est bien entendu nécessaire d’utiliser un intégrateur en sortie du contrôleur
flou pour passer de l’incrément de courant de consigne à la valeur de ce courant…). Les deux entrées
et la sortie du contrôleur flou seront des variables normalisées (comprises entre -1 et 1), vous
utiliserez les paramètres norme_E, norme_DE et norme_S pour normaliser, respectivement, l’entrée
sa dérivée et dénormaliser la sortie.

6. Différence entre les contrôleurs de types « Sugeno » et « Mamdani ».

Sugeno est, comme celui de Mamdani, construit à partir d’une base de règles "Si…Alors…", dans
laquelle si la prémisse est toujours exprimée linguistiquement, le conséquent utilise des variables
numériques plutôt que des variables linguistiques pour le type mamdani. Le conséquent peut
s’exprimer par exemple, sous la forme d’une constante, d’un polynôme ou de manière plus générale
d’une fonction ou d’une équation différentielle dépendant des variables associées à l’antécédent.

7. Définissons la relation mathématique utilisée pour lier l’erreur à la consigne et la mesure.

𝑒(𝑘) = 𝑊𝑐𝑜𝑛𝑠𝑖𝑔𝑛𝑒 − 𝑊𝑚𝑒𝑠𝑢𝑟é


8. Définissons la relation discrète entre l’erreur et sa dérivée.
1
𝑑𝑒(𝑘) = 𝑒(𝑘) − 𝑒(𝑘)
𝑧
9. Décrivons l’impact des paramètres norme_E, norme_DE et norme_S sur le processus de
régulation du contrôleur flou.

L’impact de ces paramètres est exactement la même que celle d’une action globale sur les
fonctions d’appartenances en entrée ou en sortie du système.

p. 6
Pour chacune des entrées et sortie, on utilisera 5 fonctions d’appartenance triangulaires (pour
les entrées) et singletons (pour la sortie). Il y aura donc 25 règles floues à définir. N’oubliez pas
de normaliser les entrées et la sortie entre -1 et +1 (pour avoir un comportement identique dans
les deux sens de rotation du moteur).

- Création et Modélisation du contrôleur flou de type sugeno sous Simulink

Pour ouvrir la fenêtre, nous avons taper Fuzzy :

Puis nous avons paramétrer le nombre de fonctions d’appartenances des entrées et les sigletons
pour la sortie.

p. 7
Et pour finir, nous avons établit les 25 règles floues présentées dans le tableau ci-desous :

NB N Z P PB
de e
NB NB NB NB N Z

N NB NB N Z P

Z NB N Z P PB

P N Z P PB PB

PB Z P PB PB PB

p. 8
On peut alors visualiser la forme de la surface de commande de sortie (Menu ViewSurface). Il faut
également exporter le contrôleur flou ainsi défini dans le workspace de Matlab (commande
FileExportTo workspace en spécifiant un nom pour le contrôleur flou ainsi réalisé). Vous pouvez
également sauvegarder votre travail dans un fichier en utilisant l’option To File lors de la sauvegarde.

p. 9
B- Intégration du contrôleur flou sous Simulink

Le fichier « model.mdl » est composé du model et des blocs qui contiendront les fonctions requises
par le contrôleur flou. Nous avons complété les blocs oranges :

➢ Calcul de la dérivée de l’erreur

➢ Calcul de l’erreur

➢ Normalisation de l’erreur

➢ Normalisation de la dérivée de l’erreur

➢ Controleur flou

p. 10
➢ Dénormalisation de l’incrément de consigne

➢ Incrémentation de la consigne

➢ Calcul de l’IAE

10. D’après vous, quelle est l’impact des paramètres norme_E, norme_DE et norme_S sur le
comportement du système ?

L’impacte des paramètres norme_E, norme_DE et norme_S sur le comportement du système est
de nous permettre s’il sont bien choisit d’avoir une IAE petit c’est-à-dire avoir une bonne
performance du contrôleur flou.

p. 11
C- Premier test du contrôleur flou

Nous avons lancé le fichier execution.m pour tester votre contrôleur ;

11. Visualisation des courbes pour analyser le comportement du système.

On constate qu’on a une belle performance car la courbe de l’IAE tend vers 0,7 ce qui est inférieur à
1. ET pendant ce temps on notera qu’on a une faible erreur au niveau du contrôleur et la valeur
mesurée tend vers la consigne.

12. D’après les courbes obtenues à la première simulation du système, comment améliorer les
performances du système ?

D’après les courbes obtenues à la première simulation du système, on peut améliorer les
performances du système en jouant sur les paramètres norme_E, norme_DE et norme_S et ou la
position des fonctions d’appartenance (en entrée et/ou en sortie).

D- Modification (et amélioration) du contrôleur flou

Modifions la position des fonctions d’appartenance (en entrée et/ou en sortie) ou les valeurs des
trois gains de normalisation notés norme_E, norme_DE et norme_S en vue d’améliorer les
performances (critère IAE) du contrôleur flou.

p. 12
13. Présenter votre méthodologie de réglage du contrôleur flou ainsi que différents résultats
intermédiaires obtenus (en présentant les éléments pertinents issus de l’analyse des
résultats).

Nous avous changes les paramètres :

- norme_E = 4 ;

- norme_DE = 0.1 ;

- norme_S =40 ;

Et nous avons obtenues :

On constate qu’on a une belle performance car la courbe de l’IAE tend vers 0,5 ce qui est inférieur à
0,7. ET pendant ce temps on notera que l’erreur tend vers 0 au niveau du contrôleur et la valeur
mesurée tend vers la consigne même si on note un léger dépassement.

p. 13
E- Comparaison des performances du contrôleur flou avec celles
d’un contrôleur proportionnel intégral

14. Comment avez–vous implémenté le contrôleur PI ?

Nous avons implanter le PI de la manière suivante :

15. Comment avez–vous réglé le contrôleur PI ?

Nous avons effectué plusieurs essais pour régler le correcteur PI ;

- Kp= 2 ;
- Ki= 0.6 ;

p. 14
16. Comparez les performances obtenues avec le contrôleur flou et le contrôleur PI.

Nous avons obtenu les courbes suivantes pour le correcteur PI.

Nous constatons que le correcteur PI crée des oscillations sur le système avec une mauvaise
performance noté sur la courbe de IAE tandis que pour le contrôleur flou nous n’avions pas
d’oscillations sur le système.

17. Que pouvez-vous en conclure sur l’utilisation d’un contrôleur flou pour piloter un moteur?

Les résultats de la simulation nous ont permis de juger les qualités de la commande à base du
régulateur flou. A travers les caractéristiques de la réponse, on observe des bonnes
performances même en présence des perturbations externes. L’avantage de ce type de régulateur
réside dans le fait qu’il ne tient pas compte du modèle de la machine. Les différents résultats
obtenus de simulation montrent la robustesse du régulateur utilisé vis-à-vis des perturbations des
paramètres du système et de la charge. D’autre part la poursuite en vitesse est sans dépassement
et sans erreur statique.

p. 15
Conclusion

Ce TP nous a permis de voir comment créer et modéliser les contrôleurs flous et la comparaison avec
les contrôleurs PID. Finalement, nous constatons que le choix convenable des fonctions
d’appartenance permet d’obtenir des hautes performances. On peut conclure que la caractéristique
essentielle de cette technique est la bonne performance (elle s’approche du raisonnement humain :
variables Linguistiques). Cette dernière garantie une bonne insensibilité à la variation paramétrique du
système commander.

Personnellement, ce TP a été une véritable valeur ajoutée sur la perception que je me faisais de la
logique floue.

p. 16

Vous aimerez peut-être aussi