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