Plan du cours
Section 01
Jour 01
Introduction
- Qu'est-ce qui rend un robot intelligent ?
Physique ou virtuel Smart Robots
- Smart Robots, machines intelligentes, machines sensibles et Robotic Process Automation (RPA), etc.
Le rôle de Artificial Intelligence (AI) dans Smart Robots
- Au-delà du "if-then-else" et du machine learning
- Les algorithmes derrière l'IA
- L'IA dans Smart Robots : apprentissage automatique, vision par ordinateur, traitement du langage naturel (NLP), etc.
- Robotique cognitive
Le rôle de Big Data dans Smart Robots
- Prise de décision basée sur des données et des modèles
L'informatique en nuage et Smart Robots
- Relier la robotique aux technologies de l'information
- Construire des robots plus fonctionnels qui accèdent à davantage d'informations et collaborent
Étude de cas : Mécanique Smart Robots
- Industriel Smart Robots
- Baxter
- Robots de service à la personne
- Robots domestiques qui aident les personnes âgées, voitures intelligentes à conduite autonome
- Robots de service professionnel
- Robots agricoles dans les exploitations agricoles
Composants matériels d'un robot intelligent
- Moteurs, capteurs, microcontrôleurs, caméras, etc.
Elements communs de Smart 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 intelligent
- Cadres libres et commerciaux
- Système d'exploitation du robot (ROS)
- Architecture : espace de travail, sujets, messages, services, nœuds, actionlibs, outils, etc.
Languages pour Programming un robot intelligent
- 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 intelligent physique
- Logiciels de simulation et de visualisation 3D commerciaux et libres
Préparation de l'environnement de développement
- Installation et configuration du logiciel
- Paquets et utilitaires utiles
Jour 02
Programming le robot intelligent
- Programming un noeud en 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
- 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
Jour 03
Programming le robot intelligent (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
- Résolution des problèmes
Section 02
Jour 04
Programming le robot intelligent (Suite...)
- ActionLib
- Speech Recognition et la génération de la parole
- Contrôler des bras robotiques avec MoveIt !
- Contrôler le cou d'un robot pour une vision active
- Projet : Recherche et collecte d'objets
- Résolution des problèmes
Tester votre robot intelligent
- Tests unitaires
Jour 05
Étendre les capacités d'un robot intelligent 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é de Deep Learning
- Artificiel Neural Networks (ANNs)
- Les Neural Networks artificiels vs. les Bio logiques Neural Networks
- Fonctions d'activation Neural Networks
- Fonctions d'activation
- Formation aux Neural Networks artificielles
Jour 06
Cours accéléré sur les Deep Learning (suite...)
- Modèles Deep Learning
- Réseaux convolutifs et réseaux récurrents
- Réseaux convolutifs Neural Networks (CNN ou ConvNets)
- Couche de convolution
- Couche de mise en commun
- Architecture des réseaux convolutifs Neural Networks
Section 03
Jour 07
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 Plateformes et bibliothèques logicielles
- Deep Learning dans ROS
Jour 08
Utiliser Big Data dans votre robot intelligent
- Concepts de big data
- Approches de l'analyse des données
- L'outil Big Data
- Reconnaître des modèles dans les données
- Exercice : NLP et Computer Vision sur de grands ensembles de données
Jour 09
Utiliser Big Data dans votre robot intelligent (suite...)
- Traitement distribué de grands ensembles de données
- Coexistence et fertilisation croisée de Big Data et Robotics
- Le robot intelligent 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
Section 04
Jour 10
Programming un robot intelligent 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
Jour 11
Un robot intelligent 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
Jour 12
Analyse des données
- Utiliser le robot intelligent pour collecter et organiser de nouvelles données
Construire un robot intelligent en collaboration
Déployer votre robot intelligent sur du matériel physique
Surveillance et entretien Smart 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 commerciales sensibles (cartes de crédit, informations sur les employés, etc.)
Rejoindre la communauté Robotics
L'avenir Outlook pour Smart Robots
Remarques finales
Pré requis
- Expérience de la programmation en C++ .
- Expérience de la programmation en Python
- Expérience de la ligne de commande Linux