You are on page 1of 136

UNIVERSIT DORLANS

COLE DOCTORALE [SCIENCES DE LHOMME ET DE LA SOCIET ou


SCIENCES ET TECHNOLOGIES]

INSTITUT PRISME, quipe Systmes Robotiques Interactifs

THSE prsente par :
Nicolas MORETTE


soutenue le : 18 Dcembre 2009

pour obtenir le grade de : Docteur de luniversit dOrlans
Discipline : Robotique


Contribution la Navigation de robots
mobiles : approche par modle direct et
commande prdictive



THSE dirige par :
Pierre VIEYRES Professeur, IUT de Bourges

RAPPORTEURS :
Philippe HOPPENOT Professeur, IUT GEII Evry
Philippe MARTINET Professeur, IFMA Clermont-Ferrand
____________________________________________________________________

JURY :
Dominique MEIZEL Professeur, ENSI Limoges (prsident de jury)
Philippe HOPPENOT Professeur, IUT GEII Evry
Philippe MARTINET Professeur, IFMA Clermont-Ferrand
Pierre VIEYRES Professeur, IUT de Bourges
Cyril NOVALES Matre de confrences, IUT de Bourges
Laurence JOSSERAND Matre de confrences, IUT de Bourges

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0








t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0





Remerciements


Tout d'abord, je remercie Youssoufi Tour, Professeur l'Universit d'Orlans et directeur de
l'Institut Pluridisciplinaire de Recherche en Ingnierie des Systmes, Mcanique et Energtique
(PRISME), ainsi que Grard Poisson, chef de l'quipe Systmes Robotiques Interactifs (SRI), de
m'avoir accueilli au sein de l'quipe de recherche en robotique berruyre.

Je suis trs reconnaissant envers Messieurs Philippe Hoppenot et Philippe Martinet,
respectivement Professeur l'Universit d'Evry Val d'Essonne et Professeur l'Universit Blaise
Pascal de Clermont-Ferrand, pour avoir accept de juger mon travail. Merci galement
Monsieur Dominique Meizel, Professeur de l'Universit de Limoges, de m'avoir fait l'honneur de
prsider le jury de cette thse. Je les remercie tous galement de s'tre dplacs pour assister la
soutenance malgr les conditions mtorologiques difficiles.

Un trs grand merci Cyril Novales, Maitre de Confrence l'universit d'Orlans, pour son
encadrement, sa droiture et toute l'aide qu'il m'a apport au cours de cette thse. Merci aussi de
m'avoir fait confiance et m'avoir paul pour les enseignements l'IUT et au CFBS.

Je remercie ensuite Pierre Vieyres, Professeur l'universit d'Orlans et directeur de cette
thse, pour son soutien au fil de ces 3 annes.

Je suis galement reconnaissant envers les membres de l'quipe robotique qui m'ont aid
durant ce travail, et tout particulirement Laurence Josserand pour ses prcieux conseils. Je pense
galement Gilles Mourioux, cette thse s'appuie en partie sur ses travaux et je le remercie d'avoir
fait le dplacement pour la soutenance.

Mes penses vont galement vers les personnes qui ont contribu au dveloppement du projet
CyCab, entre autres Sylvain Lefranois, Denis Blanc, Ant'thy Abdul Bari, Jrmy Depardieu,
Noura Ayadi et aujourd'hui Frdric Jacquet qui reprend le flambeau.

J'ai t heureux de travailler en compagnie des doctorants du laboratoire, je pense
particulirement Laurent Arcse, Fabrice Babet, Arnaud Capri, Tahar Slama, Gregory Abraham,
Loc Youinou, Christophe Boulnois, et mes collgues de toujours Gwenal Charron et Antoine
Belconde.

Je pense galement toutes les personnes qui m'ont aid de diffrentes manires au cours de
ces 3 ans, notamment Laure Spina qui a toujours t disponible en cas de besoin. Merci galement
Jean Pierre Martin pour avoir accept d'tre mon tuteur pdagogique pour le monitorat, et
Jacques Scharf pour son soutien dans les enseignements. Pour terminer mes penses vont envers
mes principaux soutiens, savoir ma famille.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




1


TABLE DES MATIERES



CHAPITRE I Introduction A La Robotique Mobile................................................................................7
I. Robot mobile autonome................................................................................................................................... 7
II. Les diffrents types de terrain.......................................................................................................................... 8
III. Modlisation .................................................................................................................................................. 11
1. Classification des types de roues............................................................................................................................ 11
2. Principales structures cinmatiques ...................................................................................................................... 12
3. Roulement avec ou sans glissement........................................................................................................................ 14
IV. Dtection dobstacles et localisation.............................................................................................................. 15
1. Dtection dobstacles et cartographie.................................................................................................................... 15
2. Fusion de donnes multi capteurs et cartographie ................................................................................................ 17
3. Localisation............................................................................................................................................................ 18
4. Localisation et cartographie simultanes .............................................................................................................. 21
V. Les verrous scientifiques................................................................................................................................ 21

CHAPITRE II Navigation Des Robots Mobiles ....................................................................................23
I. Le problme de navigation............................................................................................................................. 23
II. Mthodes sans trajectoire............................................................................................................................... 24
1. Champs de potentiels artificiels ............................................................................................................................. 25
2. Rseaux de neurones .............................................................................................................................................. 26
3. Logique floue.......................................................................................................................................................... 27
III. Mthodes de suivi de trajectoire .................................................................................................................... 29
1. Sorties plates .......................................................................................................................................................... 29
2. Fonctions transverses............................................................................................................................................. 30
3. Autres recherches sur le suivi de trajectoire.......................................................................................................... 31
IV. Discussion...................................................................................................................................................... 31
1. Synthse des mthodes de navigation..................................................................................................................... 31
2. Nomenclature et lien avec une architecture de commande pour lautonomie ....................................................... 32

CHAPITRE III Navigation Par Modle Direct......................................................................................37
I. Lapproche par modle direct ........................................................................................................................ 37
II. La mthode des lignes de fuite....................................................................................................................... 42
1. Trajectoires admissibles par le robot et lignes de fuite.......................................................................................... 43
2. limination des lignes de fuite non-libres .............................................................................................................. 44
3. Slection de la meilleure ligne de fuite libre.......................................................................................................... 44
4. Application divers robots .................................................................................................................................... 45
5. Limites de lapproche par ligne de fuite................................................................................................................. 51
III. Des lignes de fuite la commande prdictive................................................................................................ 53
1. Prsentation de la commande prdictive ............................................................................................................... 54
2. Principe.................................................................................................................................................................. 55
3. Discussion .............................................................................................................................................................. 57

CHAPITRE IV Commande Prdictive Pour Un Navigateur De Robot Mobile......................................59
I. Introduction: rle du navigateur et principe gnral ...................................................................................... 59
II. Modlisation .................................................................................................................................................. 60
1. Le robot .................................................................................................................................................................. 61
2. Le problme de navigation..................................................................................................................................... 62
III. La fonction de cot ........................................................................................................................................ 65
1. Formulation gnrale............................................................................................................................................. 65
2. Trajectoire de rfrence ......................................................................................................................................... 65
3. Discussion .............................................................................................................................................................. 69
IV. Commande et familles de trajectoires ............................................................................................................ 69
1. Lapproche classique : fonctions constantes par morceaux................................................................................... 70
2. Notre approche : familles de trajectoires............................................................................................................... 70
V. Les contraintes ............................................................................................................................................... 73


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




2

1. Notation gnrale................................................................................................................................................... 73
2. Spcification robotique mobile............................................................................................................................... 74
3. Cartes de type obstacles-segments ......................................................................................................................... 75
4. Cartes de type grille doccupation......................................................................................................................... 77
VI. Lalgorithme doptimisation .......................................................................................................................... 78
VII. Conclusion ................................................................................................................................................ 79

CHAPITRE V Application A Un Vhicule A Deux Essieux Directeurs ................................................83
I. Prsentation du CyCab................................................................................................................................... 83
1. Historique............................................................................................................................................................... 83
2. Modle cinmatique du robot................................................................................................................................. 83
II. Commande prdictive applique au CyCab................................................................................................... 86
1. La fonction cot...................................................................................................................................................... 86
2. La fonction de commande et les trajectoires gnres........................................................................................... 88
3. Lalgorithme doptimisation .................................................................................................................................. 91
III. Simulations .................................................................................................................................................... 93
1. Comparaison des algorithmes................................................................................................................................ 93
2. Simulation complete dvitement dobstacle.......................................................................................................... 94
3. Influence de lhorizon de prdiction ...................................................................................................................... 96
IV. Simulations compltes de navigation............................................................................................................. 97
V. Discussion.................................................................................................................................................... 101

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




3

Table des figures

Figure 1- Robucab [15] .................................................................................................................................................. 9
Figure 2- Le robot martien Sojouner [71] ...................................................................................................................... 9
Figure 3- Le robot sous marin TAIPAN[21] ................................................................................................................ 10
Figure 4- Drone de surveillance RESSAC de lONERA [25]...................................................................................... 10
Figure 5- Modlisation du robot dans le repre absolu ................................................................................................ 10
Figure 6- Roue centre et roue dcentre ..................................................................................................................... 11
Figure 7- Roue troncosphrique et roue sudoise ........................................................................................................ 12
Figure 8- Equivalence modle voiture et tricycle......................................................................................................... 13
Figure 9- Modle roues diffrentielles ......................................................................................................................... 13
Figure 10- Le robot omnidirectionnel ROMNI [52] .................................................................................................... 14
Figure 11- Roulement sur le sol ................................................................................................................................... 14
Figure 12- Localisation lestime................................................................................................................................ 19
Figure 13- Localisation absolue (mthode par triangulation)....................................................................................... 20
Figure 14- Carte des champs de potentiels autour dun obstacle ................................................................................. 25
Figure 15- Modlisation dun rseau de neurones artificiel ......................................................................................... 26
Figure 16- Le principe des virtual target pour sortir dun minimum local[70] ............................................................ 28
Figure 17- Approche par modle inverse pour effectuer un suivi de trajectoire .......................................................... 29
Figure 18- Modlisation dune flotille de robot avec un robot leader et un ou plusieurs robots suiveurs.................... 30
Figure 19- Base mobile s et sa transforme omnidirectionnelle z, avec le repre compagnon en rouge [29] .............. 31
Figure 20- Bloc de la partie decision [51] .................................................................................................................... 33
Figure 21- Bloc de la partie perception [51]................................................................................................................. 34
Figure 22- Architecture de contrle (thse de Gilles Mourioux chapitre 3)................................................................. 34
Figure 23- Principe gnral des mthodes par projection de trajectoire....................................................................... 38
Figure 24 - La mthode Motion Generation applique sur le robot LAMA du LAAS ................................................ 39
Figure 25 - la mthode Neural Network hybride : projection d'un set de trajectoires ralisables par le robot dans une
carte de l'environnement sous forme de grille.............................................................................................................. 40
Figure 26 - Projection des lignes de fuite du robot dans un modle local de l'environnement..................................... 41
Figure 27- Principe des lignes de fuite......................................................................................................................... 42
Figure 28- Formalisme de Sontag ................................................................................................................................ 43
Figure 29- Le robot RAOUL........................................................................................................................................ 46
Figure 30- Modle des roues diffrentielles ................................................................................................................. 46
Figure 31 - Discrtisation des entres du robot et gnration des lignes de fuite......................................................... 47
Figure 32- Panel de trajectoires ralisables par le robot roues diffrentielles ........................................................... 47
Figure 33 - Projection des lignes de fuite dans une carte locale, et limination des trajectoires non libres ................. 48
Figure 34 - Slection de la meilleure ligne de fuite et application des commandes correspondantes sur un chantillon
temporel........................................................................................................................................................................ 49
Figure 35- Navigateur par lignes de fuite appliqu un robot roues diffrentielles.................................................. 50
Figure 36- Panel de trajectoires ralisables par le robot double braquage................................................................. 50
Figure 37- Navigateur par lignes de fuite appliqu un vhicule double braquage CyCab...................................... 51
Figure 38- Distance robot/obstacles le long du parcours.............................................................................................. 51
Figure 39- Pige en U et influence du planificateur ..................................................................................................... 52
Figure 40- Tolrance trop faible sur la position atteindre.......................................................................................... 53
Figure 41- Principe de la commande prdictive........................................................................................................... 54
Figure 42- Choix dun comportement optimal ............................................................................................................. 55
Figure 43- Application du comportement choisi sur un premier pas ........................................................................... 56
Figure 44- Mise jour de la situation........................................................................................................................... 56
Figure 45- Re-application du comportement optimal................................................................................................... 57
Figure 46: entres et sorties du navigateur ................................................................................................................... 60
Figure 47: Fonctionnement gnral du navigateur par commande............................................................................... 60
Figure 48- Modlisation du robot mobile..................................................................................................................... 61
Figure 49- Courbe de rattrapage et trajectoire de rfrence ......................................................................................... 64
Figure 50- Courbe de Bezier ........................................................................................................................................ 66
Figure 51- 1
er
cas : courbe de rattrapage trop longue ................................................................................................... 67
Figure 52- Second cas : courbe de rattrapage trop courte ............................................................................................ 68
Figure 53- Discrtisation classique de lespace des temps........................................................................................... 70
Figure 54- Exemples de familles de fonction u sur le braquage permettant deffectuer un contournement dobstacle71
Figure 55- Nombre de paramtres ncessaires pour permettre une voiture deffectuer un mouvement pour se garer72
Figure 56- Carte segmente obtenue partir de tlmtres laser [13].......................................................................... 76
Figure 57- Distance entre un point de la trajectoire et lobstacle ................................................................................. 77
Figure 58- Grille doccupation contenant 3 robots [66] .............................................................................................. 78
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




4

Figure 59- Reprsentation du principe de la commande .............................................................................................. 80
Figure 60- Le robot CyCab .......................................................................................................................................... 84
Figure 61- Schma du systme mcanique du CyCab.................................................................................................. 85
Figure 62- Famille de fonctions dentres u................................................................................................................. 88
Figure 63- Fonctions de commande ............................................................................................................................. 89
Figure 64- Trace des trajectoires du robot.................................................................................................................... 90
Figure 65- organigramme doptimisation..................................................................................................................... 92
Figure 66- Evitement dobstacle avec diffrents algorithmes doptimisation (gauche : Levenberg-Marquardt, droite :
Recuit-Simul) ............................................................................................................................................................. 94
Figure 67- Contournement dobstacle avec recuit simul (a)....................................................................................... 95
Figure 68- Contournement dobstacle avec recuit simul (b)....................................................................................... 95
Figure 69- Contournement dobstacle avec recuit simul (c)....................................................................................... 95
Figure 70- Contournement dobstacle avec recuit simul (d)....................................................................................... 96
Figure 71- Horizon de prediction 5s............................................................................................................................. 96
Figure 72- Horizon de prediction 2.5s.......................................................................................................................... 97
Figure 73 : Navigation du CyCab en milieu obstru pour aller de (-15;-15) (15;5) .................................................. 97
Figure 74: Navigation de RAOUL en milieu obstru pour aller de (-15;-15) (15;5)................................................. 98
Figure 75 : Navigation du CyCab en milieu obstru pour aller de (-18;12.5) (-7;0) ................................................ 99
Figure 76 : Navigation de RAOUL en milieu obstru pour aller de (-18;12.5) (-7;0) .............................................. 99
Figure 77: Navigation du robot CyCab en environnement encombr (obstacles en U) ............................................... 99
Figure 78 : Navigation de RAOUL en milieu obstru pour aller de (-18;12.5) (-7;0) avec le critre..................... 100
Figure 79 : planificateur fou et robustesse du navigateur une planification dfectueuse......................................... 101
Figure 80 : navigation par commande prdictive ....................................................................................................... 101
Figure 81 : navigation par lignes de fuite................................................................................................................... 101

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




5

Prface


Ce manuscrit est le fruit de 3 annes de travail menes dans lquipe
Systmes Robotiques Interactifs de linstitut PRISME de lUniversit
dOrlans. Ce document prsente une tude sur la navigation utilisant la
modlisation directe dun robot mobile avec une approche par commande
prdictive.

Le premier chapitre est une introduction gnrale la robotique
mobile roues, il prsente les aspects de perception et contrle des robots
autonomes, ainsi que les thmatiques de recherche associes. La
problmatique plus spcifique de la navigation est expose dans le second
chapitre, et un tat de lart des approches existantes est alors dress. Une
rflexion sur ces diffrentes mthodes nous conduit vers une alternative par
projection de trajectoires qui sera lobjet du troisime chapitre. Nous y
tudions notamment lune de ces mthodes : la navigation par ligne de fuite.
A lissue de cette tude et de simulations soulignant les limites de cette
approche, nous proposons alors dutiliser la commande prdictive pour
amliorer la projection de trajectoires. Ce navigateur par commande
prdictive, adapt la robotique mobile roues, constitue le cur du
quatrime chapitre et de notre travail. Enfin le dernier chapitre prsente les
rsultats de simulations de cette mthode applique au robot mobile CyCab.
Nous proposons alors des solutions sur le choix des familles de trajectoires
et celui des algorithmes doptimisation pour obtenir les meilleures
trajectoires.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




6


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




7

CHAPITRE I
INTRODUCTION A LA ROBOTIQUE MOBILE




Lobjectif de ce chapitre, dans le contexte de la robotique mobile, est
de sensibiliser le lecteur sur les travaux quil reste mener pour aboutir
la ralisation dun robot mobile totalement autonome. Aprs une
prsentation des diffrents types de robots mobiles, et des contraintes de
terrain sur lequel ils sont conus pour voluer, nous aborderons les
contraintes principales lies leur cinmatique, et les solutions dveloppes
pour y remdier. Enfin nous tudions les outils permettant aux robots de
percevoir leur environnement et de sy reprer, tape primordiale
ncessaire lautonomie totale des robots mobiles.

Cet tat de lart offre une vision non exhaustive des thmatiques de
recherche associes au domaine de la robotique mobile, et prsente
lensemble des verrous scientifiques quil reste lever pour aboutir au
dveloppement dun robot autonome. Parmi ceux-ci, nous nous focalisons
alors sur celui de la navigation dun robot mobile.


I. Robot mobile autonome

Pour commencer, il nous faut expliciter la notion de robot mobile. En robotique, on distingue
les robots en deux principaux types : les robots manipulateurs et les robots mobiles. Les robots
manipulateurs ont une base fixe contrairement aux robots mobiles qui peuvent se dplacer. Ainsi
pour tudier les dplacements de ces robots, nous pouvons soit utiliser un repre allocentrique
(absolu), soit un repre gocentrique (fix sur le robot).

Bien souvent, quand on parle de robotique mobile, on sous entend robots mobiles roues. Ce
sont en effet les systmes les plus tudis, parce quils sont plus simples raliser que les autres
types de robots mobiles, ce qui permet den venir plus rapidement ltude de leur navigation. Ce
type de robots est notamment trs souvent utilis pour ltude des systmes autonomes. Vient
ensuite la robotique mobile pattes, avec notamment la robotique humanode, mais galement des
robots avec un nombre de pattes plus levs qui offrent de bonnes proprits pour la locomotion en
milieu difficile (milieux forestiers et agricoles). La stabilit des mouvements de ce type de robots
est en particulier un thme de recherche important [27]. Enfin il existe galement de nombreux
autres types de robots mobiles (robots marins [30], sous marins [21], drones volants, micro et nano
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




8

robots), gnralement ltude de ce type de robots se fait dans des thmatiques spcifiques avec des
problmes particuliers lapplication vise.

Il existe 2 principaux modes de fonctionnement pour un robot mobile : tl-opr et
autonome. En mode tl-opr, une personne pilote le robot distance. Elle donne ses ordres via
une interface de commande (joystick, clavier/souris), et ceux-ci sont envoys au robot via un lien
de communication (internet, satellite ). Dailleurs, suivant le niveau de tlopration, le terme
robotique est plus ou moins justifi. Le robot doit donc obir aux ordres de loprateur qui
peroit lenvironnement autour du robot, par diffrents moyens (retour dimage, retour haptique),
de manire donner des ordres adapts au robot. Dans ce domaine, les efforts de recherche sont
beaucoup ports sur les problmes lis au rseau de tlcommunication (retards dans le rseau de
communication, problmes de commande, pertes de donnes) et sur lamlioration de la perception
de lenvironnement par loprateur (interfaces haptiques, retours defforts).

A linverse, en mode autonome le robot doit prendre ses propres dcisions. Cela signifie quil
doit tre capable la fois de percevoir correctement son environnement, mais galement de savoir
comment ragir en consquence, suivant le niveau dautonomie. Cest lui de planifier son
parcours et de dterminer avec quels mouvements il va atteindre son objectif. Les recherches dans
ce domaine portent principalement dune part sur la localisation du vhicule autonome et la
cartographie de son environnement, dautre part sur le contrle de tels vhicules (structure de
contrle, stratgies de commande, planification).

Cette notion dautonomie prise en exemple ci-dessus, que nous pourrions qualifier de
dcisionnelle, ne doit pas tre confondue avec celle dautonomie nergtique (capacit du robot
grer efficacement son nergie, la prserver, voire se ravitailler), mme si ces deux notions sont
troitement lies : idalement une des proccupations principales dun robot mobile totalement
autonome (du point de vue dcisionnel), serait en effet de pouvoir grer de lui-mme ses rserves
dnergie.

Voyons maintenant les diffrents types denvironnement dans lesquels les robots mobiles sont
amens se mouvoir.

II. Les diffrents types de terrain

Nous rencontrons principalement 3 types despaces de navigation : les terrains plats, les
terrains accidents et les espaces 3D. Les terrains plats sont gnralement utiliss pour modliser les
milieux urbains et les intrieurs de btiments. Le robot volue sur un plan 2D considr sans pentes,
et tout objet qui sort de cet espace 2D est considr comme un obstacle (Figure 1- Robucab [15]).
Cette reprsentation est la plus simple tudier et la plus rpandue pour les robots mobiles roues.
En premire approche, elle permet de se concentrer sur les problmes de contrle et de navigation
autonome du robot.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




9


Figure 1- Robucab [15]

Les terrains accidents (ou
2
1
2D ) correspondent gnralement aux milieux en extrieur,
comme des forts, des champs en robotique agricole, ou encore des terrains rocheux (Figure 2). La
diffrence avec les terrains plats est la prsence de pentes, de bosses et de creux sur le terrain
dvolution du robot. Cela interdit dutiliser une mtrique standard 2D et cela complique pour
beaucoup la dtection dobstacles et la modlisation des dplacements du robot. De plus il devient
galement important de vrifier que le robot ne bascule pas quand il escalade une pente ou enjambe
un obstacle. Le systme de locomotion du robot doit dans ce cas tre adapt la topologie du
terrain.


Figure 2- Le robot martien Sojouner [71]

Enfin les espaces dvolution 3D sont par exemple utiliss pour modliser la navigation des
drones volants (Figure 4) et des robots sous-marins (Figure 3). Les problmes rencontrs sont
spcifiques lapplication vise.

Chaque type de terrain correspond des problmatiques bien spcifiques. Le type de robot
tudi dans ce mmoire est destin circuler en environnement urbain, la modlisation terrain plat
sera utilise. Cela signifie que lon considre que tous les mouvements sont contenus dans un plan
de navigation, parallle au sol.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




10


Figure 3- Le robot sous marin TAIPAN[21]

Figure 4- Drone de surveillance RESSAC de lONERA
[25]

