27
Commande à logique floue Mounir Boukadoum

Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Embed Size (px)

Citation preview

Page 1: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Commande à logique floue

Mounir Boukadoum

Page 2: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Objectifs d’apprentissage

Introduire la logique floue, discuter ses applications et montrer comment concevoir un contrôleur de processus à logique floue.• La logique floue, pourquoi ? Différences avec la logique classique

• Propriétés d’un système à logique floue• Conception d’un contrôleur à logique floue• Différence avec les probabilités  

Prérequis : familiarité avec l’automatique de base et le raisonnement logique

Page 3: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Flou, mais pas imprécis ou inconnu

X est inconnu si X(t) = 1 pour tout t

X est précis Si X(t)=1 pour t unique, 0 ailleurs 

X est imprécis si X(t) = 1 pour t dans [t0, t1], 0 ailleurs

X est flou si X(t) dans  [0,  1] pour tout t

Exemple : X      :  fait exprimant la taille d’untel avec une mesure tX(t) : vraisemblance de l’appartenance de t à X

X(t)

Page 4: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Flou, mais pas illogique ! Logique floue :

Ensemble de principes mathématiques  pour la représentation et la manipulation des connaissances en se basant sur des degrés d’appartenance compris dans [0,1]

Après fuzzy sets, Lotfi Zadeh publie, en 1973 , un autre article qui montre comment capturer la connaissance humaine à l’aide de règles floues.

(a) Boolean Logic. (b) Multi-valued Logic.0 1 10 0.2 0.4 0.6 0.8 100 1 10

Page 5: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Que vaut une affirmation floue ?« Aujourd’hui il fait chaud »

Chaud = ?  C’est une question d’appréciation :

T=50oC : Vous aimez les euphémismes ! T=40oC : un peu trop à mon goût ! T=30oC : oui T=20oC : un peu T=10oC : Ouin ! T=  0oC : Pour un canadien, peut‐être ! T=‐10oC : Vous voulez rire !

On peut trancher en associant un degré de vérité à chaque valeur de Trelativement  à « chaud »

Page 6: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Degré de vérité d’une affirmation En logique binaire, une affirmation est vraie ou fausse ; son 

degré de vérité vaut 1 ou 0.Valeur Signification1 Absolument vrai0 Absolument faux

En logique floue, une affirmation est plus ou moins vraie (donc, plus ou moins fausse); son degré de vérité varie entre 0 et 1. Degré de vérité Signification0.0 Absolument faux0.2 Plutôt faux0.4 Quelque peu faux0.6 Quelque peu vrai0.8 Plutôt vrai1.0 Absolument vrai

Page 7: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Exemple 1/2

Température T Degré de vérité pour CHAUD : Chaud(T)<‐10oC 0.0‐5oC 0.10oC 0.25oC 0.310oC 0.415oC 0.520oC 0.625oC 0.730oC 0.835oC 0.9>40oC 1.0

Page 8: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Exemple  2/2

On peut résumer le tableau par le tracé d’une fonction d’appartenance :

La fonction d’appartenance formalise la relation entre les valeurs précises (mesurées, calculées, etc.) d’une variable d’entrée/sortie et un label flou(dit aussi valeur symbolique ou linguistique ; e.g. CHAUD)

Une variable d’e/s peut être associée à plusieurs labels ; L’ensemble des labels définit alors les valeurs floues (linguistiques) de la variable.

Pour chaque label, la fonction d’appartenance représente le degré de vérité des valeurs précises d’une variable d’e/s par rapport au label. 

-10 -5 0 5 10 15 20 25 30 35 40

0.5

1.0

0.0

Température (T)

mCHAUD(T)

Page 9: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Éléments d’un ensemble flou Un système à logique floue comprend :

Des variables d’e/s, Des labels qui représentent les valeurs floues de chaque variable, Des fonctions qui définissent le degré d’appartenance des valeurs des 

variables aux labels.

Une valeur mesurée peut appartenir à plusieurs labels, avec des degrés divers. Par exemple, pour T=6 oC et T=30 oC on a :

FROID(6)  =.6, TIÈDE(6)  =.05, CHAUD(6)=0 FROID(30)= 0, TIÈDE(30)=.3, CHAUD(30)=.8

-10 -5 0 5 10 15 20 25 30 35 40

