You are on page 1of 12

Pilotage de direction automobile

par logique floue

par Jean-Christophe RIAT


Ingénieur à la Direction des Recherches et Affaires Scientifiques
du groupe PSA Peugeot Citroën
avec la participation de Jean-Pierre AURRAND-LIONS
Neural and Fuzzy Systems Institute Marseille

1. Présentation du projet ............................................................................ R 7 429 2


1.1 Place du projet au sein de PSA Peugeot Citroën ....................................... — 2
1.2 Description du projet.................................................................................... — 2
2. Logique floue ............................................................................................. — 3
2.1 Rappels généraux......................................................................................... — 3
2.1.1 Sous-ensembles flous......................................................................... — 3
2.1.2 Système de règles floues.................................................................... — 3
2.2 Système de développement FuzzyTECH .................................................... — 5
3. Description technique du projet .......................................................... — 5
3.1 Équipements ................................................................................................. — 5
3.2 Variables d’état du système......................................................................... — 5
3.3 Architecture de l’application........................................................................ — 6
4. Contrôleur à logique floue ..................................................................... — 6
4.1 Élaboration des règles ................................................................................. — 6
4.2 Synoptique général ...................................................................................... — 7
4.3 Module de calcul du CapDésiré................................................................... — 7
4.3.1 Variables floues d’entrée et de sortie ................................................ — 7
4.3.2 Ensemble de règles floues.................................................................. — 8
4.3.3 Surface de contrôle ............................................................................. — 8
4.4 Module de calcul de l’AngleMoteur............................................................ — 9
4.4.1 Variables floues d’entrée et de sortie ................................................ — 9
4.4.2 Ensemble de règles floues.................................................................. — 9
4.4.3 Surface de contrôle ............................................................................. — 9
4.5 Module de calcul de GainMoteur................................................................ — 10
4.5.1 Variables floues d’entrée et de sortie ................................................ — 10
4.5.2 Ensemble de règles floues.................................................................. — 10
4.5.3 Surface de contrôle ............................................................................. — 11
5. Essais réels et résultats .......................................................................... — 11
5.1 Description de la piste.................................................................................. — 11
5.2 Résultats........................................................................................................ — 11
6. Conclusions ................................................................................................ — 12
6.1 Projet ............................................................................................................. — 12
6.2 Intérêts de la logique floue .......................................................................... — 12
6.3 Perspectives .................................................................................................. — 12
Références bibliographiques .......................................................................... — 12

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.

1. Présentation du projet Ce dernier système sert de support à l'application présentée


dans cet article. L'objectif est de mettre en œuvre la logique
floue sur une application concrète de contrôle embarquée.
Les résultats permettront d'évaluer cette technique dans un
1.1 Place du projet au sein de PSA contexte automobile et de la comparer avec d'autres approches
Peugeot Citroën utilisées pour la commande.

Au début analogique, puis progressivement numérique, l'électro-


nique dans l'automobile a tout d’abord été introduite au niveau du
contrôle moteur, afin de permettre le respect des normes antipollu- 1.2 Description du projet
tion. Aujourd'hui, elle intervient sur de nombreuses fonctions pilo-
tées, aussi bien au niveau du confort (régulateur de climatisation,
boîte de vitesses automatique, etc.) que de la sécurité (ABS, air-bag, Le véhicule est équipé d'une caméra placée à côté du rétroviseur
etc.). L’électronique a notamment permis le développement de nou- intérieur pour filmer la scène routière qui se présente devant le véhi-
veaux systèmes de sécurité active pour informer le conducteur sur cule (figure 1).
son environnement et, si nécessaire, éviter l'accident par des systè-
Un calculateur de traitement d'images, construit autour d'un pro-
mes d'alerte et d'assistance.
cesseur de traitement du signal TMS 320C50, détecte les lignes
Le véhicule de synthèse ALTO (Advanced Leading Technologies blanches tracées sur la chaussée et calcule, en temps réel, la posi-
On board) développé par le groupe PSA Peugeot Citroën, illustre le tion du véhicule dans sa voie de circulation.
concept de « voiture intelligente » mis en évidence dans le cadre du
Utilisé seul, ce système autorise l'estimation de la trajectoire de la
programme européen Prometheus (une présentation détaillée est
voiture et, en cas d'écart important, alerte le conducteur au moyen
disponible sur le site Internet [17]).
d'une alarme sonore.
L'utilisation de nouvelles technologies a permis d'implanter sur
Un dispositif complémentaire, constitué d'un moteur électrique
ce véhicule plusieurs solutions prometteuses pour améliorer la
pas à pas couplé à l'arbre de direction, permet d'actionner les mou-
sécurité. Parmi celles-ci nous pouvons notamment citer :
vements du volant. Un logiciel de commande peut alors piloter la
— un système de vision de nuit, appliquant des technologies pro- direction à partir des informations fournies par le traitement d'ima-
che infrarouge, pour mieux distinguer les personnes ou objets lors ges.
d'une conduite nocturne ;
— un système de contrôle d'allure intelligent basé sur l'utilisation Lorsque le véhicule s'écarte de sa trajectoire, et si le conducteur
d'un télémètre laser, pour maintenir une distance de sécurité entre ne corrige pas cette dérive, le système intervient pour repositionner
le véhicule et celui qui le précède [14] ; la voiture dans sa voie de circulation. Sur certaines autoroutes, ce
— un système de suivi de lignes blanches, élaboré autour d'une véhicule expérimental autorise un suivi du profil routier sans inter-
application de reconnaissance du marquage au sol, pour éviter les vention du conducteur.
écarts de trajectoire du véhicule lors d'une défaillance du conduc- La première version du module de commande a été développée
teur [13]. selon les principes de l'automatique :

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

