-->
Spécialité Robotique Autonome
Architecture


Spécialité







Robotique Autonome




Lab-STICC UBO GDR MACS GDR Robotique ENSTA Bretagne DGA ROBEX Sperob Gth Rob

Présentation

La spécialité 'robotique autonome' succède au profil robotique. Elle a ouvert ses portes en septembre 2019. Les responsables sont Benoît Zerr et Luc Jaulin.
La spécialité est un renforcement du profil robotique qui existait depuis septembre 2009 ans à l'ENSTA-Bretagne. Dans cette spécialité, vous avez encore plus de robotique et dès le début de votre deuxième année.
Présentation faite aux étudiants 1A le 25/02/2020

Objectif

Il s'agit de former des ingénieurs capables de réaliser un robot mobile autonome programmé pour effectuer une mission précise. Ce travail se fait sur toute la chaîne en partant de la conception, en passant par la fabrication, la programmation, et enfin l'expérimentation. De façon plus pratiques l'ingénieur roboticien devra avoir des notions solides dans les domaines suivants : électronique, mécanique, conception, règle de dimensionnement, prototypage rapide, méthode d'usinage (imprimantes 3D, moulage, fraiseuse et tour etc.), micro-contrôleurs, électronique de puissance, systèmes de communication sans-fil, centrales inertielles, système de positionnement (GNSS, USBL), logiciel, programmation, C++, interface homme/machine, middlewares, simulation, vision, localisation, contrôle, planification de mission, optimisation, connaissance industrie, réglementation autour des robots.

Disciplines

