• Aucun résultat trouvé

6.4 Fonctionnalit´es

6.4.4 Trajectoire et Mouvement

Nous expliquons maintenant comment sont r´ealis´es le calcul et la r´ealisation de trajectoires sur nos robots. Nous pr´esentons d’abord une navigation r´eactive permettant l’´evitement d’obs-tacles et ensuite une m´ethode de navigation prenant explicitement l’homme en compte.

Navigation r´eactive : NDD et VSTP

Concernant Rackham et sa fonction de guide, le robot est sens´e se diriger vers des zones “cibles” d´efinies dans le fichier TARGET zone (cf section 6.4.1.0). Jido peut utiliser les mˆemes

modules.

Les mouvements du robot impliquent 3 modules :

rflex qui g`ere le contrˆole des moteurs et transf`ere les vitesses de consigne au microcontrˆoleur sur Rackham,

ndd ] int`egre une proc´edure d’´evitement local des obstacles bas´e sur l’algorithme du Nearness Diagrams [MOM04]. Les zones de visibilit´e sont fournies par la carte locale du module

aspect (cf6.4.2).

vstp (Very Simple Trajectory Planner) se base sur un graphe de visibilit´e optimis´e grˆace `a des tables de hashages8

. Un graphe de visibilit´e principal est pr´ecalcul´e sur la base des segments de la carte globale. Les obstacles dynamiques peuvent ˆetre ajout´es ou enlev´es par la suite en temps r´eel par le superviseur.

La strat´egie utilis´ee par la suite consiste `a calculer une trajectoire `a l’aide de vstp qui va constituer un fil d’Ariane pour l’algorithme de ndd: les sommets des lignes bris´ees constituent les sous-buts. Le superviseur a besoin d’intervenir uniquement sinddse trouve bloqu´e et ne fait aucun progr`es vers le but. Dans ce cas, plusieurs strat´egies peuvent ˆetre utilis´ees : calculer une nouvelle trajectoire prenant en compte les nouveaux obstacles, attendre, d´emarrer une interac-tion avec les personnes autour, etc. Le mouvement est consid´er´e comme termin´e lorsque le robot se trouve `a l’int´erieur de la zone TARGET (cf section 6.4.1). La vitesse maximum donn´ee au robot est g´en´eralement de 0.4 `a 0.6 m.s−1

mais cette vitesse est dynamiquement adapt´ee par

ndden fonction de la proximit´e et du nombre des obstacles d´etect´es.

Navigation en pr´esence de l’homme : NHP

Le modulenhpimpl´emente le planificateur HAMP (Human Aware Motion Planner [SAS+05, SUAS06]). Ce planificateur calcule un chemin dit “acceptable” pour l’homme en r´ealisant des raisonnements sur l’´etat de l’homme : sa position, son orientation, son champ de vue, son acces-sibilit´e mais aussi ´eventuellement sa posture et son activit´e.

3 crit`eres ont ´et´e d´efinis `a la suite de “user studies” :

Crit`eres de s´ecurit´e le robot doit ´eviter d’entrer en collision avec l’homme dans l’environne-ment et doit si possible ´eviter de passer pr`es de lui. Ce crit`ere est repr´esent´e sous la forme d’une gaussienne centr´ee sur l’homme.

Crit`eres de visibilit´e le robot, si cela est possible, doit pr´ef´erer rester dans le champ de vue des hommes. Ce crit`ere prend en compte les champs de vue des hommes et permet de rendre plus acceptable les mouvements du robot. La grille de visibilit´e est construite de mani`ere `a minimiser l’effort que fait l’homme pour garder le robot dans son champ de vue.

Crit`eres des zones cach´ees Le robot, si cela est possible, doit ´eviter d’apparaˆıtre brusque-ment pr`es de l’homme pour ´eviter tout effet de peur ou de surprise. Pour cela des coˆuts sont associ´es aux zones cach´es derri`eres les obstacles pr´esents dans l’environnement. Ces coˆuts sont inversement proportionnels `a la distance entre l’homme et le robot.

Chacun de ces crit`eres est repr´esent´e par une grille 2D attach´ee `a chaque homme contenant un ensemble de coˆuts d´ependant de l’´etat des hommes pr´esents dans l’environnement, mais aussi possiblement de l’homme lui-mˆeme. Les grilles sont ensuite combin´ees sous la forme d’une grille finale dans laquelle est calcul´ee le chemin ayant le moindre coˆut pour le robot `a l’aide d’un algorithme A*. Le chemin ainsi calcul´e est sans collision et r´ealisable par le robot tout en satisfiant les 3 crit`eres.

La figure 7 montre des exemples de calcul de trajectoires par nhp tandis que la figure 8 montre des exemples grilles calcul´ees `a partir des crit`eres d´efinis.

Le chemin calcul´e est ensuite envoy´e au module d’ex´ecution (rflex sur Rackham etjloco

sur Jido) qui va contrˆoler la vitesse des roues. Lorsque le robot se d´eplace, si une personne

8

6.4. Fonctionnalit´es

Fig. 7 – NHP : exemples de calcul de trajectoires par nhp `a l’aide des donn´ees de humPos (les ronds repr´esentent les hommes d´etect´es)

Fig.8 – NHP : exemples grilles calcul´ees `a partir des crit`eres d´efinis : s´ecurit´e - visibilit´e - zone cach´ee

est d´etect´ee ou perdue, ou si une personne change de position ou d’orientation, le planificateur recalcule un nouveau chemin. Pendant l’ex´ecution du chemin, la partie replanifi´ee est contrainte sur une petite partie avec l’ancien chemin calcul´e ce qui permet une transition plus naturelle entre l’ancien et le nouveau chemin.