Pour la modlisation terrain plat, nous dfinissons un repre absolu (fix dans
lenvironnement) ) , , , 0 ( z y x R = donc laxe z est perpendiculaire au sol. Nous dfinissons un
repre mobile li au robot ) ' , ' , ' , ' 0 ( ' z y x R = , dit gocentrique. Le point O est le point de contrle
du robot. Gnralement, sur un robot type voiture, le point de contrle est fix au centre de
lessieu non directeur. Ce repre gocentrique se dplace avec le robot. Pour raliser une
navigation, ltat du robot est totalement dfini par le vecteur :

|
|
|
|
|

\
|
=
s
y
x
X
&

,


quation 1


dans lequel dsigne lorientation du robot dans le plan ) , , 0 ( y x et s& sa vitesse curviligne
(Figure 5).

Figure 5- Modlisation du robot dans le repre absolu

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




11

La section suivante prsente diffrents aspects de la modlisation sur sol plat : la
classification des diffrents types de roue, les configurations holonomes et non holonomes, et la
gestion des glissements dans le modle.

III. Modlisation

1. Classification des types de roues

La mobilit dun robot mobile dpend grandement du type de roues utilises. Dans [12],
Campion a prsent une classification des diffrents types de roues et configurations rencontres
en robotique mobile. Les diffrents types de roues que lon rencontre sont :
- la roue fixe : cette roue nautorise quun dplacement dans la direction de son plan
mdian, lorientation nest pas modifiable,
- la roue centre orientable : elle possde un axe dorientation en plus de laxe de rotation,
et cet axe dorientation passe par le centre de la roue,
- la roue dcentre orientable ou roue folle : son axe dorientation ne passe pas par le centre
de la roue (cest le cas par exemple des roues des chaises de bureau)


Figure 6- Roue centre et roue dcentre

En plus de ces roues classiques (Figure 6), dautres roues ont t dveloppes pour accroitre
la mobilit du robot. Elles permettent daugmenter les capacits de dplacement dans toutes les
directions du plan (Figure 7). Cependant, elles ne sont commandables que dans certaines de ces
directions. Dans cette catgorie nous trouvons notamment :
- les roues sudoises : ces roues autorisent les glissements latraux grce un systme de
galets remplaant la bande de roulement classique, monts en inclinaison par rapport au plan de
la roue. La combinaison de la rotation de la roue avec la rotation libre du galet en contact avec le
sol permet le dplacement sans glissement sur le sol dans toutes les directions. Cependant le
couple moteur que lon peut transmettre ces roues est trs limit, ce qui rduit son utilisation en
pratique.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




12

- les roues tronco-sphriques (ou orthogonal wheels) [56] : cette structure utilisant deux
roues libres en quadrature prsente lavantage de pouvoir transmettre un couple intressant par
rapport aux roues sudoises, mais souffre de petits problmes de sauts au moment de la transition
dune roue support lautre.


Figure 7- Roue troncosphrique et roue sudoise


2. Principales structures cinmatiques

En associant les diffrents types de roues selon une structure mcanique donne, le robot
mobile disposera de plus ou moins de mobilit. Le nombre, le type et la disposition des roues
engendrera ou non la contrainte de non holonomie du robot. Si on nglige les phnomnes
dynamiques tels que linertie, un robot holonome est un robot capable chaque instant de se
dplacer dans nimporte quelle direction du plan, sans avoir effectuer une reconfiguration de ses
roues.

Tout systme voluant dans un plan 2D possde 3 degrs de libert : une translation selon
laxe x, une translation selon laxe y et une rotation autour dun axe z normal ) , ( y x
r r
. Cependant
une roue classique ne possde que 2 degrs de mobilit : elle ne peut que faire une translation
(avancer ou reculer), ou une rotation sur elle-mme. Elle ne peut pas draper transversalement
pour effectuer un mouvement de translation horizontal.

Cette contrainte empche la plupart des vhicules traditionnels deffectuer un
dplacement instantan transversal (paralllement laxe de rotation de la roue). Une voiture ne
peut pas effectuer de crneau pour se garer, sans faire un certain nombre de manuvres. Cest
une contrainte que lon retrouve sur tous les robots mobiles de type voiture ou roues
diffrentielles. De tels vhicules, possdant un nombre de degrs de mobilit infrieur au nombre
de degrs de libert, sont dits non-holonomes, et cette contrainte touche principalement les robots
mobiles roues.

Les configurations non-holonomes les plus courantes sont :
- le tricycle / la voiture : ces deux structures sont constitues dun axe fixe (gnralement
larrire) et dun axe directeur (Figure 8). Dans le cas du tricycle, seule une roue est prsente sur
laxe directeur, contrairement la voiture qui en possde deux. La thorie dAckerman-Jeantaud
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




13

donne les conditions thoriques de non glissement et non drapage pour les configurations de
type voiture. Notamment les axes de rotation des 4 roues doivent sintersecter en un point unique,
le Centre Instantan de Rotation. Pour cela, la vitesse de la roue extrieure doit tre lgrement
suprieure celle de la roue intrieure. La structure de type voiture peut tre modlise par une
structure quivalente 3 roues, ce qui revient au modle du tricycle.


Figure 8- Equivalence modle voiture et tricycle

- les roues diffrentielles (Figure 9) : cette structure galement classique est constitue de
deux roues motrices places sur le mme axe, et dau moins un appui supplmentaire
(gnralement une ou deux roues folles). Lavantage de cette structure est quelle permet au
vhicule de tourner sur place, suivant si les vitesses de rotation des deux roues motrices sont de
signe opposes ou pas. Ainsi le robot peut pivoter rapidement, ce qui donne des capacits de
dplacement intressantes. Cependant, le dplacement latral ntant pas directement ralisable,
cette structure nest pas non plus holonome.


Figure 9- Modle roues diffrentielles

En utilisant des roues telles que les roues sudoises ou tronco-sphriques sur des
plateformes mobiles, des robots ayant la capacit de se mouvoir dans toutes les directions ont t
crs. Ces robots, 3 degrs de mobilit dits omnidirectionnels, permettent de saffranchir de la
contrainte de non holonomie. Leurs structures spcifiques leur permettent de se dplacer
instantanment ( la dynamique prs) dans toutes les directions en ayant nimporte quelle
orientation, rendant possible le suivi de trajectoires de forme quelconque (Figure 10).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




14


Figure 10- Le robot omnidirectionnel ROMNI [52]



3. Roulement avec ou sans glissement

La locomotion se fait grce au frottement entre la roue du vhicule et le sol, et lefficacit
du mouvement dpend notamment du type de sol. Pour que lhypothse du roulement sans
glissement soit valide, il faudrait thoriquement que le contact sol/roue ne se fasse quen un
point, que le sol soit parfaitement plat, et que le rayon de la roue soit parfaitement constant sur
toute sa priphrie.

Soient C le point de contact entre la roue et le sol, G le centre de rotation de la roue et & sa
vitesse de rotation (Figure 11).


Figure 11- Roulement sur le sol

Mathmatiquement, cette contrainte revient dire que la vitesse de C par rapport au sol est
nulle, ce qui peut scrire grce la loi de composition des vitesses :

R x
x R x x
y z R x x
CG V
G

& &
& &
& &
=
= +
= +
= +
0
0 ) (
0
,


quation 2


On en dduit que, pour vrifier la contrainte de roulement sans glissement, le mouvement
doit rester dans le plan de la roue avec la vitesse curviligne R & .
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




15


En ralit, le contact sur le sol se fait sur une surface avec le pneu de la roue. Les
glissements sur le sol sont une source derreur importante pour certaines mthodes de
localisation. Cela est notamment le cas pour lodomtrie classique, qui sappuie sur cette
hypothse pour dterminer la position relative dun robot par rapport son point de dpart,
partir de la mesure du nombre de tours parcourus par chaque roue. On sait que dans ce cas
lintgration des drives dues aux glissements, entraine sur un parcours complet dimportantes
erreurs de localisation.

Dans certaines applications robotiques, la prcision du dplacement est un facteur
important, il est alors ncessaire de prendre en compte les glissements dans la modlisation du
robot. Il existe deux principales approches pour les intgrer : soit on passe un modle
dynamique du robot, soit on reste sur un modle cinmatique classique (roulement sans
glissement) dans lequel on introduit les effets du glissement sous forme de paramtres
supplmentaires. La modlisation dynamique des phnomnes de glissements est plus complte
mais elle requiert dune part la mesure ou lestimation, en temps rel, dun grand nombre de
paramtres tels que les coefficients de frictions, et dautre part de paramtres supplmentaires
inhrents ltat des pneumatiques [23][57]. Ces nombreux paramtres ne sont pas triviaux
obtenir en ligne, ce qui limite lutilisation de tels modles en pratique. Les modles cinmatiques,
modifis pour intgrer les glissements, savrent plus simple mettre en uvre de part le nombre
rduit de paramtres estimer (on ne modlise plus les phnomnes complets de glissement, mais
juste leur effet sur la cinmatique du vhicule), et ils permettent tout de mme de prendre en
compte avec une trs bonne prcision les phnomnes de glissement. Par exemple, dans [39],
Lenain dveloppe un modle cinmatique tendu qui lui permet damliorer la prcision du suivi
de trajectoire par un vhicule agricole sur un terrain particulirement glissant.


IV. Dtection dobstacles et localisation

La perception de son environnement dvolution est la base de tout systme autonome.
Sans une bonne perception et interprtation de ce qui lentoure, un robot ne peut pas prendre de
dcision correcte. Cette partie vise dcrire les diffrents moyens mis disposition au robot pour
localiser les obstacles qui lentourent. Ensuite les diffrentes mthodes de localisation du robot
lui-mme sont abordes. Lide est de permettre au final de crer un modle, plus ou moins
simplifi, des interactions entre le robot et son environnement. Cette tape est ncessaire et
primordiale pour la navigation dun robot mobile autonome.

Pour cela, un robot est quip de capteurs proprioceptifs qui fournissent des informations
sur le robot lui-mme, et extroceptifs qui fournissent des informations sur ce quil y a autour de
lui (son environnement).

1. Dtection dobstacles et cartographie

Les capteurs permettant de fournir des informations sur lenvironnement extrieur peuvent
tre classs en deux catgories, passifs et actifs [61]. Dans le premier cas, on se contente de
recueillir et danalyser une nergie fournie par lenvironnement, typiquement la lumire. Dans le
second cas, cest au capteur de gnrer une nergie, et de rcuprer cette nergie aprs interaction
sur le milieu extrieur. Cest le principe de base des tlmtres (capteurs de mesures de
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




16

distances), qui sont largement utiliss pour tracer des cartes en ligne de lenvironnement dans
lequel volue le robot. Les tlmtres laser balayage sont frquemment utiliss pour la
navigation de robots avec de trs bonnes performances notamment en intrieur.

Le principe de ces tlmtres repose sur le calcul du temps aller-retour mis par une
impulsion lumineuse pour revenir sur le capteur. Une onde infrarouge de faible puissance est
mise par la diode laser, et au mme moment un chronomtre informatique est lanc. Londe se
rflchit sur le premier objet rencontr en chemin, et revient sur le dtecteur du capteur. Le temps
mis par londe pour faire laller-retour permet de dterminer la distance de lobjet. Un miroir
tournant motoris permet de balayer toute une gamme dangles devant le tlmtre, dans le plan
de balayage qui est parallle au sol. La prcision de ces appareils et leur robustesse aux variations
de temprature en font des outils trs intressants pour les applications en robotique mobile de
faible/moyenne vitesse.

Les capteurs ultrasonores utilisent des ondes sonores de frquence non perceptible par
loreille humaine, gnralement dans la fourchette 20-200 khz. De la mme manire que les
tlmtres laser, ils sont bass sur le principe de la mesure du temps aller-retour lors de la
rflexion sur un obstacle. Cest la mthode employe par certains animaux pour percevoir leur
environnement, comme les chauves-souris ou les dauphins : lcholocalisation. Un avantage de
ces capteurs est que contrairement aux tlmtres, londe quils mettent ntant pas focalise, ils
peroivent beaucoup plus facilement des lments filiformes comme des pieds de chaises ou des
grillages. Par contre leur porte est faible, et ils sont moins adapts aux milieux de propagation
non isotropes comme lair.

Un des inconvnients des capteurs ultrasonores par rapport aux tlmtres lasers est la
divergence importante du faisceau ultrasonore, qui sapparente plus un cne qu un faisceau.
Gnralement louverture de langle est de plusieurs dizaines de degrs, ce qui rend la
localisation des obstacles imprcise. Ces capteurs sont donc plutt utiliss pour des mesures
courte distance (de quelques centimtres quelques mtres). Ils sont relativement sensibles aux
variations de temprature, et la frquence de mesure dpend de la distance maximale de dtection
(plus cette distance est grande, moins la frquence dacquisition des mesures est leve).
Lavantage de ces capteurs est quils sont moins onreux quun tlmtre laser, et ils sont souvent
utiliss dans des applications en intrieur avec des espaces de navigation assez restreints.

Les capteurs passifs se servent directement de lnergie mise par lenvironnement. Cest
typiquement le cas des systmes de vision par camra en stro vision. La reconnaissance de
primitives entre deux images permet dvaluer la position/orientation dun objet, et ainsi
dvaluer la profondeur. Lutilisation simultane de deux camras est cependant ncessaire pour
y parvenir. Plus de deux camras peuvent galement tre utilises, de manire amliorer la
robustesse de la mthode.

La vision omnidirectionnelle savre galement trs intressante dans le cadre
dapplications en robotique mobile, dans le sens o elle permet de surveiller en mme temps tout
ce qui se passe autour du robot. La camra est place face un miroir parabolique ou
hyperbolique. Limage est compltement distordue ce qui complique la mesure de distances, mais
laspect vision panoramique offre des avantages pour lvitement dobstacles dynamiques en
environnement structur. Les verticales deviennent des radiales, et les horizontales des arcs de
cercle. Lutilisation de systmes base de vision est fortement dveloppe, et pas seulement dans
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




17

le domaine de la robotique. Mais globalement, ce type de systme reste fortement tributaire de la
qualit de lnergie recueillie : influence de la luminosit ou encore du contraste.

2. Fusion de donnes multi capteurs et cartographie

La localisation dun robot mobile seffectue par la mise en correspondance de diffrentes
sources extroceptives et proprioceptives. Gnralement il sagira de confronter les mesures de
dplacements prises par odomtrie avec une mthode de localisation absolue : soit reconnaissance
et calcul de distance par rapport des balises de position connue, soit mise en correspondance
avec une carte construite en ligne et/ou prsente dans une base de donnes, soit encore
localisation externe du robot par des capteurs dans lenvironnement (GPS). Le principe le plus
simple pour effectuer cette mise en correspondance, consiste utiliser les mesures de localisation
absolue pour recaler priodiquement ltat du robot, obtenu par intgration des dplacements
mesurs par lodomtre. Cette mthode, bien que simple utiliser, prsente le problme de ne pas
utiliser conjointement les diffrents moyens de mesure, mais successivement. Ainsi on ne tient
pas compte des incertitudes lies tant lodomtrie qu la mthode de localisation absolue.

Cependant nous savons que quelque soit la technologie utilise pour la prise
dinformations, aucune mesure nest parfaite, il existe toujours une part dincertitude sur celle-ci.
Ces incertitudes peuvent provenir soit du principe de mesure lui mme, soit des imperfections
technologiques. Typiquement pour une mesure de distance avec un tlmtre laser, on trouve des
erreurs systmatiques dune quinzaine de millimtres en moyenne (erreur constante intrinsque
au tlmtre utilis), et une erreur statistique de 5 mm environ. Lorsque plusieurs mthodes de
mesure sont utilises conjointement, le principe utilis pour mettre en concordance les
informations consiste effectuer une moyenne pondre des diffrentes mesures par la confiance
que lon accorde chacune (inversement leur variance donc). Soit deux mesures z
1
et z
2
dune
mme variable x, obtenues par des capteurs diffrents, avec des variances associes
1
et
2
, alors
la loi de Bayes nous donne la valeur estime de x:

2
2
2
2
1
2
1
1
2
2
2
1
2
2
. . z z x

+
+
+
= ,

quation 3



et la variance associe lestime :

2 1
1 1
1

+
= ,

quation 4



La variance associe cette estimation est plus faible que les variances de chacune des
mesures prises sparment (ce qui est logique, cela traduit simplement le fait que plus on recoupe
dinformations provenant de sources diffrentes, plus on diminue les incertitudes). Cette mthode
est intressante si lon dispose de ressources limites pour le calcul, mais lestimation peut tre
largement amliore en utilisant les informations sur les mesures passes, et en filtrant avec un
filtre de Kalman.

Pour des obstacles statiques, nous obtenons des mesures rcurrentes selon une certaine
frquence dacquisition. Pour des mesures rcursives, la prcision peut tre amliore en utilisant
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




18

un filtre de Kalman. Ce type de filtrage, trs utilis notamment en automatique, est un filtre
statistique qui permet de rduire les incertitudes au fur et mesure de lacquisition de nouvelles
mesures. Cette mthode est particulirement utilise en robotique pour la localisation du robot
relativement aux obstacles [32]. Lalgorithme utilise les connaissances sur la dynamique du robot
et du systme de mesure et sur les incertitudes associes chaque mesure. Le calcul seffectue en
deux phases : une phase de prdiction de la mesure et de sa variance, suivie dune phase de mise
jour de celle-ci par lacquisition de nouvelles mesures. Lhistorique des mesures na pas besoin
dtre gard en mmoire, et le processus est rcursif.

Pour pouvoir planifier les dplacements du robot, il est ncessaire dtablir une
modlisation de lenvironnement partir des mesures des positions relatives des obstacles par
rapport au robot. Concrtement il sagit dtablir une cartographie locale des espaces o le robot
pourra circuler, ou non, en considrant la position absolue du robot comme connue. Il existe 2
grands types de reprsentation pour lenvironnement local : les cartes gomtriques et les grilles
doccupation. Les premires peuvent tre obtenues par traitement des donnes issues de mesures
tlmtriques, et en effectuant une reconnaissance des formes simples (murs, coins). A partir
dune connaissance des dplacements du robot et en comparant la carte courante avec des cartes
mises en mmoire au fur et mesure que le robot se dplace, la robustesse de la carte peut tre
amliore [13]. Les grilles doccupation sont des cartes discrtises, gnralement sous forme de
grille dun certain nombre de lignes et de colonnes. A chaque case de la grille est soit associe
une valeur boolenne pour dire si la case est accessible par le robot ou non (occupe par un
obstacle ou libre), soit une probabilit doccupation (loi de Bayes).

3. Localisation

Les outils permettant la localisation dun robot dans son environnement peuvent tre
classs en deux catgories : ceux par localisation lestime et ceux par localisation absolue [61].
Le principe de la premire catgorie consiste intgrer des informations sur les vitesses ou les
acclrations fournies par des capteurs proprioceptifs (odomtres, centrales inertielles).
Lavantage de ces mthodes est quelles sont indpendantes de lenvironnement, par contre leur
souci est leur manque de prcision d la drive temporelle. En effet les erreurs sintgrant elles
aussi au fur et mesure du temps, il est ncessaire dapporter rgulirement des recalages (Figure
12).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




19


Figure 12- Localisation lestime

Parmi les mthodes de localisation lestime, le systme le plus simple et le plus
couramment utilis pour la mesure de dplacement du robot est lodomtrie. Lhypothse de
roulement sans glissement que nous avons vu prcdemment, nous permet de relier directement
les dplacements du robot la vitesse de rotation des roues. Par intgration des dplacements
chaque instant, on en dduit la position relative du robot par rapport son point de dpart.
Lodomtrie est une mthode de localisation trs courante, simple, mais galement trs
rapidement imprcise. En effet cause du glissement des roues sur le sol, les erreurs
saccumulent au fur et mesure que le robot avance, ce qui implique dimportantes erreurs sur les
longs parcours sil ny a pas de recalage rgulier. Cette mthode est de ce fait fortement tributaire
de la qualit du sol sur lequel le robot se dplace.

Les incertitudes sur le diamtre exact des roues, sur les paramtres gomtriques du robot,
sur la rsolution des codeurs, gnrent des erreurs de type systmatique, qui vont saccumuler trs
rapidement en odomtrie. Cependant, ces erreurs peuvent tre identifies et values pour faire
un recalibrage du systme et ainsi amliorer sa prcision. Les erreurs non systmatiques comme
les glissements ou les irrgularits du sol, gnrent moins rapidement des erreurs, mais ne
peuvent par contre pas tre recalibres puisquon ne peut pas les prvoir.

Pour lexploration martienne, o le terrain est fortement accident, lutilisation de systme
dodomtrie classique est impossible. Pour cette application, Cheng a propos une technique
dodomtrie alternative, dite odomtrie visuelle, base sur la reconnaissance de points singuliers
dans limage video du sol fournie par une camra monte sur le robot [71] (les points de Harris).
Connaissant le positionnement de la camra par rapport au robot, le dplacement de ces points
dans limage permet dvaluer les vitesses de dplacement du robot, et par intgration, de
retrouver sa localisation relative par rapport sa position initiale.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




20

Le second type de mthode pour la localisation est la localisation absolue. Ces mthodes
utilisent des lments reprables par le robot dans lenvironnement de navigation, de position
connue, pour permettre au robot de se reprer relativement ceux-ci. Ces lments sont appels
des balises ou amers et sont dits soit rels, sils ont t placs spcialement pour permettre la
localisation, soit virtuels sil sagit dlments prsents naturellement.

Les balises relles sont dites passives si elles ont pour but de rflchir un signal mis par un
appareil de mesure du robot (laser ou infrarouge). Il existe deux mthodes pour utiliser ces balises
pour la localisation du robot : la mthode tlmtrique (calcul de la distance robot/balise), qui
ncessite la prsence de deux balises pour calculer la position du robot dans le plan ; et la
mthode par triangulation, qui consiste mesurer les angles entre chaque balise et le robot, et qui
elle ncessite lutilisation de 3 balises.


Figure 13- Localisation absolue (mthode par triangulation)

Les balises relles sont dites actives si elles mettent un signal captable par le robot. En
milieu extrieur, le systme GPS (global positionning system) peut tre utilis pour obtenir des
positions dune prcision de lordre du mtre. A la base dvelopp par larme amricaine dans
les annes 80 (lancement du premier satellite GPS en 1978), il fut ouvert aux civils en 1995.
Jusquen 2000 les mesures taient volontairement entaches dune erreur dune centaine de
mtres, larme amricaine craignant que ce systme soit un avantage pour leurs ennemis. Malgr
le retrait de cette erreur volontaire, la prcision du systme restait de lordre du mtre, cause des
incertitudes sur lorbite et lhorloge des satellites, ainsi que les retards engendrs par la traverse
des couches atmosphriques.

Pour amliorer cette prcision, nous pouvons utiliser les GPS diffrentiels : avec un second
rcepteur GPS sur une base fixe et de position connue, il devient possible de mesurer lerreur et
den dduire la correction apporter pour la zone environnante. Pour que ce systme fonctionne,
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




21

il faut que la base mobile reste une certaine porte de la base fixe. Cette distance varie suivant
la gamme de frquence utilise pour lenvoi des corrections, et peut atteindre quelques dizaines
de kilomtres pour les besoins de la navigation maritime.

Des satellites gostationnaires permettent galement de corriger certaines erreurs de
position. Ils envoient des corrections sur les orbites et les horloges des satellites GPS. Ainsi pour
lEurope cest le systme EGNOS (European Geostationary Navigation Overlay System) qui se
charge denvoyer ces corrections. La prcision atteinte est de lordre de 3m. Le systme de GPS
RTK (real time kinematics) permet damliorer la prcision quelques centimtres, en utilisant la
diffrence de phase de londe porteuse du signal, sa longueur donde tant dune vingtaine de
centimtres. En contrepartie la porte de la station de rfrence avec cette mthode nest plus que
de quelques kilomtres. Pour augmenter cette porte on a recours au RTK rseau, qui va utiliser
la redondance dinformations pour communiquer les corrections lappareil, via un serveur de
calcul distance.

Les systmes de localisation GPS sont trs intressants en rase campagne ou en banlieue.
Cependant ils savrent beaucoup moins efficaces en pleine ville ou en fort. En effet pour
fonctionner correctement un GPS a besoin de recevoir les informations de 4 satellites au moins,
or la prsence dobstacles tels que les ponts et grands btiments en ville empche parfois cette
rception. Ainsi il nest pas rare de perdre la localisation GPS pendant quelques minutes. Cest
pour cela que beaucoup de recherches dans le domaine de la localisation sont aujourdhui portes
sur les mthodes alternatives au GPS en milieu urbain.

La vision peut tre un moyen pour complter la localisation par GPS. Ainsi Cappelle [16]
utilise un modle 3D de la place Stanislas Nancy qui est confront aux images obtenues par les
camras embarques sur le robot pour dterminer prcisment sa position. Yang propose
dutiliser les camras du robot pour mettre au point un systme dodomtrie visuelle [71].

4. Localisation et cartographie simultanes

En robotique mobile, le SLAM (simultaneous localization and mapping) consiste, pour un
robot voluant en milieu inconnu, tracer une carte de lenvironnement et localiser
simultanment le robot dans celle-ci. La carte est construite de manire incrmentale au fur et
mesure que le robot volue dans le terrain. En croisant les donnes perues avec les informations
gographiques dont il dispose en mmoire, le vhicule est capable de se localiser par rapport
des cartes prexistantes. Lide du SLAM est donc de traiter conjointement les problmes
connexes que sont la navigation et la localisation dun robot autonome.

La mthode alternative, moins gourmande en temps de calcul, consiste utiliser la
mmoire visuelle du vhicule, en reprant des lments caractristiques, pour se localiser par
rapport ceux-ci. Ces lments sont extraits sous forme de primitives visuelles, que le robot
cherchera retrouver dans les images quil peroit pour suivre un chemin prcis [18][59].


V. Les verrous scientifiques

Il existe de nombreuses thmatiques de recherche dans ce milieu de la robotique mobile
autonome, ce qui montre quaujourdhui encore le problme spcifique des robots mobiles
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




22

autonomes est entier. Le Groupement De Recherche en Robotique, qui regroupe la communaut
des chercheurs franais dans le domaine de la robotique, a dgag 4 grands axes de travail autour
desquels sarticulent les colloques du Groupe de Travail:

- techniques de localisation et cartographie : cet axe regroupe tous les dveloppements
autour de la perception et de la localisation du robot. On y retrouve notamment les mthodes
SLAM (Localisation et Cartographie Simultanes). Plus rcemment lutilisation de bases de
donnes sous forme de cartes 2D ou 3D, mais galement sous forme SIG (Systme
dInformations Gographiques) a ouvert de nouvelles perspectives dans ce domaine. De manire
gnrale la fusion de donnes est galement un thme important, tant la ncessit de coupler
diverses sources de mesures apparat ncessaire pour amliorer la prcision et garantir lintgrit
des informations,

- contrle et commande des vhicules : cet axe regroupe les thmatiques lies la
planification de chemin, la gnration de trajectoires, et la commande des robots de manire
gnrale. Une prise en compte de plus en plus pousse des contraintes et de la dynamique des
robots est ncessaire, pour adapter au mieux les robots leur environnement. La bonne gestion
des obstacles et la prise en compte des incertitudes de mesures sont galement des points cls de
cette thmatique,

- la communication inter-vhicules : on retrouve ici tous les travaux lis la coopration
entre robots, et le contrle de flottilles de vhicules,

- linterprtation de scnes : les recherches dans ce domaine visent pousser plus loin la
perception de son environnement par le robot, que la simple reconnaissance des objets. En effet
dans certaines applications il est ncessaire que le robot apprhende plus finement son
environnement que par une simple dtection et localisation des obstacles. Les travaux concernent
notamment la perception multi-capteurs et la reprsentation dynamique des scnes.


La perception dune part et la commande au sens large dautre part
sont donc les deux thmes majeurs de recherche pour obtenir un robot
mobile parfaitement autonome. Parmi les problmatiques lies la
commande, celle de la navigation tient un rle important : elle consiste
dterminer les trajectoires que le robot sera capable de suivre pour lui
permettre dvoluer correctement au milieu dobstacles, en considrant
quil dispose dune mthode de cartographie.



t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




23

CHAPITRE II
NAVIGATION DES ROBOTS MOBILES




Dans le cadre de la navigation dun robot mobile autonome, deux
grandes familles de mthodes permettent un robot datteindre une
position souhaite. Les mthodes sans trajectoire explicite (champs de
potentiels, rseaux de neurones et logique floue) cherchent plutt
contrler le mouvement global du robot de manire le guider vers son
but. Lautre famille, celle des mthodes de suivi de trajectoire, telles que
les fonctions transverses et les sorties plates, permet au robot de suivre
du mieux possible une trajectoire de rfrence donne, connaissant
les contraintes cinmatiques. Cependant, la synthse de ces diffrentes
approches nous amne considrer une troisime famille alternative : les
mthodes de navigation par modle direct et par gnration de
trajectoires qui nous permet daboutir, dans le chapitre III, la
formalisation dune mthode de navigation gnrale sadaptant
nimporte quel type de robot et de mission.

Le lien fort entre le type de mthode de navigation et larchitecture
de contrle global nous conduit une rflexion qui nous amne
redfinir la problmatique de navigation dans le cadre dune architecture
de contrle.


I. Le problme de navigation

Par abus de langage, un navigateur dsigne gnralement un module charg de faire se
mouvoir le robot mobile dans son milieu dvolution. Si on fait lanalogie avec le pilotage dune
voiture, se dplacer dun endroit A un endroit B ncessite au moins 3 tches bien distinctes :

- rflchir un itinraire pour se rendre au point B : prendre telle autoroute en direction de
telle ville, prendre la sortie numro tant, tourner droite au niveau du premier rond point etc
Cest ce que nous appelons la planification de chemin. Il est prfrable de dterminer son
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




24

itinraire lavance, et pour y parvenir quand on effectue le trajet pour la premire fois, il est
ncessaire dutiliser des cartes, ou une reprsentation prtablie, pour trouver le meilleur
itinraire possible,

- sur la route, il faut suivre du mieux possible litinraire, en adaptant sa vitesse la route,
la circulation, aux limitations de vitesses, aux conditions mtorologiques etc Il faut prendre
correctement les ronds points, les virages, se frayer un passage dans la circulation. Il faut
dterminer des trajectoires qui vont permettre de suivre du mieux possible litinraire prvu, tout
en sadaptant aux conditions de circulation. Ces trajectoires seront dpendantes du vhicule que
lon conduit (voiture, moto etc), chaque vhicule ayant des capacits propres. Ce travail
dadaptation, cest le travail du navigateur,

- enfin, pour pouvoir suivre une trajectoire donne, il faut appuyer sur lacclrateur,
tourner le volant, de manire gnrale il faut agir sur le vhicule. Cest le travail du pilote, qui
doit agir sur les actionneurs du systme pour appliquer la trajectoire souhaite.

Dans notre tude, le navigateur a donc pour mission de gnrer des trajectoires pour le
robot. La notion de trajectoire est diffrente de celle de chemin dans le sens o elle intgre des
informations temporelles le long du parcours du robot, c'est--dire des vitesses et parfois des
acclrations (drives premires et secondes). Concrtement, un navigateur se diffrencie dun
planificateur de chemin par les lments suivants :
- il travaille sur une carte de lenvironnement plus localise autour du robot,
- il travaille plus court terme que le planificateur, il prvoit moins loin dans le temps,
- il intgre les contraintes lies au robot, il doit sassurer que le robot est capable
physiquement de raliser les trajectoires demandes

Dans larchitecture de contrle, le navigateur reoit un chemin de la part du planificateur,
qui peut tre sous diffrentes formes plus ou moins compltes : srie de points de passage (x,y)
pouvant contenir des informations supplmentaires comme langle dorientation du robot, des
vitesses indicatives etc Concrtement, le rle du navigateur consiste gnrer des trajectoires
qui soient ralisables par le robot (c'est--dire qui respectent le modle cinmatique du robot, les
contraintes de non holonomie ainsi que les diffrentes contraintes lies aux actionneurs), qui
nintersectent pas avec les obstacles dans lenvironnement local de navigation, et qui suivent au
mieux le parcours propos par le planificateur.

En fonction des mthodes utilises, nous allons nous apercevoir que les dlimitations entre
pilotage/navigation/planification sont plus ou moins dfinies, il peut y avoir un recouvrement des
tches entre ces 3 grandes fonctions. Par exemple le rle de navigateur peut-tre tenu en partie ou
compltement par le planificateur de chemin, si celui-ci intgre les possibilits de mouvement du
robot dans son calcul de parcours. Mais le navigateur est un point cl pour un robot mobile
autonome, puisque cest lui qui fait le lien entre les capacits de mouvement du robot et
lenvironnement.


II. Mthodes sans trajectoire

Le premier type dapproche pour rsoudre le problme de navigation dun robot mobile
autonome est de rendre la cible du robot attractive pour celui-ci, de manire ce quil cherche
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




25

sen rapprocher. Et inversement rendre les obstacles rpulsifs, pour quil sen carte et reste
bonne distance. Dans cette approche, on ne cherche pas anticiper la trajectoire du robot, on le
laisse librement dcider chaque instant dans quelle direction il doit se rendre, partir des
informations recueillies concernant son environnement local. On fait lhypothse que contrler
son comportement gnral plutt que de chercher calculer une trajectoire, permettra tout de
mme au robot datteindre son but au final.

Nous allons voir 3 mthodes qui reposent sur cette philosophie : les rseaux de neurones, la
logique floue et les champs de potentiels artificiels.

1. Champs de potentiels artificiels

Les mthodes de type APF (Artificial Potential Field) furent les premires employes dans
les annes 80 (Figure 14). Le principe des mthodes APF est de construire un champ de potentiels
sur lenvironnement de navigation du robot. La valeur de ce champ est minimale sur le point que
le robot doit atteindre, et croit continment au fur et mesure que lon scarte de ce point. Les
obstacles gnrent un champ de potentiel rpulsif pour le robot, de valeur suprieure nimporte
quel autre point ne correspondant pas un obstacle du champ de potentiel. Et Le champ de
rpulsion stend autour des obstacles avec une intensit inversement proportionnelle la
distance par rapport lobstacle.

Lide est alors de demander au robot de se dplacer dans la direction du gradient de
potentiel ngatif le plus fort, sur le champ de potentiel global obtenu.


Figure 14- Carte des champs de potentiels autour dun obstacle

Khatib dans [33], ainsi que Andrews et Hogan dans [6], furent les premiers imaginer
lide de forces imaginaires agissant sur le robot. Ces mthodes prsentent lavantage dtre
simples mettre en uvre, et elles furent les premires tre implantes physiquement sur de
vrais robots en 1985 par Brooks [11] et en 1989 par Arkin [7]. Malgr le matriel informatique
encore limit cette poque, les calculs de trajectoires/commande tant trs rapides avec ce type
dapproche, cela permit de premires exprimentations sur des robots relativement lents. Plus
rcemment dans [1], Agirrebeitia propose une extension du principe des mthodes APF pour la
navigation de robots dans un espace 3D.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




26

Lexprimentation a rvl certains problmes rcurrents lis au principe mme de ces
mthodes :
- minima locaux entrainant des situations o le robot est pig (classiquement le pige en
forme de U)
- pas de passage dtect entre des obstacles assez proches
- oscillations en prsence dobstacles et dans les passages troits

Dans [37], Koren et Borenstein ont dmontr mathmatiquement les problmes dinstabilit
de ces mthodes (entrainant des oscillations), problmes qui apparaissent fortement ds lors que
ces mthodes sont implmentes sur des systmes rapides .


2. Rseaux de neurones

Le neurone est lentit de base du systme de raction animal, et les neurologues Mc
Culloch et Pitts furent les premiers tudier leur fonctionnement chez la grenouille [41]. Les
rseaux de neurones dsignent la fois ltude de ces systmes biologiques et leur modlisation
informatique, plus ou moins simplifie, diffrentes applications, comme la reconnaissance de
caractres, son premier terrain dapplication historique, ou la navigation des robots mobiles
autonomes. Dans ce cadre a t dfinie la notion de rseaux de neurones artificiels.

Dans un rseau de neurones artificiel (Figure 15), chaque neurone possde plusieurs entres
et une sortie. Chacune de ses entres se voit affecter un poids (dit poids synaptique) diffrent, et
si la somme ainsi pondre des signaux des diffrentes entres dpasse un seuil, la sortie prend
une valeur positive (le neurone dclenche).


Figure 15- Modlisation dun rseau de neurones artificiel

Un rseau complet est constitu de diffrentes couches de neurones. Les premires couches
correspondent des couches de dtection, en robotique les neurones correspondants sont
directement lis aux informations dlivres par les capteurs du robot. Les couches suprieures
correspondent plutt des couches dinterprtation, et pour un robot elles seront plutt lies aux
effecteurs. De plus il y a gnralement un certain nombre de couches intermdiaires entre les
couches dentre et de sortie.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




27

Un apprentissage du rseau est ralisable en adaptant les poids des entres synaptiques.
Pour cela, le principe est de donner au rseau un grand nombre dexemples (set dentres donn),
et de rtro propager lerreur obtenue entre la sortie du rseau et la sortie attendue. Lalgorithme
dapprentissage aura alors pour tche de rgler les diffrents poids synaptiques pour minimiser
cette erreur.

De nombreux contrleurs pour robots mobiles ont t construits sur ces principes [38][9].
Les dernires gnrations utilisent un codage en frquence pour la transition de linformation,
comme le font les neurones biologiques. Sur une fentre temporelle donne, le nombre de pics
mis quantifie par exemple la proximit dun obstacle. Wang a dvelopp un contrleur bas sur
ce principe, pour un robot unicycle quip de capteurs ultrasonores [68].

3. Logique floue

La logique binaire prsente lavantage de la simplicit, mais est assez loigne de la faon
humaine de raisonner. Si on prend lexemple de la qualification de la proximit dun obstacle, la
logique floue permet de faire intervenir des notions telles que assez prs ou trs loin , au
lieu de se cantonner une dfinition binaire obstacle ou pas obstacle . Celle-ci a t formalise
par Zadeh en 1965.

Le principe dun contrleur bas sur la logique floue se dcline en 3 phases : une phase de
fuzzification, qui va transformer les variables dentre en variables floues ; une phase faisant
appel une table des rgles de comportement, rgles logiques du type si (condition 1) et/ou
(condition 2) alors (action sur les sorties) ; et une dernire phase dite de defuzzification,
permettant de traduire laction dtermine par les rgles de comportement en commande
envoyer aux actionneurs.

Ltape de fuzzification fait appel des intervalles flous, qui vont dlimiter lespace des
variables dentre en un certain nombre de sous ensembles flous (par exemple pour une
proximit, on pourra avoir trs proche (contact), assez proche, distance moyenne, assez loin et
trs loin) ; des fonctions dappartenance sont alors utilises pour dfinir le degr de vrit
(probabilit dappartenance) de la variable floue en fonction de la grandeur dentre. Ces
fonctions peuvent tre de type triangle, gaussienne etc... Ainsi pour une mesure de distance
donne, la rgle dappartenance nous dira il y a 95% de chances que lobstacle soit assez
proche, 5% de chance que lon soit en contact . Cette notion est base sur le fait quil y a
toujours des incertitudes concernant les mesures des capteurs et les informations dont on dispose
en gnral.

La seconde tape consiste en llaboration de rgles de comportement pour le robot, suivant
la combinaison des variables floues en entre. La table des rgles de comportement est construite
manuellement, et est tributaire de lexprience de la personne qui va rgler le contrleur. Pour un
robot mobile, une rgle pourra tre : sil y a un obstacle assez proche sur la droite, il faut tourner
gauche et diminuer la vitesse du robot .

La dernire tape, appele defuzzification, consiste transformer le comportement obtenu
par la table des rgles, en commande pour le robot. Une mthode qui peut tre utilise pour faire
cela est celle des centres de gravit, qui va consister faire la moyenne pondre des commandes
appliquer. La pondration tant lie aux probabilits dappartenance de chaque variable
dentre.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




28


Un contrleur flou pour permettre la navigation dun robot mobile de type voiture double
braquage, un Robucar, a t tudi dans [55]. Ce contrleur permet au robot datteindre sa
position finale tout en respectant les contraintes cinmatiques du robot, mais ne tient pour le
moment pas compte des obstacles. Des travaux sont en cours pour intgrer la prise en compte de
lorientation finale du vhicule.

Dans [17], R. Chatterjee et F. Matsuno utilisent la symtrie droite/gauche des rgles de
logique de comportement du robot pour simplifier celles-ci et ainsi diminuer le temps de calcul.

Le problme de ces mthodes par logique floue est gnralement le mme que celui des
mthodes APF, cest dire le problme des minima locaux qui se traduit par le fait que le robot
peut rester piger dans des culs de sac par exemple. Une technique pour se sortir de ces piges a
t propose par W.L. Xu [70]. Cette technique utilise des cibles virtuelles pour sortir le robot du
pige dans lequel il est tomb, partir du moment o il reconnat tre tomb dans un pige (Figure
16).


Figure 16- Le principe des virtual target pour sortir dun minimum local[70]

Un autre problme inhrent aux mthodes par logique floue est quelles sont trop
spcialises pour un type denvironnement donn, et donc elles souffrent de problmes
dadaptation des environnements diffrents. Cependant il existe des mthodes dites
dapprentissage qui permettent au robot de modifier lui mme ses rgles de comportement au fur
et mesure quil explore un nouvel environnement. Le problme de ces mthodes est quelles
demandent un temps dapprentissage plus ou moins long avant que le robot ne puisse naviguer
efficacement [24].


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




29

III. Mthodes de suivi de trajectoire

Le second type dapproche consiste contrler le robot pour lui faire suivre une trajectoire
prcise. Ces mthodes (Figure 17) ncessitent gnralement de dterminer un modle inverse du
robot, c'est--dire un modle qui permette de calculer les commandes envoyer au robot (espace
articulaire) connaissant la trajectoire que lon souhaite lui faire suivre (dans lespace cartsien).


