• Aucun résultat trouvé

Solution de l'algorithme

3.3.3 Developpement des nuds du graphe G

Nous decrivons dans cette section le principe de developpement du nud dont la con guration atteinte physiquement est donnee parq

i. Cela consiste en la generation d'un ensemblede con gurations geometriquementatteignables a partir deqet ce par l'utilisation de chemins non-holonomes simples constitues soit d'une ligne droiteS, soit d'un arc de cercleC. Comme enonce dans la section 3.2.3, la generation de ces cheminsest e ectuee directementpar rapport au plan horizontal de W et considere le modele cinematique 2D presente en debut de ce chapitre. A l'instar de [6, 19], l'estimation des successeurs de q

i consiste a selectionner a chaque fois un vecteur de contr^ole (cinematique) parmi un ensemble discret et de l'appliquer pendant une periode de temps xee G sur le robot. Les contr^oles consideres sont de nis par la vitesse de translation vet l'angle de braquage  de

A.

Pour un contr^ole (v;) donne et sous l'hypothese du glissement au niveau des roues de l'essieucentralE

c et la contrainte cinematique3.5, le mouvementdu point centreC

A deA decrit a tout instant un chemin a rayon de courbure de ni par

 =L

r

=(2sin

0), ou 

0 est l'angle entre le vecteur vitesse de translation de C A

et l'axe longitudinal deA (cf. gure 3.6). Dans le cas ou = 0 et par consequent

 0, C

A decrit un mouvement en ligne de droite. Nous rappelons que  et  0 sont lies par l'equation 3.2, i.e. tan

0= tan L r

=(2L,L

r). Le mouvement de A est donne par l'equation 3.6 que nous rappelons ici:

8 > < > : _ x(t) = vcos(+ 0) _ y(t) = vsin(+ 0) _ (t) = v sin 0 Lr=2

Le mouvement du robot est parametre de maniere a ce que l'origine du temps (t = 0) concide avec l'instant ou le robot se trouve a la con guration q

i (i.e.

q

i =q(0)). En eliminantv des deux premieres equations de (3.1), les parametres de _q peuvent ^etre reecrits comme:

8 > > < > > : _ x(t) = Lr 2sin0 _cos(+ 0) _ y(t) = Lr 2sin0 _sin(+ 0) _ (t) = v sin0 Lr=2 (3.8) Sous l'hypothese que  et v restent constants pendant l'intervalle de temps donne par [0;TG], la con guration q(TG) peut ^etre obtenue par une simple integration temporelle des vitesses (_x;y;_ _) donnees par l'equation 3.8. Ainsi,

q(TG) est donnee, dans le cas ou 6= 0, par:

8 > > < > > : x(TG) = xi+ Lr 2sin0 (sin((TG) + 0),sin(i+ 0)) y(TG) = yi, Lr 2sin0 (cos((TG) + 0),cos(i+ 0)) (TG) = i+v sin0 Lr=2 TG (3.9)

et dans le cas ou = 0, par:

8 > < > : x(TG) = xi+vcosi:TG y(TG) = yi+vsini:TG (TG) = i (3.10)

Soient Vmax etmax les bornes sur la vitesse et l'angle de braquage deA, i.e.

8t, on a jv(t)j Vmax et j(t)j  max. Ainsi, et v peuvent se reecrire sous la forme  = "max et v="vVmax, ou " et "v sont tous deux des reels veri ant

j"j1 et j"vj1. Ainsi, les con gurations accessibles a l'instant TG a partir deqi et en parcourant soit une ligne droite, soit un arc de cercle sont obtenues en considerant toutes les instantiations de (";"v) choisies dans l'ensemble [,1;1]2. A n de limiter le temps d'exploration de l'algorithme, on se restreindra a un sous ensemble de [,1;1]2. Comme dans la plupart des methodes basees sur une telle exploration de l'espace de con gurations pour la plani cation de chemins non-holonomes telles que [6, 19] considerent l'ensemble des contr^oles maximaux en la vitesse et l'angle de braquage, i.e. l'ensemble (";"v)2f,1;0;1gf,1;1g. L'ensemble des con gurations q(TG) correspond alors a l'execution de 3 mou-vements en marche avant de type virage a gauche, virage a droite et ligne droite, et 3 mouvements analogues en marche arriere ( gure 3.7). En n, la periode de temps TG est choisie telle que les con gurations generees soient toutes eloignees de qi d'une distance de l'ordre de la taille de A.

Remarque

La con guration source qi etant atteinte prealablement par une trajectoire locale executable ,i, l'etat reduit du vehicule a cette con guration est alors connu.

L'algorithme de plani cation 55

Fig. 3.7 - Generation des successeurs d'une con guration q i

.

Cet etat, note s(q

i), correspond a l'extremite nale de ,i et inclut les vitesses lineaire et angulaire (v;_) deA enq

i. Dans le cas ou jvj>v, ou vest une vitesse seuil, les con gurations correspondant a un rebroussement de chemin au niveau deq ne sont pas generees. Ceci est d^u au fait que si le vehicule roule a une vitesse assez importante, la con guration ou il va reellement rebrousser son chemin se trouve dans la plupart des cas eloignee deq, i.e. en dehors d'un certain voisinage.

3.3.4 Non-collision aux obstacles

Le test de non-collision entre les obstacles de l'ensembleB et le robotAquand il est a une nouvelle con guration q venant d'^etre generee dans le graphe G est e ectue en formulant ce probleme directement dans l'espace de travailW. Pour ce faire, nous utilisons un algorithme simple de detection des collisions base sur le modele hierarchique en disques des obstacles presente dans la section 3.2.2.

L'algorithme de detection de collision est base sur une exploration en profon-deur de l'arborescence deB

i a n de determiner l'ensemble des disques minimaux en intersection avec A. Au depart de cette recherche, A est approxime par un disque correspondant a la projection sur le plan (x;y) d'une sphere englobante minimale centree en son point de referenceC

A (cf. gure 3.2). A chaque fois que ce disque est detecte en intersection avec un disque minimalD

i de la represen-tation de B

i, un test de collision est refait en considerant D

i et un rectangle couvrant A. Ce rectangle est choisi centre en C

A et de c^otes egaux a la largeur et a l'empattementL au repos deA.

3.4 La fonction de co^ut