Vous êtes sur la page 1sur 23

C H A P I T R E

A P P L I C A T I O N S

Chapitre

APPLICATIONS
Application pour la planification globale de trajectoires et la navigation de robots mobiles avec buts variables et obstacles. Application pour lexemple du parking. Comparaisons entre les algorithmes IVM-PDR, lalgorithme ACF, la logique floue de Kosko, la logique floue de Jang et la commande incrmentale rgles. Application au problme de la cuve. Comparaisons entre un contrleur ACF, un contrleur PID et le contrleur logique floue de Matlab. Application au problme du pendule inverse. Comparaisons entre un contrleur ACF, un contrleur PID et le contrleur logique floue de Matlab.

os travaux se sont ensuite ports sur la recherche de trajectoires et lvitement dobstacles car ils font parties des problmes importants de la Robotique mobile, en particulier, pour la planification et la navigation. Nos algorithmes permettent une planification globale. Le systme de navigation doit tre adapt aux robots mobiles autonomes holonomes ou pas, tenir compte des changements de buts et tre ractif des obstacles fixes ou mobiles. Cela devrait se traduire par une replanification globale ou locale en temps-rel pour atteindre lobjectif. Nous apportons dans ce chapitre des solutions fiables et rapides permettant la commande dtre adapte en-ligne grce lutilisation des algorithmes IVM et PDR. Nous avons dvelopp un simulateur permettant de montrer nos rsultats. Nous appliquerons ces algorithmes lvitement dobstacles et au problme de parking dun vhicule. Nous comparons ces rsultats avec ceux de la commande incrmentale rgles prsente au chapitre 3. Nous proposons aussi des applications de lalgorithme dasservissement cots futurs ACF. Dans le cadre de la planification, nous avons dvelopp un algorithme gomtrique permettant de gnrer une trajectoire de consigne pour lalgorithme ACF qui choisira la commande de moindre cot. Comme cet algorithme sapparente un systme expert comportant un petit ensemble de rgles, nous le comparons un contrleur logique floue tir de la littrature scientifique en lappliquant au problme de parking dun vhicule. Dans le cadre dasservissement, nous montrons que lalgorithme ACF est rapide mettre en uvre et donne des rsultats trs satisfaisants en lappliquant sur des modles dynamiques fortement non-linaires : le contrle du niveau dune cuve et le pendule invers. Nous comparons les rsultats obtenus avec ceux du contrleur logique floue de Matlab et dun contrleur PID.

112

C H A P I T R E

A P P L I C A T I O N S

5.1 Planification de trajectoires pour un robot mobile


5.1.1 Introduction

La catgorie des robots mobiles comprend tous les robots ayant la capacit de se mouvoir dans leur environnement. On y trouve les robots pattes comme le chien AIBO de Sony ou les robots fourmis, les robots bipdes, les robots chenilles, les robots volants comme les drnes et enfin les robots roues. Il existe deux types de robots roues : les robots non holonomes pouvant tourner sur place et les robots holonomes dont le systme mcanique prsente des contraintes de mobilit. Les problmes rsoudre de la robotique mobile sont dordre mcanique, de perception laide de traitement dimage ou de traitement du signal selon la nature des capteurs, de planification de trajectoires ou de recherche de lois de commande non linaires dont la rsolution est difficile et de navigation sans collision. Nous allons nous intresser dans ce chapitre la planification globale de trajectoires puisque nos algorithmes sy prtent bien dune part (voir les chapitres 4.1.5 et 4.1.7) et que la planification locale relve plus des problmes de perception pour la navigation. Nous allons utiliser deux mthodes de rsolution de la planification globale de trajectoires pour les robots mobiles, lune base sur notre algorithme cot moyen IVM et lautre base sur notre algorithme dasservissement cot futur ACF (voir chapitre 4.5) partir dune mthode de calcul gomtrique permettant de trouver rapidement une trajectoire complte. Nous montrerons que nos algorithmes de planification permettent de dfinir une architecture de commande pour la navigation aussi simple quefficace.
5.1.2 Mthodes globales existantes

Les mthodes de planification globale ncessitent une connaissance complte de lenvironnement. Ces mthodes modlisent lenvironnement ou le monde dans lequel les robots mobiles voluent sous la forme dun graphe, dun arbre, dun champs de potentiels, de valeurs ou de pnalisation. Enumrons dans ce paragraphe les diffrentes mthodes les plus mergentes : Nous avons les mthodes gomtriques de graphes de visibilit [Lozano-Perez 1979] [Lozano-Perez 1983], de tangentes [Liu 1991], de Vorono [Iyengar 1986]. Les arbres naires (quadtrees et octrees) [Samet 1988] et la dcomposition de lespace en polygones. Le graphe construit reprsente lespace libre, il faut alors rechercher la trajectoire optimale grce un algorithme de recherche oprationnelle, tel que A* [Hart 1968], MiniMax, AlphaBta, lalgorithme de plus court chemin de [Dijkstra 1959] ou encore utiliser pourquoi pas les algorithmes gntiques. Nous avons prsent et compar ces mthodes nos algorithmes aux chapitres 3.4.2 et 3.4.3. Les mthodes de champs de potentiels de [Khatib 1986] ont t trs utilises. Le robot se trouve sous linfluence dun champ de potentiel U compos de deux fonctions de potentiels lmentaires, lune rpulsive associe aux obstacles et lautre attractive associe ltat but xbut , soit U(x)=Urep(x)+Uatt(x) o x est un tat. Les variations locales des potentiels refltent la structure de lespace de travail et induisent la force artificielle r r r r F(x)=U(x)=U att (x)U rep(x) modifiant ainsi la trajectoire du robot. Pour obtenir ce champs de potentiels, il est ncessaire deffectuer une descente de gradient. Le principe de la navigation par potentiel consiste crer un contrleur dont les commandes auront pour but
B B B B B B

113

C H A P I T R E

A P P L I C A T I O N S

damener le robot dans une configuration minimisant une fonction. Cette minimisation assure la russite de la tche accomplir. Le problme est donc un problme doptimisation. Il en rsulte une trajectoire globale mais un inconvnient se prsente si il existe un minimum local diffrent de lobjectif atteindre. Un ouvrage de qualit permet den savoir plus sur toutes ces diffrentes mthodes [Latombe 1991]. [Kanayaman 1990], [Papoulias 1992] et [Sordalen 1993] prsentent une mthode adapte aux robots non-holonomes qui permet de trouver la fonction polynomiale reliant deux positions du robot ou deux trajectoires rectilignes suivant langle de dpart et darrive, le polynme du troisime ordre est du type f(X)=a3X3+a2X2+a1X+a0 ou du cinquime ordre si lon tient compte des discontinuits de la vitesse f(X)= a5X5+ a4X4+a3X3+a2X2+a1X+a0 . Connaissant le modle du robot, il faut crire les quations f et g des trajectoires pour respectivement le robot courant et un robot virtuel plac dans un tat atteindre. Les coefficients ai pour f et bj pour g dcoulent des positions cartsiennes et angulaires des robots et du rayon de courbure la position du robot. Cette approche est trs efficace et prcise mais plutt applicable localement car elle ne permet pas de tenir compte des obstacles de tout lenvironnement, il faut donc une couche de programme supplmentaire pour choisir en-ligne une nouvelle trajectoire de rfrence.
B B P P B B P P B B B B B B P P B B P P B B P P B B P P B B B B B B B B

