Plan du cours
Semaine 01
Jour 01
Introduction
- Qu'est-ce qui rend 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) dans la 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
Jour 02
Le rôle des grandes données dans la robotique
- Prise de décision basée sur les données et les modèles
La nuage et la robotique
- Lier la robotique à l'informatique
- 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 la radiation
-
Robots dans les réacteurs nucléaires
- Détection et protection contre la radiation
Jour 03
Composants matériels d'un robot
- Moteurs, capteurs, microcontrôleurs, caméras, etc.
Éléments courants des robots
- Vision machine, reconnaissance vocale, synthèse de la parole, détection proximale, détection de pression, etc.
Jour 04
Cadres de développement pour programmer un robot
- Cadres open source et commerciaux
-
Système d'exploitation Robotique (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
Jour 05
Outils pour simuler un robot physique
- Logiciels de simulation et visualisation 3D commerciaux et open source
Outils pour concevoir les caractéristiques physiques d'un robot
- Logiciels CAD commerciaux et open source
Étude de cas : Robots mécaniques
- Robots dans le domaine des technologies nucléaires
- Robots dans les systèmes environnementaux
Semaine 02
Jour 06
Cours accéléré de Python
- Installation et configuration du logiciel
- Paquets et utilitaires utiles
- Travail avec les structures de données Python, opérateurs, boucles, conditionnels, fonctions, méthodes, etc.
- Écrire un programme d'exemple
- Projet en équipe
Jour 07
Préparation pour le développement robotique
- Configuration de l'environnement de développement (par exemple, Arduino IDE)
- Exploration de la syntaxe du langage Arduino (C/C++)
- Codage, compilation et téléchargement sur le microcontrôleur
- Assemblage des composants matériels d'un robot Arduino
Jour 08
Travail avec les composants Arduino
- Capteurs analogiques
- Capteurs numériques
Travail avec les modules de communication Arduino
- Modules Bluetooth
- Modules Wi-Fi
- Modules RFID
- I2C et SPI
- Internet mobile
Jour 09
Construction d'un robot
- Planification des fonctionnalités et caractéristiques d'un robot
- Implémentation du mouvement du robot
Projet en équipe
- Discussion et revue
Jour 10
Contrôle du robot
- Implémentation du contrôleur
- Connexion au robot (par fil et sans fil)
Projet en équipe
- Discussion et revue
Semaine 03
Jour 11
Programmation du robot
- Simulation d'un robot avec Gazebo / ROS
- Comprendre un nœud ROS
- Programmation d'un nœud en Python et C ++
- Messages et sujets dans ROS
- Paradigme publication/abonnement
Projet en équipe
- Bump & Go avec un robot réel
- Discussion et revue
Jour 12
Programmation du robot (suite...)
- Cadres dans ROS et changements de références
- Traitement d'informations 2D des caméras avec OpenCV
- Traitement d'informations d'un laser
Projet en équipe
- Suivi sécurisé des objets par couleur
- Discussion et revue
Jour 13
Test du robot
- Outils pour tester votre code
- Tests unitaires
- Création d'une suite de tests
- Automatisation des tests
- Dépannage
Projet en équipe
- Suivi sécurisé des objets par couleur
- Discussion et revue
Jour 14
Programmation du robot (suite...)
- Services dans ROS
- Traitement d'informations 3D des capteurs RGB-D avec PCL
- Cartes et navigation avec ROS
Jour 15
Programmation du robot (suite...)
- Accomplissement de tâches avec ActionLib
Projet en équipe
- Recherche d'objets dans l'environnement
Semaine 04
Jour 16
Programmation du robot (suite...)
- Accomplissement de tâches avec ActionLib
Jour 17
Programmation du robot (suite...)
- Reconnaissance vocale et génération de la parole
- Dépannage
Projet en équipe
- Contrôle d'un robot à partir du langage parlé
Jour 18
Programmation du robot (suite...)
- Contrôle des bras robotiques avec MoveIt!
- Contrôle de la tête d'un robot pour une vision active
- Dépannage
Projet en équipe
- Recherche et collecte d'objets
Jour 19
Déploiement du robot
- Déploiement du robot dans le monde physique
- Surveillance et maintenance des robots en situation réelle
- Utilisation d'une application mobile pour contrôler un robot
Sécurité du robot
- Prévention des manipulations non autorisées
- Empêcher les hackers de voir et voler des données sensibles
Jour 20
Analyse des données
- Collecte et organisation des données générées par le robot
- Interpréter les données à l'aide d'outils et de processus de visualisation
Construction collaborative d'un robot
- Construction d'un robot dans le cloud
- Création d'une application mobile pour interagir avec votre robot
- Participation à la communauté de la robotique
Aperçu futur des robots dans les domaines scientifiques et énergétiques
Résumé et conclusion
Pré requis
- Expérience en programmation C ou C++
- Expérience en programmation 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