Plan du cours
Section 01
Jour 01
Introduction
- Qu'est-ce qui rend un robot intelligent intelligent ?
Robots intelligents physiques vs virtuels
- Robots intelligents, machines intelligentes, machines conscientes et automatisation des processus robotiques (RPA), etc.
Le rôle de l'Intelligence Artificielle (IA) dans les robots intelligents
- Au-delà de "si-alors-sinon" et de la machine d'apprentissage
- Les algorithmes derrière l'IA
- L'IA dans les robots intelligents : apprentissage machine, vision par ordinateur, traitement du langage naturel (NLP), etc.
- Robotique cognitive
Le rôle du Big Data dans les robots intelligents
- Prise de décision basée sur les données et les motifs
Le Cloud et les robots intelligents
- Relier la robotique à l'informatique (IT)
- Construire des robots plus fonctionnels qui accèdent à davantage d'informations et collaborent
Étude de cas : Robots mécaniques intelligents
- Robots industriels intelligents
- Baxter
- Robots de service personnel
- Robots domestiques assistant les personnes âgées, voitures autonomes intelligentes
- Robots de service professionnel
- Robots agricoles dans les exploitations laitières
Composants matériels d'un robot intelligent
- Moteurs, capteurs, microcontrôleurs, caméras, etc.
Éléments communs des robots intelligents
- Vision par machine, reconnaissance vocale, synthèse de la parole, détection de proximité, détection de pression, etc.
Frameworks de développement pour programmer un robot intelligent
- Frameworks open-source et commerciaux
- Robot Operating System (ROS)
- Architecture : espace de travail, sujets, messages, services, nœuds, actionlibs, outils, etc.
Langages de programmation pour un robot intelligent
- C++ pour le contrôle bas niveau
- Python pour l'orchestration
- Programmation des nœuds ROS en Python et C++
- Autres langages
Outils de simulation d'un robot intelligent physique
- Logiciels commerciaux et open-source de simulation et visualisation 3D
Préparation de l'environnement de développement
- Installation et configuration des logiciels
- Paquets et utilitaires utiles
Jour 02
Programmation du robot intelligent
- Programmation d'un nœud en Python et C++
- Compréhension d'un nœud ROS
- Messages et sujets dans ROS
- Modèle publication / abonnement
- Projet : Collision & Avancer avec un robot réel
- Dépannage
- Simulation de robots avec Gazebo / ROS
- Frames dans ROS et modifications des références
- Traitement des informations 2D des caméras avec OpenCV
- Traitement des informations d'un laser
- Projet : Suivi sécurisé d'objets par couleur
- Dépannage
Jour 03
Programmation du robot intelligent (Suite...)
- Services dans ROS
- Traitement des informations 3D des capteurs RGB-D avec PCL
- Cartographie et navigation avec ROS
- Projet : Recherche d'objets dans l'environnement
- Dépannage
Section 02
Jour 04
Programmation du robot intelligent (Suite...)
- ActionLib
- Reconnaissance et génération de parole
- Contrôle des bras robotiques avec MoveIt !
- Contrôle du cou robotique pour la vision active
- Projet : Recherche et collecte d'objets
- Dépannage
Test de votre robot intelligent
- Tests unitaires
Jour 05
Extension des capacités d'un robot intelligent par l'apprentissage profond
- Perception -- vision, audio et haptique
- Représentation des connaissances
- Reconnaissance vocale via le NLP (traitement du langage naturel)
- Vision par ordinateur
Introduction rapide à l'apprentissage profond
- Réseaux neuronaux artificiels (ANN)
- Réseaux neuronaux artificiels vs réseaux neuronaux biologiques
- Réseaux neuronaux à propagation avant
- Fonctions d'activation
- Formation des réseaux neuronaux artificiels
Jour 06
Introduction rapide à l'apprentissage profond (Suite...)
- Modèles d'apprentissage profond
- Réseaux convolutionnels et réseaux récurrents
- Réseaux neuronaux convolutionnels (CNN ou ConvNets)
- Couche de convolution
- Couche de regroupement (Pooling)
- Architecture des réseaux neuronaux convolutionnels
Section 03
Jour 07
Introduction rapide à l'apprentissage profond (Suite...)
- Réseaux neuronaux récurrents (RNN)
- Formation d'un RNN
- Stabilisation des gradients pendant la formation
- Réseaux à mémoire à court terme long (LSTM)
- Plateformes et bibliothèques logicielles d'apprentissage profond
- L'apprentissage profond dans ROS
Jour 08
Utilisation du Big Data dans votre robot intelligent
- Concepts du Big Data
- Approches d'analyse des 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
Jour 09
Utilisation du Big Data dans votre robot intelligent (Suite...)
- Traitement distribué de grands ensembles de données
- Cœxistence et fertilisation croisée entre Big Data et robotique
- Le robot intelligent 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 perception-planification-action)
- Exercice : Capture de données en continu
Section 04
Jour 10
Programmation d'un robot intelligent autonome à base d'apprentissage profond
- Composants robotiques d'apprentissage profond
- Mise en place du simulateur de robot
- Exécution d'un réseau neuronal accéléré par CUDA avec Caffe
- Dépannage
Jour 11
Programmation d'un robot intelligent autonome à base 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
Jour 12
Analytique des données
- Utilisation du robot intelligent pour collecter et organiser de nouvelles données
Construction collaborative d'un robot intelligent
Déploiement de votre robot intelligent sur du matériel physique
Surveillance et maintenance des robots intelligents sur le terrain
Sécurisation de votre robot
- Prévention des manipulations non autorisées
- Prévention des pirates qui visualisent ou volent des données commerciales sensibles (numéros de carte de crédit, informations des employés, etc.)
Intégration à la communauté de la robotique
Avenir des robots intelligents
Remarques de clôture
Pré requis
- Expérience en programmation C++
- Expérience en programmation Python
- Expérience avec la ligne de commande Linux
Nos clients témoignent (2)
Tout en général
Daniele Donzelli - ITT ITALIA S.r.l.
Formation - CANoe for CAN Compact Training
Traduction automatique
Connaissances de base sur les PLC
Bartosz - Phillips-Medisize Poland
Formation - Introduction to OMRON PLC programming
Traduction automatique