Nous avons dj dmontr que la programmation dynamique rsolvait le problme au chapitre 3.1.6. Elle permet la planification globale de trajectoire et mne toujours aux buts de manire optimale quelle que soit lerreur sur le modle ou sur le bruit des capteurs, en boucle ferme. Notre algorithme cots moyens IVM repose sur la programmation dynamique. Nous rappelons que la mthode consiste construire une table des valeurs pour chaque tat discrtis (x,y,) o x est labscisse du robot sur le terrain, y est lordonne et est langle de cap. Le ou les buts auront la valeur la plus faible, un obstacle aura une valeur trs forte et toutes les valeurs dtats convergent vers ces tats Buts atteindre. Cette grille de valeurs contient donc toutes les trajectoires possibles du robot pour un ou plusieurs buts fixs dans un environnement parfaitement connu. Elle permettra dvaluer les commandes possibles de chaque position pour que le dplacement du robot converge vers lun des buts selon sa position initiale.
5.1.3 Planification algorithme IVM

La planification globale est dfinie comme la conception des grilles de valeurs partir de lalgorithme IVM. Aprs avoir initialis les voisins possibles laide du modle mathmatique de processus contrler, nous construisons une table des valeurs pour chacun des tats de notre espace. Nous allons voir comment appliquer lalgorithme IVM aux trois diffrents cas suivants : 1. le plus simple o le robot part de diffrentes positions initiales et doit atteindre un but unique plac au centre de la grille dtats discrtiss avec un angle darrive fix ;
U U U U

2. le cas o le robot part de diffrentes positions initiales et doit atteindre un but unique qui peut tre nimporte o dans la grille dtats discrtiss avec un angle darrive fix. Normalement il faudrait calculer une grille par position possible du but, cest dire autant quil y a dtats discrtiss, la mmoire ncessaire serait alors colossale.
U U U U

3. le cas o le robot part de diffrentes positions initiales et doit atteindre un but unique qui peut tre nimporte o dans la grille dtats discrtiss avec un angle darrive quelconque.
U U U U

114

C H A P I T R E

A P P L I C A T I O N S

Dans le premier cas, lalgorithme IVM est appliqu tel quel avec le but A connu lavance (xA fix, yA fix, A fix). Comme nous pouvons le voir sur la figure 5.1, quel que soit le point de dpart D, la trajectoire mnera A le point darrive. Une seule grille de valeurs calcule hors-ligne suffit rsoudre le problme.
B B B B B B

D A D

D D

Figure 5.1 Le terrain (en bleu) et la grille de valeurs (encadre rouge) Dans le cas o le but A peut tre quelconque (xA libre, yA libre, A fix), celui-ci se trouvera nimporte o sur la grille. Il faudrait donc effectuer le calcul dautant de grilles de valeurs quil y a de buts possibles pour rsoudre ce problme. Mais pour viter davoir besoin dune norme quantit de mmoire, il convient dappliquer notre algorithme IVM sur une seule grille qui serait deux fois plus large et deux fois plus longue puis de la translater pour faire concider le but, au centre de cette quadruple grille, avec le but rel plac sur la surface du terrain. En fait, cest quivalent translater les coordonnes du robot dans la grille ou de translater le terrain avant le dpart du robot ou lors dun changement inopin de but. On peut voir sur la figure 5.2 que le but A de la grille reste au centre et que selon la position du but rel, le terrain est translat. Sur le terrain de gauche, le point de dpart D est situ en haut gauche et le but A en bas droite. Sur lautre terrain, le point de dpart D est situ en haut droite et le but A gauche mi-hauteur.
B B B B B B B B

D D
A

Figure 5.2 Les terrains rels (en bleu) et la grille de valeurs (en rouge) Le cas prcdent admet toutes les positions cartsiennes du but sur le terrain mais seulement une position angulaire unique. Pour augmenter le nombre de positions angulaires du but, il faut N grilles de valeurs correspondant aux N valeurs discrtises possibles de langle darrive du robot la position du but. Vu que le nombre de grilles nest pas trs important, on peut envisager de les conserver mme si il aurait toujours t possible deffectuer des rotations de la grille.

but1 but2 but3


B B B B B B B B

Figure 5.3 une grille de valeurs par angle darrive discrtis Nous voyons clairement quavec des dplacements de grille ou du terrain de type translation ou rotation, il nest plus possible de tenir compte dobstacles connus lavance au moment
115

C H A P I T R E

A P P L I C A T I O N S

dappliquer lalgorithme IVM. Par contre, il est ais denvisager daugmenter les valeurs de la grille aux positions des obstacles chaque dplacement de la grille ou du terrain ce qui permettra au robot den tenir compte et de les viter puisque la navigation se fera en suivant le chemin de moindre cot et en choisissant les valeurs les plus faibles, il conviendra aussi de moyenner les valeurs autour des obstacles pour que le robot puisse effectuer une manuvre de contournement suffisamment lavance. De plus, nous le verrons au chapitre 5.2, il est possible que le robot tombe dans une impasse, nous prconisons alors un algorithme dapprentissage du terrain.
5.1.4 Simulateur algorithme IVM

Pour effectuer de nombreux tests, nous avons dvelopp un simulateur qui permet de dfinir les paramtres de la grille de valeurs, les dimensions du terrain, les pas de discrtisation en abscisse, en ordonne et en angle de cap et le type de robot. Nous pouvons ajouter des obstacles fixes, gnrer la grille de valeurs et effectuer la navigation en boucle ouverte. Le simulateur peut aussi rellement contrler un ou plusieurs petits robots cylindriques de type char (12 cm de diamtre) tlcommands par une liaison hertzienne de courte porte. Le dispositif de perception des robots est effectu par une camra situ au dessus du terrain (voir figure 5.4). Nous avons ainsi pu vrifier que la trajectoire du robot correspondait en tout point la celle affiche sur le moniteur. Pour notre part, nous navons pas pouss les exprimentations plus loin, le systme de perception ne faisant pas partie de notre tude et demandant un temps prcieux de rglage, de calibrage et dinterpolation entre les positions relles (au cm prs) et les positions films.
Camra Transmission des donnes Robot Terrain

