Les bases de la robotique
Aperçu des sections
Introduction
Semaine 1 : Introduction et notions fondamentales
Semaine 2 : Traitement d'images et modélisation des robots mobiles
Semaine 3 : Localisation proprioceptive et extéroceptive
Semaine 4: Fusion de données et cartographie
Semaine 5 : Navigation
Semaine 6 : Robots à base fixe
Section X
-
A propos du cours
Ce MOOC a pour objectif de présenter les étapes clés de la robotique, aussi bien pour les robots à base fixe (par exemple, les bras robotiques utilisés dans l’industrie automobile), que à base mobile (par exemple, les voitures autonomes).
Ce que vous allez apprendre
A la fin de ce cours, vous saurez répondre réponses aux questions fondamentales de la robotique:
- Comment représenter mathématiquement un robot?
- Comment rendre un robot capable de percevoir son environnement?
- Comment permettre à un bras robotique de prendre des objets et de les déplacer?
- Comment permettre à une voiture autonome de se déplacer d’un endroit à l’autre?
Format
Ce cours est divisé en semaines. Il y a 6 semaines de cours.
Les images utilisées, sauf si spécifié autrement, proviennent de https://commons.wikimedia.org/ -
Cours fondamentaux
https://github.com/michiganrobotics/rob501
Livres
https://robocademy.com/2020/04/21/top-10-robotics-books/
https://www.etechnophiles.com/best-books-on-robotics/
https://moodle.umontpellier.fr/pluginfile.php/1981857/mod_resource/intro/mondada.pdf
https://moodle.umontpellier.fr/pluginfile.php/1981857/mod_resource/intro/la%20valle.pdf
https://moodle.umontpellier.fr/pluginfile.php/1981857/mod_resource/intro/lynch_park.pdf
https://moodle.umontpellier.fr/pluginfile.php/1981857/mod_resource/intro/pepe_melchiorri.pdf
https://moodle.umontpellier.fr/pluginfile.php/1981857/mod_resource/intro/siegwart.pdf
Tutoriels pour réaliser des simulations robotiques avec CoppeliaSim et Python
-
Objectifs du module
Voici les objectifs de cette semaine :
- identifier les contenus du cours « bases de la robotique »
- réviser les notions fondamentales pour la robotique, dans les domaines de la théorie des probabilités, du calcul matriciel et infinitésimal, de la trigonométrie et de l’algèbre linéaire,
- découvrir, à travers des exemples, comment ces notions s’appliquent dans le domaine de la robotique.
-
Vous avez envie de partager votre avis sur les notions fondamentales pour la robotique?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction au cours
-
Vidéo 2 – Sommaire des notions fondamentales
-
Vidéo 3 – Loi Gaussienne
-
Vidéo 4 – Introduction au calcul matriciel
-
Vidéo 5 – Opérations sur les matrices
-
Vidéo 6 – Multiplications entre matrices
-
Vidéo 7 – Transposé déterminant et rang
-
Vidéo 8 – Matrice inverse
-
Vidéo 9 – Matrice pseudo-inverse
-
Vidéo 10 – Valeurs propres et vecteurs propres
-
Vidéo 11 - Valeurs propres et vecteurs propres - exercice
-
Vidéo 12 - Valeurs propres et vecteurs propres – application en robotique
-
Vidéo 13 – Trigonométrie – notions de base
-
Vidéo 14 - Trigonométrie – application en robotique
-
Vidéo 15 – Résolution de systèmes linéaires
-
Vidéo 16 – Solution aux moindres carrés
-
Vidéo 17- Les moindres carrés en robotique
-
Vidéo 18 – Calcul infinitésimal : gradient et Jacobienne
-
L'objectif de ce travail pratique est de s’initier à l’utilisation du langage Python, et notamment à la librairie NumPy, très utile pour manipuler des matrices et d’autres tableaux multi-dimensionnels (par exemple : vecteurs, matrices).
-
Ressources externes - notions fondamentales
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes :
- Cours de mathématiques
http://faccanoni.univ-tln.fr/enseignement.html - Vulgarisation des mathématiques (en anglais) https://www.youtube.com/c/3blue1brown/videos
- Transformations homogènes
- Cours de mathématiques
-
Quiz "fin de semaine"
-
Envoyer des tentatives : 1 Recevoir une note
-
Objectifs du module
Voici les objectifs de cette semaine.
Partie “traitement d’images” :
- découvrir les caractéristiques principales des images numériques,
- expérimenter les effets de différents opérateurs pour traiter des images numériques,
- adapter les méthodes de traitement de signal aux images numériques,
- savoir choisir la méthode la plus adapté à un problème de détection.
Partie “modélisation des robots mobiles” :
- formuler les modèles géométrique et cinématique d’un robot mobile se déplaçant sur le plan,
- déduire la trajectoire d’un unicycle à partir de ses vitesses,
- relater les modèles de plusieurs véhicules à roues au modèle de l’unicycle.
-
Vous avez envie de partager votre avis sur le traitement d'images ou bien sur la modélisation des robots mobiles?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction au traitement d’images
-
Vidéo 2 - Seuillage, histogramme, opérations morphologiques
-
Vidéo 3 - Convolution d’une image
-
Vidéo 4 - Détection par dérivation de contours dans une image
-
Vidéo 5 - Détection de points d’intérêt dans une image
-
Vidéo 6 - Détection de formes géométriques dans une image
-
Vidéo 7 - Introduction à la modélisation de robots mobiles
-
Vidéo 8 - Exemples de modèles à 6 et à 3 degrés de liberté
-
Vidéo 9 - Introduction au modèle de l’unicycle
-
Vidéo 10 - Modèle cinématique de l’unicycle
-
Vidéo 11 - Caractérisation des trajectoires de l’unicycle
-
Vidéo 12 - Extension du modèle de l’unicycle à différents véhicules à roues
-
L’objectif de ce projet est de vous familiariser avec les notions de traitement d’images que vous avez vu dans les vidéos. Vous pourrez travailler aussi bien sur les différentes images présentes ici, que sur des images prises avec votre téléphone ou téléchargées depuis internet.
-
Ressources externes
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes supplémentaires :
- Cours sur la reconnaissance de motifs dans les images
- Cours sur les transformation géométriques des images
- Cours sur l'apprentissage profond en traitement d'images
- Animation sur l'apprentissage d'un réseau profond (p 18 du cours)
- Robot omnidirectionnel à roues suédoises
-
Consulter Recevoir une note
-
Objectifs du module
Voici les objectifs de cette semaine :
- apprendre à différencier capteurs proprioceptifs et extéroceptifs, et codeurs relatif et absolu,
- savoir calculer les équations de l’odométrie d’un robot à roues différentielles,
- appliquer la théorie de la probabilité pour pouvoir estimer l’erreur odométrique et son évolution,
- analyser la propagation de l’erreur odométrique,
- savoir localiser un véhicule à partir d’une balise et de mesures extéroceptives,
- formuler la localisation en présence de plusieurs balises.
-
Vous avez envie de partager votre avis sur la localisation proprioceptive et extéroceptive?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction générale à la localisation
-
Vidéo 2 - Introduction à la localisation proprioceptive
-
Vidéo 3 - Odométrie d’un robot à roues différentielles
-
Vidéo 4 - La théorie des probabilités dans le contexte de l’odométrie
-
Vidéo 5 - Propagation de l’erreur odométrique
-
Vidéo 6 - Conclusions sur l’erreur odométrique
-
Vidéo 7 - Introduction à la localisation extéroceptive
-
Vidéo 8 - Localisation avec télémètre, compas et une balise
-
Vidéo 9 - Localisation avec télémètre et plusieurs balises
-
Ressources externes - vidéos codeur
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes :
- video balises :
- moindres carrés non linéaire : https://hernandis.me/2020/04/05/three-examples-of-nonlinear-least-squares-fitting-in-python-with-scipy.html
-
Consulter Recevoir une note
-
Objectifs du module
Voici les objectifs de cette semaine :
- comprendre l’utilité de la fusion de données pour la localisation robotique,
- découvrir différentes techniques de fusion de données,
- appliquer le filtre de Kalman (version classique et étendue) à la localisation d’un robot unicycle,
- découvrir les principes fondamentaux de la cartographie robotique,
- formuler le problème de la cartographie de plusieurs balises avec un véhicule mobile équipé de télémètre,
- découvrir l’algorithme « iterative closest point », qui permet d’apparier deux nuages de points.
-
Vous avez envie de partager votre avis sur la fusion de données et sur la cartographie?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction à la localisation par fusion de données
-
Vidéo 2 - Filtre de Kalman classique
-
Vidéo 3 - Application du filtre de Kalman classique à la localisation
-
Vidéo 4 - Filtre de Kalman étendu
-
Vidéo 5 - Application du filtre de Kalman étendu à la localisation
-
Vidéo 6 - Introduction à la cartographie
-
Vidéo 7 - Méthodes de cartographie
-
Dans ce travail pratique, il s’agira de fusionner des données proprioceptives et extéroceptives pour estimer la position d’un véhicule de type unicycle.
-
Ressources externes - fusion de données et cartographie
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes :
- MOOC sur le filtre de Kalman en français https://www.ensta-bretagne.fr/jaulin/kalmooc.html
- Blog sur le filtre de Kalman en français http://www.ferdinandpiette.com/blog/2011/04/exemple-dutilisation-du-filtre-de-kalman/
- Filtre
particulaire
- Tutoriels sur ICP, Kalman etc (en anglais) https://www.youtube.com/@CyrillStachniss
-
Consulter Recevoir une note
-
Objectifs du module
Voici les objectifs de cette semaine :
- découvrir comment contrôler un robot unicycle pour suivre une droite dans le plan,
- appliquer la méthode de Lyapounov au suivi de droite,
- découvrir comment contrôler la pose d’un robot omnidirectionnel dans le plan,
- appliquer la méthode de Lyapounov à la régulation de pose d’un robot unicycle,
- formuler la navigation parmi des obstacles, en utilisant des champs de potentiel,
- appliquer la méthode des champs de potentiel, pour permettre à un robot unicycle d’atteindre une position désirée, en évitant les obstacles présents sur le chemin. -
Vous avez envie de partager votre avis sur la navigation?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction à la navigation robotique dans la plan
-
Vidéo 2 - Le problème du suivi de droite pour un robot unicycle
-
Vidéo 3 - Solution du suivi de droite avec la méthode de Lyapounov
-
Vidéo 4 - Solution du suivi de droite avec une méthode heuristique
-
Vidéo 5 - Le problème de la régulation de pose
-
Vidéo 6 - Solution de la régulation de pose pour un robot omnidirectionnel
-
Vidéo 7 - Solution de la régulation de pose pour un robot unicycle avec la méthode de Lyapounov
-
Vidéo 8 - Évitement d’obstacles avec les champs de potentiel – partie 1
-
Vidéo 9 - Évitement d’obstacles avec les champs de potentiel – partie 2
-
L'objectif de ce travail pratique est de découvrir les bases de la robotique mobile, notamment : le modèle cinématique de l’unicycle et les lois de commandes permettant de régler sa position ou de lui faire suivre un chemin.
-
Ressources externes - navigation
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes :
- Champs de potentiel (en anglais)
- Navigation (en anglais)
https://youtube.com/playlist?list=PLggLP4f-rq00uzTEwsywVcTF2fJ2YqAXX
- Champs de potentiel (en anglais)
-
Objectifs du module
Voici les objectifs de cette semaine :
- découvrir les caractéristiques principales des robots à base fixe,
- formuler le modèle géométrique direct pour un robot à deux rotoïdes,
- formuler le modèle géométrique inverse pour un robot à deux rotoïdes,
- formuler les générations de trajectoire pour éviter les à-coups de mouvement,
- formuler les modèles cinématiques direct/ inverse pour un robot à deux rotoïdes,
- appliquer ces modèles pour réaliser une commande cinématique du robot.
-
Vous avez envie de partager votre avis sur les robots à base fixe?
Le forum d'échanges vous offre un espace sur lequel vous pouvez déposer vos idées, vos astuces, vos retours d'expérience.
-
Vidéo 1 - Introduction à la robotique à base fixe
-
Vidéo 2 - Degrés de libertés et composants d’un robot
-
Vidéo 3 – Modèle géométrique direct
-
Vidéo 4 – Modèle géométrique inverse – partie 1
-
Vidéo 5 – Modèle géométrique inverse – partie 2
-
Vidéo 6 – Modèle géométrique inverse – partie 3
-
Vidéo 7 – Modèle géométrique inverse – exercice
-
Vidéo 8 – Introduction à la génération de trajectoire
-
Vidéo 9 – Interpolation linéaire
-
Vidéo 10 – Trajectoire cubique
-
Vidéo 11 – Trajectoire de degré cinq
-
Vidéo 12 – Modèle cinématique direct
-
Vidéo 13 – Modèle cinématique inverse
-
Vidéo 14 – Commande cinématique
-
Vidéo 15 - Convergence de la commande cinématique
-
Vidéo 16 – Conclusions du cours
-
L’objectif de ce travail pratique est de découvrir les bases de la robotique de manipulation, notamment : le modèle géométrique, le modèle cinématique et la commande par inversion cinématique permettant de contrôler la vitesse de l’outil terminal du robot.
-
Ressources externes - robots à base fixe
Vous trouverez ci-après des liens qui vous amènent vers des ressources externes :
- Modélisation des robots fixes (Khalil et Dombre)
- Cours de Robotique (Boimond)
- Modélisation des robots fixes (Khalil et Dombre)