Without Documents November 5, 2024
With Calculator
Duration: 2 hours
Correction Examen : Introduction à la robotique / Introduction to robotics
You can use French or English to answer to the questions
General questions: 10 marks
1. C'est un système autonome qui existe dans le monde physique, capable de percevoir
son environnement et d'agir sur celui-ci pour atteindre des objectifs.
La différence avec un PLC sera qu’il doit posséder une capacité de détection et une
autonomie pour réagir à son environnement physique. Aussi contrairement à un PLC, un
robot ne pourra pas être conçu qu’avec du code (Software) mais avec aussi avec du
matériel physique. (Hardware)
2. Les différents niveaux d’autonomie :
- Niveau 0 : Pas d’autonomie (Ex : Voiture télécommandé)
- Niveau 1 : Assistance à la tâches (Ex : Ascenseur)
- Niveau 2 : Autonomie partielle ( Ex : Exosquelette)
- Niveau 3 : Autonomie conditionnelle (Ex : Voiture autonome)
- Niveau 4 : Haute autonomie ( Ex : Surveillance UAVS)
- Niveau 5 : Autonomie complète (Ex : jsp juste théoriquement il est capable de gérer
n’importe quelle situation)
3. Le Cobot est un robot conçu pour être plus « sûr » et permettre une interaction directe
avec les humains. Il offre une intégration + facile dans l’espace de travail.
Par rapport à un robot il sera + collaboratif, - rapide, moins capable de porter des
charges lourdes, il aura + de capteurs.
4. Une application collaborative ne se définit pas par le robot en lui-même mais par la
nature de la tâche et l’environnement (application où l’opérateur humain et le robot
partagent le même espace de travail.
Il n’est pas nécessaire d’utiliser un cobot mais il est fortement recommandé. En effet il
est conçu pour ses applications de part ses sécurités actives et passive (contrôle de
force, conception mécanique...)
5. ROS (Robot operating system) est classé dans la catégorie des logiciels (« Software »)
utilisés pour gérer l’unité centrale de traitement ou le contrôleur du robot. Il se présente
comme outil de dvlp et de contrôle.
6. C'est un type de robot qui s'éloigne de la structure mécanique traditionnelle rigide pour
utiliser des matériaux déformables. Il a une structure adaptative et des mouvements
continus.
Les principales différences : Lo robot Flexible possède des degrés de liberté infinis
contrairement au robot rigide qui est limité par son nombre d’articulations. Le robot
rigide est plus dangereux par sa force et sa rigidité, alors que le flexible est « inoffensif »,
sa structure molle absorbe l’énergie en cas de choc. Le robot rigide nécessite une
programmation précise pour chaque forme d’objet alors que le flexible possède un
design adaptatif qui peut passivement épouser la forme des objets qu’il saisit.
7. Un robot fixe est un robot ancré à un endroit précis (une base).
Un robot mobile est un robot capable de se déplacer dans son environnement. Il a un
défi majeur de localisation, de perception de l’environnement, de navigation et de
contrôle du mouvement.
L’espace de travail d’un robot fixe sera souvent limité et spécifique alors que le robot
mobile est conçu pour évoluer dans un espace plus vaste. De plus, pour un robot fixe on
contrôle la position de l’effecteur par rapport à sa base alors que pour un robot mobile,
la problématique centrale sera la localisation et le mapping.
8. La différence majeure réside dans le compromis Force/Espace et Vitesse/précision.
Nous utiliserons donc un robot sériel si on doit soulever quelque chose de lourd ou
couvrir un grand espace.
Nous utiliserons un robot parallèle si on doit déplacer des objets légers à grande vitesse
avec précision.
9. Un système robotique autonome intelligent repose sur 4 sous-systèmes fonctionnels
principaux :
- Perception : Détecter l’environnement du robot et identifier les espaces navigables,
obstacles. Dans une voiture type Google car on retrouve des capteurs LIDAR ou
Caméra radars pour « scanner » la route.
- Localisation : il s’agit de positionner le robot dans son environnement. Dans une
voiture type Google car on retrouve un GPS + un recalage par vision pour savoir où se
situe la voiture sur la route.
- Navigation : Planification de trajectoire optimale pour déplacer son robot d’un point
A à un point B C’est le cerveau qui décide, en fonction de sa destination, du trafic
perçu, la trajectoire idéale.
- Contrôle : Application concrète des commandes sur les actionneurs pour suivre la
trajectoire prévue. Le sous-système envoie des signaux électriques précis au
volants, pédales pour exécuter le mvmt physiquement.
10. Un capteur proprioceptif est un capteur qui fournit des informations sur l’état interne du
robot. Exemple : Encodeur, potentiomètre, gyroscope, résolveur.
11. Un capteur extéroceptif fournit des informations sur l’état de l’environnement du robot.
Exemple : Caméra, télémètre laser, capteur ultrasons, gps
12. Odomètre :
Avantages : faible coût et facile à intégrer
Inconvénients : Accumulation d’erreur au fil du temps
Centrale Inertielle :
Avantages : autonome et ne dépend pas de l’extérieur
Inconvénients : Dérive dans le temps dû à l’intégration des erreurs.
GPS :
Avantages : pas de dérive
Inconvénients : Indisponibilité du signal en intérieur
IR :
Avantages : Fréquence d’acquisition élevé et bonne précision
Inconvénients : Faible porté et problème avec les matériaux transparents
US :
Avantages : faible coût
Inconvénients : fréquence de mesure limitée
Caméra :
Avantages : Comprendre la scène avec la reconnaissance d’objets ou autre.
Inconvénients : Inutile sans algorithmes de vision par ordinateur
Lidar :
Avantages : Mesure de distance très précises
Inconvénients : problématique avec certaines surfaces (miroirs ou fenêtres)
13. Exemples :
- Matlab / Simulink : Utilisé pour le dvlp d’algorithmes de contrôle, localisation et
fusion de données
- ROS (Robot Operating System) : Ensemble d’outils logiciels et de librairie qui sert de
"système d'exploitation" (middleware) pour faire fonctionner le robot et gérer la
communication entre ses composants.
- CoppeliaSim : C'est une plateforme d'expérimentation virtuelle pour robots. Elle
permet de simuler le comportement du robot dans un environnement virtuel avant
de passer au réel.
- Gazebo : simulateur 3D capable de gérer la physique et les capteurs.
- RoboDK : kit de développement robotique, généralement utilisé pour la simulation et
la programmation hors-ligne de bras robotiques industriels.
14. Cela peut nous renseigner sur le nombre de Satellites (Robustes). Car il nous renseigne
sur la qtté de signaux reçus. il faut un minimum de 3 signaux satellites pour obtenir une
position, mais que la réception de 4 satellites (ou plus) rend la localisation "plus
robuste".
Le mode de positionnement (Precision). L’indicateur nous dis si le récepteur fonctionne
en mode standard ou en mode différentiel. Cela informe sur la qualité de la précision
attendue.
15. Le filtre de Kalman est un algorithme mathématique utilisé pour filtrer le bruit aléatoire. Il
estime l’état d’un système.
Etape de calcul :
- La prédiction
- La mesure
- La correction
Si on veut connaitre la position XY d’un robot. Avec une entrée odométrie et DGPS, le
rôle du Kalman Filter va servir a fusionné ces sources. Et même si l’odométrie dérive, le
filtre utilise les données pour corriger l’estimation.
16. La carte locale dynamique est une représentation temporaire et relative de
l’environnement immédiat du robot. Elle change en permanence et contient la position
des obstacles relativement à la position du capteur
Pour la construire on a besoin de ces capteurs : Caméra + odométrie + IMU + Ultrasons +
Lidar
La méthode :
- Acquisition : Les capteurs de profondeurs scannent l’environnement
- Représentation : données projetées dans une grille 2D
- Fusion : passer d’une carte locale instable à une carte globale cohérente
17. Le robot non-holonome possède des contraintes physiques (liées à ses roues) qui
limitent ses mvmts instantanés alors que le robot holonome n’a pas de contraintes
cinématiques sur sa direction. Il peut se déplacer en ligne droite dans n’importe quelle
direction
18. L’objectif de la localisation est de déterminer la position et l’orientation du robot par
rapport à un repère de navigation donné. Expl : Encodeurs, Centrale Inertielle, GPS,
LIDAR
19. SLAM (Simultaneous Localization And Mapping) : méthode algorithmique qui permet à
un robot mobile de se localiser sans connaître sa position précise, sans connaître sa
carte d’environnement. Il va donc construire la carte en se localisant à l’intérieur de
celle-ci.
Les objectifs sont de fusionner les données dans le temps, réduire les erreurs et
construire une carte globale.
20. La planification de trajectoire est le processus qui consiste à déterminer le chemin que
le robot doit emprunter pour se rendre d’un point de départ à un point d’arrivée.
Les deux méthodes pour de planification pour éviter les obstacles :
- Méthode des champs de potentiel : l’objectif génère un champ attractif qui tire le
robot vers lui alors que les obstacles génèrent des champs répulsifs.
- Méthode des tentacules : il génère virtuellement plusieurs trajectoires possibles et
choisis celle qui la plus grande distance avec les obstacles.
Exercise 1 : Knowledge about a robot (2 marks)
Turtle bot :
- Robot mobile non-holonome à entraînement différentiel (2 roues motrices + 1 roues
folle)
- Capteurs proprioceptifs : Encodeurs et IMU
- Capteurs Extéroceptif : Lidar (à 360°)
- Stratégie de navigation : SLAM : construit une carte globale tout en se localisant avec
le filtre de kalman, planification : utilise des méthodes comme les champs de
potentiel ou tentacules pour éviter les obstacles.
- Environnement de programmation : on utilise ROS pour la gestion des nœuds. On
utilise le langage C++ ou python.
- Limite : il peut y avoir dérive de l’odométrie et une perception limitée au plan 2D (ne
voit pas les obstacles en hauteur.
Exercise 2 : Robot modelling (2 marks)
1) Cela sert à décrire le comportement du robot et de contrôler facilement ses
mouvements.
2) 𝑣𝑙 = 𝑟𝑙. 𝑤𝑙 ; 𝑣𝑟 = 𝑟𝑟 . 𝑤𝑟
𝑣𝑙 + 𝑣𝑟
𝑉𝑟𝑜𝑏𝑜𝑡 =
2
𝑣𝑙 − 𝑣𝑟
𝑤𝑟𝑜𝑏𝑜𝑡 =
𝐿
𝑥̇ = 𝑉𝑟𝑜𝑏𝑜𝑡 ∗ cos (𝑡𝑒𝑡𝑎)
𝑦̇ = 𝑉𝑟𝑜𝑏𝑜𝑡 ∗ sin (𝑡𝑒𝑡𝑎)
̇ = 𝑤𝑟𝑜𝑏𝑜𝑡
𝑡𝑒𝑡𝑎
𝑥
La pose : 𝑞 = ( 𝑦 )
𝑡𝑒𝑡𝑎
3) 𝑥1 = 𝐿1 ∗ cos(𝑡𝑒𝑡𝑎1)
𝑦1 = 𝐿1 ∗ sin (𝑡𝑒𝑡𝑎1)
𝑥2 = 𝑥1 + 𝐿2 ∗ cos(𝑡𝑒𝑡𝑎1 + 𝑡𝑒𝑡𝑎2)
𝑦2 = 𝑦1 + 𝐿2 ∗ sin(𝑡𝑒𝑡𝑎1 + 𝑡𝑒𝑡𝑎2)
Exercise 3 : Robot Control and Navigation (3 marks)
1) Le low level control est le contrôle de la vitesse des moteurs.
2) Le contrôle de position permet au robot d’atteindre une pose désirée à partir de sa
position actuelle et la destination.
Reference Input : xd, yd, theta d
Control Input : wref_l, wref_r
Output : x,y, teta
3)
Algorithme :
- 0 : calcul des constant TD, theta1 et theta2. Passer à l’étape1
- 1 : tourner sur place (wl = -Vrot, wr = Vrot). Si l’angle parcouru >= theta1 passer à
l’étape 2
- 2 : Avancer tout droit (wl = Vtrans, wr = Vtrans). Si distance parcouru >= Td passer à
l’étape 3
- 3 : Tourner sur place (wl = -Vrot, wr = Vrot). Si angle parcouru >= theta2 passer à
l’étape 4
- 4 : Arrêt des moteurs (wl = 0, wr =0) FIN
Exercise 4 : Robot Power supply design (3 marks)
1) Méthodologie :
- Définir l’autonomie souhaité
- Calculer la puissance totale consommée ( P = tensions * Courant)
- Calculer l’énergie utile ( E = P * Autonomie)
- Calculer l’énergie requise réelle ( Ereq = E /efficacité)
- Calculer l’énergie totale disponible(Ebatt = Vb * Cb)
- Déterminer le nombre minimum de batterie ( ne = Ereq / Ebatt)
- Déterminer le nombre de batteries en série pour la tension (nu = Tension Robot
/tension batterie)
- Déduire l’association finale (Serie /parallèle)
2) 𝑃 = 24 ∗ 1.5 + 5 + 0.5 ∗ 12 + 12 ∗ 2 = 71 𝑊
𝐸 = 71 ∗ 7 = 497 𝐽
497
𝐸𝑟𝑒𝑞 = = 552.2 𝐽
0.9
𝐸𝑏𝑎𝑡𝑡 = 12 ∗ 25 = 300 𝐽
𝐸𝑟𝑒𝑞
𝑛𝑒 = = 1.84 (2 𝑏𝑎𝑡𝑡𝑒𝑟𝑖𝑒𝑠 𝑚𝑖𝑛𝑖𝑚𝑢𝑚)
𝐸𝑏𝑎𝑡𝑡
24
𝑛𝑢 = = 2 (2 𝑏𝑎𝑡𝑡𝑒𝑟𝑖𝑒𝑠 𝑒𝑛 𝑠é𝑟𝑖𝑒)
12
Donc oui le choix fait est correct.