Ordinateur de contrle des robots

Figure 5.4 Mise en uvre Notre simulateur a t dvelopp sous Windows en Visual Basic. Pour que tous les traitements concernant la grille de valeurs soient rapides, il fait appel une librairie de fonctions dynamiques (DLL) dveloppe en langage C qui ralise toutes les oprations importantes : lapprentissage IVM, le calcul du modle du vhicule, la gestion de mmoire, le calcul des positions futures pour toutes les commandes possibles. Nous avons implmenter le cas 2 o la grille est quatre fois plus grande (voir figure 5.2) permettant ainsi de choisir le but nimporte o sur le terrain. Pour le robot de type char, la surface du terrain est de deux fois celle dune table de ping-pong (2 m sur 4m), la vitesse est variable et choisie entre 1 m/s,0 et 1m/s. Pour le robot de type voiture, le terrain a une longueur de 40m sur une largeur de 20m, il sera dcompos en 5151 positions de 15 cm de surface. La vitesse est variable, elle contient 3 tats : -10 m/s,0,+10 m/s. Ltat des robots aura 4 composantes : x labscisse,y lordonne, langle de cap,v la vitesse. Langle de cap sera compris entre 0 et 2, et discrtis en 21 positions angulaires. La commande sera comprise entre -0,7 radians (-40) et 0,7 radians (40) et discrtis en 7 commandes. La priode de simulation est de 40 ms. Les figures de 5.5 5.7 montrent des exemples de trajectoires obtenues avec notre simulateur avec lalgorithme cots moyens IVM.
116

C H A P I T R E

A P P L I C A T I O N S

Nous avons appliqu notre simulateur aux deux types de robots mobiles holonome et non holonome.

Figure 5.5 - Dplacements dun robot de type char (But en (0 ;0 ;0 ;0)) Le robot de type char ou holonome, a plus de facilit tourner sur lui-mme, nous pouvons voir sur la figure 5.6 quil effectuera donc sa trajectoire dans le sens o il se trouve au dpart, en avanant ou en reculant, puis fera son demi-tour une fois arriv au but.

Demi-tour

Figure 5.6 - Demi-tour dun robot de type char (But en (0;0;0;0)) Le robot de type voiture ou non holonome ne peut pas tourner sur lui-mme, la figure 5.7 confirme que le demi-tour seffectue quelques temps avant larrive sur la position finale.

Petit crochet de Lie

Demi-tour

Figure 5.7 Dplacement et Demi-tour dun robot de type voiture (But en (0 ;0 ;0 ;0))
117

C H A P I T R E

A P P L I C A T I O N S

5.1.5 Planification pour lalgorithme ACF

Lobjectif est de trouver une trajectoire de consigne suivre pour contrler le dplacement dun vhicule afin dutiliser notre algorithme ACF prsent au paragraphe 4.5.3. Comme au paragraphe prcdent, le robot part dune position D (xD, yD, D) et doit atteindre le but A (xA libre, yA libre, A libre).
B B B B B B B B B B B B

Lide de cet algorithme de rsolution est que si le robot natteint pas son but dun trait, il faut dcomposer le problme, qui semble complexe, en au moins 2 sous-problmes un peu la manire de la programmation dynamique ou de faon rcursive. Notons que dans tous les cas, nous pouvons rsoudre le problme en un ou deux morceaux de trajectoires sauf si il existe des obstacles et il faudra alors peut tre plus de deux morceaux si la trajectoire obtenue coupe un obstacle. On comprend aisment que le but A est atteint du premier coup pour le cas o langle de cap de dpart est identique langle de cap darrive si le camion avance, ou oppos si le camion recule. Or, dans tous les autres cas, le problme se complique et bien quil soit assez facile darriver au point dsir en respectant les contraintes mcaniques, il est difficile dy arriver avec langle final dsir. La solution que nous prconisons est la suivante : au lieu darriver directement au but, nous utilisons un but intermdiaire que lon est certain datteindre et que lon va traverser avec un angle intermdiaire celui darrive, point quil est beaucoup plus vident atteindre en une trajectoire que le but final. Ce point intermdiaire P nest pas choisi au hasard pour la simple raison que des points intermdiaires il y en a dans tout le sous-espace dtat 2=X.Y. Cet espace dtat est beaucoup trop grand, mme avec une surface de terrain limite.
P P

Comment choisir le point intermdiaire pour tenir compte de tous les angles de dpart et darrive possibles ? Il faut distinguer 2 cas. Plaons nous dans le repre Rangles (Centre = point D, x=droite(DA), y= droite(DA)) avec (DA) perpendiculaire (DA) en D. Nous avons alors langle DA quivalent langle nul et langle DA est quivalent /2. Le repre des points reste inchangs, il reste gal lcran R(0,X,Y).
B B

Cas n1 a est compris entre /2 et 3*/2 : On prendra P sur la bissectrice de [DA] passant donc par le milieu I de [DA]. Cas particulier : si d =a alors P=I.
B B B B B B

Figure 5.8 Le point P se trouve sur la bissectrice Cas n2 a est compris entre -/2 et /2 : On prendra P sur la droite perpendiculaire (DA) passant par A.
B B

118

C H A P I T R E

A P P L I C A T I O N S

Figure 5.9 Le point P se trouve sur la perpendiculaire en A Voici les quations mathmatiques de droites intervenants dans la rsolution du problme. Soient les points suivants : Le dpart D(xd,yd), larrive A(xa,ya) et le milieu I(xi=(xa+xd)/2,yi=(ya+yd)/2)
B B B B B B B B B B B B B B B B B B B B

Droite (DA) : Droite (IPI) :


B B

y=a*x+b
B B B B

avec a=abs((ya-yd)/(xa-xd)) et b=yd a*xd


B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B

Droite (APA) :
B B

y=a1*x+b1 avec a1=abs((yp-yi)/(xp-xi)) et b1=yi a1*xi Pour trouver a1, on prendra PI=rotation(A) (centre I, angle /2), PI est un point P particulier de cette droite. y=a2*x+b2 avec a2=abs((yp-ya)/(xp-xa)) et b2=ya a*xa Pour trouver a2, on prendra PA=rotation(D) (centre A, angle -/2), PA est un point P particulier de cette droite.
B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B

Cette mthode est excessivement rapide car la recherche de solution pour notre problme consiste alors uniquement trouver les coordonnes du point P sur (IPI) ou sur (IPA) selon langle a en respectant lquation de droite respective. Selon la mthode de rsolution prise pour la recherche du point P et la prcision dsire larrive, le temps peut sallonger mais souvent plusieurs points peuvent tre solutions du problme et prendre une trop grande rsolution serait inutile.
B B B B B B

