-->
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. Elle a pour but de former des ingénieurs en robotique mobile.
Les responsables sont Benoît Zerr et Luc Jaulin.
La spécialité est un renforcement du profil robotique qui existait depuis septembre 2009 à 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 15/03/2021



Quelques exemples d'expérimentations faites par les étudiants en robotique :


Fabrication (mars 2020)

Cycles stables (octobre 2020)

Guerlédan (février 2021)

Magmap (mars 2021)

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 pratique 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
- Dual boot Windows et Ubuntu 22.04 64 bit

Pour plus d’infos, voir :

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 Machine Learning

Thomas

Thomas Le Mézo

Enseignant chercheur en robotique

Lucia

Lucia Bergantin

Postdoc en vision avec Pixel sur mer

Lionel Lapierre

Lionel Lapierre

Professeur en robotique sous marine

Arnaud Coatanhay

Arnaud Coatanhay

Professeur en Physique théorique


Ingénieurs



Didier Tanguy

Didier Tanguy

Ingénieur radio-electronique

Gilles Le Maillot

Gilles Le Maillot

Ingénieur électronique

Alain Bertholom

Alain Bertholom

Ingénieur robotique


Doctorants




Quentin

Quentin Brateau

Doctorant en robotique marine

Damien

Damien Esnault

Doctorant en robotique marine avec DGA-TN

Auguste

Auguste Bourgois

Ingénieur chez Forssea Robotics

Mirado

Mirado Rajaomarosata

Doctorant en robotique karstique

Mael

Mael Godard

Doctorant en robotique sous-marine

Vacataires

Recrutement des vacataires :
Livret des vacataires :



Semestre 3

UE 3.1 : Fondamentaux (110Cr)



Mathématiques (36 Cr) (resp. T. Bonnafont) 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.


Linear control (30 Cr) (in English), facultatif. Sera proposé aux étudiants qui n'ont pas fait leur première année à l'école)
This lesson is associated to the MOOC : CtrMOOC which is in English We will study the state space representation. Then we will show how to control them using linear based methods.




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 (38 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 of 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).


Kalman (36 Cr) (resp. Arnaud Coatanhay)
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) (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 types de robots.
- Les clones. Ce sont des robots, tous identiques. Un clone sera attribué à chaque groupe. Cette année les clones seront les DD Boats. 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 (8 Cr) (coef 1, resp. Thomas Le Mézo)
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) (coef 1, SHS, Nathalie Krien) en tronc commun
Gestion d'équipe, Intégration des étrangers, Management interculturel, etc.


Ateliers (45 Cr) (coef 2, resp. F. Le Bars)
Pour aider les étudiants dans leurs travaux de conception et réalisation notamment pour l'UE 3.4 Projet, différents ateliers techniques sont proposés :
- Hardware : choix et utilisation de centrales inertielles, GPS, moteurs, servomoteurs, autopilotes, etc.
- CNC : conception et dimensionnement mécanique de chassis, structure d'un robot et réalisation avec fraiseuse, tour, imprimante 3D, perceuse, thermoformeuse, composites, etc.


