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

Ce site concerne le cours Architecture Robotique pour les étudiants de 3ième année de l'ENSTA-Bretagne.


Introduction

We have an underwater robot with a torpedo shape, for instance a Riptide or a Folaga from Kopadia. The robot is equipped with an IMU and a pressure sensor. The only exteroceptive sensor is an echo-sounder, on the nose of the AUV, as illustrated by the figure above. It has no other sensors that can be used for localization such as cameras or lateral sonars. Note that the robot also contains a GPS and a Wifi connection. Now, since the robot is always underwater, they will not be used. Note that at ENSTA, we have 4 Riptides and a collaboration between AUVs can be thought. Now, since they do not contain any communication system that could work underwater, no collaboration will be considered, at least in the initial part of the project.

Problem

The problem we want to consider is now described. We have have an underwater environment with a know bathymetry. We want to find several zones in this world, so that the AUV is able to move from zones to zones without getting lost. The AUV is assumed to move horizontally at a constant depth. Note that the robot has no bathymetric map inside its memory. It only contains a small automaton that described its behavior.
Experimental validations will also be proposed to show the usefulness of the developed tools.
All results and source codes developed in this project will be made publicly available in this website.


More explanations are given on the report (to be finished):

Partners

Industrial partners are:
- Kopadia is represented by Thierry Grousset and Hervé de Forges. Also is involved Corentin Jegat who is a student/engineer ENSTA/Kopadia.
- DGA represented by Benoît Desrochers. DGA (MRIS) supports us for three years on validation methods for robots using interval analysis.
- Région Bretagne and le DRASSM which provide some financial supports for using robots to find 'la Cordelière'.

Consignes

All documents (and videos) will be in English.
Chaque étudiant devra faire un mini-cours devant ses camarades. Ce cours devra lié au projet et sera noté.
L'outil de gestion de version pour les logiciels développés sera Github. Le rapport final sera à faire sous Lyx/Latex, en anglais ou en français.
L'auteur de chaque partie du rapport doit être identifié afin de permettre une notation.
Une vidéo présentant le projet devra être faite.
La soutenance finale se tiendra à la fin de l'UV. Chaque étudiant devra parler au moins 3 minutes devant un jury composé de plusieurs enseignants. Il faudra bien expliquer votre contribution.

Notes

Vous aurez trois notes avec le même coefficient. Pour ces notes, je prends en compte principalement votre contribution au travail collectif. Le travail isolé n'est pas forcément considéré. Vous devez donc faire le maximum pour collaborer avec les autres.
- Note 1 : Travail continu. Elle évalue le travail en continu effectué au long du projet, lors des séances de travail. Cette note évalue également un mini-cours pendant lequel vous exposez pendant 30 minutes des notions importantes pour le groupe et qui seront utiles pour réaliser le projet.
- Note 2 : Soutenances. Il s'agit d'une note individuelle sur la soutenance, le rapport et la vidéo. Vous devrez défendre votre contribution pour chacun de ces supports.
- Note 3 : Produit final. Il s'agit d'une note commune sur le produit final. Tout le monde a la même note.




Tâches

Chaque étudiant doit avoir une responsabilité bien définie. Ces responsabilités se définiront et se préciseront au cours du projet.


Plateformes collaboratives


We use Github for the version management of the software and documents.

We may use Latex (Overleaf) or Lyx to write the final document.







Journal

Jeudi 24 octobre 2019, am. Prolog pour la résolution de problèmes logiques. Nous allons tenter d'utiliser Prolog pour la partie intelligence du robot.

Mercredi 30 octobre am-pm. Présentation du projet 'Gozone'. On cherche à faire un robot sous-marin et qui se déplace de cycle en cycle de façon intelligente.

Vendredi 8 novembre pm. Rappel méca flu.
Rappel identification.
Faire un programme Riptide sur table.
Faire un programme Folaga sur table.
Identifier les paramètres.

Vendredi 15 novembre am. Luc absent
Travail en autonomie avec suivi par email

Vendredi 29 novembre pm. Faire le bilan de ce qui a été fait le 15/11
Faire la régulation en profondeur du Folaga.
Pour cela, pouvez vous inspirer de la méthode de Thomas Le Mézo, illustrée sur la vidéo :

Vendredi 10 janvier am. Corentin Jégat nous présente le Folaga de Kopadia et se focalise sur le problème de l'estimation du cap far filtre de Kalman.

Vendredi 24 janvier pm. Alexandre Argento nous a présenté le krigeage pour la bathymétrie.

Vendredi 15 février am. Bilan sur l'ensemble des tâches en cours par Kévin. Deux points critiques semblent apparaître. Le Folaga gère mal de flottabilité qui à un problème mécanique au niveau du ballast. Nous devons préparer une mission, peut être sur le lac Ty Colo. La piste du cycle en L a tété évoqué, comme phase 1 de l'expérimentation. Il faudrait le valider par simulation et par Tubex.

Mardi 18 février am+pm. Nous avons eu un mini cours sur ROS2. Nous avons discuté du rapport à fournir, du cycle en L, de la mission prévue. Elle se fera sur le lac de Ty Colo. Lundi prochain. Nous avons maintenant accès au cas niveau des riptides.

Vendredi 21 février am+pm. Nous avons eu une série d'exposés le matin. L'après midi a été consacré à l'expérimentation du lundi 24.

