• Aucun résultat trouvé

6.2 Evaluation du mod`ele HATP 131 ´

6.2.1 Influence des r`egles sociales

La figure 6.5.(a) illustre le plan que produit HATP en l’absence de r`egle. On peut constater que le plan est tout `a fait correct mais qu’il pr´esente quelques inconv´enients pour l’humain, puisque c’est lui qui fait le plus gros du travail. Il y a aussi quelques d´efauts de comportement ou d’incoh´erence comme : l’humain qui ouvre la porte du placard pour que le robot puisse prendre la bouteille, le robot qui va poser la bouteille sur le sofa que l’humain r´ecup`ere `a cet endroit. Si on introduit quelques r`egles comme :

– Etat ind´esirable 1 : on ne souhaite pas voir l’objet pos´e sur des meubles type sofa. – Etat ind´esirable 2 : ´eviter de laisser la porte des meubles ouverte.

– S´equence ind´esirable 1 : on ne souhaite pas voir apparaˆıtre dans le plan une s´equence telle que d´eposer suivie imm´ediatement par l’action prendre, qui soit faite par deux agents diff´erents.

// D e s c r i p t i o n d e s noeuds node: 1 { 1 : GetObject ( T h i e r r y , G l a s s ) ; 2 : GetObject (Tom, B o t t l e ) ; 3 : R e a c h F u r n i t u r e (Tom, S o f a ) > 1 , > 2 ; }

Figure6.4 – Description du probl`eme pour le sc´enario test

soient faites par deux agents diff´erents.

– On active aussi la r`egle balance d’effort qui explicite que le robot doit travailler plus que l’humain.

Figure 6.5 – Influence des r`egles sociales sur la qualit´e des plans produits

L’activation de toutes ces r`egles va produire pour le mˆeme probl`eme le plan illustr´e par la figure 6.5.b. On peut voir que l’introduction de ces r`egles a compl`etement ´epur´e le plan des imperfections que nous avons cit´ees auparavant. Cependant, le plan n’est pas parfait et pr´esente toujours quelques d´efauts. En effet, on peut observer qu’il y a toujours l’intervention de l’humain, qui se d´eplace du sofa vers la table pour aller chercher le verre et r´ecup´erer la bouteille chez Jido pour ensuite revenir vers le sofa. On constate que l’humain doit attendre que le robot ait fini ses tˆaches pour pouvoir r´ecup´erer la bouteille. Ce qui introduit un temps d’attente qui peut ˆetre gˆenant pour l’humain. Si nous introduisons les r`egles liens crois´es et temps morts, le plan produit et illustr´e par la figure 6.5.c ne pr´esente aucun d´efaut, respecte toutes les r`egles sociales et de ce fait, il est agr´eable pour l’humain.

// D e s c r i p t i o n d e s noeuds node: 1 { 1 : GetObject (Tom, G l a s s ) ; 2 : GetObject (Tom, B o t t l e ) ; 3 : R e a c h F u r n i t u r e (Tom, S o f a ) > 1 , > 2 ; } node: 2 { 1 : GetObjectFromFurniture ( Jido , Glass , Table ) ;

2 : Tr a ns m i tO b j e c t ( Jido , Tom, G l a s s ) > 1 ; } node: 3 { 1 : GetObjectFromFurniture (Tom, B o t t l e , Table1 ) ; } // D e s c r i p t i o n d e s l i e n s h i ´e r a r c h i q u e s 1 : 1 : decomposition = node 2 ; 1 : 2 : decomposition = node 3 ;

Figure6.6 – Description du plan partiel PP1

// D e s c r i p t i o n d e s noeuds node: 1 { 1 : GetObject (Tom, G l a s s ) ; 2 : GetObject (Tom, B o t t l e ) ; 3 : R e a c h F u r n i t u r e (Tom, S o f a ) > 1 , > 2 ; } node: 2 { 1 : GetObjectFromFurniture

( Jido , Glass , Cupboard ) ;

2 : Tr a n s m i tO b j e c t ( Jido , Tom, G l a s s ) > 1 ; } node: 3 { 1 : GetObjectFromFurniture (Tom, B o t t l e , Table ) ; } node: 4 { 1 : R e a c h F u r n i t u r e ( Jido , Cupboard ) ; 2 : SomeoneOpenFurniture ( Cupboard ) ;

3 : Pick up In ( Jido , Glass , Cupboard ) > 1 , > 2 ; 4 : S o m e o n e C l o s e F u r n i t u r e ( Cupboard ) > 3 ; } // D e s c r i p t i o n d e s l i e n s h i ´e r a r c h i q u e s 1 : 1 : decomposition = node 2 ; 1 : 2 : decomposition = node 3 ; 2 : 1 : decomposition = node 4 ;