Exemple : si on considère la vitesse d’une automobile, on peut


considérer une variable linguistique « Vitesse » caractérisée selon trois
Caméra classes : « Faible », « Normale » et « Élevée ». Tout le monde s’accorde
sur le fait que 180 km/h est une vitesse « Élevée » et 20 km/h une
Actionneur vitesse « Faible ». Mais comment qualifier une allure de 70 km/h ? Cer-
de direction tains diront qu’il s’agit d’une vitesse « Normale » alors que d’autres la
considéreront comme « Faible ».
La théorie des sous-ensembles flous permet d’accorder les deux
points de vue en considérant 70 km/h comme une vitesse à la fois
« Faible » et « Normale » (figure 2).
Dans l’exemple, 70 km/h est considérée comme une vitesse
« Faible » avec un degré de 0,25 et comme une vitesse « Normale »
avec un degré de 0,75.
Les fonctions en forme de trapèze qui définissent les degrés
Calculateur de traitement d’images d’appartenance des vitesses aux classes sont arbitraires et leurs for-
mes doivent être définies en fonction du problème (la forme trapé-
zoïdale est présentée à titre d’illustration, toute autre fonction est
Figure 1 – Équipements du véhicule expérimental
possible).
Cette approche permet d’assurer une transition progressive entre
— élaboration et validation d'un modèle analytique du véhicule ; les classes, ce qui n’est pas possible en logique booléenne où les
— mise au point par simulation d'une commande par retour classes ne se recouvrent pas.
d'état ;
— implantation et tests sur véhicule.
L’objectif de la présente étude est, à titre de comparaison, de met- 2.1.2 Système de règles floues
tre au point un système avec les mêmes fonctionnalités en utilisant
des techniques issues de la logique floue. Un système de règles floues permet de décrire, sous forme de
règles linguistiques, une fonction de transfert entre les variables
d'entrée et celles de sortie d'un système (figure 3). Les valeurs de
ces variables sont exprimées au moyen de termes linguistiques
2. Logique floue associés à des sous-ensembles flous. Il est ainsi possible de
« modéliser » un processus ou une expertise en prenant en compte
l'imprécision du modèle ou de l'expert.

2.1 Rappels généraux

Derrière les termes « logique floue » sont regroupées plusieurs


notions complémentaires dont la théorie des sous-ensembles flous, Faible Normale Élevée
1
la théorie des possibilités et le raisonnement flou. Les bases mathé-
matiques associées sont détaillées dans les documents [1] [2] réfé- 0,75
rencés dans la bibliographie.
Pour l’application qui nous intéresse, la logique floue a été 0,5
employée dans un but de commande en utilisant un ensemble de
règles floues. Un tel système utilise, de manière pragmatique, la 0,25
notion de sous-ensembles flous pour manipuler, à l’aide de termes
70
linguistiques, les données du système, ainsi que les principes du rai- 0
sonnement flou pour exploiter le jeu de règles. 0 40 80 120 160 200
Vitesse (km/h)

2.1.1 Sous-ensembles flous Figure 2 – Exemple de sous-ensembles flous. Vitesse

Introduite par L.A. Zadeh en 1965, la théorie des sous-ensembles