Lundi 24 février am+pm. Expérimentations sur le lac de Ty colo.

Mardi 25 février am. Des mini-cours toute la matinée.

Vendredi 28 février am. Soutenance 9h en F101. La durée de soutenance a été de 1h30 suivie des questions/réponses avec le jury.
Les planches de la présentation


Rapport. Le rapport rendu est donné ci-contre :





Vidéo faite par les étudiants sur le projet Go Zone








Liste des étudiants 3A impliqués dans le projet

Alexandre Argento
Kévin Bedin
Matthieu Bouveron
Quentin Cardinal
Cyril Cotsaftis
Alexandre Courjaud
Nathan Fourniol
Aurelien Grenier
Corentin Jegat
Erwann Landais
Driss Tayebi
Philibert Adam
David Brellmann
Aurélien Lebrun
Anouar Mahla
Axel Porlan
Clément Bichat
Yann Musellec




Organisation

Architecte. Kévin Bedin.
L'architecte est là pour assurer la cohérence du groupe. Il vérifie que tout le monde travaille dans le même sens, et de façon coordonnée.

Task 1 : Simulation de la commande (Python) .
Matthieu Bouveron
Clément Bichat
Simuler le principe de l'automate sous Python. Prendre une bathymétrie donnée par une équation.

Task 2 : Riptide.
Philibert Adam
Nathan Fourniol
Quentin Cardinal
Savoir utiliser le Riptide en tant qu'utilisateur. Lire la notice.
Comprendre le code.

Task 3 : Folaga.
Corentin Jegat
Nathan Fourniol
Erwann Landais
Savoir utiliser le Folaga en tant qu'utilisateur.
Comprendre le code.

Task 4 : Capteur.
Philibert Adam
Matthieu Bouveron
Driss Tayebi
Savoir utiliser l'échosondeur, calibration de l'IMU.

Task 5 : Définir les zones.
Philibert Adam
Anouar Mahla
Axel Porlan
David Brellmann
Aurelien Lebrun
A partir d'une bathymétrie connue définir des zones de façon la plus automatique possible.

Task 6 : Simulator 3D.
Aurelien Grenier
Clément Bichat
Alexandre Courjaud
Provide a simulator based on the state equations provided by Tasks 9 and 11. The robot should controlled and use the intelligence made in Talk 7. The robot moves underwater over a 3D seafloor. The graphism should be 3D. You can use Gazebo for instance.

Task 7 : Intelligence.
Anouar Mahla
Alexandre Argento
David Brellmann
Axel Porlan
Faire un algo de graphe capable de répondre à une requête imprévue du type aller à la zone C, visiter tous les noeuds sans jamais passer par la zone D.

Task 8 : Tubex.
Aurélien Lebrun
Aurélien Grenier
Driss Tayebi
Mettre en lien les différentes zones en utilisant Tubex
Résoudre le problème de la trajectoire de Dubins.

Task 9 : Identification des paramètres de l'AUV.
Cyril Cotsaftis
Yann Musellec
The state equations (see Task 11) of the AUV dépend on parameters.
- Some of them are known such as the density of the water or the diameter of the torpedo;
- Some can be measured by a direct measurement (inertia, mass); - Some require an identification from a simple underwater experiment (put the propellers on and turn right, ...) In this task, we want to identify the parameters so that our simulation (which uses the model and the parameters) fit with the actual AUV.

Task 10 : ROS / MOOS.
Nathan Fourniol
Corentin Jégat
Alexandre Courjaud
Yann Musellec
Utiliser ROS à la place de MOOS sur les AUVs.

Task 11 : Modélisation de l'AUV.
Quentin Cardinal
Cyril Cotsaftis
Erwann Landais
Get the state equations of the Riptide and the Folaga. The parameters will be identified in Talk 9.
Partir de la modélisation du quadrotor.

Task 12 : Field experiment.
Planifier une expérimentation réelle.




Mini-cours




NOM Prénom Date Sujet Présentation
Corentin Jégat 10/01/2020, 8h Estimation de cap
Alexandre Argento 24/01/2020, 13h30 Krigeage pour la bathymétrie
Clément Bichat 18/02/2020, 8h10 ROS 2
Philibert Adam 21/02/2020, 8h Riptide : Hardware et capteur
Nathan Fourniol 21/02/2020, 8h30 Riptide : Front-end
Alexandre Courjaud 21/02/2020, 9h Riptide et MOOS
Erwann Landais 21/02/2020, 9h30 Identification des paramètres des AUV
Axel Porlan 21/02/2020, 10h Cryptographie en robotique
Kévin Bedin 21/02/2020, 10h30 Repères géographiques
Aurélien Grenier 25/02/2020, 8h00 Preuve de cycles par Tubex
Driss Tayebi 25/02/2020, 8h30 L'échosondeur
Yann Musellec 25/02/2020, 9h00 Identification par intervalles
Quentin Cardinal 25/02/2020, 9h30 Gazebo pour simulation
Cyril Cotsaftis 25/02/2020, 10h00 UUV simulator
Matthieu Bouveron 25/02/2020, 10h30 Contôle du Riptide
David Brellmann 25/02/2020, 11h00 Alloy
Aurélien Lebrun 25/02/2020, 11h30 Cycle stable
Anouar Mahla 25/02/2020, 12h00 Réseaux de Pétri