Modélisation de robots par logique floue
Modélisation de robots par logique floue
Année 2006
THÈSE
Présentée en vue de l’obtention du diplôme de
DOCTORAT D’ETAT
Thème
Option
AUTOMATIQUE INDUSTRIELLE
Par
Salah KERMICHE
DEVANT LE JURY
Enfin, les derniers mots sont pour remercier toute ma famille pour
leur aide et leurs encouragements constants.
In robotics the navigation is defined as a task which consists of reaching a goal
position in the environment. This is requiring the necessary tools to implement the
algorithms of robot navigation. The robot should be able to move surely through the
free space of the environment taking into account the eventual presence of obstacles.
space of a path between an initial and a final position. This is should take
consideration of imposed constraints, such as, the most sure path which avoid the
In the presented work, the geometric method of path planning is used, it is also called
the method of forces field. It is based on a fuzzy logic controller, this for an automatic
Two methods have been proposed for the parameters adjustment of the fuzzy
controller, namely:
• Gradient method,
• Genetic algorithms.
En robotique, la navigation est définie comme une tâche qui consiste, pour le
robot, à atteindre un point but dans l’environnement. Le contexte de réalisation de la
tâche va conditionner les moyens nécessaires à mettre en œuvre pour permettre au
robot de naviguer. Le robot doit être capable de se déplacer de façon sûre à travers
l’espace libre de l’environnement, en tenant compte de la présence d’éventuels
obstacles.
Dans cette méthode, le mobile va être considéré comme étant placé dans :
Deux méthodes ont été proposées pour l’ajustement des paramètres du contrôleur
flou utilisé, dans la première on a employé la méthode du gradient, dans la deuxième
les algorithmes génétiques.
L1 Longueur du premier lien
L2 Longueur du deuxième lien
q1 L’angle du premier lieu avec l’axe des abscisses (x)
q2 L’angle du deuxième lien
•
Vitesse de l’effecteur par rapport au repère de base
x
•
Vitesse des coordonnées généralisées
q
J La matrice Jacobienne
n Degré de liberté du robot
m Degré de mobilité du robot
Ec L’énergie cinétique
Ep L’énergie potentielle
Γi La force généralisée sur l’articulation pour tout le système mécanique
A Matrice symétrique
w Vitesse angulaire
D(q) Matrice inertie
⎛ •⎞ Les forces d’inertie et de Coriolis
C ⎜ q, q ⎟
⎝ ⎠
G(q) Vecteur des couples moteurs aux articulations
E ci L’énergie cinétique du iième corps du robot
m1 La masse du premier lien
m2 La masse du deuxième lien
VL Vitesse de la roue arrière gauche
VR Vitesse de la roue arrière droite
ω Vitesse angulaire
L La distance entre les deux roues arrière
I Le moment d’inertie
r La rayon de la roue
R(θ) La matrice de rotation orthogonale
W La grandeur de consigne
Ucm Le signal de commande fournit par RLF
RLF Régulateur par logique floue
OCM Organe de commande
S Système à régler
U La grandeur de commande fournie par l’OCM
V perturbation
Y La grandeur à régler
YM Le vecteur qui contient les grandeurs mesurées
Fatt Force attractive
Frép Force répulsive
θ obs L’angle d’obstacle
d obs Distance entre robot-obstacle
µ Degré d’appartenance
θ rép L’angle répulsif
a nm Les centres des fonctions d’appartenance de formes Gaussiennes
bnm Les largeurs des fonctions d’appartenance
E L’espérance mathématique
N Le nombre d’itérations
r
e (t ) Le vecteur d’erreur d’apprentissage
y d (t ) La sortie désirée à l’instant t
− ∇ zV La notion du gradient de V
c nk Les valeurs des conséquences
MSE L’erreur moyenne quadratique
F xl( ) La sortie obtenue à partir du système flou considéré pour l’exemple l
yl La sortie désirée
Figure I.1 Architecture traditionnelle de décomposition du 11
programme de contrôle du robot en différents
modules de fonctionnement
Figure I.2 Décomposition basée sur le comportement 13
d’accomplissement de tâches
Figure I.3 Un module d’architecture forçage/inhibition 14
Figure II.1 Représentation d’un bras manipulateur 34
Figure II.2 Les coordonnées de la chaise par rapport au 46
référentiel
Figure II.3 La roue fixe 48
Figure II.4 La roue folle 49
Figure III.1 Structure d’un réglage multivariable par logique
floue 53
Figure III.2 Configuration interne d’un régulateur par LF 53
Figure III.3 L’espace de commande du bras manipulateur 61
Figure III.4 Entrées/sortie du contrôleur flou 61
Figure III.5 Fuzzification de l’angle d’obstacle 62
Figure III.6 Fuzzification de la distance d’obstacle 63
Figure III.7 Fuzzification de l’angle répulsif 64
Figure III.8 Schéma d’apprentissage 67
Figure III.9 Navigation du bras avant l’apprentissage 71
Figure III.10 Navigation du bras avant l’apprentissage 71
Figure III.11 Navigation du bras durant l’opération d’apprentissage 71
Figure III.12 Navigation du bras durant l’opération d’apprentissage 71
Figure III.13 Navigation du bras après l’opération d’apprentissage 72
Figure III.14 Navigation du bras après l’opération d’apprentissage 72
Figure III.15 Navigation du bras après l’opération d’apprentissage 72
Figure III.16 Navigation du bras après l’opération d’apprentissage 72
Figure III.17 Partition des fonctions d’appartenances de la première 74
entrée
Figure III.18 Partition des fonctions d’appartenances de la deuxième 74
entrée
Figure III.19 Partition des fonctions d’appartenances de la sortie du 74
contrôleur
Figure III.20 Sortie et sortie désirée + l’erreur d’apprentissage 74
Figure IV.1 Principe de croisement à un site 80
Figure IV.2 Principe de croisement à n sites 81
Figure IV.3 Principe de croisement uniforme 81
Figure IV.4 Principe de mutation 82
Figure IV.5 La forme d’une base de règles floues 87
Figure IV.6 Représentation surface et représentation profonde 92
Figure IV.7 Améliorations de l’interprétation et la précision dans la 94
Modélisation floue
Figure IV.8 Effets des haies linguistiques « very » et « more or less » 96
Figure IV.9 Deux genres d’ajustements de la forme de MF 97
FigureIV.10 Codage du chromosome 87
FigureIV.11 Processus d’ajustement génétique pour 3 règles floues 100
FigureIV.12 Intervalles de variation pour chaque paramètre 103
FigureIV.13 Processus d’ajustement + apprentissage 105
FigureIV.14 Entrées / sortie du contrôleur 106
FigureIV.15 Entrées / sortie du contrôleur obtenu par la méthode 108
De Wang-Mendel
FigureIV.16 Ajustement des paramètres par une méthode basée 108
sur le changement des paramètres de base des MF
FigureIV.17 Ajustement des paramètres après 30 et 50 générations 109
FigureIV.18 Ajustement des paramètres par une méthode basée 110
sur l’application des facteurs de graduation NL
FigureIV.19 Ajustement des paramètres par une méthode basée 110
sur l’application des facteurs de graduation NL
FigureIV.20 Navigation du robot en présence d’obstacle après 111
Ajustement des paramètres du contrôleur
FigureIV.23 Navigation du robot en présence d’obstacle après 111
Ajustement des paramètres du contrôleur
FigureIV.24 L’erreur entre la sortie du système avant et après 112
apprentissage
I Introduction générale……………………………. 1
I.1 Introduction……………………………………………… 5
I.2 La robotique mobile…………………………………….. 5
I.3 Perception et modélisation de l’environnement ……. 8
I.3.1 Localisation……………………………………………… 8
I.3.2 Planification et exécution de mouvements…………... 8
I.4 Les architectures de contrôle…………………………. 10
I.4.1 Les architectures hiérarchiques de contrôle………… 10
I.4.2 Contrôleurs réactifs…………………………………….. 12
I.4.3 Architecture de forçage / inhibition…………………… 13
I.5 Contrôleurs hybrides…………………………………… 14
I.6 Complexité de planification de mouvement…………. 14
I.6.1 Notion de complexité ………………………………….. 15
I.6.2 Complexité du problème de planification de
mouvement……………………………………………… 15
I.7 Navigation……………………………………………….. 15
I.7.1 Navigation en milieu intérieur…………………………. 18
I.7.2 Navigation en milieu extérieur………………………… 20
I.8 Méthodes de suivi……………………………………… 20
I.9 Les champs de potentiels……………………………… 21
I.9.1 Génération de commandes par potentiels…………… 22
I.9.2 Génération de chemins par potentiels……………….. 25
I.10 Motivation et problématique…………………………… 29
II Modélisation………………………………………. 33
II.1 Introduction……………………………………………… 33
II.2 Modélisation géométrique……………………………... 33
II.2.1 Modélisation géométrique directe…………………….. 33
II.2.2 Modélisation géométrique inverse……………………. 34
II.3 Modèle cinématique……………………………………. 35
II.3.1 Introduction……………………………………………… 35
II.3.2 Modèle cinématique direct…………………………….. 35
II.3.3 Modèle cinématique inverse………………………….. 36
II.4 Modélisation dynamique………………………………. 37
II.4.1 Introduction……………………………………………… 37
II.4.2 Formalisme de Lagrange-Euler………………………. 37
II.5 Application du modèle dynamique pour un bras……. 38
II.6 Présentation de la chaise roulante…………………… 41
II.6.1 Modèle de la chaise roulante…………………………. 41
II.6.2 Non holonomie de la chaise…………………………… 41
II.6.3 Contrôlabilité de la chaise……………………………... 42
II.7 Modèle de la roue……………………………………… 43
II.7.1 La roue fixe……………………………………………… 43
II.7.2 La roue directrice……………………………………….. 43
II.7.3 La roue folle…………………………………………….. 44
Conclusion………………………………………………. 45
IV Algorithme génétique……………………………… 71
IV.1 Introduction …………………………………………….. 71
IV.2 Principe de fonctionnement des AG………………….. 71
IV.3 Principe des algorithmes génétiques………………… 72
IV.4 Structure de l’algorithme génétique………………….. 73
IV.5 Le croisement…………………………………………… 75
IV.5.1 Le croisement à un site………………………………… 75
IV.5.2 Le croisement à n sites………………………………… 75
IV.5.3 Le croisement uniforme………………………………... 76
IV.6 La mutation……………………………………………… 76
IV.7 Le principe de construction d’un contrôleur…………. 77
IV.8 Apprentissage d’une base de règles floues…………. 78
IV.8.1 Génération de règles floues ………………………….. 79
IV.5.2 Système flou et approximation universelle………….. 83
IV.9 La modélisation floue…………………………………... 86
IV.9.1 Processus d’ajustement……………………………….. 88
IV.9.2 Ajustements des structures surfaces et profondes…. 89
IV.10 Processus d’ajustements génétiques………………… 92
IV.10.1 Processus génétique…………………………………… 92
IV.10.2 Composantes génétiques……………………………… 95
IV.10.3 L’interprétation de la méthode d’ajustement………… 98
IV.11 Etude et simulation du processus d’ajustement…….. 100
IV.12 Résultats de simulation………………………………… 103
Conclusion………………………………………………. 108
Conclusion générale et perspective………………….. 109
Bibliographie……………………………………………. 114
Chapitre I Introduction 1
INTRODUCTION GENERALE
L’implantation de robots dans des ateliers, a mis en évidence différents
problèmes liés à l’utilisation et à la gestion des sites robotisés, dont le manipulateur est
l’un des composants. Afin de contribuer à la résolution et à la maîtrise de ces derniers,
différents outils ont été développés dont l’objectif est d’apporter une aide à l’utilisateur
ou au concepteur pour résoudre les problèmes qui se posent lors des différentes phases
du travail, et qui concernent par exemple, le choix du robot en fonction des tâches
visées, l’implantation de celui-ci dans un site et les méthodes de programmation. Ces
différentes tâches peuvent être résolues ou potentiellement traitées par l’utilisation de
systèmes Conception assistée par ordinateur (CAO) Robotique, qui offrent de
puissants outils graphiques permettant de traiter facilement certains des problèmes
cités. Ils permettent en outre, au moyen de simulateurs graphiques, de programmer et
de simuler hors ligne les tâches. Ainsi, les problèmes d’accessibilité de la tâche et
d’évitement de collisions peuvent être vérifiés lors de la simulation ce qui permet de
réduire la phase de vérification sur le site réel.
On considère dans cette thèse le problème de la planification de chemins en
présence d’obstacle. Historiquement, la planification de chemins correspond aux
premiers travaux de recherche effectués dans le domaine de la planification de
mouvement et se limite à l’aspect géométrique du problème.
L’objectif est de déterminer à chaque instant quelle commande doit être
envoyée aux effecteurs, connaissant d’une part le but à accomplir et d’autre part les
valeurs retournées par les différents capteurs. Il s’agit de déterminer les liens existants
entre la perception et l’action connaissant les buts à atteindre.
La commande par logique floue est un avantage pour bon nombre de raisons,
elle ne doit pas être négligée.
Les méthodes de commande floue ont d’abord été développées selon une
approche basée sur l’expertise, initialement proposée par Mamdani. Dans cette
démarche, l’expertise sur le système à commander est strictement exploitée pour
écrire/modéliser le contrôleur flou sous la forme d’une base de règles. Nous pouvons
souligner la limitation de cette approche pour les problèmes de commande complexes
telles l’explosion du nombre de règles dans une base de données complète, la
difficulté d’exprimer l’expertise, notamment à cause de la complexité introduite par
le couplage dans les problèmes multivariables. D’où la nécessité de développer des
méthodes systématiques de modélisation floue à partir de données. Des modèles
permettant de développer des méthodes de synthèse « basée/modèle » rejoignant ainsi
les démarches classiques de l’automatique.
• Dans le chapitre 1 : Nous présentons des généralités sur la robotique, les différentes
architectures de contrôle, quelques méthodes de navigation des robots en présence
d’obstacle.
pour le contrôle d’un robot mobile à roue directrice en présence d’obstacle. Nous
avons souligné la limitation de cette approche d’où la nécessité d’ajuster les
paramètres du contrôleur utilisé, on s’est retourné vers une approche d’optimisation
génétique.
• La conclusion donne un aperçu sur les travaux réalisés, discutions sur les résultats
et les perspectives.
Chapitre I Introduction 5
I.1 Introduction
est aveugle. Dans une telle situation, qui concerne d’ailleurs la majorité des robots,
seule une tâche apprise au préalable et répétée dans un environnement connu et
invariant peut être envisagée. La position relative par rapport à l’environnement est
alors estimée de manière indirecte en fonction d’une mesure des mouvements du
robot. Ainsi, une légère modification de la configuration des objets sur le déroulement
de la tâche à accomplir. Par exemple, s’il s’agit de réaliser un travail de soudure au
dixième de millimètre près et que l’objet à souder est décalé de un millimètre par
rapport à la référence, tous les points de soudure seront décalés de cette même
distance.
Divers capteurs peuvent être utilisés afin de permettre aux systèmes robotiques
de pouvoir appréhender l’environnement. Les plus couramment utilisés sont les
capteurs à ultrasons, les télémètres laser, les capteurs d’effort et les caméras. Le
capteur à ultrasons a l’avantage de pouvoir être utilisé dans un environnement où la
visibilité est faible mais il fournit une information relativement imprécise. Il est
souvent utilisé dans des applications de robotique mobile en association avec d’autres
capteurs. Le télémètre laser donne quant à lui une image très précise de
l’environnement, mais il nécessite un balayage de l’espace, ce qui est très coûteux en
temps. Il est souvent utilisé en extérieur dans des environnements totalement inconnus
et difficilement modélisables où il permet de reconstruire la géométrie du terrain
même si ce dernier est très peu marqué. Le capteur d’effort fournit également au robot
un moyen d’appréhender un peu mieux son environnement. Il est souvent utilisé pour
des applications de montage, et plus particulièrement pour des tâches d’insertion. Il
permet d’avoir une information sur les forces et les couples d’interaction entre le robot
(ou une pièce qui est dans la pence) et son environnement. Ces trois capteurs ont la
particularité de réaliser une mesure active sur l’environnement, c'est-à-dire qu’ils
fournissent eux-mêmes l’énergie pour la grandeur à mesurer. Une caméra exerce quant
à elle une mesure passive, sans interaction avec l’environnement. C’est le capteur
visuel dont les caractéristiques se rapprochent le plus de l’œil humain. Elle permet
d’obtenir, en une seule acquisition, une image de l’environnement situé dans son
champ de vision. Sur ce point, elle est donc plus rapide que le télémètre laser. Mais,
tout comme ce dernier, la caméra est également un capteur précis. La caméra est
Chapitre I Introduction 8
souvent montée sur l’organe terminal du robot. Mais il arrive qu’elle soit utilisée pour
visualiser le robot et son environnement.
En robotique, la navigation est définie comme une tâche qui consiste, pour le robot, à
atteindre un point but dans l’environnement. Le contexte de réalisation de la tâche va
conditionner les moyens nécessaires à mettre en œuvre pour permettre au robot de
naviguer.
Parmi toutes les fonctions requises par un système robotique pour atteindre cet
Parmi l’ensemble des robots existants, nous nous intéressons au cours de cette étude à
une famille appelée robots autonomes.
Un robot est dit autonome si, moyennant une spécification externe de haut
niveau de la tâche à accomplir, il est capable de la mener à bien sans intervention
humaine. Le développement d’un robot autonome pose de nombreux problèmes
fondamentaux dans des domaines variés et bien distincts.
Le problème posé est de déterminer à chaque instant quelle commande doit être
envoyée aux effecteurs, connaissant d’une part le but à accomplir et d’autre part les
valeurs retournées par les différents capteurs. Il s’agit de déterminer les liens existants
entre la perception et l’action connaissant les buts à atteindre.
Historiquement les premières études ont été basées sur le cycle classique en
intelligence artificielle : perçoit, pense, agit.
Un robot est un système complexe qui doit satisfaire à des exigences variées et
parfois contradictoires. Un exemple typique pour un robot mobile est l’arbitrage qui
doit être fait entre l’exécution la plus précise possible d’un plan préétabli pour
atteindre un but et la prise en compte d’éléments imprévus, tels que les obstacles
mobiles. Ces arbitrages, que ce soit au niveau de l’utilisation des capteurs, des
effecteurs ou des ressources de calcul, sont réglés par un ensemble logiciel appelé
architecture de contrôle du robot. Cette architecture permet donc d’organiser les
relations entre les trois grandes fonctions qui sont la perception, la décision et l’action.
La fréquence d’exécution des modules décroît au fur est à mesure que l’on
monte dans la hiérarchie. Traditionnellement, le niveau le plus bas (et donc le plus
rapide) est chargé du contrôle des moteurs. Le niveau le plus haut (le plus lent) est
chargé de la planification. Afin d’éviter tout problème d’instabilité, la différence de
fréquence entre chaque niveau doit être importante.
Rodney Brooks a proposé une solution radicale à tous ces problèmes sous la
forme d’une architecture réactive. Dans cette architecture, un ensemble de
comportements réactifs, fonctionnant en parallèle, contrôle le robot sans utiliser de
modèle du monde. Cette architecture supprime évidemment les problèmes dus aux
différences entre la réalité, d’une part, et le modèle de l’environnement du robot,
d’autre part, mais limite clairement les tâches que peut effectuer le robot. En effet,
sans représentation interne de l’état de l’environnement, il est très difficile de planifier
une suite d’actions en fonction d’un but à atteindre. Les robots utilisant cette
architecture sont donc en général efficaces pour la tâche précise pour laquelle ils ont
été conçus, dans l’environnement pour lequel ils ont été prévus, mais sont souvent
difficiles à adapter à une tâche différente.
Dans l’architecture traditionnelle, si une panne survient sur l’un des modules,
alors la panne se généralise à l’ensemble du système, chaque module étant essentiel au
fonctionnement de l’ensemble.
Dans l’architecture proposée par Rodney A. Brooks, même après la perte d’un
module, le système peut continuer à fonctionner en mode dégradé, en inhibant ce
module par exemple.
Un problème est dit décidable s’il existe une méthode algorithmique qui lui
donne une solution en un temps fini. Une telle méthode est alors dite complète pour ce
problème. Pour évaluer la complexité d’un algorithme on étudie son comportement en
termes de temps d’exécution et d’espace mémoire nécessaires, en fonction de la taille
du problème. Cette taille est un nombre M qui caractérise la quantité et la complexité
des données d’entrée du problème.
I.7 Navigation
Les premières études en robotique se sont appuyées sur une approche du
problème fondée sur les acquis de l’intelligence artificielle. Le cycle classique peut se
résumer par (percevoir, penser, agir). Un premier système, généralement de type
symbolique, gère les objectifs du robot et détermine un ensemble de buts géométriques
devant être atteints (partie pense du cycle). Les données provenant des différents
capteurs sont filtrées, fusionnées et intégrées dans un modèle de l’environnement
(partie perçoit). Un chemin est ensuite extrait de ce modèle grâce à un planificateur
géométrique (partie pense de nouveau). Ce chemin est finalement traduit en actions de
déplacement (partie agit). Le robot est contrôlé par une série de planificateurs.
Chapitre I Introduction 16
Le choix d’une méthode de planification de chemins est guidé par deux questions :
• La décomposition en cellules. Cette approche est parmi celles les plus étudiées. Il
s’agit de décomposer l’environnement du robot en régions élémentaires (appelées
cellules) de telle sorte qu’un chemin entre deux configuration d’une même région
soit trivial à générer (en imposant par exemple la propriété de connexité). Le
chemin est alors une simple ligne droite joignant les deux points. On construit et
on parcourt ensuite le graphe représentant la relation d’adjacence entre les cellules.
• Les méthodes de potentiels. Le robot, représenté par un point dans l’espace des
configurations, est considéré comme une particule se déplaçant sous l’influence
d’un champ de potentiels artificiels crée par la configuration du but et des
obstacles. Ces méthodes furent développées à l’origine pour l’évitement en ligne
d’obstacles par un bras de robot découvrant son environnement au fur et à mesure
[Kat.93]. L’avantage principal des méthodes de type potentiel est leur rapidité de
calcul permettant de les utiliser en ligne. L’inconvénient principal est que le champ
est susceptible de contenir des minima locaux. C’est pour essayer de palier ce
problème que les méthodes de potentiels ont évolué vers des méthodes globales
grâce à l’utilisation de la connaissance à priori de la totalité de l’environnement.
On peut citer dans ce domaine les travaux de [Bar.89], de [Kod.87].
• Le problème de la navigation peut donc être décomposé en plusieurs tâches,
comme par exemple : la planification de trajectoires, l’évitement d’obstacles, etc.
La richesse de l’information visuelle rend possible une interprétation
contextuelle; par exemple, dans des environnements humains, la plupart des
informations exploitées par l’homme lors de ces déplacements est visuelle; une
interprétation contextuelle du contenu des images, fondée sur des modèles d’entités
susceptibles d’être reconnues, est indispensable à l’heure de naviguer dans ces
environnements.
Afin de naviguer dans ces environnements, le robot doit, soit construire son
propre modèle du monde, soit l’acquérir par une autre méthode. En plus, il existe
plusieurs possibilités pour les représentations utilisées dans ce modèle du monde,
parmi lesquelles on peut citer :
a) Navigation métrique
Une manière plus qualitative de représenter le monde dans lequel notre robot va
évoluer, semble être une bonne alternative. La représentation qualitative la plus
communément utilisée, est appelée carte topologique; c’est un graphe, dans lequel
chaque noeud correspond à un endroit caractéristique (carrefour entre couloirs, entrées
dans les espaces ouverts …). Chaque lieu devra être décrit par un ensemble de
caractéristiques propres, qui permettront au robot de le reconnaître. Une arête liant
deux noeuds signifie qu’il existe une commande référencée capteur que le robot peut
exécuter afin de se déplacer entre les deux lieux correspondants. Cette représentation
est particulièrement adaptée pour décrire des réseaux de couloirs : les lieux
correspondent aux carrefours, les arêtes aux couloirs qui les lient.
Pour la génération d’une trajectoire entre deux lieux définis dans une carte
topologique, il suffit de rechercher un chemin dans le graphe. Les consignes pour
naviguer seront des commandes référencées capteur, par exemple Suivre le couloir,
Tourner à gauche, Franchir la porte … Pour chaque consigne, il existe des
caractéristiques précises de l’environnement à suivre (plinthes, arête d’un mur, bords
de la porte…); un module de suivi de primitives visuelles, sera donc requis. Dans le
cas de la navigation topologique, le robot n’a nul besoin de connaître sa position
précise par rapport à un repère du monde. Il doit seulement déterminer une localisation
qualitative et, au mieux, une estimation de sa position relative par rapport à un repère
lié au lieu dans lequel il se trouve.
Essentiellement, c’est à partir de correspondance entre images que les lieux sont
identifiés, par des méthodes d’indexation. Plusieurs approches qui utilisent les images
directement pour calculer la position du robot, utilisent des caméras.
méthodes ont été conçues. Les méthodes de suivi visuel peuvent être divisées en quatre
classes:
• Méthodes de suivi fondées sur des modèles. Ces méthodes repèrent des
caractéristiques connues dans la scène et les utilisent pour mettre à jour la position
de l’objet. Parmi ces méthodes, citons celles qui exploitent les modèles
géométriques fixes, et les modèles déformables.
Le contrôle du robot est effectué par une force appliquée sur l’outil terminal
qu’il s’agit de déterminer en fonction des contraintes mécaniques des systèmes et de
l’environnement. Le lieu entre la force F et les différents couples moteurs à appliquer
sur chacune des articulations de manière à produire F. Le problème est formulé dans
l’espace opérationnel. Cet espace correspond à l’ensemble x des paramètres
indépendants permettant de décrire la position et l’orientation de l’outil terminal du
robot.
Le formalisme de Lagrange permet au travers de cette énergie de mettre en
relation la force F avec le déplacement de l’outil :
Où Λ est la matrice d’inertie, µ (x, x& ) correspond à la force de Coriolis et P(x) la force
de gravité.
La relation (I.1) permet de calculer la commande F assurant au robot une
trajectoire particulière. Aucune référence n’est faite aux obstacles ou à la position du
but. Le principe de l’évitement en ligne d’obstacles est le suivant : une particule
Chapitre I Introduction 23
Une fonction de potentiel possédant comme seul minimum le but à atteindre est
appelée une fonction de navigation globale. [Kod.87] a montré qu’une telle fonction
n’existe pas en général. En particulier, si l’espace des configurations est de dimensions
2 et qu’il existe q obstacles disjoints homéomorphes au disque unité, une fonction de
potentiel U possède au moins q points singuliers en forme de cols . La présence de tels
points n’est en revanche pas un problème car ils représentent un point d’équilibre
instable. Une petite perturbation suffit à faire basculer la particule d’un côté ou de
l’autre. Une telle fonction de potentiel, que l’on peut expliciter dans ce monde
sphérique particulier, est appelée fonction de navigation. Le problème maintenant est
de pouvoir calculer cette fonction dans un environnement quelconque. [Kod.87] a
montré que s’il existe un difféomorphisme permettant de transformer le monde
sphérique en un environnement A, ce difféomorphisme peut également transformer la
Chapitre I Introduction 24
manière à s’arrêter juste avant l’obstacle. Plus la différence entre ces deux temps est
faible, plus le freinage devient urgent et plus le potentiel devient élevé.
Au lieu d’avoir une seule fonction de potentiel résolvant tous les problèmes
simultanément. Arkin propose d’avoir recours à plusieurs fonctions spécialisées qu’il
peut combiner créant ainsi un vaste ensemble de fonctions différentes. Cela lui donne
un recours en cas de problèmes où il peut transformer sa fonction en influant sur les
différentes composantes.
Chapitre I Introduction 26
Les approches à base de potentiels telles qu’elles ont été introduites à l’origine
et telles que nous les avons présentées au cours de la section précédente, considèrent
que le robot est une particule élémentaire se déplaçant dans l’espace des
configurations sous l’action de forces provenant des obstacles et du but à atteindre.
Pour chaque configuration q, la particule est soumise à une force F(q) déterminant
son accélération. Connaissant les équations dynamiques du robot, il est alors possible
de déterminer le couple à appliquer à chacune de ces articulations pour que le
comportement du point contrôlé soit effectivement identique à celui de la particule
considérée.
Si l’on dispose par avance d’un modèle de l’environnement et des différents
obstacles, il est possible de simuler le comportement de la particule afin de planifier un
chemin libre permettant de rejoindre le but. On obtient ainsi une méthode de
planification de chemin basée sur les potentiels. Il est très important de remarquer que
la philosophie utilisée par ces planificateurs est identique à celle utilisée par les
approches d’évitement en ligne d’obstacles. La différence fondamentale est que dans
un cas, le résultat est un chemin qu’il convient ensuite de soumettre à un système de
contrôle afin que le robot puisse le parcourir. Les méthodes de planification par
potentiel sont des méthodes de haut niveau. Elles connaissent, de part leur facilité de
mise en œuvre, un très grand succès en robotique.
a) Planification en profondeur
∂U
x(qi +1 ) = x(qi ) ⇔ δ i ( x, y , θ )
∂x
∂U
y (qi +1 ) = y (qi ) ⇔ δ i ( x, y , θ )
∂y (I-3)
∂U
θ (qi +1 ) = θ (qi ) ⇔ δ i (x, y,θ )[2π ]
∂θ
Le chemin ainsi généré suit la pente la plus forte afin de diminuer la fonction
potentiel de la configuration initiale jusqu’au but à atteindre. Dans le cas d’évitements
simples, cette méthode permet de générer un chemin très rapidement. Dans le cadre
d’évitements plus complexes, elle est susceptible d’être mise en échec par la présence
de minima locaux.
Cette approche a été proposée par [Bar et Lat.91]. Elle consiste tout d’abord à
construire les différentes valeurs de la fonction de navigation sur l’espace des
configurations puis exploiter cette fonction avec un algorithme de type planification
par le meilleur d’abord par exemple. Afin de déterminer les différentes valeurs prisent
par la fonction, l’espace des configurations est tout d’abord discrétisé sous forme de
grille. A l’initialisation, la cellule contenant le but reçoit la valeur 0. Ces voisines
directes faisant partie de l’espace libre et non encore affectées reçoivent la valeur 1.
Les voisines de ces nouvelles cellules reçoivent ensuite la valeur 2 et ainsi de suite
jusqu’à atteindre la position initiale du robot. La propagation de ces valeurs
Chapitre I Introduction 28
(correspondant pour chaque cellule à la distance la séparant du but) est réalisée par un
algorithme de type wavefront expansion.
e) Planification variationnelle
Cette approche de la planification n’est pas basée sur le suivi d’une particule
cherchant à minimiser la valeur d’une fonction. Cette méthode nécessite la définition
d’une fonctionnelle J associant un nombre à un chemin. Le principe de la planification
est de déterminer le chemin τ minimisant J.
[ r
]
1
J (τ ) = ∫ U (τ (s )) + dτ / dp ds (I-5)
0
Le premier terme a pour but de fournir un chemin évitant les forts potentiels et
donc les obstacles. Le second permet de produire des chemins courts. La fonctionnelle
J étant également minimisée par une approche de type descente de gradient,
l’optimisation peut être bloquée par un minimum local ne correspondant pas à un
chemin libre. L’avantage d’une telle approche réside néanmoins dans la possibilité de
coder facilement grâce à J un ensemble de critères que l’on souhaite retrouver dans le
chemin généré.
Chapitre I Introduction 29
La dernière possibilité que nous indiquons dans cette section afin de contourner
le problème du minimum local est la déformation de chemins existants telle qu’elle a
été proposée par [War.98]. Le principe consiste à approcher le chemin que l’on
cherche par un ensemble de segments de droite. A l’initialisation, le chemin relie le but
à l’origine en traversant éventuellement un certain nombre d’obstacles. Le principe des
potentiels ici est de chasser les points de l’intérieur vers l’extérieur des obstacles et de
déformer en conséquence le chemin.
Toutes les méthodes précédemment décrites font appel à une modélisation de
l’environnement et plus particulièrement des différents obstacles (sous formes de
primitives géométriques telles que les ellipsoïdes dans le cas de [Kat.86]).
Ainsi, un chemin (γ) associe une configuration à chaque moment (t), décrivant
le mouvement du robot. Si qi et qf correspondent respectivement aux configurations
initiales et finales telles que :
Les robots concernés par ces travaux de recherche sont des robots de type bras
manipulateur, robot mobile, et le problème traité est celui de la détermination
automatique de mouvements. La planification automatique des mouvements constitue
un problème réel et critique, qui nécessite des développements et éventuellement des
recherches en ce domaine.
Il existe plusieurs manières d’arriver à des conclusions. Parmi elles, nous distinguons
trois groupes principaux :
La commande floue a été une des grandes applications de la logique floue dans
les années (1985-1995) et on a pu constater dans ce domaine, ce qu l’on avait connu
dans le champ de l’intelligence artificielle (IA) dans les années (1975-1985) alors que
la plupart de ses applications étaient des systèmes experts. Ces applications de
commande floue étaient développées selon une démarche « basée connaissance »
reposait sur l’expertise d’un opérateur sur un problème de commande donné, de
complexité limitée (contrôleurs dits de type Mamdani).
II.1 Introduction
Ce chapitre consiste à représenter le comportement du robot par des équations
algébriques, nous faisons appel à des notions mathématiques de point de vue position
(Modèle géométrique) ou de point de vue vitesse (modèle cinématique) ou de point de
vue des efforts misent en jeu (modèle dynamique). Les coordonnées articulaires et
opérationnelles sont les paramètres qui caractérisent le modèle du robot. Les premières
permettent au mécanisme de modifier sa géométrie et les secondes déterminent la
position et l’orientation de l’organe terminal.
(II.2)
Q = (q1 , q 2 , ...................., q n )
T
X = L1 cos(q1 ) + L2 cos(q1 + q 2 )
(II.3)
Y = L1 sin (q1 ) + L2 sin (q1 + q 2 )
Les relations (II.3) expriment le modèle géométrique direct qui est bien de la forme
générale (II.1).
L2 q2
q1 + q2
L1
q1 x
X1 X2
qi = F −1 ( xi ) (II.4)
Il s’agit d’inverser le système (II.3). q 2 = ±α
Où α = Arccos{[x 2 + y 2 − (L12 + L22 )]/ 2 L1 L2 } (II.5)
0 〈 α 〈 Π
Les équations (II.5), (II.7) constituent le MGI on observe qu’il y a deux solutions,
représenté figure (II.1), on deux postures différentes du bras l’une dite "coude haut",
l’autre dite "coude bas".
L’inversion d’un modèle géométrique direct n’est pas toujours possible, et lorsque
la solution existe elle n’est pas toujours unique.
La propriété évidente du modèle cinématique est sa linéarité par rapport aux vitesses.
•
q : Vitesse des coordonnées généralisées.
⎢. . . . . . . . . . . . . . . . . . . ⎥
J =⎢ ⎥ (II.9)
⎢.K K K K K K K K K K K K ⎥
⎢K K K K K K K K K K K K ⎥
⎢ ⎥
⎢⎣∂Fm / ∂q 1 ∂Fm / ∂q 2 . . . . . . . . . ∂Fm / ∂q n ⎥⎦
avec :
n : D.D.liberté du robot.
• det J ≠ 0
• det J = 0
Considérons donc le nombre de degré de liberté (n) et le nombre de degré de mobilité
(m)
• det J = 0 ; la configuration pour laquelle det J = 0 est dite singulière; cela signifie que
le rang de la matrice (J) est inférieur à (m) c'est-à-dire qu’il y a des combinaisons
linéaires entre les coordonnées opérationnelles Xi.
2- Si m > n ; pour toutes les configurations, le robot est redondant, il existe une infinité
de solutions du problème du modèle cinématique inverse.
⎛ •
⎞
d / dt ⎜ ∂L / ∂ qi ⎟ − (∂L / ∂qi ) = Γi (II.13)
⎝ ⎠
Avec L = E c − E p est la fonction de Lagrange, égale à la différence entre l’énergie
E c = 1 / 2 * w + A(q ) * w
A : est une matrice symétrique définie positive, dépendant des masses et des inerties de
chaque corps,
⎛ •⎞
C ⎜ q, q ⎟ : les forces d’inertie et de coriolis.
⎝ ⎠
G (q ) : vecteur des couples moteurs aux articulations.
E c1 = 1 / 2 * w1 + A1 * w1
(II.15)
E c 2 = 1 / 2 * w2 + A2 * w2
Une fois que nous aurons calculé l’énergie cinétique pour chaque corps, calculons
l’énergie cinétique totale du robot « bras manipulateur » par la formule suivante.
Chapitre II Modélisation 39
n
E ct = ∑ E ci (II.16)
i =1
Puis nous pouvons appliquer les équations différentielles de Lagrange pour obtenir les
équations différentielles qui décrivent la dynamique de ce manipulateur.
⎛ •
⎞
d / dt ⎜ ∂E c / ∂ q i ⎟ − (∂E c / ∂qi ) = Γi (II.17)
⎝ ⎠
i = 1,….., n
Pour notre cas i = 2
⎡Γ1 ⎤
Γ=⎢ ⎥ (II.18)
⎣Γ2 ⎦
⎛ •
⎞
d / dt ⎜ ∂E c / ∂ q 1 ⎟ − (∂E c / ∂q1 ) = Γ1
⎝ ⎠
(II.19)
⎛ •
⎞
d / dt ⎜ ∂E c / ∂ q 2 ⎟ − (∂E c / ∂q 2 ) = Γ2
⎝ ⎠
mouvement du corps.
Ces deux expressions différentielles peuvent être écrites sous la forme matricielle
suivante :
••
⎛ •
⎞•
D(q ) q + C ⎜ q, q ⎟ q + G (q ) = Γ (II.20)
⎝ ⎠
G (q ) le vecteur gravitationnel.
Chapitre II Modélisation 40
⎡ 1 ⎤
⎢a1 + a 2 cos q 2 a3 +
2
a 2 cos q 2 ⎥
D(q ) = ⎢ ⎥ (II.21)
⎢a + 1 a cos q a3 ⎥
⎢⎣ 3 2 2 2
⎥⎦
⎡ ⎧ (ω1 +ω 2 )⎫ ⎤
⎢− a 2 sin q 2 ⎨ ⎬ω 2 ⎥
⎩ 2 ⎭ ⎥
C (q, q& ) = ⎢ (II.22)
⎢1 ⎥
⎢ a 2 sin q 2 (ω1 )
2
⎥
⎣2 ⎦
⎡a 4 cos q1 + a5 cos(q1 + q 2 )⎤
G (q ) = ⎢ ⎥
⎣ a5 cos(q1 + q 2 ) ⎦ (II.23)
1 1
Où : a1 = m1l12 + m2 l12
2 2
a 2 = m2 l1l 2 ,
1
a3 = m2 l 22 ,
3
1
a4 = m1 gl1 + m2 gl1 ,
2
1
a5 = m2 gl 2 ,
2
ω1 = q&1 et ω 2 = q& 2
Chapitre II Modélisation 41
Avec :
Vg : la vitesse de la roue arrière gauche.
Vd : la vitesse de la roue arrière droite.
d : la distance entre les deux roues arrière de la chaise.
Chapitre II Modélisation 42
⎡cos(θ ) − sin (θ ) 0⎤
R(θ ) = ⎢⎢sin (θ ) cos(θ ) 0 ⎥⎥ (II.25)
⎢⎣ 0 0 0 ⎥⎦
Le robot mobile à roues constitue une classe de système mécanique caractérisé par
des contraintes non intégrables. L’étude de la manoeuvrabilité d’un robot mobile se
fait à partir de la traduction en termes mathématiques des contraintes de roulement
pur sans glissement vérifiées pour chacune des roues, les contraintes imposées aux
différents mouvements, suivant le type de la roue.
Description de la roue : On suppose que durant le mouvement, le plan de chaque
roue reste en permanence perpendiculaire au sol. On distingue deux classes de roues :
les roues conventionnelles et les roues suédoises. Dans chaque cas on suppose que le
contact entre la roue et le sol est réduit à un seul point.
Chapitre II Modélisation 43
Ym β
r φ
L A
α
M Xm
II.7.2 La roue directrice : caractérisée par un axe d’orientation vertical passant par
le centre de la roue. La description de cette roue est identique à celle de la roue fixe, sauf
que l’angle (β) n’est pas constant. La position de la roue est caractérisée par trois
constantes (l , α , r ) et le mouvement par rapport à la plate forme par deux
Chapitre II Modélisation 44
II.7.3 La roue folle : caractérisée par un axe d’orientation vertical appartenant au plan
de la roue, mais ne passe pas par le centre de la roue figure (II.4).
A
Ym
d B
β φ
A
L B
α
M Xm
d
Conclusion :
La première compréhension des mouvements complexes dans l’espace, de
l’outil porté par un bras manipulateur est essentiellement une affaire de géométrie des
déplacements. Ce chapitre traite de la modélisation géométrique avec les outils simples
du calcul vectoriel et du calcul matriciel. Après avoir rappelé ces outils, l’accent est mis
sur des procédures générales d’obtention des relations entre la situation de l’organe
terminal et les variables actionneurs, dans le problème direct et le problème inverse.
Un robot manipulateur est soumis à des efforts qui sont dus au poids propre de ses
éléments, à la charge transportée, aux efforts d’inertie quand il effectue des mouvements
rapide, ce qui permet d’avoir des éléments pour guider le choix des motorisations et des
commandes associées.
Nous avons présenté aussi le modèle cinématique pour un robot mobile non
holonome de type chaise roulante à trois roues dont les deux arrières sont motrices et la
roue avant directrice.
Chapitre III Logique floue 46
Une autre approche, qui a donné des développements très riches, a été proposée
par Takagi et Sugeno en 1985 [Tak.85, Sug.83]. Elle repose aussi sur une représentation
à base de règle. Toutefois, à la différence des contrôleurs de type Mamdani, la partie
conclusion des règles s’exprime de manière numérique sous la forme d’une constante,
d’un polynôme ou, de manière plus générale, par une fonction ou une équation
différentielle dépendant des variables associées aux prémisses des règles. Ce type de
représentation peut être utilisé pour modéliser un processus ou pour synthétiser un
contrôleur flou. Cette approche, orientée modèle, a fourni la plupart des résultats
théoriques en contrôle flou. En l’absence de modèle analytique, la loi de commande
peut être synthétisée à partir d’une relation entrée-sortie sous forme d’un système flou
de type Takagi-Sugeno. Les erreurs de modélisation peuvent être prises en compte par
différentes techniques : contrôleurs flous adaptatifs, contrôleurs flous robustes utilisant
une synthèse H∞ [Che.96], [Kan.98], [Ma. 00], [Su.94], [Wan.93], [Won.98], [Yin.95].
Chapitre III Logique floue 47
1) Structure du régulateur
- S : le système à régler
- OCM : l'organe de commande
- RLF : le régulateur par logique floue
Chapitre III Logique floue 48
- W : la grandeur de consigne
- Ucm : le signale de commande fournit par le RLF
- U : la grandeur de commande fournie par l'OCM
- V : une perturbation
- Y : la grandeur à régler (ou sortie)
- YM : le vecteur qui contient les grandeurs mesurées
Ce dernier contient en général la grandeur à régler y et, le cas échéant, d'autres
grandeurs mesurées qui sont déterminantes pour saisir l'évolution dynamique du
système à régler.
W U Y
RLF OCM S
YM YM
2) Configuration interne
W
RLF
YM Ucm
Dans la configuration interne d'un régulateur par logique floue, on distingue trois
parties :
2. L'inférence (avec la base de règles) : prise des décisions (chaque règle activée
donne un sous-ensemble flou de sortie).
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.
• Méthode MAX-MIN
- Au niveau de la condition : ET est représenté par la fonction Min, OU est représenté
par la fonction Max
- Au niveau de la conclusion : OU est représenté par la fonction Max, ALORS est
représenté par la fonction Min (d’où la désignation)
• Méthode MAX-PROD
- Au niveau de la condition : ET est représenté par la fonction Min, OU est représenté par
la fonction Max
Chapitre III Logique floue 50
• Méthode SOMME-PROD
Il s'agit de la Somme Pondérée (ou Moyenne) :
- Au niveau de la condition : ET est représenté par la fonction Prod, OU est représenté
par la fonction Somme.
- Au niveau de la conclusion : OU est représenté par la fonction Somme, ALORS est
représenté par la fonction Prod (d’où la désignation)
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
1) Méthode du maximum :
La sortie correspond à l’abscisse du maximum de la fonction d’appartenance
résultante.
Trois cas peuvent se produire :
Dans le premier cas, il n'y a pas de problèmes. Dans les deux autres cas, une ambiguïté
apparaît. Il n'y a pas de règle générale sur la décision à prendre. Certains opérateurs
préféreront prendre la plus petite sortie, d'autres la plus grande et d'autres une valeur
moyenne.
Remarque: méthode simple, rapide et facile mais elle introduit des ambiguïtés et une
discontinuité de la sortie.
3) Méthode du centroïde :
La sortie correspond à l’abscisse du centre de gravité de la surface de la fonction
d’appartenance résultante.
Remarque: on n’a plus de discontinuités et d’ambiguïtés, mais cette méthode est plus
complexe et demande des calculs plus importants.
Chapitre III Logique floue 52
Après ces notions de base de la logique floue et ses applications, nous constatons
que cette technique convient à notre cas. Malgré les inconvénients qu’elle possède, cela
ne nuit pas à son efficacité et sa souplesse dans la commande des systèmes complexes ce
qui justifie notre choix.
∑w i
i
La valeur de sortie est donc une combinaison linéaire des termes recherchés. La
minimisation de l’erreur peut être obtenue directement par une méthode de type simplexe
[Gar. 94] ou descente de gradient [Ish. 93] par exemple.
La modification exclusive de la partie droite peut être insuffisante. Il faut alors
avoir recours à une adaptation de l’ensemble de paramètres du système flou. Cela peut
être réalisé grâce à différentes techniques d’optimisation telles que le recuit simulé [La r.
93] ou à nouveau la descente de gradient.
Le calcul de gradient de chaque paramètre intervenant dans la partie gauche d’une
règle est un problème à priori non trivial. On peut constater néanmoins que les opérateurs
réalisées dans les différentes étapes de l’évaluation d’une base de règles sont similaires
aux opérateurs réalisés par certains neurones formels. Un système flou peut être
transformé en un réseau à propagation unilatérale et être modifié par rétro propagation
du gradient. Le rapprochement de la logique floue et des réseaux de neurones afin de
Chapitre III Logique floue 54
combiner leurs avantages respectifs est une grande préoccupation des chercheurs des
deux axes. Ces formalismes sont tous les deux utilisés pour résoudre des problèmes
semblables caractérisés par une absence de modèle. Le contrôle flou permet la prise en
compte de connaissances initiales mais reste figé. Les réseaux de neurones ne peuvent
incorporer cette connaissance initiale mais sont capable d’adaptation [Nau. 93], [Glo. 91],
[Glo. 93], [Jan. 92], [Nau. 93].
Pour que le bras se déplace sans collision avec l’obstacle, le bras évolue dans un
champ de forces qui sont :
• Une force attractive Fatt.
• Une force répulsive Frep.
Chapitre III Logique floue 56
Y Vrep effecteur
Cible
Vatt
θobs +
Contrôleur Vrep + Vor Bras Yb
flou Xb
dobs θb
Le contrôleur possède deux entrées et une sortie. Les entrées sont l’angle et la
distance par rapport à l’obstacle, la sortie est le vecteur répulsif. Pour le bras, l’entrée est
l’angle d’orientation β et les sorties sont les deux coordonnées absolues (Xb, Yb) et la
direction (θb).
Le contrôleur choisi est de type Takagi-Sugeno avec les fonctions d’appartenance
gaussiennes.
La fuzzification :
LL ML SL EZ SR MR LR
Degré d'appartenance µ
0.5
-0.5
-80 -60 -40 -20 0 20 40 60 80
θobs (deg.)
Figure III. 5 Fuzzification de l’angle d’obstacle θobs
Chapitre III Logique floue 58
On suppose que le bras peut détecter un obstacle jusqu’à une distance de 30 unités.
La fonction d’appartenance est partitionnée en trois sous ensembles flous de
formes Gaussienne (figure III.6):
S : petite, M : Moyenne, L : grande
Partition de la deuxième entrée du contrôleur
1.5
S M L
µ
1
Degré d'appartenance
0.5
-0.5
-5 0 5 10 15 20 25 30 35
odobs (cm)
AGP
TGN
AGN
APN
TPN
APP
MN
TPP
PN
GN
MP
EZ
Degré d'appartenance
0.5
0
-200 -150 -100 -50 0 50 100 150 200
L'orientation (deg.)
Figure III.7 Fuzzification de l’angle répulsif
L’inférence
θrép θobs
LL ML SL EZ SR MR LR
S APP MP AGP TGN AGN MN APN
dobs M TPP APP MP GN MN APN TPN
L EZ TPP APP PN APN TPN EZ
Introduction :
Les règles linguistiques, variables linguistiques, fonctions d’appartenance
etc., sont des paramètres à déterminer pour les utiliser dans la conception d’un contrôleur
flou. On propose une méthode d’apprentissage par gradient descendant, qui permet
l’ajustement automatique de ces paramètres sous la supervision d’un expert [God.97],
[Tao.05].
Et N règles linguistiques :
R1 : SI x1 est A11 ET x2 est A12 ET ….xM est A1M
Alors y1 est C11 ET y2 est C12 ET … yk est C1k ;
OU
OU
Avec : Anm est une valeur linguistique pour la nième règle et la mième variable linguistique.
CnK est une valeur constante représente la Kième sortie de la nième règle.
Chapitre III Logique floue 61
⎛ (xm − a nm )2 ⎞⎟
µ nm ( x m ) = exp⎜⎜ − 2 ⎟ (III.1)
⎝ 2bnm ⎠
n= 1,……….., N
m=1,……….., M
anm sont les centres et bnm sont les largeurs des fonctions d’appartenance.
⎧ 2 x m − a nm bnm b
⎪1 − pour a nm − ≤ x m ≤ a nm + nm
µ nm ( x m ) = ⎨ bnm 2 2 ( III.2)
⎪
⎩ 0 ailleurs
III.6.3 Inférence
On utilise l’opérateur PROD au lieu de l’opérateur MIN pour calculer
l’implication des règles linguistiques, permettant de trouver la dérivée de l’erreur
l’apprentissage [Buh.97].
Supposons que le vecteur d’entrée du contrôleur est :
r
(
x ∗ = x1∗ , x 2∗ , KKKK , x M∗ )T
∑µ nk C nk
µ1 µ2 µN N
yk = n =1
N
= N
C1k + N
C2k + K + N
C Nk = ∑ µ n C nk
(III.4)
∑ µn
n =1
∑ µn
n =1
∑ µn
n =1
∑µ
n =1
n
n =1
Où k = 1,……..,K.
Sortie désirée
Adaptation
{ } ⎧1 ⎫
N
r 2 r
V = E (e (t )) ∑ (e (t )) 2
ou V = E⎨ ⎬ (III.5)
⎩N t =1 ⎭
E : l’espérance mathématique.
N : Le nombre d’itérations.
r
e (t ) : Le vecteur d’erreur d’apprentissage.
L’estimation de V est :
Chapitre III Logique floue 63
r 2 1 r r T r r 1 K
V (t ) = (e (t )) = [ y (t ) − y d (t )] [ y (t ) − y d (t )] = ∑ ( y k (t ) − y dk (t ))
2
(III.6)
2 2 k =1
⎡ ∂∇ ∂∇ ⎤
− ∇ zV = ⎢ − ,KKKK,− ⎥=0 (III.7)
⎢⎣ ∂z1 ∂z p ⎥⎦
[ ]
z p (t + 1) = z p (t ) − Γ p ∇ zV z p (t ) (III.8)
r
Alors : Z = (a11 ,K , a nm , K, a NM , b11 ,K, bnm ,K , bNM , c11 ,K, c nk , K, c NK )T
− ∂V − ∂V − ∂V − ∂V − ∂V − ∂V
,., , ,., , ,., =0
∂a11 ∂aNM ∂b11 ∂bNM ∂c11 ∂cNK
∂V ( z )
a nm (t + 1) = a nm (t ) − Γa (III.9)
∂a nm
∂V ( z )
bnm (t + 1) = bnm (t ) − Γb (III.10)
∂bnm
∂V ( z )
c nk (t + 1) = c nk (t ) − Γc (III.11)
∂c nk
∂V K
u x −a
= ∑ ( yk − ydk ) N n (cnk − yk ) m 2 nm (III.12)
∂anm k =1 bnm
∑ un n =1
∂V K
u (x − a )
= ∑ ( yk − ydk ) N n (cnk − yk ) m 3 nm
2
(III.13)
∂bnm k =1 bnm
∑ un n =1
∂V u
= ( yk − ydk ) N n (III.14)
∂c nk
∑ un n =1
µn x m (t ) − a nm (t ) K
a nm (t + 1) = a nm (t ) − Γa ∑ ( y (t ) − y (t ))(c (t ) − y (t )) (III.15)
bnm (t )
N 2 k dk nk k
∑µ
n =1
n
k =1
(x m (t ) − a nm (t ))2 K
µn
bnm (t + 1) = bnm (t ) − Γb N ∑ ( y k (t ) − y dk (t ))(c nk (t ) − y dk (t )) (III.16)
b (t )3
∑ µn
n =1
nm k =1
un
c nk (t + 1) = c nk (t ) − Γc N
( y k (t ) − y dk (t )) (III.17)
∑un =1
n
Procédure itérative
Figure III.9 Navigation du bras avant Figure III.10 Navigation du bras avant
l’apprentissage l’apprentissage
Figure III.11 Navigation du bras durant Figure III.12 Navigation du bras durant
l’opération d’apprentissage l’opération d’apprentissage
Chapitre III Logique floue 67
Figure III.13 Navigation du bras après Figure III.14 Navigation du bras après
l’apprentissage l’apprentissage
Figure III.15 Navigation du bras après Figure III.16 Navigation du bras après
l’apprentissage l’apprentissage
Chapitre III Logique floue 68
1.5
0.5
0
-200 -150 -100 -50 0 50 100 150 200
Figure III.17 partition des fonctions Figure III.19 partition des fonctions
d’appartenances de la première entrée d’appartenances de la sortie du
du contrôleur après ajustement. contrôleur après ajustement
Partition de la deuxième entrée du contrôleur après
1.5
S M L
1
Degré d'appartenance µ
0.5
-0.5
-5 0 5 10 15 20 25 30 35
dobs (cm)
Conclusion
Dans la plupart des tâches de navigation des robots, le robot devrait éviter les
obstacles, il peut suivre une trajectoire, transporter des objets ou atteindre un but. Il doit
faire toutes ces actions sans collision avec les obstacles n’est endommagé son
environnement.
Le but de l’expérience présentée dans ce chapitre et de concevoir un contrôleur
flou simple avec un nombre réduit de règles, permettant au robot d’éviter les obstacles
rencontrés.
Supposons que nous avons toutes les informations disponibles. On suppose que le robot est
soumis à une force attractive vers la cible et une force répulsive de l’obstacle. La force
attractive est calculée directement à partir des positions du robot et de la cible, par contre
pour la force répulsive un raisonnement flou est appliqué. Le contrôleur flou proposé a
deux entrées et une sortie. Les entrées sont la distance et l’angle entre le robot et l’obstacle,
la sortie est l’angle répulsif. Pour la première entrée du contrôleur elle est partitionnée en 7
sous ensembles flous de forme Gaussiennes (figure. III. 5), tandis que la deuxième elle est
partitionnée en 3 sous ensembles flous de forme Gaussiennes (figure III. 6), par contre la
sortie elle est représentée par 12 fonctions de formes constantes (Singleton) (Figure III. 7).
Le vecteur orientation est la somme de deux forces (attractive et répulsive). Donc le type
de régulateur utilisé est un contrôleur de type Takagi- Sugeno d’ordre zéro. Ce type de
contrôleur a des performances comparables au contrôleur flou avec l’inférence Min - Max
et la défuzzification par centre de gravité [God.97].
Les résultats de simulation de ce type de régulateur pour l’évitement d’obstacle
d’un bras manipulateur sont représentés par les figures (III.9-III.16).
Augmenter le nombre de règles consomme beaucoup de temps de calcul et risque
de créer une base de règles contradictoire et peut même aboutir à un conflit entre les règles.
L’approche présentée rend possible la réalisation de manœuvres très intéressantes pour le
comportement du robot, en changeant simplement la base de règles, le robot peut par
exemple éviter un obstacle et atteindre un but.
Chapitre III Logique floue 70
IV.1 Introduction
La recherche d’une solution dans un espace complexe implique souvent un
compromis entre deux objectifs apparemment contradictoire :
• L’exploitation des meilleures solutions disponibles à un moment donné ;
• Une exploitation robuste de l’espace des solutions possibles.
Les méthodes de type grimpeur représentent une extrémité possible du compromis, en
se basant uniquement sur l’exploitation et en souffrant, par conséquent, de la non
globalité de l’optimum trouvé, sauf dans des cas bien particulier où le grimpeur
procède itérativement en tenant à chaque pas de trouver localement une solution
intermédiaire meilleure que la solution courante.
Les algorithmes génétiques AG sont une classe de stratégies de recherche
réalisant un compromis équilibré et raisonnable entre l’exploration et l’exploitation ;
en effet, des analyses théoriques ont montrée que les AG géraient ce compromis de
façon presque optimale. Leur fonctionnement repose sur une heuristique très simple;
les meilleures solutions seront trouvées dans des régions de l’espace de recherche
contenant des propositions relativement élevées de bonnes solutions.
Génération : Une génération est une population à un instant (t), les AG faisant
évaluer les populations, cette évolution est effectuée par des opérateurs de sélection, de
croisement et de mutation.
génétique n’utilise pas ses dérivées successives, ce qui rend très vaste son domaine
d’application. Aucune hypothèse sur la continuité n’est non plus requise. Néanmoins,
dans la pratique, les AG sont sensibles à la régularité des fonctions qu’ils optimisent.
Le peu d’hypothèses requises permet de traiter des problèmes très complexes. La
fonction à optimiser peut aussi être le résultat d’une simulation.
La sélection permet d’identifier statistiquement les meilleurs individus d’une
population et d’éliminer les mauvais. On trouve dans la littérature un nombre
important de méthodes de sélection plus au moins adaptées aux problèmes qu’elles
traitent.
• La sélection proportionnelle : Ce mode de sélection des parents consiste à
dupliquer chaque individu de la population proportionnellement à son adaptation
dans son milieu.
• La sélection stochastique universelle : Contrairement à la méthode
précédente où il faut réaliser N tirages aléatoire pour sélectionner N individus, la
sélection stochastique universelle ne nécessite qu’un seul tirage pour choisir tous
les parents d’une génération.
• La sélection linéaire par rapport au rang : Un individu est choisi
aléatoirement avec une probabilité de sélection proportionnelle à son rang.
• La sélection uniforme par rapport au rang : Les individus de rang inférieur
sont sélectionnés aléatoirement avec une probabilité uniforme. Les autres individus
sont exclus de la population et ne peuvent pas participer à la reproduction.
• La sélection par tournoi : k individus de la population seront choisis
aléatoirement ; celui dont la performance est la plus élevée est retenu pour
participer à la reproduction. L’opération est répétée autant de fois qu’il y a
d’individus à sélectionner.
IV.5 Le croisement
L’opérateur de croisement agit sur deux chaînes reproductrices représentant les
chromosomes parents. Il échange une partie de leurs gènes créant deux nouveaux
individus. Les enfants ainsi obtenus possèdent certaines caractéristiques génétiques
de leurs parents respectifs.
Chapitre IV Algorithme génétique 75
1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
Enfants
Site 1 Site 2 Site n-1 Site n Site 1 Site 2 Site n-1 Site n
Parents
1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 0
Enfants
Masque de croisement
0 0 1 1 0 1 0 0 1 0
1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Parent 1 Parent 2
Enfant 1 Enfant 2
1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0
IV.6 La mutation
Principe : La mutation est une altération d’un gène d’un individu. L’opérateur de
mutation consiste à compléter la valeur d’un bit du chromosome avec une probabilité
Pm exécuté bit par bit (voir figure IV.4)
Chapitre IV Algorithme génétique 77
Enfant
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
Enfant muté
variable signifie que cette variable se situera le plus probablement dans cet
intervalle.
• Diviser chaque intervalle du domaine en N+1 régions (N peut être différent
pour différentes variables, et les longueurs de ces régions peuvent être égales
ou inégales).
• Attribuer à chaque région une fonction d'appartenance floue.
La forme de chaque fonction d'appartenance est triangulaire :
♦ un sommet se trouve au centre de la région et a un degré
d’appartenance égale à 1.
♦ les deux autres sommets se trouvent aux centres des deux régions
voisines, respectivement, et ont des degrés d’appartenances égales à
zéro.
Naturellement, d'autres divisions des régions de domaine et d'autres formes des
fonctions d'appartenance sont possibles.
Chapitre IV Algorithme génétique 80
d’appartenance maximum.
En conclusion, obtenir une règle d'une paire de données désirées
d'entrée/sortie, par exemple,
(x ( ) , x ( ) ; y ( ) )⇒ [x ( ) (0.8 in B1, max ), x ( ) (0.7 in S1, max ); y ( ) (0.9 in CE , max )] ⇒ Rule1
1
1
2
1 1 1
1 2
1 1
D(rule ) = µ A ( x1 ) µ B ( x 2 ) µ C ( y ) (IV.2)
Cette tâche est importante dans les applications pratiques, puisque les données
numériques réels ont de différentes fiabilités, par exemple, quelques données réelles
peuvent être très mauvaises, pour de bonnes données, nous assignons des degrés
d’appartenances plus élevés, et pour de mauvaises données, nous assignons des degrés
d’appartenances inférieurs. De cette façon, l’expérience humaine au sujet des données
est employée dans une base commune en tant qu'autre source d’information.
Si on ne veut pas qu’un humain juge les données numériques, la stratégie
fonctionne toujours en plaçant tous les degrés d’appartenances des paires de données
égales à l'unité.
reflète la croyance de l'expert sur l’importance de la règle). S'il y a plus d'une règle
activée en même temps, celle qui a le degré d’appartenance maximum sera
sélectionnée. De cette façon les informations numérique et linguistique, sont codifiées
dans une base de règles floue combinée. Si une règle linguistique est en "AND" (ET),
elle remplit seulement une case de la base de règles floues. Cependant, si une règle
linguistique est en "OR" (OU) (c’est à dire, une règle pour laquelle la partie THEN
est active si n'importe quel état de la partie IF est satisfait), elle remplit toutes les cases
dans les colonnes correspondant aux régions de la partie IF.
B3 x
B2 x
B1 x
X2 CE x
S1 x x x x x
S2 x
S3 x
S2 S1 CE B1 B2
X1
Y
µ Oii = µ I ( x1 ) µ I ( x 2 )
i i (IV.5)
1 2
∑µ i
Oi yi
y= i =1
K
(IV.7)
∑µ
i =1
i
Oi
[µ (x )]
K K
∑ yiµi ∑y ∏ i
1≤ j ≤ n
i
j j
f (x ) = i =1
= i =1
(IV.9)
[µ (x )]
K K
∑µ
i =1
i
∑∏ i =1
1≤ j ≤ n
i
j j
Le système flou produit, c’est à dire, (IV.9), peut garantir une approximation
universelle d'un ensemble compact Q ⊂ R n à R, c’est à dire, il peut rapprocher
n'importe quelle fonction réelle continue définie en Q avec n'importe quelle précision,
où l'ensemble compact Q est défini par :
Q = [a1 , b1 ]× [a 2 , b2 ]× K × [a n , bn ] (IV.10)
Pour une rationnelle convenance d'écriture, nous représentons la règle i (i = 1,2,K, K )
dans la base de règles floues comme :
“IF x1 is RG1i , x 2 is RG2i , K , x n is RGni , THEN y is RG0i ”
3. les rapports des états spécifiques des règles dans la base des règles floues.
En fixant les régions floues, des fonctions d'appartenance, et les règles floues,
nous obtenons un élément de F. Si f1 et f2 sont des éléments différents de F, au moins
un des trois facteurs pour f1 et f2 doit être différent.
Pour analyser la famille F, les hypothèses suivantes sont considérées pour ces trois
facteurs :
Hypothèse 1 :
Les régions floues pour les espaces d'entrée et de sortie peuvent être arbitrairement
définies.
Hypothèse 2 :
Les fonctions d'appartenances µ ij doivent satisfaire la contrainte suivante :
Chapitre IV Algorithme génétique 85
⎧ x j ∈ RG ij
⎪
µ ij (x j ) ≠ 0 pour ⎨i = 1, 2, K , K (IV.11)
⎪ j = 0, 1, K , n
⎩
Hypothèse 3 :
N'importe quelle règle peut être assignée dans n'importe quelle case de la base de
règles floues.
Pour analyser les propriétés de la famille de la fonction F, nous devons d'abord
établir l’approximation définie par (IV.9), c’est à dire, pour n'importe quelle entrée
x ∈ Q , (IV.9) produit un résultat f ( x ) ∈ R .
Les deux lemmes suivants donnent des conditions suffisantes pour que (IV.9) soit bien
défini.
Lemme 1 : Si toutes les fonctions d'appartenance µ ij sont différentes de
procédé des cases vides qui sont les voisins les plus proches des cases occupées; de
cette façon, la base de règles floues augmente jusqu'à ce que toutes les cases soient
remplies.
Ce procédé fonctionne toujours si nous choisissons les régions différentes de zéro des
fonctions d'appartenance.
Medium Small
X Y
Figure IV.6 : Deux manières différentes de définir une règle floue linguistique.
(a) Structure surface = représentation symbolique
(b) Structure profonde = représentation symboliques+formes des fonctions
d’appartenances
Précision
améliorée
Equilibre
désiré
Interprétation
améliorée
Une contribution vise à présenter une méthode génétique qui ajuste entièrement
les structures profondes en utilisant différentes manières pour changer les
significations des termes linguistiques, ainsi que l'intégration des modificateurs
linguistiques dans les règles floues proposée par [Cas.05].
La dilution : cette opération adoucit la pente des limites, elle les rend plus floues.
Elle est liée aux termes linguistiques plus ou moins (more-or-less). Elle consiste à
prendre la racine carrée du degré d’appartenance.
µ dil ( A) ( x ) = (µ A ( x ))1 / 2 = µ A ( x ) (IV.12b)
Les effets de ces opérations sur une fonction d’appartenance triangulaire sont
représentés par la figure (IV.8).
La structure surface peut être ajustée en ajoutant les haies linguistiques
mentionnées aux règles floues linguistiques, ce qui change leur forme symbolique.
Par exemple, de la règle :
“IF X1 is high and X2 is good, THEN Y is small”
T Very T More-or-less T
2. En utilisant les facteurs de graduation non linéaires [Cor. 98], [Liu 01] : des
expressions alternatives plus flexibles sont considérées pour les fonctions
d'appartenances servant à changer le degré de compatibilité des ensembles flous.
Par exemple, une nouvelle fonction d'appartenance peut être obtenue en soulevant
le degré d'appartenance à la puissance α , qui est un paramètre positif définissant
une fonction de graduation non linéaires, c’est à dire :
∑ (F (x ) − y )
N
1 l 2
MSE = l
(IV.14)
2.N l =1
Avec N est la taille des données, F (x l ) est la sortie obtenue à partir du système flou
considéré pour l’exemple l , y l est la sortie désirée.
X1 Xn Y X1 Xn Y
T11 T1t1 Tn1 Tntn Tn+1,1 Tn+1, tn+1 T11 T1t1 Tn1 Tntn Tn+1,1 Tn+1, tn+1
a b c …a b c …a b c …a b c a b c …a b c α … α … α … α α … α
CSp CSA
R1 Rm
X1 Xn Y X1 Xn Y
{0, 1, 2} …{0, 1, 2} {0, 1, 2} …{0, 1, 2} …{0, 1, 2} {0, 1, 2}
CSL
Figure IV.10 : Codage du chromosome
Avec n est le nombre de variables d'entrée, Tij étant le j ième terme linguistique de la i ième
log(0.5) log(0.5)
Avec min = max =
log(sα ) log(1 − sα )
C ijA est le gène associé à la fonction d'appartenance pour le j ième terme linguistique de
S1 M1 L1 S2 M2 L2 S1 M1 L1 S2 M2 L2 R1 R2 R3
-0.2 0.15 0.55 0. 5 0.8 1.6 1.1 1.75 2.2 0 0 0.65 0.6 1 1.4 1 1.9 2.2 0 -0.3 0.6 0.95 0 -0.7 0 0 2 0 1 2
CSp CSA CSL
Figure IV. 11 : Exemple du processus d'ajustement génétique pour trois règles floues
a) Population
Pour la partie CS L , les modificateurs utilisés dans la base de connaissance initiale sont
codés. Si aucune haie linguistique n'était précédemment considérée, les allèles 1
seront employés.
3. un autre tiers de la population est produit avec des valeurs originales dans CS P , des
allèles aléatoires (dans l’intervalle [-1, 1]) pour CS A , et des valeurs originales dans
la branche CS L
4. les chromosomes restants sont produits avec les valeurs originales de la base de
données dans les parties CS P et CS A , et des allèles aléatoires (dans l'ensemble {0. 1.
2}) dans la partie CS L .
b) Opérateur de croisement
C1t +1 = aC wt + (1 − a )C vt
C 2t +1 = aC vt + (1 − a )C wt
C 3t +1 avec c 3t +,k1 = min {c k , c k′ } (IV.16)
Le paramètre a ∈ [0, 0.5] est défini. Notant que l'intervalle de variation de chaque
gène ne sera jamais excédé en raison de
min{ck , ck′ } ≤ cit,+k1 ≤ max{ck , ck′ } , ∀ i ∈ {1,2,3,4}
c) Opération de mutation
d) Opération de sélection
Un algorithme génétique avec le procédé de prélèvement universel stochastique
de Baker [Bak.87] ainsi que l'élitisme (qui assure le choix du meilleur individu de la
génération précédente) est considéré.
Le processus d'ajustement est conçu pour rendre la définition des modèles flous
linguistiques rigide et plus flexible dans le but d'augmenter la précision.
Néanmoins, quelques aspects sur l'interprétation doivent être considérés dans le but de
préserver une lisibilité appropriée des modèles linguistiques ajustés.
Chapitre IV Algorithme génétique 98
T1 T2 T3 T4
D'autre part, les facteurs de graduation non linéaires (partie CS A ) sont contraints
pour éviter la forme carré excessive (quand α → 0 ) ou la forme singleton (quand
α → ∞ ) des fonctions d’appartenance. La figure (IV.9, b) montre le maximum et le
minimum de graduation non linéaire permis par la méthode.
Un système serait complet quand un degré supérieur à zéro est obtenu pour
n'importe quelle valeur multidimensionnelle d'entrée.
La méthode d'ajustement ne change pas la complétude des structures surface
initiales (définies avant d'appliquer le processus d'ajustement). Par conséquent, la
perfection sera déterminée à priori par la méthode d'apprentissage employée pour
produire le modèle initial ou par les connaissances fournies par des experts.
Chapitre IV Algorithme génétique 99
Ce concept est lié avec le manque de cohérence dans la définition des structures
surface lorsque des prémisses semblables avec de différentes conséquences sont
employées.
Cette matière n'est pas significative dans la méthode d'ajustement puisque les
termes primaires assignées à chaque règle floue linguistique ne changent pas, donc, si
le modèle initial est consistent, le modèle ajusté demeurera ainsi.
Naturellement, ceci est fait à condition que les fonctions d'appartenances ne
deviennent pas fortement semblables pendant le processus d'ajustement. Encore,
l'utilisation des intervalles de variation rencontre cette condition quand un modèle
initial cohérent est employé.
Chapitre IV Algorithme génétique 100
Ensemble de
données
E1 = (x1,y1)
.
En = (xn,yn) Base de données ajustées
S1 M1 L1 S2 M2 L2
Apprentissage X Y
Base de données initiales
0 2 0 2
S1 M1 L1 S2 M2 L2 Ajustement
X Y
Base de règles ajustées
0 2 0 2
Base de règles initiales
R1 = IF X is very L1 THEN Y is very S2
R1 = IF X is L1 THEN Y is S2 R2 = IF X is m-or-L S1 THEN Y is very M2
R3 = IF X is M1 THEN Y is m-or-L L2
R2 = IF X is S1 THEN Y is M2
R3 = IF X is M1 THEN Y is L2
Vatt
θobs + Yr
Contrôleur Vrep + Vor Robot
flou mobile Xr
dobs θr
La méthode de Wang et Mendel est employée pour générer les bases initiales
des règles. Par conséquent, la méthode de WM agira en tant que module
d’apprentissage. D’abord, lorsque l’on modélise ou lorsque l’on contrôle un système,
on utilise souvent un signal d’erreur pour adapter les paramètres du système flou
utilisé jusqu’à ce qu’un critère prédéfini soit satisfait. Il y a cependant un à priori
capital à cette démarche. Avant d’ajuster les paramètres du système flou, il faut donc
être certain que l’on pourra en définir un suffisamment bon ou suffisamment précis. En
d’autres termes, il nous faut surtout pas que, pour une raison ou pour une autre, les
systèmes flous considérés soient incapables de représenter certaines fonctions. Sinon,
les méthodes d’ajustement seraient, dès l’origine, vouées à l’échec.
Une thématique qui découle de cette question concerne plus particulièrement les
démarches de modélisation et d’ajustement des systèmes flous. En effet la
méthodologie floue est très riche, elle autorise énormément de choix à chaque étape,
comme par exemple, les types de fonction d’appartenance ou encore les opérateurs
Chapitre IV Algorithme génétique 102
d’inférence. Si, dans les résultats concernant l’approximation, on peut montrer que
certaines classes de systèmes flous sont meilleures dans certain cas, alors l’utilisateur
aura déjà des indices pour simplifier la conception du système flou. En commande, les
équations de contrôle sont parfois très complexes, notamment en commande optimale.
Elles peuvent se révéler inapplicables pratiquement. Il peut donc être très intéressant
de chercher à approximer ces solutions par des commandes floues beaucoup plus
simples et rapides à calculer. Toutes ces raisons font que la question de
l’approximation des fonctions par des systèmes flous est encore d’actualité.
Vu que le système d’apprentissage nécessite une base de données très grande
pour couvrir tous les cas qui peuvent être envisager. La solution maintenue pour
remédier à ce problème est l’ajustement des paramètres du contrôleur flou.
Le but de l’ajustement est de déterminer la valeur des différents paramètres
utilisés de manière à minimiser l’erreur commise par rapport aux ensembles. Ces
paramètres peuvent être attachés aux opérateurs de combinaison [Glo.93] ou aux
fonctions d’appartenance des différentes données linguistiques.
L’apprentissage des paramètres permet de régler les valeurs des différents
paramètres attachés aux fonctions d’appartenance.
Les figures suivantes résument les deux structures du processus d'ajustement :
Chapitre IV Algorithme génétique 103
0.5
0
0 10 20 30 40 50 60 70
Fonction d'appartenance de la deuxième entrée θ_obstacle (deg.)
1
0.5
0
-90 -60 -30 0 30 60 90
Fonction d'appartenance de la sortie θ_répulsif (deg.)
1
0.5
0
-60 -45 -30 -15 0 15 30 45 60
0.
0
10 20 30 40 50 60 70
Fonction d'appartenance de la deuxième entrée après ajustement θ_obstacle (deg.)
1
0.
0
-90 -60 -30 0 30 60 90
Fonction d'appartenance de la sortie après ajustement θ_répulsif (deg.)
1
0.
0
-45 -30 -15 0 15 30 45 60
Figure IV.16 Ajustement des paramètres du contrôleur par une méthode basée sur le
changement des paramètres de base des fonctions d’appartenance
Chapitre IV Algorithme génétique 104
0.5
0
10 20 30 40 50 60 70
Fonction d'appartenance de la deuxième entrée après ajustement θ_obstacle (deg.)
1
0.5
0
-90 -60 -30 0 30 60 70
Fonction d'appartenance de la sortie après ajustement θ_répulsif (deg.)
1
0.5
0
-45 -30 -15 0 15 30 45 60
0.5
0
10 20 30 40 50 60
Fonction d'appartenance de la deuxième entrée après ajustement θ_obstacle (deg.)
1
0.5
0
-90 -60 -30 0 30 60 90
Fonction d'appartenance de la sortie après ajustement θ_répulsif (deg.)
1
0.5
0
-45 -30 -15 0 15 30 45 60
0.5
0
0 10 20 30 40 50 60 70
Fonction d'appartenance de la deuxième entrée du controleur après ajustement θ_obstacle
1
0.5
0
-90 -60 -30 0 30 60 90
Fonction d'appartenance de la sortie du controleur après ajustement θ_répulsif
1
0.5
0
-60 -45 -30 -15 0 15 30 45 60
Figure IV.18
Fonction d'appartenance de la première entrée du controleur après ajustement d_obstacle
1
0.
0
0 1 2 3 4 5 6 7
Fonction d'appartenance de la deuxième entrée du controleur après ajustement θ_obstacle (deg.)
1
0.
0
-90 -60 -30 0 30 60 90
Fonction d'appartenance de la sortie du controleur après ajustement θ_répulsif (deg)
1
0.
0
-60 -45 -30 -15 0 15 30 45 60
Figure IV.19
Les figures (IV.18 et IV.19) représentent l’ajustement des paramètres du contrôleur
par une méthode basée sur l’application des facteurs de graduation non linéaires.
Chapitre IV Algorithme génétique 106
0.1
Orientation θ
-0.1
-0.2
0 20 40 60 80 100 120 140 160 180 200
Temps (itérations)
L’erreur de la phase test entre la sortie mesurée et la sortie modèle flou
0.01
0.0
Erreu
0.00
0
0 20 40 60 80 100 120 140 160 180 200
Temps (itérations)
Figure IV.24
0.
Orientation θ
-0.1
-0.2
0 20 40 60 80 100 120 140 160 180 200
Temps (itérations)
x 10 -3 L'erreur entre sortie mesurée et sortie modèle
1.5
1
Erreu
0.5
0
0 20 40 60 80 100 120 140 160 180 200
Temps (itérations)
Figure IV.25
Les figures (IV.24 et IV.25) représentent l’erreur entre la sortie du système avant et
après apprentissage.
Chapitre IV Algorithme génétique 108
Conclusion :
L’idée principale de l’approche (WM) présentée est de produire des règles
floues à partir des échantillons numériques des données, rassembler ces règles floues
numériques et les règles floues linguistiques dans une base commune, et en conclusion
concevoir un système de commande basé sur cette base combinée de règles floues.
Cette méthode d’apprentissage était choisie grâce à quelques avantages intéressants
qui deviennent une importance significative dans la conception des deux étages. D’une
part la méthode de WM obtient le modèle flou rapidement, mais ce modèle n’est plus
performant, la phase d’ajustement joue le rôle pour améliorer sa précision. L’approche
de Wang et Mendel est une approche heuristiques, elle dépend uniquement du
problème pris en charge et il n’y a aucun cadre pour modéliser et représenter différents
aspects des stratégies de commande. D’autre part, la méthode produit des règles floues
à partir d’exemples au lieu de sous espaces flous d’entrées, ce qui permet d’obtenir
une base compacte avec un nombre réduit de règles. Cette insuffisance apparue
clairement dans la conception du contrôleur, les résultats de simulation ne donnent pas
toujours des résultats acceptables vu la diversité de l’espace d’entrée-sortie du
contrôleur. En effet des réglages fins pour une situation donnée peuvent apparaître
médiocres pour une autre. Par conséquent la méthode d’ajustement des paramètres du
contrôleur flou par l’application des algorithmes génétiques issue de différents cas de
figure, et la prise en compte de ces derniers permet de commander aisément notre
robot. Les résultats de simulations obtenus par l’utilisation de l’ajustement des
paramètres de bases des fonctions d’appartenances sont très satisfaisants.
Conclusion générale 109
Rejoindre un point P de l’espace d’évolution signifie que le robot est en mesure de:
• Connaître avec suffisamment de précision sa position courante,
• Détecter la présence d’obstacles éventuels le séparant du but (C’est-à-dire
avoir la capacité de se déplacer dans un environnement dynamique),
• Trouver le chemin optimal.
Le système robotique auquel nous nous sommes intéressés est constitué d’une
plate forme munie de deux roues motrices indépendantes et une roue directrice. Le
mouvement de rotation de l’ensemble est obtenu en appliquant une commande à la
roue directrice.
Un bras robotique nécessite un contrôleur (de bras) pour coordonner les
différents mouvements des moteurs afin d’obtenir la trajectoire souhaitée.
Les commandes ont pour but de lire où de fournir une position estimée du robot
exprimée dans un repère absolu attaché au site, et permettant de contrôler les
Conclusion générale 110
Travaux réalisés
La première approche que nous avons considérée est basée sur le principe des
champs de forces virtuelles, le robot est attiré par son objectif et repoussé par
l’obstacle qu’il perçoit. La force d’attraction est calculée directement à partir des
positions du robot et de la cible, par contre pour déterminer la force répulsive, on
applique un raisonnement flou.
On a utilisé un contrôleur flou de type Takagi Sugeno, qui dans sa catégorie repose
sur une représentation à base de règles. Toutefois, à la différence des contrôleurs de
type Mamdani, la partie conclusion des règles s’exprime de manière numérique sous la
forme d’une constante.
Les entrées du contrôleur sont la distance dobs et θobs tandis que la sortie est θrép. La
première entrée est partitionnée en trois (3) sous ensembles flous de formes
Gaussiennes. La deuxième entrée est partitionnée en sept (7) sous ensembles flous de
mêmes formes, la sortie quant à elle est représentée par douze (12) constantes
Conclusion générale 111
(singleton). 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 variables linguistiques. En effet il est
toujours difficile d’exprimer ce qu’on veut dire, mais il semble encore plus difficile de
comprendre ce que dit quelqu’un d’autre.
A ce stade, on a donc la sortie définie sous forme linguistique avec des degrés
d’appartenance précis. Les méthodes d’inférence fournissent une fonction
d’appartenance résultante pour la variable de sortie. Il s’agit donc d’une information
floue qu’il faut transformer en grandeur physique.
Le principe général est de déterminer la prochaine direction de navigation en résolvant
un ensemble de conflits. Des éléments, que l’on pourrait appelé experts, sont chargés
d’analyser chacun une particularité de l’environnement et d’apporter une réponse pour
la traiter. Dans le cas du but à atteindre, l’expert fournit la direction à suivre pour le
rejoindre directement si aucun obstacle n’est présent. Dans le cas d’obstacle, chaque
expert fournit la direction à suivre pour ne pas entrer en collision avec l’obstacle dont
il a la charge. Chaque expert ayant indiqué sa réponse, il s’agit ensuite de synthétiser
l’information afin de fournir une seule direction permettant de guider le robot. Chaque
proposition formulée correspond à un chemin et représente ainsi une direction valide.
La plupart des approches intelligentes courantes sont heuristiques en nature. Ce genre
d’approches a deux inconvénients :
• Dépendre uniquement du problème pris en charge, c'est-à-dire une méthode
peut bien fonctionner pour un problème mais pas pour un autre,
• Absence de cadre pour modéliser et représenter différents aspects de stratégies.
Dans le présent travail on s’est intéressé au chemin le plus court. Pour que le
régulateur ne reste pas figé, on a proposé une méthode d’apprentissage par gradient
descendant, qui permet l’ajustement automatique des paramètres du contrôleur afin
d’obtenir des sorties désirées pour des entrées données.
Dans l’approche que nous avons réalisée, les données sont tout d’abords prétraitées de
manière à réduire la complexité du problème et le nombre de règles nécessaires. Le
formalisme flou, de part ses propriétés d’approximateur universel, a la possibilité de
décrire la transformation recherchée mais l’expression sous forme de règles de notre
compréhension du mécanisme de navigation ne permet pas de générer une solution
Conclusion générale 112
Dans la deuxième approche, l’idée principale est de produire des règles floues à partir
des données entrées/sorties, combiner ces règles floues linguistiques dans une base
commune, et en conclusion concevoir un système de commande.
On a commencé premièrement par la génération des règles floues par l’emploi de la
méthode de Wang et Mendel qui consiste à:
1. La division des espaces d’entrée/sortie en régions flous,
2. La génération des règles floues à partir des paires de données,
3. L’attribution d’un degré d’appartenance à chaque règle,
4. La création d’une base de règles floues combinées,
5. La détermination de la fonction de commande.
Conclusion générale 113
Malgré l’obtention d’une base de règles finale réduite pour le contrôleur utilisé, les
résultats obtenus sont peu satisfaisants. Pour remédier à ce problème, nous nous
sommes intéressés aux algorithmes génétiques pour ajuster les paramètres du
contrôleur flou. Deux méthodes sont utilisées :
• Ajustement des structures surfaces : Il est possible d’exécuter des opérations
logiques sur les limites d’un ensemble flou. On parle de frontières linguistiques, la
signification de l’ensemble s’en trouve modifiée. Nous en citons les plus connus (la
compression et la dilution).
• Ajustement des structures profondes : pour changer les formes des fonctions
d’appartenance, on doit changer les paramètres qui les déterminent.
L’objectif de l’application des algorithmes génétiques sera de réduire au minimum
l’erreur moyenne quadratique.
La méthode d’ajustement génétique a les composantes suivantes :
1. Pour la population initiale on a choisi 50 individus.
2. Pour l’opérateur de croisement, le croisement standard à 2 points est appliqué,
3. Pour l’opérateur de mutation, la mutation uniforme est considérée,
4. Enfin un algorithme génétique avec le procédé de prélèvement universel
stochastique de Beker est appliqué.
Après 50 générations on a obtenu un contrôleur flou très performant qui permet
d’éviter l’obstacle quelque soit sa position dans l’espace de travail.
Bibliographie
[And.88] Anderson (T.L) et Donath (M). – Animal Behavior as a Paradigm for
Developing Robot Autonomy. International Journal on Robotics and Autonomous
Systems, vol.6,n° 1-2, juin 1990, pp.145-168.-ISSN 0921-8830.
[ Arc.93] Arciniegas (J.I.), Cios (K.J.] et Eltimashi (A.H). Fuzzy Inference, Radial
Basis Functions and Control of Flexible Robotic Manipulators. In: Proc. Of
International Conference on Artificial Neural Networks, 2d. par Gielen (S.) et
Kappen (B.). pp.301-304.-Amesterdam, The Netherlands, septembre 1993.
[Bak.87] Baker (J. E.).- Reducing bias and inefficiency in the selection algorithm. In:
Proc. 2nd Int. Conf. Genetic Algoriths,Hillsdale, NJ, pp. 14-21, 1987.
[Bou.92a] Bouslama F., Ichikawa A., Fuzzy control rules and their natural control
laws, Fuzzy Sets and systems, 48, pp.65-86,1992.
[Buc.89] Bucky J., Ying H., Fuzzy Controller Theory: Limit Theorems for Linear
Control Rules, Automatica, 25, pp. 469-472, 1989.
[Buc.90] Buckly J., Fuzzy Controller: Further Limit for Linear Fuzzy Control Rules,
Fuzzy Sets and Systems, 36, pp.225-233, 1990.
[Cas.93] Castro (A.), Delgado (M.) et Herrera (F.).- A learning Method of Fuzzy
Reasoning by Genetic Algorithms. In: Proc. Of the First European Congress on
Fuzzy and Intelligent Technologies (EUFIF’93), pp. 804-809.- Aachen, Germany,
septembre 1993.
[Cas.03] Casillas (O.), Cordon (F.), Herrera (F.) et Magdalina (L.).- Eds., Accuracy
Improvements in Linguistic Fuzzy Modeling.In: Heidelberg Germany: Springer –
Verlag, 2003.
Bibliographie 115
[Cas.02] Casillas (J.), Cordon (O.) et Herrera (F.).- COR : A methodology to improve
ad hoc data-driven linguistic rule learning methods by inducing cooperation among
rules. In: IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 32, n° 4, pp. 526-537,
2002.
[Cas.05] Casillas (J.), Cordon (O.), Del Jesus (M. J.) et Herrera (F.).- Genetic tuning
of fuzzy rule deep structures preserving interpretability an dits interaction with fuzzy
rule set reduction. In: IEEE Trans. on fuzzy Syst. vol. 13, n) 1, 2005.
[Cha.72] Chang S., Zadeh L.,- On Fuzzy Mapping and Control, IEEE Trans. On
Systems, Man and Cybernetics, SMC 2, pp.30-34, 1972.
[Che.91] Chen (S.), Cowan (C.F.N.) et Grant (P.M.).- Orthogonal Least Squares
Learning Algorithm for Radial Basis Function Networks. IEEE Transactions on
Neural Networks, vol.2, n)2, mars 1991, pp.302-309.- ISSN: 1045-9227.
[Coo.94] Cooper (M.G.) et Vidal (J.J.).- Genetic Design of Fuzzy Controllres :The
Cart and Jointed-Pole Problrm. In: Proc. Of the IEEE International Conference on
Fuzzy Systems. –Orlando, Florida, USA, juin 1994.
[Coo.93] Cooper (M.G.) et Vidal (J.J.).- Genetic Design of Fuzzy Controllres. In:
Proc. Of the Second International Conference on Fuzzy Theory and Technology.-
Durham, North Carolina, USA, octobre 1993.
[Cor.97] Cordon (O.) et Herrera (F.).- A three-stage evolutionary process for learning
descriptive and approximate fuzzy logic controller knowledge bases from examples,
In: Int. J. Approx. reason., vol. 17, n°. 4, pp. 369-407, 1997.
[Cor.98] Cordon (O.), Del Jesus (M. J.) et Herrera (F.).- Genetic learning of fuzzy rule
based classification systems cooperating with fuzzy reasoning methods. In:
International Journal Intell. Sys., vol. 13, pp. 1025-1053, 1998.
[Cor.01] Cordon (O.), Herrera (F.), Hoffmann (F.) et Magdalena (L.).- Genetic Fuzzy
Systems. In : Evolutionary Tuning and learning of Fuzzy Knowledge Bases.
Singapore: World Scientific, 2001.
[Fou.98] Foulloy L. Galichet S.,- Fuzzy and Linear Controllers, dans H.T Nguyen et
M.Sugeno (dir), The Handbooks of Fuzzy Set Series- Fuzzy Systems Modeling and
Control, Kluwer Academic Publishers, pp.197-225, 1998.
[Gal.95] Galichet S., Foulloy L., Fuzzy Controllers: Synthesis and Equivalences, IEEE
Transactions on Fuzzy Systems, vol. 3, n° 2, pp. 140-148, 1995.
[Gar.94] Garnier (Ph.).- Apprentissage d’un base de règles floues par la méthode
du simplexe. In : Les Applications des Ensembles Flous – Quatrièmes journées
Nationales.- Lille, décembre 1994.
[Got.87] Goto (Y.) et Stentz (A.).- Mobile Robot Navigation: The CMU System.
IEEE Expert, vol. 2, n°4, 1987, pp 44-54.
[Gué.93] Guély (F.) et Siarry (P.).- Gradient Descent Method for Optimizing
Various Fuzzy Rule Bases. In: Proc. Of the IEEE International Conference on
Fyzzy Systems, pp. 1241-1246.- San Francisco, CA, USA, mars 1993.
[Her.93] Herrera (F.), Lozano (M.) et Verdegay (J.L.).- Generating Fuzzy Rules
from Examples using Genetic Algorithms.- Rapport technique, Departement of
Computer Science and Artificial Intelligence, Universidad de Granade, octobre
1993.
[Her.93] Herrera (F.), Lozano (M.) et Verdegay (J.L.).- Tuning Fuzzy Logic
Controllers by Genetic Algorithms.- Rapport technique, Departement of Computer
Science and Artificial Intelligence, Universidad de Granade, octobre 1993.
[Her.95] Herrera (F.), Lozano (M.) et Verdegay (J. L).-Tuning fuzzy logic controllers
by genetic algorithms, In:Int. J. Approx. Reason., vol. 12, pp. 299-315, 1995.
[Her.97] Herrera (F.), Lozano (M.) et Verdegay (J. L.).- Fuzzy connectives based
crossover operators to model genetic algoritms population diversity. In: Fuzzy Sets
Systems, ol. 92, n° 1, pp. 21-30, 1997.
[Hu.99] Hu B., Mann G. , Gosiner R., - A new Methodology for Analytical and
Optimal Design of Fuzzy PID Controllers, IEEE Transactions on Fuzzy Systems, vol.
7, n°5, pp. 521-539, 1999.
[Ish.93] Ishibuchi (H.), Nozaki (K.) et Tanaka (H.).- Empirical Study on Learning
in Fuzzy Systems. In: Proc. Of the IEEE International Conference on
FuzzySystems, pp. 606-6111.- San Francisco, CA, USA, mars 1993.
[Jin.99] Jin (Y.) Von seelen (W.) et Sendhoff (B.).- On generating FC3 fuzzy rule
systems from data using evolution strategies. In: IEEE transaction Syst. Man, Cybern.
B, Cybern., vol. 29, n° 4, pp 829-845, 1999.
[Kat.93] Katayama (R.), Kajitani (Y.), Kuwata (K.) et Nishida (Y.).- Self
Generating Radial Basis Function as Neuro-fuzzy Model and its Application to
Nonlinear Prediction of Chaotic Time series. In: Proc. Of the IEEE International
Conference on Fuzzy Systems, pp. 407-414.- San Francisco, Ca, USA, mars 1993.
[Kar.91] Karr (C. L.).- Genetic Algorithms for Fuzzy Controllers. In: Al Axpert, vol.
6, n°. 2, pp. 26-33, 1991.
[Kos.92] Kosko (B.).- Neural Networks and Fuzzy Systems: A Dynamical Systems
Appoach to Machine Intelligence.- London, Prentice-Hall International Editions,
1992. ISBN 0-13-612334-1.
Bibliographie 118
[la.93] La (R.), Guély (F.) et Siarry (P.).- Apprentissage d’une base de règles
floues par la méthode du recuit simulé. In : Actes des troisèmes Journées
Nationales : Les applications des Ensembles Flous, pp. 221-240.- Nîmes, France,
octobre 1993.
[Lee.90] Lee (C.C.).- Fuzzy Logic in Control Systems : Fuzzy Controller, Part II.
IEEE Transactions on Systems, Man, and Cybernetics, vol. 20, n°2, mars 1990,
pp. 491-435.-ISSN 0018-9472.
[Lee.93] Lee (M.A.) Takagi [H.).- Interacting Design Stages of Fuzzy Systems
using Genetic Algorithms. In: Proc. Of the IEEE International Conference on
Fuzzy Systems, pp. 612-617.- San Francisco, CA, USA, mars 1993.
[Liu.01] liu (B. D.), Chen (C. Y.) et Tsao (J. Y.).- Design of adaptive fuzzy logic
controller based on linguistic-hedge concepts and genetic algorithms.-In: IEEE Trans.
Syst., Man, Cybern. B, Cybern., vol. 31, n° 1, pp. 32-53, 2001.
[Mar.89] Mark W. Spong et Vidyasagar M.- Robot Dynamics and Control, John Willy
& Sons. 1989.
[Mat.92] Matia F., Jimeneza A., Galan R., Sanz R.,- Fuzzy Controllers : Lifting the
linear-Nonlinear Frontier, Fuzzy Sets and Systems, 52, pp.113-128, 1992.
Bibliographie 119
[Mud.99] Mudi R.K., Pal N.R.,-A Robust Self Tuning Scheme for Pi- and PD- type
Fuzzy Control, IEEE Trans. On Fuzzy Systems, vol 7, n°1, pp.2-16, 1999.
[Nau.93] Nauck (D.), Klawonn (F.) et Kruse (R.).- Combining Neural Networks
and Fuzzy Controllers. In: Proc. of the International Conference on Fuzzy Logic
and Artificial Intelligence.- Linz, Austria, juin 1993.
[Nau.93] Nauck (D.) et Kruse (R.).- A Fuzzy Neural Network Learning Fuzzy
Control Rules and Membership Functions by Fuzzy Error Backpropagation. In:
Proc. Of the IEEE International Conference on Neural Networks, pp. 1022-1027.-
San Francisco, USA, mars 1993.
[Nau.99] Nauck (D.) et Kruse (R.).- Neuro-fuzzy systems for function approximation.
In: Fuzzy Sets Systems.vol. 101, n° 2, pp. 261-271, 1999.
[Nie.93] Nie (J.) et linkens [D.A.).- Learning Control Using Fuzzified Self-
Organizing Radial Basis Function Network. IEEE Transactions on Fuzzy Systems,
vol. 1, n°4, novembre 1993, pp. 280-287.- ISSN 0162-8828.
[Set.00] Setnes (M.) et Roubos (J. A.).- Ga-fuzzy modeling and classification :
Complexity and performance. In: IEEE trans. Fuzzy Syst., vol. 9, n° 5, pp. 509-522,
2000.
[Sug.93] Sugeno (M.) et Yasukawa (T.).- A fuzzy logic based approach to qualitative
modeling, In : IEEE transaction Fuzzy Syst.,vol. 1, pp. 7-31, 1993.
[Tak.85] Takagi (T.) et Sugeno (M.).- Fuzzy Identification of Systems and Its
Applications to Modeling and Control. IEEE Transactions on Systems, Man, and
Cybernitics, vol. 15, n° 1, janvier 1985, pp. 116-132.-ISSN 0018-9472.
[Tan.87] Tang K., Mulholland R.,-Comparing Fuzzy Logic with Classical Controllers
Designs, IEEE Trans. On Systems, Man and Cybernetics,17, pp. 1085-1087, 1987.
[Tao.00] Tao C.W., Taur J.S.,- Flexible Complexity Reduced PID-Like Fuzzy
Controllers, IEEE Trans. On Systems, Man and Cybernetics- Part B: Cybernetics,
vol.30, n°4,pp.510-516, 2000.
[Tao.05] Tao, C.W. and J.S Taur,- Robust fuzzy control for a plant with fuzzy linear
model, IEEE Transactions on Fuzzy systems,13, pp.30-41, 2005.
Bibliographie 120
[Thr.91] Thrift (P.).- Fuzzy logic sybthesis with genetic algorithms. In: Proc. 4th Int.
Conf. Genetic algorithms. R. K. Belew and L. B. Booker, Eds., San Mateo, CA, pp.
509-513, 1991.
[Wal.93] Wallace (R.), Matsuzaki (K.), Goto (Y.), Crisman (J.), Webb (J.) et
Kanade (T.).- Progress in Road-following. In: proc. Of the IEEE International
Conference on Robotics and Automation, pp. 1615-1621, - San Francisco, USA,
avril 1986.
[Wan.93] Wang (L.X.).- Training of Fuzzy Logic Systems using Nearest
neighbourhood Clustering. In : Proc. Of the IEEE International Conference on
Fuzzy Systems, pp. 13-17.- San Francisco, Ca, USA, mars 1993.
[Wan.92] Wang (L.X.) et Mendel (J.M.).- Generating fuzzy rules bu learning from
examples. In: IEEE Transactions Syst., Man, Cybern.,vol. 22, n°. 6, pp. 1414-1427,
1992.
[Zad.94] Zadeh (L.A.).- sSoft computing and fuzzy logic. In: IEEE Software, vol. 11,
n°6, pp. 48-56, 1994.