Algorithme de prdiction des cots futurs // Prdiction de la position future laide du modle puis calcul de la distance // euclidienne : CoutDist_min =1- mesurer le cot(min,x,y, ) CoutDist_max =1 - mesurer le cot(max,x,y, ) // Calcul de la commande (Gain=1000 : normalisation de la commande) : =abs((min - max )/2)*Gain*(sign(min)* CoutDist_min + sign(max)* CoutDist_max)
B B B B B B B B B B B B B B B B B B B B

Algorithme de recherche de la trajectoire optimale: Initialisation du point de dpart D Initialisation du point darrive A Tracer le segment [DA] Selon la diffrence entre les angles de dpart et darrive: Ecrire lquation de droite ()de la bissectrice du segment [DA] Ou Ecrire lquation de droite () de la perpendiculaire au segment [DA] Fin Selon
119

C H A P I T R E

A P P L I C A T I O N S

Le point P recherch se trouve sur la droite (). Sur un segment donn de () dont la bissectrice est la droite (DA), avec une rsolution raisonnable : Pour chaque point P de ce segment - Effectuer la trajectoire reliant DA passant par P, en bouclant lalgorithme de commande prcdent avec le modle du camion dcrit plus haut. - Enregistrer le cot en distance ou en temps parcouru dans une table CoutDist - Enregistrer lerreur sur langle larrive dans une table ErrAng Fin pour Rechercher parmi les points P ayant ErrAng minimale, le point P ayant la distance euclidienne CoutDist minimale. Par la suite, nous pourrons gnraliser cette mthode en tenant compte dobstacles fixes, ces obstacles seraient comme des champs de potentiels rpulsifs et provoqueraient donc lajout de points intermdiaires de telle manire que la dcomposition du problme le rende facile rsoudre. Puis dans un second temps, on pourra aussi rendre ces obstacles mobiles et transformer notre algorithme de planification de trajectoires en un algorithme respectant des contraintes temps-rel.
5.1.6 Conclusion

De toutes les mthodes prsentes, notre mthode IVM est la plus efficace parce que tout le travail de navigation est prpar hors-ligne, la planification sera globale, toutes les trajectoires optimales possibles sont trouves tenant compte des divers obstacles fixes. La navigation sera rapide et facilement adapte aux changements de lenvironnement. Cest lintrt principal de notre mthode IVM. Les autres solutions globales devront toujours tout re-planifier, ce qui peut devenir trs pnalisant pour la navigation temps-rel. Comme nous lavons dmontr au chapitre 4, notre grille de valeurs permet lvitement dobstacles fixes ou mobiles, le changement de positions du but atteindre et peut tre utilise pour plusieurs robots la fois, comme par exemple dans le clbre concours Robocup o plusieurs robots footballeurs saffrontent.

5.2 Navigation de robot mobile avec obstacles


5.2.1 Introduction

Les architectures de navigation pour les robots mobiles sont constitues le plus souvent dun systme mcanique de transport, en gnral des moteurs et des roues commands par un contrleur ; dun systme de perception efficace ; dun systme de planification et dun systme de gestion de lnergie utilise. On distingue plusieurs types darchitectures [Campion 1996]. Nous prsentons diffrentes mthodes de navigation pour robot mobile avec vitement dobstacles en-ligne. Lobjectif gnral de la mthode est de permettre un robot mobile de se dplacer depuis un tat quelconque vers un tat final choisi tout en respectant les contraintes instantanes, en appliquant ce robot des commandes en boucle ouverte ou ferme et en temps-rel en vitant des obstacles mobiles. Lalgorithme IVM a discrtis lespace continu des configurations en espace dtats discrets et associer chacun de ces tats une valeur qui dcrot en fonction de sa proximit avec le but selon les commandes possibles et les contraintes lies au robot mobile. Dans ce chapitre, nous appliquerons notre algorithme IVM au problme dfini en 2.7.2 que le robot soit holonome ou non holonome.
120

C H A P I T R E

A P P L I C A T I O N S

La version actuelle du simulateur prsent au chapitre 5.1.4 permet lvitement dobstacles et empche la collision entre le vhicule et les obstacles. Lutilisateur peut insrer et supprimer laide de la souris un ensemble dobstacles lcran, il peut les enregistrer dans un fichier et les relire. De mme pour la trajectoire obtenue, il est possible denregistrer les points de la simulation et de les relire, une procdure permet damliorer la trajectoire dont les obstacles ont forc le robot a recul et mme deffectuer un apprentissage de lenvironnement pour les cas o la grille de valeurs mne un chemin optimal qui est obstru, il faut alors que le robot recule et suive un autre chemin bien quil soit toujours attir vers le chemin optimal. Nous verrons comment nous avons trait ce cas particulirement difficile.
5.2.2 Mthodes locales existantes

Contrairement la planification globale, les mthodes locales fonctionnent en-ligne. Elles utilisent la perception que le robot mobile a de son environnement pour trouver un chemin dans un environnement complexe ou pour modifier la trajectoire globale si elle a t tablie antrieurement par une mthode globale (voir chapitre 5.1). Dans certains cas, le robot analyse lenvironnement pendant son mouvement puis apprend reconnatre des lments comme les portes dun btiment ou les obstacles. La trajectoire effectue chaque pas est courte et le comportement du robot est sans cesse modifi en fonction de sa perception. Le problme de la planification locale est de ne pas avoir suffisamment de recul pour viter les piges o le robot peut se trouver bloqu. Parmi les mthodes existantes, on trouve : - la mthode de [Weiser 1995] qui utilise lalgorithme Dyna de [Sutton 1990] et [Sutton 1991], il sagit dun apprentissage par renforcement utilisant lalgorithme du Q-learning (voir chapitre 3.3.4). Cette mthode est assez proche de la programmation dynamique, elle ne ncessite pas le modle du robot mais est beaucoup plus longue mettre en uvre. En gnral, lenvironnement est parcouru alatoirement jusqu trouver des trajectoires optimales et stocker cet environnement dans le robot (les Q-valeurs), le problme vient du fait que cette mthode ainsi que les mthodes dapprentissage par renforcement ne tiennent pas compte des changements de lenvironnement. Ce qui rend cette mthode moins adaptable que la ntre. - Une mthode trs originale de [Ramirez 2000] est base sur le calcul de la distance dans l'espace des vitesses. Cette approche est purement ractive, il ny a ni apprentissage ni planification globale hors-ligne, ce qui la rend trs fiable pour suivre un tunnel, un couloir ou une route mais trs peu crdible pour trouver la trajectoire qui vite lobstacle de faon optimale. - La mthode bien connue des champs de potentiels [Khatib 1986] permet chaque pas de ragir lenvironnement, elle sapparente notre mthode cot moyen sauf que lobjectif est cod dans la fonction dattraction et de rpulsion et quelle nutilise pas le modle du processus commander mais les irrgularits de lenvironnement. Cette mthode ne dfinit pas non plus de manire optimale toutes les trajectoires, la mthode doptimisation implique des minima locaux et dautre part elle ne prend pas aisment en compte les modifications de lenvironnement. - Les mthodes utilisant les rseaux de neurones : le systme effectue un apprentissage enligne de la tche de navigation partir dimages captes comme dans lapprentissage par renforcement o le robot fonctionne par essai-erreur et tente dassimiler lenvironnement. Lapprentissage est gnralement long et coteux lorsquil est effectu en temps-rel cause du nombre de paramtres utiliss et hors-ligne les rseaux ne peuvent pas prvoir toutes les modifications denvironnement. - Les mthodes utilisant la logique floue dont le comportement du robot est modlis par des rgles adaptes en-ligne ou pas, ou optimises hors-ligne. Il faudrait aussi que des rgles
121