flous permet d’étendre la notion de nombres pour mieux représen-
ter des données imprécises ou vagues. Le principe consiste à ne
plus manipuler directement des grandeurs numériques, mais à Variables Jeu de règles floues Variables
employer des « valeurs linguistiques » comme « Grand », « Assez- d’entrée de sortie
Fuzzification Moteur Défuzzification
Grand », « TrèsGrand », etc. On parle alors de variables linguisti-
E1 d’inférence
ques dont les valeurs constituent un ensemble fini de termes lin- S1
guistiques appelé « univers du discours ».
Les domaines de valeurs numériques des variables sont partition- E2
nés en classes. Chaque classe, identifiée par un terme linguistique,
est caractérisée par une fonction définissant le degré d’apparte-
nance des valeurs numériques à cette classe. Ces classes ne sont S2
E3
pas exclusives, mais présentent des domaines de valeurs
communs ; une même valeur peut donc appartenir à plusieurs clas-
ses, son appartenance partielle à chaque classe étant caractérisée
par un degré d’appartenance spécifique. Figure 3 – Principe d’un système à base de règles floues

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 ».

Bas Moyen Haut


1

0
Faible Normal Fort
E1 1
Jeu de règles floues S0
E2
0
Bas Moyen Haut
1

0 Figure 4 – Système flou


à deux entrées et une sortie

E1 E2 S0

Bas Moyen Haut Bas Moyen Haut Faible Normal Fort


Max
OU

Bas Moyen Haut Bas Moyen Haut Faible Normal Fort

ET Min

Faible Normal Fort


Valeur mesurée Valeur mesurée

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.

Figure 6 – Description du système avec l’outil FuzzyTECH

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 ___________________________________________________________________________________

■ Une autre solution est d’utiliser des composants ou des cartes


électroniques contenant des puces spécifiques. Dans ce cas, le
concepteur dispose directement de fonctionnalités « floues » Position
(moteur d’inférence, fonctions d’appartenances, etc.) qu’il doit para-
métrer et interfacer avec son système. Cap
Contrôleur Pas moteur
■ Une dernière solution est d’employer un outil spécifique pour Vitesse
décrire le système de règles floues et ensuite générer automatique-
ment le code de commande associé. Pour notre étude, nous avons Angle volant
utilisé le système de développement FuzzyTECH, proposé par la

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

4. Contrôleur à logique floue

4.1 Élaboration des règles


Calculateur de
traitement Le contrôleur flou doit calculer la consigne à donner au volant à
d’images partir des données d’entrée (figure 8) : position, cap, vitesse et angle
Calculateur compatible "PC" volant).
embarqué dans le véhicule
Nous ne disposons d’aucun modèle du système à commander.
Pour définir la commande, nous avons étudié le comportement du
Figure 7 – Pilotage du véhicule par un compatible PC conducteur à partir d'acquisitions réalisées sur route et sur circuit.

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é

4.2 Synoptique général 4.3.1 Variables floues d’entrée et de sortie


La position latérale du véhicule sur la route est représentée avec
■ Le synoptique du contrôleur est donné figure 9. trois termes linguistiques (figure 11a) : « Gauche », « Centre » et
« Droite ». Les fonctions d’appartenance associées considèrent des
Les valeurs d’offset sur les données de « position », « cap » et valeurs dans l’intervalle [– 1 200 cm, + 1 200 cm].
« angle volant » permettent de corriger les erreurs statiques des
capteurs associés. Roues est une variable auxiliaire pour mémoriser l’AngleMoteur
calculé au cycle précédent (fonctionnement périodique de la boucle
La consigne de « PasMoteur » est calculée en multipliant l’Angle- d’asservissement) (figure 11b). Ses valeurs, comprises entre –
Moteur par le GainMoteur calculés par le contrôleur flou et en 400 mrad et + 400 mrad, sont fuzzyfiées avec trois termes
retranchant du résultat la valeur courante de l’AngleVolant. linguistiques : « Droite », “ Centre ” et « Gauche ».

Contrôleur

Roues

+
Position Position
-- +
Offset AngleMoteur PasMoteur
+ * --
Cap Cap
--
Offset

Vitesse Vitesse GainMoteur

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

ADroite ToutDroit AGauche


Gauche Centre Droite 1
1

0
0 --400 mrad 0 +400 mrad
--1 200 cm 0 +1 200 cm

a position Figure 12 – Calcul du CapDésiré :


fuzzification de la variable de sortie

Droite Centre Gauche


1

Tableau 1 – Calcul du CapDésiré. Table des règles floues


Position
CapDésiré
Centre Droite Gauche
0
--400 mrad 0 +400 mrad Centre ToutDroit AGauche ADroite

b roues
Roues Droite ADroit ToutDroit ADroite
Gauche AGauche AGauche ToutDroit

