• Aucun résultat trouvé

mécanismes d'exploitation de la mémoire

10.3 Plate-forme robotique

interactionnel dénit un ensemble P de n×m positions de l'espace observable où une interaction

visuelle peut être énactée. Le contexte interactionnel comporte ainsi n × m × card(I1) + card(I2)

entrées, où I1 est le sous ensemble de I des interactions localisables et I2 l'ensemble des

inter-actions non localisables. La mémoire spatiale est une structure qui prolonge cet ensemble de

positions observables pour dénir un ensemble P de n × n positions de l'espace global.

Les positions, observables ou non, sont dénies de façon à permettre une discrétisation de l'espace en coordonnées cartésiennes. Ce référentiel a été choisi tout d'abord parce qu'il permet de simplier la dénition des mouvements, et ensuite parce qu'il permet un découpage homogène de l'espace. Les déplacements sont dénis a priori en calculant la transformation eectuée par chaque interaction primitive et primaire. Dans le cas de l'interaction manger, comme la proie disparaît après l'énaction de l'interaction, on dénit une région, autour de l'agent, où les in-teractions stockées en mémoire disparaissent. Notons que le système fonctionne également sans cette modication. Cependant, l'agent continue de chercher une proie qui n'existe plus, jusqu'à ce qu'elle disparaisse de la mémoire. Cette modication est également utile dans le cas du sys-tème robotique, puisqu'elle évite de devoir déplacer les proies à chaque fois que l'une d'elle est mangée : l'agent "oublie" sa présence et ne la détecte à nouveau que lorsqu'il fait demi-tour.

10.3 Plate-forme robotique

Nos implémentations des systèmes RI sur des robots ont montré que la conception même des robots doit être repensée pour tenir compte des spécicités d'un tel système. Il est en eet apparu que chaque interaction du système interactionnel doit être implémentée par un ensemble de capteurs et d'eecteurs permettant de dénir le résultat de cette interaction. Il est donc préférable de dénir les actionneurs et les capteurs du robot pour implémenter les interactions de l'agent, plutôt que d'interfacer le système sensoriel avec le système interactionnel.

10.3.1 Adaptation d'un système RI sur un robot

Nous avons porté nos mécanismes d'apprentissage sur des plate-formes robotiques sur lesquelles des systèmes interactionnels pré-existants ont été adaptés. La Figure 10.2 montre les robots dans leur environnement.

Robot e-puck

Les premières versions des modèles RI et SRI ont été portées sur un robot e-puck [86]. Ce petit robot est équipé de deux moteurs et de nombreux capteurs. Parmi eux, un ensemble de capteurs à faible portée que nous avons utilisés pour implémenter les interactions toucher et se cogner. Chaque interaction toucher était détectée en utilisant trois capteurs de proximité. La portée de ces capteurs étant très faible, il a fallu réduire la distance parcourue par l'agent lorsqu'il eectue une interaction avancer, an que les objets détectés par les interactions toucher soient pertinentes pour prédire le résultat de l'interaction avancer. Ces mêmes capteurs ont été

Chapitre 10. Expérimentation d'un dispositif de mémoire extra-personnelle : exploitation utilisés pour la détection de l'interaction se cogner, détectée lorsque la distance mesurée par les capteurs avant était inférieure à un seuil.

La principale diculté était que les capteurs de proximités ne permettaient pas une détection ecace et able des éléments qui aordent les interactions de l'agent. Ces capteurs sont en eet fortement directifs, et, même en utilisant plusieurs de ces capteurs pour implémenter une interaction toucher, la surface couverte par ces capteurs ne couvrait pas toute la surface nécessaire pour déterminer, par exemple, si le robot pouvait avancer sans se cogner.

Robot Eddie

Les premières versions des systèmes RI dotées d'un système visuel ont été portés sur un robot Eddie. Ce robot a été équipé d'un capteur Kinect, permettant de générer une représentation en 3 dimensions de l'espace situé devant l'agent. Ce capteur est utilisé pour détecter l'interaction se cogner, lorsqu'un objet est susamment proche du robot. Ce capteur était également utilisé pour détecter les features visuelles : la proie est dénie par un QR-code permettant sa détection et sa localisation par le capteur kinect. Cependant, le champ de vision de la caméra étant inférieur à 90, il a fallu réduire l'angle des rotations produite par les interactions tourner.

Figure 10.2  Implémentation de nos mécanismes dans des robots. À gauche, le robot e-puck dans le box world [52]. L'implémentation a été réalisé avec Laurent Hu. À droite, le robot Eddie. La proie est représentée par un QR-code. L'implémentation a été réalisée par Christian Wolf et

Martin Kodys, de l'équipe IMAGINE10.

10.3.2 Conception d'un robot adapté à un système RI

Nous avons ensuite porté nos mécanismes sur un robot construit en Lego. La exibilité du sys-tème Lego nous a permis de construire le syssys-tème sensoriel de l'agent en fonction des interactions du système interactionnel, et de respecter le principe de balance écologique [100]. Les interactions primitives de l'agent sont ainsi dénies par les deux moteurs du robot, assurant les translations

