Prenez contact avec nous

Plan du cours

Semaine 01

Introduction

  • Qu'est-ce qui rend un robot intelligent ?

Robots physiques vs robots virtuels

  • Robots intelligents, machines intelligentes, machines sensibles et automatisation des processus robotiques (RPA), etc.

Le rôle de l'intelligence artificielle (IA) dans la robotique

  • Au-delà des structures "si-alors-sinon" et de l'apprentissage machine
  • Les algorithmes derrière l'IA
  • Apprentissage automatique, vision par ordinateur, traitement du langage naturel (NLP), etc.
  • Robotique cognitive

Le rôle du Big Data dans la robotique

  • Prise de décision basée sur les données et les modèles

Le cloud et la robotique

  • Connecter la robotique aux technologies de l'information (TI)
  • Construire des robots plus fonctionnels qui accèdent à plus d'informations et collaborent

Étude de cas : Robots industriels

  • Robots mécaniques
    • Baxter
  • Robots dans les installations nucléaires
    • Détection et protection contre les radiations
  • Robots dans les réacteurs nucléaires
    • Détection et protection contre les radiations

Composants matériels d'un robot

  • Moteurs, capteurs, microcontrôleurs, caméras, etc.

Éléments communs aux robots

  • Vision machine, reconnaissance vocale, synthèse de la parole, détection de proximité, détection de pression, etc.

Frameworks de développement pour programmer un robot

  • Frameworks open source et commerciaux
  • Robot Operating System (ROS)
    • Architecture : espace de travail, sujets, messages, services, nœuds, actionlibs, outils, etc.

Langages de programmation pour un robot

  • C++ pour la contrôle au niveau bas
  • Python pour l'orchestration
  • Programmation des nœuds ROS en Python et C++
  • Autres langages

Outils pour simuler un robot physique

  • Logiciels commerciaux et open source de simulation et de visualisation 3D

Semaine 02

Préparation de l'environnement de développement

  • Installation et configuration des logiciels
  • Paquets et utilitaires utiles

Étude de cas : Robots mécaniques

  • Robots dans le domaine des technologies nucléaires
  • Robots dans les systèmes environnementaux

Programmation du robot

  • Programmation d'un nœud en Python et C++
  • Compréhension du nœud ROS
  • Messages et sujets dans ROS
  • Paradigme publication / abonnement
  • Projet : Rebond et déplacement avec un robot réel
  • Dépannage
  • Simulation de robots avec Gazebo / ROS
  • Repères dans ROS et changements de référence
  • Traitement d'informations 2D des caméras avec OpenCV
  • Traitement d'informations d'un laser
  • Projet : Suivi sûr des objets par couleur
  • Dépannage

Semaine 03

Programmation du robot (suite)

  • Services dans ROS
  • Traitement d'informations 3D des capteurs RGB-D avec PCL
  • Cartes et navigation avec ROS
  • Projet : Recherche d'objets dans l'environnement
  • Dépannage

Programmation du robot (suite)

  • ActionLib
  • Reconnaissance et synthèse de la parole
  • Contrôle des bras robotiques avec MoveIt!
  • Contrôle du cou du robot pour la vision active
  • Projet : Recherche et collecte d'objets
  • Dépannage

Tests de votre robot

  • Tests unitaires

Semaine 04

Extension des capacités du robot avec l'apprentissage profond

  • Perception -- vision, audio et haptique
  • Représentation des connaissances
  • Reconnaissance vocale via le NLP (traitement du langage naturel)
  • Vision par ordinateur

Cours intensif sur l'apprentissage profond

  • Réseaux de neurones artificiels (RNA)
  • Réseaux de neurones artificiels vs réseaux neuronaux biologiques
  • Réseaux de neurones à propage avant
  • Fonctions d'activation
  • Entraînement des réseaux de neurones artificiels

Cours intensif sur l'apprentissage profond (suite)

  • Modèles d'apprentissage profond
    • Réseaux convolutifs et réseaux récurrents
  • Réseaux de neurones convolutifs (CNN ou ConvNets)
    • Couche de convolution
    • Couche de regroupement (pooling)
    • Architecture des réseaux de neurones convolutifs

Semaine 05

Cours intensif sur l'apprentissage profond (suite)

  • Réseaux de neurones récurrents (RNN)
    • Entraînement d'un RNN
    • Stabilisation des gradients pendant l'entraînement
    • Réseaux à mémoire à court et long terme (LSTM)
  • Plateformes et bibliothèques logicielles d'apprentissage profond
    • Apprentissage profond dans ROS

Utilisation du Big Data dans votre robot

  • Concepts du Big Data
  • Approches d'analyse des données
  • Outils du Big Data
  • Reconnaissance de modèles dans les données
  • Exercice : NLP et vision par ordinateur sur de grands ensembles de données

Utilisation du Big Data dans votre robot (suite)

  • Traitement distribué de grands ensembles de données
  • Coadaptation et fécondation croisée du Big Data et de la robotique
  • Le robot en tant que générateur de données
    • Capteurs de mesure de distance, position, visuels, tactiles et autres modalités
  • Donner du sens aux données sensorielles (boucle percevoir-planifier-agir)
  • Exercice : Capture de données en continu

Programmation d'un robot autonome basé sur l'apprentissage profond

  • Composants du robot d'apprentissage profond
  • Configuration du simulateur de robot
  • Exécution d'un réseau de neurones accéléré par CUDA avec Caffe
  • Dépannage

Semaine 06

Programmation d'un robot autonome basé sur l'apprentissage profond (suite)

  • Reconnaissance d'objets dans des photos ou des flux vidéo
  • Activation de la vision par ordinateur avec OpenCV
  • Dépannage

Analyse de données

  • Utilisation du robot pour collecter et organiser de nouvelles données
  • Outils et processus pour donner du sens aux données

Déploiement d'un robot

  • Transition d'un robot simulé vers du matériel physique
  • Déploiement du robot dans le monde physique
  • Surveillance et maintenance des robots sur le terrain

Sécurisation de votre robot

  • Empêcher les altérations non autorisées
  • Empêcher les pirates de visualiser et de voler des données sensibles

Construction collaborative d'un robot

  • Construction d'un robot dans le cloud
  • Rejoindre la communauté robotique

Perspectives d'avenir des robots dans les domaines des sciences et de l'énergie

Résumé et conclusion

Pré requis

  • Expérience en programmation en C ou C++
  • Expérience en programmation Python (utile mais non obligatoire; peut être enseignée dans le cadre du cours)
  • Expérience avec la ligne de commande Linux

Public cible

  • Développeurs
  • Ingénieurs
  • Scientifiques
  • Techniciens
 120 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires