Professional Documents
Culture Documents
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 1
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
I ntroduite par L.A. Zadeh en 1965, la logique floue a depuis été mise en
œuvre avec succès dans de nombreux projets industriels. Son intérêt n’est
plus à démontrer pour le contrôle de systèmes, tout particulièrement lorsque
aucun modèle du système à piloter n’est disponible.
L’automobile, où les fonctions pilotées électroniquement se généralisent (ABS,
contrôle moteur, climatisation, boîte de vitesses automatique, etc.), s’intéresse
depuis plusieurs années à la logique floue. De nombreux brevets traitent de sys-
tèmes à base de « Fuzzy Logic » (logique floue) et plusieurs véhicules actuelle-
ment commercialisés utilisent cette technique dans certaines fonctions
embarquées.
Dans le cadre du programme européen Prometheus, le groupe PSA Peugeot
Citroën a développé un véhicule prototype équipé d’une direction pilotée. À par-
tir d’informations fournies par un système de vision, un calculateur embarqué
commande les mouvements du volant. Ce dispositif permet de maintenir le véhi-
cule dans sa voie de circulation en cas de manque de vigilance du conducteur.
Dans un premier temps, l’ensemble du module de commande a été développé
selon les principes de l’automatique. Puis, à titre de comparaison, le même sys-
tème a été mis au point sur véhicule avec une approche basée sur la logique
floue. Les bons résultats obtenus prouvent que cette solution constitue une
alternative pragmatique adaptée à certains problèmes industriels.
Le lecteur pourra, pour plus de détails, se reporter aux différentes références bibliographi-
ques en fin d’article.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 2 © Techniques de l’Ingénieur, traité Mesures et Contrôle
___________________________________________________________________________________ PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 3
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
Dans le cas d’un système de commande, les entrées proviennent ● Fuzzification des variables d’entrée
le plus souvent de capteurs et sont donc des valeurs numériques. De À partir des données numériques issues des capteurs, sont calcu-
la même manière, les sorties sont en général des consignes pour lés, pour chaque entrée, les degrés d’appartenance aux classes lin-
des actionneurs, c’est-à-dire des valeurs réelles. guistiques utilisées.
Le moteur d’inférence flou raisonne sur des règles linguistiques, ● Inférence floue
c’est-à-dire des implications logiques de la forme : Il s’agit, pour chaque règle, de passer des prémisses à la conclu-
« SI Condition1 ET/OU SI Condition2 ALORS Action ». sion. Le raisonnement flou est réalisé en trois temps.
a) Évaluation des conditions : chaque condition est de la forme :
Les conditions sont des tests sur les valeurs linguistiques asso-
ciées aux variables d’entrées. L’action consiste à affecter une valeur « SI Variable = ValeurLinguistique ».
linguistique à une variable de sortie. On aura par exemple : Le niveau de vérité d’une condition correspond au degré d’appar-
« SI Temps = Beau ET SI Moment = DébutMatinée ALORS tenance de la valeur numérique de la variable à la classe linguistique
Moral = Bon ». considérée.
b) Agrégation des conditions : plusieurs méthodes sont possi-
■ Pour raisonner avec les représentations numériques/linguisti- bles, une des plus utilisées étant celle proposée par Mamdani : le ET
ques des variables d’entrée et de sortie, le système à base de règles logique est traduit par l’opérateur « Min » et le OU logique par l’opé-
floues opère selon trois étapes successives (figure 3). rateur « Max ».
0
Faible Normal Fort
E1 1
Jeu de règles floues S0
E2
0
Bas Moyen Haut
1
E1 E2 S0
ET Min
Centre de
gravité Figure 5 – Liens entrées / sorties
Valeur de commande dans un système de règles floues
(Fonctionnement de Mamdani)
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 4 © Techniques de l’Ingénieur, traité Mesures et Contrôle
___________________________________________________________________________________ PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE
Le degré de vérité des prémisses correspond alors au minimum « Haut », « Moyen » et « Bas ». De même, les termes linguistiques
(resp. maximum) des degrés de vérité des conditions. « Faible », « Normal » et « Fort » sont associés à la variable de sor-
c) Calcul de la conclusion : chaque conclusion est une affectation tie.
de la forme : Supposons que le système flou comprenne deux règles :
« Variable = ValeurLinguistique ». SI E1=Haut OU SI E2=Moyen ALORS S0=Normal
La méthode la plus utilisée est de considérer le degré de vérité cal- SI E1=Moyen ET SI E2=Bas ALORS S0=Fort
culé pour les prémisses comme le degré de validité de l’affectation.
● Défuzzyfication des variables de sortie Le fonctionnement du système flou se représente graphiquement
selon le schéma de la figure 5.
Il s’agit, pour chaque variable de sortie, de passer des degrés de
validité calculés pour chaque conclusion à des grandeurs numéri- ■ La méthode des centres de gravité étant assez coûteuse en temps
ques. de calculs, elle est parfois remplacée par des solutions plus simples.
Il se peut, tout d’abord, que plusieurs règles concluent à la même On peut par exemple, au lieu de raisonner sur les aires, ne considé-
affectation, mais avec des degrés de validité différents. Dans ce cas, rer que les valeurs maximales associées aux différents termes lin-
on retient généralement uniquement la règle avec le degré de vali- guistiques. La sortie « défuzzifiée » est alors la moyenne de ces
dité maximal. extremums pondérés par les degrés de vérité associés. C’est cette
solution qui a été retenue pour notre application.
Ensuite, une des méthodes les plus utilisées pour agréger les dif-
férentes conclusions est de raisonner graphiquement sur les aires
associées aux fonctions d’appartenance des termes linguistiques
des conclusions, ces aires étant « limitées » par le degré de vérité de
la règle (cf. exemple ci-dessous). La valeur de sortie est alors le cen- 2.2 Système de développement
tre de gravité correspondant à la surface formée par l’union de ces FuzzyTECH
aires.
■ Pour un système de règles floues, il est également possible de
pondérer individuellement chaque règle. Le principe de raisonne- Un système utilisant de la logique floue peut s'implanter de plu-
ment reste identique, mais les degrés de validité des conclusions sieurs manières.
sont alors pondérés de la même manière que les règles associées.
■ Une première solution consiste en l’écriture d'un logiciel com-
■ Considérons, à titre d’illustration, un système comportant deux plet et spécifique à l’application. Le développeur prend alors en
variables E1 et E2 en entrée et une variable S0 en sortie (figure 4). charge le codage des trois étapes « Fuzzification », « Inférence
Pour chaque variable d’entrée, on suppose que son domaine de floue » et « Défuzzification », ainsi que l’interfaçage avec le système
valeurs est divisé en trois classes associées aux termes linguistiques à commander.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 5
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
Pas moteur
société INFORM [16]. Angle volant
Cet outil fonctionne sur plate-forme PC. Il comprend un module
de description schématique du système (figure 6), un module d'éla- Vitesse
boration des règles floues, un module permettant de générer du
code source C et des outils de mise au point.
Cap
Tachymètre
Vision Direction
Position
3. Description technique Véhicule
du projet
Figure 8 – Architecture de l’asservissement
3.1 Équipements
3.2 Variables d’état du système
Le véhicule utilisé est une Citroën XM équipée d'un actionneur de
direction et d'une caméra CCD (Charge Coupled Devices) couplée à
À partir de l’image acquise par la caméra, et de capteurs placés
un calculateur de traitement d'images.
sur le véhicule, le calculateur de traitement d'images fournit les don-
La commande est réalisée par un calculateur compatible « PC » nées suivantes (figure 8), toutes les 80 ms, par l'intermédiaire du
(figure 7). port série :
À partir de l’image fournie par la caméra, un algorithme de traite- — la position latérale (en cm) du véhicule par rapport au bord
ment d’images permet d’estimer la position latérale du véhicule par gauche de la route ;
rapport au centre de la route, ainsi que son cap par rapport à l'axe — le cap (en mrad) par rapport à l’axe de la chaussée ;
de la chaussée. Ce système de vision est basé sur un algorithme
— la vitesse du véhicule (en m/s) ;
« ligne droite », les informations calculées ne sont donc qu’approxi-
matives pour les courbes. Vu de l’application de commande, ce sys- — l’angle des roues directrices, traduit en « degrés volant ».
tème de vision s’utilise comme un capteur intelligent, pour lequel L’actionneur de direction reçoit, par l'intermédiaire de la liaison
nous ne disposons d’aucun modèle interne de fonctionnement. parallèle, une consigne en nombres de « pas moteur » (positif ou
L'actionneur de direction utilise un moteur électrique pas à pas négatif).
permettant de faire tourner automatiquement le volant. Pour le
développement de la commande, nous considérerons que cet
actionneur est un actionneur parfait. 3.3 Architecture de l’application
Le calculateur compatible « PC » utilise un processeur 80386
cadencé à 20 MHz. Il reçoit des informations en provenance du véhi- L’application est organisée autour de la boucle de contrôle pré-
cule par le port série, et envoie ses consignes à l’actionneur de direc- sentée sur la figure 8.
tion par la liaison parallèle. L’évolution des différents paramètres
dans le temps est stockée dans un fichier sur disque dur. Le programme est écrit en langage « C ». Il intègre la partie con-
trôleur flou, automatiquement généré par l’outil, ainsi que du code
complémentaire pour interfacer ce contrôleur avec le système à
piloter.
La consigne, envoyée à l’actionneur de direction, est rafraîchie à
Caméra la fréquence de 5 Hz.
Actionneur
de direction
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 6 © Techniques de l’Ingénieur, traité Mesures et Contrôle
___________________________________________________________________________________ PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE
Ce conducteur expérimenté conduisait de manière naturelle dans « Roues » est une variable locale au contrôleur pour mémoriser la
des conditions normales. Nous avons également observé le proces- valeur de la variable « AngleMoteur » calculée lors du précédent
sus et son comportement dans les conditions extrêmes (virages à cycle.
vitesse élevée...).
■ La figure 10 présente l’implantation du contrôleur avec l’outil
Un premier algorithme a été défini pour fonctionner à faible FuzzyTECH. On retrouve sur la gauche de ce synoptique les quatre
vitesse (50 km/h) en ligne droite. Pour passer à des vitesses plus éle- variables d’entrée du système : le cap, la position latérale et la
vées (jusqu’à 130 km/h), il a juste été nécessaire d’augmenter la fré- vitesse du véhicule, ainsi que l’angle des roues.
quence de fonctionnement.
Ce premier système, parfaitement opérationnel en ligne droite, a Le contrôleur se compose de trois modules, chacun utilisant un
ensuite été essayé en courbes. Il est alors apparu un écart de trajec- ensemble distinct de règles floues.
toire non satisfaisant dans la façon de prendre les virages. Des ● Le module de calcul du « CapDésiré » estime, à partir de la posi-
essais complémentaires ont montré que les informations délivrées tion latérale du véhicule et de la position des roues, le cap à obtenir
par le système de vision présentaient des déviances dans les cour- pour replacer correctement le véhicule dans sa voie de circulation.
bes. Un module complémentaire a alors été ajouté pour corriger ce ● Le module de calcul de « l’AngleMoteur » évalue, à partir du
phénomène. cap estimé du véhicule et du cap désiré, l’angle à donner aux roues
Ce nouveau système était parfaitement opérationnel dans les pour arriver à ce cap désiré.
courbes à faible vitesse, mais plus la vitesse augmentait plus le véhi- ● Le module de calcul du « GainMoteur » estime, à partir de la
cule avait tendance à sortir du virage. De nouveaux essais ont mon- vitesse du véhicule et de la position des roues, le gain nécessaire
tré que l’angle volant nécessaire pour prendre un virage dépendait pour corriger l’angle moteur calculé par le module précédent afin de
non seulement du rayon de courbure, mais également de la vitesse tenir compte des phénomènes de force centrifuge.
du véhicule. Un nouveau module flou a été ajouté pour tenir compte
de ce nouveau phénomène. Le « CapDésiré » est une variable interne au contrôleur ; seuls
l’angle et le gain moteur constituent des sorties effectives pour cal-
culer la commande à appliquer à la direction.
Il est intéressant de remarquer que l’ajout de ces modules n’a
jamais perturbé le fonctionnement du système en ligne droite.
4.3 Module de calcul du CapDésiré
Contrôleur
Roues
+
Position Position
-- +
Offset AngleMoteur PasMoteur
+ * --
Cap Cap
--
Offset
FuzzyTech
+
AngleVolant
--
Offset
Figure 9 – Synoptique
du contrôleur flou
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 7
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
Min
Cap COM
Cap AngleMoteur AngleMoteur
CapDésiré
Max
Min
Position COM
Position CapDésiré CapDésiré
Roues
Max
Roues
Min
Roues COM
Vitesse GainMoteur GainMoteur Figure 10 – Pilotage de direction
Vitesse
automobile PSA Peugeot Citroën :
Max synoptique du contrôleur flou sous
FuzzyTECH
0
0 --400 mrad 0 +400 mrad
--1 200 cm 0 +1 200 cm
b roues
Roues Droite ADroit ToutDroit ADroite
Gauche AGauche AGauche ToutDroit
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 8 © Techniques de l’Ingénieur, traité Mesures et Contrôle
___________________________________________________________________________________ PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE
CapDésiré
400
320
400 240
320 160
240 80
160 0
80 --80
0 --160
--80 --240
--160 --320
--240 --400
--320 400
--400 240
1 200 960 80
720 480 --80 Roues
240 0 --240
--480 --720 --240
Position --960 --400
--1 200 Figure 13 – Surface de contrôle
de la variable « CapDésiré »
ADroite ToutDroit AGauche L’AngleMoteur en sortie est caractérisé par cinq termes linguis-
1 tiques (figure 15) : Droite, MiDroite, Centre, MiGauche et Gauche.
Son domaine de valeurs est compris entre – 160 mrad et
+ 160 mrad.
Figure 14 – Calcul de l’AngleMoteur : La surface de contrôle (quasiment linéaire) associée est représen-
fuzzification des variables d’entrées tée figure 16.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 9
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
AngleMoteur
160
128
160 96
128 64
96 32
64 0
32 --32
0 --64
--32 --96
--64 --128
--96 --160
--128 400
--160 240
400 320 80
240 160 --80 CapDésiré
80 0 --80
--160 --240
Cap --240 --320
--400
--400 Figure 16 – Surface de contrôle
de la variable « AngleMoteur »
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 10 © Techniques de l’Ingénieur, traité Mesures et Contrôle
___________________________________________________________________________________ PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE
GainMoteur
15
13,5
15 12
13,5 10,5
12 9
10,5 7,5
9 6
7,5 4,5
6 3
4,5 1,5
3 0
1,5 100
90
0 80
70
400 320 60
240 160 50 Vitesse
80 40
0 --80 30
--160 20
--240 --320
Roues 0 10
--400 Figure 19 – Surface de contrôle
de la variable « GainMoteur »
4.5.3 Surface de contrôle En ce qui concerne la chicane, la première partie est franchie aux
alentours de 90-100 km/h alors que le second tronçon ne peut l’être
La surface de contrôle (fortement non linéaire) associée est don- au-dessus de 70 km/h.
née figure 19. À titre d’illustration, la figure 21 montre l’évolution de l’écart laté-
ral et de l’angle volant lors d’un passage sur la piste de tests avec la
double chicane.
5. Essais réels et résultats Les valeurs représentées sont les données brutes en sortie de cap-
teurs, sans tenir compte ni des offsets, ni des corrections nécessai-
res dans les virages pour se recaler sur les valeurs réelles.
300
En ligne droite, le comportement est très bon. Le véhicule con-
serve son cap au centre de la chaussée et le volant ne bouge que
très légèrement. La conduite apparaît très sécurisante et permet 250
d’atteindre des vitesses supérieures à 100 km/h.
En ligne courbe, les performances dépendent à la fois de la 200
vitesse et du rayon de courbure. Pour la portion de demi-cercle au 2e chicane
rayon de courbure élevé, le comportement est satisfaisant avec des 150 1ère chicane
vitesses de passage de l’ordre de 90 km/h avec une bonne impres-
40
Angle volant (en1/10°)
sion de sécurité.
30
20
R = 600 m R = 300 m
10
Figure 20 – Configuration de la double chicane Figure 21 – Évolution des paramètres sur la double chicane
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Mesures et Contrôle R 7 429 − 11
PILOTAGE DE DIRECTION AUTOMOBILE PAR LOGIQUE FLOUE ___________________________________________________________________________________
Références bibliographiques
[1] KAUFMAN (A.). – Introduction à la logique [7] BOVERIE (S.). – La commande floue dans les [12] CHATRY (N.), PERDEREAU (V.), MILGRAM
floue. Techniques de l’Ingénieur, Mesures et systèmes automobiles. Club EEA-GDR Auto- (M.), DROUIN (M.) et RIAT (J.C.). – Vehicle
Contrôle, R 7 032, 1992. matique et TdSI du CNRS-MESR ; Action lateral control by a feedback recurrent
[2] BOUCHON-MEUNIER (B.). – La logique floue, « Automatique et Applications » - Journées network. CESA’96 IMACS Multiconference,
Éditions Que sais-je ? d’étude « Automatique et Automobile », Bor- Lille France July 1996.
deaux France 1995.
[3] BARRAT (J.P.), BARRAT (M.) et LECLUSE (Y.). [13] JURIE (F.), RIVES (P.), GALLICE (J.) et BRAME
– Exemple d’application de la logique floue : [8] DE LA TAILLE (R.). – La boîte de vitesse intel- (J.L.). – High speed vehicle guidance based
commande de la température d’un four ligente. Science & Vie n° 962 - Novembre on vision. 1st IFAC International Workshop,
piloté. Techniques de l’Ingénieur, Mesures et 1997, pp. 134-138. Intelligent autonomous vehicles, Southamp-
Contrôle, R 7 428, 1993. [9] SHIGEMATU (T.), HASHIMOTO (Y.) et WATA- ton England 1993, pp. 205-210.
[4] HONDA : HASEGAWA (Y.), IWAKI (Y.) et NABE (T.). – Development of automatic dri-
ving system on rough read - Automatic [14] AURRAND-LIONS (J.P.), DE SAINT-BLAN-
SAKAI (I.). – System for controlling vehicle
steering control by fuzzy algorithm. Intelli- CARD (M.) et JARRI (P.). – Autonomus cruise
automatic transmission using fuzzy logic.
gent vehicles’92, Detroit United States 1992, control with fuzzy logic. EUFIT’93, Germany,
United States Patent number 5.323.318.
pp. 154-159. pp. 1-7.
[5] DAGE (G.A.), AMES (R.), MATTESON (R.W.),
SIEJA (T.F.) et DAVIS (L.I.). – Fuzzy logic con- [10] DAIMLER-BENZ : UWE (F.), STEFAN (H.) et [15] MERLIN (S.), MELIN (C.) et RIAT (J.C.). – An
trol of an automotive HVAC system. ISATA AVSHALOM (S.). – Installation pour la direc- application of fuzzy logic to automatic trans-
symposium on automotive technology and tion, régulée pour tenue de trajectoire, d’un mission. CESA’96 IMACS Multiconference,
automation, Aachen Germany 1993, pp. 409- véhicule. Brevet N° 2.710.602 [94 11444]. Lille France July 1996, pp. 913-917.
413. [11] AUBERT (D.) et MAMMAR (S.). – Contrôle [16] INFORM. – Fuzzy TECH® 4.0, User manual –
[6] GACH (B.), LANG (M.) et RIAT (J.C.). – Fuzzy latéral automatique d’un véhicule à l’aide Mars 1995.
controler for thermal comfort in a car cabin. d’une caméra : état de l’art dans le cas du
SAE’97, SP-1239, document number 970107, suivi de route. Recherche Transports Sécu- [17] site Internet http : // www.psa.fr Présentation
Detroit February 1997. rité n° 52 - Juillet-Septembre 1996, pp. 15-30. détaillée de la voiture intelligente.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
R 7 429 − 12 © Techniques de l’Ingénieur, traité Mesures et Contrôle