Self-Exploration of Sensorimotor Spaces in Robots
L'auto-exploration des espaces sensorimoteurs chez les robots.
Abstract
Developmental robotics has begun in the last fifteen years to study robots that have a childhood---crawling before trying to run, playing before being useful---and that are basing their decisions upon a lifelong and embodied experience of the real-world.
In this context, this thesis studies sensorimotor exploration---the discovery of a robot's own body and proximal environment---during the early developmental stages, when no prior experience of the world is available. Specifically, we investigate how to generate a diversity of effects in an unknown environment. This approach distinguishes itself by its lack of user-defined reward or fitness function, making it especially suited for integration in self-sufficient platforms.
In a first part, we motivate our approach, formalize the exploration problem, define quantitative measures to assess performance, and propose an architectural framework to devise algorithms. Through the extensive examination of a multi-joint arm example, we explore some of the fundamental challenges that sensorimotor exploration faces, such as high-dimensionality and sensorimotor redundancy, in particular through a comparison between motor and goal babbling exploration strategies. We propose several algorithms and empirically study their behaviour, investigating the interactions with developmental constraints, external demonstrations and biologically-inspired motor synergies. Furthermore, because even efficient algorithms can provide disastrous performance when their learning abilities do not align with the environment's characteristics, we propose an architecture that can dynamically discriminate among a set of exploration strategies.
Even with good algorithms, sensorimotor exploration is still an expensive proposition---a problem since robots inherently face constraints on the amount of data they are able to gather; each observation takes a non-negligible time to collect.
In a second part, we propose the reuse algorithm that allows to exploit the exploration trajectories of a previous environment in another new, unknown one, to improve exploration, with the only constraining assumptions being that the two environments share the same motor space---which is often the case as a robot's body remains similar across tasks. No assumption is made that the sensory modalities of the two tasks remain identical, or that the exploration strategies or the learning algorithms are the same. If the latent dynamics of the two environment share some degree of similarity, we establish that the reuse algorithm provides improvements in exploration. We illustrate this on a real robot setup interacting with different objects in augmented reality.
We then show that the reuse algorithm can exhibit scaffolding behaviour. This allows to guide skill acquisition through the exclusive manipulation of environments where no reward or fitness function needs to be defined. Additionally, we conduct experiments that show that exploration on real-world robots can benefit from reusing exploration trajectories produced on surrogate, simplified---even purely kinematic---simulations.
Throughout this thesis, our core contributions are algorithms description and empirical results. In order to allow unrestricted examination and reproduction of all our results, the entire code is made available.
Sensorimotor exploration is a fundamental developmental mechanism of biological systems. By decoupling it from learning and studying it in its own right in this thesis, we engage in an approach that casts light on important problems facing robots developing on their own.
La robotique développementale a entrepris, au courant des quinze dernières années, d'étudier les processus dévelopmentaux, similaires à ceux des systèmes biologiques, chez les robots. Le but est de créer des robots qui ont une enfance---qui rampent avant d'essayer de courir, qui jouent avant de travailler---et qui basent leurs décisions sur l'expérience de toute une vie, incarnés dans le monde réel.
Dans ce contexte, cette thèse étudie l'exploration sensorimotrice---la découverte pour un robot de son propre corps et de son environnement proche---pendant les premiers stage du développement, lorsque qu'aucune expérience préalable du monde n'est disponible. Plus spécifiquement, cette thèse se penche sur comment générer une diversité d'effets dans un environnement inconnu. Cette approche se distingue par son absence de fonction de récompense ou de fitness définie par un expert, la rendant particulièrement apte à être intégrée sur des robots auto-suffisants.
Dans une première partie, l'approche est motivée et le problème de l'exploration est formalisé, avec la définition de mesures quantitatives pour évaluer le comportement des algorithmes et d'un cadre architectural pour la création de ces derniers. Via l'examen détaillé de l'exemple d'un bras robot à multiple degrés de liberté, la thèse explore quelques unes des problématiques fondamentales que l'exploration sensorimotrice pose, comme la haute dimensionalité et la redondance sensorimotrice. Cela est fait en particulier via la comparaison entre deux stratégies d'exploration: le babillage moteur et le babillage dirigé par les objectifs. Plusieurs algorithmes sont proposés tour à tour et leur comportement est évalué empiriquement, étudiant les interactions qui naissent avec les contraintes développementales, les démonstrations externes et les synergies motrices. De plus, parce que même des algorithmes efficaces peuvent se révéler terriblement inefficaces lorsque leurs capacités d'apprentissage ne sont pas adaptés aux caractéristiques de leur environnement, une architecture est proposée qui peut dynamiquement choisir la stratégie d'exploration la plus adaptée parmi un ensemble de stratégies.
Mais même avec de bons algorithmes, l'exploration sensorimotrice reste une entreprise coûteuse---un problème important, étant donné que les robots font face à des contraintes fortes sur la quantité de données qu'ils peuvent extraire de leur environnement; chaque observation prenant un temps non-négligeable à récupérer.
Dans une deuxième partie, l'algorithme reuse est proposé. Il permet d'exploiter dans un nouvel environnement inconnu les trajectoires d'explorations établies dans un précédent environnement. L'objectif est d'améliorer l'exploration du nouvel environnement, avec l'unique contrainte que les deux environnements doivent partager le même espace moteur---ce qui est souvent le cas, étant donné que le corps d'un robot a tendance à rester similaire lors du passage d'une environnement à un autre. Aucune supposition contraignante n'est faite sur les espaces sensoriels des deux environnements, qui peuvent différer arbitrairement ; il en va de même pour les stratégies d'exploration et les algorithmes d'apprentissage. Si les dynamiques latentes des deux environnements sont similaires, l'algorithme reuse peut apporter une amélioration de l'exploration. Ceci est illustré sur un robot réel, qui interagit avec différents objets en réalité augmentée.
Une expérience permet ensuite de montrer que l'algorithme reuse peut démontrer une capacité à permettre l'acquisition de savoir-faire complexes, se reposant sur des savoir-faire plus simples. Cela permet de guider l'acquisition de savoir-faire en manipulant exclusivement l'environnement dans lequel le robot est plongé, sans avoir besoin de créer une fonction de récompense ou de fitness. De plus, des expériences sont conduites qui montrent que l'exploration dans le monde réel peut bénéficier de la réutilisation de trajectoires d'exploration obtenues en simulation, même si celles-ci sont simplifiées de manière importante.
À travers cette thèse, les contributions les plus importantes sont les descriptions algorithmiques et les résultats expérimentaux. De manière à permettre la reproduction et la réexamination sans contrainte de tous les résultats, l'ensemble du code est mis à disposition.
L'exploration sensorimotrice est un mécanisme fondamental du développement des systèmes biologiques. La séparer délibérément des mécanismes d'apprentissage et l'étudier pour elle-même dans cette thèse permet d'éclairer des problèmes importants que les robots se développant seuls seront amenés à affronter.