Proposition de projet PANDROIDE 2022 Amélioration de la conduite d'un robot roulant intelligent et autonome Encadrants : Jean-Michel Ilie : jean-michel.ilie@lip6.fr François Pêcheux: françois.pecheux@lip6.fr Deux chercheurs du LIP6 (laboratoire d'informatique paris 6 - Jussieu), Jean-Michel Ilié et François Pêcheux (équipes MoVe - CIAN) souhaitent développer des objets intelligents autonomes, au sens où ils auront la capacité de repousser à leur maximum l'intervention humaine. L'objet considéré dans ce projet est un robot roulant représentant un véhicule terrestre intelligent sur lequel s'appuiera un acteur humain pour mener à bien ses missions, comme par exemple livrer des médicaments à des pharmacies réparties dans une ville dont on connaît la topologie. Il existe déjà une version de ce robot (voir photo jointe) développé dans le cadre du projet E-HoA [1]. De manière simplifiée, le robot est composé d’une couche basse gérant capteurs, actionneurs et moteurs ainsi que l’électronique embarquée, et d’une couche haute de décision plus symbolique. Ces couches sont développées sur un système d'ordinateurs fonctionnant sous Linux (avec un sur-ensemble de l’OS nommé ROS (Robotic Operating System) pour la gestion de la couche basse. Dans l’état actuel, le robot peut se déplacer sur une route, distinguer son environnement au travers de différents dispositifs matériels (caméras, lidar, ...), reconnaître des objets sur sa route ou des QRcodes plaqués sur des éléments de son environnement proche du robot. Projet proposé : Le projet consiste à améliorer la technique de déplacement du robot roulant sur un espace routier en exploitant des informations géométriques concernant la sinuosité de la route et en développant des techniques d'apprentissage profond tirant partie de ces informations. Partant d'un principe théorique qu'une trajectoire sur la route pourra être représentée par une suite de courbes de Bézier [2], il s'agira de procéder en 2 étapes majeures : - Etape statique : c'est une approche virtuelle consistant à construire pour chaque virage une courbe de Bézier et à caractériser sa sinuosité suivant l'allure de sa courbe. Nous mettons à votre disposition un éditeur de routes de Bézier qu'il pourra être utile de modifier suivant l'avancée et l'orientation du projet. Les données sont sauvegardées dans la base de données neo4j de la plateforme E-HoA et seront accessibles pour aborder l'étape dynamique. - Etape dynamique : Il s'agit pour le robot de parcourir une route concrète mais caractérisée virtuellement par une suite de courbes de Bézier. Il devra contrôler sa conduite (vitesses linéaire et angulaire), en tenant compte de cette information en sus des caractéristiques contextuelles de l'état routier et du robot (sa position sur la route par exemple). Le robot devra si possible anticiper la prise d'un virage. On pourra à ce sujet distinguer le cas d'une simulation de conduite où le virage et ses caractéristiques sont connues d'emblée par les informations mises en base du cas moins informé où le virage se dévoile au fur et à mesure de l'avancement. Pour cette étape, il faudra envisager et développer différentes techniques de conduite, à commencer par le simple suivi des points de courbes de Bézier, puis il faudra envisager une technique plus optimisée fondées sur des apprentissages. L'objectif à terme étant de pouvoir conduire sur un espace routier réel et ambiant nécessitant une adaptation rapide face aux aléas, les techniques d'apprentissages par renforcement successifs sont prometteuses, à l'instar de soft actor critic qui sera à étudier [6,8]. Les développements se feront majoritairement en Python sur système ROS, pour être intégrés au projet E-HoA. Le robot du projet E-HoA se déplaçant sur un circuit routier servira de plateforme de test. Il existe aussi un environnement de test open-AI ROS, fonctionnant de façon indépendante au-dessus de ROS et son simulateur GAZEBO. Prérequis • 3-4 personnes (2 groupes de 2 possibles) • Intérêt pour la robotique, et l’interaction avec du matériel mécanique et électronique • Connaissances en Python et aussi Javascript • Connaissances en Unix et programmation système (process, appel système, réseau, driver de matériel). Résultats attendus • Implémentation des deux étapes • intégration dans la couche basse du projet E-HoA • Obtention de graphiques et mesures comparatives • Document de programmation • Démonstration concrète de cheminement. Références : [1] Ilié, J.-M. and Chaouche, A. C. and Pêcheux F., "E-HoA: A Distributed Layered Architecture for Context-aware Autonomous", ANT/EDI40 2020, 530-538. [2] Suchowolski G., Quadratic bezier offsetting with selective subdivision, 2012 [3] Kahn, G. Villaflor, A. Pong, V. Abbeel, P., Levine, S. :"Uncertainty-Aware Reinforcement Learning for Collision Avoidance", CoRR J., abs/1702.01182, 2017. [4] Matheron, G. and Perrin, N. and Sigaud, O., PBCS: Efficient Exploration and Exploitation Using a Synergy between Reinforcement Learning and Motion Planning, CoRR - abs/2004.11667, 2020. [5] Al-Shedivat, M. & al, Continuous adaptation via meta-learning in nonstationary and competitive environments, 6th Int. Conf. on Learning Representations, 2018. [6] Haarnoja, T. & al, Soft Actor Critic—Deep Reinforcement Learning with Real-World Robots. https://bair.berkeley.edu/blog/2018/12/14/sac/ Documentations sur le projet E-HoA [7] GIT du projet E-HoA. [8] Akretche W., E-HoA soft actor critic : rapport de stage ANDROIDE 2019 [9] Giunta A., N., E-HoA Bezier editor : rapport du stage SAR 2020 [10] Aaguida, I. & al, E-HoA autorace : rapport du stage SAR 2021 .