Figure6.7 – Description du plan partiel PP2

Maintenant nous allons mesurer l’influence de l’introduction des r`egles sur le temps de calcul du planificateur. Nous allons prendre le mˆeme sc´enario et le mˆeme probl`eme, mais ´egalement deux plans partiels de ce dernier illustr´e par les figures 6.6 et 6.7, qu’on appellera PP1 et PP2 et P pour le probl`eme initial. On impose `a PP1 une d´ecomposition aux tˆaches (1) et (2) du nœud p`ere (1). La tˆache (1) doit se d´ecomposer d’apr`es la description du nœud (2), et la tˆache (2) se d´ecompose d’apr`es le nœud (3). De la mˆeme fa¸con, pour PP2 on impose les mˆemes d´ecompositions que celle de PP1 et on ajoute la contrainte que la tˆache (1) du nœud (2) se d´ecompose conform´ement au nœud (3).

Les r´esultats obtenus sont illustr´es par le graphique de la figure 6.8. Ce graphique d´ecrit l’´evolution du temps de calcul des plans en fonction de l’introduction des r`egles. Nous avons fait le test sans introduction de r`egles, pour les r`egles ´etats ind´esirables et s´equences ind´esirables, et avec toutes les r`egles en mˆeme temps. Les r`egles utilis´ees sont celles cit´ees dans l’exemple pr´ec´edent.

Nous pouvons constater que l’introduction des r`egles augmente le temps de calcul en moyenne de 25% et que ce temps de calcul augmente lin´eairement avec la complexit´e du probl`eme. Cela s’explique par le fait qu’un sous-ensemble de r`egles est ´evalu´e apr`es la phase de raffinement, comme nous l’avions not´e pr´ec´edemment dans l’algorithme 3.1. Cela a pour cons´equence l’augmentation du temps de calcul global. Nous constatons cela en comparant dans le graphique le temps de calcul pour les r`egles s´equences ind´esirables qui sont ´evalu´ees en ligne,

Figure6.8 – Influence de l’introduction des r`egles sur le temps de calcul d’un plan : le test est effectu´e pour une planification sans r`egles, avec toutes les r`egles, pour une r`egle ´evalu´ee en ligne et une autre r`egle ´evalu´ee apr`es le processus de raffinement.

et ´etats ind´esirables qui sont ´evalu´ees apr`es la phase de raffinement.

La planification pour un robot r´eel et qui interagit avec des humains impose deux crit`eres que le planificateur doit satisfaire :

1. produire le meilleur plan qui respecte les r`egles sociales.

2. La planification en temps r´eel, ce qui signifie que le planificateur doit fournir une solution le plus rapidement possible, sinon on risque de compromettre l’interaction avec l’humain en suscitant chez lui un sentiment d’impatience ou d’incompr´ehension.

HATP pr´esente un d´efaut majeur, car son algorithme est un algorithme HTN qui est donc exponentiel en temps comme l’a montr´e Erol et .al dans [Erol, K. 94]. De plus la recherche de la meilleure solution impose `a HATP l’exploration de toutes les solutions existantes. Pour cela, il doit parcourir tout l’espace de recherche associ´e au probl`eme. Le travail de Montreuil [Montreuil 08] montre que la taille de l’espace de recherche varie en fonction de la complexit´e du probl`eme. Cette complexit´e ´evolue en fonction des d´ependances entre les tˆaches, c’est-`a-dire que pour un mˆeme probl`eme, si la recherche est effectu´ee dans un domaine HTN totalement ordonn´e, la dimension de l’espace de recherche est beaucoup plus r´eduite que si la recherche est effectu´ee dans un domaine HTN partiellement ordonn´e.

L’algorithme HATP est particuli`erement sensible `a cela : du fait que c’est un planificateur multi-agent, son domaine de planification est obligatoirement partiellement ordonn´e. Ceci est confirm´e par la mesure de la dimension de l’espace de recherche pour les trois probl`emes de l’exemple pr´ec´edent. Le tableau 6.1 montre que plus le probl`eme est contraint plus la dimension

Nombre total de branches Branches menant `a un ´echec Branches menant `a un succ`es Probl`eme P > 285678 > 118816 > 166842 Probl`eme PP1 4722 1261 3461 Probl`eme PP2 827 80 27

Table 6.1 – Dimensions des espaces de recherche associ´es aux probl`emes soumis `a HATP

de l’espace de recherche est r´eduite. Il paraˆıt clair que, pour pouvoir r´epondre au crit`ere planification en temps r´eel, il est n´ecessaire de munir l’algorithme HATP d’une heuristique pour le diriger durant la phase de recherche.