Sujet de projet Master 1 informatique 3 Janvier 2021 Un outil de visualisation et test d'un robot roulant intelligent et autonome. 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 développé dans le cadre du projet E-HoA. 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é : Il s'agit de développer et tester des conduites particulières pour ce robot. Pour les tests, une interface graphique et dynamique, type waze, sera développée pour : -1- visualiser la route et le comportement du robot roulant se déplaçant -2- générer des événements (a)normaux et développer les conduites associées au niveau du robot (par exemple : panne essence >> le robot se met sur le bas côté, dérapage >> ralentir, présence d'un objet >> le contourner). -3- gérer des informations symboliques (exemple : conduite confort, conduite rapide, conduite dangereuse), soit comme observation du comportement durant la conduite, soit comme indication à suivre. Le poste utilisateur sera un navigateur web (programmation en javascript ou équivalent) et le développement sur ROS sera fait en Python. Les 3 points cités nécessiteront de s'interfacer avec le robot, plus exactement en développant des processus (dits noeuds du système ROS) en charge de la gestion de terrain. L'étude et le développement de conduites particlulières en réaction à un événement entrent aussi dans le contexte de ce projet. Le 1er point nécessitera de tirer parti de la reconnaissance des bords de routes, à partir de l'image de la caméra et de la position du robot. Le 2nd nécessitera de faire prendre en compte l'événement levé par le noeud ROS qui est en charge de fournir l'état du robot et par celui qui s'occupe de la conduite. Le 3ème décessitera de comparer la conduite du robot aux expériences de conduite pour la classifier, ou encore d'imposer un style de conduite.