0.5

1.0

0.0

Température

v()FROID TIÈDE CHAUD

Page 10: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Un ensemble flou A sur un univers de discours X est un ensemble de paires ordonnées :

A x x x XA {( , ( ))| }

Univers dediscours

Ensemble flouFonction d’appartenance

(FA)

A est tel que tout x en est membre à un degré  0  d  1 A est entièrement caractérisé par sa fonction d’appartenance

Concrètement,  A est un attribut qualitatif (valeur floue ou linguistique) que l’on associe avec les valeurs précises d’une variable numérique x

Petit détour formel 1/2

Page 11: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Une variable floue (dite aussi linguistique) est un quintuplet

{ x, T(x), X, G, M } où x est le nom de la variable :   ex. âge T(x) est l’ensemble de ses valeurs :

ex. T(âge) = {jeune, moins jeune, très jeune, ...} X est l’univers de discours : ex. X = [0‐100] G est une règle syntaxique qui définit l’ensemble T(x)  M est une règle sémantique qui associe  un ensemble flou 

avec chaque élément de T(x) ex. : M(jeune), M(vieux)…)

Petit détour formel   2/2

Page 12: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Une relation floue R est un ensemble flou défini sur le produit cartésien de deux univers de discours X et Y :

Permet d’exprimer une relation qualitative entre deux variables numériques :  x est près de y (nombres) x dépend de y (évènements) x et y se ressemblent (personnes ou objets)

R x y x y x y X YR {(( , ), ( , ))|( , ) }

Petit détour formel   3/3

Page 13: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Petit détour formel  (le dernier! )

Répartition floue : distribution des ensembles flous sur l’univers de discours

Exemple : Répartition floue des valeurs linguistiques “jeune”, “ni jeune ni vieux”, et “vieux”:

Page 14: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Opérations en logique floue  Le langage humain comprend aussi bien des affirmations 

simples (« Le taux de chômage est élévé ») que composées (« La crise économique est sévère et ET les différentes communautés en souffrent pareillement »)

Comment évaluer le degré de vérité d’une affirmation composée ?Affirmation Degré de vérité

(fonction d’appartenance)X (X)Y (Y)X ET Y min((X), (Y))X OU Y max((X), (Y))non‐X 1‐ (X)

Page 15: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Exemples d’opérations floues X= « La température est élevée » Y= « La couche de glace est faible »

Logique binaire

Logique floue

X Y XY X+Y XY X+Y1 1 1 1 1 11 0 0 1 0 10 1 0 1 0 10 0 0 0 0 00.70.70.70.5

10.800.5

????

????

0.70.700.5

10.80.70.5

Page 16: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Règles d’inférence floues

Syntaxe identique à celle de la logique binaire :SI <condition> ALORS <conséquence>

<condition> est une affirmation simple ou composée. Ex. :Régulateur de température dont les variables sont :

temp = la température ambiante vac = vitesse de rotation d’un ventilateur d’air chaud vaf = vitesse de rotation d’un ventilateur d’air frais

Les règles d’inférence peuvent être : Si temp est haute alors vac est nulle Si temp est haute alors vaf est grande Si temp est basse alors vac est grande Si temp est basse alors vaf est nulle

Page 17: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Propriétés des règles floues L’évaluation des règles se fait sur les valeurs des () et non pas sur les 

valeurs précises des variables d’e/s. Lorsqu’on a des conditions composées, on peut regrouper les règles 

dans une table, la matrice cognitive floue (« Fuzzy Cognitive Matrix » ou FCM).

La variable conditionnelle sert à prendre une décision (commander un actuateur, tirer une conclusion, classer une entrée, etc.) et les variables indépendantes sont obtenues à partir de valeurs mesurées (valeurs de () correspondantes).

Valeurs de la variable indépendante 1

valeursde la valeur indépendante 2

Valeurs de la variable conditionnelle

Page 18: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Étapes de conception d’un système d’inférence/commande à logique floue 

1. Identifier les variables significatives d’entrée et de sortie2. Définir les valeurs linguistiques de chacune  3. Pour chaque variable d’entrée, définir une fonction 

d’appartenance pour chacune de ses valeurs linguistiques  

4. Concevoir une collection de règles floues « si‐alors » permettant d’évaluer les  valeurs linguistiques des variables de sortie