Figure 17- Approche par modle inverse pour effectuer un suivi de trajectoire

La dtermination dun tel modle est souvent le point central de ce type de mthode, et le
but est dobtenir la meilleure convergence possible du robot vers la trajectoire de rfrence.

Nous allons voir ici 2 mthodes qui ont obtenu de trs bons rsultats dans ce domaine : les
sorties plates et les fonctions transverses. Dans la dernire partie nous voquerons dautres pistes
qui sont tudies dans ce domaine.

1. Sorties plates
La thorie des systmes plats fut introduite en 1995 par Fliess [26]. Un systme plat est un
systme bu ax x + = & tel que:

) .... , , (
) ... , , (
) ... , , (
)
) (
) (
m
l
k
u u u x h y
y y y y g u
y y y y f x
&
& & &
& & &
=
=
=
,


quation 5


Les diffrentes composantes du vecteur y sont les sorties plates du systme. Concrtement
cela revient dire que lon peut exprimer lensemble du systme en fonction des sorties plates, et
dun nombre fini de ses drives. Lavantage dcrire un systme sous cette forme, dans le cas du
suivi de trajectoire, est que cela permet de dmontrer la convergence du systme vers la
trajectoire souhaite. Linconvnient est quil nexiste pas de mthode systmatique pour
dterminer la forme plate dun systme.

Une application pour le suivi de trajectoire des robots mobiles est donne par Fraisse [28] et
elle est utilise pour la navigation dune flottille de robots. Chaque robot suiveur a pour but de
suivre un robot leader, lui-mme contrl distance par tlopration (Figure 18).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




30


Figure 18- Modlisation dune flotille de robot avec un robot leader et un ou plusieurs robots suiveurs

Dans un premier temps les variables dtat du robot (vitesses linaire, angulaire) sont
exprimes en fonction des sorties plates (positions x et y et leur drives). Ces sorties plates sont
ensuite paramtres en fonction du temps. Le problme devient alors un problme doptimisation
par rapport au temps des sorties plates, pour que le robot atteigne ltat dsir en respectant un
ensemble de contraintes. Le fait que le systme soit plat permet de dmontrer la convergence des
trajectoires vers les trajectoires dsires.

Les sorties plates sont donc un outil intressant dans le cadre du suivi de trajectoire en
tlopration par exemple (trajectoire fournie par lutilisateur) ou dans le cas dune flottille de
robots (trajectoire dtermine en fonction du leader). Elles garantissent de trs bons rsultats ds
lors que lon arrive dterminer un modle plat du robot commander.

2. Fonctions transverses

La synthse de lois de commande par retour dtat stabilisant est la problmatique traite
par lapproche par fonctions transverses. Cette problmatique, pour les systmes non holonomes,
est particulirement ardue ds lors que la trajectoire de rfrence prsente des points fixes. En
effet, le systme linaris nest plus commandable au voisinage des points fixes. Lobjectif de
stabilisation asymptotique en un point, qui est impossible atteindre, est alors dlaiss pour une
stabilisation pratique, qui consiste stabiliser le systme en un voisinage arbitrairement petit de
ce point.

Lapproche par fonctions transverses [49] offre une solution ce problme en permettant
une stabilisation pratique autour de nimporte quelle trajectoire de rfrence, ralisable ou non,
pour un systme commandable, et stend aux systmes prsentant certaines proprits de
symtrie comme la voiture [49]. Cette approche est base sur lutilisation de frquences variables
comme entres de commande supplmentaire, et repose sur lexistence dune fonction f vrifiant
les conditions de transversalit [29]. Cette fonction permet de dfinir un repre compagnon, dans
le voisinage proche du vhicule, et cest ce repre qui est asservi sur la trajectoire de rfrence.

Cette mthode permet ainsi un vhicule non holonome tel quune voiture ou un unicycle,
de suivre une trajectoire non admissible, comportant par exemple des dplacements transversaux,
sous une certaine erreur. Le robot effectuera alors des manuvres autour de la trajectoire de
rfrence. Cette erreur maximale est garantie une valeur qui est fixe librement. Le compromis
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




31

sur cette erreur tant que plus elle est fixe petite, plus le robot fera un grand nombre de
manuvres pour suivre sa trajectoire (Figure 19).

Figure 19- Base mobile s et sa transforme omnidirectionnelle z, avec le repre compagnon en rouge [29]

La restriction de cette mthode est lie la difficult de trouver les fonctions transverses
pour certains systmes, puisquil nexiste aucune mthode systmatique pour les dterminer. De
plus, la question de la robustesse de cette mthode, par exemple aux erreurs de mesures ou aux
problmes de glissement, reste un sujet ouvert.

3. Autres recherches sur le suivi de trajectoire

Dautres mthodes pour faire du suivi de trajectoires sont bases sur la reconnaissance
dimages le long du parcours. Ces images peuvent tre prises avec une camra, ou avec des
tlmtres laser. Le principe est de crer une base de donnes dimages reconnatre, et pour cela
le plus simple est de piloter le robot en manuel dans une phase dite denregistrement, en lui
faisant suivre le parcours de rfrence. Une fois la base de donnes cre, on peut procder la
phase de suivi de trajectoire en autonome. A chaque instant dchantillonnage, limage vue par le
robot est compare limage qui correspond dans la base de donnes, et la corrlation entre les
deux images permet de calculer les commandes envoyer au robot, pour le recaler sur la
trajectoire de rfrence.

Ce type de mthode a t appliqu la navigation de vhicule en milieu urbain en utilisant
des camera video [19] [18], et en intrieur de btiments en utilisant des tlmtres lasers [1].

La reconnaissance damers est un principe proche de la reconnaissance dimages, sauf que
cette fois ci on repre des lments remarquables fixes dans lenvironnement de navigation, pour
guider le robot le long du parcours. Cette mthode a t applique sur un vhicule CyCab,
voluant en milieu extrieur grce des balises installes dans lenvironnement de navigation
[58].


IV. Discussion

1. Synthse des mthodes de navigation

Le problme de navigation en robotique mobile nest pas un problme parfaitement arrt.
La frontire entre planification de chemin, navigation, et pilotage est plus ou moins dfinie, il
existe souvent des recouvrements entre ces diffrents domaines connexes. Ces diffrences
dapprhension du problme se ressentent notamment au niveau des structures de contrle des
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




32

robots, qui sont en quelque sorte le reflet de la manire dont chaque quipe peroit et dcoupe les
diffrentes tches ncessaires la ralisation dun systme robotique autonome. Il existe ainsi
beaucoup de dfinitions diffrentes du navigateur, do certaines diffrences dans la manire de
rpondre la problmatique.

Par exemple, beaucoup de travaux ne font pas la distinction entre chemin, trajectoire et
mme pilotage, et tous ces problmes sont ainsi rsolus par un unique module. Cest le cas dun
grand nombre dapproches base de rseaux de neurones et de logique floue, qui cherchent
rsoudre tous ces problmes en mme temps en contrlant un comportement global du robot. Ce
genre dapproche peut donner de bons rsultats dans une situation donne. Mais il ny pas de
planification long terme de ce que le robot doit faire, le robot nest donc pas capable de
sadapter une situation inconnue. Il sagit gnralement dapprocher de la meilleure manire
possible un comportement souhait dans un type de situation donn, ce qui ne correspond pas la
dfinition dun systme autonome qui serait capable de sadapter diffrentes situations non
prvues.

Une autre approche pour la navigation porte sur la dtermination de mthodes pour
effectuer un suivi de trajectoire ou de chemin. La trajectoire servant de rfrence peut tre fournie
par un module de planification, ou encore provenir dun robot leader quil faut suivre une
certaine distance. En considrant un robot classique de type voiture, le problme traiter provient
notamment des contraintes de non holonomie des robots, qui rduisent sa mobilit et lempchent
donc effectuer certains mouvements pour rattraper la trajectoire de rfrence. Dans ce domaine,
les approches par fonctions transverses ou celles par les sorties plates ont montr dexcellents
rsultats. La difficult de ces mthodes est quelles ncessitent de dterminer un modle bien
spcifique du robot. Les mthodes pour dterminer ces modles ne sont pas systmatiques, et de
plus ces modles nexistent pas pour tous les robots.


2. Nomenclature et lien avec une architecture de commande pour
lautonomie

Ltude des mthodes de navigation pour un robot autonome a mis en vidence les
recouvrements entre les diffrentes fonctions ncessaires au commandement dun robot mobile
autonome. Il en dcoule une ncessit de dfinir plus prcisment les diffrentes notions que nous
dvelopperons dans la suite de ce manuscrit, de manire bien se mettre daccord sur ce dont on
parle. Cette nomenclature nous amnera alors prsenter larchitecture de commande sur laquelle
elle sappuie et que nous utiliserons dans les chapitres suivants.

Ainsi, pour la suite de ce document, nous dfinissons les notions de chemin et trajectoire de
la manire suivante :
- un chemin est une succession continue ou discrte de positions et orientations du robot ;
un chemin sinscrit dans une planification globale du parcours que doit effectuer le robot.
Typiquement un chemin sera constitu de diffrents points de passages successifs que le robot
doit atteindre, et en outre le chemin est dcorrl de la notion de temps. Au mieux le chemin
prendra en compte les paramtres gomtriques du robot (circonfrence du robot), mais pas ses
capacits cinmatiques. Il en rsulte que le chemin dtermine par o le robot devra passer, mais
pas au bout de combien de temps il y passera.
- une trajectoire contient les paramtres cinmatiques du robot le long de son parcours, elle
est donc directement relie la notion de temps contrairement au chemin. Il en dcoule quune
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




33

trajectoire prendra en compte les capacits cinmatiques et dynamiques du robot. Une trajectoire
sera donc dfinie sur un horizon temporel donn, et prendra en compte des contraintes de nature
plus locale que le chemin

Cette manire de dcomposer la notion de chemin et de trajectoire sinscrit dans
larchitecture de commande multi-niveaux prsente par Gilles Mourioux dans [52], et utilise
par le laboratoire et sur laquelle nous nous appuyons pour le dveloppement de nos robots. Il
sagit dune structure plusieurs niveaux, qui contient plusieurs boucles action/perception
imbriques les unes dans les autres. Les couches suprieures sont les plus lentes et les plus
intelligentes , au sens o elles intgrent des informations provenant des couches infrieures, et
elles travaillent plus long terme et sur des espaces plus grands. Plus on descend dans les
niveaux, et plus on a des boucles rapides et ractives.

Chaque bloc de la partie dcision (Figure 20) a pour entre les ordres dun bloc analogue de
niveau suprieur, et les informations fournies par un bloc de la partie perception . Ces
informations lui permettent de prendre ses dcisions, qui sont les sorties du bloc. Ces ordres
joueront alors le rle de consigne pour le bloc dcisionnel infrieur.

Un bloc de la
partie Dcision
Ordres mis
Donnes
perceptives
Ordres reus

Figure 20- Bloc de la partie decision [51]

Les blocs de la partie perception (Figure 21) reoivent des informations manant des
capteurs. Lensemble ou une partie des donnes reues sont transmises vers les blocs de la partie
dcision, et galement vers les blocs des niveaux suprieurs de la partie perception. Ces donnes
peuvent avoir subi au pralable dun traitement dans les blocs de la partie dcision. Ainsi, niveau
aprs niveau, les donnes brutes sont enrichies par les traitements successifs et la confrontation
avec danciennes et nouvelles informations gardes en mmoire. Cela permet notamment
damliorer la robustesse des informations et de raliser des cartes.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




34


Figure 21- Bloc de la partie perception [51]

Larchitecture gnrale (Figure 22) est ainsi compose de diffrentes boucles
action/perception sur diffrentes niveaux, placs au dessus du systme mcatronique articul. Les
boucles de bas niveau sont rapides et travaillent court terme, elles correspondent ma partie
ractive de larchitecture. Les boucles de haut niveau travaillent sur des horizons temporels et
spatiaux plus importants, sont plus lentes, et forment la partie dlibrative de cette architecture.



Figure 22- Architecture de contrle (thse de Gilles Mourioux chapitre 3)

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




35

Le niveau 0 reprsente la partie physique du robot, savoir le systme mcanique articul
et les actionneurs pour faire bouger le robot. Cet lment constitue la base sur laquelle toute
larchitecture est construite.

Le niveau 1 est constitu des boucles dasservissement bas niveau du robot. La partie
perception contient les capteurs, et les informations quils dlivrent sont utilises par le bloc de la
partie dcision en vue de lasservissement de chaque moteur.

Le second niveau est celui du pilote. Il reoit une trajectoire suivre de la part du
navigateur, et utilise les informations fournies par le bloc perception pour dterminer les
consignes envoyer aux asservissements de chaque moteur. La partie perception effectue un
traitement des donnes brutes, par exemple sous forme de segmentation ou de dtermination de
lespace libre, quelle fournit au pilote. En plus de sa mission principale consistant transformer
une trajectoire fournie par le navigateur en consignes pour les moteurs, le pilote peut galement
avoir la capacit de prendre certaines dcisions comme des manuvres dvitement dobstacle en
urgence.

Le niveau 3 est celui du navigateur. Cette couche utilise un modle de lenvironnement
local du robot, gnralement sous forme de carte, fabriqu par la partie perception de ce niveau.
Cette carte est ractualise en permanence par les nouvelles informations des capteurs externes
qui sont remontes et traites par les blocs perception infrieurs. Le navigateur se sert de cette
carte locale pour gnrer une trajectoire pour le robot, lui permettant de se dplacer entre les
obstacles tout en cherchant suivre du mieux possible un parcours. Ce parcours lui est fourni par
le niveau suprieur, le planificateur. La trajectoire gnre tient ainsi compte des obstacles, mais
elle tient galement compte des contraintes cinmatiques voire dynamiques du robot. Le
navigateur est donc le bloc charnire entre ce que lon souhaite que le robot fasse (le chemin), les
contraintes lies aux capacits de mouvement du robot, et les contraintes locales que sont les
obstacles. Une fois la trajectoire dtermine, le navigateur lenvoie au pilote, qui se chargera de la
faire appliquer par les actionneurs.

Le quatrime et dernier niveau reprsent est celui du planificateur. La partie dcision de ce
bloc se voit fournir un but atteindre, qui peut tre une destination finale ou une srie de lieux
visiter. Sa mission consiste alors dterminer le chemin optimal pour atteindre ce but, chemin
qui sera envoy comme consigne au bloc navigateur du 3
e
niveau. Pour cela, il utilise un modle
global de son environnement fourni par la partie perception du niveau 4. Pour fabriquer cette
carte globale, la partie perception utilisera gnralement des cartes prtablies prsentes dans sa
base de donnes, quelle pourra fusionner avec des informations courantes comme la carte locale
de manire actualiser la modlisation de lenvironnement.

Dans larchitecture de contrle propose par Gilles Mourioux, il existe un niveau suprieur
nomm gnrateur de mission, qui permet de donner un niveau dautonomie supplmentaire au
systme. Ce niveau dtermine un but ou une mission utilisable comme entre pour le
planificateur de chemin. Enfin, cette architecture permet galement dintgrer la tlopration par
lintermdiaire dun troisime bloc, en surplus des blocs dcision et perception. Ce bloc
tlopration est subdivis en couches de la mme manire que les deux autres blocs, ce qui
permet de faire intervenir un mode tlopr nimporte quel niveau.


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




36

Cette synthse des deux grandes familles de navigation (sans et
avec trajectoires) a montr les limites de leur adaptabilit nimporte
quelle cinmatique de robots mobiles roues, ou bien celles dassurer un
comportement global homogne du robot tout au long de sa mission. Ces
mthodes de navigation sont incluses dans une architecture de commande
du robot, et doivent cohabiter avec dautres fonctionnalits comme le
pilotage et la planification de chemin. Larchitecture de contrle
prsente servira donc de cadre aux approches de navigation alternatives
bases sur des modles directs et sur la gnration de trajectoires que
nous dvelopperons par la suite.





t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




37

CHAPITRE III
NAVIGATION PAR MODELE DIRECT




Une famille alternative de mthodes de navigation que nous
considrons est celle par modle direct qui prsente lavantage de se
baser sur un lment qui est toujours dfini pour un robot mobile : son
modle cinmatique direct. Lensemble des trajectoires issues de ce
modle direct peut tre projet dans une reprsentation de
lenvironnement dvolution du robot. Parmi cet ensemble, il est possible
de choisir la trajectoire optimale, suivant des critres dfinis, qui permet
au robot de rallier une position donne tout en vitant les obstacles.

Une mthode directe, par lignes de fuite, est applique un robot
de type unicycle. Lanalyse des rsultats de simulation met en vidence la
simplicit de mise en uvre pour la dtermination de trajectoires et
vitement dobstacles ;mais elle pose un problme de formalisation
puisque lon se place dans un espace discret pour lobtention des lignes
de fuite. Nous nous orientons alors vers un outil de lautomatique, la
commande prdictive, pour formaliser une nouvelle mthode qui sera
dcrite dans le chapitre IV.


I. Lapproche par modle direct

La philosophie de cette approche est dutiliser un modle direct du robot (espace articulaire
vers cartsien) pour prvoir ses trajectoires suivant la commande quon lui envoie. Lensemble
des trajectoires ralisables par le robot est projet dans une carte de lenvironnement local de
manire dterminer la meilleure trajectoire pour rejoindre la cible, en vitant les obstacles.
Lide est donc de regarder quels sont les mouvements que le robot est capable deffectuer, puis
choisir parmi ceux-ci, celui qui est le plus adapt la situation prsente. On raisonne donc
linverse des approches de type suivi de trajectoire.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




38

Le modle cinmatique direct dtermine les dplacements du robot, dans le repre
cartsien, en fonction des drives des coordonnes articulaires. La matrice permettant de faire ce
calcul est la matrice jacobienne J:

q J X &
&
. = , quation 6

o
T
y x X ) , , (
&
& &
&
= est le vecteur des dplacements du robot dans lespace cartsien, et
T
n
q q q q ) ,... , (
2 1
& & & & = est celui des dplacements dans lespace articulaire. Cependant en robotique
mobile roue, la connaissance de ce modle nest pas toujours utile pour commander le robot, et
on utilise plutt un modle cinmatique simplifi, dit modle cinmatique en posture, qui permet
de relier les vitesses cartsiennes du robot directement en fonction des commandes appliques :

u q C X ). ( =
&
, quation 7

Dans le cas dun robot de type voiture,
T
v u ) , ( = (respectivement la vitesse longitudinale
du robot et langle de braquage moyen des roues) et le modle cinmatique est de la forme :

tan .
sin .
cos .
L
v
v
v
X
&
, quation 8

Avec lorientation du robot dans lespace cartsien et L lempattement du vhicule
(distance entre lessieu avant directeur et lessieu arrire moteur).

Le principe des mthodes par modle direct, est dutiliser ce type de modle, pour calculer
les trajectoires ralisables par le robot, dans son environnement dvolution. Les trajectoires
finales dpendent des commandes envoyes, mais galement de la configuration courante du
robot (position, orientation), de son tat courant (cinmatique), et de lenvironnement lui-mme
dans lequel il volue. Lintgration de tous ces paramtres permet de dterminer un modle
capable de prdire le mouvement du robot, sur un horizon de temps donn.

Une fois le modle dtermin, on est donc capable de prvoir les trajectoires ralisables par
le robot, sur un horizon temporel donn. Les trajectoires ralisables sont alors projetes dans un
modle de lenvironnement dvolution du robot, et slectionner parmi celles-ci celle qui
semble la plus approprie pour remplir lobjectif assign au robot. Concrtement, cela ncessite
de dterminer un critre pour slectionner la meilleure trajectoire au sens de ce critre.


Figure 23- Principe gnral des mthodes par projection de trajectoire
La trajectoire choisie ne doit pas faire entrer le robot en collision avec les obstacles. La
trajectoire du robot tant calcule par rapport un point particulier du vhicule (typiquement le
centre de lessieu arrire pour un vhicule de type voiture), il est ncessaire de tenir compte de la
taille du robot pour dfinir les conditions de non collision.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




39


Les trajectoires qui sont sres doivent tre dpartages au moyen dun critre de slection.
Suivant la mission assigne au robot, ce critre peut tre de minimiser la distance parcourue,
minimiser la consommation, se rapprocher le plus possible dune trajectoire de rfrence etc
Suivant la mthode de navigation, la gestion des obstacles peut tre incluse dans le critre de
slection et traite de manire globale, ou bien part, en effectuant par exemple un filtrage
pralable des trajectoires risque (Figure 23).

De manire gnrale, la gnralisation de ce type dapproche nimporte quel systme de
robot en interaction avec son environnement, est un point fort de ces mthodes par projection.
Quelque soit le robot mobile tudi, un modle cinmatique direct du robot peut tre dtermin et
une fonction dentre donne provoquera une seule trajectoire du robot. Cest une diffrence
importante par rapport aux modles inverses, qui nexistent pas forcment pour une trajectoire
donne. Autre point important, la possibilit de prendre en compte les interactions
robot/environnement dans la modlisation. La prsence de pentes, la structure du sol (sol boueux,
glissant etc) peuvent tre intgrs dans le modle, pour une prdiction approfondie des
mouvements du robot dans un environnement spcifique.

La mthode Motion Generation dveloppe par Bonnafous en 2001, utilise ce principe de
projection de trajectoires ralisables par le robot dans un modle de l'environnement local du
robot [10]. Un set de trajectoires prdfinies, sous forme d'arcs de cercle que le robot LAMA
(robot 6 roues motrices) est capable de suivre, est projet dans un espace modlisant son milieu
de navigation (Figure 24). A chaque trajectoire est associ un critre de risque pour le robot
(collision avec les obstacles, renversement etc...), et un critre d'intrt par rapport la mission
assigne. La trajectoire qui prsente le meilleur rapport entre ces deux critres est slectionne.
Cette mthode n'utilise pas directement de modle direct du robot, les trajectoires sont tires
d'une base de donne contenant des trajectoires que l'on sait ralisables par le robot. Ainsi
l'adaptabilit tous types de robots n'est pas directe, ce qui est une restriction de cette mthode.
Cependant le principe de projection de trajectoires ralisables par le robot correspond totalement
aux mthodes de navigation par modle direct.


Figure 24 - La mthode Motion Generation applique sur le robot LAMA du LAAS

Dans la mthode Neural Network Hybrid dveloppe par Belker et Schulz [9] dtermine
l'espace des commandes admissibles par le robot (respect des contraintes des actionneurs). Cet
espace subit alors une discrtisation, et les commandes discrtes ainsi obtenues sont injectes
dans le modle cinmatique direct du robot. Les trajectoires gnres sont projetes dans une
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




40

carte de l'environnement du robot sous forme de grille (type grille d'occupation [69], Figure 25).
Une fonction de rtribution, base sur le principe des chanes de Markov, associe chaque case
de la grille une valeur de rtribution qui quantifie l'intrt pour le robot de se situer sur cette case
(proximit du but atteindre, distance par rapport aux obstacles). La trajectoire qui conduit le
robot sur la case avec la meilleure valeur associe est slectionne, et les commandes
correspondantes sont envoyes comme consignes aux actionneurs du robot. Les difficults lies
cette mthode taient dues principalement aux temps de calculs levs (reconstruction de la grille
et des valeurs de rtribution en temps rel), qui conduisaient imposer des compromis
contraignants notamment sur la rsolution de la grille, le nombre de trajectoire gnres lors de la
discrtisation et la dynamique de raction du robot.


Figure 25 - la mthode Neural Network hybride : projection d'un set de trajectoires ralisables par le robot dans
une carte de l'environnement sous forme de grille

La mthode des lignes de fuite mise au point par Novales [53], permet de dterminer une
trajectoire qui respecte les diffrentes contraintes du robot, respecte son modle cinmatique et
lui permette de suivre du mieux possible une courbe de rattrapage (sorte de chemin de rfrence)
fourni par un module de navigation globale. Tout d'abord un ensemble de trajectoires admissibles
par le robot (trajectoires qui respectent ses diffrentes contraintes cinmatiques, dynamiques...)
est obtenu en effectuant une discrtisation des commandes admissibles par le robot. Ces
commandes sont injectes dans le modle cinmatique direct du robot et sur un horizon temporel
, et les trajectoires obtenues sont appeles lignes de fuite du vhicule. Ces lignes de fuite sont
projetes dans une carte locale de l'environnement, et les trajectoires qui entrent en collision avec
les obstacles sont limines (Figure 26). Les trajectoires restantes sont appeles lignes de fuite
libres. Ces trajectoires sont alors compares entre elles au moyen d'un critre de slection, qui
quantifie l'cart entre chaque trajectoire et la courbe de rattrapage fournie par le module de
navigation globale. La trajectoire associe au meilleur critre de slection est choisie, et les
commandes correspondant un partie rduite de cette trajectoire (sur un temps d'chantillonnage
infrieur l'horizon temporel ) sont envoyes comme consigne au module de pilotage du robot.
La capacit ractive de cette mthode a t valide [54], mais cette mthode n'avais jamais t
implante avec un navigateur global.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




41


Figure 26 - Projection des lignes de fuite du robot dans un modle local de l'environnement

Le principe gnral de ces approches par modle direct et projection de trajectoires est donc
de partir des trajectoires ralisables par le robot, et slectionner parmi un ensemble reprsentatif
de ces trajectoires celle qui permet de remplir du mieux possible la mission de navigation
assigne au robot. Par l'utilisation du modle cinmatique direct du robot, et la prise en compte
explicite des contraintes sur les commandes, ce type de mthode est facilement adaptable
n'importe quel type de robot mobile (du moment qu'on connait le MCD). En contrepartie, le
problme de ces mthodes est qu'elles sont par nature discrtes (test d'un nombre fini de
trajectoires), et le nombre de trajectoires considres affecte directement le temps de calcul. Pour
tre exploitable en temps rel, il est donc ncessaire de trouver des compromis entre la
discrtisation des trajectoires admissibles (et donc leur prcision par rapport au but du robot), et
les temps de calcul.

Comme base de dveloppement de notre travail, nous avons choisi de repartir de la
mthode de navigation par lignes de fuite pour deux principales raisons : d'une part, la prise en
compte explicite du modle cinmatique direct du robot, permettant de faciliter l'adaptation tous
types de robots mobiles ; d'autre part, l'adaptation plus facile de cette mthode dans l'architecture
de contrle utilise par le laboratoire (cf. chapitre II partie IV), avec des entres qui sont
premirement une carte locale de l'environnement local du robot (en provenance du bloc
perception de niveau 3), et deuximement une courbe de rattrapage qui pourra tre li au chemin
fourni par le module de planification de chemin de l'architecture (module de dcision de niveau
4). Dans la section suivante, nous prsentons la nouvelle formalisation de cette mthode et
comment nous l'adaptons notre architecture de contrle, en l'implmentant notament avec un
planificateur de chemin lui fournissant des points de passages successifs atteindre. Des
simulations sur diffrents robots sont ensuite effectues, de manire tester l'application de cette
mthode diffrentes cinmatiques de robots. Nous tenterons de mettre en vidence les points
positifs lis ce type dapproche, et nous discuterons des limites.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




42

II. La mthode des lignes de fuite

Nous considrons que le robot se trouve dans ltat X
0
linstant t
0
, et cherche atteindre
une position cible tout en vitant les obstacles sur son chemin. Les diffrentes tapes de la
mthode des lignes de fuite sont :
- gnrer toutes les trajectoires admissibles par le robot, c'est--dire respectant ses
diffrentes contraintes (cinmatiques, dynamiques etc) sur un horizon temporel ; ces
trajectoires sont galement appeles lignes de fuite,
- liminer les lignes de fuite non-libres (qui intersectent ou passent trop prs des obstacles),
en projetant celles-ci dans une carte locale mise jour rgulirement pendant la navigation,
- choisir parmi les lignes de fuite libres celle que lon proposera au pilote, laide dun
critre de slection qui dpend de la mission assigne au robot.