10.3. Plate-forme robotique et rotations générées par les interactions, et par les capteurs donnant le résultat des interactions de façon certaine. En eet, le résultat est directement déni par le système sensorimoteur, et non par une interprétation des informations fournies par les capteurs. Un système visuel permet de dénir les interactions visuelles secondaires énactées. Ce système a été construit pour respecter les contraintes du système interactionnel, c'est-à-dire un champ de vision de 180, détection de trois couleurs et des distances.

Ce système est conçu pour se rapprocher du système simulé. J'ai utilisé un robot basé sur les Lego Mindstorms, et plus particulièrement, sur une brique RCX. Le modèle du robot est

disponible en ligne11. Le robot est contrôlé par le même mécanisme de décision que pour l'agent

simulé, s'exécutant sur le même PC. La connexion entre le PC et le robot est établie à l'aide d'une connexion infrarouge (selon un protocole propre au RCX), et à l'aide d'un câble USB (pour le

système visuel). La brique RCX est programmée en langage NQC (Not Quite C)12pour recevoir

les interactions intentions à tester et retourner l'interaction énactée au mécanisme de décision à la n du cycle de décision.

L'environnement est constitué d'un enclos d'environ 1m x 1m, bordé par des murs. On dispose d'un ensemble d'éléments représentant les diérents objets : des cubes en cartons représentent des blocs murs non traversables, et des carrés de carton colorés représentent les proies et les algues. Les cubes et les murs qui bordent l'enclos, représentant les murs, sont verts. Les carrés de carton représentant les proies sont bleus, et ceux représentant les algues sont rouges. l'utilisation de couleurs primaires permet de faciliter la détection de ces couleurs par le système visuel.

Le robot, que j'ai appelé ErnestIRL (Figure 10.3), dispose d'un ensemble d'actionneurs et de capteurs qui implémentent le système interactionnel déni dans le tableau 10.1. Le robot est équipé de deux moteurs électriques à courant continue en conguration diérentielle, lui permettant d'aller tout droit, de tourner à gauche ou à droite. Les capteurs sont conçus pour permettre la détection du résultat des interactions : le robot est équipé d'un large capteur de contact frontal, lui permettant de détecter l'interaction se cogner. Un capteur de luminosité, placé sous le robot, permet de détecter le passage sur un carré coloré. Ce capteur est couplé à une led rouge éclairant le sol. Les carrés rouges apparaissent donc aussi lumineux que le sol blanc. Le passage sur un carré bleu génère, par contre, une forte baisse de la luminosité, permettant de détecter le passage sur une proie, et donc de détecter le succès de l'interaction manger. Les interactions tourner, qui sont toujours possibles, ne nécessitent pas de capteurs particulier.

Les interactions visuelles sont dénies par une caméra panoramique, constituée d'une caméra orientée vers une surface sphérique rééchissante. Ce système ore un champ de vision de 180, avec une portée susante pour couvrir l'ensemble de l'environnement situé devant l'agent. La caméra ore une résolution de 640x480 pixels. Étant donné que l'environnement est plat, il est possible de dénir la distance des éléments observés en fonction de leur position sur l'image, la caméra ne permettant pas, à cause de sa fréquence trop faible, de mesurer un ux optique avec une précision susante. L'image est traitée pour déterminer les interactions visuelles énactées : dans

11. http ://liris.cnrs.fr/simon.gay/index.php ?page=eirl 12. http ://bricxcc.sourceforge.net/nqc/

Chapitre 10. Expérimentation d'un dispositif de mémoire extra-personnelle : exploitation

Figure 10.3  Le robot ErnestIRL. Il dispose d'un capteur de contact frontal, d'un capteur de luminosité situé sous le robot, et d'un système visuel panoramique, constitué d'une webcam dirigée vers une surface sphérique rééchissante. La propulsion est assurée par deux moteurs à courant continu.

un premier temps, les couleurs sont ltrées pour ne conserver que les trois couleurs observables. An de respecter l'opacité des objets, les pixels de l'image qui sont "masqués" par des pixels plus proches sont eacés. L'image obtenue est projetée pour obtenir une image plane. Cette projection a été obtenue en calibrant une surface quadrillée sur l'image obtenue avec la caméra. La Figure 10.4 montre les étapes du traitement de l'image.

L'image obtenue après projection reste cependant approximative. Nous verrons que le mé-canisme de décision reste néanmoins fonctionnel malgré cette approximation. Nous pouvons également constater que la caméra est visible sur l'image nale. Nous verrons l'inuence de cet élément sur les signatures des interactions. En revanche, nous éliminerons les interactions vi-suelles désignant la caméra de la mémoire spatiale. En eet, ces interactions restent énactées à chaque pas. Il est donc raisonnable de penser qu'un mécanisme permettant d'apprendre le câblage de la mémoire spatiale peut apprendre qu'aucun mouvement n'est observable dans cette région. Un objet "reconnu" dans cet ensemble d'interactions ne produirait aucune variation de proximité globale, puisque restant immobile par rapport à l'agent. Je propose ainsi de ne pas tenir compte de ces interactions dans la mémoire spatiale.