M2 Parcours IA²VR – Ingéniérie logicielle pour l’IA et la robotique

L’objectif de cette UE est d’acquérir de bonnes pratiques d’ingénierie logicielle et de maitriser les paradigmes et bibliothèques de programmation associées pour résoudre des problèmes réels dans les domaines de la robotique et de l’apprentissage automatique.

Cette UE est composée de deux parties :

  • Enseignements en robotique : cette partie abordera la conception et la mise en œuvre d’un système robotique utilisant le framework Robotic Operating System (ROS). Une discussion sur les bonnes pratiques pour la simulation, la perception et la sûreté dans la commande sera engagée pour mener à une réalisation concrète.
  • Enseignements en deep learning : cette partie abordera la prise en main d’un framework dédié à l’apprentissage profond (PyTorch par exemple). Une réflexion de conception sera engagée avec les étudiants pour conduire à une spécification d’une librairie Python modulaire, déployable sur un cluster de calcul, permettant de dérouler un plan d’expérience pour résoudre la tâche de régression à partir d’image, nécessaire pour la conduite autonome du véhicule.

Pendant ce cours, les étudiants réaliseront la conception et la mise en œuvre d’un système robotique intégrant des algorithmes d’apprentissage profond (deep learning) appliqués sur des images. L’UE sera structurée autour d’un projet fil-rouge de conduite autonome d’un robot simulé. Les étudiants construiront une base d’apprentissage annotée (automatiquement) des commandes motrices à envoyer au robot, en pilotant eux-mêmes le système, entraîneront un réseau de neurones convolutif pour prédire les commandes à exécuter à partir des images pour finalement déployer le réseau entraîné assurant la conduite autonome du véhicule.

Dans cette UE, les étudiants développeront leurs compétences en ingénierie logicielle, mais aussi, plus généralement, en programmation, en traitement d’images, en manipulation de données et en intégration de systèmes. Ce faisant, ils se familiariseront avec les défis et les complexités de la robotique et de l’intelligence artificielle et seront capables de concevoir et de mettre en œuvre un système robotique complet.

Prérequis

  • Programmation Python
  • Connaissance des concepts nécessaires à l’entraînement d’un réseau de neurones convolutifs (architecture du réseau, algorithme d’optimisation, régularisation)

Acquis d’apprentissage

  • Connaissance d’un intergiciel robotique et son écosystème.
  • Connaissance d’un framework pour l’apprentissage profond.
  • Bonnes pratiques en apprentissage automatique et en robotique.
  • Expérience de conception et d’implémentation d’un système robotique complet avec un contrôleur basé sur de l’apprentissage automatique.

Compétences visées

  • Définir et paramétrer un modèle d’apprentissage automatique pour une tâche donnée, modéliser et manipuler un système stochastique.
  • Analyser et traiter des données perceptives (image, parole, etc.) possiblement bruitées, interpréter un environnement visuel, extraire des informations contextuelles, enrichir la perception.
  • Concevoir un système robotique intégré et son modèle cinématique ou dynamique, planifier la séquence de tâches d’un système robotique, maîtriser un logiciel de simulation robotique.