Plan du cours
Semaine 01
Introduction
- Qu'est-ce qui rend un robot intelligent ?
Robots physiques et virtuels
- Smart Robots, Machines intelligentes, Machines sensibles et Robotic Process Automation (RPA), etc.
Le rôle de Artificial Intelligence (AI) dans Robotics
- Au-delà du "if-then-else" et du machine learning
- Les algorithmes derrière l'IA
- Apprentissage automatique, vision par ordinateur, traitement du langage naturel (NLP), etc.
- Robotique cognitive
Le rôle de Big Data dans Robotics
- Prise de décision basée sur des données et des modèles
Le cloud et Robotics
- Relier la robotique aux technologies de l'information
- Construire des robots plus fonctionnels qui accèdent à davantage 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 rayonnements
- Robots dans les Reactors nucléaires
- Détection et protection contre les rayonnements
Composants matériels d'un robot
- Moteurs, capteurs, microcontrôleurs, caméras, etc.
Elements courants des robots
- Vision artificielle, reconnaissance vocale, synthèse vocale, détection de proximité, détection de pression, etc.
Cadres de développement pour Programming un robot
- Cadres libres et commerciaux
- Système d'exploitation de robot (ROS)
- Architecture : espace de travail, sujets, messages, services, nœuds, actionlibs, outils, etc.
Languages pour Programming un robot
- C++ pour le contrôle de bas niveau
- Python pour l'orchestration
- Programming ROS nœuds en Python et C ++
- Autres langages
Outils de simulation d'un robot physique
- Logiciels de simulation et de visualisation 3D commerciaux et libres
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 de la technologie nucléaire
- Robots dans les systèmes environnementaux
Programming le robot
- Programming un noeud dans Python et C ++
- Comprendre le noeud ROS
- Messages et sujets dans ROS
- Paradigme de publication / d'abonnement
- Projet : Bump & Go avec un vrai robot
- Résolution des problèmes
- Simulation de robots avec Gazebo / ROS (en anglais)
- Images dans ROS et changements de référence
- Traitement de l'information 2D des caméras avec OpenCV.
- Traitement de l'information d'un laser
- Projet : Suivi sécurisé d'objets par couleur
- Résolution des problèmes
Semaine 03
Programming le robot (Suite...)
- Services en ROS
- Traitement de l'information 3D des capteurs RVB-D avec PCL
- Cartes et navigation avec ROS
- Projet : Recherche d'objets dans l'environnement
- Dépannage
Programming le robot (suite...)
- ActionLib
- Speech Recognition et la génération de la parole
- Contrôle des bras robotiques avec MoveIt !
- Contrôle du cou du robot pour une vision active
- Projet : Recherche et collecte d'objets
- Résolution des problèmes
Tester votre robot
- Tests unitaires
Semaine 04
Extension des capacités d'un robot avec Deep Learning
- Perception -- vision, audio et haptique
- Représentation des connaissances
- Reconnaissance vocale grâce au NLP (traitement du langage naturel)
- Vision par ordinateur
Cours accéléré sur les Deep Learning
- Artificielle Neural Networks (ANNs)
- Les Neural Networks artificiels vs. les Bio logiques Neural Networks
- Fonctions d'activation Deep Learning artificielles Neural Networks et Bio logiques Neural Networks
- Fonctions d'activation
- Formation des Neural Networks artificiels
Cours accéléré sur les Deep Learning (suite...)
- Modèles Deep Learning (Suite...)
- Réseaux convolutifs et réseaux récurrents
- Réseaux Neural Networks convolutifs (CNN ou ConvNets)
- Couche de convolution
- Couche de mise en commun
- Architecture des réseaux convolutifs Neural Networks (CNN ou ConvNets)
Semaine 05
Cours accéléré de Deep Learning (Suite...)
- Récurrent Neural Networks (RNN)
- Formation d'un RNN
- Stabilisation des gradients pendant la formation
- Réseaux de mémoire à long terme
- Deep Learning Plates-formes et bibliothèques logicielles
- Deep Learning dans ROS
Utiliser Big Data dans votre robot
- Concepts de big data
- Approches de l'analyse des données
- L'outillage du Big Data
- Reconnaître des modèles dans les données
- Exercice : NLP et Computer Vision sur de grands ensembles de données
Utiliser Big Data dans votre robot (suite...)
- Traitement distribué de grands ensembles de données
- Coexistence et fertilisation croisée de Big Data et Robotics
- Le robot en tant que générateur de données
- Capteurs de mesure de la portée, capteurs de position, visuels, tactiles et autres modalités
- Donner un sens aux données sensorielles (boucle sens-plan-action)
- Exercice : Capturer des données en continu
Programming un robot Deep Learning autonome
- Composants du robot Deep Learning
- Configuration du simulateur de robot
- Exécution d'un réseau neuronal accéléré par CUDA avec Cafe
- Résolution des problèmes
Semaine 06
Un robot Programming autonome Deep Learning (Suite...)
- Reconnaître des objets dans des photographies ou des flux vidéo
- Permettre la vision par ordinateur avec OpenCV
- Résolution des problèmes
Analyse des données
- Utiliser le robot pour collecter et organiser de nouvelles données
- Outils et processus d'analyse des 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 entretien des robots sur le terrain
Sécuriser votre robot
- Empêcher les manipulations non autorisées
- Empêcher les pirates de consulter et de voler des données sensibles
Construire un robot en collaboration
- Construire un robot dans le nuage
- Rejoindre la communauté de la robotique
L'avenir Outlook des robots dans le domaine de la science et de l'énergie
Résumé et conclusion
Pré requis
- Programming expérience en C ou C++
- Programming expérience en Python (utile mais pas nécessaire ; peut être enseigné dans le cadre du cours)
- Expérience avec la ligne de commande Linux
Public
- Développeurs
- Ingénieurs
- Scientifiques
- Techniciens