Les disciplines étudiées sont l'automatique (concevoir les lois de commande), l'informatique (algorithmes, langages, middlewares), la perception (vision, machine learning), l'intelligence artificielle (apprentissage, logique, programmation par contraintes), la modélisation/simulation (simuler les robots de façon réaliste sur un ordinateur avec de la réalité virtuelle et augmentée), la navigation (inertiel, observateurs d'état, filtre de Kalman, intervalles), mécanique (Newton-Lagrange, Imprimante 3D, maquette numériques), le guidage (planifier son chemin, éviter les obstacles, coordination) et les expérimentations (concevoir et réaliser une expérience robotisée sans créer d'accident).

Perspectives professionnelles

Vous pourrez travailler dans une entreprise ou laboratoire travaillant sur la conception de robots (FORSSEA, Thales, ECA, RT-Sys, Renault, MBDA, Shom, Kopadia, etc.). Du fait de la forte composante innovation de la robotique, environ la moitié des étudiants en robotique poursuivent par une thèse.

Moyens informatiques

Il est demandé aux étudiants de posséder, dans la mesure du possible :
- Un PC portable
- Ubuntu 18.04
- Python 3

GDR

Afin d'avoir les annonces de stage, de thèse, de postes d'ingénieur en robotique, il est demandé aux étudiants de s'inscrire au
- GDR robotique
- au GDR MACS

Projets

Quelques sujets de projets en robotique que vous pouvez faire lors de votre formation à l'école :

Stages

Des informations sur les stages des anciens ou les stages de l'année courante :
Ces informations pourront vous aider à trouver votre propre stage.

Substitutions

Des informations sur les substitutions des anciens :
Ces informations pourront vous aider à trouver votre propre substitution à l'étranger.

Responsables de la spécialité


Benoit

Benoît Zerr

Co-responsable de la spécialité. Professeur de l'ENSTA-Bretagne dans le domaine de la robotique marine. Il travaille les groupes de robots.

Luc Jaulin

Luc Jaulin

Co-responsable de la spécialité. Professeur des Universités dans le domaine de la robotique marine. Il travaille sur le calcul ensembliste avec des applications en localisation sous-marine et cartographie.


Enseignants-chercheurs


Fabrice

Fabrice Le Bars

Enseignant chercheur en robotique mobile et sur les robots voiliers

Simon

Simon Rohou

Enseignant chercheur en robotique sous-marine.

Gilles

Gilles Le Chenadec

Enseignant-chercheur en intelligence artificielle connexionniste

Benoît Clément

Benoît Clément

Professeur de l'ENSTA-Bretagne en commande robuste


Ingénieurs



Didier Tanguy

Didier Tanguy

Ingénieur radio-electronique

Didier Tanguy

Gilles Le Maillot.png

Ingénieur électronique

Didier Tanguy

Alain Bertholom

Ingénieur robotique

Didier Tanguy

Thierry Ropert

Ingénieur mécanique


Doctorants




Joris

Joris Tillet

Doctorant en robotique dans le domaine de la localisation sous-marine.

Julien

Julien Damers

Doctorant en robotique avec Kopadia sur les suivis d'isobath.

Auguste

Auguste Bourgois

Doctorant en robotique sous-marine sur la commande non-linéaire

Thomas

Thomas Le Mézo

Doctorant en robotique sur les flotteurs sous-marins dérivants


Vacataires




Magali

Magali Barbier

Ingénieur en robotique collaborative à l'ONERA.

Benoît Desrochers

Benoît Desrochers

Ingénieur IETA à DGA-TN en robotique sous-marine







Recrutement des vacataires :
Livret des vacataires :



Semestre 3

UE 3.1 : Fondamentaux (124Cr)



Mathématiques (36 Cr) (resp. J. Ninin) en commun avec SNS et SOIA
L'objectif de ce cours vise à faire le lien entre la modélisation d'un phénomène physique et sa résolution par un calcul numérique. Les aspects théoriques et applicatifs des méthodes seront abordés pour savoir analyser et maîtriser ces outils. Le cours se divisera en trois parties :
- la résolution numérique des équations différentielles ordinaires par des méthodes de Runge-Kutta et Taylor,
- la résolution numérique des équations aux dérivées partielles par les différences finies,
- le calcul variationnel général avec l'équation d'Euler-Lagrange.
Chaque partie sera illustrée par des applications en mécanique, électromagnétique, géodésique, traitement d’image ou commande optimale.


Optimisation linéaire (8 Cr) (resp. R. Moitié) en commun avec SNS et SOIA
On cherche à optimiser un critère linéaire sous contraintes linéaires (égalité et inégalité) avec différents algorithmes comme la méthode du simplexe.


Recherche opérationnelle (30 Cr) (resp. J. Ninin) en commun avec SNS et SOIA
Le cours, au-delà de la programmation linéaire, aborde les classes de complexité des problèmes (P, NP, NP-hard, etc.), la théorie des graphes (plus court chemin, arbres couvrants, flots maximaux, coloration, ordonnancement) et la théorie des jeux.
Il comporte la mise en œuvre sur machine de certains algorithmes, en utilisant le langage Python.


Introduction au C++ (36 Cr) (resp. Simon Rohou)
C++ est un langage de programmation compilé permettant la programmation sous de multiples paradigmes (comme la programmation procédurale, orientée objet ou générique). Ses bonnes performances, et sa compatibilité avec le C en font un des langages de programmation les plus utilisés en robotique où la performance est critique.





UE 3.2 : Localisation (134Cr)

Afin de pouvoir accomplir une mission, explorer son environnement, revenir à sa base, un robot doit être capable de répondre à la question : "Où suis-je ?" Pour cela, il va utiliser des capteurs extéroceptifs comme des caméras pour voir des amers, des capteurs proprioceptifs (comme des gyroscopes) qu'il va intégrer.
La fusion de toutes ces informations lui permettra alors d'obtenir sa position et son orientation avec une prise en compte de l'incertitude.

Réseaux (30 Cr) (Fabrice Le Bars)
Qu'ils soient seuls ou en groupes, les robots s'appuient sur divers réseaux de communication pour leur fonctionnement interne (e.g. récupération de données de capteurs, parallélisation de calculs entre plusieurs PC embarqués), leurs communications avec l'extérieur (e.g. téléopération, télémétrie, vidéo temps réel, calculs de distances inter-robots, localisation GPS avec corrections RTK via 4G), etc. Maîtriser les réseaux informatiques impliquant de bien connaître les systèmes d'exploitation actuels, le fonctionnement d'un PC et sa configuration en vue d'une utilisation à distance seront étudiés. De plus les notions de threads et sockets seront aussi manipulées en C/C++.


Inertiel (24 Cr) . (resp. Luc Jaulin)
An inertial measurement unit (IMU) is a device that measures angular rates and accelerations of a vehicule (aircraft, underwater robots, satellites, car, etc) and estimates its pose, assuming the initial state is known. The understanding an an IMU requires several steps
(1) Build the sensors that are able to measure the angular rate and the accelerations of a body inside its own frame;
(2) Build a state equation which allows us to estimate the pose of the 3D body from the inertial measurements;
(3) Integrate these state equations using an integration algorithm (Runge-Kutta for instance);
(4) Characterize and control the integration errors;
(5) Make the fusion with other sensors (DVL, cameras, etc) using an observer (Kalman filter).
This course mainly focuses on point (2).


Filtre de Kalman (50 Cr) (resp. Luc Jaulin)
Un observateur d'état cherche à reconstruire le vecteur d'état d'un système dynamique à partir de toutes les données recueillies sur le système à travers le temps. Le but de cours est de présenter le filtre de Kalman qui permet une telle reconstruction, dans un contexte stochastique où le système à observer est linéaire et le bruit gaussien. Le filtre de Kalman est utilisé dans de nombreuses applications comme la localisation en robotique mobile qui nous intéressera particulièrement.


Découverte (30 Cr) ex UV 2.7 (resp. Benoît Zerr)
Notions de base de la robotique appliquée (machine à états finis, réseaux de Pétri, PID, Middleware, réseaux, web, php, parser). On conçoit un robot capable de se localiser et de naviguer dans un environnement connu. On essaiera de mettre en œuvre différents types de capteurs pour la localisation (contact, vision, télémètres, GPS).




UE 3.4 : Projets systèmes (162 Cr)

Dans cette UE, nous souhaitons mettre un apprentissage par le projet. Il faudra distinguer deux type de robots.
- Les clones. Ce sont des robots, tous identiques. Un clone sera attribué à chaque groupe. Cette année les clones seront les DDboats. Il s'agit de robots bateau, tous identiques, qu'il faudra rendre autonomes et intelligents.
- Les prototypes. Ils sont conçus par les étudiants et sont liés à des projets individualisés. Il y aura un prototype par groupe.



Ingénierie Système (28 Cr) (resp. Benoît Zerr)
L’objectif de ce cours est de découvrir les techniques de base de l'ingénierie système à travers la réalisation d'un projet de conception de système robotisé. Il aborde en particulier les bases de l'ingénierie système (ingénierie des exigences, analyse fonctionnelle, architecture physique, méthodologies de conception).
Les applications se feront autour de la robotique mobile.


Conduite de projets (20 Cr) (SHS, Nathalie Krien) en tronc commun
Gestion d'équipe, Intégration des étrangers, Management interculturel, etc.


Atelier (32 Cr) (resp. F. Le Bars)
Pour aider les étudiants dans leur travail de conception et réalisation, différents ateliers techniques seront proposés :
- Concevoir un robot / Programmer les capteurs et actionneurs d'un robot : choix et utilisation de centrales inertielles, GPS, moteurs, servomoteurs, autopilotes, etc.
- Construire un robot : conception et dimensionnement mécanique de chassis, structure d'un robot et réalisation avec fraiseuse, tour, imprimante 3D, perceuse, thermoformeuse, composites, etc.
De plus, d'autres ateliers pourront être faits en lien avec le cours Expérimentation à Guerlédan :
- Configuration et installation de bibliothèques via configure, make, make install, cmake.
- Initiation à OpenCV pour le suivi d'objets rouges.
- Initiation à l'utilisation de middleware.


Réalisation (50 Cr) (resp. F. Le Bars)
Ce module propose des projets qui seront indépendants entre eux et qui seront reliés à un sujet de recherche d'un enseignant-chercheur, à un industriel, ou à un projet innovant proposé par le groupe d'étudiants. Les étudiants seront partitionnés en groupes de 3 à 5 personnes. Chaque groupe devra concevoir et réaliser un prototype. Il peut s'agir d'un ou plusieurs robots marins, sous-marins, roulants ou volants suivant le projet choisi.
Au semestre S3 (en dehors des ateliers techniques). Dans une première phase, les groupes travailleront sur la conception et la commande du matériel pour leur prototype. Au semestre S4, le travail continuera avec une réalisation plus aboutie et une partie expérimentale conséquente.


Expérimentation (32 Cr) (resp. B. Zerr)
Pendant une semaine d'expérimentation in-situ à Guerlédan, les étudiants devront programmer et expérimenter sur un robot uniformisé (le clone). Cette année les clones seront des bateaux de modélisme (les DDboats) équipés de capteurs, d'actionneurs et d'une intelligence. Ils devront faire des missions autonomes, comme le scan d'une zone, la recherche d'un objet, la capture d'un autre robot, la sortie d'un labyrinthe, etc.

Semestre 4


UE 4.1 : Informatique et robotique (120Cr)

Logic programming (30 Cr) (resp. L. Jaulin)
Logic programming is a type of programming paradigm used in artificial intelligence to manipulate the reasoning with computers. Any program written in a logic programming language is a set of sentences in logical form, expressing facts, rules and constraints. Uncertainties, often represented by probabilities are here represented by sets.
This lesson is about logic inference, reasoning, and computation with sets. We will consider applications in localization, and mapping with mobile robots.


Middleware (30 Cr) (resp. Simon Rohou)
Un Middleware (intergiciel) est un logiciel tiers qui créé un réseau d'échanges d'informations entre différentes applications informatiques. Il permet de diviser la partie logicielle d'un robot en une suite de processus pouvant être démarrés simultanément ou séquentiellement au lancement d'une mission. Les middlewares présentés dans le cadre de ce cours sont ROS et MOOS-IvP.
Pré-requis : cours de C++ et Système d'exploitation.


Linux Embarqué (30 Cr) (resp. Benoît Zerr, Paul Blottiere)
L'objectif de ce cours est la création d'un OS Linux pour l'embarqué sur une carte électronique standard (ex. Raspberry PI, Beaglebone, Pcduiono, etc.), l'acquisition de notions simples d'administration et de programmation système. Pour y parvenir, il faudra maîtriser des outils déjà connus (ex git/github) ou nouveaux (ex. docker). Ce cours se terminera par un miniprojet de création d'un OS Linux en respectant une procédure complète allant de la conception à la documentation.


Image (30 Cr) (en commun SOIA, resp. Hélène Thomas)
L’image est devenue un moyen commun de représentation de l’environnement perçu par différents capteurs, par exemple à des fins de surveillance aérienne ou sous-marine ou de perception dans un environnement dynamique (robotique mobile, drones). Cette information bidimensionnelle s’est progressivement généralisée grâce à l’accélération croissante des possibilités de traitement des données. Le cours de traitement numérique des images contribue à l’acquisition de compétences en traitements d’informations associées à des systèmes de perception et d’observation de l’environnement. Dans la mesure où de nombreux traitements ont pour but d’être embarqués sur différentes plateformes et afin de donner aux élèves une connaissance et une compétence dans l’utilisation d’un outil de traitement d’images temps-réel, ce cours introduit la bibliothèque de traitement d’images temps-réel, largement utilisée dans l’industrie : OpenCV. La maîtrise de cet environnement a également pour but de faciliter certains projets de 2ème année. Une implémentation sur carte d'un algorithme de traitement d'images permettra d'approcher davantage la notion d'embarqué.





UE 4.2 : Exploration (96Cr)


Challenge Guerlédan (32 Cr) (resp. Benoît Zerr)
A partir d'une plateforme roulante on cherchera à programmer un robot capable de faire un circuit encombré par des obstacles, le plus rapidement possible en utilisant les capteurs (GPS, caméra, sonars, etc). et des lois de commande adaptées. Dans l'implémentation, nous chercherons à utiliser les outils appris dans les matières de robotique (middleware, filtre de Kalman, inertiel, commande non-linéaire, etc).


Simulation des robots mobiles (32 Cr) (Benoît Zerr)
On cherchera à simuler des robots mobiles effectuant une mission avec des outils de la réalité virtuelle. Le robot doit suivre un modèle dynamique issu des équations de la physique. La mise en place d'une architecture Hardware in the Loop sera proposée.


Commande des robots mobiles (32 Cr) (Luc Jaulin)
Les robots mobiles sont en constante évolution ces dernières décennies. Pour se déplacer, ces robots peuvent rouler, glisser, naviguer, nager ou bien voler. Les équations différentielles qui régissent leurs mouvements sont fortement non-linéaires. L'objectif de ce cours est de donner les méthodes qui permettent d'élaborer les lois de commande qui permettront à ces robots d'accomplir une tâche précise et ceci dans un environnement parfois encombré. Dans ce cours, nous supposerons que le robot sait où il se trouve et qu'il dispose d'une carte précise de son environnement. Ce cours s'intéresse donc principalement à la commande et au guidage.




UE 4.3 : Challenge (132Cr)

Cette UE concerne ceux qui ont choisi un stage court.

Constructions Innovantes (36 Cr) (resp. Fabrice Le Bars)
La notion de "construction innovante" est un challenge ou un défi à réaliser dans un temps imparti : Projets au choix à se répartir en équipes de 4-5, dans un temps assez limité, avec le matériel disponible : Bebop (très cadré), voiture autonome (un peu moins cadré), ou autres projets plus libres (e.g. sphéro, cubli, singlecopter, roue, segway, vélo, hydroplane, etc.), l'idée étant de faire de la conception, réalisation, programmation, expérimentation sur des types de robots qu'ils n'ont pas étudiés par ailleurs.


Projet innovation/recherche/entreprise (36 Cr) (resp. A. Raffarin).
Dans cette matière, on donnera les éléments indispensables pour la création d'une entreprise.


SHS (36 Cr) (resp. Damien Coadour).


Langues (24 Cr)


UE 4.4 : Projets systèmes (96 Cr)


Projets systèmes (96 Cr) (resp. Fabrice Le Bars)
Les groupes déjà constitués au semestre S3 devront reprendre leur projet de prototype avec finalisation de la réalisation et une partie expérimentale dominante. Lors des expérimentations, qui se feront à l'école ou à Guerlédan, les prototypes devront faire des missions autonomes.


Semestre 5


UE 5.1 : Intelligence (126Cr)


Machine learning (30 Cr) (resp. Gilles Le Chenadec), avec FIPA SE
Machine learning and proposes a set of algorithms and statistical models to perform a specific task without using explicit instructions. L’objectif de ce cours est de découvrir, d’expérimenter et de maîtriser les concepts fondamentaux du « machine learning » et les techniques d’apprentissage automatique à l’origine de la renaissance de l’Intelligence Artificielle.


Deep learning (30 Cr) (resp. Gilles Le Chenadec), avec FIPA SE.
Deep learning is a specific machine learning method based on learning data representations, as opposed to task-specific algorithms. Learning can be supervised, semi-supervised or unsupervised. Deep learning models are inspired by information processing and communication patterns in biological nervous systems.


Intelligence artificielle embarquée (30 Cr) (resp. Gilles Le Chenadec), avec FIPA SE.
Sur différentes applications, nous chercherons à implémenter des algorithmes intelligents sur des systèmes mobiles comme des robots, des véhicules ou des téléphones.


Initiation à la recherche (36 Cr) (resp. Luc Jaulin)
A partir d'un article scientifique, l'étudiant devra comprendre la problématique en recherchant dans la littérature. Il devra étudier la solution proposée, l'implémenter. et proposer des sources d'amélioration. Les thèmes proposés tourneront autour de l'intelligence artificielle pour la robotique.




UE 5.2 : Autonomie (120Cr)

Asservissement visuel (30 Cr) ex UV 5.6 (resp. Benoît Zerr), avec FIPA SE
Ce cours traite de la commande de la trajectoire d'un robot à partir d'une caméra, mais aussi plus généralement de la commande dite 'référencée capteur'. Pour application, nous traiterons, le problème de la commande d'un bras manipulateur en partant de la modélisation cinématique inverse, jusqu'à la réalisation de la loi de commande.


Commande robuste (30 Cr) ex UV 5.6 (resp. Benoît Clément), avec SOIA et FIPA SE
On applique la régulation à base de PID avec une application à un robot marin. Ensuite, le cours traite de la la commande robuste avec des applications au pilotage d'un lanceur et le contrôle d'attitude d'un satellite.


Ingénierie système (60 Cr) (resp. Benoît Zerr)
Dans ce cours, nous chercherons à formaliser et appréhender la conception de robots complexes. On prendra en compte les interdépendance entre les sous-systèmes. Les éléments matériels sont composés de sous-ensembles de technologies variées : mécanique, électrique, électronique, matériels informatiques, logiciels, réseaux de communication, etc. L'ingénierie des systèmes se focalise sur la définition des besoins du client et des exigences fonctionnelles, en documentant les exigences, puis en poursuivant avec la synthèse de la conception et la validation du système.


UE 5.3 : Robotique et industrie (150Cr)


Vision 3D (30 Cr) (resp. Hélène Thomas)
Les applications en vision sont aujourd'hui très nombreuses (sécurité, secourisme, assistance à la personne, contrôle non destructif, robotique industrielle, exploration-robotique mobile, ...). Dans le domaine de la robotique, le robot a besoin de sonder son environnement avant de planifier sa trajectoire, d’agir dans son environnement. Or l’expérience a montré que les yeux (humains, animaux, insectes) sont des capteurs très efficaces pour des actions de type reconnaissance, navigation, évitement d’obstacles et manipulations. Aussi, ce cours est-il consacré à la perception visuelle d’un environnement par caméras, ces caméras jouant de rôle de yeux pour le robot. La finalité des notions abordées a pour but la reconstruction 3D de l’environnement d’un robot, à partir d'images prises à différents instants ou par des caméras situées à différents endroits du robot. Ces notions sont les suivantes :
- la formation d’une image à partir d’une seule caméra,
- les traitements d’images nécessaires à l’exploitation des images acquises,
- la géométrie multi-vues et plus particulièrement les systèmes à deux caméras dont la stéréovision,
- le recalage d’images rigides
- et l’odométrie visuelle par flot optique.
Une mise en pratique de ces notions se fera par le biais des bibliothèques open-source OpenCV (Python) et PCL (Point Cloud Library) (C++).


Architecture robotique (60 Cr) (resp. L. Jaulin)
Chaque année, nous travaillons tous (encadrants et étudiants) sur un projet unique avec un industriel sur une architecture robotisée complexe. Il peut s'agir par exemple de la conception d'un groupe de robots sous-marin qui recherche une épave, ou bien la réalisation d'un système de capture d'un intrus par des robots autonomes, etc. Tout le groupe se réparti les tâches de façon à réaliser une modélisation propre (capteur, actionneur, etc.), un simulateur réaliste, l'achat d'un matériel adapté, la réalisation des robots jusqu'à une expérimentation convaincante devant l'industriel. L'ensemble des choix se fait en collaboration avec l'industriel.


Industrie (60 Cr) (resp. Simon Rohou)

Contrat-pro dispensés

A chaque séance, un industriel de la robotique donne un cours d'une heure et pendant les deux autres heures, les étudiants font un BE préparé par l'industriel, ou une visite. La séance se passe soit à l'ENSTA Bretagne, soit dans l'entreprise.
On y proposera également les notions sur les licences logicielles (cellule juridique) sur la réglementation des drones (aériens, terrestre, marin et sous-marins).


UE 5.4 : Field experiment (132Cr)


Obligatoire pour les contrat-pro.

Expérimentations terrain (132 Cr). (resp. Simon Rohou)
Elles se feront à Guerlédan et peuvent se faire en collaboration avec d'autres spécialités qui ont un besoin en robotique, comme l'hydrographie. Le projet se fait en 2 phases sur la zone d'expérimentation : 1 semaine en octobre et 1 semaine en mars.


Semestre 6

















Lettres de recommandation

En tant que co-responsable du profil robotique, on me demande souvent des lettres de recommandation. Si vous voulez une telle lettre, voici un canevas que vous devez compléter. Ensuite, vous me soumettez par email la lettre en .doc et .pdf, avec les justificatifs (notes par exemple). Je la modifierai ensuite. La lettre doit être adaptée à votre demande et l'établissement doit se reconnaître dans cette lettre. Il ne faut pas donner l'impression que vous avez envoyé la même lettre à plusieurs endroits. Il faut aussi personnaliser votre lettre et donner des liens factuels entre vos travaux et l'encadrant qui vous soutient dans votre demande. Attention, souvent, je refuse aussi de faire des lettres de recommandation, si j'ai l'impression que l'étudiant n'est pas motivé ou s'il n'a pas le niveau requis.