Plan du cours
Section 01
Jour 01
Introduction
- Qu’est-ce qui rend un robot intelligent ?
Robots intelligents physiques vs virtuels
- Robots intelligents, machines intelligentes, machines sensibles et automatisation robotique des processus (RPA), etc.
Le rôle de l’intelligence artificielle (IA) dans les robots intelligents
- Au-delà du simple « si-alors-sinon » et de la machine d’apprentissage
- Les algorithmes derrière l’IA
- L’IA dans les robots intelligents : apprentissage automatique, vision par ordinateur, traitement du langage naturel (TLN), 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 patterns
Le Cloud et les robots intelligents
- Lier la robotique à l’informatique (IT)
- Construire des robots plus fonctionnels, capables d’accéder à plus d’informations et de collaborer
Étude de cas : Robots intelligents mécaniques
- Robots industriels intelligents
- Baxter
- Robots de service personnel
- Robots domestiques aidant 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 aux robots intelligents
- Vision machine, reconnaissance vocale, synthèse de la parole, détection de proximité, capteurs de pression, etc.
Frameworks de développement pour programmer un robot intelligent
- Frameworks open source et commerciaux
- Système d’exploitation robotique (ROS)
- Architecture : espace de travail, topics, 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 de 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
- Packages 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 topics dans ROS
- Paradigme publication / abonnement
- Projet : Déplacement par contacts avec un robot réel
- Dépannage
- Simulation de robots avec Gazebo / ROS
- Repères dans ROS et modifications des références
- Traitement d’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 d’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
Tests de votre robot intelligent
- Tests unitaires
Jour 05
Extension des capacités d’un robot intelligent grâce à l’apprentissage profond
- Perception -- vision, audio et haptique
- Représentation des connaissances
- Reconnaissance vocale via le TLN (traitement du langage naturel)
- Vision par ordinateur
Crash course sur l’apprentissage profond
- Réseaux neuronaux artificiels (RNA)
- Réseaux neuronaux artificiels vs réseaux neuronaux biologiques
- Réseaux neuronaux à propagation avant
- Fonctions d’activation
- Entraînement des réseaux neuronaux artificiels
Jour 06
Crash course sur l’apprentissage profond (suite...)
- Modèles d’apprentissage profond
- Réseaux convolutifs et réseaux récurrents
- Réseaux neuronaux convolutifs (CNN ou ConvNets)
- Couche de convolution
- Couche de pooling
- Architecture des réseaux neuronaux convolutifs
Section 03
Jour 07
Crash course sur l’apprentissage profond (suite...)
- Réseaux neuronaux récurrents (RNN)
- Entraînement d’un RNN
- Stabilisation des gradients pendant l’entraînement
- Réseaux à mémoire à long terme (LSTM)
- Plateformes et bibliothiques logicielles d’apprentissage profond
- 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 du Big Data
- Reconnaissance de patterns dans les données
- Exercice : TLN 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 le Big Data et la robotique
- Le robot intelligent en tant que générateur de données
- Capteurs de mesure de distance, de position, visuels, tactiles et autres modalités
- Donner du sens aux données sensorielles (boucle sense-plan-act)
- Exercice : Capture de données en streaming
Section 04
Jour 10
Programmation d’un robot intelligent autonome basé sur l’apprentissage profond
- Composants robotiques d’apprentissage profond
- Configuration du simulateur de robot
- Exécution d’un réseau de neurones accéléré par CUDA avec Caffe
- Dépannage
Jour 11
Programmation d’un robot intelligent autonome basé sur l’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
Analyse 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 visualisant ou volant des données sensibles de l’entreprise (numéros de carte de crédit, informations des employés, etc.)
Intégration à la communauté robotique
Avenir des robots intelligents
Mots de clôture
Pré requis
- Expérience en programmation en C++
- Expérience en programmation en 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