Cette mthode utilise uniquement le modle direct du robot, pour dterminer les trajectoires
ralisables par le robot et les projeter dans une carte locale. Ainsi la matrice jacobienne inverse
na pas besoin dtre dfinie. Lopration entire est ritre une priode T
e
infrieure
(Figure 27).



Figure 27- Principe des lignes de fuite

Uniquement une partie de la trajectoire slectionne est rellement applique par le robot,
le processus complet est ensuite ritr linstant dchantillonnage suivant
e
T t +
0
, avec les
nouvelles informations collectes au cours de la progression du robot. Cette ritration du
processus toutes les T
e
secondes joue le rle de bouclage, en mesurant la position relle du robot
et des obstacles.

Dans la section suivante, nous dveloppons le formalisme de la mthode des lignes de fuite,
en reprenant les 3 principales phases du processus. Ce formalisme sappuie notamment sur le
formalisme de Sontag [65] (Figure 28). Le systme automatis est dfini comme un ensemble
despaces et de fonctions dfinies sur ces espaces :

= ( , , , , , h),
quation 9

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




43

est lespace des temps,
est lespace dentre du systme ; les vecteurs de cet espace sont nots u,
est lespace dtat du systme ; les vecteurs de cet espace sont nots X,
est lespace de sortie du systme ; les vecteurs de cet espace sont nots Y.


Figure 28- Formalisme de Sontag

(t) est la fonction dentre, elle permet de connatre lentre u du systme (la commande)
un instant t donn : u
t
= (t).
(t) est la fonction dtat simplifie, elle permet de connatre ltat X du systme un
instant t donn : X
t
= (t).
(t) est la fonction de sortie simplifie, elle permet de connatre la sortie Y du systme un
instant t donn : Y
t
= (t).
est la fonction dtat dfinie telle que limage de par dans lespace dtat soit : (t)
= (t).
h est la fonction de sortie dfinie telle que limage de par h dans lespace de sortie soit :
(t) = h (t) ou encore : (t) = h (t).

1. Trajectoires admissibles par le robot et lignes de fuite

La premire partie de la mthode consiste gnrer les trajectoires admissibles par le robot.
Pour cela, des fonctions dentre u doivent tre dfinies, de manire gnrer des trajectoires
correspondantes par le biais du modle cinmatique direct du robot.

Une fonction dentre u est admissible par le robot sur un intervalle [t
0
, t
0
+] si elle respecte
les contraintes suivantes :
- contraintes cinmatiques : contraintes correspondant au modle cinmatique direct du
robot, cest dire ses possibilits de mouvements,
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




44

- contraintes de saturation des actionneurs (e.g. : vitesses de rotation maximales des
moteurs en charge en marche avant et en marche arrire, butes pour la direction des roues
orientes),
- contraintes sur la dynamique des actionneurs (e.g. : acclrations et dclrations
maximales des diffrents actionneurs).

Nous appelons
[t0, t0+]
lensemble des commandes admissibles par le robot sur lintervalle
[t
0
, t
0
+].

} { ] , [ ] , [
0 0 0 0
+ = + t t u t t u admissible par le robot}, quation 10

Nous appelons
[t0, t0+]
lensemble des trajectoires admissibles par le robot sur lintervalle
[t
0
, t
0
+]. Il correspond lensemble des trajectoires dont la fonction dentre u
[t0, t0+]
. On
appelle galement cet ensemble
[t0, t0+]
les lignes de fuite du robot linstant t
0
et sur lhorizon
temporel .

[t0, t0+]
= { = (,) /
[t0, t0+]
},
quation 11


2. limination des lignes de fuite non-libres

Ltape suivante consiste comparer limage de chaque dans lespace de sortie,
avec la carte des obstacles que nous appelons . Cette carte peut se prsenter sous plusieurs
formes, mais doit imprativement permettre de connatre la position des obstacles par rapport
celle du robot. A laide du critre dlimination C
el
, lensemble des lignes de fuite libres
L
est
dtermin.

L
= { = (,u) / C
el
(

, ) = 0,
[t0, t0+]
},
quation 12

En fait, les lignes de fuite que lon considre comme dangereuses sont limines, parce
quelles intersectent les obstacles ou parce quelles passent trop prs de ceux-ci, au sens du critre
dlimination. Lensemble des lignes de fuite rsultantes constitue
L
.

Par association, nous pouvons alors dfinir lensemble des commandes admissibles libres

L
comme lensemble des fonctions dentres u qui correspondent aux lignes de fuite libres
L
.

L
= { u / = (,u)
L
},
quation 13

A ce niveau de notre mthode, le robot dispose, sur lhorizon temporel [t
0
, t
0
+], de toutes
les trajectoires quil va pouvoir effectuer rellement sans rencontrer aucun obstacle.

3. Slection de la meilleure ligne de fuite libre

La dernire tape consiste dterminer la meilleure ligne de fuite parmi
L
pour atteindre
un chemin fourni par le niveau de contrle suprieur (le planificateur). Ce chemin peut se
prsenter sous la forme dun point de passage atteindre, ou encore dun parcours continu ou
discontinu.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




45


Pour slectionner la meilleure ligne de fuite libre, nous appliquons un critre, C
choix
qui
permet de quantifier lintrt de chaque ligne de fuite libre pour atteindre cet objectif. La ligne de
fuite choisie est celle laquelle est associe la valeur du critre optimale. Cette ligne de fuite est
appele
choisie
. La fonction dentre qui lui correspond est appele
choisie
, et elle est envoye en
consigne au niveau de contrle infrieur (le pilote), qui est charg de faire en sorte quelle soit
applique par le robot.

choisie
= { = (,u) / C
choix
(, ) optimal,
L
}
quation 14

u
choisie
= { u
L
/ = (,u) =
choisie
}
quation 15

Le choix des critres C
choix
et C
el
dpend de lapplication effectuer par le robot et de la
mission. Par exemple pour une mission dexploration, si le robot a pour but de cartographier la
zone environnante, on pourra tablir un critre dlimination C
el
assez svre pour sassurer que
le robot passe bonne distance des obstacles (car nous ne connaissons pas leur forme dans
lespace et que nous voulons prendre un minimum de risques). On pourra aussi chercher tablir
un critre de choix C
choix
qui favorise les trajectoires les moins coteuses en nergie (pour les
missions dexploration par exemple).

Par contre si nous prenons une mission de type industrielle, nous allons plutt chercher
favoriser des notions comme la rapidit du robot, et donc le critre C
choix
devra favoriser les
trajectoires les plus rapides (aux dpens de la consommation dnergie). Donc nous devons
adapter ces critres suivant la situation (robot, mission, application, milieu dans lequel volue le
robot)

Un autre point prendre en compte est le fait que seul le dbut des commandes
correspondant la trajectoire choisie (u
choisie
) sera en fait appliqu par le robot. En effet
lopration complte de navigation par lignes de fuite (de la gnration des lignes de fuite du
robot la slection de
choisie
et u
choisie
), est recommence de manire priodique, et avec une
priode infrieure (environ dix fois infrieure). Donc au final, seule une courte portion de la
trajectoire
choisie
sera effectivement suivie par le robot.


4. Application divers robots

Dans [47], nous avons appliqu cette mthode des lignes de fuite la navigation du robot
RAOUL (Robot Autonome dObservation dUnivers Locaux). Il sagit dun robot roues
diffrentielles, construit partir dune plate-forme de Robosoft nomme Robuter. Il fonctionne
sous RT Linux, et est quip de 2 tlmtres laser Sick, un lavant et un larrire scannant
lenvironnement sur 180 chacun, et un goniomtre laser pouvant calculer la position/orientation
du robot en se rfrant 3 balises postes dans lenvironnement (Figure 29). Les travaux de
Canou [13] ont permis de dvelopper un module de cartographie locale en ligne, qui met jour
ses informations grce aux mesures effectues par les tlmtres laser toutes les 25ms.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




46


Figure 29- Le robot RAOUL

Ce type de vhicule roues diffrentielles a t souvent utilis pour ses proprits de
mouvement (capacit tourner sur lui-mme sans manuvrer). Il tait couramment employ en
tant que base mobile pour des robots mobiles quips de bras manipulateurs, mme si aujourdhui
il tend se faire remplacer par les robots omnidirectionnels qui offrent plus de souplesse dans la
faisabilit des trajectoires de placement. Le modle du robot roues diffrentielles est le suivant :



Figure 30- Modle des roues diffrentielles

En tenant compte du sens trigonomtrique pour
1
et
2
, les vitesses de rotation des deux
roues motrices, nous obtenons les quations de mouvement de chaque roue: R s .
1 1
= &
et R s .
2 2
= & (Figure 30). Les quations de mouvement du robot sont:

+
=

=
+
=
L
R R
L
s s
R R s s
s
2
. .
2
2
. .
2
1 2 2 1
1 2 2 1


& &
&
& &
&
, quation 16

