5éme année iaii

30
5éme année IAII Nous tenons à exprimer notre reconnaissance à notre professeur Monsieur SADKI pour son soutien, ses remarques, ses critiques ainsi que ses suggestions très constructives. Notre gratitude va enfin à tous ceux qui de prés ou de loin ont contribué à la rédaction de ce rapport, puissent trouver dans ces quelques lignes l’expression de notre sincère gratitude. 1

Upload: mustapha6668623

Post on 15-Jun-2015

341 views

Category:

Documents


4 download

TRANSCRIPT

5éme année IAII

Nous tenons à exprimer notre reconnaissance à notre

professeur Monsieur SADKI pour son soutien, ses remarques,

ses critiques ainsi que ses suggestions très constructives.

Notre gratitude va enfin à tous ceux qui de prés ou de

loin ont contribué à la rédaction de ce rapport, puissent

trouver dans ces quelques lignes l’expression de notre sincère

gratitude.

1

5éme année IAII

SOMMAIRE

Introduction 4CHAPITRE I : PRESENTATION DE LA LOGIQUE FLOUE

6

A. Présentation de la logique floue A-1/ Définition

A-2/ Historique

A-3/ Exemple d’application

A-4/ Ensemble floue

A-5/

A-6/

A-7/

A-8/

2

5éme année IAII

Introduction

L'introduction du concept de sous-ensemble flou a été motivée par

l'absence de spécifications strictes dans de nombreux problèmes qui,

malgré leur caractère souvent technique, sont posés en termes

linguistiques. Les contraintes définies par un expert sont souvent

incompatibles avec la rigueur mathématique usuelle et possèdent un

certain degré d'incertitude, c'est-à-dire que des violations légères peuvent

être admises. A ce besoin de représenter des connaissances incertaines

s’ajoute l'imprécision inhérente des mesures qui demanderait un effort

peu rentable pour être réduite. Il faut bien constater que le raisonnement

naturel s'accommode souvent fort bien de l'imprécision et l'incertitude, et

dans la vie courante, même dans des domaines industriels, de bonnes

décisions sont prises malgré ces deux écueils.

Du point de vue purement mathématique la théorie des sous-ensembles

flous a permis de considérer les notions de mesure, de possibilité, de

nécessité, de plausibilité, et de certitude [Bouchon-Meunier, 1993]. A

l'aide de ces notions il est possible de caractériser des propositions

portant sur des réalités dont la perception ou l'énoncé ne sont pas

complets.

Le but de cet article est de situer la théorie des sous-ensembles flous par

rapport aux applications industrielles en Automatique et Robotique.

Le présent rapport sera divisé en 3 chapitres :

Le premier sera consacré à la présentation de la logique floue.

Le Deuxième traitera les différents composants d'un régulateur flou

Le Troisième contiendra les résultats de simulation obtenus

3

5éme année IAII

4

CHAPITRE I :

Présentation de la logique floue

5éme année IAII

A) Présentation de la logique floue

A-1/ Dèfinition:

La logique floue (fuzzy logic, en anglais) est une technique utilisée

en intelligence artificielle. Elle a été formalisée par Lotfi Zadeh en

1965 et utilisée dans des domaines aussi variés que l'automatisme

(freins ABS), la robotique (reconnaissance de formes), la gestion de

la circulation routière (feux rouges), le contrôle aérien,

l'environnement (météorologie, climatologie, sismologie, analyse du

cycle de vie), la médecine (aide au diagnostic), l'assurance

(sélection et prévention des risques) et bien d'autres. En fait, le

simple fait de noter, déjà sous Jules Ferry, un élève dans différentes

disciplines et de lui calculer un rang par application de coefficients à

ses notes constituait déjà une certaine forme de logique floue.

A-2/ Historique :

1965 : Concept introduit par Pr. Lotfi Zadeh (Berkeley) : « Fuzzy set

theory » : Définition des ensembles flous et opérateurs associés

1970 : Premières applications : Systèmes experts, Aide à la décision

en médecine, commerce…

1974 : Première application industrielle. Régulation floue d’une

