ROBOTIQUE -ELE4203- Cours #3: Cinématique directe: les paramètres de Denavit-Hartenberg Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Septembre 2012
Cours #3 Petites annonces générales concernant le cours Bref rappel des principales notions du cours #2 Rotation autour d’un vecteur unitaire Cinématique directe: Principes de base et but de la cinématique directe Référentiels standards en robotique Pré-multiplication VS post-multiplication Orientation de l’outil à l’aide du roulis, tangage et lacet (Roll, pitch et Yaw) Retour rapide sur la cinématique directe du robot planaire Jean-Philippe Roberge - Septembre 2012
Cours #3 Les paramètres de Denavit-Hartenberg (D.H.) Qu’est-ce que c’est, pourquoi les utiliser? Les trois règles devant êtres respectées La procédure pour le placement des repères de D.H. (13 étapes…) Réalisation de la cinématique directe à l’aide de D.H.: Robot PUMA (RRRRRR) Robot Stanford (RRPRRR) Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (1) Rotation autour d’un vecteur unitaire La rotation autour d’un vecteur unitaire s’effectue en cinq étapes. On effectue cinq rotations: 1-Une rotation de α degrés en x 2-Une rotation de β degrés en y Ces deux rotations permettront d’enligner le vecteur avec l’axe z. 3-Une rotation de θ degrés en z Finalement, les transformations inverses: 4-Une rotation de -β degrés en y 5-Une rotation de -α degrés en x Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (2) Cinématique directe – But Qu’est-ce que la cinématique directe? La cinématique directe concerne la détermination de la position et de l’orientation de l’effecteur (pose de l’effecteur) du robot en fonction des positions des articulations du robot. Il s’agit en fait de bâtir un modèle mathématique qui permet d’obtenir la pose de l’effecteur en fonction de ce que l’on appelle les “variables articulaires”. Pour bâtir ledit modèle mathématique, nous aurons recours aux variables / transformations homogènes. Concrètement: Des encodeurs donnent les valeurs des différentes variables articulaires. Par exemple, pour des joints rotoïdes, les encodeurs permettront d’obtenir directement les angles de chacune des articulations. Connaissant ces valeurs et ayant réaliser la cinématique directe du robot, il est alors possible de connaître la position et l’orientation de l’effecteur. Nous verrons dans les heures qui suivent comment réaliser efficacement la cinématique directe. Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (3) Cinématique directe – Principes de base Pour réaliser la cinématique directe des robots que nous étudierons, nous nous intéresserons tout d’abord à apposer des repères au niveau des joints du robot, par exemple: Par la suite, nous nous intéresserons à trouver les transformations qui lient chacun des repères ensemble. Dans le cas d’un robot sériel à six degrés de liberté, on déterminera: La cinématique directe est alors contenue dans la matrice de transformation totale: Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (4) Cinématique directe – La question fondamentale Étant donnée un point A exprimé dans le repère B, comment faire pour obtenir le point A exprimé dans le repère C? La question que nous nous posons d’abord est: Étant donné un point A exprimé en coordonnés du repère B, comment faire pour exprimer ce point dans le repère C? Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (5) Propriétés de la matrice de rotation Propriétés des matrices de rotation: Petite précision par rapport à orthogonale VS orthonormale. Une matrice orthogonale est une matrice carrée dont les colonnes et les lignes sont des vecteurs orthonormaux. Vecteurs orthonormaux: vecteurs unitaires orthogonaux (norme =1) Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (6) Référentiels standards en robotique Les référentiels souvent discutés en robotique sont les cinq référentiels suivant: Référentiel U: il est surnommé le référentiel universel. Dans certains ouvrages, on peut aussi parler du référentiel de travail. Référentiel R: C’est le référentiel associé à la base du robot. Référentiel H: il est surnommé le référentiel “Hand”, c’est le référentiel associé à la main (porte-outil). Référentiel E : il est surnommé le référentiel effecteur. Il est associé à l’outil. Référentiel P: Référentiel associé à la pièce. Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (7) Transformations entre les référentiels standards Maintenant que nous avons introduit certains concepts de base concernant les référentiels, étudions les référentiels souvent discutés en robotique: Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (8) pré-multiplication VS post-multiplication Tel que mentionné, l’ordre de multiplication est important lorsqu’il s’agit de multiplier des matrices de transformation homogènes. De plus, lorsque les matrices de transformation sont utilisées pour décrire la pose de différents repères les uns par rapport aux autres il faut se rappeller de ceci: Lorsqu’on pré-multiplie, la transformation se fait par rapport au repère fixe. Lorsqu’on post-multiplie, la transformation se fait par rapport au repère mobile. Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (9) pré-multiplication VS post-multiplication Voici un petit exercice tiré de [4]: Soit une matrice de rotation R composé des rotations pures suivantes: 1- Une rotation de θ par rapport à l’axe x du repère mobile 2- Une rotation de φ par rapport à l’axe z du repère mobile 3- Une rotation de α par rapport à l’axe z du repère fixe 4- Une rotation de β par rapport à l’axe y du repère mobile 5- Une rotation de δ par rapport à l’axe x du repère fixe La réponse de cet exercice: Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (10) Orientation de l’outil: Roulis, tangage et lacet Il existe plusieurs façon pour décrire l’orientation d’un repère. Pour représenter l’orientation de l’outil, une convention est d’utiliser les angles de roulis (roll), tangage (pitch) et lacet (yaw). Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (11) Cinématique directe du robot planaire Rapellons la cinématique directe d’un robot “simple”, c’est-à-dire un robot-planaire à trois degrés de liberté: Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (12) Cinématique directe du robot planaire Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (13) Cinématique directe du robot planaire Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (1) Cours #3 Denavit-Hartenberg (1) Selon vous, pensez-vous qu’il existe plusieurs façons différentes et toutes aussi valides d’apposer les repères sur un robot? Assigner les repères sur un robot plus complexe que le robot planaire du dernier cours peut devenir compliqué (par exemple un robot à six degrés de liberté oeuvrant dans l’espace 3D). L’assignation des repères n’est pas toujours facile et surtout, la détermination des transformations homogènes entre chacun de ces repère peut être difficile à déterminé. Nous développerons ici une approche systématique basée sur les paramètres de Denavit-Hartenberg. Permet de simplifier la démarche De plus, cette convention permet aux ingénieurs en robotique de s’appuyer sur un langage commun. Elle permet en plus d’automatiser la réalisation de la cinématique directe (nous en discuterons plus tard). Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (2) Cours #3 Denavit-Hartenberg (2) La convention de Denavit-Hartenberg (D.H.) s’appuie tout d’abord sur trois règles qui doivent toujours êtres respectées: Image tirée de [4] Le repère 0 est choisi arbitrairement, sauf que l’axe Z0 doit être selon l’axe du mouvement du joint 1. Le dernière repère (n) peut aussi être placé arbitrairement, tant que l’axe Xn soit normal à Zn-1. Jean-Philippe Roberge - Septembre 2012
Paramètres de Denavit-Hartenberg: Cours #3 Denavit-Hartenberg (3) En respectant les trois règles de D.H. on pourra toujours utiliser seulement quatre paramètres pour passer du repère i-1 au repère i. Ces quatre paramètres sont les paramètres de Denavit-Hartenberg, ceux-ci sont définis par: 1- Une rotation de θi par rapport à Zi-1 pour Xi-1 parallèle à Xi. 2- Une translation de di le long de Zi-1 pour amener l’origine du repère i-1 à l’intersection de Zi-1 et Xi. 3- Une translation de ai le long de Xi pour amener l’intersection de Zi-1 et Xi sur l’axe Zi. 4- Une rotation αi par rapport à Xi pour amener Zi-1 parallèle à Zi. Paramètres de Denavit-Hartenberg: Θi , di , ai et αi Où i=1,…,n, (n étant le nombre de degrés de liberté du robot) Image tirée de [4] Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (4) Cours #3 Denavit-Hartenberg (4) Ce que nous venons d’étudier en texte, se traduit mathématiquement par: 1- Une rotation de θi par rapport à Zi-1 pour Xi-1 parallèle à Xi. 2- Une translation de di le long de Zi-1 pour amener l’origine du repère i-1 à l’intersection de Zi-1 et Xi. 3- Une translation de ai le long de Xi pour amener l’intersection de Zi-1 et Xi sur l’axe Zi. 4- Une rotation αi par rapport à Xi pour amener Zi-1 parallèle à Zi. Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (5) Cours #3 Denavit-Hartenberg (5) Petit rappel: Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (6) Cours #3 Denavit-Hartenberg (6) En observant ce dernier résultat: Il est évidemment possible d’automatiser la cinématique directe (et bien plus). Comment? En se créant des fonctions, par exemple, dans Matlab. Démonstration: # Lien θi di ai αi 1 θ1 a1 2 θ2 a2 3 θ3 a3 Suite dans Matlab… Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (7) Cours #3 Denavit-Hartenberg (7) Voici maintenant la méthode systématique permettant d’apposer les repères selon la convention D.H. : Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg (8) Cours #3 Denavit-Hartenberg (8) Voici maintenant la méthode systématique permettant d’apposer les repères selon la convention D.H. (suite) : Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(1) Cours #3 Denavit-Hartenberg – Robot PUMA(1) Pratiquons cette démarche sur le robot PUMA. Ce dernier est un robot à six degrés de liberté et possède que des joints rotoïdes (RRRRRR). Avant de commencer, regardons un peu à quoi ce robot ressemble: http://www.youtube.com/watch?v=Ki7n0KFR51Y&feature=related http://www.youtube.com/watch?v=kEed8DVO21I&feature=related Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(2) Cours #3 Denavit-Hartenberg – Robot PUMA(2) Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(3) Cours #3 Denavit-Hartenberg – Robot PUMA(3) Pour que ce soit clair, voici comment les repères sont placés: z0 z1 y0,x1 y1 x0 a2 y3 z3 x3 z2 x2 y2 -a3 -d2 z4,y5 y4 x4,x5 d4 y6 z5 d6 z6 x6 Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(4) Cours #3 Denavit-Hartenberg – Robot PUMA(4) y3 z3 x3 d4 a2 z0 z1 y0,x1 y1 x0 z2 x2 y2 -d2 -a3 z4,y5 y4 x4,x5 z5 d6 y6 z6 x6 # Lien θi di ai αi 1 θ1v -90⁰ 2 θ2v d2 a2 3 Θ3v a3 90⁰ 4 θ4v d4 5 θ5v 6 θ6v d6 Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(5) Cours #3 Denavit-Hartenberg – Robot PUMA(5) # Lien θi di ai αi 1 θ1 -90⁰ 2 θ2 d2 a2 3 θ3 a3 90⁰ 4 θ4 d4 5 θ5 6 θ6 d6 Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot PUMA(6) Cours #3 Denavit-Hartenberg – Robot PUMA(6) Après multiplication, on obtient la cinématique directe: Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot Stanford(1) Cours #3 Denavit-Hartenberg – Robot Stanford(1) Encore une fois, commençons par observer à quoi ressemble le robot Stanford (RRPRRR) ~1969 !: Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot Stanford(2) Cours #3 Denavit-Hartenberg – Robot Stanford(2) Apposition de repères: Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot Stanford(3) Cours #3 Denavit-Hartenberg – Robot Stanford(3) Le tableau de D.H.: # Lien θi di ai αi 1 θ1v d1 -90⁰ 2 θ2v d2 90⁰ 3 0⁰ d3v 4 θ4v 5 θ5v 6 θ6v d6 Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot Stanford(4) Cours #3 Denavit-Hartenberg – Robot Stanford(4) # Lien θi di ai αi 1 θ1v d1 -90⁰ 2 θ2v d2 90⁰ 3 0⁰ d3v 4 θ4v 5 θ5v 6 θ6v d6 Jean-Philippe Roberge - Septembre 2012
Denavit-Hartenberg – Robot Stanford(5) Cours #3 Denavit-Hartenberg – Robot Stanford(5) En multipliant chacune des matrices de transformation: Jean-Philippe Roberge - Septembre 2012
Introduction aux poignets sphériques (1) Cours #3 Introduction aux poignets sphériques (1) Le robot Stanford possède un poignet sphérique: “sphérique” est dit des mécanismes articulés dont les axes des trois derniers joints s’intersectent toujours en un point. Énormément de robots mettent en oeuvre des poignets sphériques, ceux-ci permettent de découpler la position et l’orientation de l’effecteur. Jean-Philippe Roberge - Septembre 2012
Introduction aux poignets sphériques (2) Cours #3 Introduction aux poignets sphériques (2) Principe du “découplement cinématique” (possible en présence d’un poignet sphérique): Pc est apellé “centre du poignet” ou “référentiel du poignet” Jean-Philippe Roberge - Septembre 2012
Introduction aux poignets sphériques (3) Cours #3 Introduction aux poignets sphériques (3) Le “découplement cinématique” sera particulièrement pratique pour la cinématique inverse (prochain cours): Jean-Philippe Roberge - Septembre 2012
Aux deux prochains cours… Les deux prochains cours vous seront enseignés par le professeur Richard Gourdeau. Dans le cadre de ces cours, la matière couverte sera constituée entres autres de: Cinématique inverse: Comment trouver les variables articulaires, étant donnée une pose de l’effecteur du robot. Cinématique différentielle: Comment calculer la matrice Jacobienne et quelles sont les informations qu’elle contient Je serai de retour avec vous après la relâche (pour le cours du 15 octobre), et pour le reste de la session. Jean-Philippe Roberge - Septembre 2012
Références [1] Absolute Beginner’s Guide to Building Robots, Gareth Branwyn, 2003 [2] http://spectrum.ieee.org/automaton/robotics/robotics- software/10_stats_you_should_know_about_robots Notes de cours (ELE3202) – Richard Gourdeau & John Thistle [3] http://www.geekologie.com/2008/12/thats-it-im-moving-robotic-sta.php [4] Robot Modeling and Control, Mark W. Spong et al.,2006. [5] Notes de cours (Manipulateurs) - ELE4203, Richard Gourdeau, juillet 2012. Jean-Philippe Roberge - Septembre 2012