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 2 - Modèle cinématique 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 cinématique direct (MCD) et le modèle cinématique inverse (MCI) d'un manipulateur quelconque. Les fonctions développées utilisent la convention de DenavitHartenberg (DH) pour paramétrer le robot: elles seront appliquées aux différents robots vus dans le cours. 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 binôme d'étudiants. Du simple code n’est pas un compte rendu: commentez vos fonctions et motivez vos choix dans votre rapport final. Exercice 1 : Robot planaire à 3 DDL On dispose du même robot planaire que celui vu dans le Chapitre 3.2 (voir la Figure 1, ci-dessous). Ce robot possède trois articulations rotoïdes. C’est un robot à 3 degrés de liberté (DDL): 2 pour le positionnement, px, py, et 1 pour l’orientation, φ, de l'effecteur. Figure 1: Robot planaire à 3 DDL (RRR) A. Modèle cinématique direct Le modèle cinématique direct d'un manipulateur décrit la vitesse de l'organe terminal en fonction des vitesses articulaires . Le jacobien est utilisé pour faire le lien entre les deux vecteurs de vitesses selon la forme suivante: Fabio Morbidi ___________________________________________________________ Page 1/3 Université de Picardie Jules Verne M1 EEAII ViRob 2014-2015 Robotique Industrielle Le calcul du jacobien peut se faire à partir du modèle géométrique direct du robot, grâce à la formule suivante: Le but de cette partie est de développer une fonction qui calcule le MCD du robot montré dans la Figure 1. Cette fonction, appelée ve = MCD_3R(q, qp, L), prends en entrée le vecteur des positions articulaires q, le vecteur des vitesses articulaires qp, et le vecteur L = [a1, a2, a3]T qui contient la longueur de chaque segment du robot, et génère en sortie le vecteur de vitesse cartésienne ve de l'organe terminal du robot. 1. Pour calculer le produit vectoriel entre deux vecteurs, utiliser la fonction MATLAB « cross ». Utilisez cette fonction pour vérifier numériquement, à l'aide d'exemples, les quatre premières propriétés du produit vectoriel de l'Exercice 1 du TD3. 2. Tester la fonction MCD_3R dans chacune des cas suivants (les unités de mesure sont mètres pour les distances, radians pour les angles et rad/s pour les vitesses angulaires): • q = [0, 0, 0]T, qp = [0.1, -0.2, 0.3]T, a1 = a2 = 0.4 m, a3 = 0.1 m • q = [π/3, -π/4, π/2]T, qp = [0.1, 0.2, -0.1]T, a1 = a2 = 0.4 m, a3 = 0.1 m • q = [0, π/3, π/6]T, qp = [-0.1, -0.2, 0.1]T, a1 = a2 = a3 = 0.5 m B. Modèle cinématique inverse Le modèle cinématique inverse permet de calculer, à partir d'une configuration q donnée, les vitesses articulaires qui assurent à l'organe terminal du robot une vitesse opérationnelle imposée (cf. l'Exercice 4 du TD3). Pour celles-là, on calcule , la pseudo-inverse du jacobien, qui permet de déterminer les vitesses articulaires grâce à la relation : • Créer une fonction qp = MCI_3R(q, ve, L) qui calcule le MCI du robot en Figure 1. • Cette fonction prend en entrée le vecteur de positions articulaires q, le vecteur de la vitesse opérationnelle ve, et le vecteur des paramètres L = [a1, a2, a3]T. • Utiliser la fonction créée dans la partie A, ainsi que la fonction MATLAB « pinv » qui permet de calculer la pseudo-inverse d'une matrice. • Tester la fonction avec deux configurations du robot de votre choix. Fabio Morbidi ___________________________________________________________ Page 2/3 Université de Picardie Jules Verne M1 EEAII ViRob 2014-2015 Robotique Industrielle Exercice 2 : Robot quelconque Le but de cet exercice est de développer des fonctions MATLAB qui calculent le jacobien ainsi que le modèle cinématique direct et inverse d’un robot à chaîne ouverte quelconque. Ces fonctions utilisent la convention de DH pour paramétrer le robot. A. Calcul du jacobien Développer une fonction MATLAB qui calcule le jacobien d’un robot quelconque. La fonction sera appelée: J = Jacob(a, alpha, d, theta) • Les entrées a, alpha, d, theta sont les vecteurs n × 1 des paramètres de DH du robot. • La sortie J est le jacobien 6 × n du robot. Remarque: Bénéficier du programme développé dans l'Exercice 2 du TP1 pour le calcul des matrices homogènes T du robot. B. Modèle cinématique direct Développer une fonction MATLAB qui utilise la fonction « Jacob » pour calculer le modèle cinématique direct d’un robot quelconque. La fonction sera appelée: ve = MCD_gen(a, alpha, d, theta, qp) • Les entrées a, alpha, d, theta sont les vecteurs n × 1 des paramètres de DH du robot. • L'entrée qb est le vecteur des vitesses articulaires du robot. • La sortie ve est la vitesse de l'organe terminal du robot. Tester la fonction avec le manipulateur SCARA à 4 DDL et avec le manipulateur cylindrique. C. Modèle cinématique inverse Développer une fonction MATLAB qui utilise la fonction « Jacob » pour calculer le modèle cinématique inverse d’un robot quelconque. La fonction sera appelée par : qp = MCI_gen(a, alpha, d, theta, ve) D. Application au robot planaire à 3 DDL Tester les fonctions « MCD_gen » et « MCI_gen » avec le robot planaire à 3 DDL de l'Exercice 1, et comparer les résultats avec ceux trouvés dans la première partie du sujet. Fabio Morbidi ___________________________________________________________ Page 3/3