chaudière à vapeur réalisée par Mamdani

Longtemps universitaire.

1985 : Les premiers, les japonais introduisent des produits grand

public « Fuzzy Logic Inside ».

1990 : Généralisation de l’utilisation de cette technique.

5

5éme année IAII

• appareils électroménagers (lave-linge, aspirateurs,

autocuiseurs,...etc.),

• systèmes audio-visuels (appareils de photos autofocus,

caméscope à stabilisateur d'images, photocopieurs,...)

• systèmes automobiles embarqués (BVA, ABS, suspension,

climatisation,...etc.),

• systèmes autonomes mobiles,

• systèmes de décision, diagnostic, reconnaissance,

• systèmes de contrôle/commande dans la plupart des

domaines industriels de production.

Il existe de processeurs dédiés et des interfaces de développement

spécifiques (Cf doc 68HC12 de Motorola en Annexe)

• Ex : la famille des processeurs WARP (Weight Associative Rule

Processor) de SGS-THOMSON dont les principales

caractéristiques sont les suivantes :

Nombre de règles traitées : 256

Nombre d’entrées : 16

Nombre de sorties : 16

Méthode de composition des règles : Centre de gravité

A-3/ Exemple d`application :

Règles de conduite automobile à l’approche d’un carrefour contrôlé par des feux tricolores.

6

5éme année IAII

Les règles floues sont énoncées en langage naturel

Si le feu est rouge, si ma vitesse dépasse 85,6 Km/h et si le feu est à moins de 62,3 mètres, alors j'appuie sur la pédale de frein avec une force de 33,2 Newtons !!!

Elle apprécie les variables d'entrées de façon approximative (faible, élevée, loin, proche), fait de mêmes pour les variables de sorties (freinage léger ou fort) et édicte un ensemble de règles permettant de déterminer les sorties en fonction des entrées.

A-4/ Ensemble floue :

7

5éme année IAII

A-5/ Variables Linguistiques :

A-6/ Degrè d`appartenance :

8

5éme année IAII

A-7/ Les différents domaines d'applications   :

Si les premières applications de la commande floue ont été développé en Europe par

Mamdani, Van Lauta Lemke, Willayes......dans les années 1975, ce type de

commande a été largement utilisé au Japon à la fin des années 80 et au début des

années 90, sur le métro Sendai (Juillet 1987), dans la conception du lave-linge

Aïsaïgo Day Fuzzy de Matsushita (Février 1990), par exemple.

Tirant profil d'une évolution de la technologie permettant d'aborder des problèmes en

temps réel, à dynamique rapide (plus rapide que dans les premières applications de

type conduite de processus lents: chaudière, fours,......), l'industrie japonaise a

développée des produits grand public à base de logique floue:

appareils électroménagers (lave-linge, aspirateurs, autocuiseurs,...etc) ,

systèmes audio-visuels (appareils de photos autofocus, caméscope à stabilisateur

d'images, photocopieurs,...)

systèmes automobiles embarqués (BVA, ABS, suspension, climatisation,...etc.),

systèmes autonomes mobiles,

9

5éme année IAII

systèmes de transport (train, métro, ascenseur,...),

systèmes de conditionnement d'ambiance,

systèmes de décision, diagnostic, reconnaissance,

systèmes de contrôle/commande dans la plupart des domaines industriels de

production, transformation, traitement de produit et déchet.

A-8/ Avantages et inconvénients de la commande floue:

Avantages   :

1. La théorie est simple et s’applique à des systèmes complexes

2. Pas de modèles mathématiques requis du procédé à asservir

3. Robustesse de la commande floue vis à vis des incertitudes.

4. Possibilités de commande auto-adaptative aux variations du procédé

Inconvénients   :

1. Technique de réglage essentiellement empirique.2. Performances dépendent de l’expertise.3. Il n’existe pas de théorie générale qui caractérise

rigoureusement la stabilité, la robustesse..(Difficultés de certification dans le transport, espace…)

10

5éme année IAII

A-9/ Etude comparative avec la logique binaire :

Définir, surtout formellement, une relation binaire comme sous-ensemble du produit cartésien de deux ensembles conduit à des incohérences. En effet, considérons par exemple deux ensembles A et B tels que A soit une partie stricte de B. Le carré cartésien AxA est alors une partie de BxB : Considérons alors une relation binaire réflexive dans A, par exemple Delta(A), diagonale de AxA, définie comme suit : . Comme AxA est une partie de BxB, Delta(A) l'est aussi; c'est donc une relation binaire dans B. Mais, comme A est une partie stricte de B, il existe un élément b de B qui n'appartient pas à A, et (b, b) n'appartient donc pas à Delta(A) qui n'est donc pas réflexive... Certains pourraient penser se sortir de cette contradiction en décrétant que les propriétés de Delta(A) dépendent de l'ensemble dans lequel la relation est plongée, donc qu'elle est réflexive dans A et non réflexive dans B, mais un tel énoncé est à son tour contradictoire avec l'axiome d'extensionalité de la théorie des ensembles, qui affirme que les propriétés d'un ensemble ne dépendent que de la liste de ses éléments et de rien d'autre (En fait, l'axiome d'extensionalité affirme simplement que si deux ensembles ont les mêmes éléments, alors ils sont identiques, mais cela revient au même).

La seule solution consiste à modifier la définition des relations binaires de telle sorte qu'elle tienne compte de l'ensemble dans lequel la relation est placée. Dans notre exemple, cela implique alors que la relation binaire où Delta(A) est placée dans A n'est pas celle où Delta(A) est placée dans B. Si les deux relations sont différentes, elles peuvent avoir des propriétés différentes sans générer de contradiction. Par ailleurs, si on parle de relation binaire, c'est que l'on suppose implicitement d'autres types de relations, par exemple ternaires... C'est pourquoi je crois qu'il faut réserver le terme de relation binaire au cas des carrés cartésiens, et employer un autre terme, par exemple correspondance, dans le cas général. une relation binaire est une correspondance dont les ensembles de départ et d'arrivée sont les mêmes; en d'autres termes, si E est un ensemble.

Limite de la logique booléenne   :

un patient atteint d'hépatite présente généralement les symptômes suivants :

• Le patient a une forte fièvre,

11

5éme année IAII

• sa peau présente une coloration jaune, • il a des nausées.

Si le patient à 38,9°C de température

Logique classiqueLe patient n’a pas de forte fièvre Þ Le patient n’a pas d’hépatite.

Logique floueLe patient a une forte fièvre à 48% Þ Le patient a une hépatite à x %.

36 37 38 39 40 41 42

0

0.2

0.4

0.6

0.8

1

T(°C)

Avoir une forte fièvreEnsemble classique

36 37 38 39 40 41 42

0

0.2

0.4

0.6

0.8

1

Ensemble flou

T(°C)

Avoir une forte fièvre

12

CHAPITRE II :

Etude de régulateur floue

5éme année IAII

B) Structure d’un contrôleur floue :

13

5éme année IAII

B-1/ Opération de fuzzification :

La grandeur d’entrée du contrôleur doit d’abord être fuzzifiée, c’est-à-dire que l’on va fixer les valeurs linguistiques ainsi que la forme des fonctions d’appartenance. Cette opération doit être faite également sur la variable de sortie. Bien sûr cette sortie fuzzifiée n’est pas exploitable pour attaquer l’interface de puissance. Il faudra donc avoir en tête de faire une opération de « défuzzification » pour résoudre ce problème.

On va prendre un exemple où l’on va fuzzifier l’erreur (notée e), entrée du régulateur, mais aussi la variation de l’erreur (notée ∆e) et la sortie (notée s). Les valeurs de e de ∆e sont mises à jour à chaque période d’échantillonnage. On passe pour cela par un convertisseur analogique numérique.

14

5éme année IAII

Fuzzification des 2 variables d’entrée et de la variable de sortie

15

erreur : e µ : degré d’appartenance

4.5 7.5 9

moyenne - petite moyenne + grande +

1

grande -

0.8

variable : e0.2

-9 -7.5 -4.5 -1.5 1.50

2V

µ : degré d’appartenance

moyenne - petite moyenne + grande +grande -

variation del’erreur : ∆e

1

0.6

variable : ∆ e0.4

-9 9-7.5 -4.5 -1.5 1.5 4.5 7.5

2.2V

sortie : sµ : degré d’appartenance

petite moyenne grande

1

varaible : s

0

1.5V 4.5V 7.5V3V 6V 9V

erreur : e µ : degré d’appartenance

4.5 7.5 9

moyenne - petite moyenne + grande +

1

grande -

0.8

variable : e0.2

-9 -7.5 -4.5 -1.5 1.50

2V

µ : degré d’appartenance

moyenne - petite moyenne + grande +grande -

variation del’erreur : ∆e

1

0.6

variable : ∆ e0.4

-9 9-7.5 -4.5 -1.5 1.5 4.5 7.5

2.2V

sortie : sµ : degré d’appartenance

petite moyenne grande

1

varaible : s

0

1.5V 4.5V 7.5V3V 6V 9V

5éme année IAII

L’entrée e a été partitionnée en 5 valeurs linguistiques ainsi que ∆e. Elles peuvent être positives ou négatives.

La sortie s a été partitionnée en 3 valeurs linguistiques ; elle pourra n’être que positive (cas de la figure) dans le cas où la partie puissance est commandée par une tension (0, 10V) par exemple.

On a gradué les axes donnant la variation des variables en Volt pour faciliter la compréhension, mais en pratique les tests seront faits sur les valeurs échantillonnées des entrées (on passe par un C.A.N.)

B-2/ Base de régles d’interférences : Le rôle de l’expert est ici présent car c’est lui qui va fixer les règles de la

commande qui vont porter uniquement sur les valeurs linguistiques des variables.

Soit par exemple la liste de règles suivantes (qui résultent de la connaissance de l

’expert) :

-R1 : SI (e) est petite ET (Ae) est petite ALORS (s) est petite-R2 : SI (e) est petite ET (Ae) est moyenne + ALORS (s) est petite-R3 : SI (e) est moyenne + ET (Ae) est petite ALORS (s) est petite-R4 : SI (e) est moyenne + ET (Ae) est moyenne + ALORS

(s) est moyenne -R5 : SI (e) est grande + ET (Ae) est moyenne + ALORS (s) est moyenne - ....

Le tableau ci-dessous représente la base de règles en donnant les valeurs de la sortie pour les différentes valeurs linguistiques de e et Ae :

Ae grande - moyenne - petite moyenne + grande +grande - ... ... ...

moyenne - ... ... ...petite ... ... (R1) s : petite (R3) s : petite ...

moyenne + ... ... (R2) s : petite (R4) s:moyenne (R5) s:moyennegrande + ... ... ...

On va donc étudier maintenant le rôle de chaque règle activée et voir concrètement comment on traduit les opérations de conjonction (ET) et d’implication (ALORS).

Pour traduire le ET (c ’est-à -dire la conjonction des prémisses), on peut utiliser la fonction

MIN :

on prendra la valeur minimale des 2 degrés d’appartenance des prémisses. La signification physique de ce choix est de conserver l’information la plus sûre.

Le résultat est un nouveau degré d’appartenance au sous ensemble flou de

la sortie. Ainsi pour R1, on a :

le MIN de 0.8 et 0.6 est 0.6, donc pour (s) : µpetite = 0.6

16

5éme année IAII

On fait ensuite la même chose pour toutes les règles activées et on obtient les résultats suivants pour la variable linguistique de sortie (s) :

L’opération n’est pas terminée car les 4 règles étant activées en même temps, il faut faire ce que l’on appelle l’agrégation des règles (l’assemblage)

Les règles R1, R2 et R3 concernent la même valeur linguistique « petite » de la variable de sortie alors que R4 porte sur la valeur « moyenne ». On utilise ici l’opérateur MAX, c’est-à-dire que pour chaque valeur linguistique de sortie concernée on va prendre la valeur maximum des degrés d’appartenance.

Le résultat de l’agrégation des règles donne donc la variable s « petite » avec un degré d’appartenance de 0.6 en même temps que « moyenne » avec un degré d’appartenance de 0.2.

A ce stade, on a donc la sortie définie sous forme linguistique avec des degrés d’appartenance précis. Il faut maintenant passer à une grandeur qui, elle, sera interprétable par l’interface de commande.

B-3/ Opération de défuzzification :

La figure ci-dessus indique comment on interprète l’agrégation des règles. Le sous ensemble « petite » est limité par le degré d’appartenance à 0.6 et le sous ensemble « moyenne » par 0.2 (on prend le MIN entre la fonction d’appartenance de la valeur linguistique de la sortie concernée et le µ trouvé par l’agrégation des règles). On obtient ainsi toute la surface grisée. Pour obtenir le signal de commande à envoyer à l’interface, on utilise le plus souvent la règle « du centre de masse » c’est-à-dire que l’on calcule le barycentre de la surface pour obtenir la valeur de la commande.

17

1valeur de la commande

µ : degré d’appartenance

petite moyenne grande

0.6

0.2 variable : s

0

1.5V 4.5V 7.5V3V 6V 9V

sortie : s

5éme année IAII

B-4/ Intérférence floue :

B-4/ Principe du raisonnement approximatif:

18

5éme année IAII

B-4/ Méthode d’implication : Méthodes principales d’implication floues   :

0' ,conclusion prémisse conclusiony

y x yMIN Méthode de Mamdani :

0'conclusion prémisse conclusiony x y Méthode de larsen :

19

5éme année IAII

Exemple (Mamdani)   :

Principe de la méthode Mamdani   :

0 5 10 15

0

0.2

0.4

0.6

0.8

1Chauffer fort

Puissance chauffe(KW)-10 -5 0 3 5 10 15

0

0.2

0.4

0.6

0.7

0.8

1Température trés basse

T(°C)

20

Règle: SI la température est très basse ALORS Chauffer fort

5éme année IAII

21

CHAPITRE III :

Présentation de la Simulation

5éme année IAII

C) Utilisation de la boite à outil « fuzzy logic »