C H A P I T R E

A P P L I C A T I O N S

soient incorpores pour tenir compte des modifications de lenvironnement, ce qui nest gnralement pas le cas. De plus, les mthodes logique floue ne permettent pas toujours une grande prcision due en particulier la mthode dagrgation employe. Nous pouvons retenir notre mthode dasservissement cots futurs ACF propose au chapitre 4.5 o il faut que le robot atteigne une trajectoire de consigne dfinie hors-ligne ou en-ligne (voir chapitre 5.1.5). Cette mthode peut tenir compte des modifications de lenvironnement, en plaant diffrents points intermdiaires entre les obstacles. Cette mthode reste une mthode ractive et peut amener le robot dans une impasse. Nous verrons au chapitre 5.3 que cette mthode est plus intressante pour effectuer des manuvres locales comme celles du parking dun vhicule.
5.2.3 Evitement dobstacles IVM et PDR

Dans le cas de nos algorithmes IVM et PDR bass sur la programmation dynamique, la planification locale est dfinie comme le choix des commandes en fonction de la perception dobstacles mobiles. Comme nous lavons vu au chapitre 5.1.3, chaque grille de valeurs est construite laide de lalgorithme IVM ou PDR, le but correspond la valeur la plus faible de cette grille et ainsi toutes les valeurs dtat dcroient plus elles sont proches du but. Le choix de la commande effectuer pour diriger le robot vers le but est donc de prendre la commande cot minimal. Dans le cas de buts multiples, il faudra intgrer les obstacles fixes et les obstacles mobiles aprs la translation de la grille de valeurs sur le terrain. Ce qui veut dire quil faudra soit modifier la grille de valeurs en augmentant les valeurs des positions occupes par les obstacles, soit vrifier pendant la navigation que la commande cot minimale nenvoie pas le robot sur une position occupe par un obstacle. La premire solution est plus dlicate car la grille de valeurs prend beaucoup de mmoire et peut trs bien servir plusieurs robots. De plus, on peut avoir besoin de translater la grille nimporte quel moment, les obstacles bougeraient avec elle et seraient placs sur des positions errones. Concernant les obstacles fixes, pour tenir compte des dimensions du robot et pour donner une marge de manuvre suffisante au robot, on pourra effectuer une recherche de plusieurs commandes cot minimal sur un horizon plus grand et viter de prendre la direction menant au but. Le robot fera ainsi un contournement dobstacle. Par contre, dans le cas des obstacles mobiles, cette dernire solution est encore possible mais on nvitera pas forcment la collision avec lobstacle si il se dplace une vitesse incertaine dans une direction incertaine. Aussi faut-il songer estimer la direction et la vitesse de dplacement de ces mobiles la condition que le temps de traitement le permette. Dans le cas contraire, si lobstacle mobile fonce sur notre robot vive allure, il ny a pas de solution envisageable par aucune mthode existante, la collision est invitable. Dans tous les autres cas, il y a une solution plus ou moins optimale. Il est possible de contourner le mobile si il avance dans la direction du robot (Collision 1), ou de rduire ou daugmenter la vitesse du robot pour laisser passer le mobile au cas o le robot va dans la direction du mobile (Collision 2), montrs sur la figure 5.10.

Figure 5.10 Collision 1, Collision 2 rduire , Collision 2 acclrer Toutes ces informations de reprage dun obstacle, destimation de la vitesse et de la direction des mobiles dans lenvironnement revient au systme de perception qui doit tre
122

C H A P I T R E

A P P L I C A T I O N S

suffisamment efficace, cela nest pas lobjet de cette thse mais nous tenions le souligner. Tout le problme est de ne pas trop allonger le temps dexcution de cette couche de planification ractive. Nous considrons donc par la suite que notre robot peut valuer si un obstacle mobile vient sa rencontre ou si le robot va dans la direction dun obstacle mobile.
5.2.4 Rsultats dvitement dobstacles fixes

Avec les obstacles fixes, il existe des problmes lis la forme, la surface et au volume occup par le robot mobile ou par lobstacle. Le premier problme est de considrer le robot comme un point, en gnral, son centre de gravit. Une solution consiste dilater tous les obstacles dune largeur correspondant au rayon r dun cercle trac partir du centre de gravit et intgrant toute les extrmits du robot. r
Figure 5.11 Obstacle dilat

Par exemple dans la figure 5.11, si le centre du robot nentre pas dans la zone bleue entourant lobstacle, le robot ne peut pas le toucher. Ces problmes ne se posent pas de la mme manire avec des obstacles mobiles car leur solution dpend surtout du comportement du robot en fonction de la vitesse et de la direction de lobstacle (cf. 5.4.2). Nous pouvons aussi considrer les mobiles ayant une vitesse trs infrieure celle de notre robot comme fixes. La figure 5.12 nous montre un robot mobile non holonome allant au but en vitant les obstacles fixes lempchant de suivre sa trajectoire optimale. Cet exemple est tir des simulations ralises avec notre simulateur. Les paramtres de lexprimentation sont les suivants : Le terrain fait 20 m sur 40 m. Lespace dtats est dcoup en 2271591 tats = 21 (cap) 7 (direction) 3 (vitesse) 51 (y) 101 (x). La grille pour le cas multiples buts contient 9086364 valeurs. Le nombre ditrations ncessaires lapprentissage IVM est de 500 (Haute rsolution). Le temps de gnration de la grille des valeurs par lalgorithme IVM est de 2 heures sur un PC Pentium III 866 MHz (DLL crite en langage C). Les figures de 5.11 5.14 prsentent des vitements dobstacles. A la figure 5.11, on peut voir une zone de collision entourant lobstacle et aussi que le vhicule nentre pas en contact avec lobstacle en rouge. Lobstacle provoque bien une modification de la loi de commande et ceci seulement proche de lobstacle, notion de ractivit.

