Plan du cours
Semaine 01
Introduction
- Qu'est-ce qui rend un robot intelligent ?
Robots physiques vs robots virtuels
- Robots intelligents, machines intelligentes, machines sentientes et automatisation des processus robotiques (RPA), etc.
Le rôle de l'intelligence artificielle (IA) dans la robotique
- Au-delà du "si-alors-sinon" et de la machine d'apprentissage
- Les algorithmes derrière l'IA
- Apprentissage automatique, vision par ordinateur, traitement du langage naturel (NLP), etc.
- Robotique cognitive
Le rôle des grandes données dans la robotique
- Prise de décision basée sur les données et les modèles
Le cloud et la robotique
- Lien entre la robotique et l'informatique
- Création de 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 des robots
- Vision par ordinateur, reconnaissance vocale, synthèse de la parole, détection de proximité, capteurs de pression, etc.
Frameworks de développement pour programmer un robot
- Frameworks open source et commerciaux
-
Système d'exploitation Robot (ROS)
- Architecture : espace de travail, sujets, messages, services, nœuds, actionlibs, outils, etc.
Langages pour programmer un robot
- C++ pour le contrôle de bas niveau
- Python pour l'orchestration
- Programmation des nœuds ROS en Python et C++
- Autres langages
Outils pour simuler un robot physique
- Logiciels de simulation et de visualisation 3D commerciaux et open source
Semaine 02
Préparation de l'environnement de développement
- Installation et configuration du logiciel
- Packages et utilitaires utiles
Étude de cas : Robots mécaniques
- Robots dans le domaine de la technologie nucléaire
- 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 de publication / abonnement
- Projet : Bump & Go avec un robot réel
- Dépannage
- Simulation de robots avec Gazebo / ROS
- Cadres dans ROS et changements de référence
- Traitement d'informations 2D de caméras avec OpenCV
- Traitement d'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 de 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 vocale et génération de 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
Test de votre robot
- Tests unitaires
Semaine 04
Étendre les capacités de votre robot avec l'apprentissage profond
- Perception -- vision, audio et haptique
- Représentation des connaissances
- Reconnaissance vocale via le traitement du langage naturel (NLP)
- Vision par ordinateur
Cours intensif sur l'apprentissage profond
- Réseaux de neurones artificiels (ANN)
- Réseaux de neurones artificiels vs réseaux de neurones biologiques
- Réseaux de neurones à propagation avant
- Fonctions d'activation
- Formation des réseaux de neurones artificiels
Cours intensif sur l'apprentissage profond (suite...)
-
Modèles d'apprentissage profond
- Réseaux de convolution et réseaux récurrents
-
Réseaux de neurones convolutifs (CNN ou ConvNets)
- Couche de convolution
- Couche de poolage
- Architecture des réseaux de neurones convolutifs
Semaine 05
Cours intensif sur l'apprentissage profond (suite...)
-
Réseaux de neurones récurrents (RNN)
- Formation d'un RNN
- Stabilisation des gradients lors de la formation
- Réseaux de neurones à mémoire à court et long terme
-
Plateformes et bibliothèques logicielles d'apprentissage profond
- Apprentissage profond dans ROS
Utilisation de grandes données avec votre robot
- Concepts de grandes données
- Approches d'analyse des données
- Outils pour l'analyse des données
- Reconnaissance de modèles dans les données
- Exercice : NLP et vision par ordinateur sur de grands ensembles de données
Utilisation de grandes données avec votre robot (suite...)
- Traitement distribué de grands ensembles de données
- Coexistence et croisement entre les grandes données et la robotique
-
Le robot comme générateur de données
- Capteurs de mesure de distance, position, visuels, tactiles et autres modalités
- Interprétation des données sensorielles (boucle sense-plan-act)
- Exercice : Capturer des données en flux continu
Programmation d'un robot autonome avec apprentissage profond
- Composants de robot basés sur l'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 avec apprentissage profond (suite...)
- Reconnaissance d'objets dans des photographies ou 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 interpréter les données
Déploiement d'un robot
- Transition d'un robot simulé vers du matériel physique
- Déploiement du robot dans le monde réel
- Surveillance et maintenance des robots sur le terrain
Sécurisation de votre robot
- Prévention du piratage non autorisé
- Prévention des tentatives d'accès et de vol de données sensibles par les hackers
Construction collaborative d'un robot
- Construction d'un robot dans le cloud
- Intégration à la communauté robotique
Perspectives futures des robots dans les domaines scientifique et énergétique
Synthèse et conclusion
Pré requis
- Expérience en programmation en C ou C++
- Expérience en programmation en Python (utile mais non nécessaire ; 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
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