Plan du cours
Semaine 01
Introduction
- Qu'est-ce qui rend un robot intelligent ?
Robots physiques vs robots virtuels
- Robots intelligents, machines intelligentes, machines sentiantes et automatisation robotique des processus (RPA), etc.
Le rôle de l'intelligence artificielle (IA) en robotique
- Au-delà du "si-alors-sinon" et de la machine apprenante
- 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 en robotique
- Prise de décision basée sur les données et les modèles
Le Cloud et la robotique
- Lier la robotique aux technologies de l'information (IT)
- Créer des robots plus fonctionnels accédant à davantage d'informations et collaborant
É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 des robots
- Vision par ordinateur, reconnaissance vocale, synthèse vocale, détection de proximité, détection de pression, etc.
Cadres 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 pour programmer un robot
- C++ pour le contrôle bas niveau
- Python pour l'orchestration
- Programmation de nœuds ROS en Python et C++
- Autres langages
Outils de simulation d'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 : Éviter les obstacles (Bump & Go) 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 des informations d'un laser
- Projet : Suivi sécurisé d'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 vocale
- 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
Test de votre robot
- Tests unitaires
Semaine 04
Étoffer les capacités d'un 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 neuronaux artificiels (ANN)
- Réseaux neuronaux artificiels vs réseaux neuronaux biologiques
- Réseaux neuronaux à rétroaction avant (Feedforward)
- Fonctions d'activation
- Entraînement des réseaux neuronaux 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 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 à 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 de l'analyse de données
- Outils Big Data
- Reconnaissance de motifs 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
- Coexistence et fertilisation 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 sens-plan-acte)
- Exercice : Capture de données en flux continu
Programmation d'un robot autonome d'apprentissage profond
- Composants du robot d'apprentissage profond
- Configuration du simulateur de robot
- Exécution d'un réseau neuronal accéléré par CUDA avec Caffe
- Dépannage
Semaine 06
Programmation d'un robot autonome d'apprentissage profond (Suite...)
- Reconnaissance d'objets dans des photographies 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 un matériel physique
- Déploiement du robot dans le monde physique
- Surveillance et maintenance des robots sur le terrain
Sécurisation de votre robot
- Prévention des modifications non autorisées
- Prévention des pirates visant à voir et voler des données sensibles
Construction collaborative d'un robot
- Construction d'un robot dans le Cloud
- Rejoindre la communauté robotique
Perspectives futures pour les robots dans les domaines des sciences et de l'énergie
Résumé et conclusion
Pré requis
- Expérience de programmation en C ou C++
- Expérience de programmation en Python (utile mais non indispensable ; peut être enseignée dans le cadre du cours)
- Expérience avec la ligne de commande Linux
Audience
- Développeurs
- Ingénieurs
- Scientifiques
- Techniciens
Nos clients témoignent (2)
Fourniture des matériels (machine virtuelle) pour passer directement aux exercices, et explication des fondamentaux de ROS2. Comprendre pourquoi les choses fonctionnent d'une manière particulière.
Arjan Bakema
Formation - Autonomous Navigation & SLAM with ROS 2
Traduction automatique
ses connaissances et son utilisation de l'IA pour la robotique dans le futur.
Ryle - PHILIPPINE MILITARY ACADEMY
Formation - Artificial Intelligence (AI) for Robotics
Traduction automatique