Dans une mme famille de trajectoires, il existe une infinit de fonctions dentre, et une
infinit de trajectoires correspondantes. Dans le cas du robot roues diffrentielles, il existe une
infinit de couples ) , (
2 1
admissibles qui vont gnrer une infinit de trajectoires tester, ce
qui nest pas ralisable en pratique. Ainsi, nous sommes contraints de tester un nombre fini de
trajectoires. Pour ce faire, une discrtisation de lespace de commande ) , (
2 1
est ralise. Dans
les simulations, nous avons discrtis cet espace en 5 par 5, cela signifie que nous gnrons 5*5 =
25 trajectoires chaque itration de la mthode.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




47


Figure 31 - Discrtisation des entres du robot et gnration des lignes de fuite

En utilisant des fonctions dentre de type linaire (variations linaires de la vitesse des
deux roues entre deux consignes de vitesse, en respectant les diffrentes saturations des
actionneurs), et aprs passage travers le modle cinmatique dcrit ci-dessus, nous obtenons le
type de traces de trajectoires reprsentes sur la Figure 32.


Figure 32- Panel de trajectoires ralisables par le robot roues diffrentielles

Ces lignes de fuite sont projetes partir de l'tat courant du robot, et confrontes une
carte de l'environnement du robot (Figure 33). Les trajectoires qui entrent en collision avec les
obstacles sont alors limines, en accord avec un critre d'limination C
el
:

{ } j d sgmt t dist C
s j i el
> 0 / ) ( : quation 17

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




48


Figure 33 - Projection des lignes de fuite dans une carte locale, et limination des trajectoires non libres

Les lignes de fuite restantes sont appeles lignes de fuite libre. A chacune d'entre elle est
alors associ une valeur par le biais d'un critre de slection C
choix
. Ce critre permet de quantifier
l'intrt de la trajectoire dans le but d'atteindre un point de passage donn. Le critre que nous
avons dvelopp tient compte de la distance cartsienne entre le point final de la trajectoire et le
point de passage, ainsi que de la diffrence entre l'angle d'orientation du robot et l'angle o se
situe le point de passage.

fact y T t y x T t x C
p i p i i choix
+ + + =
2
0
2
0
) ) ( ( ) ) ( ( ) , (

quation 18

robot cible i
t k fact
/ 0
) ( 1

+ + = quation 19

La trajectoire laquelle est associe la plus faible valeur de critre est slectionne, et les
commandes correspondant cette trajectoire sont envoyes en consigne pour le module de
pilotage. Ces consignes seront suivies pendant un temps d'chantillonnage infrieur l'horizon
temporel sur lequel sont calcules les lignes de fuite. Le processus complet est alors ritr
l'instant d'chantillonnage suivant.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




49


Figure 34 - Slection de la meilleure ligne de fuite et application des commandes correspondantes sur un
chantillon temporel

En utilisant ce type de trajectoires, nous avons cherch valider notre navigateur local par
lignes de fuite en simulation. Nous considrons que le robot dispose dune carte locale de son
environnement, et quil dispose dun ensemble de points de passage franchir successivement.
Sa mission consiste alors suivre au mieux le chemin prdfini tout en sadaptant aux contraintes
locales (obstacles et capacits de mouvement du robot). Un exemple de rsultat obtenu est
prsent sur la Figure 35. Dans cette reprsentation, le robot est assimil un point (son point de
contrle). La trace des dplacements accomplis par le centre du robot est reprsente en bleu, et
chaque nouvelle itration du programme de navigation est symbolise par un petit trait
perpendiculaire la trace. Les obstacles sont assimils des segments, et ne sont pas directement
reprsents sur la carte. Ce que lon reprsente sur la carte est en fait un largissement de ces
segments, dune distance gale la demi-longueur maximale entre le centre du robot et sa
priphrie, laquelle on ajoute une marge de scurit. Chaque segment dobstacle largi donne
alors une sorte dellipse, dans laquelle le point de contrle du robot ne doit pas pntrer sous
risque de collision entre le robot et lobstacle.

Dans cette simulation, le robot part arrt du point de coordonnes (-8, -8), et il doit se
rendre au point (-6, 4), via un certain nombre de points de passage reprsents par les croix en
rouge. Les obstacles segments sont largis de 60 cm pour simuler la taille du robot.

Les simulations ont permis de valider lefficacit de ce type dapproche, en trouvant des
trajectoires permettant de concilier les contraintes locales du problme de navigation avec les
objectifs globaux (chemin suivre). De plus, nous avons observ que cette mthode laissait une
certaine autonomie au systme, avec par exemple des marches arrires improvises par le robot
pour se sortir efficacement de certains piges.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




50


Figure 35- Navigateur par lignes de fuite appliqu un robot roues diffrentielles

Cette mthode a galement t applique un robot mobile double essieu directeur, le
CyCab dans [48], c'est--dire un vhicule de type voiture avec la fois les roues avant et les
roues arrire directrices. Lavantage de ce type de vhicule est sa manuvrabilit amliore du
fait de la diminution du rayon de braquage, ce qui en fait un vhicule intressant pour les milieux
relativement encombrs. Le modle du vhicule tudi est le suivant :

( )
( ) ) sin( ) sin(
2
1
) cos( ) cos(
2
1
) cos( .
) sin(
.

+ + + =
+ + + =
+
=
k v y
k v x
L
k
v
M
M
M
&
&
&
,
quation 20

Les lignes de fuite gnres partir de ce modle sont reprsentes sur la Figure 36 (seuls
des mouvements en marche avant ont t gnrs) :

Figure 36- Panel de trajectoires ralisables par le robot double braquage
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0

La Figure 37 montre les rsultats dune simulation de navigation par ligne de fuite applique au
vhicule CyCab dans un environnement de 40x40 m. La trace des dplacements effectus par le
point de contrle C du robot sur le sol est reprsente en bleue, et les lignes bleues perpendiculaires
reprsentent la frquence dchantillonnage de la mthode. Les croix rouges sont les points de
passage fournis au navigateur, que le robot doit atteindre successivement.


Figure 37- Navigateur par lignes de fuite appliqu un vhicule double braquage CyCab

Contrairement la simulation prcdente, cette fois-ci les obstacles, sous forme de polygnes,
sont directement reprsents sur la figure. La distance entre la priphrie du robot et lobstacle le
plus proche est reprsente sur la Figure 38, ce qui permet de vrifier que le robot nentre pas en
collision avec les obstacles. En effet cette distance reste toujours suprieure la largeur du robot qui
est fixe 1.44m dans la simulation.


Figure 38- Distance robot/obstacles le long du parcours


Cette simulation a permis de valider encore une fois lintrt de cette mthode dans le cadre
de la navigation dun robot de type voiture, ou a double braquage.


5. Limites de lapproche par ligne de fuite

Ses principaux atouts sont le respect de la cinmatique du robot, et le fait quun modle
inverse du vhicule ne soit pas ncessaire (modle qui nexiste pas toujours ou qui peut souffrir de
points de singularits). Cette mthode est donc facilement adaptable nimporte quel type de robot
mobile dont on connait le modle cinmatique direct.

Elle ncessite cependant de travailler en coopration avec un planificateur de chemin, qui lui
fournit soit un chemin complet soit des points de passage. En effet, bien quelle repousse le
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




52

problme des minima locaux en testant diffrentes trajectoires sur un horizon de prdiction plus ou
moins lev (ce qui permet de trouver des trajectoires de contournement dans certains cas), elle
reste tout de mme soumise aux problmes de minima locaux qui peuvent intervenir par exemple
lorsque le robot est confront un obstacle en forme de U. Ainsi, lefficacit de la mthode reste
tributaire de la qualit des points de passage fournis par le planificateur de chemin. Cela est illustr
par la simulation suivante sur la Figure 39.



Figure 39- Pige en U et influence du planificateur

Ce problme de minima locaux est directement li la longueur de lhorizon de prdiction, au
type de famille de trajectoires et au nombre de trajectoires testes, qui permettent ou non de trouver
des trajectoires de contournement. Ce problme est galement li au temps de calcul disponible, qui
autorisera tester un certain nombre de trajectoires en ligne.

Une autre limitation de la mthode est lie la discrtisation des fonctions dentre, qui va
dcouler en un nombre fini de trajectoires testes. La prcision des trajectoires pour atteindre un
point donn sera directement lie ce nombre de trajectoires testes et donc la taille de la
discrtisation. Cette limitation fait quil ne sera pas possible datteindre certains points sous une
certaine prcision, ce qui fait que la mthode peut tre mise en dfaut si on lui demande de
positionner prcisment le robot. Cette observation est illustre sur la Figure 40, o le robot, qui ne
parvient pas se positionner assez prs du point de coordonnes (5, -5), va tourner autour de celui-
ci sans jamais trouver de trajectoire satisfaisante.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




53


Figure 40- Tolrance trop faible sur la position atteindre

Ce problme est directement li au fait que lon teste un nombre fini de trajectoires. Pour
pouvoir trouver une trajectoire permettant de rallier un point prcis, sous rserve que la trajectoire
existe, il faut pouvoir dterminer une fonction dentre optimale.


III. Des lignes de fuite la commande prdictive

Fort de ces rsultats, nous avons cherch amliorer notre approche en modernisant celle-ci
par lutilisation doutils tels que les algorithmes doptimisation pour affiner nos trajectoires, et en
cherchant des moyens dtre plus robuste aux problmes de minima locaux ; tout ceci en conservant
ce qui fait le point fort de la mthode, savoir lutilisation de modle cinmatique direct pour
chercher des solutions de navigation partir des trajectoires ralisables par le robot.

Cest ainsi que nous nous sommes intresss au formalisme de la commande prdictive. Cette
mthode avance de commande, utilise en automatique pour permettre un systme donn de
suivre une trajectoire de rfrence, possde en effet un certain nombre de points communs avec
notre mthode de navigation par ligne de fuite : lutilisation dun modle du systme commander
pour prvoir son volution sur un horizon temporel glissant, le bouclage implicite de la mthode par
une mise jour priodique des informations sur lvolution relle du systme et de son
environnement. Nous avons ainsi cherch voir si nous ne pouvions pas trouver certains outils,
comme les mthodes doptimisation de trajectoires, pour les adapter notre problme de
navigation.

Dans la section suivante, nous prsentons la commande prdictive telle quelle est dfinie en
automatique. Aprs une courte prsentation, nous voyons plus en dtail son principe en sattachant
montrer le rle des diffrents lments sur lesquels repose cette mthode.




t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




54

1. Prsentation de la commande prdictive

La commande prdictive (galement appele commande optimale sur horizon glissant ou
based model control en anglais) est une mthode de commande avance qui utilise un modle du
systme commander pour prdire son comportement dans le futur. A chaque priode
dchantillonnage, la squence de commandes optimales est calcule, et seul le dbut de cette
squence est appliqu au systme. Propoi [60] dans les annes 60 fut le premier penser
introduire le modle du systme lintrieur de la boucle de commande, et de sen servir pour
anticiper les comportements de celui-ci.

Cette mthode a t dveloppe la base dans lindustrie ptrolire (Shell), puis tendue
progressivement dans diffrents domaines (chimie, automobile, arospatiale etc). Richalet en
1976 fut le premier lutiliser dans une application industrielle, sous le nom Identification et
Commande (IDCOM) [64]. Initialement limite aux systmes relativement lents, elle est
aujourdhui utilise dans des applications plus rapides grce notamment aux progrs de
linformatique. Ainsi elle commence tre dveloppe dans des applications robotiques, comme par
exemple pour effectuer du suivi de trajectoire [36].

Pour pouvoir appliquer la commande prdictive, il faut avoir un modle du systme, qui
permette de prvoir ses volutions sur un horizon temporel donn T
p
(dit horizon de prdiction) [4]
[5]. Il faut galement une trajectoire de rfrence pour servir de modle pour atteindre le but fix
(Figure 41). Le problme est mis sous la forme dun problme doptimisation sous contraintes : le
critre optimiser est lerreur entre la trajectoire de rfrence et la trajectoire attendue du systme,
suivant la commande envoye, sur lintervalle [t
0
, t
0
+ T
p
]. Cette commande doit respecter un certain
nombre de contraintes sur la commande elle-mme ou sur la trajectoire quelle engendre au
systme. Un algorithme doptimisation est alors ncessaire pour dterminer la commande qui
minimise ce critre.


Figure 41- Principe de la commande prdictive

Une fois la commande choisie, de la mme manire que pour les lignes de fuite, seule les
premiers chantillons de celle-ci sera rellement applique au systme, avant de reprendre le
processus complet.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




55

Le souci de cette mthode est quelle peut savrer gourmande en temps de calcul, cest pour
cela qu la base elle ntait applique que sur le contrle de processus lents, notamment dans les
processus chimiques o elle tait particulirement employe [44] [62].

Dans [40], Lenain dveloppe une commande prdictive pour une meilleure prise en compte
des glissements qui apparaissent invitablement lors du suivi dune trajectoire de rfrence par des
vhicules agricoles. Une prcision de lordre de 5cm en latral est demande pour ce suivi. Tant que
le vhicule ne glisse pas, des lois de commande bases sur lutilisation dun GPS RTK comme
capteur de position ont prouv leur efficacit, mais ce nest videment pas le cas en terrain agricole.
Lintgration des glissements dans la modlisation cinmatique du robot [39] ont permis de garantir
une prcision satisfaisante, sauf lors des transitions de la courbe de rfrence (changements de
courbure). Pour pallier ce problme, lutilisation dune commande prdictive a permis danticiper
le comportement du vhicule lors des modifications de courbure et ainsi damliorer sensiblement
la prcision du suivi de trajectoire mme lors des phases de transition.

Le problme de la navigation dun robot mobile peut tre abord sous la forme dun problme
doptimisation sous contraintes ; considrant les obstacles et les contraintes cinmatiques du robot
comme les contraintes du problme doptimisation, le modle cinmatique direct du robot est utilis
pour prvoir lvolution du robot suivant la commande envoye ses actionneurs. En 2007 Klancar
a implant cette mthode sur un petit robot roues diffrentielles, et dmontr son efficacit pour
faire du suivi de trajectoires : la trajectoire du robot est souple et converge efficacement vers la
trajectoire de rfrence [36].


2. Principe

Le principe de fonctionnement de la commande prdictive est trs proche de la manire dont
procderait une personne pour atteindre un objectif donn. Pour des facilits de comprhension,
nous lillustrons avec un schma qui sapparente un problme de planification de chemin.

Au dbut du processus, nous sommes dans une situation donne, et le problme consiste
atteindre une situation dsire. Entre les deux, se dressent un certain nombre de contraintes, qui
nous empchent de faire certaines actions. Pour rsoudre ce type de problme, lide de base est de
commencer par regarder les diffrentes manires possibles datteindre notre objectif. Si plusieurs
manires permettent datteindre lobjectif, nous les comparons, suivant un critre prtabli, pour
dterminer celle qui nous parait la plus approprie. En fait, nous cherchons dterminer la stratgie
optimale pour rsoudre notre problme (Figure 42).


Figure 42- Choix dun comportement optimal

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




56

Une fois cette stratgie optimale dtermine, nous commenons lappliquer. Nous avanons
dun premier pas selon ce qui tait convenu, puis nous nous arrtons pour faire le point. En effet,
tout ne sest pas forcment pass comme il tait prvu, la stratgie convenue peut avoir t plus ou
moins bien respecte. Les contraintes peuvent galement avoir chang, ou alors elles peuvent avoir
t mal values. Globalement, le problme est remis jour avec toutes les nouvelles informations
disposition (Figure 43).


Figure 43- Application du comportement choisi sur un premier pas

Le problme ayant volu, il est alors ncessaire de redfinir une nouvelle stratgie optimale.
De nouveau, les diffrentes options sont envisages, et lune delle est choisie selon le critre de
choix (Figure 44).

Figure 44- Mise jour de la situation

A nouveau, nous commenons appliquer la stratgie choisie, et une fois le premier pas
effectu, nous rvaluons la situation (Figure 45).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




57

Figure 45- Re-application du comportement optimal

Ainsi, le principe de la commande prdictive est de modliser un problme de suivi de
trajectoire par le systme commander, linstant t
0
, sous la forme dun problme doptimisation
sous contraintes. Cette modlisation sappuie sur un modle capable de prdire les volutions du
systme sur un horizon de temps dfini, que lon appelle horizon de prdiction T
p
.

La commande prdictive peut donc tre utilise ds lors que lon possde les lments
suivants :
- un modle du systme que lon souhaite commander, qui permette de prdire les volutions
du systme, sur lhorizon de prdiction T
p
, suivant la squence de commandes applique au systme
sur ce mme horizon,
- une trajectoire de rfrence pour ce systme : trajectoire au sens automatique du terme et pas
robotique, c'est--dire qui nest pas associe des commandes (mais juste une succession continue
ou discrte dtats du systme),
- et enfin un algorithme doptimisation sous contraintes, qui puisse fonctionner dans une
application temps rel.

Pour transformer le problme de suivi de trajectoire en problme doptimisation, on dfinit
une fonction cot J, qui dpendra :
- de ltat initial du systme X
0
t
0
,
- de la commande u dfinie sur lintervalle [t
0
, t
0
+T
p
],
- du temps t.

Cette fonction cot est galement lie la trajectoire de rfrence. Le but de loptimisation est
donc de minimiser cette fonction cot, et la variable sur laquelle on joue pour cela est la
commande u. Cela doit tre fait en respectant gnralement un certain nombre de contraintes sur la
commande u, le temps t ou ltat X du systme. Cest l quintervient lalgorithme doptimisation,
puisquil devra rsoudre ce problme en temps rel.

La premire partie de la commande u solution du problme doptimisation est applique sur le
systme, et le processus complet est ritr de manire priodique une certaine frquence
dchantillonnage f
e
. Le bouclage du systme est implicite, il rsulte du fait que ltat initial du
systme considr dans le problme doptimisation, est obtenu par lintermdiaire des diffrents
capteurs permettant destimer ltat du systme en temps rel.


3. Discussion

Nous retrouvons dans cette mthode de nombreux points communs avec notre mthode des
lignes de fuite : une projection de lvolution du systme suivant la commande applique, via un
modle, et sur un horizon de prdiction T
p
; une recherche de la fonction de commande u permettant
de minimiser un critre ; seulement une partie de la solution trouve est applique au systme rel,
et le processus est ritr la priode dchantillonnage T
e
.

Cependant cette mthode requiert une trajectoire de rfrence, que nous ne possdons pas
dans le cas de notre problme de navigation. En effet nous possdons au mieux des points de
passage fournis par un planificateur de chemin, avec ventuellement des orientations / vitesses de
passage. De plus, les obstacles sont une contrainte forte dans le cas du navigateur, qui peut entrainer
des problmes de minima locaux, qui sont moins prsents dans les problmes classiques de
commande prdictive.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




58


Cette famille alternative de navigation par modle direct notamment
par lignes de fuite montre sa facilit de mise en uvre en prenant en
compte la cinmatique et lenvironnement du robot pour lvitement
dobstacles. Mais les rsultats des simulations montrent galement les
limitations de cette mthode, car elle se rsout de manire numrique dans
un espace discret. Pour travailler dans un espace continu, nous nous
appuyons sur la commande prdictive utilise en automatique de rgulation
de process. Cette formalisation permet la projection dun ensemble de
trajectoires sur un horizon temporel, duquel nous pouvons dterminer la
trajectoire optimale au sens dune fonction cot. Cette approche sera
dveloppe dans le cadre de la navigation pour une application de
robotique mobile.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




59

CHAPITRE IV
COMMANDE PREDICTIVE POUR UN NAVIGATEUR DE ROBOT
MOBILE




Structurellement, la commande prdictive peut nous permettre de
raliser une navigation par modle direct. Mais nous devons y intgrer les
contraintes cinmatiques et denvironnement du robot. Le problme de
navigation se pose alors sous la forme dun problme doptimisation sous
contraintes. Les lments de la commande prdictive, savoir la fonction
cot, les commandes et les contraintes, doivent tre dfinis et spcifis dans
un cadre robotique : lutilisation de diffrentes familles de trajectoires dans
les commandes permet dadapter le comportement du robot aux diffrentes
phases de dplacement ; lintgration dune carte locale de lenvironnement
du robot dans les contraintes permet de gnrer des trajectoires vitant les
obstacles ; et la rsolution de la fonction cot se fait au choix par des
algorithmes dterministes ou stochastiques.

I. Introduction: rle du navigateur et principe gnral

Le module de navigation joue un rle de pivot dans l'architecture, il fait le lien entre la partie
ractive et la partie dlibrative de l'architecture. Il possde deux entres (Figure 46). La premire
entre est un chemin fourni par un module de planification sous la forme d'un parcours continu ou
de points de passages successifs. La seconde entre est une carte de l'environnement local du robot,
qui peut tre prsente sous diffrentes formes (nous considrerons le cas des grilles d'occupation et
des cartes segmentes).

Le travail du navigateur consiste, partir de ces deux entres, dterminer une trajectoire
ralisable par le robot (i.e. qui respecte ses diffrentes contraintes cinmatiques et dynamiques telles
que la non holonomie du robot ou les saturations des actionneurs), qui nintersecte pas les obstacles,
et qui lui permette de suivre au mieux le chemin fourni par le planificateur de chemin.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




60


Figure 46: entres et sorties du navigateur

La mthode de navigation que nous proposons se droule suivant plusieurs tapes (Figure 47).
Tout d'abord, une courbe de rattrapage, permettant au robot de rallier le chemin fourni par le
planificateur, est calcule. En effet, cause des erreurs de localisation, des contraintes locales dues
au robot ou aux obstacles dynamiques, le robot ne se situera jamais rellement l'endroit prvu par
le planificateur. Une fois cette courbe dtermine, elle est paramtre en fonction du temps de
manire obtenir une trajectoire de rfrence pour notre navigateur. En se basant sur la
connaissance du modle cinmatique direct du robot et de ses contraintes, on peut dterminer les
trajectoires ralisables par le robot sur un horizon temporel Tp donn. Ces trajectoires sont projetes
dans la carte locale de l'environnement. Un algorithme d'optimisation sous contraintes se charge
alors de dterminer la trajectoire ralisable par le robot la plus proche de la trajectoire de rfrence,
au sens d'un critre que nous avons dvelopp. Enfin, les commandes correspondant cette
trajectoire sont fournies aux actionneurs du robot, et appliques sur un temps d'chantillonnage
T
e
<T
p
avant de reconsidrer l'ensemble du problme de navigation et ritrer le processus complet.

Nous dveloppons maintenant ces diffrents points successifs.


Figure 47: Fonctionnement gnral du navigateur par commande


II. Modlisation

Nous commenons ici par dvelopper la modlisation du robot mobile dune part, et le
problme de navigation dans sa globalit dautre part. A la fin du second chapitre, nous avons
redfini prcisment le cadre de ce problme, et nous intgrons ici les diffrents lments qui le
composent, de manire obtenir la forme dun problme doptimisation sous un certain nombre de
contraintes.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




61

1. Le robot

Nous commenons par dfinir un horizon de prdiction, not T
p
, qui est la priode sur
laquelle nous dfinissons ltat et la commande du robot. Soit T
e
la priode dchantillonnage
denvoi des commandes au robot. La priode dchantillonnage et lhorizon de prdiction sont lis
par la formule :

e p
T k T . = , avec k IN quation 21

Lhorizon de prdiction, qui est donc un multiple de la frquence dchantillonnage, est le
temps sur lequel nous allons modliser lvolution de notre robot.

Nous considrons un robot mobile voluant sur terrain plat. Nous faisons ainsi lhypothse
que ses mouvements sont contenus dans un plan parallle au sol. Nous nous plaons dans le repre
allocentrique ) , , , 0 ( z y x R = , repre fixe indpendant du robot, dans lequel laxe z est
perpendiculaire au plan dvolution du vhicule robotis. Nous dfinissons ltat du robot sur
lintervalle de temps ] , [
0 0 p
T t t + par le vecteur X:

] , [ ] , [
0 0 0 0 p p
T t t
s
y
x
T t t X +
|
|
|
|
|

\
|
= +
&

quation 22

Dans ce vecteur dtat, x et y dsignent respectivement labscisse et lordonne du point de
contrle C du robot. dsigne lorientation du robot dans le plan ) , , 0 ( y x et s& reprsente sa vitesse
curviligne dans ce mme plan (Figure 48).


Figure 48- Modlisation du robot mobile

Nous dfinissons ensuite le vecteur de commande u, galement sur lintervalle
temporel ] , [
0 0 p
T t t + . Cest un vecteur de m lignes qui contient les m commandes articulaires qui
sont appliques au robot:

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




62

] , [
...
] , [
0 0
2
1
0 0 p
m
p
T t t
q
q
q
T t t u +
|
|
|
|
|

\
|
= +
&
&
&
quation 23

En robotique mobile, le modle cinmatique du robot permet de dterminer les vitesses
cartsiennes x& , y& et
&
en fonction de ses m commandes articulaires
1
q&
m
q& . La matrice permettant
de faire ce calcul est la matrice jacobienne, note le plus souvent J. Le modle cinmatique nous
permet donc de dterminer les dplacements du robot en fonction de la commande applique au
vhicule:

(
(
(

=
|
|
|

\
|
m
q
q
J y
x
... .
1

&
&
&
quation 24

Nous pouvons grce ce modle dterminer lensemble de ltat X du robot partir des
commandes appliques et de ltat initial du robot. En effet lensemble du vecteur dtat X peut tre
aisment dtermin partir des vitesses cartsiennes si lon connat ltat initial du robot :

+ =
+ =
+ =
+ =

+
+
+
) ( ) (
. ) (
. ) (
. ) (
2 2
0
0
0
0
0
0
0
0
0
y x t s
dt t
dt y y t y
dt x x t x
p
p
p
T t
t
T t
t
T t
t
& & &
&
&
&

quation 25

Nous dterminons ainsi un modle global de lvolution de ltat de notre robot en fonction
du temps, des commandes appliques sur ce temps et de ltat initial du robot. Ce modle constitue
llment cl de notre navigateur bas sur la commande prdictive, puisque cest lui qui nous
permet danticiper les mouvements du robot et ainsi prvoir la commande qui sera la plus adapte
notre systme.

La formalisation de ltat notre robot mobile dans son espace dvolution et dans le temps
nous conduit modliser le problme de navigation du robot dans son environnement que nous
considrons comme partiellement connu, c'est--dire que le robot est capable de modliser en temps
rel son environnement proche et dy localiser des obstacles ventuels.


2. Le problme de navigation

Dans le chapitre II, nous avons vu que le problme de navigation en robotique mobile revenait
dterminer une trajectoire ralisable par le robot, qui ne le fasse pas entrer en collision avec les
obstacles, et qui lui permette de suivre au mieux un chemin fourni par un planificateur. Cela
implique de faire un choix dans les trajectoires que le robot est capable deffectuer, et donc de
dterminer un critre pour faire ce choix.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




63

Une trajectoire est ralisable par le robot si elle respecte ses capacits de mouvement. Les
contraintes de non holonomie sont contenues dans le modle cinmatique du vhicule. Ce modle
tant utilis pour prvoir les trajectoires que le robot peut effectuer sur un horizon temporel donn,
il en rsulte que les contraintes de non holonomie sont implicites dans la formulation du problme.
Par contre, les contraintes cinmatiques telles que les saturations des actionneurs ou les butes
articulaires, doivent tre clairement formules pour que la trajectoire soit bien ralisable par le
robot. Ce type de contrainte jouera sur les fonctions dentre de notre robot, sur sa commande u.
Lensemble des trajectoires qui vrifient ces contraintes est appel ensemble des trajectoires
admissibles.

Il faut galement sassurer que la trajectoire du robot ne heurte pas les obstacles. Cette
condition peut se mettre sous la forme dune contrainte lie lenvironnement, qui joue sur ltat du
robot X. La trajectoire du robot tant calcule par rapport son point de contrle, il est ncessaire
de tenir compte de la taille du robot dans la formulation de ce type de contrainte, c'est--dire en
premire approche la plus grande distance entre le point de contrle et la priphrie du vhicule,
quand on se projette dans le plan de mouvement. Gnralement cette contrainte revient vrifier
que la distance entre le point de contrle du vhicule et les obstacles reste suprieure une distance
gale la taille du robot plus une marge de scurit. Cette marge de scurit tient compte des
incertitudes sur la localisation des obstacles et du robot.

Enfin, pour pouvoir choisir la meilleure trajectoire pour suivre le chemin fourni par un
planificateur, il faut tablir un critre de choix. Le planificateur sera plus ou moins volu suivant le
robot tudi, mais dans tous les cas il fournira au minimum plusieurs points de passage conscutifs
que le robot devra traverser pour atteindre son but final. A partir des informations fournies par le
planificateur, une courbe de rattrapage, permettant de relier la position actuelle du robot et la
position dsire, peut tre dtermine. Cette courbe est une courbe purement gomtrique, qui nest
pas relie au temps (pas de vitesses le long du parcours), mais qui peut tenir compte de certaines
contraintes gomtriques lies au robot (taille, rayon de braquage). Lide de base pour relier ces
points de passage tait dutiliser des lignes droites et des arcs de cercle, mais cela introduit des
discontinuits. Typiquement des courbes polynomiales sont utilises pour obtenir une continuit,
comme les courbes de Bzier ou les beta-splines.

A partir de la courbe de rattrapage, nous pouvons dterminer une trajectoire de rfrence pour
le robot, en associant une vitesse de rfrence la courbe de rattrapage (Figure 49). En multipliant
cette vitesse de rfrence par lhorizon de prdiction du systme, nous obtenons une distance de
rfrence qui reprsente la distance que le robot peut raisonnablement parcourir le long de la courbe
de rattrapage. Le choix de la valeur de la vitesse de rfrence doit tre fonction du type de
lencombrement du terrain dans lequel volue le robot. Si le planificateur fournit une vitesse
indicative au point de passage, cette vitesse peut tre utilise comme vitesse de rfrence. En terrain
dgag, la vitesse maximale du robot peut tre employe. Dans tous les cas, cette vitesse doit
correspondre une vitesse de dplacement raliste pour le robot.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




64


Figure 49- Courbe de rattrapage et trajectoire de rfrence

Lcart entre la trajectoire prvue du robot suivant la commande applique, et la courbe de
rattrapage, est quantifi par lintermdiaire dune fonction de cot, Z. Ainsi, tout le problme de
navigation peut scrire sous la forme dun problme doptimisation sous contraintes :

+
+
] , [
] , [ 0 ) , , , ( ) , , , ( min
0 0
0 0 0 0 0 0
p
p P p
T t t u
T t t t u T t X C contr sous u T t X Z
quation 26


les contraintes correspondent dune part aux obstacles dans lenvironnement du robot, et
dautre part aux conditions dadmissibilit des commandes pour le robot.

La premire partie de la fonction u solution de ce problme doptimisation, sur la priode
dchantillonnage ] , [
0 0 e
T t t + , est applique au robot. Et le problme complet doptimisation est de
nouveau rsolu pour la priode suivante ] , [
0 0 p e e
T T t T t + + + , avec intgration des nouvelles
informations sur la positon des obstacles et ltat rel du robot.

Lun des problmes de base est celui du temps rel, qui impose un temps dexcution des
calculs suffisamment court pour que le systme puisse ragir temps. Cela nest pas un problme
intrinsque la robotique, la commande prdictive a t tendue des systmes de plus en plus
rapides avec lamlioration des outils informatiques, mais il est particulirement important dans les
applications de robotique mobile.

Plus lhorizon de prdiction T
p
est important, plus le modle du robot est capable de prvoir
les effets long terme dune commande donne, et ainsi tendre plus rapidement vers le
comportement souhait. Cependant le nombre de calculs augmente linairement avec
laugmentation de T
p
.

Maintenant que nous avons vu comment transformer notre problme de navigation sous forme
de problme doptimisation, nous allons tudier plus en dtail les diffrents lments qui composent
ce problme, savoir la fonction de cot J, les fonctions de commande u, et les contraintes C, et
ainsi aboutir une formalisation du systme complet.




t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




65

III. La fonction de cot

1. Formulation gnrale

La fonction de cot est llment central du problme doptimisation. Cest elle qui va faire le
lien entre le problme de navigation (le problme rel, physique), et le problme mathmatique
doptimisation qui va lui tre associ. Cette fonction a pour but de quantifier lintrt dun
mouvement donn du robot, dans le cadre du problme de navigation que nous venons de dcrire.
Pour cela, la fonction cot associe chaque fonction de commande u sur [t
0
,t
0
+T
p
] une valeur Z(X
0
,
t
0
, T
p
, u). Elle scrit gnralement sous la forme :

+
+ + =
p
T t
t
p p
d u X l T t x u T t X Z
0
0
) ), ( ), ( ( )) ( ( ) , , , (
0 0 0
quation 27

Elle se compose dune fonction quantifiant le cot de parcours l et dune fonction quantifiant
le cot terminal . Le cot de parcours value lcart entre chaque point de la trajectoire prvue du
robot, et le point de la trajectoire de rfrence qui lui correspond. Le cot terminal quantifie lcart
entre la ltat prvu du robot en t
0
+T
p
et le point final de la trajectoire de rfrence, et a un poids qui
lui est propre. Gnralement des fonctions de type erreur quadratique sont privilgies, pour leurs
proprits de convexit qui sont utiles aux algorithmes doptimisation comme nous le verrons par la
suite.

Plus le comportement du systme se rapproche du comportement dsir (trajectoire de
rfrence), plus la fonction Z doit tre faible. Ainsi le comportement optimal se situe l o la
fonction Z est minimale (minimum global). Cependant, si la fonction Z nest pas convexe, on peut
trouver des minima locaux. Il est donc prfrable davoir une fonction cot qui soit convexe, mais
cela nest pas toujours (rarement) possible en ralit.

Lobtention des informations ncessaires au calcul de la trajectoire de rfrence dcoule du
fonctionnement de larchitecture de commande du robot tudi. En effet le navigateur du robot peut
aussi bien se voir fournir un chemin dtaill du parcours quil doit effectuer, avec des vitesses et des
orientations de rfrence, quun simple point atteindre et loign de sa position actuelle. A partir
des informations disponibles, une courbe de rattrapage est calcule de manire satisfaire ces
informations.

2. Trajectoire de rfrence

Comme nous venons de le voir, pour dterminer une fonction cot, il est ncessaire de
dterminer au pralable une trajectoire de rfrence. Ce dont on dispose dans notre problme de
navigation, cest dun chemin fourni par un planificateur. Supposons ici que ce chemin est constitu
dun certain nombre de points de passages successifs atteindre. Entre la position courante du robot
et le prochain point de passage atteindre, nous pouvons dterminer ce que lon appelle une courbe
de rattrapage. Une mthode pour tracer une telle courbe est dutiliser les quations de Bzier,
dfinie par 4 points de contrles P1 P4 [42]:

+ + + =
+ + + =
4
3
3
2
2
2
1
3
4
3
3
2
2
2
1
3
) 1 ( 3 ) 1 ( 3 ) 1 ( ) (
) 1 ( 3 ) 1 ( 3 ) 1 ( ) (
y l y l l y l l y l l y
x l x l l x l l x l l x
r
r
avec 1 0 < < l

quation 28


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




66

Cette courbe passe par les points P1(x1, y1) et P4(x4, y4), et les vecteurs 2 1P P et 4 3P P sont
tangents la courbe en P1 et P4 respectivement (Figure 50).


Figure 50- Courbe de Bezier


Nous supposons que le planificateur nous donne un point de passage atteindre avec en plus
une orientation et une vitesse. Nous appelons cet tat atteindre X
d
. Comme nous voulons que la
courbe de rattrapage fasse le lien entre ltat courant X
0
du robot et ltait dsir X
d
et respecte les
vitesses et orientations en ces points, nous posons :

=
=
0 1
0 1
: 1
y y
x x
P ,

+ =
+ =
) sin( . .
3
1
) cos( . .
3
1
: 2
0 0 1 2
0 0 1 2

s y y
s x x
P
&
&
,

=
=
) sin( . .
3
1
) cos( . .
3
1
: 3
4 3
4 3
d d
d d
s y y
s x x
P

&
&
et

=
=
d
d
y y
x x
P
4
4
: 4

quation 29


Cette courbe est purement gomtrique, et ne contient aucune information concernant la
cinmatique du vhicule. Cette courbe de rattrapage ne peut donc pas jouer directement le rle de
trajectoire de rfrence puisquelle nest pas lie au temps. Cependant, si nous supposons une
distance de dplacement que le robot est capable de parcourir le long de cette courbe pendant
lhorizon temporel T
p
, nous pouvons alors calculer une trajectoire de rfrence le long de cette
courbe de rattrapage, en effectuant une paramtrization dans le temps. Nous notons D la longueur
de la courbe de Bezier. Si on considre que le robot est capable de parcourir
p
T v max pendant le
temps T
p
, alors deux cas de figure se prsentent :

1
er
cas : D T v
p

max
; physiquement cela signifie que le robot nest pas capable de
parcourir la totalit de la longueur de la courbe de rattrapage pendant T
p
. Dans ce cas, la trajectoire
de rfrence ne sera calque que sur une partie rduite de la courbe de rattrapage (Figure 51).
Lquation de notre trajectoire de rfrence, qui dpend du temps t, sera :

+ + + =
+ + + =
4
3
3
2
2
2
1
3
4
3
3
2
2
2
1
3
' ) ' 1 ( ' 3 ) ' 1 ( ' 3 ) ' 1 ( ) ' (
' ) ' 1 ( ' 3 ) ' 1 ( ' 3 ) ' 1 ( ) ' (
y t y t t y t t y t t y
x t x t t x t t x t t x
r
r
avec t
D
v
t . '
max
= et
p
T t < < 0
quation 30

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




67


Lquation complte de la trajectoire de rfrence sera alors :

|
|
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
max
2
) , ( arctan
) . (
) . (
) (
) (
) (
) (
) (
v
y x
t
D
s
y
t
D
s
x
t s
t
t y
t x
t X
r r
d
r
d
r
ref
ref
ref
ref
ref
& &
&
&

avec ] , 0 [
p
T t et 1 . t
D
s
d
&


quation 31






Figure 51- 1
er
cas : courbe de rattrapage trop longue

2
e
cas : D T v
p
>
max
; ce cas correspond la situation o le robot est assez proche du
prochain point atteindre pour tre capable dy parvenir sous lhorizon temporel T
p
. Dans ce cas
lquation de courbe paramtre Y restera valable pour
max
0
v
D
t < < , et pour
max
v
D
t de nouveau 2
cas sont possibles. Soit le point X
d
est le point final du parcours du robot, le planificateur ne nous a
pas fourni dautres points atteindre par la suite. Dans ce cas, le robot doit sarrter une fois ce
point atteint, et donc lquation de la trajectoire de rfrence sera :

|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
0 ) (
) (
) (
) (
) (
d
d
d
ref
ref
ref
ref
ref
y
x
t s
t
t y
t x
t X

avec ] , [
max
p
T
v
D
t quation 32

Lautre possibilit est que le point X
d
nest quun point intermdiaire avant un prochain point
X
d
fourni par le planificateur (Figure 52). Dans ce cas, il faut prolonger la courbe de rattrapage
entre X
d
et X
d
, cette fois ci en posant :
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




68

=
=
d
d
y y
x x
P
' 1
' 1
: ' 1 ,

+ =
+ =
) sin( . .
3
1
) cos( . .
3
1
: ' 2
' 1 ' 2
' 1 ' 2
d d
d d
s y y
s x x
P

&
&
,

=
=
) sin( . .
3
1
) cos( . .
3
1
: ' 3
' ' ' 4 ' 3
' ' ' 4 ' 3
d d
d d
s y y
s x x
P

&
&
et

=
=
' ' 4
' ' 4
: ' 4
d
d
y y
x x
P
quation 33


La continuit entre les deux morceaux de trajectoire de rfrence, entre X
0
et X
d
dune part, et
entre X
d
et X
d
dautre part, est vrifie grce aux conditions aux limites imposes en X
d
sur
chacune des deux courbes. Lquation de la trajectoire pour
max
v
D
t devient alors :

|
|
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
max
' ' 2
'
'
) , ( arctan
) . (
) . (
) (
) (
) (
) (
) (
v
y x
t
D
s
y
t
D
s
x
t s
t
t y
t x
t X
r r
d
r
d
r
ref
ref
ref
ref
ref
& &
&
&

avec ] , [
max
p
T
v
D
t quation 34

Figure 52- Second cas : courbe de rattrapage trop courte

A partir des informations sur ltat courant du robot et ltat dsir, nous avons dtermin une
courbe de rattrapage qui est une courbe purement gomtrique et indpendante du temps. En
prenant en compte la vitesse maximale du robot, et donc la distance maximale quil est capable de
parcourir pendant lhorizon de temps T
p
, nous avons paramtr cette courbe dans le temps,
permettant ainsi dobtenir une trajectoire de rfrence.

Il est noter qu aucun moment la notion dobstacle nintervient ici. Cette trajectoire de
rfrence est donc la fois dcorrle des contraintes locales de lenvironnement du robot, mais
aussi des contraintes de mouvement du robot. Toutes ces contraintes seront traites spcifiquement
par la suite. Cette non prise en compte des contraintes dans la dtermination de la trajectoire de
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




69

rfrence est un point intrinsque la commande prdictive, et qui peut tre discutable. Nous y
reviendrons la fin de cette partie..


3. Discussion

Pour passer dune courbe de rattrapage atemporelle, une trajectoire de rfrence (qui dpend
donc du temps), nous avons effectu une paramtrisation en prenant la distance que le robot est
capable de parcourir pendant T
p
comme rfrence. Cette distance a t calcule par rapport la
vitesse maximale autorise du robot. Si ce choix savre comprhensible dans le cadre dune
navigation dans un environnement bien connu et relativement dgag, ou avec quelques obstacles
contourner, il peut tre inadapt si on considre un environnement trs charg ou trs peu connu
(phases dexploration initiales). Ladaptation de cette vitesse de rfrence au type de mission et/ou
type de terrain pourrait savrer un choix judicieux de manire obtenir des trajectoires de
rfrence plus adaptes.

Ladaptation de cette vitesse de rfrence pourrait aussi tre effectue grce des
informations fournies par le planificateur de mission. Lorsquun conducteur dautomobile planifie
son chemin pour se rendre entre deux villes, il est capable dvaluer le temps quil mettra pour
effectuer son parcours, suivant le type de route emprunte (autoroute, nationale) et donc la vitesse
moyenne sur le parcours. Par analogie, on pourrait trs bien envisager que le planificateur de
mission, en plus de fournir des points de passages au navigateur, lui fournisse galement une vitesse
indicative, dpendant de lencombrement du parcours, de ltat du terrain etc et que le robot
respectera ou pas suivant les contraintes locales quil rencontre.


IV. Commande et familles de trajectoires

Comme nous venons de le voir, le problme de navigation du robot mobile peut se mettre
sous la forme dun problme doptimisation sous contraintes dans lequel nous cherchons
minimiser une fonction cot Z. La variable sur laquelle on joue pour minimiser ce critre est la
commande en boucle ouverte applique au systme u sur [t
0
,t
0
+T
p
]. On suppose que le systme
robotique tudi possde m entres correspondant aux m degrs de mobilit du vhicule. La
commande u est totalement dfinie sur [ ]
p
m
T t t +
0 0
; * par :

{ }
[ ]
p
T t t t
t u u
+
=
0 0
;
) (
quation 35

Et la j
eme
composante de u vaut :

{ }
[ ]
p
T t t t
j j
t u u
+
=
0 0
;
) ( avec { } m j ,..., 1
quation 36

Pour respecter les contraintes sur les entres, cette fonction u doit appartenir lensemble

[t0, t0+]
des commandes admissibles pour le robot. Comme nous lavons vu au chapitre III, cela
signifie que cette fonction doit respecter un certain nombre de contraintes sur la cinmatique et la
dynamique des actionneurs, notamment les butes et saturations. Cette commande peut galement
respecter les contraintes dynamiques du robot comme par exemple ne pas le renverser.

Lespace des solutions u admissibles est de dimension infinie, ce qui rend la recherche de
solution optimale trs complexe. Pour pouvoir rsoudre ce problme, une contrainte de conception
est ajoute au problme : cette contrainte est que la fonction u solution doit tre issue dun e
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




70

fonction paramtre, avec un nombre fini de paramtres. Trouver la fonction de commande u(t)
optimale reviendra alors dterminer le jeu de paramtres optimaux.

1. Lapproche classique : fonctions constantes par morceaux

Habituellement, les fonctions de commande u utilises en automatique sont des fonctions
constantes par morceaux. Ces fonctions dfinies sur lintervalle [t
0
, t
0
+T
p
] sont constitues de N
p

morceaux constants de largeur T
e
tels que :

e p
p
e
f N
T
T
1
= = quation 37

Sur ces N
p
intervalles de prdiction, seuls les N
c
premiers intervalles sont commands, et les
N
p
- N
c
intervalles restants sont fixes et prennent la mme valeur que sur le dernier intervalle
command (Figure 53).

Figure 53- Discrtisation classique de lespace des temps

Par analogie, on appelle T
c
lhorizon de commande. Dans ce cas, le nombre de paramtres n
p

trouver dans notre problme doptimisation est donc :

n
p
= N
c
.m quation 38

Avec m le nombre de commandes du systme considr. Le problme doptimisation revient
trouver les n
p
paramtres permettant de minimiser la fonction cot dfinie prcdemment. Dans la
pratique, lhorizon de commande N
c
est gnralement limit 1 ou quelques intervalles, de manire
limiter le nombre de calcul pour loptimisation ; ce nombre de calcul augmentant de manire
exponentielle avec N
c
. Cela nempche pas dobtenir de trs bons rsultats pour les problmes de
suivi de trajectoire classiques. Mais pour une application en navigation de robot mobile, avec les
fortes contraintes dues aux obstacles et la non holonomie du robot qui lui empchent de suivre
facilement une trajectoire de rfrence, se pose la ncessit de travailler sur des commandes
permettant des trajectoires plus complexes pour contourner des obstacles ou effectuer des
manuvres.

2. Notre approche : familles de trajectoires

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




71

A chaque type de vhicule correspond une manire de le piloter. Par exemple, le pilotage
dune voiture diffre de celui dune moto. Cela se traduit en termes robotiques par des profils de
commande spcifiques. Dans notre approche navigation pour la robotique mobile, plutt que
dutiliser des commandes constantes par morceaux, et de se limiter au final une dtermination des
quelques premiers morceaux, nous proposons de dfinir des familles de trajectoires paramtres.
Quelques exemples de fonction sont reprsents sur la Figure 54. Ces familles de trajectoire vont
correspondre des familles de fonctions de commande u gnrant des mouvements du robot tels
que des manuvres de contournement dobstacle ou des crneaux.

Le nombre de paramtres qui dfinissent une famille de trajectoire influe sur la richesse des
mouvements que le robot sera capable danticiper. Par exemple, pour pouvoir effectuer des
manuvres de contournement dobstacle (braquage dans un sens puis dans lautre), avec un robot
mobile de type voiture, au moins deux paramtres p
1
et p
2
sont ncessaires. Ne pas inclure au moins
deux paramtres dans la composante du braquage de la fonction de commande u ne signifie pas que
le robot ne sera pas capable deffectuer un contournement dobstacle au final (vu que la commande
est recalcule la priode dchantillonnage T
e
) ; mais cela signifie que le robot ne pourra pas
anticiper quil est capable de contourner lobstacle. Et donc linstant t
0
o il tente de rsoudre son
problme de contournement dobstacle, il se prive dun certain nombre de solutions intressantes.


Figure 54- Exemples de familles de fonction u sur le braquage permettant deffectuer un contournement dobstacle

Par lintermdiaire du modle cinmatique direct du robot, chaque famille de fonction de
commande u va gnrer une famille de trajectoire spcifique. Par abus de langage, ce sont ces
couples fonctions de commande / trajectoires que lon appelle familles de trajectoires. Le choix
dune famille de trajectoire plutt quune autre dpend dun certain nombre de facteurs :
- la mobilit du robot : la cinmatique du robot et notamment son nombre de degrs de
mobilit par rapport au nombre de degrs de libert est un facteur trs important dans la
dtermination du nombre de paramtres caractrisant la famille de trajectoires. Dans le cas de
vhicules voluant sur terrain plat, nous nous retrouvons trs souvent dans le cas de non holonomie
classique avec 3 degrs de libert pour 2 degrs de mobilit ce qui a pour consquence dempcher
le robot datteindre en 1 coup une position orientation donne. Dans ce cas on prconisera
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




72

dutiliser des familles de trajectoires avec au moins deux paramtres pour chaque composante de la
commande. La Figure 55 montre lexemple de la voiture qui doit se garer sur une place de parking
permet dillustrer cette constatation.


Figure 55- Nombre de paramtres ncessaires pour permettre une voiture deffectuer un mouvement pour se garer


- la dynamique du robot : la fonction de commande doit tenir compte de linertie du vhicule.
Les trajectoires gnres doivent tre ralisables par le robot, il est donc prfrable dutiliser au
maximum des fonctions continues. Les limites sur les butes articulaires, vitesses et acclrations
maximales seront explicitement intgres dans les contraintes du problme doptimisation, comme
nous le verrons par la suite.

Les n
p
paramtres dfinissant notre famille de trajectoires seront les n
p
variables optimiser
pour minimiser notre fonction cot. Plus ce nombre de paramtres sera important, plus les
mouvements que le robot sera capable de prvoir pour poursuivre sa trajectoire de rfrence et
atteindre son objectif seront riches. En contrepartie, plus ce nombre de paramtres sera important et
plus le nombre de calculs pour loptimisation du problme le seront galement.

En projetant une famille de commandes paramtres travers le modle cinmatique du
robot, nous obtenons une infinit de trajectoires possibles, qui va correspondre une famille de
trajectoires (Figure 56). Ainsi nous sortons du formalisme discret inhrent aux mthodes de
projection de trajectoires habituelles.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




73


Figure 56 - Gnration d'une famille de trajectoires en effectuant une variation continue des paramtres de la famille
de commandes


V. Les contraintes

1. Notation gnrale

Dans la thorie de la commande prdictive, il existe deux types de contraintes bien distinctes
mais qui se traitent de la mme manire : les contraintes lies au problme et celles dites de
conception.

Les contraintes lies au problme font partie de la dfinition mme du problme et sont
incontournables. Pour la commande dun moteur, elles correspondent par exemple aux contraintes
de saturation des actionneurs. Elles font physiquement partie du problme rsoudre et doivent
imprativement tre prises en compte explicitement dans la modlisation.

Les contraintes de conception nexistent pas physiquement ; mais elles peuvent tre ajoutes
au problme doptimisation pour lui donner certaines proprits comme la stabilit ou la robustesse.

Toutes ces contraintes sont notes de la mme manire :

0 ) , , , (
0 0
u t t X C
i

i
T t { }
c
n i ,..., 1 quation 39

O n
c
est le nombre de contraintes et ] , [
0 0 p i
T t t T + est lensemble des instants o
lingalit 0 (.)
i
C doit tre vrifie.

Pour tenir compte de ces contraintes dans le problme doptimisation, on les ajoute la
fonction cot ce qui donne la fonction de cot total Z
tot
:
- soit en dfinissant des fonctions B(C
i
) telles que B croisse quand C
i
saccrot et est ngatif,
et telles que B tende vers linfini quand C
i
tend vers 0 (mthode des pnalits internes) ; cela permet
de conserver la continuit de la nouvelle fonction Z
tot
ainsi obtenue en fonction de ltat X.

=
+ =
c
n
i
i p p tot
C B u T t X Z C u T t X Z
1
0 0 0 0
) ( ) , , , ( ) , , , , ( quation 40

- soit en les incorporant la fonction cot de manire discontinue (pnalit infinie quand on
sort du domaine dfini par les contraintes) ; on perd la continuit de la fonction cot ce qui pose des
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




74

problmes pour dmontrer la convergence et la stabilit de la commande, en contrepartie cela
permet dinclure facilement diffrents types de contraintes dans le problme.


2. Spcification robotique mobile

Les contraintes que nous retrouvons habituellement dans les problmes de robotique mobile
sont :
- des contraintes lies la commande u : saturation des actionneurs, comme la vitesse
maximale de rotation de roues motrices, lacclration et la dclration maximales, langle de
braquage limite de direction qui, lui, est plutt li la structure mcanique du robot ;
- des contraintes lies ltat X du robot : obstacles dans le plan de navigation du robot,
vitesses maximales recommandes dans une zone donne, angle dapproche du vhicule.

Nous pouvons noter que les contraintes de non holonomie sont implicites dans la
modlisation du robot car elles sont contenues dans le modle cinmatique et nont donc pas tre
inclues dans la modlisation des contraintes du problme.

Les contraintes de saturation des actionneurs peuvent tre inclues par lintermdiaire de
fonctions B
i
hyperboliques. Si on considre une contrainte de saturation sur la commande u
1
:

max 1
max 1
max 1
1
0 :
:
u u
B
u u C
u u C
i
i
i

=
<
<

quation 41

Cest la mthode dite des pnalits internes : B
i
saccroit au fur et mesure quu1 se
rapproche du
max
, et tend vers linfini lorsquu1 tend vers u
max
(Figure 57).


Figure 57 - Fonction de pnalisation des contraintes

Note : Il faudra cependant sassurer, linitialisation de la rsolution du problme, que ces
contraintes sont bien respectes. En effet, il peut arriver par exemple que la limitation en
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




75

dclration du robot lui empche de sarrter litration de calcul suivante, entrainant une
pnalit infinie linitialisation du problme. Ce genre de phnomne peut entrainer des problmes
de rsolution sur certains algorithmes ; il est donc ncessaire de sassurer de la faisabilit des
commandes linitialisation de la rsolution du problme.

Les obstacles eux, sont des contraintes dfinies dans un espace de dimension 2 ou plus
(abscisse et ordonne ou autre suivant la reprsentation choisie). De plus, suivant le systme
robotique tudi, le type de capteur extroceptif utilis, et lanalyse qui est faite des informations
obtenues par ces capteurs, les obstacles peuvent tre reprsents de moult faons diffrentes
(cartographie cartsienne, polaire, pas de cartographie proprement dite etc).

Pour viter quun robot nentre en collision avec un obstacle, il est ncessaire de tenir compte
de sa dimension. Plutt que de vrifier que chaque point appartenant au robot nentre pas en
collision, on calcule une distance de scurit qui tient compte de lenvergure du robot. Le test de
collision consiste vrifier que la distance entre lobstacle et le point de contrle du robot est bien
suprieure cette distance de scurit. Cette distance de scurit d
s
est gnralement prise gale la
distance maximale entre la priphrie et le point de contrle du robot, laquelle on rajoute une
certaine marge de scurit supplmentaire (pour compenser dventuelles erreurs de prcision sur la
localisation).

Nous prsentons ici deux mthodes pour exprimer les contraintes lies aux obstacles ; une
plutt destine aux cartographies de type segmentation des obstacles, et une pour les cartes de type
grille doccupation.


3. Cartes de type obstacles-segments

Une mthode pour introduire les obstacles consiste calculer la distance euclidienne entre
chaque obstacle et les points de la trajectoire du robot, nomme d. Ainsi, de la mme manire que
pour les contraintes de saturation, la mthode des pnalits internes peut tre utilise en posant :

s
d d > quation 42

Dans certaines mthodes de cartographie, une segmentation des obstacles est effectue. A
partir des mesures issues des capteurs extroceptifs, des segments reprsentatifs des obstacles sont
extraits. Laccumulation de relevs, au cours des dplacements du robot, permet dune part
damliorer la robustesse des mesures et dautre part de recaler la position du robot dans
lenvironnement. Ce type de mthode est courant, la Figure 58 est une carte obtenue par la mthode
de segmentation de Canou implante sur un robot mobile roues diffrentielles de type unicycle
[13].

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




76


Figure 58- Carte segmente obtenue partir de tlmtres laser [13]

La carte des obstacles est dans ce cas caractrise par un certain nombre de segments
obstacles. La distance entre la trajectoire du robot et ces obstacles peut alors tre dtermine en
effectuant une projection orthogonale des points de la trajectoire du robot sur lobstacle. Si le
projet orthogonal H est contenu dans le segment, alors la distance d entre le point P de la
trajectoire et un segment obstacle AB est directement PH et vaut :

2 2
) ( ) (
) )( ( ) )( (
yB yA xB xA
y y x x y y x x
PH d
A B A P A P A B
+

= = quation 43

Ce calcul revient simplement diviser laire du triangle PAB par la base AB. Par contre si le
projet orthogonal H nest pas compris dans le segment obstacle, alors la distance d est le minimum
des deux distances entre le point de la trajectoire P et chacune des deux extrmits de lobstacle
(Figure 59). Un des soucis avec cette mthode est quelle est trs gourmande en temps de calcul,
puisque ce calcul devra tre r-effectu sur chacun des points de la trajectoire et par rapport
chaque obstacle.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




77


Figure 59- Distance entre un point de la trajectoire et lobstacle


La fonction de cot Z
tot
est alors pnalise suivant une loi hyperbolique de la forme :

s
i
d d
B

=
1

quation 44

Et la fonction de cout total devient:


+ + =
o r
n
i o o
n
i r r p cr p tot
C B C B u T t X Z C u T t X Z ) ( ) ( ) , , , ( ) , , , , (
, , 0 0 0 0

quation 45

4. Cartes de type grille doccupation

Une autre manire dintroduire les obstacles sous forme de contraintes que nous proposons est
plus adapte de reprsentations de type grille doccupation (Figure 60). Il sagit de traiter les
contraintes sur les obstacles de manire discrte, en rajoutant une pnalit infinie la fonction
cot dans le cas o les contraintes sur les obstacles ne sont pas respectes. On perd la continuit de
la fonction cot ce qui pose des problmes pour dmontrer certaines proprits comme la
convergence de notre systme, mais en contrepartie nous amliorons la flexibilit dadaptation
diffrents types de cartographie des obstacles.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




78


Figure 60- Grille doccupation contenant 3 robots [66]

Le principe des grilles doccupation est de discrtiser la carte locale sous la forme dune grille, et
dattribuer chaque case une valeur 1 si celle-ci est connue comme tant occupe par un obstacle,
ou 0 dans le cas contraire. De manire pouvoir assimiler la trajectoire du robot la trajectoire d'un
seul point (son point de contrle), les obstacles sont largis d'une distance gale la demi-envergure
du robot.

La famille de trajectoires gnres est projete dans cette grille. Une pnalit seuil Zseuil est
ajout dans le cas o les trajectoires du robot passent par des cases occupes. La valeur de est
calcule suivant les paramtres du navigateur (taille de la grille, nombre de points considrs sur
une trajectoire, paramtres de la fonction cot), de manire liminer les trajectoires
correspondantes (les trajectoires non libres se voient associer un cot suprieur n'importe quelle
trajectoire libre).

+ + =

seuil
n
i r r p cr p tot
Z
C B u T t X Z C u T t X Z
r
0
) ( ) , , , ( ) , , , , (
, 0 0 0 0

quation 46







VI. Lalgorithme doptimisation

A lclairage des sections prcdentes, le problme de la commande prdictive revient
chercher les n
p
paramtres de la fonction de commande u permettant de minimiser la fonction Z
tot
dfinie sur [t
0
, t
0
+T
p
]. Il existe un trs grand nombre dalgorithmes dvelopps pour rsoudre les
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




79

problmes doptimisation. Mais il nexiste pas dalgorithme permettant de rechercher coup sr le
minimum global (en sassurant quil ne sagit pas dun minimum local) dune fonction non
convexe.

Pour lapplication la commande prdictive, ces algorithmes doivent tre capables de
fonctionner en temps rel (temps de calcul par rapport la priode dchantillonnage T
e
) et doivent
donner la garantie que la solution donne nimporte quelle itration sera contenue dans le domaine
des commandes admissibles pour le systme (c'est--dire hors contrainte). Concrtement cela
signifie que lalgorithme doit tre capable de fournir une solution admissible nimporte quel
moment o on linterrompt (contrainte inhrente au temps rel). Par contre, seule une solution
approche est demande.

Les algorithmes doptimisation sous contraintes peuvent tre classs en deux catgories. Les
algorithmes dterministes prsentent gnralement les meilleures proprits de convergence, et
permettent dobtenir des solutions trs prcises trs rapidement. Pour ces raisons, ils seront trs
efficaces pour trouver une trajectoire permettant de suivre au mieux la trajectoire de rfrence ou
amener le robot sur une position prcise. Par contre, ils sont trs sensibles aux problmes des
minima locaux. Or lintroduction de contraintes discrtes dues aux obstacles a justement pour effet
de casser la convexit de la fonction cot et introduire des minima locaux,.

La seconde catgorie dalgorithme est celle des algorithmes stochastiques. Ces algorithmes
sont bass sur des approches probabilistes. Ils prsentent linconvnient dtre moins prcis et
moins rapides converger que les algorithmes dterministes (leur convergence nest dailleurs pas
toujours prouve). Par contre, ils possdent lavantage dtre beaucoup moins sensibles aux
problmes de minima locaux, ce qui leur permet, dans le cadre de problmes de navigation, de
trouver des trajectoires de contournement dobstacle quun algorithme de type dterministe ne
saurait pas trouver.

Le choix du type dalgorithme est donc dpendant du type de terrain dvolution (dgag ou
obstru), et de la confiance que l'on a dans le planificateur concernant sa prise en compte des
obstacles dans la gnration de chemin. Le choix du type d'algorithme d'optimisation a fait l'objet
d'une tude que nous prsentons en annexe IV. Des rsultats comparatifs entre un algorithme
dterministe (Levenberg-Marquardt) et un algorithme stochastique (Recuit Simul) sont galement
donns dans le chapitre V. Pour l'application du navigateur en milieu encombr, et suite ces
tudes, nous avons utilis l'algorithme recuit simul de manire tester la robustesse du navigateur
une planification insuffisante.





VII. Conclusion

Au cours de ce chapitre, nous avons dvelopp un navigateur pour robot mobile, en reprenant
le principe de la commande prdictive et en ladaptant notre problmatique de navigation. En
rsum, les diffrentes tapes ritres chaque cycle de notre mthode sont :
- 1- dtermination dune trajectoire de rfrence X
ref
(t), calcule partir des informations
fournies par le planificateur de mission, ltat courant X
0
du robot et ses contraintes
cinmatiques (vitesse maximale ou conseille)
- 2- gnration dune trajectoire admissible par le robot, partir dune famille de fonctions
dentre spcifique au type de robot et caractrise par un jeu de n
p
paramtres
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




80

- 3 - calcul dune fonction de cot Z associe cette trajectoire, caractrisant lcart entre
celle-ci et la trajectoire de rfrence, et intgrant des pnalits en fonction du respect des
contraintes
- 4- optimisation de cette fonction Z en jouant sur les n
p
paramtres, et retour ltape 2,
moins quune prcision suffisante ait t atteinte

La routine des tapes 2-3-4 pouvant tre interrompue tout moment ds lors que le temps
allou au calcul de la trajectoire optimale est coul. La fonction de commande u associe,
caractrise par les n
p
paramtres qui viennent dtre optimiss, est alors envoye comme consigne
au pilote. Rappelons que le pilote correspond au second niveau de notre architecture de contrle,
charg dappliquer les commandes en envoyant les consignes correspondantes aux actionneurs.

Ce processus complet est ritr priodiquement toutes les T
e
secondes. Le bouclage du
Figure 61 prsente la mthode sous forme de schma de commande:


Figure 61- Reprsentation du principe de la commande

Cette mthode est essentiellement base sur la connaissance du modle cinmatique direct du
vhicule. Loptimisation de la fonction de cot Zest en effet ralise en effectuant des projections
successives de trajectoires ralisables par le robot, en faisant varier les n
p
paramtres caractrisant la
fonction de commande u, et en comparant des trajectoires ainsi gnres avec la trajectoire de
rfrence. Cette mthode de navigation se classe donc parmi les mthodes de projection par modle
direct.

Le navigateur que nous avons dcrit au cours de ce chapitre traite du problme de navigation
dun robot mobile sur terrain plat. Le principe de cette mthode pourrait tre tendu aux espaces
dvolution en 3D, en utilisant par exemple les courbes de Bzier 3D pour la dtermination de la
trajectoire de rfrence, et en dfinissant correctement les familles de trajectoires utiliser pour
donner assez de libert au robot. La difficult serait alors de trouver un algorithme doptimisation
capable de rsoudre le problme pos de manire satisfaisante, en un temps suffisamment court
pour tre utilisable en ligne.

Les deux points importants sont dune part crire correctement le problme de navigation
sous forme de problme doptimisation (bien choisir le type de fonction de commande u, crire
correctement les contraintes en sassurant que les contraintes dures soient bien respectes
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




81

linitialisation de lalgorithme doptimisation), et dautre part de trouver un algorithme capable de
rsoudre efficacement le problme en ligne (plus le nombre de paramtres n
p
optimiser est grand,
plus cela devient dlicat). En contrepartie, le point fort de cette mthode est son adaptabilit
nimporte quel type de robot, partir du moment o lon connat son modle cinmatique direct.


En utilisant la commande prdictive pour la navigation dun robot
mobile, nous pouvons projeter continment une famille de trajectoires dun
robot travers un modle direct sur un horizon temporel donn. De plus, la
perception locale de lenvironnement (obstacles fixes ou mobiles) est
intgre dans les contraintes de la commande prdictive. Paralllement,
nous dfinissons une trajectoire de rfrence construite partir dune
courbe de Bzier paramtre par les donnes fournies par le planificateur
de chemin. La rsolution de la fonction cot propose la trajectoire
admissible libre dobstacle la plus proche de la trajectoire de rfrence. En
choisissant les familles de trajectoires soumises au navigateur, nous
maitrisons le comportement du robot au cours de la mission.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




82

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




83

CHAPITRE V
APPLICATION A UN VEHICULE A DEUX ESSIEUX DIRECTEURS




Le navigateur par commande prdictive est simul sur un vhicule de
type CyCab. Les contraintes cinmatiques, spcifies partir de la
description du robot, et une famille de trajectoire propose sont intgres
dans la fonction cot. Deux algorithmes, un dterministe (Levenberg-
Marquardt) et un stochastique (Recuit-Simul), sont dcrits et appliqus
pour la rsolution de cette fonction. Des simulations comparatives valident
la mthode de navigation par modle direct et commande prdictive. Elles
permettent galement dvaluer la pertinence des algorithmes suivant la
structure de lenvironnement.


I. Prsentation du CyCab

1. Historique

Le premier prototype de CyCab a t dvelopp par lINRIA Rhnes Alpes. Cest un vhicule
lectrique construit partir de la base mcanique des voiturettes de golf Andruet. La particularit de
ce vhicule lectrique est son systme de double braquage, lavant et larrire, qui permet de
rduire le rayon de braquage du vhicule, amliorant ainsi sa manuvrabilit dans les espaces
restreints. Cette proprit en fait un vhicule trs intressant dans le cadre de la navigation en milieu
urbain (Figure 62).

Lapplication vise par ce vhicule est de dvelopper une alternative au transport public de
masse que sont les bus de ville. Lide tait de crer un parc de vhicule en libre service,
permettant de transporter 2 personnes sans pilote.


2. Modle cinmatique du robot

Dans cette partie nous dterminons le modle cinmatique direct du CyCab (Figure 63). On
pose :
- G le centre de giration du vhicule ; ce point correspond au point dintersection des axes des
4 roues, dans lhypothse dun mouvement sans glissement sur le sol
- L lempattement du vhicule
- F et R respectivement les point milieux des essieux avant et arrire ;
- langle de braquage de lessieu avant, quivalent langle de braquage des roues avant, sur
le point F ; et de la mme k langle de braquage de lessieu arrire au point R
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




84

-
F
et
R
les rayons de braquage des essieux avant et arrire respectivement, correspondant
aux distances FG et RG
- enfin on dfinit le point C, que lon appellera point de contrle du vhicule, et qui
correspond la projection du centre de giration G sur la droite FC ; et on nommera le rayon de
braquage par rapport ce point C ( ) GC = .

Figure 62- Le robot CyCab

Nous commenons par calculer la position du point C sur laxe FC, pour ce faire nous
calculons les distances FC et RC :

=
=
) tan( .
) tan( .


k RC
FC
quation 47

On trouve le systme :

) tan( ) tan(

k
RC FC
= = et L RC FC = + quation 48



t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




85


Figure 63- Schma du systme mcanique du CyCab

Pour 0 ) tan( et 0 ) tan( k soit 0 et 180 . Vu quil sagit dangles de braquage,
=180 nest pas admissible, et = 0 correspond la situation o le robot ne tourne pas. Dans ce
cas le modle est directement donn par :

=
=
=
0
) sin( .
) cos( .

&
&
&
V y
V x
C
C
quation 49

Le systme quation 48 a pour solution :

) tan( ) tan(
) tan(

k
L FC
+
= et
) tan( ) tan(
) tan(

k
k
L RC
+
= quation 50

On pose
) tan( ) tan(
) tan(

k +
= ce qui nous donne :

L FC . = et L RC ). 1 ( = quation 51

Lors dune rotation autour du point G, la vitesse de rotation en chaque point scrit :

C
F
F
R
R
V V V
= = =
&

quation 52

Gomtriquement on trouve :

) tan(
.
) tan(

L FC
= = quation 53

En posant V=V
C
, on en dduit le modle cinmatique direct du robot :

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




86

+
= = =
=
=
L
k
V
L
V
V
V y
V x
C
C
) tan( ) tan(
.
) tan(
) sin( .
) cos( .

&
&
&
quation 54

Le modle obtenu est trs proche du modle cinmatique dun vhicule de type voiture. La
seule diffrence se situe au niveau de la vitesse de rotation : pour un vhicule classique, avec
seulement les deux roues directrices lavant, lquation obtenue serait
L
V
) tan(
=
&
. Dans le cas
du CyCab, et de tout vhicule double braquage, cette vitesse de rotation est ainsi sensiblement
augmente. Si on se place dans le cas moyen o k=1, on note que la valeur de
&
sera double par
rapport un vhicule normal. Et si on se place dans le cas k=0, on retombe tout normalement sur les
quations traditionnelles dun vhicule de type voiture.

Le modle ainsi obtenu montre bien les proprits intressantes de braquage de ce type de
vhicule, lui confrant une maniabilit accrue par rapport un vhicule classique simple
braquage.


II. Commande prdictive applique au CyCab

1. La fonction cot

Nous avons vu que larchitecture de commande qui contrle notre robot est une architecture
multi niveaux, qui intgre un module de navigation (un gnrateur de trajectoires) et un module de
planification de chemin. Ce module est charg de fournir un chemin suivre au navigateur. La
trajectoire de rfrence, ou courbe de rattrapage, que lon appellera X
ref
(t), est calcule partir de ce
chemin.

Pour la construction de la courbe de rattrapage, nous utilisons une courbe de Bzier, qui est
une courbe polynomiale de degr 3. Cette courbe possde 4 points de contrle (P1 P4), passe par
P1 et P4, et a pour drive 3(P2-P1) en P1, et 3(P4-P3) en P4. Nous utilisons ces proprits pour
faire en sorte que cette courbe respecte les contraintes sur X
0
et le prochain point atteindre fourni
par le planificateur X
d
soit :

|
|
|
|
|

\
|
=
d
d
d
d
d
s
y
x
X
&

quation 55


Pour que la courbe de rattrapage concorde avec Xo et Xd, les points de contrle de la courbe
de Bzier doivent vrifier :

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




87

=
=
0 1
0 1
: 1
y y
x x
P ,

+ =
+ =
) sin( . .
3
1
) cos( . .
3
1
: 2
0 0 1 2
0 0 1 2

s y y
s x x
P
&
&
,

=
=
) sin( . .
3
1
) cos( . .
3
1
: 3
4 3
4 3
d d
d d
s y y
s x x
P

&
&
et

=
=
d
d
y y
x x
P
4
4
: 4
quation 56

Enfin lquation de la courbe de rattrapage avec les points de contrle ainsi dtermins
devient :

+ + + =
+ + + =
4
3
3
2
2
2
1
3
4
3
3
2
2
2
1
3
) 1 ( 3 ) 1 ( 3 ) 1 ( ) (
) 1 ( 3 ) 1 ( 3 ) 1 ( ) (
y l y l l y l l y l l y
x l x l l x l l x l l x
r
r
avec 1 0 < < l quation 57

Il sagit dune courbe gomtrique normalise entre 0 et 1 et de longueur que le robot ne peut
pas forcment parcourir pendant un temps gal lhorizon de prdiction T
p
. Ainsi, si la longueur de
la courbe D est suprieure
p d
T s . & , seule la partie entre 0 = l et
D
T s
l
p d
. &
= est conserve. A linverse,
si le robot est capable datteindre le point X
d
avant la fin de lhorizon temporel T
p
, alors la
trajectoire de rfrence est augmente en utilisant le point de passage suivant fourni par le
planificateur, comme nous lavons dcrit dans le chapitre IV-2.

Au final la trajectoire de rfrence X
ref
est :


|
|
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
d
r r
d
r
d
r
ref
ref
ref
ref
s
y x
t
D
s
y
t
D
s
x
t s
t
t y
t x
t Xref
&
& &
&
&
) , ( 2 arctan
) . (
) . (
) (
) (
) (
) (
) (

avec ] , 0 [
p
T t si 1 . t
D
s
d
&
quation 58

|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
d
d
d
d
ref
ref
ref
ref
s
y
x
t s
t
t y
t x
t Xref
&

) (
) (
) (
) (
) ( avec ] , 0 [
p
T t si 1 . > t
D
s
d
&
et si X
d
est le point terminal quation 59

|
|
|
|
|
|
|

\
|
=
|
|
|
|
|

\
|
=
max
' ' 2
'
'
) , ( arctan
) . (
) . (
) (
) (
) (
) (
) (
v
y x
t
D
s
y
t
D
s
x
t s
t
t y
t x
t X
r r
d
r
d
r
ref
ref
ref
ref
ref
& &
&
&

avec ] , [
max
p
T
v
D
t quation 60

si X
d
nest pas le point terminal.

Maintenant que la courbe de rattrapage X
ref
(t) est dfinie, nous dfinissons la fonction cot de
la manire suivante :
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




88


d u X X K u T t X X K u T t X J
p
T t
t
ref pacours p ref final p

+
+ + =
0
0
2 2
0 0 0
)) , ( ) ( ( )) , ( ( ) , , , ( quation 61

O K
final
et K
parcours
sont des matrices de pondration de la forme :

|
|
|
|
|

\
|
'
0 0 0
0 0 0
0 0 0
0 0 0
v
y
x
k
k
k
k

quation 62



Concrtement, cette fonction cot calcule lerreur quadratique entre la trajectoire de rfrence
et la trajectoire du robot, en pondrant diffremment les diffrentes composantes de ltat du robot,
et en pondrant galement diffremment lerreur terminale et lerreur de suivi du parcours.


2. La fonction de commande et les trajectoires gnres

Pour obtenir des bonnes possibilits de contournement dobstacle, nous avons utilis des
fonctions de commande ) , ( v u de type linaire (Figure 64) :

Ce sont des fonctions linaires, dans lesquelles les paramtres p
1
et p
3
dsignent
respectivement la vitesse et le braquage atteindre en
2
0
p
T
t + , et les paramtres p
2
et p
4
la vitesse
et le braquage atteindre en
p
T t +
0
.

Figure 64- Famille de fonctions dentres u

Ces paramtres doivent respecter un certain nombre de contraintes par rapport aux vitesses et
braquages maximaux et minimaux :

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




89

max 4 min
max 2 min
max 3 min
max 1 min






p
p
v p v
v p v
quation 63

Ils doivent galement respecter des contraintes sur les acclrations, dclrations et vitesses
de braquage maximales :



2
*
2
*
2
*
2
*
2
*
2
*
2
*
2
*
max 2 2 max 2
max 0 2 max 0
max 1 3 max 1
max 0 1 max 0
p p
p p
p p
p p
T
p p
T
p
T
p
T
T
accel p p
T
decel p
T
accel v p
T
decel v


& &
& &
+
+
+
+

quation 64

A partir de cette famille de fonctions de commande (Figure 65), une famille de trajectoires est
gnre (Figure 66). En faisant simplement varier chaque paramtre selon 3 valeurs (son maximal,
son minimal et sa moyenne), nous obtenons 81 3
4
= trajectoires diffrentes permettant de montrer
des possibilits de mouvement trs varies (grande ligne droite, braquage contre braquage, marche
arrire puis demi-tour, etc). Ces trajectoires sont reprsentes sur les figures ci-dessous, avec les
fonctions dentres correspondantes.



Figure 65- Fonctions de commande

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




90


Figure 66- Trace des trajectoires du robot
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




91


3. Lalgorithme doptimisation

1- Levenberg Marquardt

Levenberg Marquardt est un algorithme prouv doptimisation dterministe, il trouvera donc
toujours la mme solution pour un problme donn [46]. Cest une mthode qui utilise les
informations contenues dans la fonction critre, savoir le Hessien et le gradient de la fonction,
pour converger le plus efficacement possible vers le minimum local de la fonction (Figure 67).

Le principe de fonctionnement de cet algorithme sinspire de celui de la descente du gradient
(recherche de la direction de plus forte pente descendante), mais utilise en plus les informations
contenues dans Hessien de la fonction cot (drives secondes) pour adapter le pas de recherche la
dynamique de la fonction cot. Cela permet de converger beaucoup plus rapidement (en nombre
ditrations) vers le minimum de la fonction. Lexpression gnrale du pas de Levenberg est :

G H diag H p
i
1
)) ( . (

+ = quation 65

O H et G sont respectivement le hessien et le gradient de la fonction cot J. Lorganigramme
de lalgorithme que nous utilisons est prsent sur la figure Figure 67- organigramme
doptimisation.

Le coefficient permet lalgorithme de sadapter la forme du critre. Pour un moyen,
lalgorithme est une combinaison entre une descente de gradient et une approximation quadratique
du critre. Si lalgorithme converge, la valeur de est augmente de manire augmenter
linfluence du hessien, et ainsi acclrer la vitesse de convergence. De cette manire, dans les zones
linaires, on se dplace trs rapidement vers le minimum de la fonction.

Dans les zones o le critre est moins linaire, lalgorithme peut se mettre diverger cause
du hessien qui va se mettre varier trs rapidement et de manire non monotone. Dans ce cas, la
valeur de est diminue de manire baisser linfluence du hessien, et se rapprocher dun
algorithme de type descente de gradient classique.

Les avantages de cet algorithme sont :
- la convergence vers le minimum local du problme, donc la meilleure solution locale au
sens du critre
- la trs grande rapidit converger (en quelques itrations lalgorithme est trs proche de la
solution locale)

En contrepartie, son principal inconvnient rside dans sa grande sensibilit aux problmes de
minima locaux, donc rsultats tributaires de linitialisation de lalgorithme. Dans les problmes de
contournement dobstacle, il aura donc des difficults trouver une trajectoire de contournement.

Pour quun algorithme doptimisation puisse tre utilis dans une application temps rel, il
faut garantir que la solution obtenue si on larrte nimporte quelle itration soit contenue dans le
domaine des solutions admissibles pour le robot. Dautre part, il est souhaitable que lalgorithme
converge le plus rapidement possible vers la solution optimale.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




92


Figure 67- organigramme doptimisation


2- Recuit simul

Recuit simul est un algorithme stochastique, bas sur une part dalatoire ; il trouvera
gnralement une solution diffrente si on lui reprsente le mme problme. Il a t dvelopp par
Kirkpatrick, Gelatt et Vecchi en 1983 [35]. Le principe de cet algorithme sinspire du principe
physique du recuit des matriaux solides. Le chauffage du matriau trs haute temprature, puis
son refroidissement lent conduisent une rorganisation plus ordonne des atomes constituant le
matriau, et lamenant ainsi vers un tat plus stable (nergie plus faible).

Lalgorithme va tester les critres optimiser associs aux variables proches des variables
dinitialisation. Si le critre associ ces variables voisines est plus faible, on conserve ces
variables comme rfrence pour litration suivante. Si le critre est plus lev, il y aura une
certaine probabilit que ces variables soient tout de mme gardes comme rfrence. La loi de
probabilit qui rgit ces transitions vers un critre plus lev, est une loi dcroissante au fil du
temps (sinspirant ainsi du refroidissement dun matriau). Cette probabilit suit une formule du
type :
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




93


) exp( 1
T
J
P

= quation 66

Dans cette formule, J est lcart entre le nouveau critre et lancien, et T joue le rle dune
temprature qui diminue au fil du temps, selon une loi de refroidissement quil faut rgler
empiriquement. Ainsi au dbut du processus, de nombreux mouvements vers des positions
associes un critre plus lev seront tolrs, permettant lalgorithme dexplorer plus de rgions
et ainsi ne pas senfermer dans un minimum local.

Au fur et mesure de lvolution du processus doptimisation, ces transitions vers des critres
plus levs seront de moins en moins permises, ce qui contraint lalgorithme converger vers un
minimum global.

Les avantages de cet algorithme sont :
- une grande capacit viter les minima locaux et converger vers le minimum global
- il ny a pas de condition particulire sur les particularits de la fonction cot

Par contre cet algorithme souffre des inconvnients suivants:
- lalgorithme converge vers une solution approche et non une solution exacte
- la vitesse de convergence est plus faible au voisinage du minimum global

III. Simulations

1. Comparaison des algorithmes

Nous avons compar les rsultats obtenus de notre navigateur en utilisant un algorithme
dterministe dune part, et un algorithme stochastique de lautre. Lalgorithme dterministe test est
Levenberg Marquardt (LM), qui utilise les informations sur les drives premires et secondes de la
fonction de cot J. Lalgorithme stochastique est le Recuit Simul (RC), qui sinspire du
refroidissement des matriaux en effectuant une recherche alatoire, de plus en plus ordonne au fil
des itrations (ce qui permet dexplorer plus de rgions du domaine des solutions admissibles dans
un premier temps, avant de converger lentement vers un minimum dans un second temps).

La figure Figure 68 montre un cas o le robot est face un obstacle, et o le planificateur de
chemin lui fournit un point de passage situ de lautre ct de lobstacle. Nous regardons
uniquement la trajectoire slectionne par chaque algorithme linstant t
0
, le systme nest pas
boucl. Dans cette situation, les simulations montrent quen utilisant lalgorithme LM, le navigateur
nest pas capable de trouver une trajectoire de contournement, car il aura tendance suivre
strictement la trajectoire de rfrence. Par contre, en utilisant RC, le navigateur sera capable de
trouver des trajectoires de contournement.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




94


Figure 68- Evitement dobstacle avec diffrents algorithmes doptimisation (gauche : Levenberg-Marquardt, droite :
Recuit-Simul)


2. Simulation complete dvitement dobstacle

Les simulations suivantes montrent le comportement du robot dans le cas o la trajectoire de
rfrence traverse un obstacle. Ces simulations permettent de montrer comment le navigateur que
nous avons dvelopp permet dadapter la trajectoire du robot pour contourner lobstacle, tout en
suivant du mieux possible la trajectoire de rfrence. Sur ces simulations, nous avons utilis
lalgorithme du recuit simul, qui comme nous lavons montr prcdemment est efficace pour
trouver des trajectoires dans ce type de situation.
Sur les figures, la trace des dplacements effectus par le robot est reprsente en bleu. Les
croix bleues reprent une nouvelle itration du navigateur. De ce fait, la trace reprsente entre deux
croix correspond aux dplacements effectus par le robot pendant une priode dchantillonnage.
La trajectoire de rfrence est reprsente en rouge, et la trajectoire prvue du robot entre
e o
T t + et
p o
T t + est trace en vert. La frquence dchantillonnage T
e
est fixe 1s, et lhorizon de prdiction
T
p
5s.

Sur la figure Figure 69, le robot doit se rendre en (10,5) en partant de (-10,0). Sur cette
simulation, le robot trouve bien une trajectoire pour contourner lobstacle, et atteint la position
souhaite. Par contre, on remarque que la trajectoire slectionne par le navigateur scarte
beaucoup de la trajectoire de rfrence. Cela sexplique dune part par le rglage du poids du cot
de parcours, que lon a affaibli par rapport au poids du cout terminal, de manire accroitre la
libert du robot sloigner de la trajectoire de rfrence (et ainsi trouver plus facilement des
trajectoires de contournement) ; et dautre part par lutilisation de lalgorithme du recuit simul, qui
ncessite beaucoup ditrations pour converger efficacement vers la trajectoire optimale.

Sur la simulation reprsente par la figure Figure 70, le point darrive a t chang en (10,-
6). Encore une fois, cette simulation met en vidence dune part lefficacit du navigateur coupl
lalgorithme du recuit simul pour effectuer un contournement dobstacle ; et dautre part le manque
de prcision dans le choix dune trajectoire optimale pour suivre une trajectoire de rfrence.

Les figures Figure 71 et Figure 72 prsentent des simulations o le robot se rend de (-5,10)
(5,-10). Ces simulations mettent en vidence le fait que pour une mme situation donne,
lutilisation de lalgorithme du recuit simul engendrera des choix de trajectoire qui peuvent tre
totalement diffrents. Cela est d au fait que le recuit simul fait partie de la classe des algorithmes
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




95

stochastiques. Dans tous les cas, la trajectoire gnre par le navigateur permet de contourner
lobstacle et datteindre la bonne position sous une prcision satisfaisante.



Figure 69- Contournement dobstacle avec recuit simul (a)


Figure 70- Contournement dobstacle avec recuit simul (b)


Figure 71- Contournement dobstacle avec recuit simul (c)
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




96




Figure 72- Contournement dobstacle avec recuit simul (d)

3. Influence de lhorizon de prdiction

Dans les simulations suivantes, nous tentons de mettre en avant leffet de lhorizon de
prdiction sur la capacit du navigateur trouver des trajectoires de contournement dobstacle. Sur
les figures Figure 74 et Figure 73, lobjectif qui est propos au robot est de se rendre du point (-
5 ,10) au point (5,-10). Sur la figure Figure 73, lhorizon de prdiction est fix 5s, alors que sur la
figure Figure 74 il est de 2.5s. Ces simulations montrent que si lhorizon de prdiction Tp est fix
une valeur trop faible, le robot nest pas capable de trouver une trajectoire satisfaisante. Il existe
donc un compromis faire entre la distance que le robot est capable de parcourir pendant T
p
, et la
taille caractristique des obstacles D
o
. Dans nos simulations, les meilleurs rsultats ont t obtenus
pour un rapport :

3
*
max

o
p
D
T v

quation 67

.


Figure 73- Horizon de prediction 5s
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




97



Figure 74- Horizon de prediction 2.5s


IV. Simulations compltes de navigation

Figure 75 et Figure 76 montrent une simulation de navigation pour les robot CyCab et
RAOUL voluant au milieu d'obstacles. En entre, le robot reoit un certain nombre de points de
passage successifs (grosses croix rouges), et la position des obstacles sur une carte de type grille
d'occupation de taille 40*40 m et de rsolution 10*10 cm (les obstacles sont reprsents par les
zones vertes, et on considre qu'ils sont largis pour tenir compte de la taille du robot). La
trajectoire du robot est reprsente par la ligne bleue, chaque petite croix marquant une nouvelle
itration de l'algorithme de navigation (priode Te). Enfin, la courbe rouge correspond la
trajectoire de rfrence calcule partir de l'tat courant du robot et du prochain point de passage, et
la courbe verte est la trajectoire slectionne par l'algorithme d'optimisation sur l'horizon de
prdiction suivant.

Figure 75 : Navigation du CyCab en milieu obstru pour aller de (-15;-15) (15;5)

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




98


Figure 76: Navigation de RAOUL en milieu obstru pour aller de (-15;-15) (15;5)


Dans ce scnario, le robot se rend du point (-15,-15) au point (15,5) en passant par 3 points de
passages successifs, sous une prcision de 1m pour chacun d'entre eux (avant de passer au point
suivant). Tout d'abord on remarque que le robot n'entre jamais en collision avec les obstacles, et
qu'il parvient bien rallier ses diffrents points de passage successifs. Si on regarde plus
attentivement, on voit que la planification fournie au navigateur ne tient pas compte efficacement
des diffrents obstacles, ce qui engendre des trajectoires de rfrence entrant en collision avec les
obstacles. Malgr cela, le navigateur parvient dterminer des trajectoires de contournement autour
des obstacles, ce qui lui d'atteindre ses diffrents objectifs. Cela est rendu possible grce d'une part
l'utilisation d'un algorithme de type recuit simul (qui trouve des solutions en dehors des minima
locaux induits par la cassure de convexit due l'introduction des obstacles), et d'autre part grce
l'utilisation d'un horizon temporel adapt permettant de gnrer des trajectoires suffisamment
longues pour contourner les obstacles.

Les rglages des pondrations Kparcours et Kfinal sont les suivants :

|
|
|
|
|

\
|
=
0 0 0 0
0 0 0 0
0 0 1 0
0 0 0 1
parcours
K
|
|
|
|
|

\
|
=
0 0 0 0
0 0 0 0
0 0 100 0
0 0 0 100
final
K

quation 68

Ce rglage fait que l'on cherche contrler la position (x,y) du robot, mais pas sa vitesse et
son orientation, ce qui laisse de l'autonomie au robot dans le choix de ses trajectoires. Il en rsulte
que le robot roues diffrentielles, RAOUL, qui possde des capacits cinmatiques quivalentes
en marche avant et marche arrire, utilisera aussi bien l'une que l'autre pour raliser ses trajectoires
(Figure 76).

Figure 77 et Figure 78 reprsentent les rsultats d'un autre scnario de navigation dans lequel
les robots partent du point (-18,12.5) et doivent se rendre en (-7,0) en passant par 4 points de
passage successifs. Ce scenario prsente plusieurs piges en U pouvant induire un blocage du
navigateur d une planification insuffisante. Grace sa capacit d'anticipation sur un horizon
temporel de 5s, le navigateur permet aux robots de choisir des trajectoires qui ne les bloquent pas
dans l'un des piges.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




99


Figure 77 : Navigation du CyCab en milieu obstru pour aller de (-18;12.5) (-7;0)


Figure 78 : Navigation de RAOUL en milieu obstru pour aller de (-18;12.5) (-7;0)

Figure 79 prsente un scnario encore plus contraint (avec plusieurs piges en U). On constate
que la trajectoire complte du robot vite les obstacles et suit les points de passage, ce qui valide la
mthode de navigation dans le cadre de navigation en milieux encombrs.


Figure 79: Navigation du robot CyCab en environnement encombr (obstacles en U)

Figure 80 prsente le mme scnario de navigation que le prcdent, cependant cette fois ci la
fonction cot a t modifie de manire inciter le robot conserver une continuit dans la marche
avant ou marche arrire. Concrtement, la fonction cot est la suivante :
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




100


2
0 0 , , 0 0 0 0
)) ( ) ( ( ) ( ) ( ) , , , ( ) , , , , (

+ + + + =
m
e
n
i o o
n
i r r p cr p tot
t u T t u C B C B u T t X Z C u T t X Z
o r

quation
69

Cette fonction est intressante si l'on cherche conserver une continuit dans la commande du
robot, mais elle diminue la libert du robot dans le choix de ses trajectoires en fonction de ses
capacits cinmatiques.


Figure 80 : Navigation de RAOUL en milieu obstru pour aller de (-18;12.5) (-7;0) avec le critre

Figure 81 montre une simulation de "planificateur fou" dans laquelle le navigateur se voit
fournir des points de passage de manire alatoire, sans tenir compte des obstacles. Cette simulation
permet de montrer la robustesse du navigateur aux erreurs de planification, et sa capacit ractive,
puisque le robot n'entre jamais en collision avec les obstacles.
Nous avons ensuite cherch comparer les rsultats obtenus par le navigateur par commande
prdictive et le navigateur par lignes de fuite prsent dans le chapitre III. Figure 83 montre une
simulation ralise par le navigateur par lignes de fuite avec le robot CyCab, alors que Figure 82
prsente les rsultats obtenus par le navigateur par commande prdictive. Pour obtenir la mme
prcision sur les points de passage successifs, le navigateur par commande prdictive a des temps
de calcul diminu de 37% en moyenne. De plus, le robot rallie les diffrents points de passage
successifs plus rapidement avec le navigateur par commande prdictive. Cela s'explique par le fait
que comme le navigateur par lignes de fuite dispose d'un nombre de trajectoires restreints
(dpendant de la discrtisation effectue), il a plus de difficults passer prs des points de passage
et doit donc ralentir chacun d'eux.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




101


Figure 81 : planificateur fou et robustesse du navigateur une planification dfectueuse



Figure 82 : navigation par commande prdictive


Figure 83 : navigation par lignes de fuite

V. Discussion

Les simulations valident lefficacit de notre navigateur par commande prdictive en milieu
encombr. Des trajectoires, calcules partir du modle cinmatique direct du robot et respectant
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




102

ses contraintes cinmatiques propres sont gnres. Elles permettent au robot de contourner les
obstacles se prsentant sur son chemin, et qui ne seraient pas pris en compte par le planificateur
pour diverses raisons (obstacle mobile, obstacle trop petit pour tre pris en compte dans la
cartographie globale). Ce navigateur assure donc ladaptation locale, aux contraintes de
lenvironnement et du robot, dun chemin fourni par le planificateur.
La mthode a t applique dans notre tude un robot mobile deux essieux directeurs. En
outre, elle peut aisment tre applique nimporte quel type de robot mobile dont le modle
cinmatique direct est dfini. Il suffit de modifier le modle du robot et rajouter les contraintes
cinmatiques dans la formulation des contraintes gnrales. Les rsultats pourraient alors tre
amliors en adaptant au mieux les fonctions de commande dfinies au type de robot, de manire
tirer partie du maximum de ses capacits cinmatiques spcifiques.
Un problme important sur lequel nous nous sommes heurts, est celui du choix de
lalgorithme doptimisation utiliser. Lemploi dalgorithmes dterministes tels que Levenberg-
Marquardt, qui sont particulirement efficaces lorsquil sagit de suivre au mieux une trajectoire de
rfrence en labsence dobstacles, devient contre indiqu lorsque des obstacles apparaissent devant
le robot. En effet, ceux-ci se sont montrs particulirement sensibles aux problmes de minima
locaux, avec notre modlisation. Face ce type de contraintes, les algorithmes stochastiques se sont
montrs beaucoup plus souples, en trouvant des trajectoires de contournement. Cependant, les
trajectoires quils gnrent restent moins prcises que celles calcules par les algorithmes
dterministes en absence dobstacle. Ainsi, pour amliorer sensiblement la qualit des trajectoires
gnres dans nimporte quelle situation, une combinaison de ces deux types dalgorithmes est en
cours dtude, pour tenter dallier les avantages de chacun deux.



Les rsultats de ces simulations valident la mthode de navigation par
modle direct et commande prdictive pour un robot double essieux
directeur. Lenvironnement dvolution du robot conditionne le choix de
lalgorithme doptimisation (dterministe ou stochastique) qui dlivrera la
meilleure trajectoire suivre pour le robot sur lhorizon temporel choisi.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




103

Conclusion Gnrale


Lautonomie dun robot mobile reste une problmatique de recherche ouverte, source de
nombreuses thmatiques.

Dun point de vue global, lobjectif de rendre un robot totalement autonome est ralisable par
le dcoupage et la structuration de plusieurs tches spcifiques. Elles se classent en deux grandes
catgories : celles lies la perception et celles lies la commande. Larchitecture de contrle du
robot structure ces diffrentes fonctions de manire aboutir un ensemble cohrent.
Dans ce cadre, nous avons choisi de dvelopper notre travail sur la base de larchitecture de
contrle multi-niveaux propose par Mourioux [51], dont le dcoupage hirarchique et modulaire
permet lintgration de notre navigateur. Celui-ci devient alors un pivot qui fait le lien entre les
capacits cinmatiques du robot, la mission qui lui est assigne et lenvironnement dans lequel il
volue. Cest donc une brique incontournable de lobjectif dautonomie dun robot mobile.
Nous proposons notamment une mthode qui permet daccroitre lautonomie du robot, en lui
laissant le libre choix de ses trajectoires. Ainsi, si la situation du robot lexige, par exemple si un
obstacle imprvu apparat devant lui, le robot est capable deffectuer de lui-mme des manuvres
dvitement, telles que des marches arrire, sans que lon ait programmer un tel comportement.
Cette proprit adapter son comportement en fonction de la situation correspond une capacit de
prise de dcision autonome, au niveau mme du bloc de navigation.

Plus prcisment, notre apport se situe dans le dveloppement dune mthode de
dtermination de trajectoires ralisables par le robot, avec lvitement dobstacles, et suivant un
parcours fourni par un planificateur de chemin. Notre mthode ralise ainsi trois principales sous
fonctions : le suivi dun chemin de rfrence, ladaptation aux contraintes cinmatiques du robot et
la gestion des obstacles.
Nous assurons le suivi de chemin par la construction dune courbe de Bzier reliant la
position courante du robot sa destination, et respectant les orientations entre ces deux points. De
plus, la continuit de la courbe gnre est respecte. Cette courbe est ensuite paramtre en temps
de manire obtenir une trajectoire de rfrence.
Pour la prise en compte de lenvironnement, nous avons propos une mthode continue et une
mthode discrte dintgration des obstacles, par segmentation ou par grille doccupation. Notre
navigateur peut ainsi sadapter ces diffrents types de cartographie.
Enfin, nous utilisons le modle cinmatique direct du robot, ce qui garantit la gnration de
trajectoires admissibles par le vhicule. Par lajout de contraintes de conception sur la commande,
nous engendrons des familles de trajectoires spcifiques, qui permettent de maitriser le
comportement du robot en sadaptant la situation (type de milieu dvolution et de robot).

Cette utilisation du modle direct constitue un autre point cl de notre travail pour le
dveloppement de notre navigateur. Elle a t motive par la volont de concevoir une mthode
applicable simplement nimporte quel type de robot mobile. Certaines mthodes par suivi de
trajectoire, telles que les sorties plates ou les fonctions transverses, ont montr dexcellents rsultats
dans ce domaine, mais ncessitent la dtermination de modles inverses nexistant pas toujours
pour le robot mobile tudi. A partir de cette constatation, notre dmarche a consiste se baser sur
les mouvements ralisables du robot pour dvelopper une mthode de navigation alternative.
Un autre atout de cette approche est lintgration aise de paramtres supplmentaires, tels
que les glissements inhrents au type de terrain, par leur simple prise en compte dans le modle
cinmatique du vhicule. La mthode de navigation nest en rien change. Cest un point fort par
rapport aux mthodes utilisant des modles inverses, puisque celles-ci ne sont plus valides ds lors
que lon rajoute des paramtres variant avec le type de terrain dvolution.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




104

Par ailleurs, dun point de vue contrle, notre problmatique peut se traduire en termes
suivants : prvoir les trajectoires, ralisables par le robot, par lintermdiaire dun modle
cinmatique direct, et calcules sur un horizon temporel glissant. Dans ce cadre, nous avons utilis
une approche de commande prouve de lautomatique, la commande prdictive, correspondant
naturellement notre problme, tout en ladaptant aux contraintes spcifiques de la robotique
mobile.
Nous avons ainsi pos notre problme de navigation sous la forme dun problme
doptimisation sous contraintes, dans lequel : la trajectoire de rfrence est calcule partir du
chemin suivre par le robot ; lcart entre cette trajectoire et celle prvue du robot constitue la
fonction cot ; et enfin, les obstacles sont des contraintes supplmentaires respecter.
La formalisation du problme de navigation sous cette forme par commande prdictive est un
apport important par rapport aux mthodes par modle directes existantes. En effet, elle nous
permet dutiliser des outils tels que les algorithmes doptimisation, pour calculer la meilleure
commande appliquer.
Les simulations ont valid notre mthode en montrant son efficacit pour gnrer des
trajectoires de contournement dobstacle ralisables par le robot.


Comme nous lavons soulign, ce travail sinscrit dans le cadre dune architecture de contrle
multi niveaux, et nous avons ralis un navigateur performant permettant de suivre un parcours
fourni par le planificateur de chemin, tout en respectant les contraintes du robot et de
lenvironnement dans lequel il volue. Nous apportons une solution simple de dveloppement et de
mise en uvre, adaptable de nombreux types de robots.
En termes de perspectives, lamlioration de notre mthode se situe principalement au niveau
dune intgration encore plus effective dans un systme compltement autonome. En effet,
ladaptabilit de notre navigateur tout type de robot et denvironnement peut encore tre accrue,
notamment en laborant une bibliothque de familles de trajectoires permettant dadapter au mieux
le comportement du robot la situation laquelle il est confront : type de mission (suivi dune
route, exploration, phase de parking) et type de milieu denvironnement (encombr ou non,
terrain glissant). Lalgorithme doptimisation peut aussi tre amlior, en travaillant au
dveloppement dun moyen de combiner les avantages des mthodes dterministes (efficacit de la
convergence en labsence dobstacles) ceux des mthodes stochastiques (gestion des minima
locaux induits par les obstacles).
De plus, ltape ncessaire lobtention dune autonomie complte est le dveloppement du
planificateur de chemin. Lide est de lui donner la charge de dterminer une srie de points de
passage pour le robot, en sappuyant sur une perception globale du milieu dans lequel le robot
volue. Lintgration de ces modules sur un robot permettra alors de valider exprimentalement
notre approche.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




105

References


[1] Adachi, Y.; Saito, H.; Matsumoto, Y.; Ogasawara, T., Memory-based navigation using data
sequence of laser range finder, Computational Intelligence in Robotics and Automation, 2003.
Proceedings. 2003 IEEE International symposium on Volume 1, Issue , 16-20 July 2003
Page(s): 479 - 484 vol.1

[2] Agirrebeitia, J., Aviles, R., de Bustos, I.F. and Ajuria, G. , A new APF strategy for path
planning in environments with obstacles ; Mechanism and Machine Theory, Volume 40, Issue
6, June 2005, Pages 645-658

[3] J. M. AHUACTZIN LARIOS, Le Fil d'Ariane: une mthode de planification gnrale.
Application la planification automatique de trajectoires ; thse soutenue le 29 septembre
1994, INRIA

[4] Alamir M.,Stabilization of Nonlinear Systems Using Receding-Horizon Control Schemes : A Parametrized
Approach for Fast Systems. Lecture Notes in Control and Information Sciences, Springer, London, ISBN 1-
84628-470-8. 2006

[5] Alamir, M.,La commande predictive pour systemes non lineaires a dynamiques rapides, in JNRR 07, 9-12 October
2007

[6] Andrews, J. R. and Hogan, N., "Impedance Control as a Framework for Implementing Obstacle
Avoidance in a Manipulator." Control of Manufacturing Processes and Robotic Systems, Eds.
Hardt, D. E. and Book, W., ASME, Boston, 1983, pp. 243-251.

[7] Arkin, R. C., "Motor Schema-Based Mobile Robot Navigation." The International Journal of
Robotics Research, August 1989, pp. 92-112.

[8] Baille, G., Garnier, P., Mathieu, H., Pissard-Gibollet, R., Le cycab de lINRIA Rhne-Alpes,
rapport technique Avril 1999

[9] Belker, T., Schulz, D. Local Action Planning for Mobile Robot Collision Avoidance,
Intelligent Robots and System, 2002. IEEE/RSJ International Conference on Volume 1, 30
Sept.-5 Oct. 2002 Page(s):601 - 606 vol.1

[10] Bonnafous, D. Lacroix, S. Simeon, T. , Motion generation for a rover on rough terrains,
IROS 2001, Volume: 2, On page(s): 784-789 vol.2, Meeting Date: 10/29/2001 - 11/03/2001
Location: Maui, HI, USA ISBN: 0-7803-6612-3

[11] Brooks, R. A., "A Robust Layered Control System for a Mobile Robot." IEEE Journal of
Robotics and Automation, Vol. RA-2, No. 1, 1986, pp. 14-23

[12] G. Campion, G. Bastin et B. DAndra-Novel. Structural Properties and Classification of
Kinematic and Dynamic Models of Wheeled Mobile Robots. IEEE Transactions on Robotics and
Automation, vol. 12, no. 1, pages 4762, 1996.

[13] Canou J., Novales C., Poisson G., March P. Quick primitives extraction using inertia matrix on
measures issue from an ultrasonic network ICRA 2001-IEEE, International Conference on
Robotics and Automation, Soul, Core, 21-26 Mai, 2001

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




106

[14] J. Canou, G. Mourioux, C. Novales et G. Poisson A local map building process for a reactive
navigation of a mobile robot Proceedings of IEEE International Conference on Robotics and
Automation, pp. 4839-4844, ICRA 2004, New Orleans, Louisiane USA, 26 avril-1er mai 2004.

[15] J. Canou, D. Sall, M. Traonmillin, V. Dupourqu: The Anglet Experiment: A Cybercar on the
Beach. EUROCAST 2007: 1066-1072

[16] Cappelle, C. , El Badaoui El Najjar, M., Pomorski, D., Charpillet, F., "Dtection, suivi et go-
localisation d'obstacles l'aide d'un modle 3D go-rfrenc, une camra et un GPS :
validation avec un lidar", Confrence Internationale Francophone d'Automatique, CIFA'08,
Bucarest, Roumanie, 3-5 Septembre, 2008

[17] Chatterjee, R., Matsuno, F., Use of single side reflex for autonomous navigation of mobile robots in unknown
environments ; Robotics and Autonomous Systems, Volume 35, Issue 2, 31 May 2001, Pages 77-96

[18] J. Courbon, Y. Mezouar, L. Eck, P. Martinet, A generic framework for topological navigation of urban vehicle,
ICRA09 Workshop on Safe navigation in open and dynamic environments Application to autonomous vehicles,
ICRA09, Kobe, Japan, May 12th, 2009

[19] Courbon, J., Mezouar, Y., Lequievre, L., Eck, L., Navigation of urban vehicle: An efficient visual memory
management for large scale environments, IROS 2008: 1817-1822

[20] Courtial, E. Commande predictive et estimation dtat de systmes non linaires , rapport de thse soutenue le 30
avril 1996, chapitre II, pp 38-41, Universit Claude Bernard - Lyon 1

[21] Creuze, V., Parodi, O., Xiang X., Design, Simulation and Experimental Results of Taipan 300, a New
Autonomous Underwater Vehicle Prototype, published in OCEANS'09 IEEE, Bremen, Germany :
(2009)

[22] Dufour, P., Contribution la commande predictive des systmes paramtres rpartis non linaires , rapport de
thse soutenue le 17 mai 2000, Universit Claude Bernard - Lyon 1

[23] Ellouze, M. and Andrea-Novel, B.d. 2000. Control of unicycle-type robots in the presence of sliding effects with
only absolute longitudinal and yaw velocities measurement. European Journal of Control, 6(6):567584.

[24] Er, M.J., Tien Peng Tan, Sin Yee Loh, Control of a mobile robot using generalized dynamic fuzzy neural
networks ; Microprocessors and Microsystems, Volume 28, Issue 9, 2 November 2004, Pages 491-498

[25] P. Fabiani, V. Fuertes, A. Piquereau, R. Mampey, et F. Teichteil-Konigsbuch. Autonomous flight and navigation of
VTOL UAVs : from autonomy demonstrations to out-of-sight flights. Aerospace Science and Technology, 11(2-3)
:183193, 2007

[26] Fliess, M., Lvine, J., Martin, P., and Rouchon, P. Flatness and defect of non-linear systems : introductory theory
and examples. International Journal of Control, 61 :13271361, 1995

[27] Foret, J.; Bruneau, O.; Fontaine, J.G., "Unified approach for m-stability analysis and control of legged robots",
2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003. (IROS 2003). Proceedings.
Volume 1, Issue , 27-31 Oct. 2003 Page(s): 106 - 111 vol.1

[28] Fraisse, P., Gil. A., Zapata, R., Stratgie de commande dcentralise d'une flottille de robots mobiles terrestres
tloprs. , JNRR 05, Guidel, October 5-7

[29] Fruchard, M., Mthodologies pour la commande de manipulateurs mobiles non-holonomes , thse
soutenue le 23 septembre 2005 lcole nationale suprieure des mines de paris - sophia antipolis ,
prpare lINRIA Antipolis

[30] Ghommam, J., Poisson, G., Motion coordination control of multiple marine crafts , 10th IEEE International
Workshop on Advanced Motion Control, 2008. AMC '08. Publication Date: 26-28 March 2008 On page(s): 44-49

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




107

[31] M.Y. IBRAHIM, A. FERNANDES, Study on mobile robot navigation techniques , 2004 IEEE International
Conference on Industrial Technology , Volume 1, 8-10 Dec. 2004 Page(s):230 - 236 Vol. 1


[32] Jetto, L., Longhi, S., Vitali, D., Localization of a wheeled mobile robot by sensor data fusion based on a fuzzy
logic adapted Kalman filter, Control Engineering Practice 7, 763-771, 1999

[33] Khatib, O., "Real-Time Obstacle Avoidance for Manipulators and Mobile Robots." 1985 IEEE
International Conference on Robotics and Automation, St. Louis, Missouri, March 25-28, 1990,
pp.500-505..

[34] M. AL-KHATIB, J. J. SAADE, An efficient data-driven fuzzy approach to the motion planning problem of a
mobile robot ; Fuzzy Sets and Systems, Volume 134, Issue 1, 16 February 2003, Pages 65-82

[35] Kirkpatrick, S.; C. D. Gelatt, M. P. Vecchi (1983-05-13). "Optimization by Simulated Annealing".
Science. New Series 220 (4598): 671680. ISSN 00368075

[36] Klancar, G., Skrjanc, I., Tracking-error model-based predictive control for mobile robots in
real time, Robotics and Autonomous Systems, Volume 55 , Issue 6 (June 2007), Pages 460-
469, ISSN:0921-8890, 2007

[37] Koren, Y.; Borenstein, J. , Potential field methods and their inherent limitations for mobile
robot navigation; Robotics and Automation, Sacramento, California, April 7-12, 1991, pp.
1398-1404 vol.2

[38] Lebedev, D.V., Steil, J.J. and Ritter, H.J. The dynamic wave expansion neural network model
for robot motion planning in time-varying environments ; Neural Networks, Volume 18, Issue
3, April 2005, Pages 267-285

[39] Lenain, R. Thuilot, B. Cariou, C. Martinet, P., Rejection of sliding effects in car like robot
control: application to farm vehicle guidance using a single RTK GPS sensor, Intelligent
Robots and Systems, 2003. (IROS 2003). Proceedings. , 27-31 Oct. 2003 Volume: 4, On
page(s): 3811- 3816 vol.3, ISBN: 0-7803-7860-1

[40] Lenain R., Thuilot B., Cariou C., Martinet P. High accuracy path tracking for vehicles in
presence of sliding. Application to farm vehicle automatic guidance for agricultural tasks. In
Autonomous robots 21(1):7997, 2006.

[41] Lettvin, J.Y., Maturana, H.R., McCulloch, W.S., & Pitts, W.H., What the Frog's Eye Tells the
Frog's Brain, Proceedings of the IRE, Vol. 47, No. 11, pp. 1940-51, 1959

[42] LIAFA-Jussieu (Laboratoire d'Informatique Algorithmique: Fondements et Applications),
Courbes de Bzier et B-splines ,
http://www.liafa.jussieu.fr/~carton/Enseignement/InterfacesGraphiques/MasterInfo/Cours/Swin
g/splines.html,, septembre 2005

[43] V. J. LUMESKY, A. A. STEPANOV, Path planning strategies for a point mobile automaton
moving amist unknown obstacles for arbitrary shape . Algoritmica, Vol 2, n 4 (1987) pp 403-
440

[44] Mayne D.Q.; Rawlings J.B.; Rao C.V; Scokaert P.O.M., vii. Constrained model predictive control: stability
and optimality, Automatica, Vol. 36, No. 6. (June 2000), pp. 789-814

[45] J. MINGUEZ, L. MONTANO, Sensor-based robot motion generation in unknown, dynamic and troublesome
scenarios ; Robotics and Autonomous Systems, Volume 52, Issue 4, 30 September 2005, Pages 290-311
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




108


[46] Marquardt , D., "An Algorithm for Least-Squares Estimation of Nonlinear Parameters". SIAM Journal on Applied
Mathematics 11: 431441, 1963


[47] Morette N., Novales C., Josserand L., Escape Lanes Navigator to control RAOUL Autonomous Mobile Robot
, international conference on informatics in control, automation and robotics, Angers, France, May 9-12, 2007,
pages 45-52

[48] Morette N., Novales C., Vieyres P., Inverse versus Direct Kinematics Model based on Flatness and Escape Lanes
to control CyCab Mobile Robot , IEEE-ICRA 2008, Pasadena, USA, May 19-23, 2008

[49] Morin, P. et Samson, C. Trajectory tracking for non-holonomic vehicles : overview and case study . Dans
Kozlowski, K., diteur, 4th Inter. Workshop on Robot Motion Control (RoMoCo), pages 139153.

[50] Morin, P. et Samson, C. (2001d). Practical stabilization of driftless systems on Liegroups . Dans IEEE Conf. on
Decision and Control (CDC), pages 42724277.

[51] Mourioux G., Proposition dune architecture multifonctions pour lautonomie globale des robots , rapport de
these soutenue le 22 novembre 2006, universit dOrlans

[52] Mourioux, G., Novales, C., Poisson, G. et Vieyres, P.: Omni-directional robot with spherical orthogonal wheels :
concepts and analyses. Proceedings of IEEE International Conference on Robotics and Automation, ICRA 2006,
Orlando, Floride USA, 15-19 mai 2006

[53] Novales, C. Pilotage par actions reflexes et navigation locale de robots mobiles rapides, rapport de these
soutenue le 20 octobre 1994, universit Montpellier II

[54] Novales, C., Pallard, D., Laugier, C., Controlling the Motions of an Autonomous Vehicle using a Local
Navigator ; ISRAM 1996, International Symposiumon RoboticsAnd Manufacturing, 27-30 mai 1996,
Montpellier, France

[55] Ouadah, N., Azouaoui, O., Hamerlain, M., Implmentation dun contrleur flou pour la
navigation dun robot mobile de type voiture , Troisime Congrs francophone, Majecstic
2005, 16-18 Novembre 2005, Rennes (France).

[56] Pin, F.G., Killough, M.S., A New Familly of Omnidirectional and Holonomic Wheeled
Platforms for Mobile Robots, IEEE transactions on robotics and automation, Vol 10, N4,
August 1994

[57] Pivtoraiko, M., Kelly, A, and Rander R., Efficient Braking Model for Off-Road Mobile
Robots. Field and Service Robots, Ocober 2005, Port Douglas, Australia

[58] Pradalier, C., Hermosillo, J., Koike, C., Braillon, D., Bessire, P., Laugier, C., The CyCab: a
car-like robot navigating autonomously and safely among pedestrians. Robotics and
Autonomous Systems (RAS) 50(1):51-67 (2005)

[59] Pradel, G., Hoppenot, P., "Symbolic trajectory description in mobile robotics" - Journal of
Intelligent & Robotics Systems, vol. 45, 157-180, 2006.

[60] Propoi, A. I., Use of linear programming methods for synthesizing sampled-data automatic
systems, Automation and Remote Control 24 7 (1963), pp. 837844.

[61] Pruski, A., Robotique mobile, la planification de trajectoire, ED. Hermes, Paris 1996

[62] Qin S.J.; Badgwell T.A., A survey of industrial model predictive control technology, Control Engineering
Practice, Volume 11, Number 7, July 2003 , pp. 733-764(32)

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




109

[63] G. RAMIREZ, S. ZEGHLOUL, Exponential control law for a multi-degree of freedom mobile robot ; Robotics
and Automation, 2003. Proceedings. ICRA '03. IEEE International Conference on Volume 1, 14-19 Sept. 2003
Page(s):509 - 514 vol.1

[64] Richalet, J., Rault, A., Testud, J.L., Papon, J., "Model Predictive Heuristic Control :
Applications to Industrial processes", Automatica, 14, 413-428 (1978)

[65] E.D. SONTAG, Mathematical Control Theory Deterministic Finite Dimensional Systems , Editeur :
Springer-Velag, New-York, 1990

[66] Tengda Sun, Jinfeng Wang, A traffic cellular automata model based on road network grids and
its spatial and temporal resolutions influences on simulation Simulation Modelling Practice and
Theory, Volume 15, Issue 7, August 2007, Pages 864-878

[67] Tournassoud, P., Planification et contrle en robotique, application aux robots mobiles et
manipulateurs, ED Hermes, Paris 1992

[68] Wang, X.; Hou, Z.; Zou, A.; Tan, M.; Cheng, L. , A behavior controller based on spiking
neural networks for mobile robots Neurocomputing Volume 71 , Issue 4-6 (January 2008)
Pages 655-666

[69] Wongngamnit, C., Angluin., D., Robot localization in a grid, Information Processing Letters
archive. Volume 77 , Issue 5-6 (March 2001) table of contents. Pages: 261 - 267

[70] Xu, W.L., A virtual target approach for resolving the limit cycle problem in navigation of a
fuzzy behaviour-based mobile robot ; Institute of Technology and Engineering, College of
Sciences, Massey University, Palmerston North, New Zealand ; Received 22 June 1998 ;
accepted 20 August 1999

[71] Yang Cheng, Maimone, M.W., Matthies, L. , Visual odometry on the Mars exploration rovers
- a tool to ensure accurate driving and science imaging,IEEE Robotics & Automation
Magazine, Volume 13, Issue 2, June 2006 Page(s):54 62








t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




II

Annexe I : Intgration sur le CyCab




Nous prsentons lintgration technique du circuit de commande pour le vhicule Cycab, ainsi
que les diffrents lments qui composent le robot et leur principe de fonctionnement.


1. Les moteurs

Les 4 roues du vhicule sont motrices, et sont actionnes indpendamment les unes des autres,
par des moteurs courant continu de type MP 8165, quips de codeurs incrmentaux HEDS-9140.
Chaque moteur est aliment par un hacheur de puissance, fonctionnant sous le 48V fourni par les
batteries du circuit de puissance.


Figure 84- Moteur de traction avec codeur incrmental


2. Les hacheurs

Les hacheurs fournissent la tension ncessaire aux moteurs, suivant la vitesse et le sens de
rotation souhaits. Linformation sur la vitesse est fournie au hacheur par lintermdiaire dun
signal PWM. Le signal PWM (pulse width modulation) est un signal en crneau dont le rapport
cyclique est proportionnel la vitesse de rotation souhaite. Le hacheur reoit galement un
signal binaire lui indiquant le direction. Suivant le sens de direction souhaite, la polarit de la
tension fournie par le hacheur est inverse, de manire ce que le moteur tourne dans le bon sens.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




III


Figure 85- Les hacheurs de puissance


Figure 86-Le signal PWM

3. Les cartes daxe

Chaque hacheur est pilot par une carte daxe indpendante. Ces cartes daxe sont des LM
629 CS fabriques par la socit Sidena. Chaque carte pilote un moteur de traction diffrent. Pour
ce faire elles reoivent les signaux des ch A et B des codeurs incrmentaux et gnrent des signaux
PWM et direction qui sont envoys aux hacheurs. Les 4 cartes sont fixes sur un mme rail, le rail
de traction, qui comprend en plus une carte dalimentation et une carte LAN permettant dassurer la
liaison, sous protocole TCP-IP, avec lordinateur de contrle.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




IV


Figure 87- Rail de commande Sidena, avec 4 cartes daxe, un module dalimentation et un module ethernet

Pour le mcanisme de direction du vhicule, le volant et la crmaillre ont t remplacs par
un vrin lectrique. De manire similaire aux moteurs de traction, le vrin de direction est aliment
par un hacheur, lui-mme pilot par une carte LM 629 Un codeur optique incrmental permet
deffectuer le contrle le braquage, et un capteur de dplacement rectiligne de type REC-TIP12 de
MCB industrie, un potentiomtre linaire, positionn au dessus du vrin, sert de capteur de position
absolue permettant de tenir compte de loffset de position initiale du vrin. La mesure de ce capteur
est lue par une carte dentre analogique positionne sur un deuxime rail, le rail de direction,
comprenant la carte daxe correspondant au vrin de direction, une carte dalimentation, une carte
rseau et donc la carte dentre analogique.


Figure 88- Vrin de direction quip dun potentiomtre linaire

Chacun des deux rails (traction et direction) possde une adresse IP propre, lui permettant de
communiquer avec le PC. La communication entre les cartes contenues dans un mme rail, se fait
par lintermdiaire dun bus I2C, qui sert la fois de support dalimentation et de communication
lintrieur du rail.

Chaque roue est quipe dun frein tambour mcanique, commands par un moteur de type
essuie-glace de voiture. Ce moteur fonctionne en tout ou rien, avec deux positions remarquables :
une ou il tire sur le cble, et une ou il ne tire pas.

Larchitecture globale est prsente sur la figure Figure 89- Schma gnral du vhicule.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




V




Figure 89- Schma gnral du vhicule


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




VI

Annexe II : Modle inverse plat du CyCab




VI. Point de contrle du robot

Figure 90 reprsente la structure mcanique du vhicule CyCab. Sur ce schma, nous avons
reprsent la position d'un axe fixe virtuel, situ entre les essieux avants et arrires. Si l'on considre
le cas d'un vhicule parfait voluant sans glissement, cet axe virtuel passe par le centre instantan de
rotation G. L correspond l'empattement (distance entre les essieux avant et arrire), et l'essieu
virtuel passe par le point C une distance L de l'essieu avant.


Figure 90 : Gomtrie du CyCab

Gomtriquement, on trouve :

) ( tan r L =

) ( tan ) 1 ( k r L =



A partir de ces quations sur le position du point de contrle C et de l'essieu virtuel fixe, nous
tudions 3 diffrents cas : k = 0, k = 1 et 0 < k < 1.


VII. Cas k = 1 : mme angle de braquage l'avant qu' l'arrire

Dans ce cas = 0.5 et le point de contrle C reste fixe, sur le barycentre des 4 roues du
vhicule (appel M). Dans ce cas, on se retrouve avec un vhicule possdant des capacits de
rotation doubles par rapport une voiture classique:

cos . v x
M
= &

sin . v y
M
= &

|

\
|
=
L
v

tan . 2
&


x, y, et dsignent respectivement la position, l'orientation et le braquage du robot.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




VII


Un systme plat est un systme qui devient quivalent un systme linaire si l'on utilise un
bouclage endogne. Le modle obtenu tant diffrentiellement plat, nous pouvons exprimer les
entres (v, ) du robot en utilisant des sorties plates z
1
, z
2
suivantes et un nombre fini de leurs
drives :

) ( ) (
) ( ) (
2
1
t y t z
t x t z
C
C
=
=


Nous obtenons le modle cinmatique inverse plat du robot :

( )
|
|
|

\
|
+

=
+ =
|
|

\
|
=
2
3
2
2
2
1
2 1 2 1
2
2
2
1
1
2
. 2
. arctan
arctan
z z
z z z z
L
z z v
z
z
& &
& & & & & &
& &
&
&





VIII. Cas k =0 : mme angle de braquage l'avant qu' l'arrire

Dans ce cas nous retombons exactement sur le modle de type voiture, dont le modle inverse
bien connu est le suivant :

( )
|
|
|

\
|
+

=
+ =
|
|

\
|
=
2
3
2
2
2
1
2 1 2 1
2
2
2
1
1
2
. arctan
arctan
z z
z z z z
L
z z v
z
z
& &
& & & & & &
& &
&
&





IX. Cas k 1

Dans ce cas, la position du point C n'est plus fixe sur le robot, elle varie en fonction de l'angle
de braquage. devient une fonction trigonomtrique de l'angle de braquage . La relation entre le
barycentre M et le point de contrle C est alors donne part :

cos . ). 5 . 0 ( L x x
M C
+ =

sin . ). 5 . 0 ( L y y
M C
+ =


L'expression du modle inverse du vhicule devient :

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




VIII

( )
|
|
|

\
|
+

=
+ =
|
|

\
|
=
2
3
2
2
2
1
2 1 2 1
2
2
2
1
1
2
. . arctan
arctan
z z
z z z z
L
z z v
z
z
& &
& & & & & &
& &
&
&




dpendant de , il n'est plus possible d'exprimer les sorties plates gnrales du systme.
Cependant, la Figure 91 montre que pour des angles de braquage compris entre 30 et +30, et 0.5 <
k < 2, la position du point de contrle C varie peu en fonction du braquage et dpend
essentiellement de k et donc de la structure mcanique du robot.

Position of the control point along the axis
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
-40 -30 -20 -10 0 10 20 30 40
front wheels steering angle

k=1
k=1,5
k=2
k=0,66
k=0,5

Figure 91 : position du point de contrle C en fonction du braquage et de k

Comme nous observons de faibles variations de la position du point de contrle, nous
ngligeons ses variations en fonction de l'angle de braquage et l'exprimons en fonction de k, en
utilisant un dveloppement limit :

) ( tan
3
+ =

) (
3

+
+
=
k


) (
1
1
3
+
+
=
k


Ainsi nous aboutissons au modle inverse plat gnral pour les robots de type voiture deux
essieux directeurs :

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




IX

( )
|
|
|

\
|
+ +

=
+ =
|
|

\
|
=
2
3
2
2
2
1
2 1 2 1
2
2
2
1
1
2
). 1 (
) (
. arctan
arctan
z z k
z z z z
L
z z v
z
z
& &
& & & & & &
& &
&
&





X. Validation du modle

Pour valider ce modle, nous l'avons confront au modle cinmatique direct du robot. A
partir de trajectoires obtenues lors d'une simulation de navigation par modle direct et lignes de
fuite, nous avons recalcul les entres )

, ( v correspondantes grce au modle cinmatique inverse.


Nous avons ensuite compar ces entres avec celles injectes en entre du modle cinmatique.


Figure 92 : principe de la comparaison

montre les rsultats obtenus pour k = 2. Les vitesses v et v au long de la navigation y sont
reprsentes, et montre l'cart entre les deux vitesses.
Nous avons observ que l'cart entre les deux vitesses restait faible, et que l'approximation sur
la position du point C constant en fonction de l'angle de braquage ne gnrait pas d'erreurs
importantes (infrieures 0.3 m.s
-1
dans le pire des cas, correspondant aux grandes acclrations /
dclrations).



Figure 93 : Evolution de la vitesse calcule le long du parcours


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




X


Figure 94 : Ecart entre la vitese injecte en entre de MCD et calcule par le MCI

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XI

Annexe III : Etude de diffrents algorithmes d'optimisation




XI. Principe des algorithmes

Un algorithme doptimisation est un processus cherchant optimiser une fonction critre
(c'est--dire la minimiser ou la maximiser), en dterminant les paramtres dentre correspondants.
Par exemple, pour une fonction z = f(x,y), lalgorithme cherchera dterminer le couple (x,y)
minimisant z.

Il nexiste pas dalgorithme permettant de dterminer coup sr le minimum global dune
fonction (en dehors de lnumration exhaustive des couples dentre). On distingue principalement
deux types dalgorithmes : les mthodes dterministes, et les mthodes stochastiques (c'est--dire
probabilistes).

Nous avons cherch dterminer quel type d'algorithme nous permettrait d'obtenir les
meilleures performances pour notre navigateur par commande prdictive. Nous avons tudi un
algorithme de chacune des deux catgories mentionnes : l'algorithme Levenberg-Marquardt pour le
dterministe, et l'algorithme Recuit Simul pour le stochastique.


1. Levenberg Marcquardt

LM est un algorithme doptimisation dterministe, il trouvera toujours la mme solution pour
un problme donn. Cest une mthode qui utilise les informations contenues dans la fonction
critre, savoir le hessien et le gradient de la fonction, pour converger le plus efficacement possible
vers le minimum local de la fonction.

Les avantages de cet algorithme sont :
- la convergence vers la solution exacte du problme
- la trs grande rapidit converger (en 2/3 itrations on est trs proche de la solution
optimale)

Les inconvnients :
- trs grande sensibilit aux problmes de minima locaux, donc rsultats tributaires de
linitialisation de lalgorithme
- peu ditrations pour converger certes, mais une itration demande un grand nombre de
calculs (gradient et hessien numrique, inversion de matrice)


2. Recuit simul

RC est un algorithme stochastique, c'est--dire quil est bas sur une part dalatoire et
trouvera une solution diffrente si on lui reprsente le mme problme. Le principe de cet
algorithme sinspire du principe physique du recuit des matriaux solides. Le chauffage du matriau
trs haute temprature, puis son refroidissement lent conduisent une rorganisation plus
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XII

ordonne des atomes constituant le matriau, et lamenant ainsi vers un tat plus stable (nergie plus
faible).

A partir dune position (x,y) initiale, lalgorithme va passer de manire alatoire une
position proche. Si le critre associ cette position est plus faible, on conserve cette position. Si le
critre est plus lev, on pourra tout de mme conserver cette position, mais selon une loi de
probabilit dcroissante au fil du temps (mimant ainsi le refroidissement dun matriau). La
probabilit de passage vers un critre plus lev suit une formule du type :

) exp( 1
T
J
P

=

Dans cette formule, J est lcart entre le nouveau critre et lancien, et T joue le rle dune
temprature qui diminue au fil du temps, selon une loi de refroidissement quil faut rgler
empiriquement. Ainsi au dbut du processus, de nombreux mouvements vers des positions
associes un critre plus lev seront tolrs, permettant lalgorithme dexplorer plus de rgions
et ainsi ne pas senfermer dans un minimum local.

Au fur et mesure de lvolution du processus doptimisation, ces transitions vers des critres
plus levs seront de moins en moins permises, ce qui contraint lalgorithme converger vers un
minimum.

Les avantages de cet algorithme sont :
- une grande capacit viter les minima locaux et converger vers le minimum global
- il ny a pas de condition particulire sur les particularits de la fonction cout

Les inconvnients sont :
- l algorithme converge vers une solution approche et non une solution exacte
- vitesse de convergence plus faible au voisinage du minimum global


XII. Test de l'algorithme Levenberg-Marquardt

1. Tests avec une grille doccupation

Le principe de la grille doccupation est le suivant : on rajoute tout simplement une
pnalit infinie la fonction z pour un certain nombre de cases de la grille (reprsentes en
verte). En dehors de ces cases on ne rajoute aucune pnalit. Par pnalit infinie on entend une
valeur largement suprieure nimporte quelle valeur de z dans le domaine de recherche.


a) Minimum hors contrainte

Dans ce test, on demande lalgorithme de trouver le minimum de la fonction, qui est en
dehors de lespace des contraintes. La difficult est que lon linitialise de telle manire quentre le
point initial de lalgorithme, et le point minimum, il y a la rgion des obstacles.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XIII


Figure 95

Dans ce test (Figure 95), on voit que lalgorithme a bien fonctionn : il a russi trouver le
minimum global de la fonction, malgr la prsence de contraintes sur son chemin de recherche. (on
rappelle quil ne sagit pas dune trajectoire de robot, peu importe que le chemin fait par
lalgorithme passe dans les contraintes, ce quon veut cest quil trouve le minimum de la fonction).

En navigation, ce type de cas intervient lorsque la trajectoire idale du robot (celle qui se
rapproche le plus de la trajectoire de rfrence) ne heurte pas les obstacles, mais que par contre
lalgorithme est optimis de mauvaise manire. Donc priori, quelque soit la manire dont il est
optimis, lalgorithme trouvera la solution optimale si celle-ci est en dehors des contraintes.

b) Minimum dans les contraintes, bonne initialisation de lalgorithme

Dans ce test, le minimum de la fonction z est situ dans le domaine des contraintes. En
navigation, ce cas correspond celui o la trajectoire de rfrence heurte les obstacles. (la
trajectoire de rfrence est calcule on le rappelle sans tenir comptes des obstacles mais uniquement
par rapport aux points fournis par le planificateur et la position courante du robot). Dans ce cas la
mission de lalgorithme serait de dterminer la trajectoire qui se rapproche le plus de la trajectoire
de rfrence, mais sans heurter les obstacles. Dans notre test, cela correspond trouver le minimum
de la fonction qui soit en dehors des contraintes.

Sur le test, on voit que cette mission a bien t remplie (Figure 96). Par contre le point
dinitialisation de lalgorithme lui tait plutt favorable pour trouver ce minimum (il ne traversait
pas les grilles occupes).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XIV


Figure 96

c) Minimum dans les contraintes, et mauvaise initialisation

Ce problme est le mme que le prcdent, sauf que cette fois ci on a volontairement mal
initialis lalgorithme. Cette situation correspond celle o en navigation, on se prsente face un
obstacle : la trajectoire de rfrence passe travers lobstacle, et lalgorithme ne part pas sur uns
solution de contournement, mais sur une ligne droite (cas classique, on initialise toujours
lalgorithme avec un braquage nul).

Dans ce cas on voit que lalgorithme a chou (Figure 97), il na pas russi trouver la mme
solution que dans le cas 2. Il est tout simplement tomb dans un minimum local. Dans ce cas, si il
sagissait de guider le robot, lalgorithme lui dirait daller jusqu lobstacle, et de sy arrter. Cest
donc un chec.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XV


Figure 97

d) Conclusion

Dans le 3
e
cas, si on cherche savoir pourquoi lalgorithme na pas contourn lespace des
contraintes, on peut penser que cela est d la nature discrte des contraintes. En effet, vu que
lalgorithme se base sur le calcul du Hessien et du gradient pour se guider vers le minimum, la
discontinuit introduite par ce type de contrainte peut poser problme. Cest ce que lon a cherch
vrifier en travaillant sur des contraintes continues dans la prochaine srie de tests.


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XVI

2. Tests avec des contraintes continues

Ici on traite les contraintes comme des obstacles segments, c'est--dire quon calcule pour
chaque point (x,y) la distance d entre ce point et lobstacle le plus proche, et on pnalise la fonction
z par une fonction hyperbolique :

d
b y a x z
1
) ( ) (
2 2
+ + =

Pour toutes les points contenus lintrieur de lobstacle, on fixe la distance d une valeur
infiniment petite.


a) 1) Minimum hors contrainte

Le test est le mme que dans le 1.1 : trouver le minimum de la fonction, qui est en dehors de
lespace des contraintes, en partant dun point mal plac .

Figure 98

Les rsultats obtenus sont les mme quavec la grille doccupation : lalgorithme parvient
trouver le minimum local de la fonction z (Figure 98).





t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XVII

b) 2) Minimum dans les contraintes, bonne initialisation de lalgorithme

Ce test est le mme que dans la section 1.2. Le minimum de la fonction z est situ dans le
domaine des contraintes. Il sagit donc de trouver le minimum de la fonction qui soit en dehors des
contraintes. Lobjectif a t atteint (Figure 99), mme si on remarque que le point trouv est moins
proche du vrai minimum local. Cela est d la pnalit qui devient trop forte ds lors quon
sapproche des contraintes


Figure 99

c) 3) Minimum dans les contraintes, et mauvaise initialisation

Ce problme est le mme que dans la section 1.3, c'est--dire mme problme que le
prcdent mais avec une mauvaise initialisation. Lalgorithme na pas mieux russi se rapprocher
du minimum local, malgr la continuit dans la fonction optimiser (Figure 100).

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XVIII


Figure 100
d) Conclusion