C-1/ Opération de fuzzification :

22

5éme année IAII

étape 1

La commande Edit permettra de choisir le nombre d’entrées-sorties (2 entrées et 1 sortie dans notre application). On pourra renommer à loisir ces différentes variables.

étape 2

Double-cliquer sur chaque variable d’entrée ou de sortie pour définir les valeurs linguistiques et la forme des fonctions d’appartenance. Pour cela utiliser dans le nouveau menu Edit la commande Add MFs, ce qui signifie ajouter des fonctions d’appartenance. On pourra choisir des fonctions triangulaires [trimf], trapézoïdales [trapmf], etc...

étape 3

Double-cliquer sur le bloc central (mandani) pour entrer les règles d’inférences

choisies.

23

5éme année IAII

étape 4

Pour visualiser le comportement du contrôleur ainsi créé, on pourra utiliser dans le menu View, la commande View rules. Il est alors possible de fixer les valeurs des variables d’entrées, de voir quelles sont les règles d’inférences activées et de lire la valeur de la tension de commande correspondante.

Sauvegarde du contrôleur dans l’espace de travail matlab

Pour que le contrôleur ainsi créé soit disponible dans un modèle simulink, il faut qu’il soit sauvegardé dans l’espace de travail. Pour cela dans le menu File, utiliser l’option

24

5éme année IAII

Save to workspace. Ainsi, son contenu sera mis dans un fichier de type « *.fis » (chauff3.fis dans l’exemple ci-dessus) auquel il sera fait appel dans simulink.

Pour incorporer le correcteur flou dans son propre modèle simulink, le plus simple est d’en copier un à partir d’une démo de MATLAB. Ensuite, on double-cliquera sur le modèle en entrant dans la fenêtre le nom du fichier (chauff3 comme indiqué précédemment)

Le modèle définitif est (enfin !) prêt à fonctionner.

25