-->
Fabrication (mars 2020) |
Cycles stables (octobre 2020) |
Guerlédan (février 2021) |
Magmap (mars 2021) |
Co-responsable de la spécialité. Professeur de l'ENSTA-Bretagne dans le domaine de la robotique marine. Il travaille les groupes de robots.
Enseignant chercheur en robotique sous-marine.
Enseignant-chercheur en Machine Learning
Postdoc en vision avec Pixel sur mer
Professeur en robotique sous marine
Professeur en Physique théorique
Ingénieur radio-electronique
Ingénieur électronique
Ingénieur robotique
Doctorant en robotique marine
Doctorant en robotique marine avec DGA-TN
Ingénieur chez Forssea Robotics
Doctorant en robotique karstique
Doctorant en robotique sous-marine
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.
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).
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.
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é.
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.
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)
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.
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
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.
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.
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.
Les 2A, promo 2025 le 27 février 2024
Les 2A, promo 2026 le 11 septembre 2024