sujet - Université de Picardie Jules Verne

Transcription

sujet - Université de Picardie Jules Verne
Université de Picardie Jules Verne
M1 EEAII ViRob
2014-2015
Robotique Industrielle
TP 1 - Modèle géométrique
Durée: 3h + 1h pour le compte rendu
Le but de ce TP est de développer des fonctions sous MATLAB qui permettent de
calculer le modèle géométrique direct (MGD) d’un manipulateur quelconque. Ces fonctions
utilisent la convention de Denavit-Hartenberg pour paramétrer les robots. Elles seront
appliquées sur les différents manipulateurs vus dans le cours. Le modèle géométrique inverse
(MGI) d’un robot simple sera aussi étudié afin de trouver les différentes solutions.
Un compte rendu avec les méthodes proposées ainsi que les résultats intermédiaires est
à rendre à la fin de la séance par chaque groupe d'étudiants. Il est à noter que du simple code
n’est pas un compte rendu: commentez vos fonctions et motivez vos choix dans votre
rapport final.
Exercice 1 : Modèle géométrique direct d'un robot planaire à 2 DDL
1) Méthode numérique
a) Développer une fonction MATLAB, appelée P = MGD_2R(q), qui:
• Calcule le MGD d’un robot planaire à 2 articulations rotoïdes (RR), et dont
les longueurs des segments sont a1 = 0.6 m, a2 = 0.4 m (voir Figure 1).
• La fonction fournit les coordonnées [px, py]T du point terminal P en fonction
des variables articulaires θ1 et θ2.
b) Tester cette fonction pour les valeurs des variables articulaires θ1, θ2 suivantes:
[0, π/2]T, [0, 0]T, [-π/2, π/2]T, [π/2, 0]T.
Figure 1 : Robot planaire à 2 DDL (RR)
Fabio Morbidi
Page 1/3
Université de Picardie Jules Verne
M1 EEAII ViRob
2014-2015
Robotique Industrielle
2) Méthode symbolique
a) Développer une fonction MATLAB, appelée P = MGD_2R_sym(q), qui :
• Calcule la pose de l’organe terminal du robot de la Figure 1 d’une façon
symbolique (utiliser : syms theta1 theta2 a1 a2).
• Utilise la fonction « eval » pour trouver la valeur numérique de la pose du
robot qui correspond à la position articulaire q = [θ1, θ2]T donnée en entrée.
c) Tester cette fonction pour les valeurs des variables articulaires θ1, θ2 suivantes:
[0, π/4]T, [0, 0]T, [-π/4, π/4]T, [π/3, 0]T.
Exercice 2 : Modèle géométrique direct d’un robot quelconque
1) Écrire une fonction MATLAB, appelée T = MGD_gen(a, alpha, d, theta), qui:
• Calcule le MGD d’un robot (à chaîne ouverte) quelconque.
• Les entrées a, alpha, d, theta, sont les vecteurs n × 1 des paramètres de DenavitHartenberg (DH) du robot (les unités de mesure sont mètres et radians).
0
• La sortie T est la matrice de transformation homogène Te (q) qui donne la pose de
l’organe terminal du robot (l'effecteur) par rapport à sa base.
2) Comparer les résultats de la fonction « MGD_gen » avec les résultats de la fonction
« MGD_2R » pour le robot de la Figure 1. Effectuer la comparaison sur trois
configurations articulaires aléatoires.
3) Tester la fonction « MGD_gen » sur:
• Le manipulateur sphérique (d2 = 0.4 m) pour les valeurs articulaires suivantes:
(0, 0, 0.5) et (π/4, π/6, 0.3).
•
Le manipulateur anthropomorphe (a2 = a3 = 0.6 m) pour les valeurs articulaires
suivantes: (0, 0, 0) et (-π/4, π/6, π/6).
•
Le manipulateur cylindrique (d1 = 0.4 m) pour les valeurs articulaires
suivantes: (0, 0.25, 0.25) et (π/3, 0, 0.4).
•
Le manipulateur anthropomorphe avec poignet sphérique (a2 = 0.4 m, d4 =
0.5 m, d6 = 0.4 m) pour les valeurs articulaires suivantes: (0, 0, 0, 0, 0, 0) et (-π/4,
π/6, π/6, 0, 0, π/6).
•
Le manipulateur DLR (d3 = 0.4 m, d5 = 0.39 m, d7 = 0.1 m) pour les valeurs
articulaires suivantes: (0, 0, 0, 0, 0, 0, 0) et (π/3, 0, π/2, -π/4, -π/6, π/3, π/4).
4) Ajouter les entrées qinf, qsup à la fonction « MGD_gen ». qinf, qsup sont les
vecteurs n × 1 des butées articulaires du robot. Si les paramètres fournis par
l'utilisateur ne respectent pas les butées articulaires du robot, un message d'erreur
doit être affiché.
Fabio Morbidi
Page 2/3
Université de Picardie Jules Verne
M1 EEAII ViRob
2014-2015
Robotique Industrielle
Exercice 3 : Modèle géométrique inverse d'un robot planaire à 3 DDL
1) Développer une fonction MATLAB qui :
• Calcule le modèle géométrique inverse du robot montré en Figure 2 ci-dessous.
• La fonction sera appelée [Q1, Q2, err] = MGI_3R(P), avec:
o Q1 : la solution avec θ2 ∈ (0, π) ("coude en bas").
o Q2 : la solution avec θ2 ∈ (-π, 0) ("coude en haut").
• Une fois les solutions sont obtenues, tester si les angles déterminés se trouvent
dans le domaine articulaire du robot.
o Les valeurs de butées articulaires sont : [θ1min, θ1max]T = [0, π]T,
[θ2min, θ2max]T = [θ3min, θ3max]T = [-2π/3, 2π/3]T.
o err(1) = 0 si la première solution est possible.
o err(1) = 1 si la première solution n’est pas possible.
o De même, err(2), indique la faisabilité de la deuxième solution.
2) Tester la fonction « MGI_3R » par sept valeurs cartésiennes P représentant les
différentes situations du MGI, à savoir :
• Deux positions en dehors de l’espace cartésien accessible.
• Trois positions accessibles par deux solutions (utiliser la fonction « MGD_gen »
pour les définir).
• Une position avec une seule solution à cause des limites articulaires sur θ1.
• Une position avec une seule solution à cause des limites articulaires sur θ2.
Figure 2 : Robot planaire à 3 DDL (RRR)
Fabio Morbidi
Page 3/3