Figure 5.12 - Trajectoires obtenues avant et aprs lajout dun obstacle (But en (2 ;2 ;0 ;0))

123

C H A P I T R E

A P P L I C A T I O N S

Sur la figure 5.13, nous avons intgr la zone anti-collision autour des obstacles, cest pourquoi le vhicule nentre pas en collision avec un seul obstacle. En fait , les valeurs de la grille correspondantes aux obstacles (en noir) ont t augmentes ainsi quaux positions voisines de ces obstacles.

Figure 5.13 Trajectoire obtenue pour un vitement dobstacles (But en (2 ;2 ;0 ;0))

Sur la figure 5.14, nous pouvons voir que le robot est contraint suivre une trajectoire particulire en vitant les obstacles. Certains chercheurs sur la scurit automobile tudient la possibilit de placer des capteurs tout au long de la route pour adapter automatiquement la vitesse et la direction du vhicule. Notre solution rsout aisment le problme.

Figure 5.14 - Trajectoire obtenue pour un vitement dobstacles (But en (5 ;5 ;0 ;0))

Nous constatons aussi que quelle que soit la position du but, la trajectoire du robot mobile tend toujours vers sa trajectoire optimale, la trajectoire avec vitement dobstacle est donc aussi optimale.
5.2.5 Commande IVM avec buts variables et obstacles

Voici runies toutes les tapes de notre systme de navigation pour les robots mobiles : 1. Initialisation des tats voisins possibles de chaque tat en utilisant le modle du processus commander ou un systme de prdiction. Travail hors-ligne. 2. Calcul des grilles des valeurs menant aux buts, le nombre ditrations dpend de la rsolution. Tous les tats sont des buts potentiels. Planification globale hors-ligne. 3. Dtecter les obstacles fixes et mobiles. Tche ralise par le systme de perception. 4. Prvoir une manuvre dvitement ou une stratgie plus complexe si possible. Choisir la commande adquate selon le but atteindre et en fonction des possibilits. Evitement ralis en-ligne. Apprentissage de manuvres en-ligne ou hors-ligne.
124

C H A P I T R E

A P P L I C A T I O N S

Nous avons apport quelques modifications lalgorithme de commande IVM dcrit au chapitre 4.1. Nous prsentons ci-dessous lalgorithme de commande intgrer dans un robot mobile autonome pour satisfaire lensemble des contraintes de navigation. Convertir ltat continu en tat discret s Pour toutes les commandes discrtes possibles a Trouver les tats voisins possibles sans obstacles fixes ( lhorizon h) Si pas de voisins : renvoyer( pas de commandes possibles ) Sinon : Choisir la commande donnant la valeur dtat la plus petite Si il y en a plusieurs, au choix : Prendre la commande mdiane si il ny a pas de mobiles Prendre la commande contournant un mobile si collision 1 La commande est ralentir ou acclrer si collision 2 Fin Si Fin Si Fin Pour Si la position du but varie, il suffit de translater la grille de valeurs ou translater les coordonnes du robot mobile sur la grille en faisant concider la position du but sur le terrain avec la position du but sur la grille. Nous avons tudi ce cas ainsi que celui o il y aurait de multiples buts au paragraphe 5.1.3. Nous rappelons aussi que la fonction qui calcule le voisin pour une commande donne utilise le modle du vhicule, et quil est prfrable que ltat voisin calcul soit diffrent de ltat courant pour viter tout problme de discrtisation, nous avons discut de cela au chapitre 4.
5.2.6 Ncessit de lapprentissage

La forme gomtrique des obstacles peut tre concave, cest un problme important rsoudre (voir la figure 5.15) car cela peut faire croire au robot quil se trouve entre deux obstacles et non quil se dirige au cur dun unique obstacle bloquant.

Figure 5.15 Obstacle concave

Pour viter de tels obstacles (voir la figure 5.15), il faut rendre convexes ces obstacles soit au niveau du systme de perception soit en utilisant un apprentissage incrmental du parcours raliser, ce dernier est prsent au paragraphe suivant.

Figure 5.16 Aprs une itration AIP (avance, recule et passe), 2 itrations AIP (avance et passe)
125

C H A P I T R E

A P P L I C A T I O N S

Un autre problme se pose, celui-ci est fortement li la mthode employe. Si la forme des obstacles est perpendiculaire la trajectoire optimale induite par la grille de valeurs, le robot mobile va se comporter en faisant des crochets de Lie. Et lorsque toutes les commandes menant au but seront puises dans un sens, le robot effectue ces mmes commandes dans lautre sens (voir la figure 5.16). Le fait est que les commandes trouves font faire au robot une trajectoire absurde. Dans ce cas, des solutions existent comme, par exemple, raliser une trajectoire de consigne en se servant des godsiques mais selon les contraintes du mobile, cette trajectoire nest peut tre pas envisageable. Il vaut donc mieux songer un apprentissage incrmental effectu avec peu ditrations et dont la trajectoire finale donnera les points de passages possibles. Toutes les sous-trajectoires menant ces points seront alors considrs comme des sous-buts atteindre. Cest lobjet de notre prochain paragraphe.
5.2.7 Apprentissage incrmental du parcours (AIP)

Nous avons dvelopp une mthode dapprentissage incrmentale tenant compte des difficults expliques au prcdent paragraphe. Cet apprentissage consiste faire parcourir au robot la trajectoire optimale en avanant vers lobstacle puis en remplaant les positions dj visites qui bloquent laccs par des obstacles virtuels, en particulier, si le robot est forc de reculer ou si le robot a parcouru un chemin sans issu. Cela permet dapporter une solution intressante tous les problmes rencontrs au paragraphe 5.2.6 et ceci avec un trs petit nombre ditrations (1 5) selon la forme des obstacles. Il faut bien garder lesprit que nous ne recalculons pas la grille de valeurs, nous augmentons seulement les valeurs des tats correspondant aux positions des obstacles et autour des obstacles selon la forme du robot mobile dans une liste en mmoire. Voici lalgorithme de commande et conjointement dapprentissage incrmental pour une itration : Conserver l'ancienne position sur le terrain Ajouter l'ancienne position la trajectoire finale Convertir position relle (sur le terrain) en position discrte dans la grille de valeurs selon le but choisi Lire dans la grille des valeurs, des tats possibles et de leurs valeurs Choix du meilleur tat : Pour toutes les commandes possibles, voir si un tat est possible et prendre celui de moindre cot : Si L'tat obtenu est un obstacle fixe (dilat), l'ignorer Si l'tat obtenu est le but, choisir cet tat et sortir Si il n'y a plus d'tat possible, Terminer Convertir les coordonnes du nouvel tat en coordonnes sur le terrain Si l'tat obtenu est un obstacle mobile dilat, augmenter les valeurs d'tat pour tous les phi, puis retourner choisir un tat Si l'tat a dj t visit et amne un chemin sans issu, il devient un obstacle donc la valeur est fortement augmente et le robot retourne dans son tat prcdent, limination de lancienne position de la trajectoire Afficher le robot Lalgorithme reconnat immdiatement si il na plus de solution de parcours et stoppe ainsi la phase dapprentissage en cours. Cette condition de fin se produit lorsque plus aucune commande nest disponible, cest dire quil ny a plus aucun tat atteignable dans la grille de valeurs.
126

