Introduction À La Logique Floue & À La Commande Floue
Introduction À La Logique Floue & À La Commande Floue
Introduction À La Logique Floue & À La Commande Floue
I-1 Introduction
La logique floue suscite actuellement un intérêt général de la part des chercheurs, des
ingénieurs et des industriels, et plus généralement de la part de tous ceux qui éprouvent le besoin
de formaliser des méthodes empiriques, de généraliser des modes de raisonnement naturel,
d’automatiser la prise de décision dans leur domaine et de construire des systèmes artificiels
effectuant les tâches habituellement prises en charge par les humains.
La logique floue est une technique pour le traitement de connaissances imprécises basées,
sur des termes linguistiques; elle donne les moyens de convertir une commande linguistique basée
sur le raisonnement humain, en une commande automatique, permettant ainsi la commande des
systèmes complexes dont les informations sont exprimées d’une façon vague et mal définie.
Dans le domaine du génie électrique, la commande à logique floue a fait l’objet de plusieurs
travaux : dans la commande des convertisseurs statiques et dans la commande des machines
électriques [1], [2], [3], dans la navigation de robots mobiles [4], [5]. Toutes ces applications ont
démontré qu’un régulateur à logique floue est plus robuste qu’un régulateur conventionnel [2], [6].
Les performances que la commande floue peut apporter par comparaison avec les
commandes classiques, sont essentiellement dues à la méthode de conception de ces régulateurs.
En effet, ces derniers ne nécessitent pas la connaissance des modèles mathématiques du système.
Par contre ils ont besoin d’un ensemble de règles basées essentiellement sur les connaissances d’un
opérateur qualifié manipulant le système.
I-2-1 Principe
Une des caractéristiques du raisonnement humain est qu'il est généralement fondé sur des
données imprécises ou même incomplètes. En effet les connaissances dont nous disposons sur un
système quelconque sont généralement incertaines ou vagues, soit parce que nous avons un doute
sur leur validité ou alors nous éprouvons une difficulté à les exprimer clairement.
Premier exemple : Soit E l’ensemble des tailles possible et A l’ensemble des grandes
tailles. En logique boolienne, on est soit de petite taille, soit de grande taille. Si 170 cm est la
frontière entre les deux, on est petit pour x<170 cm et grand pour x>=170. Mais si l’on mesure 169
cm, on est petit !!!...cette discontinuité est totalement absurde (Figure I.1.a). Le plus correcte sera
donc de représenter A par un ensemble flou permettant un passage progressif des tailles petites aux
tailles grandes (Figure I.1.b).
1
µA (x)
1 Grand µE (x)
Petit Grand
1
170 cm
0.5
µA (x)
160 170 180
Petit Figure I.1.b : Représentation les 2
1
variables (grand et petit) par la
logique flou
170 cm
Figure I.1.a : Représentation les 2 variables
(grand et petit) par la logique boolienne
Un exemple : dans la logique classique, une vitesse peut être qualifiée par les termes «
Elevée ». Dans la logique floue, des échelons d’appréciation intermédiaires de la variable vitesse
sont possibles. La «Vitesse» devient une variable linguistique dont les valeurs sont par exemple :
« Très faible », « Faible », « Moyenne », «Elevée », « Très élevée ».
La logique floue peut être considérée comme une extension de la logique classique ou
binaire.
L'exemple suivant montre où nous voulons en venir avec cette théorie. Nous voulons
réaliser une régulation de température sur la base de règles telles que :
2
4- Si la température est trop élevée Et que la pression n'est pas trop haute, Alors le
chauffage doit être arrêté Et le volet en position médiane.
5- et ainsi de suite.. .
Par exemple la variable « Taille » peut appartenir aux ensembles floues " Petit, Moyen,
Grand ".
La variable linguistique peut être représentée par un triplet (x, T(x), U), dans lequel x est le
nom de la variable linguistique, T(x) l’ensemble des noms des valeurs linguistiques de x et U
l’ensemble de référence (univers de discours).
Par exemple : x = Vitesse est une variable linguistique, son ensemble de valeurs peut être :
T(Vitesse) = [ Faible, Moyenne, Elevée,....] où chaque terme dans T(Vitesse) est caractérisé
par un ensemble flou dans un univers de discours U = [0, 100] (figure. I-1).
40 55 70 Km/h
3 de la variable Vitesse
Figure I- 2 Représentation floue
On attribue à chaque valeur de la variable linguistique des fonctions d’appartenance , dont
la valeur varie entre 0 et 1, en tenant compte de la classification en un certain nombre d’ensembles
flous.
Le plus souvent, on utilise pour les fonctions d’appartenance de forme trapézoïdales ou
triangulaires, rectangulaires ou de type singleton. Il s’agit des formes les plus simples (figure I-2).
1
1 1
x x
x 0
0 0
22 26 21 26
En logique classique, une variable peut prendre deux valeurs possibles : vrai (1) ou faux (0).
En logique floue, un ensemble flou A d’un univers de discours ( ensemble de toutes les
valeurs possibles de x ) X est défini par une fonction d’appartenance A qui à tout élément x
appartenant à X, associe un nombre A(x) compris entre 0 et 1, qui représente le degré ou facteur
d’appartenance de x à l’ensemble flou A
(0 représentant la non - appartenance et 1 l’appartenance totale).
Le concept d’ensemble flou a donc pour objectif de permettre des gradations progressives
dans l’appartenance d’un élément à une classe.
L'appellation d'un ensemble flou est d'ordinaire en relation avec la signification que l'on
souhaite lui donner et ce mot correspond à la valeur de la variable linguistique x appartenant à X.
Prenons l'exemple de la taille d'une personne classée en deux ensembles flous « Petite » et
« Grande » , chaque personne a une taille qui se situe entre les deux (figure I-3).
Afin de tirer des conclusions, plusieurs valeurs de variables linguistiques sont liées entre
elles par des règles. On parle alors de déductions floues ou inférences.
Si les conditions, qui sont exprimées par la condition (prémisse), sont vraies, alors l’action
spécifiée à la conséquence (conclusion), aura lieu.
Les inférences avec plusieurs règles sont caractérisées par le fait qu'en général plusieurs
règles sont (plus ou moins) simultanément vérifiées. L'opération qui doit être effectuée doit tenir
compte des différentes conditions et s'obtient par les règles de calcul de la logique floue.
Les variables linguistiques sont liées entre elles au niveau des inférences par des opérateurs
Et ou Ou. Il s’agit d’opérateurs de la logique floue qui interviennent sur les fonctions
d’appartenance représentant les variables linguistiques.
Les opérateurs les plus importants sont : l'intersection , l'union , et le complément .
Nous allons généraliser ces fonctions fondamentales de la théorie des ensembles. On devra
retrouver dans le cas classique les fonctions habituelles. Les solutions proposées devront répondre
à certaines propriétés (croissance, associativité,...) spécifiques aux fonctions considérées.
a) Critères
b) Choix
Il existe plusieurs fonctions répondant aux critères énoncés. On a choisi d'adopter la
fonction (figure.I-5) :
5
c) Illustration
µ(x)
non µ(x)
1 1
0 0
70 80 70 80
a) Critères
Une fonction "Et" associée à deux ensembles d'univers de discours x et y doit remplir les
conditions suivantes:
Et (x, y): [0, 1][0, 1][0, 1]
Et (x, y) = Et (y, x) ( commutativité )
si x < y Et z < t : Et (x, z) < Et (y, t) ( croissance )
Et (x, Et (y, z)) = Et (Et (x, y), z) ( associativité )
Et (0, x) = 0, Et (1, x) = x ( conditions aux limites )
b) Choix
c) Illustration
1 1 1
6
I-5-3 Union de deux ensembles (fonction "Ou")
a) Critères
b) Choix
Plusieurs choix sont également possibles, dont les plus courants sont repris dans le tableau
illustratif ci-après. C'est généralement la fonction maximum qu'on sélectionne. Elle est illustrée ci-
dessous (figure I-7 ).
c) Illustration
1 1 1
40 60 80 60 80 60 80
Appellation ET OU NON
Zadeh min(x , y) max(x , y) 1-x
Probalistique xy x+y-xy 1-x
Lukasiewicz max (x + y-1, 0) min(x + y, 1) 1-x
Hanacher (0) x y/(+(1- )(x + y - x y )) (x + y +x y - (1-) x y) 1-x
/(1- (1 - ) x y)
Weber x si y = 1, y si x = 1 x si y = 0, y si x = 0 1-x
0 sinon 1 sinon
Les réalisations précédentes donnent dans la plupart des cas des résultats convenables.
Cependant pour le réglage et la commande, il peut être judicieux d’utiliser d’autres opérateurs
dans le but de les exécuter par microprocesseur [7].
7
L'opérateur Et dans ce cas est réalisé par la fonction du produit des fonctions
d'appartenances:
µc(x) = µa(x)* µb(x) (I-1)
L'opérateur Ou est réalisé par la formation de la somme (valeur moyenne) des fonctions
d’appartenances:
µc(x) = [ µa(x) + µb(x) ] / 2 (I-2)
I-6-1 Généralités
Après avoir exposé la répartition des valeurs mesurées en ensembles flous et défini les
opérations sur ces ensembles, nous allons maintenant introduire le raisonnement flou et voir
comment un régulateur peut être exécuté sur la base des règles logiques.
Avec cet unique schéma de raisonnement et les trois opérateurs Et , Ou et Non , nous
pouvons déjà prendre un grand nombre de décisions logiques Nous produisons aussi une nouvelle
information (une décision) à partir d'informations anciennes.
- l’implication floue,
- l’inférence floue,
- l’agrégation des règles.
L’implication floue donne une information sur le degré de vérité d’une règle floue [7]. En
d’autres termes, on quantifie la force de véracité entre la prémisse et la conclusion. Considérons par
exemple les deux propositions floues
x est A
y est B Où x et y sont des variables floues et A et B des ensembles flous
de l’univers du discours U.
ainsi que la règle floue : Si x est A Alors y est B .
L’implication floue donne alors le degré de vérité de la règle floue précédente à partir des
degrés d’appartenance de x à A (prémisse) et de y à B (conclusion). Il n’existe pas une façon
unique de définir l’implication floue.
8
I -6-3 L’inférence floue
Le problème tel qu'il se pose en pratique n'est généralement pas de mesurer le degré de
véracité d'une implication mais bien de déduire, à l'aide de faits et de diverses règles implicatives,
des événements potentiels. En logique classique, un tel raisonnement porte le nom de Modus
Ponens (raisonnement par l’affirmation).
Si p q vrai
Et p vrai
Alors q vrai
Il nous faut le généraliser. Vont intervenir dans cette étape la « fonction d'implication » de
l'implication floue, image du lien Et les fonctions d'appartenance des sous-ensembles des
prémisse(s) et conclusion(s), images de l'importance des événements.
De façon générale, les conditions d’utilisation du Modus Ponens Généralisé sont les
suivantes :
prémisse conclusion
Règle floue : Si x est A Alors y est B
Fait observé: Si x est A'
------------------------------------------------------------------
Conséquence : y est B'
A' et B' sont les ensembles flous constatés dans le cas que l'on traite et ne sont pas
nécessairement strictement égaux à A et B. B' est l’ensemble flou résultant de A' par l'application
de l'implication.
Les informations disponibles pour déterminer la conséquence sont donc d’une part celles
relatives à la règle, quantifiées par l’implication floue B/A(x, y) , d’autre part celles relatives au fait
observé, quantifiées par la fonction d’appartenance A’.
Nous pouvons considérer que chaque règle donne un avis sur la valeur à attribuer au signal
de commande, le poids de chaque avis dépend du degré de vérité de la conclusion.
L’ensemble flou résultant est obtenu en prenant, pour chaque valeur de sortie z, la valeur
maximale des degrés d’appartenance de chaque contribution.(figure I-7).
Dans cet exemple, l’opérateur «Et » est représenté par l’opérateur « min », l’implication
est représenté par l’opérateur ‘‘min’’et l’opérateur «Ou » est représenté par l’opérateur « max » :
9
µA µB µC
R1:
min
x0 y0 y z
x
µC
max.
R2: z
min
x0 x y0 y z
I -7 Conclusion
Dans ce chapitre, nous avons vu ce qu'était la logique floue, quels étaient ses intérêts et
posé ses bases mathématiques. Le principes de la logique floue, l’utilisation du concept d’ensemble
flou peuvent être appliqués à beaucoup de problèmes où, selon la nature de l’information, la
manipulation de l’imprécis ou vague est indispensable: (classification, décision multicritère, base
de données, commande).
Nous sommes maintenant armés pour voir comment un contrôle de processus peut être
réalisé en logique floue. Ce sera l'objet du chapitre suivant.
10
II – PRINCIPE D’UN CONTROLEUR FLOU
II - 1 Introduction
Dans ce chapitre, nous nous intéressons à l'application de la logique floue dans les systèmes
de commande et aux méthodes de conception des contrôleurs flous. Nous appliquons la logique
floue à deux domaines précis, celui du contrôle d’une machine électrique et d’un robot mobile.
Nous verrons pourquoi le contrôle flou s'est implanté, comment le réaliser et illustrerons ensuite ses
principes sur l’exemple de régulation de vitesse et de position d’une machine électrique et à la
navigation floue d’un robot mobile dans un environnement inconnu.
Les caractéristiques de chacun des blocs constituant la structure générale d'un régulateur
flou sont présentés [1], à savoir la:
Fuzzification
Inférence
Défuzzification.
Un contrôleur flou, lui ne demande aucune de ces deux spécifications. Il n'est pas nécessaire
de connaître le modèle analytique du processus pour le concevoir. Le contrôleur flou ne traite pas
de relations mathématiques bien définies mais utilise des inférences avec plusieurs règles, se basant
sur des variables linguistiques, ces inférences sont alors traitées par les opérateurs de la logique
floue.
Le réglage par logique floue se prête particulièrement bien à deux domaines d'applications [7]:
11
La commande floue est simple à réaliser, flexible et donc facilement adaptable aux
conditions de fonctionnement du processus ou à une installation particulière. Elle est robuste face
aux perturbations qui peuvent affecter le processus.
Les règles sont faciles à comprendre et à modifier puisqu’elles sont exprimées par des
termes de la langue naturelle. Le développement d’un régulateur flou est économique, d’autant plus
qu’il existe des logiciels d’application et de plus en plus des composants spécialisés.
Un contrôleur flou (figure II-1) ne diffère pas tellement d'un contrôleur traditionnel. On
retrouve à chaque fois un bloc de traitement, un bloc d'entrée (quantification, calculs préalables...)
et un bloc de sortie (pour la détermination de la commande u à partir de l'incrément du par
exemple) [7].
Deux blocs supplémentaires apparaissent dans le cas d'un contrôleur flou: un bloc de
fuzzification et un bloc de défuzzifcation . Le bloc de fuzzification constitue l'interface entre le
monde physique et celui des sous - ensemble d'inférence (inférence engine) et une base de règles
(rules base). Le rôle de ce dernier bloc sera d'échafauder le raisonnement.
Le bloc de fuzzification convertira les valeurs d'entrées en sous ensembles flous. Le moteur
d'inférence activera les règles dont les prémisses seront vérifiées. Chaque règle activée donnera lieu
à un sous-ensemble de sortie. Il restera au bloc de défuzzification à agréger ceux-ci et en extraire
une action précise et réalisable au niveau de la commande.
II -3-1 La fuzzification
Dans les problèmes de commande, les données observées sont habituellement physiques
(réelles). Or le traitement de ces données est basé sur la théorie des ensembles flous; ceci nécessite
donc une procédure de fuzzification.
L’opération de fuzzification représente le passage des grandeurs réelles (ou physiques) aux
valeurs floues. Cette étape nécessite souvent une conversion analogique/digitale, ainsi que le
traitement des grandeurs mesurées et leur transformation en variables linguistiques avec la
définition des fonctions d’appartenance.
12
Variables
d’observation Jeu de
et règles
Normalisation Dénormalisation
Fuzzification Inférence Défuzzification
Facteurs d’échelle Facteurs
d’échelle
Variation
de commande
u
La fuzzification proprement dite consiste à définir les fonctions d'appartenance pour les
différentes variables d'entrée et de sortie. Dans le cas du réglage par logique floue, on utilise en
général des formes trapézoïdales et triangulaires pour les fonctions d'appartenance.
Dans ce but, les grandeurs physiques (par exemple l'erreur et la dérivée de la grandeur à
réguler) sont réduites à des grandeurs normalisées [1]. On suppose que ces dernières varient
normalement dans le domaine : -1 x 1.
Ceci pose le problème de choix des facteurs d’échelles. Les gains d’adaptation et de
normalisation jouent alors un rôle extrêmement important car ce sont eux qui fixent les
performances dynamiques de la commande.
En général, on introduit pour une variable x trois, cinq ou sept ensembles flous, représentés
par des fonctions d'appartenance, comme le montre la figure (II-2). Le nombre des ensembles
dépend de la résolution et de l'intervention du réglage désiré 7.
Une subdivision plus fine, c'est-à-dire plus de sept ensembles flous, n'apporte en général
aucune amélioration du comportement dynamique du système contrôlé par la logique floue. Par
contre, un tel choix complique la formation des règles d’inférences et augmente le temps de
traitement.
Les différents ensembles flous sont caractérisés par des désignations standards: la
signification des symboles est indiquée au tableau (II-1).
13
Symboles Significations
NG Négatif Grand
NM Négatif Moyen
NP Négatif Petit
EZ Environ Zéro
PP Positif Petit
PM Positif Moyen
PG Positif Grand
NG N EZ PM PG
1
M
-1 - 0.5 0 0.5 1
II –3-2 Inférence
Dans cette partie du régulateur les valeurs des variables linguistiques d’entrée et de sortie
sont liées par plusieurs règles qui doivent tenir compte du comportement statique et dynamique du
système à régler ainsi que des buts de réglage envisagés en particulier le circuit de réglage doit être
stable et bien amorti. La stratégie de réglage dépend essentiellement des inférences adoptées. Il
n’est pas possible d’indiquer des règles précises, l’expérience joue ici un rôle important.
Pour exprimer les inférences ils existent plusieurs possibilités à savoir par description
linguistique et symbolique, ainsi que par tableaux et matrices d’inférence [7]. Dans ce cours, nous
utiliserons cette dernière description.
II -3-2-1 Description par matrice d’inférence
Le grand intérêt de cette méthode est la possibilité de regrouper les règles en une matrice.
C’est une représentation graphique, à l’intersection d’une colonne et d’une ligne se trouve
l’ensemble correspondant de la variable de sortie xR , défini par une règle d’inférence.
Les variables d’entrées sont liées par l’opérateur Et, tandis que les variables de sortie des
différentes règles sont à considérer par l’opérateur Ou. Cette méthode impose donc une restriction
au niveau des règles, dont la condition ne peut contenir que l’opérateur Et.
Dans la plupart des contrôles. un nombre de deux variables en entrée est suffisant et on peut
donc utiliser un tel tableau. Son implémentation est facile et l'approximation, même grossière,
introduite au niveau des valeurs ne perturbe que peu le fonctionnement. De par sa nature, le
contrôleur flou tient en effet compte d'une certaine imprécision.
14
Lorsqu’il y a plus de deux variables, il faut juxtaposer plusieurs matrices. Cependant, ce
genre de description devient complexe lorsqu’il y a plus de trois ou quatre variables et si ces
dernières sont subdivisées en un nombre élevé d’ensembles.
Si toutes les positions de la matrice d’inférence sont remplies, on parle de règles d’inférence
complètes, dans le cas contraire il s’agit de règles d’inférence incomplètes (figure II-3).
XR X1
N N E P P
NG NM EZ PM PG
NG PG PM
NM PM EZ NM
X2 EZ PG PM EZ NM NG
PM PM EZ NM
PG NM NG
15
La méthode d’inférence Som-Prod est représentée graphiquement à la figure (II-4). Sur la
figure (II-5), nous avons représenté les deux autres méthodes d’inférence.
Pour illustrer cette méthode on présente l’exemple suivant ; celle d’un régulateur flou avec
deux variables d’entrée (x1) et (x2) et une variable de sortie (xR). Chacune est décomposée en trois
ensembles NG, EZ, PG. On suppose que les valeurs sont : x1 = 0.44 et x2 = 0.67
Pour l’inférence :
Avec les facteurs d'appartenance µPG(x1 = 0.44) = 0.67 et µEZ(x2 = 0.67) = 0.33, la
première condition prend le facteur d'appartenance µCi = 0.22 (produit des deux valeurs).
16
x1 PG Et x2 EZ Alors xR=EZ
Si
NG EZ PG NG PG NG EZ PG
1 EZ 1
0.67 1 Règle 1
0..33 C1=0..22
0..22
x1 0 x2 0 x1
-1 0 1 -1 1 -1 1
1
x1=0.44
RES(xR
) Som Ou
x2=-0.67
-1 0 1 xR
NG EZ PG PG NG EZ PG
1 NG EZ 1
0.67 1
C2=0..5
0.33 + 0.5
x1
Règle 2
-1 0 1 x1 0 x2 -1 0 1
-1 1
x1 EZ x2 NG Alors xR=NG
Si Ou
Figure II-4: Méthode d’inférence Som-Prod pour deux variables d’entrée et deux règles
17
Si x1 PG Et x2 EZ Alors xR=EZ
NG EZ PG NG PG NG EZ PG
1 EZ 1
1 Règle 1
min min
x1 0 x2 0 1 x1
-1 0 1 -1 1 -1
-1 0 1 xR
NG EZ PG PG NG EZ PG
1 NG EZ 1
1
max C2=0..67 min
x1 x1 Règle 2
-1 0 1 -1 0 1 x2 -1 0 1
x1 EZ Ou x2 NG Alors xR=NG
Si
x2 EZ
Si x1 PG Et xR=EZ
Alors
NG EZ PG NG PG NG EZ PG
1 EZ 1
1 Règle 1
min
x1 x1
-1 0 1 -1 0 1 x2 -1 0 1
RES
x1=0.44 1
(xR)
max Ou
x2=-0.67
-1 0 1 xR
NG EZ 1 PG NG PG NG EZ 1 PG
EZ
1
C2=0..67
max
x1 x1 Règle 2
0 1 0 x2 0 1
-1 -1 1 -1
x1 EZ Ou x2 NG Alors xR=NG
Si
18
II -3-3 La défuzzification
1 1 1
0 x 0 x 0 x
u u u
Méthode des centres Méthode de la moyenne Méthode du maxima
de gravité des maxima
Méthode du maxima :
Cette méthode consiste à choisir comme sortie x0 du bloc de déffuzification, une des
valeurs possédant la plus grande appartenance au sous-ensemble flou x.
Il se peut que le système possède plusieurs maxima identiques, dans ce cas et afin d’éviter
un choix arbitraire, on choisit d’effectuer la moyenne des maxima.
La méthode du maximum à l'avantage d'être simple, rapide et facile. Elle est
malheureusement ambiguë et provoque de nombreuses discontinuités.
Dans le cas ou plusieurs sous-ensembles ont le même maximum, on réalise une commande
ui
u , ui étant la commande issue du ieme sous-ensemble flou sélectionnable.
r
r : nombre de maxima identiques
19
Les avantages et inconvénients de la méthode de la moyenne des maxima restent grosso
modo ceux de la méthode du maximum.
1
x R rés ( x R )d x R
u 11 (II-2)
rés ( x R )d x R
1
Cette méthode va permettre d'éviter de trop grandes discontinuités et supprimera toute ambiguïté.
Elle semble donc optimale mais son implémentation est difficile et surtout coûteuse en calculs. Elle
se simplifie notablement lorsqu’on utilise la méthode d’inférence Som-prod ou des singletons pour
les fonctions d’appartenance des variables de sortie.
où Ai et Bi sont des sous-ensembles flous, par contre Ci peut appartenir aussi bien au
domaine symbolique ( sous-ensemble flou) qu’au domaine numérique.
20
« SI x est Ai Et y est Bi Alors z = p0 » (II-5)
Dans le contrôleur flou type Sugeno, les étapes d’agrégation et de défuzzification des
règles floues se font simultanément et la relation (II.2) devient :
u
i zi
i i
(II-6)
i
Cette méthode est plus simple à mettre en œuvre et donne aussi de bons résultats en
commande floue que la méthode de Mamdani . Le calcul en temps réel de cette expression ne pose
pas de problème.
Une remarque peut être formulée sur le nom donné à cette étape. En effet, elle est
appelée « défuzzification » alors qu’elle ne manipule aucune donnée floue. Ce choix a été dicté afin
d’établir une similitude entre ce type de contrôleur et le contrôleur de type Mamdani où le
cheminement « fuzzification – inférence floue – défuzzification » a été introduit. A la place de
« défuzzification », le terme « agrégation » aurait été préférable.
Nous allons maintenant illustrer les principes du contrôleur flou sur l'exemple de la
régulation de vitesse et de position d’une machine électrique.
La phase de conception d’un contrôleur flou passe toujours par quatre stades que nous
allons détailler successivement.
(2)- Il faudra ensuite se pencher sur le domaine des valeurs que pourront prendre ces
variables). On partitionne alors ces domaines en intervalles, auxquels on associe un label descriptif
(valeurs linguistique). Cette étape revient à définir les univers des discours des variables d’entrée et
de sortie et les diviser en sous-ensembles flous. Cette répartition est intuitif et basé sur
l’expérience. On est d’ailleurs généralement amené à l’affiner en cours de conception. Une règle de
bonne pratique est de fixer 5 à 9 intervalles par univers de discours. Il faut également prévoir un
plus grand nombre de zones à proximité du point de fonctionnement optimal pour en faciliter
l’approche régulière [2].
21
Illustration sur le régulateur de vitesse
Dans le cas de la régulation de vitesse, on a besoin habituellement de l’erreur (e=r ref -r)
et de la dérivée d’erreur (de) et parfois de l'intégration d’erreur :
e(k ) rref (k ) r (k )
(III-1)
de(k ) e(k ) e(k 1)
e
Ke
Contrôleur diq
flou Kdiq
de
Kde
Par contre, si la sortie du contrôleur flou est considérée comme un incrément de commande,
le contrôleur est appelé contrôleur flou de type PI [6] (figure III-2) et on peut écrire :
.
diq = Fuzzy (e, de) ou encore iq F uzzy edt, de ;
soit iq(k ) diq (k ) iq(k 1) (III-2)
e
Ke
iq
Contrôleur Kiq
flou
de
Kde
Le contrôleur de type PID (figure III-3) peut être obtenu en combinant des contrôleurs
flous de type PI et PD de façon suivante :
22
Kdiq
e
Ke + iq
Contrôleur Kiq
flou +
de
Kde
On remarque que cette structure de commande floue de type PID (figure V-9) est en fait une
association en série d’un contrôleur flou de base et d’une structure de régulation de type PI, qui,
elle, n’est pas floue [6].
Comme les fonctions d’appartenance sont normalisées entre [-1, 1], les variables sont
multipliées avec des gains proportionnels. Finalement, la structure du régulateur de vitesse à
logique floue est représentée par la figure (III-4).
D’après ce schéma, le système est composé :
Contrôleur Flou
Ke Règles
e e~
de
ref contrôle diq Kdiq
Fuzzificati iq
+ - Calcul de de
on de~ flou ~
Défuzzification
diq
Inférence
de
Kde
Limitation
Processus du couple
iq
23
2 éme étape : Définition des fonctions d’appartenance
Les fonctions d’appartenance des variables d’entrée sont illustrées par la figure (III-5)
avec :
On constate que les fonctions d’appartenance de l’erreur ont une forme asymétrique créant
une concentration autour de zéro qui améliore la précision près du point de fonctionnement désiré.
Pour la même raison, les formes des fonctions d’appartenance de la variable de sortie sont
également asymétriques (figure III-6). Cependant, nous introduisons deux sous-ensembles
additionnels compte-tenu de la sensibilité de cette variable [2].
0.8
0.6
0.4
0.2
24
Degré d'appartenance µ(de)
NB NM NS EZ PS PM PB
1
0.8
0.6
0.4
0.2
-1 -0.5 0 0.5 1
Variation de l'erreur ‘de’
NVB NB NM NS EZ PS PM PB PVB
1
0.8
0.6
0.4
0.2
-1 -0.5 0 0.5 1
Variation du Courant: ‘diq’
L’analyse temporelle, qui doit conduire à établir les règles du contrôleur flou, peut par
exemple consister à considérer la réponse à un échelon d’un processus à piloter en fonction des
objectifs que l’on se sera fixé en boucle fermée, et à écrire les règles pour chaque type de
comportement du processus :
a)- Pour expliquer la procédure à suivre [6], on considère les neuf points indiqués sur la
réponse à un échelon (figure III-7) et, pour chacun de ces points, on explicite l’expertise sous la
forme suivante :
25
* 1 Si e = PB Et de = ZE Alors du = PB
(départ, commande importante)
* 2 Si e = PB Et de = NS Alors du = PM
(augmentation de la commande pour
gagner l'équilibre)
* 3 Si e = PM Et de = NS Alors du = PS (très faible augmentation de u pour ne
pas dépasser)
* 4 Si e = PS Et de = NS Alors du = ZE (convergence vers l’équilibre correct)
* 5 Si e = ZE Et de = NS Alors du = NS (freinage du processus)
* 6 Si e = NS Et de = NS Alors du = NM (freinage et inversion de la variation
de la commande)
* 7 Si e = NM Et de = ZE Alors du = NM (rappel du processus vers l’équilibre
correct)
* 8 Si e = NS Et de = PS Alors du = ZE (convergence vers l’équilibre correct)
* 9 Si e = ZE Et de = ZE Alors du = ZE (équilibre)
Sortie 7
6
5 8 9 Référence
4
3
2
1 temps
e NB NM NS ZE PS PM PB
de
PB ZE PS PM PB PB PB PB
PM NS ZE PS PM PB PB PB
PS NM NS ZE PS PM PB PB
ZE NB NM NS ZE PS PM PB
NS NB NB NM NS ZE PS PM
NM NB NB NB NM NS ZE PS
NB NB NB NB NB NM NS ZE
b)- Pour déduire les autres règles, nous procédons à nouveau à une autre expertise [3]. La
forme générale de la réponse de vitesse est représentée sur la figure (III-9). Selon l’amplitude de e
26
et le signe de la variation d’erreur de, la réponse de vitesse est divisée en quatre régions. Les
indices utilisés pour identifier chaque région sont définies comme suit :
a1 : e 0 et de 0, a2 : e 0 et de 0,
a3 : e 0 et de 0, a4 : e 0 et de 0,
1.2
a1 a2 a3 a4
Référence
1.0
0.8
0.6
0.4
0.2
temps
0
0.5 1 1.5 2
Réponse Réponse
m1
m2
C1
C2 m3
C3 Référence Référence
C4
C5 m4
C6 m5
m6
Temps Temps
b) c)
Pour identifier la pente de la réponse lors du passage par le point de référence on utilise
l’indice ci défini comme suit :
Figure III -9 Comportement dynamique de la réponse de vitesse
c1 :(e>0e<0) et de <<< 0
c2 :(e>0e<0) et de << 0
c3 :(e>0e<0) et de < 0
c4 :(e<0e>0) et de > 0
c5 :(e<0e>0) et de >> 0
c6 :(e<0e>0) et de >>> 0
27
m1 : de 0 et e <<< 0 m4 : de 0 et e > 0
m2 : de 0 et e << 0 m5 : de 0 et e >> 0
m3 : de 0 et e < 0 m6 : de 0 et e >>> 0
Les trois types d’indices mentionnés ci-dessous sont combinés ensemble, ceci est
représenté sur la table de la figure (III-10).
e NB NM NS ZE PS PM PB
de
NB c1
NM a2 c2 a1
NS c3
ZE m1 m2 m3 ZE m4 m5 m6
PS c4
PM a3 c5 a4
PB c6
Finalement le tableau de la figure (III-8) est légèrement modifié pour tenir compte de la
variable de sortie qui est formée de neuf valeurs floues (figure III-11).
e
NB NM NS ZE PS PM PB
NB NVB NVB NVB NB NM NS ZE
NM NVB NVB NB NM NS ZE PS
NS NVB NB NM NS ZE PS PM
de ZE NB NM NS ZE PS PM PB
PS NM NS ZE PS PM PB PVB
PM NS ZE PS PM PB PVB PVB
PB ZE PS PM PB PVB PVB PVB
Dans le tableau (figure III-11), chaque élément formalise une règle comme, par exemple :
Cet ensemble de règles regroupe toutes les situations possibles du système évaluées par les
différentes valeurs attribuées à e et à sa variation de et toutes les valeurs correspondantes de la
variation de la commande diq.
28
L’évaluation des gains proportionnels provient de l’expérience. Pour le gain Ke , par
exemple, on peut commencer avec un facteur qui dépend de l’erreur maximale. Effectivement ces
valeurs font partie de la procédure d’évaluation par simulation. On a trouvé les valeurs suivantes
pour la machine électrique simulée :
Dans une deuxième approche d’un régulateur à logique floue, on utilise différentes
fonctions d’appartenance pour la variable de sortie (figure III-12):
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
(diq )diq i i
(III-3)
diq i 1 m
(diq )
res
i
i 1
Par rapport à la première approche, les règles sont aussi modifiées (figure III-12).
e
NB NM NS ZE PS PM PB
NB NVB NVB NVB NB NM ZE ZE
NM NVB NVB NB NB NM ZE PS
NS NVB NB NB NM PS PB PM
de ZE NVB NB NM ZE PM PB PB
PS NVB NB NS PM PB PB PVB
PM NVB ZE PM PB PB PVB PVB
PB NVB ZE PM PB PVB PVB PVB
29
résultat, de choisir un régulateur avec une variable d’entrée et une variable de sortie, notamment
l’erreur epos de la position pour l’entrée et la vitesse de référence ref pour la sortie.
On constate, que les sous-ensembles de ref (sauf ZE) sont tous assez loin de zéro. En
même temps, les sous-ensembles de l’erreur sont plutôt orientés vers zéro. Ces faits correspondent
à la deuxième réflexion.
0.8
0.6
0.4
0.2
30
Degré d’appartenance µ( ref)
1 NB NM NS ZE PS PM PB
0.5
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Les régulateurs à logique floue sont réalisés à l’aide du Toolbox « Fuzzy Logic » de
Simulink. La figure (III-14) montre l’éditeur de ce module avec ses différentes fenêtres.
31
Une comparaison des résultats d’expérimentation de la commande de la machine synchrone
à aimants permanents par des correcteurs classiques (PI et régulateur d’état) et un correcteur flou a
été faite (figures III-15 et III-16). Compte tenu des résultats [11], le PI flou semble pourvoir
remplacer le PI conventionnel pour améliorer les performances dynamiques de ce dernier.
Le PI Flou est très peu sensible aux variations des paramètres du système ainsi qu'aux
perturbations externes ce qui justifie sa robustesse. Il permet d'obtenir des temps de montée très
faibles par rapport au PI classique grâce aux larges domaines physiques de la variation de l'erreur et
de la variation de commande.
tr/min tr/min
250 2500
2000
200 1500
1000
Réglage d’état
150 500
Régulateur PI
0
Régulateur flou
100 Réglage d’état -
-
Régulateur PI
500 -
Régulateur flou -
0 -
0 0. 0. 0. 0. 1 0 0. 1 1. 2
temps (s) temps (s)
35 3
30 2
25 1
Réglage d’état Régulateur PI
20 0
15
Régulateur PI Régulateur Flou
-10
0 -40
0 0.1 0.2 0.3 0.4 0.5 0 0. 1 1. 2
temps (s) temps (s)
32
III-2- Exemple 2 : Navigation réactive d’un robot mobile
Un robot mobile est souvent astreint à suivre une trajectoire de référence, trajectoire
pouvant être :
- soit calculée dynamiquement en fonction des obstacles,
- soit matérialisée par une piste tracée sur le sol ou un câble enterré (cas de chariot
filoguidé).
Dans le premier cas, le robot doit se localiser par rapport à une trajectoire (immatérielle)
de référence ; dans le second, tout changement de trajectoire implique des interventions matérielles
parfois lourdes.
Pour réaliser la détection d’obstacles, nous avons choisi d’utiliser un ensemble de capteurs à
ultrasons qui présentent des caractéristiques intéressantes tant d’un point de vue performance que
du point de vue coût ou facilité d’implantation sur un robot mobile.
Le robot Pioneer II supporte une rangée de huit capteurs ultrasonores à travers huit
transducteurs [9] placés en son avant. En option, il peut également être équipé d’une autre rangée
de huit capteurs ultrasonores placés en son arrière.
Les sonars avants sont positionnés de la manière suivante : un de chaque coté et six de face,
séparés de vingt degrés d’intervalle (figure III-17).
33
Le champ de mesure de ces capteurs est compris entre 10 cm de portée minimale à 5m de
portée maximale.
Le choix de contrôleur flou pour la navigation d’un robot mobile s’est imposé
naturellement :
- les règles de conduite sont génériques, valables pour tous les robots mobiles ;
- elles peuvent être individualisées par apprentissage, pour tenir compte des
caractéristiques mécaniques et dynamiques des robots ;
- introduction de connaissances rend le robot immédiatement efficace, dés le début de
l’apprentissage ; l’apprentissage sert alors à améliorer la conduite ;
- enfin, le comportement du robot est toujours prévisible puisque, pour une situation
donnée, les règles appliquées sont interprétables.
De nombreux auteurs ont proposé des contrôleurs flous pour la navigation réactive, le
nombre de règles variant de 8 à 271. Dans ce dernier cas, 243 règles étaient dédiées à l’évitement
d’obstacles et 28 à la recherche de l’objectif. Un tel nombre de règles n’est pas très raisonnable :
cela nuit à la lisibilité et complique inutilement l’apprentissage.
Dans nos simulations et les expérimentations menées sur un vrai robot ( le robot Pioneer
II), nous avons utilisé un contrôleur de navigation de type suivant :
- les entrées sont les distances dans les trois directions : gauche, frontale et droite :
ces distances sont obtenues par balayage avec un système de perception formé de huit capteurs à
ultrasons.
- les sorties sont les commandes de vitesse et de changement de direction du robot :
ces deux commandes sont, le cas échéant, transformées en vitesses de rotation pour des roues
motrices gauche et droite.
Les distances sont évaluées par rapport aux deux sous-ensembles flous « Proche » et
« Loin », représentés à la figure (III-18.) Ces sous-ensembles flous sont définis par deux
paramètres :
- "dm", désignant la distance minimum par rapport à un obstacle, cette distance pouvant
varier avec la vitesse
- "ds", désignant la distance de sécurité, au delà de laquelle le robot peut circuler à vitesse
élevée (ds = 800 mm).
(D.)
P L
dm ds Distance(mm)
Figure III-18 : Sous-ensembles flous définis pour les variables distances (gauche, face, droite)
34
Les distances dans les trois directions (à gauche, en face, à droite) permettent de définir
huit situations synoptiques de base, notées (Si) avec i=1 à 8) immédiatement interprétables et pour
lesquelles la conduite à tenir découle du simple bon sens.
Ainsi, la situation S1 (des obstacles proches dans les trois directions) correspond à un cul-
de-sac : il faut s’arrêter et tourner fortement vers la droite ou la gauche. La situation S2 correspond
à un chemin libre à droite, donc le robot doit tourner à droite. La situation S7 correspond à un
obstacle sur la droite, qu’il faut éviter en tournant légèrement à gauche.
Les angles sont évalués par rapport au sens trigonométrique : positif vers la gauche et
négatif sinon.
Ainsi, la politique consistant à se diriger directement vers le point d’arrivée en évitant les
obstacles en longeant les murs en tenant sa droite s'exprime symboliquement par les huit règles
floues suivantes :
Les sept premières règles sont utilisées pour l'évitement d'obstacle alors que la huitième
règle permet d’atteindre l’objectif ( (obj) désigne l’angle qui sépare l’axe du robot et le point
d’arrivée).
Les grandeurs de sorties sont la vitesse du robot et la direction qu'il doit prendre. Pour
construire un contrôleur flou de type Takagi-Sugeno d'ordre 0, les valeurs symboliques des
conclusions sont remplacées par des valeurs numériques Vitj et Phij. Les sorties inférées
deviennent :
Dans cette partie, nous présentons des résultats obtenus par l’interface graphique du
simulateur du robot Pioneer II.
35
Niveau 0 : « Atteindre un point d’arrivée »
Nous rappelons que ce niveau de compétence permet au robot d’atteindre un point, et plus
particulièrement le point d’arrivée, lorsque l’environnement est très peu contraint. La figure (III-
18) propose des exemples de telles situations. Sur l’exemple (a) de cette figure, le point d’arrivée
est situé à l’arrière du robot lorsque celui-ci se trouve dans sa position de départ.
(a)
(b)
Figure III.18 : Exemples du niveau Atteindre un point d’arrivée.
Le robot fait demi-tour et s’oriente vers le point cible. Dans la figure (III-18-.b), le robot ne
rencontrant aucun obstacle devant lui se dirige directement vers le point d’arrivée.
36
(a) (b)
(a) (b)
37
BIBLIOGRAPHIES
1 R.KETATA
" Méthodologies de régulation numérique incluant la logique floue "-Thèse de Docteur L.A.A.S
Toulouse – 1992
2 M. BAUER
" Application de contrôleurs à logique floue pour la commande vectorielle des machines
à induction: commande en vitesse et en position "
Rapport de stage ingénieur- ESIM-22 Février 1995
3 A.IBALIDEN
" Implantation d’un régulateur de type flou sur des commandes d’onduleurs pilotant des machines
alternatives : application à la détermination des correcteurs "- Rapport d’activités 1994-1995
[4] B. BEAUFRERE
" Application de la logique floue à la planification de trajectoires de robots mobiles dans des
environnements inconnus "- Thèse de Docteur de l’université de Poitiers, Décembre 1994.
[5] P. Y. GLORONNEC " Algorithme d’apprentissage pour systèmes d’inférences floues " -
INSA de Rennes (IRISIA)- 1999.
6 B. DEMAYA
" Commande floue des systèmes à dynamiques complexes- Application à la commande d'un
moteur thermique "- Thèse de Docteur LAAS Toulouse - 17 Octobre 1994
7 H. BUHLER
" Réglage par logique floue " -Presse polytechniques et universitaires Romandes –1994
[9]M.RACHDI , DJ.MAIZI
"Implantation sur DSP de contrôleurs flous pour la commande vectorielle du modèle analogique de
la machine asynchrone " - Projet de fin d'études ingénieur - EMP 1997
38