• Aucun résultat trouvé

5.5 Exemple et fonctionnement

5.5.2 Sc´enario pour la manipulation d’objet

Nous conc´ederons l’exemple de la figure 5.12. Dans cet exemple, nous avons deux cubes C1 et C2. Ces cubes sont attach´es avec une ficelle, ce qui cr´ee une contrainte g´eom´etrique qui est Max distance(C1,C2) qui correspond `a (distance(C1, C2) < longueur f icelle). Les deux cubes sont pos´es sur une table, sur deux lignes parall`eles L1 et L2. L’´ecart entre les lignes est inf´erieur `a la longueur de la ficelle. Le but du robot est de d´eplacer les deux cubes de leurs positions actuelles P i1 et P i2 aux positions P f1 et P f2, avec la contrainte que le robot ne peut d´eplacer qu’un cube `a la fois, et que quand un objet est pos´e, il doit toujours ˆetre repos´e sur la ligne o`u il se trouvait.

Dans ce sc´enario, nous allons r´eutiliser les mˆemes actions atomiques que celles d´efinies pr´ec´edemment dans le sc´enario 1, en rajoutant au domaine une nouvelle m´ethode qui est

,

,

#

#

0F 0F

Figure5.12 – Illustration du sc´enario 3

฀ ฀ ฀ ฀ ฀ ฀ ฀ ฀ ฀ ฀ ฀ ฀

Figure5.13 – Plan produit par HATP hybride pour le sc´enario 3

BringObjectCloseTo(Agent Ag, Object Obj1, Object Obj2, Furniture F). C’est une m´ethode r´ecursive qui ne s’arrˆete qu’une fois que l’objet Obj est sur la position Pos. Elle n’a qu’une seule d´ecomposition possible et qui est valide `a tout moment. La s´equence de tˆaches qui la compose est (P ickup → P utdowwn → BringObjectCloseT o).

Les contraintes utilis´ees dans cet exemple sont :

– Max distance(Objet,Objet) : elle indique que la distance entre deux objets doit ˆetre inf´erieure `a une certaine valeur. Dans le cas du sc´enario, cette valeur est ´egale `a la longueur de la ficelle.

– OnLine(Objet, ligne) : elle d´efinit le fait que l’objet se trouve ou non sur une certaine ligne.

– Distance variation(Objet, Position) : elle renseigne sur la variation de la distance entre un objet et une position.

La figure 5.13 illustre le plan qui va ˆetre produit par le planificateur. Nous conc´ederons que le plan n’est qu’une succession de Pickup et Putdown, Le planificateur symbolique n’a aucun contrˆole sur la taille de la s´equence d’actions ni sur les choix de position de pose. Les seules contraintes qu’il impose sont celles associ´ees aux actions, et les pr´ec´edences entre les

actions. Si nous mod´elisions le mˆeme probl`eme avec un planificateur purement symbolique, nous ne pourrions pas atteindre ce degr´e de g´en´ericit´e. Puisque nous serions oblig´e d’ajouter au planificateur une fonction qui calcule le pas et qui tient compte de la longueur de la ficelle, les longueurs des lignes et l’´ecartement entre les lignes, en plus les actions Pickup et Putdown qui seront sp´ecifiques `a ce probl`eme.

5.6

Conclusion

Dans ce chapitre nous avons pr´esent´e notre approche pour un planificateur hybride, qui combine un planificateur symbolique bas´e sur un mod`ele HTN et un planificateur g´eom´etrique qui peut fournir des primitives de haut niveau. Cette combinaison n’est pas une nouveaut´e, puisqu’il existe plusieurs travaux qui traitent de la probl´ematique comme nous avons pu le constater dans la section 5.1. L’originalit´e de notre approche r´eside au niveau de la mod´elisation des tˆaches et des contraintes, la gestion des backtracks et son utilisation pour l’interaction homme-robot. En effet, nous avons pu constater que, dans notre mod`ele de tˆaches, il n’y a pas d’association rigide entre contrainte et action, et nous avons soulign´e le fait que cette association d´epend du but de l’action. Nous avons montr´e le m´ecanisme de propagation de contrainte qui permet de g´erer ces associations entre contrainte et action. Nous avons ´egalement montr´e que le syst`eme a une gestion efficace des backtracks, ce qui permet de limiter leur nombre. Nous avons illustr´e le fonctionnement sur plusieurs exemples o`u nous avons pu observer l’int´erˆet d’un tel couplage entre planification symbolique et planification g´eom´etrique.

Nous avons ´egalement not´e que le mod`ele pr´esente quelques d´efauts. Nous avons constat´e que le traitement s´equentiel des actions durant la planification g´en`ere des backtracks inutiles. Cela peut ˆetre ´evit´e en parall´elisant le plan durant la phase de planification ou en mettant en place une proc´edure qui fait un ordonnancement efficace.

De mˆeme, nous avons pu constater que le mod`ele pr´esente un d´efaut dans le contrˆole du comportement du robot pour l’interaction avec des humains. En effet, le mod`ele est con¸cu pour le contrˆole des configurations (robot et objet) et la gestion de certains ´etats g´eom´etriques, mais un des ´el´ements importants dans l’interaction homme-robot est le mouvement et le d´eplacement du robot. Il est n´ecessaire de contrˆoler les mouvements du robot pour arriver `a des comportements et des d´eplacements agr´eables pour l’humain.

6

Exp´erimentations et int´egration du planificateur

Dans le chapitre 3, nous avons d´etaill´e le mod`ele de planification HATP pour la production de plan socialement acceptable pour les humains coop´erant avec des robots. Le chapitre 4 traite de l’enrichissement du mod`ele HATP par la gestion des croyances multiples. Nous avons ´egalement pu constater que pour les deux mod`eles, l’algorithme de planification principal est le mˆeme. Cela nous permet d’arriver `a une conclusion toute simple qui est que les performances temporelles des deux mod`eles sont sensiblement les mˆemes, puisque dans le mod`ele avec gestion des croyances, celle-ci se fait avec la structure HTN et non par un algorithme sp´ecifique.

Dans ce chapitre nous allons tester l’influence des r`egles sociales sur le temps de calcul des plans et ´egalement ´evaluer les performances de l’heuristique de guidage. Ensuite, nous allons illustrer quelques exemples de l’utilisation de HATP sur un robot r´eel pour l’interaction homme- robot, et son int´egration dans une architecture pour la gestion de mission multi-robots.

6.1

Choix technologiques pour l’utilisation en temps r´eel

Le planificateur HATP a ´et´e d´evelopp´e pour ˆetre utilis´e en ligne sur un robot. Cette caract´eristique impose des contraintes de fonctionnement en temps r´eel, notamment en termes

Figure 6.1 – Principe de compilation de HATP

de temps de calcul et d’utilisation de m´emoire. Pour r´epondre efficacement `a ces contraintes, certains choix technologiques sont n´ecessaires.