Figure 11 – Calcul du CapDésiré :


fuzzification des variables d’entrées
Dans toutes les règles utilisées, les conditions sont liées par un ET
logique. Ainsi, par exemple, la case en bas à droite du tableau tra-
duit la règle suivante :
La variable « CapDésiré » correspond au cap à obtenir pour cor- « SI Position = Gauche ET SI Roues = Gauche ALORS CapDésiré =
riger la position du véhicule (figure 12). Son domaine de valeurs, ToutDroit ».
compris entre – 400 mrad et + 400 mrad, est représenté par trois ter-
mes linguistiques : « ADroite », « ToutDroit » et « AGauche ».

4.3.3 Surface de contrôle


4.3.2 Ensemble de règles floues
Dans le cas d’un système avec deux entrées et une sortie, la sur-
Étant donné que le module comporte deux entrées et une sortie, face de contrôle permet de visualiser graphiquement la commande
il est possible d’exprimer les règles floues sous la forme d’une table (figure 13). Nous pouvons notamment remarquer les phénomènes
(tableau 1). En abscisse, figurent les valeurs linguistiques associées de non-linéarité.
à la variable « Position » et, en ordonnée, celles associées à la varia- Les couleurs permettent un meilleur « rendu » pour la représenta-
ble « Roues ». tion 3D de la surface (également pour les figures 16 et 19).

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é »

4.4 Module de calcul de l’AngleMoteur


Droite MiDroite Centre MiGauche Gauche
4.4.1 Variables floues d’entrée et de sortie 1

Le « CapDésiré » qui constituait la sortie du précédent module


est utilisé comme une entrée pour le calcul de l’AngleMoteur
(figure 14b). Les valeurs linguistiques associées sont les mêmes
que précédemment (figure 12).
La seconde entrée est le cap du véhicule estimé par le système de 0
vision (figure 14a). Ses valeurs, comprises entre – 400 mrad et --160 mrad 0 +160 mrad
+ 400 mrad, sont représentées avec trois termes linguistiques :
« ADroite», « ToutDroit » et « AGauche ».
Figure 15 – Calcul de l’AngleMoteur : fuzzification de la variable
de sortie

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.

4.4.2 Ensemble de règles floues


0
--400 mrad 0 +400 mrad Le jeu de règles est présenté dans le tableau 2. Pour chaque règle,
les conditions sont liées par un ET logique.
a Cap

Tableau 2 – Calcul de l’AngleMoteur. Table des règles floues


ADroite ToutDroit AGauche CapDésiré
1 AngleMoteur
AGauche ToutDroit ADroite
AGauche Centre MiDroite Droite
Cap ToutDroit MiGauche Centre MiDroite
ADroite Gauche MiGauche Centre
0
--400 mrad 0 +400 mrad

b CapDésiré 4.4.3 Surface de contrôle

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 »

4.5 Module de calcul de GainMoteur


Standard Leger Moyen Tres
4.5.1 Variables floues d’entrée et de sortie Augmente Augmente Augmente
1
Le « GainMoteur » permet de tenir compte des phénomènes
dynamiques dans les virages.
Il utilise deux variables en entrée : la vitesse du véhicule et l’angle
moteur calculé au cycle précédent, mémorisé dans la variable
« Roues » (figure 17a).
La vitesse du véhicule est représentée par quatre valeurs
linguistiques (figure 17b) : « TrèsLente », « Lente », « Moyenne » et
« Rapide ».
0
0 15

Figure 18 – Calcul du GainMoteur :


fuzzification de la variable de sortie
Droite Centre Gauche
1

Le « GainMoteur » en sortie est caractérisé par quatre termes


linguistiques (figure 18) : « Standard », « LegerAugmente »,
« MoyenAugmente » et « TresAugmente ».
Une table linéaire de correction permet de passer des valeurs
0 défuzzifiées au gain réel :
--400 mrad 0 +400 mrad
0 correspond à un gain de 1 et 15 correspond à un gain de 2,5.
a roues

4.5.2 Ensemble de règles floues


Le jeu de règles est présenté dans le tableau 3. Pour chaque règle,
TrèsLente Lente Moyenne Rapide
1 les conditions sont liées par un ET logique.

Tableau 3 – Calcul du GainMoteur. Table des règles floues


Roues
GainMoteur
0 Gauche Centre Droite
0 100 km/h
TrèsLente Standard Standard Standard
Vitesse

b vitesse Lente LegerAugmente Standard LegerAugmente