Cette srie de tests a permis de dmontrer que lalgorithme Levenberg-Marquardt ntait pas
capable de converger correctement vers le minimum global de la fonction, dans le cas o le
minimum de la fonction cout non pnalise par les contraintes appartenait au domaine des
contraintes. Ce problme correspond, en navigation, celui o la trajectoire de rfrence passe au
milieu des obstacles. Ces simulations ont permis de montrer que dans ce genre de situation,
lalgorithme pourra ou non trouver le minimum global, qui correspond une solution de
contournement dobstacle, suivant la manire dont on linitialise.

XIII. Recuit simul

Lalgorithme de recuit simul a t soumis au test numro 3 du rapport sur lalgorithme
Levenberg Marquardt ( minimum de la fonction situ dans les contraintes, et mauvaise
initialisation). Dans ce test, nous avons vu que lalgorithme LM senfermait dans un minimum
local, quelque soit manire dintroduire les contraintes (mthode continue ou mthode discrte).

1. 1 obstacle-contrainte

Comme il sagit dune mthode probabiliste, pour que le test soit significatif il faut faire un
grand nombre dessais et donner les rsultats sous forme statistique. Nous avons donc effectu 1000
tirages successifs du mme problme, pour regarder les solutions obtenues. Un exemple de rsultat
du processus ditration est montr sur la Figure 101.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XIX