C H A P I T R E

A P P L I C A T I O N S

5.2.8 Rsultats dapprentissage

Cas dun obstacle simple

Le robot non holonome doit parcourir la trajectoire optimale (en vert) avant lobstacle sur la figure 5.17. il arrive prs de lobstacle (en noir), il ne trouve plus de commandes raliser, aussi il pose un obstacle virtuel (en jaune) et revient ltat prcdent, il recule puis il excute une autre commande non encore ralise, celle de moindre cot choisie parmi celles disponibles, et ainsi de suite jusqu obtenir la surface en jaune et passer lobstacle ou se trouver dans un tat sans solution. Aprs lapprentissage, la trajectoire finale trouve (en rouge) permet datteindre le but en vitant lobstacle.

Figure 5.17 Avant lobstacle, Ajout dun obstacle, Aprs apprentissage (une itration) Aprs une itration, nous avons optimis la trajectoire obtenue en tenant compte des obstacles virtuels. Cela permet de nettoyer les morceaux du parcours dj vus de la trajectoire finale.
Cas dun obstacle concave

Figure 5.18 Ajout dun obstacle, Aprs apprentissage (une itration) Notre processus itratif est proche de la commande incrmentale rgles de Luzeaux, la CIR amliore le contrleur, nous modifions des valeurs de la grille pour amliorer la trajectoire de commande. Nous prconisons deux perfectionnements pour lalgorithme AIP : 1. Si l'tat parcourir est occup par un obstacle mobile, il faut augmenter les valeurs d'tat de la grille pour tous les angles de cap possibles uniquement pendant un certain dlai en fonction de la vitesse du mobile ou du champs de perception du robot. 2. La trajectoire mme nettoye nest pas forcment la plus courte et donc optimale autour de lobstacle. Aussi faudrait-il amliorer lalgorithme pour ne pas liminer systmatiquement le parcours des obstacles virtuels, en utilisant par exemple les godsiques.
5.2.9 Conclusion

Le domaine de la navigation et en particulier de lvitement dobstacles fixes ou mobiles est relativement complexe. Nous avons tout de mme apport des solutions concrtes grce lutilisation de nos algorithmes IVM et PDR. Ils permettent de rsoudre la plupart des problmes envisageables. Ces algorithmes sont rapides mettre en uvre et aisment adaptables pour de nombreuses situations de navigation.
127

C H A P I T R E

A P P L I C A T I O N S

5.3 Manuvre de Parking


5.3.1 Dfinition du problme

Dans lexemple du paragraphe 2.7.3, un vhicule doit venir se garer entre deux autres vhicules. Un autre problme assez proche est celui du camion qui recule pour placer le hayon arrire face un quai de dchargement en agissant sur langle de direction des roues. Dans les deux cas, la condition terminale est une position atteindre en abscisse, ordonne et en angle de cap. Dans le cas le plus gnral, nous tiendrons compte dobstacles. Admettons que lenvironnement soit modlis par un repre orthonorm fix (par exemple : 30<=x<=30 m et 0<=y<=40 m). Les angles sont les suivants : Nord=-/2, Sud=/2, Est=-, Ouest=0 radians. Le vhicule a pour tat initial : ses coordonnes de dpart D(xd,yd) et son angle de cap d. Ltat final : sa position darrive A(xa=0,ya=0) et son angle de cap a. Tous les tats intermdiaires sont possibles si ils respectent la condition suivante : ltat final doit tre ralis une erreur de 10% prs en x,y, : -.3<=xa<.3 m, a -0.6<= <=a +0.6 rad. Nous supposons bien sr que la position des autres vhicules sur la route ou dun trottoir sont bien connues, ces lments constituant des obstacles.
B B B B B B B B B B B B B B B B B B

5.3.2 parking algorithmes IVM et PDR

Nous avons utilis notre simulateur de trajectoires pour rsoudre le problme du parking, nous avons positionn un ensemble dobstacles correspondant au trottoir longeant la route et deux vhicules gars contre ce trottoir. Le robot mobile est de type vhicule, cest dire non holonome. Une fois lalgorithme IVM et PDR ayant calcul toutes les trajectoires possibles, nous ajoutons manuellement les divers obstacles dfinissant la configuration de lenvironnement.

Figure 5.19 Manuvre de parking en crneau La figure 5.19 montre la trajectoire du vhicule sans obstacle ( gauche) et la manuvre de parking avec vitements des vhicules dj gars ( droite). Le vhicule vient se positionner pour le crneau, avance en tournant droite jusquau trottoir puis recule en tournant gauche, ce qui correspond bien un crochet de Lie. Nous constatons laisance de la mthode de rsolution. Nous en avons mme profit pour mettre en uvre les manuvres de parking en bataille et en pi sur la figure 5.20. Il ne sagit plus de crneau mais les trajectoires ralises sont exactement celles attendues et tout cela sans que le vhicule touche un obstacle. Nos algorithmes IVM et PDR permettent de rsoudre le problme du parking sans intervention humaine, sans rgle, sans coefficient rgler et donc sans apprentissage. Les algorithmes tiennent compte de la vitesse variable (sur les figures prsentes), positive pour avancer et ngative pour reculer mais pour comparer avec les autres algorithmes de ce chapitre, nous utiliserons une vitesse constante, positive ou ngative.
128

C H A P I T R E

A P P L I C A T I O N S

Figure 5.20 Parking en bataille et en pi


5.3.3 Parking algorithme ACF

Nous recherchons la trajectoire globale pour lexemple du paragraphe 2.7.2, le camion qui doit se garer la verticale dun quai de dchargement, en utilisant lalgorithme ACF prsent au paragraphe 5.1.5. Reprenons ces rsultats et ceux du chapitre 4.5 sur lasservissement cot futur. Nous allons effectuer la recherche dune trajectoire en utilisant le modle du processus suivant en boucle ouverte ou ferme et sans obstacle. Dcrivons le processus camion : Angle volant Camion de longueur long
Position (x,y) Cap