Moyenne MoyenAugmente Standard MoyenAugmente
Figure 17 – Calcul du GainMoteur :
fuzzification des variables d’entrées Rapide TresAugmente Standard TresAugmente

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.

5.1 Description de la piste


L’impression subjective, ressentie lorsqu’on est passager du
Le véhicule prototype est testé sur une piste privée avec un mar- véhicule, est bonne : le véhicule conserve une trajectoire à
quage au sol permettant de reproduire différents types de virages. l’intérieur du marquage sans à-coups importants sur le volant.
Le circuit comprend trois parties :
— une ligne droite d’environ 2 000 m ;
— un demi-cercle avec un rayon d’environ 600 m ;
— une double chicane avec la configuration présentée figure 20.
Position latérale (cm)

5.2 Résultats 350

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

200 m 100 m 200 m 80 m 200 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 ___________________________________________________________________________________

6. Conclusions de règles minimal. Au fur et à mesure des tests réalisés, la base de


règles floues est amenée à évoluer et à s’enrichir jusqu’à l’obtention
de performances satisfaisantes. Cette démarche est facilitée par
l’utilisation d’outils de développement spécifiques : le concepteur
6.1 Projet ne raisonne que sur les variables et règles floues, le code de com-
mande étant généré automatiquement par l’outil.
Les objectifs du projet ont été atteints. Le véhicule prototype est Actuellement, il n’existe aucune méthodologie complète pour le
capable de suivre automatiquement des marquages au sol corres- développement de contrôleur à base de logique floue. La réussite
pondants à ceux rencontrés sur autoroute. est alors fortement liée, d’une part, à la bonne compréhension du
Cependant, un travail important reste à réaliser pour arriver à un comportement du système à commander, et, d’autre part, à l’expé-
système totalement fiable qui fonctionne dans tous types de condi- rience du concepteur dans la mise en œuvre de la logique floue.
tions. Les principales limitations proviennent de la vision. L’image Enfin, il est important de garder à l’esprit qu’il est rarement possi-
restituée par la caméra est sensible aux problèmes de luminosité, ce ble de garantir la fiabilité complète d’un système à base de règles
qui perturbe les données de position et de cap calculées par le trai- floues. On constate expérimentalement une bonne robustesse de
tement d’images. De même, les virages ne sont pas anticipés, le sys- ces systèmes, mais aucune preuve formelle n’est actuellement pos-
tème de commande ne peut donc que “ corriger ” la trajectoire au sible.
lieu de réellement “ aborder ” un virage, comme le fait un conduc-
teur humain.
Globalement, le système à base de logique floue présente un 6.3 Perspectives
meilleur comportement que celui développé précédemment avec
une commande par retour d’état. Il est moins sensible aux perturba-
tions des données d’entrée et permet une commande plus fluide de Les résultats obtenus dans cette étude montrent que la logique
l’actionneur de direction, qui est ressentie comme plus sécurisante floue constitue une alternative intéressante et performante pour des
par les occupants du véhicule. applications de contrôle embarqué. Une étude est actuellement en
cours pour réaliser le pilotage de la direction à l'aide de réseaux de
neurones [12]. Ainsi, trois types de commande (automatique classi-
que, logique floue et commande neuronale) pourront être comparés
6.2 Intérêts de la logique floue dans des conditions identiques sur la même application support.
D'autres développements basés sur la logique floue on été réali-
Cet exemple applicatif illustre une mise en œuvre concrète de la sés à la Direction des Recherches et des Affaires Scientifiques de
logique floue pour la commande d’un système réel. Au travers de PSA Peugeot Citroën. Nous pouvons notamment citer une applica-
cette application, nous pouvons énoncer quelques principes géné- tion de prise de décision de changements de rapport pour une boîte
raux sur l’utilisation de cette technique. de vitesses automatique [15] ainsi qu'un régulateur de climatisation
La logique floue ne nécessite pas de modèle du système à com- véhicule [6].
mander. Il est uniquement nécessaire d’avoir une vue externe du Par ailleurs, Renault et PSA Peugeot Citroën commercialisent
comportement de ce système. Une analyse de ce comportement depuis peu, sur certains de leurs modèles, une boîte de vitesses
permet d’élaborer les règles de commande implantées dans le automatique gérée en logique floue [8]. Le calculateur caractérise le
contrôleur flou. type de route et le tempérament du conducteur pour constamment
La mise au point du contrôleur est réalisée progressivement et choisir le rapport le mieux adapté, c’est-à-dire celui qu’aurait
souvent expérimentalement. En général, on commence par un jeu engagé le conducteur avec une boîte de vitesses manuelle.

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

You might also like