Plan du cours
Semaine 01
Introduction
- Qu'est-ce qui fait d'un robot intelligent ?
Robots physiques vs virtuels
- Robots intelligents, machines intelligentes, machines conscientes et automatisation des processus robotisés (RPA), etc.
Le rôle de l'intelligence artificielle (IA) en robotique
- Au-delà du "si-alors-sinon" et 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 Big Data en robotique
- Prendre des décisions basées sur les données et les modèles
La Cloud et la robotique
- Lier la robotique à l'informatique
- 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 la radiation
- Robots dans les réacteurs nucléaires
- Détection et protection contre la radiation
Composants matériels d'un robot
- Moteurs, capteurs, microcontrôleurs, caméras, etc.
Éléments courants des robots
- Vision par machine, reconnaissance vocale, synthèse de la parole, détection de proximité, détection de pression, etc.
Cadres de développement pour programmer un robot
- Cadres 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 de bas niveau
- Python pour l'orchestration
- Programmation des nœuds ROS en Python et C++
- Autres langages
Outils de simulation d'un robot physique
- Logiciels commerciaux et open source de simulation et visualisation 3D
Semaine 02
Préparation de l'environnement de développement
- Installation et configuration du logiciel
- 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++
- Comprendre ROS node
- Messages et sujets dans ROS
- Paradigme de publication / souscription
- Projet : Bump & Go avec un robot réel
- Dépannage
- Simulation des robots avec Gazebo / ROS
- Cadres dans ROS et changements de référence
- Traitement d'informations 2D de caméras avec OpenCV
- Traitement des informations du laser
- Projet : Suivi sécurisé 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 vocale et génération de la parole
- Contrôle des bras robotiques avec MoveIt!
- Contrôle du cou robotique pour une vision active
- Projet : Recherche et collecte d'objets
- Dépannage
Test de votre robot
- Tests unitaires
Semaine 04
Élargir les capacités d'un robot avec l'apprentissage en profondeur
- Perception -- vision, audio et haptiques
- Représentation des connaissances
- Reconnaissance vocale par NLP (traitement du langage naturel)
- Vision par ordinateur
Cours express sur l'apprentissage en profondeur
- Réseaux de neurones artificiels (ANN)
- Réseaux de neurones artificiels vs. réseaux de neurones biologiques
- Réseaux de neurones feedforward
- Fonctions d'activation
- Formation des réseaux de neurones artificiels
Cours express sur l'apprentissage en profondeur (suite...)
- Modèles d'apprentissage en profondeur
- Réseaux convolutifs et réseaux récurrents
- Réseaux de neurones convolutionnels (CNN ou ConvNets)
- Couche de convolution
- Couche de pooling
- Architecture des CNN
Semaine 05
Cours express sur l'apprentissage en profondeur (suite...)
- Réseaux de neurones récurrents (RNN)
- Formation d'un RNN
- Stabilisation des gradients lors de la formation
- Réseaux à mémoire à court et long terme
- Plateformes et bibliothèques logicielles d'apprentissage en profondeur
- Apprentissage en profondeur dans ROS
Utilisation des Big Data dans votre robot
- Concepts de big data
- Approches pour l'analyse des données
- Outils de big data
- Reconnaissance de modèles dans les données
- Exercice : NLP et vision par ordinateur sur grands ensembles de données
Utilisation des Big Data dans votre robot (suite...)
- Traitement distribué d'ensembles de données volumineux
- Coexistence et fertilisation croisée entre big data et robotique
- Le robot comme générateur de données
- Capteurs de mesure à distance, position, visuels, tactiles et autres modalités
- Interpréter les données sensorielles (boucle sense-plan-act)
- Exercice : Captation des données en streaming
Programmation d'un robot autonome avec apprentissage en profondeur
- Composants de robots utilisant l'apprentissage en profondeur
- 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 en profondeur (suite...)
- Reconnaissance des objets dans les photographies ou les flux vidéo
- Enable computer vision with OpenCV
- Dépannage
Analyse de données
- Utiliser le 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 le matériel physique
- Déploiement du robot dans le monde réel
- Surveillance et service des robots sur site
Sécurisation de votre robot
- Prévenir les manipulations non autorisées
- Empêcher les hackers de voir et voler des données sensibles
Construction d'un robot collaboratif
- Construction d'un robot dans le cloud
- Participation à la communauté robotique
Perspectives futures des robots dans les domaines de la science 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 nécessaire ; peut être enseigné 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 (1)
Je sens que j'acquiers les compétences de base nécessaires pour comprendre comment le ROS s'assemble et comment structurer des projets à l'intérieur.
Dan Goldsmith - Coventry University
Formation - ROS: Programming for Robotics
Traduction automatique