Figure 5.21 Synoptique du camion (vitesse constante) Le systme est rgi par les quations simplifies suivantes : =+tan()*(v/longueur)*T x=x+cos()* v*T y=y+sin()* v*T avec v : vitesse de dplacement constante T : la priode de simulation ou dchantillonnage La vitesse pourrait tre variable mais il faudrait un algorithme dapprentissage ou doptimisation avec un paramtre supplmentaire. Par souci de simplification et pour comparer avec les algorithmes logique floue et CIR, nous conserverons une vitesse constante, positive ou ngative. Nous prcisons que la commande sera sature entre 0,7 et 0,7 radians pour simuler les contraintes matrielles (butes du volant). Lalgorithme de recherche de trajectoire est lanc. Aprs avoir trouv une trajectoire, lalgorithme ACF exploitant le modle du camion suit cette trajectoire.
Paramtres de la simulation :

D(10 ;25 ;0), A(0 ;0 ;/2) Priode de simulation = 0,1 s Longueur du camion = 4 m Rsolution entre les points P = 0,1 m Tolrance pour la position finale = 30 cm

Dimension du terrain (0 ;0)-(30 ;40) Vitesse constante 5 m/s Commande volant [-0,7;0,7] rd / [-40;40] Tolrance pour langle final : 0,1 rad / 6

129

C H A P I T R E

A P P L I C A T I O N S

Les rsultats obtenus sont prsents sur les figures 5.22, 5.23 et 5.24. 3 points P ont t trouvs, leurs trajectoires sont traces en vert.

Figure 5.22 Trajectoires trouves

Figure 5.23 Zoom sur les points P

La droite rouge est la bissectrice, la courbe bleue est le segment reliant le point de dpart au point darrive. Les flches indiquent langle de dpart et langle darrive dsir. La figure 5.24 montre la commande non linaire correspondant la trajectoire effectue pour un point P trouv.

Temps (s) Figure 5.24 Commande ralise pour un point P trouv


5.3.4 Parking logique floue de Kosko

Kosko a ralis le mme type dexprience en utilisant un contrleur logique floue [Kosko 1992]. Le principe retenu est le suivant : selon lloignement x et le cap du camion par rapport au quai, le systme dinfrence floue (SIF) applique des lois de commande diffrentes codes sous la forme de 35 rgles et permet une adaptation en souplesse de la commande. Voici la description du Systme infrence floue sous une forme graphique (voir figure 5.25), il sagit dun SIF de type Mamdani.
U U

Les figures 5.26 5.28 montrent les fonctions membres, les variables linguistiques et leurs coupes. Le Tableau 5.1 prsente les 35 rgles.
130

C H A P I T R E

A P P L I C A T I O N S

Figure 5.25 - Systme infrence floue de Kosko

Figure 5.26 - Fonctions-membres pour lentre x

Figure 5.27 - Pour lentre angle de cap

Figure 5.28 - Fonctions-membres pour la sortie commande volant

Tableau 5.1 Table des 35 rgles utilises La surface obtenue partir des deux entres x et donne une sortie statique non linaire (figure 5.29). La forme non-linaire peut compenser un manque de dynamique du contrleur ainsi raliser. La sortie obtenue est la commande effectuer sur le vhicule.

131

C H A P I T R E

A P P L I C A T I O N S

Figure 5.29 Surface de commande non linaire obtenue

On obtient une courbe qui fait tendre la position du vhicule vers 0 et langle de cap du vhicule vers 90.
Paramtres de lexprimentation :

Nous avons expriment ce systme logique floue sur plusieurs positions initiales avec trois angles diffrents (0, 90 et 180) pour mesurer lefficacit et la prcision de cette mthode. D(x,40, ) avec x=-20 :5 :30 et =0 :90 :180 Dimension du terrain (-20,0)-(40,40) Priode de simulation = 0.1 s Longueur du camion = 4 m
Rsultats obtenus :

A(0,0,/2) Vitesse = 5m/s Commande volant [-0,7;0,7] rd / [-40;40]

Figure 5.30 - Trajectoires pour =0

Figure 5.31 - Trajectoires pour =180

132

C H A P I T R E

A P P L I C A T I O N S

Figure 5.32 - Trajectoires pour = 90

Figure 5.33 ACF et logique floue de Kosko

La figure 5.33 compare les rsultats obtenus par notre algorithme pour phi=0 en rouge, et celui ralis par la logique floue en vert, les erreurs en position larrive peuvent aller jusqu 15 m et en angle jusqu 113.. Comme nous pouvons le constater sur les figures ci-dessus, la prcision de la solution et le critre final sont loin dtre obtenus. Nos rsultats sont bien plus prcis et efficaces que ceux de Kosko. Les deux mthodes sont vraiment trs simple mettre en uvre malgr le nombre de rgles et de paramtres utiliss par la logique floue.
5.3.5 Parking logique floue de Jang

Roger Jang a ralis le mme type dexprience en utilisant un contrleur logique floue pour la bote outils Logique floue de Matlab. Il reprend lide de Kosko mais avec un systme dinfrence floue SIF de type Sugeno et en appliquant que 2 rgles : selon lloignement Distance du camion par rapport au quai, le SIF applique des lois de commande diffrentes et permet une adaptation en souplesse de la commande. Voici les deux rgles utilise :
U U

Si Distance est proche Alors CommandeSortieLinaire1 Si Distance est loin Alors CommandeSortieLinaire2

Voici la description du Systme infrence floue sous une forme graphique (voir figure 5.34), il sagit dun SIF de type Sugeno.

Figure 5.34 - Systme infrence floue de Jang

La figure 5.35 montre les fonctions-membres pour lentre Distance, ses 2 variables linguistiques.
133

C H A P I T R E

A P P L I C A T I O N S

Figure 5.35 - Fonctions-membres pour lentre Distance Les deux entres Control1 et Control2 nont pas de fonction-membre, ces entres seront directement utilise en sortie selon linfrence des rgles obtenue.

Figure 5.36 - Fonctions-membres pour la sortie Commande

Calcul de la commande Control1(x,y, ) :

Soient acos(x/norm(x,y))-/2 , tmp-/2- et tmp-round(tmp/2/)*2

Control1max(-/4, min(/4,-3+2)) Calcul de la commande Control2(x,y, ) : Control2max(-/4, min(/4,x/8 + (-/2) - round((-/2)/(2))*(2))); Les surfaces obtenues partir des entres Distance, control1 et control2 donnent une sortie statique non linaire (figure 5.37). La forme non-linaire peut compenser un manque de dynamique du contrleur ainsi raliser. La sortie obtenue est la commande volant effectuer sur le vhicule.

Figure 5.37 Surfaces de commande obtenues


134

Vous aimerez peut-être aussi