5. Choisir une méthode de conversion des valeurs linguistiques de sortie obtenues en valeurs précises.

Page 19: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Exemple d’application : Système de commande pour un pendule inversé

ml mgl mlx

f t Mx mddt

x l M m x lm

2

2

22

sin cos

( ) ( sin ) ( ) ( cos sin )

l

m

mx

f(t)

x

mg

Il s’agit de déplacer le chariot de manière à maintenir le pendule à la verticale (θ=0). L’approche classique n’est pas évidente !

La solution exacte :Résoudre le système d’équa-diffs couplées – Good luck !

La solution floue :Pousser le chariot à gauche ou à droite en sens inverse du signe de « proportionnellement »

Page 20: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

1. Choix des variables d=e/s

Système decommande Chariot

Tension de commande du moteur

v

Donc, deux variables d’entrée, θ et ω, et une variable de sortie  v ; les variables floues correspondantes portent les mêmes noms.

Page 21: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

2 Choix des valeurs linguistiques Il s’agit de regrouper des règles de la forme « Si θ est X1 et ω 

est X2, alors v est Y » en une matrice cognitive floue. Exemple de définition des valeurs  X1 ,X2 et Y :

Nom SignificationTN Très négatif MN Moyennement négatifPN Peu négatif PP Peu PositifMP Moyennement positifTP Très positif

Page 22: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

4. Choix des fonctions d’appartenance

En général, on choisit des fonctions d’appartenance de forme triangulaire ou trapézoïdale; cela simplifie les calculs.

0.5

1.0

0.0Valeur mesurée

v ( )TN MN PN PP MP TP

Page 23: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

3. définition des règles d’inférence On pourrait alors définir la matrice cognitive suivante :

Les intersections des valeurs linguistiques de θ et de ω définissent les valeurs linguistiques de sortie correspondantes (en termes de )

Pour chaque valeur linguistiques de sortie, on retient le max correspondant

ωTN MN PN PP MP TP

θ

TN TN TN TN TN MN PNMN TN TN TN MN PN PPPN TN TN MN PN PP MPPP MN PN PP MP TP TPMP PN PP MP TP TP TPTP PP MP TP TP TP TP

Page 24: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

5. Détermination de la valeur de commande précise correspondant à  On détermine le degré de vérité de chaque valeur 

linguistique de sortie possible; on prend ensuite la valeur pondérée des résultats (inférence de Sugeno).

Pour chaque valeur mesurée de θ et de ω :1. On détermine ses degrés d’appartenance à TN, MN, PN, PP, MP 

et TP2. On applique les règles d’inférence floues aux résultats afin 

d’obtenir les degrés d’appartenance correspondants pour les différentes valeurs linguistiques de v (on prend max pour chacune)

3. On calcule la moyenne pondérée des résultats

Page 25: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Exemple de valeur « déflouïfiée » Ex. Deux valeurs mesurées de θ et de 

ω donnent :Valeur de sortie  (max)TN 0MN 0PN 0.5PP 1MP 1TP 0.5

On obtient par la méthode du centre de gravité (en supposant que chaque  valeur en abscisse correspond à une valeur précise) :

v = [(0x0)+(0x64)+(0.5X112)+(1X132)+(1X196)+(0.5X255)]/6 = 164

0 64 112 132 196 2550

0.5

1

Page 26: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

Règle “compositionnelle” de l’inférence floue

y = f(x) => y = b si x = a, 

a et b: pointsy = f(x) : une courbe

a

b

y

xx

y

a et b: intervallesy = f(x) : une fonction d’intervalles de valeurs

a

b

y = f(x) y = f(x)

Page 27: Commande à logique floue - LabUnixboukadoum_m/EMB7000/Notes/ch8a... · 2015-12-04 · Objectifs d’apprentissage Introduire la logique floue, discuter ses applications et montrer

En résumé

La logique floue peut être vue comme une extension de la logique classique

Un régulateur à logique floue est souvent plus précis et plus performant qu’un système classique, tout en étant plus simple à concevoir

Les systèmes à logique floue se distinguent des systèmes probabilistes dans leur usage de vraisemblances au lieu de probabilités, donnant lieu à des conclusions plus « consistantes »

À suivre : les circuits d’alimentation pour les systèmes embarqués