• Aucun résultat trouvé

3.5

Conclusion.

Nous avons d´evelopp´e ici un formalisme qui permet de repr´esenter les probl`emes de manipulations trait´es aujourd’hui dans la litt´erature, tout en se g´en´eralisant `a des probl`emes avec plusieurs robots et plusieurs objets.

Il nous reste bien sˆur `a voir dans le chapitre suivant comment ´etendre les roadmaps et donc enrichir les GCEs.

De plus, comme nous avons choisi de ne pas explorer l’espace produit cart´esien des espaces de chaque robot `a cause de l’explosion combinatoire exponentielle en nombre de robot, il va falloir une ´etape de validation des chemins trouv´es dans les GCEs qui prenne en compte la pr´esence des autres robots et objets.

Cette validation ne va pas pouvoir se faire de mani`ere hi´erarchique et par connexit´e (mˆeme si cela reste un bon guide), mais il faudra utiliser une validation pour chaque mouvement.

Notre premier test fut d’utiliser un algorithme du type A* pour rechercher une solution. Mal- heureusement l’espace de recherche est trop grand pour une approche directe. Les GCEs gardent le parall´elisme des plans et l’ensemble des nœuds possibles. Il nous a donc fallu imaginer une nouvelle approche qui permette de faire des choix dans les roadmaps `a ´etudier et qui regroupe les nœuds en classe d’´equivalence. Cette nouvelle approche est bas´ee sur un ´etat qui repr´esente des classes d’´equi- valence des nœuds et sur lequel on peut appliquer un ensemble d’actions permettant de choisir quels arcs du GCE traverser.

C’est ainsi qu’est apparu notre premi`ere repr´esentation symbolique du probl`eme. Nous verrons dans le chapitre 5 comment nous allons regrouper les nœuds des roadmaps en position symbolique et comment nous allons pouvoir utiliser les techniques issues de la planification de tˆaches pour rechercher des solutions `a travers les GCEs De plus nous allons pouvoir traiter des probl`emes nouveaux qui int`egrent `a la fois les probl`emes de manipulation g´eom´etriques et des tˆaches plus symboliques.

Chapitre 4

L’apprentissage de la topologie.

Apr`es avoir d´efini une nouvelle repr´esentation de l’espace de recherche `a l’aide des « Graphes des cin´ematiques ´El´ementaires » dans le chapitre pr´ec´edent, il nous faut maintenant d´ecrire comment explorer cet espace, donc comment enrichir les roadmaps.

La planification de mouvement poss`ede un ensemble d’outils performants pour r´esoudre des pro- bl`emes de d´eplacement ou de manipulation. Un point crucial qui est apparu dans l’´etat de l’art du chapitre 2 est le fait qu’il est important de restreindre l’espace dans lequel sont tir´es les nœuds des roadmaps.

Que ce soit pour la d´etection des passages ´etroits (§ 2.3.1), les chaˆınes cin´ematiques ferm´ees (§ 2.5.2), ou la manipulation (§ 2.8.5), les algorithmes sont plus performant quand l’espace de re- cherche est restreint.

Ce chapitre `a pour vocation d’expliquer o`u et comment vont ˆetre enrichies les roadmaps.

Pour cela nous allons d´efinir de nouvelles m´ethodes qui vont permettre le limiter la recherche : les « roadmaps heuristiques » (§ 4.1), l’enrichissement des roadmaps par recomposition (§ 4.2), les « roadmaps relatives » (§ 4.3).

Puis nous finirons par la pr´esentation d’un moteur de syst`emes de r`egles heuristiques qui r´egie le choix des roadmaps et des m´ethodes `a utiliser pour apprendre la topologie de l’environnement (§ 4.4).

4.1

Les roadmaps heuristiques.

Dans le chapitre pr´ec´edent, nous avons montr´e l’utilisation des « roadmaps de mouvements » et des « roadmaps affinables ».

Les roadmaps heuristiques ne repr´esentent pas des mouvements faisables par les robots, mais sont tr`es utiles pour construire les autres roadmaps. Elles sont utilis´ees principalement pour deux raisons

52 Chapitre 4. L’apprentissage de la topologie.

diff´erentes :

ˆ Pour explorer la topologie d’un probl`eme relax´e.

ˆ Pour limiter une exploration qui pourrait rendre la recherche trop complexe.

Le meilleur exemple de limitation d’exploration apparaˆıt avec une roadmap de Transfert qui a une composante connexe par position de prise.

Pour avoir une connexit´e int´eressante, il peut ˆetre utile de limiter la progression des configurations de prise par rapport `a l’extension des roadmaps.

Pour cela les configurations de prise vont ˆetre stock´ees sous forme de nœuds, dans une roadmap heuristique. Il suffit alors que cette roadmap heuristique croisse faiblement par rapport `a la roadmap de Transfert pour que l’on puisse « puiser » des configurations de prises pour trouver des chemins de transfert utiles. C’est une mani`ere de restreindre l’espace de recherche pour ´etendre la connexit´e avant de chercher de nouvelles prises.

La recherche de la topologie d’un probl`eme relax´e est une des propri´et´es les plus int´eressantes des roadmaps heuristiques.

Prenons l’exemple de la manipulation avec des prises et des poses continues. Il faut trouver les positions interm´ediaires int´eressantes. Pour cela il est possible de comparer la topologie de Grasp ∩ Placement avec la topologie de l’objet s’il ´etait capable de bouger par lui-mˆeme.

Si l’on construit par exemple, une roadmap heuristique dans lequel l’objet peut se d´eplacer seul dans Placement (figure 4.1), un mouvement dans Grasp ∩ Placement ne sera faisable que s’il existe un mouvement pour l’objet seul. Ainsi si nous n’avons pas de connexit´e dans cette roadmap heuristique, il peut ˆetre n´ecessaire de rechercher un chemin de Transfert pour relier les composantes connexes de Grasp ∩ Placement .

Si, d’un autre cˆot´e, nous avons un chemin faisable pour l’objet seul, mais infaisable dans Grasp ∩ Placement, nous pouvons peut-ˆetre d´etecter une position de « re-grasping » (§ 2.8.5), c’est-`a-dire une position unique de l’objet qui est reli´e `a deux composantes connexes de Grasp ∩ Placement non reli´ees entre elles, mais qui peuvent alors ˆetre li´ees par un chemin de Transit .

La topologie de cette roadmap permet donc de savoir dans quelle roadmap chercher des chemins solution.

Une autre utilisation possible pour cette recherche de topologie est de trouver un chemin faisable pour une sph`ere englobante et utiliser les nœuds de cette roadmap grossi`ere pour trouver un chemin pour un robot plus complexe. Mais nous avons peu ´etudi´e cet aspect pendant cette th`ese.

Pour ce cas particulier, il n’est toutefois pas possible d’utiliser les « liens d’h´eritage » entre roadmap (§ 3.3) qui supposent des chaˆınes cin´ematiques au moins partiellement identiques.

Nous avons donc d´evelopp´e les « liens heuristiques ». Ils ressemblent aux « liens d’h´eritage » dans le sens qu’ils d´efinissent une copie d’une partie de la configuration d’un nœud source vers une partie de la configuration d’un nœud destination. En revanche, il n’y a jamais cr´eation syst´ematique de sous- nœuds. Ils ne conservent aucune m´emoire des relations entre nœuds. Il peut aussi n’y avoir aucune relation entre les chaˆınes cin´ematiques des deux roadmaps.