Commande à logique floue

publicité
Commande à logique floue
Mounir Boukadoum
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
Flou, mais pas imprécis ou inconnu
Exemple : X : fait exprimant la taille d’untel avec une mesure t
X(t) : vraisemblance de l’appartenance de t à X
X est imprécis si X(t) = 1 pour X est flou si X(t) dans [0, 1] t dans [t0, t1], 0 ailleurs
pour tout t
X est inconnu si X(t) = 1 X est précis Si X(t)=1 pour tout t
pour t unique, 0 ailleurs X(t)
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.
0
0
0 1
1
(a) Boolean Logic.
1
0 0
0.2
0.4
0.6
0.8
1 1
(b) Multi-valued Logic.
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 T
relativement à « chaud »
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
1
0

Signification
Absolument vrai
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é
0.0
0.2
0.4
0.6
0.8
1.0
Signification
Absolument faux
Plutôt faux
Quelque peu faux
Quelque peu vrai
Plutôt vrai
Absolument vrai
Exemple

Température T
<‐10oC
‐5oC
0oC
5oC
10oC
15oC
20oC
25oC
30oC
35oC
>40oC
1/2
Degré de vérité pour CHAUD : Chaud(T)
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Exemple 
2/2
On peut résumer le tableau par le tracé d’une fonction d’appartenance :
1.0
0.5 mCHAUD(T)
-10 -5
0
5
10 15 20 25 30 35 40
Température (T)
0.0

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. É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 :
1.0
FROID
-10 -5


0
TIÈDE
5
CHAUD
10 15 20 25 30 35 40
Température
FROID(6) =.6, TIÈDE(6) =.05, CHAUD(6)=0
FROID(30)= 0, TIÈDE(30)=.3, CHAUD(30)=.8
0.5
0.0
v()
Petit détour formel

1/2
Un ensemble flou A sur un univers de discours X est un ensemble de paires ordonnées :
A  {( x ,  A ( x ))| x  X }
Ensemble flou



Fonction d’appartenance
(FA)
Univers de
discours
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 
2/2
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 
3/3
Une relation floue R est un ensemble flou défini sur le produit cartésien de deux univers de discours X et Y :
R  {(( x, y ),  R ( x, y ))|( x, y )  X  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)

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”:
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
X
Y
X ET Y
X OU Y
non‐X
Degré de vérité
(fonction d’appartenance)
(X)
(Y)
min((X), (Y))
max((X), (Y))
1‐ (X)
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
XY
X+Y
XY
X+Y
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0.7
0.7
0.7
0.5
1
0.8
0
0.5
?
?
?
?
?
?
?
?
0.7
0.7
0
0.5
1
0.8
0.7
0.5
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
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).
Valeurs de la variable indépendante 1
valeurs
de la valeur indépendante 2

Valeurs de la variable conditionnelle
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).
Étapes de conception d’un système d’inférence/commande à logique floue 1.
2.
3.
4.
5.
Identifier les variables significatives d’entrée et de sortie
Définir les valeurs linguistiques de chacune Pour chaque variable d’entrée, définir une fonction d’appartenance pour chacune de ses valeurs linguistiques Concevoir une collection de règles floues « si‐alors » permettant d’évaluer les valeurs linguistiques des variables de sortie
Choisir une méthode de conversion des valeurs linguistiques de sortie obtenues en valeurs précises.
Exemple d’application : Système de commande pour un pendule inversé
m

mx
 cos 
ml 2  mgl sin   mlx
l
d2
  m 2 ( x  l sin  )  ( M  m) 
f ( t )  Mx
x  lm( cos   2 sin  )
dt
mg

  
x
f(t)
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 »
1. Choix des variables d=e/s
Tension de commande du moteur
Système de
commande
v
Chariot



Donc, deux variables d’entrée, θ et ω, et une variable de sortie v ; les variables floues correspondantes portent les mêmes noms.
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
TN
MN
PN
PP
MP
TP
Signification
Très négatif Moyennement négatif
Peu négatif Peu Positif
Moyennement positif
Très positif
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.
TN
MN
PN
PP
MP
TP
v()
1.0
0.5
0.0
Valeur mesurée
3. définition des règles d’inférence

On pourrait alors définir la matrice cognitive suivante :
ω
TN
MN PN
PP
MP TP
TN
TN
TN
TN
MN PN
MN TN
TN
TN
MN PN
PN
TN
TN
MN PN
PP
MN PN
TN
θ


PP
MP PN
PP
TP
MP TP
PP
PP
MP TP
MP TP
TP
PP
MP
TP
TP
TP
TP
TP
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
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 ω :
On détermine ses degrés d’appartenance à TN, MN, PN, PP, MP et TP
2. 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
1.
Exemple de valeur « déflouïfiée »

Ex. Deux valeurs mesurées de θ et de ω donnent :
Valeur de sortie (max)
TN
MN
PN
PP
MP
TP
0
0
0.5
1
1
0.5
1
0.5
0
0
64
112
132
196
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
255
Règle “compositionnelle” de l’inférence floue
y = f(x) => y = b si x = a, y
y
b
b
y = f(x)
y = f(x)
a
x
a
a et b: points
a et b: intervalles
y = f(x) : une courbe
y = f(x) : une fonction d’intervalles de valeurs
x
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 
Téléchargement