Nous souhaitons développer des équipes de robots mobiles capables de se coordonner afin d’effectuer des tâches de manière coopérative (exploration d’environnement, patrouille, assistance à la personne, etc.). Ces robots doivent être en mesure d’agir de manière autonome dans un environnement dynamique.
Afin qu’un robot puisse agir dans son environnement, il est nécessaire de mettre en place une architecture de contrôle lui permettant, à partir de ses perceptions et connaissances de l’environnement, de décider quelles commandes appliquées à ses effecteurs. L’objectif de ce projet est de développer une architecture de contrôle délibérative permettant à des robots Thymio couplés à des Raspberry Pi de remplir des missions coopératives dans un environnement incertain et dynamique.
Le travail consistera tout d’abord à établir un modèle du robot lui même [Siegwart 05] permettant de représenter sa cinématique. Ainsi, il sera possible de déterminer quelles commandes bas-niveau envoyer aux effecteurs afin d’obtenir l’exécution d’un action de plus haut niveau. On s’intéressera, en particulier, à la modélisation de l’incertitude liée aux déplacements.
Une architecture de contrôle devra ensuite être proposée et mise en place sur les robots Thymio. A partir de l’étude de la littérature (par exemple [Brooks86] ou [Benzerrouk10] pour les architectures distribuées), une architecture adaptée, comprenant au moins un module de perception et un module de délibération, devra être développée. Cette architecture devra pouvoir être utilisée par d’autres types de robots que les Thymio (par exemple par des drones). On cherchera, dans un premier temps, à mettre en place des capacités de délibération simples permettant l’évitement d’obstacles et la navigation vers une destination donnée.
Bien que la communication inter-robot ne soit pas à développer dans le cadre de ce travail, l’architecture mise en place devra prévoir l’intégration des informations reçues par message et l’exploitation, dans le module délibératif, de celles-ci.
Enfin, on cherchera à mettre en place des algorithmes existants permettant aux robots d’établir une carte d’un environnement au fur et à mesure de leurs déplacements [Elfe 87, Thrun 98].
La gestion de projet suivra la méthodologie agile Scrum et le code développé sera open-source. Une attention particulière sera apportée aux tests et à la rédaction (en anglais) de la documentation technique et fonctionnelle associée au code fourni. Le travail fourni devra être disponible sur le compte gitLab du projet ThymSMA.
Les développements seront effectués en langage C.
Matériel à disposition : 3 Thymio 2 + 3 Raspberry pi 3 équipés d’une antenne WiFi et d’une caméra
[Benzerrouk 10] Ahmed Benzerrouk, Lounis Adouane, Laurent Lequievre & Philippe Martinet. Navigation of multi-robot formation in unstructured envi- ronment using dynamical virtual structures. In IROS, pages 5589 5594, 2010.
[Brooks 86] R. Brooks. A robust layered control system for a mobile robot. Journal of Robotics and Automation, vol. 2.
[Elfe 87] A. Elfe. Sonar-based real-world mapping and navigation. Robotics and Automation, vol. 3, pages 249 265, 1987.
[Siegwart 05] Roland Siegwart & Illah R. Nourbakhsh. Introduction to autonomous mobile robots. MIT Press, 2005
[Thrun 98] S. Thrun. Learning Metric-Topological Maps for Indoor Mobile Robot Navigation. Arti cial Intelligence, vol. 99, no. 1, pages 21 71, 1998.