Projet (57 Cr) (coef 4, 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.
Pour aider les étudiants dans leur travail de conception et réalisation, différents ateliers techniques seront proposés dans le cadre de l'UE 3.4 Ateliers. Au semestre 3, les groupes travailleront principalement sur la conception et la commande du matériel pour leur prototype. Au semestre 4, les différents groupes d'étudiants devront continuer leur projet avec des parties réalisation et expérimentale plus conséquentes et devront aboutir à une démonstration convaincante du fonctionnement du prototype.


DD-Boat (32 Cr) (coef 2, resp. L. Jaulin)
Pendant une semaine d'expérimentation in-situ à Guerlédan, les étudiants devront programmer et expérimenter sur un robot uniformisé : le DD Boat. Les DD Boats sont é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)

Intervalles (30 Cr) (resp. Simon Rohou)
Interval computation is a type of programming paradigm used in artificial intelligence to manipulate the reasoning with uncertainties in robotics. 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.


ROS (30 Cr) (resp. Thomas Le Mézo)
ROS est un middleware (intergiciel), c'est à dire, 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.
Pré-requis : cours de C++ et Système d'exploitation.


Systèmes embarqués (30 Cr) (resp. Benoît Zerr)
Un système embarqué est un système électronique et informatique autonome, souvent temps réel, spécialisé dans une tâche précise. Pour nous, cette tâche sera liée à l'autonomie d'un robot mobile. Les ressources sont généralement limitées spatialement (encombrement réduit) et énergétiquement (consommation restreinte). L'objectif de ce cours est la création d'un tel système avec un OS Linux pour sur une carte électronique standard (ex. Raspberry PI, Beaglebone, Pcduiono, etc.). 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 en respectant une procédure complète allant de la conception à la documentation.


Image (30 Cr) (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)


Swarm (32 Cr) (resp. Luc Jaulin)
Il s'agit de la deuxième semaine d'expérimentation in-situ à Guerlédan. Les étudiants devront programmer des missions autonomes et collectives (chorégraphie, capture, course) avec les DD Boats. Il faudra prendre en compte l'évitement d'obstacle, percevoir l'environnement, construire des cartes et utiliser la communication. Contrairement à la première semaine d'expérimentation, nous chercherons à utiliser les outils appris dans les matières de robotique (middleware, filtre de Kalman, inertiel, commande non-linéaire, guidage, etc).


Simulation (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.


Guidage (32 Cr) (Lionel Lapierre)
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 des robots mobiles.




UE 4.3 : SHS/LV (70 Cr)


LV1 (14 Cr) (resp. Jennifer Toher)

LV2 (20 Cr) (resp. Catherine Adam)

Jeux d'entreprise (24 Cr) (resp. Klara Kovesi)

Modules électifs (12 Cr) (resp. Linda Gardelle)




UE 4.4 : Projet (96 Cr)


Ingénierie Système (8 Cr) (coef 1, resp. Thomas Le Mézo)
L’objectif de ce cours est d'appliquer l'ingénierie système à travers du projet de robotique de l'UE 4.4


Projet (88 Cr) (coef 5, resp. Fabrice Le Bars)
Ceci est la suite de l'UE 3.4 Projet du semestre 3. Au semestre 4, les différents groupes d'étudiants devront continuer leur projet avec des parties réalisation et expérimentale plus conséquentes et devront aboutir à une démonstration convaincante du fonctionnement du prototype.


Semestre 5


UE 5.1 : Intelligence Artificielle (126Cr)


Machine learning (72 Cr) (resp. Gilles Le Chenadec), avec FIPA SE
L’objectif de ce cours est de découvrir, de comprendre, d’expérimenter et de maîtriser le 'machine learning', technique d’apprentissage automatique à l’origine de la renaissance de l’intelligence artificielle et s’intégrant maintenant totalement dans la boite à outils nécessaires aux ingénieurs.
Les techniques basiques de machine learning seront complétées par les concepts de 'machine learning moderne' appelé deep learning.
Le programme englobe l’apprentissage :
- des concepts fondamentaux d’apprentissage supervisé, non-supervisé et par renforcement ;
- de la programmation et/ou de l’utilisation des algorithmes majeurs du domaine : supervisé (SVM, réseau (profond) de neurones, random forest), non-supervisé (k-means, GMM), renforcement (policy gradient, Q-learning, Actor-Critic)
- des packages python numpy, scipy, scikit-learn, tensorflow, keras, openai-gym.
A la fin du cours, l'élève sera capable de :
- de connaître les différentes grandes notions et les applications du domaine du machine learning (par exemple : classification, régression, détection et localisation, segmentation);
- d’apporter une solution 'Machine Learning' à un problème particulier incluant des données pour un système dynamique/agent autonome ou non.


Systèmes communicants (18 Cr) (resp. Luc Jaulin), (sans FIPA SE).
Les systèmes communicants sont constitués d'un ensemble d'agents (processus, robots, êtres humains, etc.) actifs et mobiles dans un certain environnement et interagissant selon certaines règles. Un agent est une entité caractérisée par le fait qu'elle est, au moins partiellement, autonome, ce qui exclut un pilotage centralisé du système global. L'étude des systèmes communicants dans le cadre de la robotique mobile regroupe différentes disciplines comme :
- l'intelligence artificielle ;
- la théorie du contrôle ;
- le calcul distribué ;
- le réseau ;


Initiation à l'enseignement et/ou à la recherche (36 Cr) (resp. Luc Jaulin)
L'étudiant pourra choisir entre enseignement ou recherche.
Recherche. 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.
Enseignement. L'étudiant devra intervenir dans les TD (4 heures environ) de 1A ou 2A sous l'autorité d'un enseignant permanent de l'école




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 des robots marins (30 Cr) (resp. Lionel Lapierre)
Le cours propose des structures de commande appliquées aux véhicules marins (S-NGC-A, suivi de chemin, le parallèle non-holonomie/sous-actionnement, gestion redondance actionneurs, évitement d'obstacles, flottilles...).


Ingénierie système (60 Cr) (resp. Thomas Le Mézo)
Dans ce cours, nous chercherons à formaliser et appréhender la conception de robots complexes. On prendra en compte les interdépendances 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 : SHS


UE 5.4 : Robotique et industrie (150Cr)


Vision (30 Cr) (resp. Mirado Rajaomarosata et Lucia Bergantin)
Ce cours traite de la perception visuelle de l'environnement par des caméras. La reconstruction 3D de l'environnement a de nombreuses applications en robotique, notamment en navigation. Les notions abordées dans ce cours incluent donc la modélisation et la calibration des caméras, la cartographie visuelle, le SLAM, l'odométrie visuelle et l'analyse du mouvement.


Architecture robotique (60 Cr) (resp. Lionel Lapierre)
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.


Daurade (60 Cr) (resp. Simon Rohou)

Contrat-pro dispensés

L’objectif de ce cours est d’appréhender les problématiques liées à la robotique sous-marine. Il aborde en particulier les questions de positionnement sous-marin, d’acquisition d’images de grands fonds, de capteurs acoustiques, de filtrage ou encore de planification de trajectoires.


Semestre 6

UE 6.1 : Field experiment (132Cr)


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.


Galerie

Architecture

Les 2A, promo 2025 le 27 février 2024