Figure 101 - Recherche du minimum global par lalgorithme

Le graphe ci-dessus reprsente les dplacements de lalgorithme lors de sa recherche dans
lespace (x ,y). Ce graphe est difficile lire tel quel, ce que lon remarque surtout cest que
lalgorithme a visit un peu partout au cours de sa recherche.

Les graphes ci-dessous (Figure 102, Figure 103 et Figure 104) permettent de mieux voir la
manire dont lalgorithme a converg : lvolution du critre, de x et de y sont reprsents en
fonction des itrations de lalgorithme.

Figure 102 - Evolution du critre en fonction des itrations


t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XX

0 100 200 300 400 500 600
-6
-4
-2
0
2
4
6
iteration
x

Figure 103 - Evolution de x

Figure 104 - Evolution de y

Ces rsultats permettent de constater que malgr le dsordre apparent dans la manire de
lalgorithme davancer, en ralit il sest bien dplac vers la solution optimale situe en (-1.5, -2).

Sur un grand nombre dessais (1000), on a obtenu les rsultats suivants :
- 98.4% des essais ont trouv le minimum global de la fonction
- 75.0% des essais ont trouv le minimum avec une prcision infrieure 1 sur x et sur y
(donc 23% ont trouv le minimum global mais sous une prcision assez mauvaise).

