Logo ÉTS
Session
Cours
Responsable(s) Jean-Philippe Roberge

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement


Préalables

Programme(s) : 7485,7885
             
  Profils(s) : Tous profils  
             
    GPA434    
             
 

Unités d’agrément

25,0 % 75,0 %
Total d'unités d'agrément : 58,8

Qualités de l’ingénieur

 













Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué

- Survolez les icones pour voir le nom de chaque qualité.
- Cliquez sur les icones pour voir la description.

Descriptif du cours

Au terme de ce cours, l’étudiant ou l'étudiante :

  • aura acquis des connaissances avancées en programmation d’algorithmes s’exécutant à bord de systèmes robotiques mobiles;
  • se sera familiarisé avec les principales familles d’algorithmes embarqués;
  • aura développé les compétences nécessaires à leur implantation efficace sur de réelles plateformes robotisées.

Introduction à la robotique mobile: principaux modes de locomotion, cinématique des robots mobiles et capteurs liés à la navigation autonome. Utilisation du système d’exploitation Linux : automatisation par interprétation de commandes BASH, gestion des processus, commande de périphériques d’entrée/sortie. Initiation à l’environnement ROS : intégration de capteurs et d’actionneurs, communication interprocessus et outils de développement. Étude détaillée d’algorithmes embarqués : techniques de reconstruction de l’environnement par stéréoscopie et/ou nuages de points, maillage, appariement de points, algorithmes de Delaunay, ICP, filtres de Kalman et filtrage de scènes. Revue et analyse d’algorithmes de navigation autonome : localisation, planification et suivi de trajectoires, navigation aux instruments et algorithme de Madgwick, méthode des potentiels, odométrie visuelle, cartographie et localisation simultanées (SLAM). Étude d’algorithmes modernes de contrôle robotique basés sur l’intelligence artificielle: apprentissage par renforcement et RHC/MPC.

Séances de laboratoire portant sur la mise en pratique des algorithmes étudiés lors des séances magistrales grâce à un robot mobile évoluant dans un environnement structuré et inconnu.






Objectifs du cours

Le cours GPA778 vise l'acquisition de connaissances au sujet des familles d'algorithmes typiquement employés en robotique au sens large, en portant cependant une attention particulière à la robotique mobile. Le cours familiarise d'abord l'étudiant·e avec certains principes de base reliés à la programmation et à la robotique, puis présente une multitude d'approches logicielles permettant aux robots d'intéragir de manière efficace avec l'environnement. En particulier, le cours a entre autres comme objectifs d'amener l'étudiant·e à:

  • Se familiariser avec un ordinateur monocarte de type Raspberry PI fonctionnant sous Linux (Ubuntu);
  • Acquérir des connaissances de base en programmation Bash et Python;
  • Comprendre le fonctionnement de ROS (Robot Operating System) et développer des packages informatiques sous cet environnement;
  • Développer la cinématique de robots mobiles simples;
  • Connaître les moyens de locomotion et morphologies typiques utilisés en robotique mobile;
  • Connaître les principales technologies de capteurs pouvant être intégrées sur un robot et leurs implications sur le plan logiciel; 
  • Développer de solides compétences en développement d'algorithmes pour robot(s), notamment en:
    • Perception 2D et 3D, avec techniques de filtrage et maillage;
    • Identification des surfaces de travail (e.g.: surfaces navigables);
    • Localisation simple basée sur encodeurs et centrale inertielle (navigation aux instruments), puis plus complexe par fusion de capteurs et par odométrie visuelle;
    • Planification et suivi de trajectoires;
    • Cartographie et exploration;
  • Distinguer les avantages et les inconvénients des approches logicielles classiques lors d'activités de cartographie et localisation simulatanées (SLAM) au niveau de leur coût d'opération logicielle, selon le contexte d'opération;
  • Obtenir une introduction sur l'intelligence artificielle appliquée à la robotique.

Ultimement, l'étudiant·e devrait, au terme de ce cours, avoir acquis des habiletés lui permettant d'implanter efficacement les algorithmes étudiés durant les scéances magistrales et appliquées durant les laboratoires, sur de réelles plateformes robotisées.


Stratégies pédagogiques

  • 39 heures de cours magistraux
  • 24 heures de laboratoires
  • 4 heures de travail personnel par semaine (lectures, exercices, préparation des laboratoires, travail libre au laboratoire, etc.)

 

Utilisation d'un environnement numérique d'apprentissage (ENA): Dans le cadre du cours, l'étudiant·e sera appelé·e à utiliser Moodle (https://ena.etsmtl.ca/) afin de télécharger les notes de cours, pour consulter les références et liens connexes, puis pour effectuer des exercices (e.g.: quiz) visant à vérifier sa compréhension des concepts théoriques. En plus de Moodle, l'étudiant·e sera introduit·e à l'environnement ROS Development Studio, un environnement virtuel en ligne, afin d'y effectuer certains exercices de développement logiciels.

 

De plus, afin de réaliser les divers objectifs d'apprentissage, les concepts clés seront d'abord présentés lors des séances magistrales et des exercices seront fréquemment proposés afin de bien encrer les nouvelles connaissaces. Enfin, les concepts présentés en classe seront appliqués au laboratoire dans un réel contexte de robotique: les notions acquises serviront à programmer progressivement un robot devant effectuer une tâche de cartographie et localisation simultanées (SLAM).

 





Coordonnées du personnel enseignant le cours

* Double-cliquez sur le champ pour modifier le contenu