Bien sr ces rsultats sont tributaires de la manire de rgler lalgorithme (notamment la loi
de refroidissement). Cependant cela montre que cet algorithme est efficace pour dterminer un
minimum global sur ce type de problme (l o lalgorithme LM tombait dans les minima locaux).

2. 2 obstacles-contraintes

Nous avons effectu des tests sur l'algorithme en rajoutant un second obstacle dans le plan des
solutions admissibles. La fonction minimiser est z=(x+4)*(x+4)+(y-6)*(y-6), et on regarde, sur
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XXI

1000 tirs, en combien d'itrations en moyenne l'algorithme trouve la solution optimale, sous une
prcision donne.

Un exemple de rsultat est donn sur la Figure 105, et montre la convergence de la fonction z
sur cet exemple (Figure 106).

Figure 105

Figure 106
Sur les 1000 essais, nous avons obtenu une moyenne de 628 itrations pour atteindre la
solution globale. Nous avons compar ce rsultat au nombre d'essais obtenus pour le mme scnario
mais avec 1 seul obstacle : cette fois ci la moyenne tait de 471 itrations pour trouver la solution
globale.

Ces rsultats montrent que mme avec deux contraintes venant casser la convexit de la
fonction minimiser, l'algorithme recuit simul parvient trouver le minimum global. Cependant,
le nombre d'itrations (et donc le temps de calcul) ncessaire pour atteindre le rsultat optimal avec
la mme prcision augmente de 33%.
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XXII


XIV. Tests de gnration de trajectoire et navigation

Tout le problme de navigation est contenu dans le critre Z
tot
qu'il faut minimiser. Le travail
de l'algorithme d'optimisation est de trouver l'ensemble des paramtres p
1v
, p
2v
, p
1
et p
2
minimisant
ce critre. Cela revient dterminer la commande u permettant de gnrer le mouvement du robot
le plus proche de la trajectoire de rfrence, et respectant les diffrentes contraintes.

Les algorithmes doptimisation sous contraintes peuvent tre classs en deux catgories. Les
algorithmes dterministes prsentent gnralement les meilleures proprits de convergence, et
permettent dobtenir des solutions plus prcises et plus rapidement. Par contre, ils sont trs
sensibles aux problmes des minima locaux. Or lintroduction de contraintes discrtes dues aux
obstacles a justement pour effet de casser la convexit de la fonction cot et d'introduire des
minima locaux.

La seconde catgorie dalgorithme est celle des algorithmes stochastiques. Ces algorithmes
sont bass sur des approches probabilistes. Ils prsentent linconvnient dtre moins prcis et
moins rapides converger que les algorithmes dterministes (leur convergence nest dailleurs pas
toujours prouve). Par contre, ils possdent lavantage dtre beaucoup moins sensibles aux
problmes de minima locaux, ce qui leur permet, dans le cadre de problmes de navigation en
milieu encombr, de trouver des trajectoires de contournement dobstacle quun algorithme de type
dterministe ne saurait pas trouver.

Pour illustrer cela, la Figure 107 prsente une situation dans laquelle le robot est face un
obstacle en U. La trajectoire de rfrence ne tient pas compte de la position de l'obstacle, et passe en
plein milieu de celui-ci. Dans l'espace paramtrique, cela engendre un minimum local. Suivant la
manire dont sont initialiss les paramtres, l'algorithme dterministe tombe dans ce minimum
local (figures de gauche), alors que l'algorithme stochastique lui parvient trouver les paramtres
optimaux quelque soient les paramtres initiaux, permettant au robot de trouver une trajectoire de
contournement d'obstacle. La trajectoire complte de contournement est reprsente sur la Figure
108.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XXIII



Figure 107

Figure 108


Le choix du type dalgorithme est donc dpendant du type de terrain dvolution (dgag ou
obstru), et de la confiance que l'on a dans le planificateur concernant sa prise en compte des
obstacles dans la gnration de chemin. Pour l'application du navigateur en milieu encombr, nous
avons utilis un algorithme stochastique, l'algorithme recuit simul, de manire tester la
robustesse du navigateur une planification incomplte.

t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0




XXIV



XV. Discussion

Ces rsultats montrent quun algorithme tel que le recuit simul est capable de rsoudre la
problmatique du contournement dobstacles. En effet le problme que nous avons pos ici aux
algorithmes, semble proche de celui du contournement dobstacle avec une trajectoire de rfrence
qui passerait dans les obstacles : une trajectoire optimale (celle qui suivrait le mieux la
trajectoire de rfrence) qui nest pas admissible car heurtant les obstacles (donc minimum de la
fonction ne respectant pas les contraintes).

Cependant, une combinaison des deux types de mthodes pourrait amliorer encore
d'avantage les rsultats, soit en utilisant les deux successivement (premires itrations en RC, et
affinage en LM), mais dans ce cas les temps de calculs seraient doubls ; soit en switchant
lalgorithme doptimisation suivant le type de terrain dvolution (encombr dobstacles ou non).
On encore en activant lalgorithme RC lorsque le robot a dtect quil se trouvait dans une impasse.





t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0






Nicolas MORETTE

Contribution la Navigation de robots mobiles : approche par
modle direct et commande prdictive

Rsum :
Lautonomie dun robot mobile autonome requiert la ralisation coordonne de tches de commande et de
perception de lenvironnement. Parmi celles-ci, la navigation joue un rle de pivot dans linteraction du robot
avec son terrain dvolution. Elle consiste en la dtermination de trajectoires ralisables par le robot pour
suivre un chemin prtabli, tout en assurant la non collision avec les obstacles, mobiles ou fixes. Pour
effectuer cette tche, notre approche sappuie sur le modle cinmatique direct du vhicule pour gnrer
des trajectoires admissibles par le robot. En premier lieu, une trajectoire de rfrence est construite partir
du chemin suivre. Le problme de navigation est alors modlis sous la forme dun problme
doptimisation sous contraintes dont la fonction cot quantifie lcart entre la trajectoire prdite du robot et la
trajectoire de rfrence. Les obstacles sont intgrs sous forme de contraintes en pnalisant le critre, et sa
minimisation dtermine la commande optimale appliquer. Cette navigation par commande prdictive nous
permet danticiper les mouvements de contournement dobstacles sur lhorizon de prdiction choisi, tout en
gardant une certaine ractivit vis--vis de la dynamique des obstacles et du robot. En outre, lutilisation de
familles de trajectoires paramtres permet de maitriser le comportement du vhicule.
Mots cls : robotique mobile, navigation, modle direct
Contribution to mobile robots Navigation : direct model and
model based control approach

Summary :
Autonomous robots have to perform both control and perception tasks coordinately. Among these ones, the
navigation task is a key in the interaction between the robot and its environment. It consists of determining
the trajectories which the robot can follow in order to negotiate correctly around static and dynamic
obstacles, assuming that it is programmed to map out its environment and situate itself within that
environment. To perform this task, our approach rests on the direct kinematics model of the robot to
generate admissible trajectories for the robot. Firstly, a reference trajectory is computed from the reference
path provided by a path planer. Then the navigation task is modelized as an optimization under constraints
problem, whose the cost function quantify the gap between the reference trajectory and the predicted
trajectory of the robot. The obstacles are taken into account as constraints, and the minimization of the
resulting cost function determinate the optimal control for the robot on a prediction horizon. This predictive
navigation allows the robot to anticipate bi-pass movements on the chosen prediction horizon, Moreover, the
behaviour of the robot is mastered by the use of parametered trajectories families.
Keywords : mobile robot, navigation, direct model




Institut PRISME, IUT de Bourges
63, Avenue de Lattre de Tassigny, 18020
Bourges

]
t
e
l
-
0
0
5
1
7
3
7
6
,

v
e
r
s
i
o
n

1

-

1
4

S
e
p

2
0
1
0