UFR des Sciences, Département EEA M1 EEAII Parcours ViRob Fabio MORBIDI E-mail: fabio.morbidi@u-picardie.fr! http://home.mis.u-picardie.fr/~fabio/Teaching.html Année Universitaire 2014/2015 Plan du cours Chapitre 1 : Généralités 1.1 Définitions 1.2 Constituants d’un robot 1.3 Classification des robots 1.4 Caractéristiques d’un robot 1.5 Les générations de robot 1.6 Programmation des robots 1.7 Utilisation des robots Chapitre 2 : Degrés de liberté - Architecture 2.1 Positionnement • Rotation et représentation de la rotation • Attitude et matrices homogènes 2 Plan du cours 2.2 Cinématique • Vitesse d’un solide • Vecteur vitesse de rotation • Mouvement rigide • Torseur cinématique Chapitre 3 : Modélisation d’un robot 3.1 Modèle géométrique • Convention de Denavit-Hartenberg • Modèle géométrique direct • Modèle géométrique inverse 3.2 Modèle cinématique • Jacobien direct d’un robot • Jacobien inverse d’un robot 3.3 Modèle dynamique • Equation d’Euler-Lagrange 3 Modèle géometrique direct pour manipulateurs industriels Exemples 4 2 - Manipulateur sphérique θ2 θ1 Remarques: • L’origine du repère 0 est située à l’intersection des axes z0 et z1 de façon que d1 = 0 • L’origine du repère 2 est située à l’intersection des axes z1 et z2 5 Manipulateur sphérique Segment ai αi di θi 1 0 π/2 0 θ1 2 0 π/2 d2* θ2 3 0 0 d3 0 _ Tableau des paramètres de DH (* pas une variable) Nous avons deux articulations rotoïdes et une articulation prismatique, donc il faut déterminer trois matrices de transformation La 1ère transfomation est: A01 (θ1 ) = � Rz (θ1 )Rx (−π/2) 01×3 cos θ1 � sin θ 03×1 1 = 0 1 0 0 − sin θ1 0 cos θ1 −1 0 0 0 0 0 0 1 6 Transformation homogène de DH Ai−1 (qi ) i artic. artic. i–1 i artic. i+1 segm. segm. ai θi ai−1 1ère étape Ai−1 i� cos θi sin θ i = 0 0 − sin θi cos θi 0 0 2ème étape 0 0 0 0 1 di 0 1 Aii � 1 0 0 cos α i = 0 sin αi 0 0 0 − sin αi cos αi 0 ai 0 0 1 7 Manipulateur sphérique Dans notre cas a1 = 0, α1 = _π/2, d1 = 0 et θ1 ≠ 0 A01 (θ1 ) = � Rz (θ1 )Rx (−π/2) 01×3 En effet, graphiquement: 03×1 1 � cos θ1 sin θ 1 = 0 0 2ème étape 1ère étape z0 0 − sin θ1 0 cos θ1 −1 0 0 0 x0 z1’ −π/2 1 y1’ z1 y0 x1 x1’ x1’ 0 0 0 z1’ y1’ θ1 y1 8 Manipulateur sphérique Maintenant, a2 = 0, α2 = π/2, d2 ≠ 0 et θ2 ≠ 0 (2ème ligne du tableau de DH): A12 (θ2 ) Rz (θ2 )Rx (π/2) = 0 0 0 Graphiquement: cos θ2 0 0 sin θ2 = d2 0 1 0 0 sin θ2 0 − cos θ2 1 0 0 0 0 0 d2 1 z2 θ2 d2 x1 z1 π/2 y2 y1 x2 9 z3 Manipulateur sphérique Enfin, a3 = 0, α3 = 0, d3 ≠ 0 et 0 0 I3 2 A3 (d3 ) = d3 0 0 0 1 θ3 = 0 (3ème ligne du tableau): 1 0 0 0 0 1 0 0 = 0 0 1 d3 x3 0 0 0 z2 1 d3 Évidemment, la 3ème articulation n’influence pas la matrice de rotation où T03 (q) = A01 A12 A23 = T y2 x2 Conclusion: c1 c2 s1 c2 −s2 0 −s1 c1 0 0 c1 s2 s1 s2 c2 0 q = [ θ1 , θ2 , d3 ] et c1 = cos θ1 , s1 = sin θ1 y3 c 1 s 2 d3 − s 1 d2 s 1 s 2 d3 + c 1 d2 c 2 d3 1 10 Manipulateur sphérique y30 y3 θ2 θ1 Remarques: 0 • L’orientation du vecteur unitaire y3 est déterminée uniquement par la 1ère articulation, parce que l’axe de la 2ème articulation z1 est parallel à l’axe y3 • Dans le manipulateur sphérique, le repère 3 peut représenter le repère d’un effecteur, c’est-à-dire T3e = I4 11 3 - Manipulateur anthropomorphe a3 θ3 θ2 θ1 Remarques: • Le manipulateur anthropomorphe correspond à un manipulateur planaire à 2 segments avec une rotation supplémentaire autour d’un axe du plan • L’origine du repère 0 est située à l’intersection des axes z0 et z1 de façon que d1 = 0 • Les axes z1 et z2 sont parallèles et pour les axes x1 et x2 on peut faire le même choix que pour le manipulateur planaire à 3 segments déjà étudié 12 Manipulateur anthropomorphe Segment ai αi di θi 1 0 π/2 0 θ1 2 a2 0 0 θ2 3 a3 0 0 θ3 Paramètres de DH Nous avons trois articulations rotoïdes La 1ère transformation est: A01 (θ1 ) = � Rz (θ1 )Rx (π/2) 01×3 03×1 1 � cos θ1 sin θ 1 = 0 0 0 sin θ1 0 − cos θ1 1 0 0 0 0 0 0 1 13 Manipulateur anthropomorphe Nous avons a1 = 0, α1 = π/2, d1 = 0 et θ1 ≠ 0 (1ère ligne du tableau de DH): A01 (θ1 ) = � Rz (θ1 )Rx (π/2) 01×3 En effet, graphiquement: cos θ1 � sin θ 03×1 1 = 0 1 0 z0 0 sin θ1 0 − cos θ1 1 0 0 0 0 0 0 1 y1 π/2 x1 z1 θ1 14 Manipulateur anthropomorphe Pour les deux articulations rotoïdes restantes (2 et 3): cos θi sin θ i i−1 (θ = AAi−1 (θ ) ii i1 0 0 Conclusion: où − sin θi cos θi 0 0 c1 c23 s c 1 23 0 0 1 2 T3 (q) = A1 A2 A3 = s23 0 0 ai cos θi 0 ai sin θi , i ∈ {2, 3} 1 0 0 1 −c1 s23 −s1 s23 c23 0 s1 −c1 0 0 c1 (a2 c2 + a3 c23 ) s1 (a2 c2 + a3 c23 ) a2 s2 + a3 s23 1 q = [θ1 , θ2 , θ3 ]T et c23 = cos(θ2 + θ3 ), s23 = sin(θ2 + θ3 ) Remarque: Puisque z3 est aligné avec z2, le repère 3 ne coïncide pas avec un repère admissible pour l’effecteur. Pour y rémedier, il faut définir une transformation constante appropriée 15 4 - Poignet sphérique θ6 θ5 θ4 • Les variables des articulations sont numérotées à partir de 4 puisque le poignet est typiquement monté sur le bras à 3 DDL d’un manipulateur à 6 DDL • Le poignet est sphérique puisque tous les axes des articulations rotoïdes se croisaient en un seul point (bleu dans la figure ci-dessus) • Si les axes z3, z4, z5 ont été fixes et l’axe x3 a été choisi, la direction de x4 et x5 reste indéterminée 16 Poignet sphérique Segment ai 4 0 5 0 6 0 αi di θi π/2 0 θ4 π/2 0 θ5 0 d6* θ6 _ Paramètres de DH Nous avons trois articulations rotoïdes La 1ère transformation est: A34 (θ4 ) = � Rz (θ4 )Rx (−π/2) 01×3 03×1 1 � cos θ4 sin θ 4 = 0 0 0 − sin θ4 0 cos θ4 −1 0 0 0 0 0 0 1 17 Poignet sphérique A34 (θ4 ) = � Rz (θ4 )Rx (−π/2) 01×3 Graphiquement: cos θ4 � sin θ 03×1 4 = 0 1 0 0 0 0 0 − sin θ4 0 cos θ4 −1 0 0 0 1 z3 −π/2 x4 θ6 θ5 x3 θ4 z4 θ4 18 Poignet sphérique La 2ème transformation est: A45 (θ5 ) = � Rz (θ5 )Rx (π/2) 01×3 Graphiquement: cos θ5 � sin θ 03×1 5 = 0 1 0 0 sin θ5 0 − cos θ5 1 0 0 0 0 0 0 1 x5 x4 θ5 θ6 θ5 z5 z4 π/2 θ4 19 Poignet sphérique Enfin: cos θ6 0 Rz (θ6 ) 0 sin θ6 5 = A6 (θ6 ) = d6 0 0 0 0 1 0 Graphiquement: 0 0 0 0 1 d6 0 1 − sin θ6 cos θ6 0 0 x5 d6 z5 θ6 θ5 θ4 y5 z6 θ6 x6 y6 20 Poignet sphérique Conclusion: c4 c5 c6 − s4 s6 s c c + c s 4 6 4 5 6 3 3 4 5 T6 (q) = A4 A5 A6 = −s5 c6 0 où q = [θ4 , θ5 , θ6 ]T −c4 c5 s6 − s4 c6 −s4 c5 s6 + c4 c6 s5 s6 0 c4 s5 s4 s5 c5 0 c 4 s 5 d6 s 4 s 5 d6 c 5 d6 1 θ6 θ5 θ4 Remarque: les vecteurs unitaires du repère 6 coïncident avec les vecteurs unitaires d’un repère admissible pour l’effecteur 21 5 - Manipulateur anthropomorphe avec poignet sphérique a3 θ3 θ2 Manipulateur anthropomorphe T03 θ1 + θ6 Problème: le repère 3 du bras anthropomorphe ne peut pas coïncider avec le repère 3 du poignet sphérique T06 �= T03 T36 θ5 θ4 Poignet sphérique T36 22 Manipulateur anthropomorphe avec poignet sphérique Deux solutions possibles pour determiner T06 : Solution 1: On interpose une matrice de transformation constante entre T03 and T36 qui permet d’aligner les deux repères Solution 2: On redéfinit les repères de toute la structure en utilisant la convention de Denavit-Hartenberg θ5 θ4 θ6 θ3 θ2 θ1 23 Manipulateur anthropomorphe avec poignet sphérique On obtient le suivantes paramètres: Segment ai αi di θi 1 0 π/2 0 θ1 2 a2 0 0 θ2 3 0 π/2 0 θ3 4 0 d4* θ4 5 0 π/2 0 θ5 6 0 0 d6* θ6 _ π/2 • Les lignes 3 et 4 du tableau sont différentes des lignes correspondantes des tableaux de deux structures individuelles • Il faut modifier les matrices de transformation relatives (pas toutes les autres): cos θ3 sin θ 3 2 A3 (θ3 ) = 0 0 0 sin θ3 0 − cos θ3 1 0 0 0 cos θ4 0 sin θ 0 4 3 , A4 (θ4 ) = 0 0 0 1 0 − sin θ4 0 cos θ4 −1 0 0 0 0 0 d4 1 24 Manipulateur anthropomorphe avec poignet sphérique Conclusion: Vecteur de translation: � � a2 c1 c2 + d4 c1 s23 + d6 c1 (c23 c4 s5 + s23 c5 ) + s1 s4 s5 � � p06 = a2 s1 c2 + d4 s1 s23 + d6 s1 (c23 c4 s5 + s23 c5 ) − c1 s4 s5 a2 s2 − d4 c23 + d6 (s23 c4 s5 − c23 c5 ) 0 Colonnes de la matrice de rotation R6 : � � c1 c23 (c4 c5 c6 − s4 s6 ) − s23 s5 c6 + s1 (s4 c5 c6 + c4 s6 ) � � 0 R6 (: , 1) = s1 c23 (c4 c5 c6 − s4 s6 ) − s23 s5 c6 − c1 (s4 c5 c6 + c4 s6 ) s23 (c4 c5 c6 − s4 s6 ) + c23 s5 c6 � � c1 − c23 (c4 c5 s6 + s4 c6 ) + s23 s5 s6 + s1 (−s4 c5 s6 + c4 c6 ) � � 0 R6 (: , 2) = s1 − c23 (c4 c5 s6 + s4 c6 ) + s23 s5 s6 − c1 (−s4 c5 s6 + c4 c6 ) −s23 (c4 c5 s6 + s4 c6 ) − c23 s5 s6 � � c1 c23 c4 s5 + s23 c5 + s1 s4 s5 Note: si on met d6 = 0, on trouve � � R06 (: , 3) = s1 c23 c4 s5 + s23 c5 − c1 s4 s5 le point d’intersection des axes du poignet sphérique s23 c4 s5 − c23 c5 25 6 - Manipulateur DLR θ6 θ5 θ7 θ3 θ4 θ2 θ1 • Le développement du manipulateur DLR (le DLR est le centre aérospatial allemand) est à la base de la réalisation du robot KUKA LBR (“Lightweight Robot”) iiwa • Le manipulateur DLR a 7 DDL (comme la bras humain), donc il est intrinsèquement redondant • Comme pour le manipulateur sphérique, l’origine du repère 0 a été choisie pour avoir d1 = 0 26 Manipulateur DLR KUKA LBR Paramètres de DH Segment ai αi di θi 1 0 π/2 0 θ1 2 0 π/2 0 θ2 3 0 π/2 d3* θ3 4 0 π/2 0 θ4 5 0 π/2 d5* θ5 6 0 π/2 0 θ6 7 0 0 d7* θ7 Paramètres de DH 27 Manipulateur DLR On trouve que ( αi = π/2, i ∈ {1, . . . , 6} ): cos θi sin θ i i−1 Ai (θi ) = 0 0 0 sin θi 0 − cos θi 1 0 0 0 En revanche, puisque α7 = 0 : cos θ7 sin θ 7 A67 (θ7 ) = 0 0 Conclusion: − sin θ7 cos θ7 0 0 0 0 , i ∈ {1, . . . , 6} di 1 0 0 0 0 1 d7 0 1 T07 (q) = A01 (q1 ) A12 (q2 ) · · · A67 (q7 ) Remarque: comme pour le manipulateur anthropomorphe avec poignet sphérique, le repère 4 ne peut pas coïncider avec le repère de la base du poignet 28 7 - Manipulateur humanoïde Manipulateur humanoïde Structure articulée avec une cinématique analogue à celle de la partie supérieure du corps humain: il a un torse, bras, effecteurs semblables à des mains et une « tête » qui, éventuellement, peut comprendre un système de vision artificielle 29 Manipulateur humanoïde Manipulateur humanoïde Justin (DLR, centre de robotique et mécatronique) 30 Manipulateur humanoïde Rollin’ Justin – Justin avec une plateforme à 4 roues 31 Manipulateur humanoïde Torse • Deux effecteurs (“main droite” et “main gauche”) • Deux manipulateurs DLR à 7 DDL (dernière articulation avec α7 = π/2) • Torse: bras anthropomorphe à 3 DDL 32 Manipulateur humanoïde θ4 art. 3 art. 2 On a aussi un dispositif de connexion entre l’effecteur du torse et les repères de base des deux manipulateurs • Il permet de mantenir la “poitrine” du manipulateur humanoïde toujours perpendiculaire par rapport au sol • On utilise une articulation rotoïde: le paramètre θ4 de l’articulation n’est pas un DDL, mais il varie pour compenser la rotations des articulations 2 et 3 du torse 33 Manipulateur humanoïde Determination du modèle geometric direct: Solution 1: • Définir le paramètres de DH pour les trois structures cinématiques • Comme pour le manipulateur anthropomorphe avec poignet sphérique, il faut modifier quelque ligne des tableaux de DH des structures individuelles 34 Manipulateur humanoïde l : repère de base du bras gauche r : repère de base du bras droit drt dlt t : repère du torse rh : repère de la main droite lh : repère de la main gauche Solution 2: Definir des matrices de transformation intermédiaires entre les structures principales. Par exemple: c23 s23 0 0 Ttr , Ttl : matrices constantes −s (fonction de β et 23 c23 0 0 3 0 0 3 t r T = des distances drt, dlt) t Trh = T3 Tt Tr Trh 0 0 1 0 où Trrh , Tllh : il faut changer la 7ème 0 0 0 1 0 0 3 t l Tlh = T3 Tt Tl Tlh ligne du tableau des 0 paramètres de DH du T3 : comme pour le manipulateur antropomorphe manipulateur DLR 35 8 - Manipulateur cylindrique Exercice: P 1. Utiliser la convention de DenavitHartenberg pour positioner les repères attachés aux segments du robot 2. Déterminer les paramètres de DH et le modèle géométrique direct du robot 3. Les coordonnées du point P dans T le repère de l’effecteur sont [0 0 1] . Déterminer les coordonnées du même point dans le repère de la base du robot (conseil: utiliser la matrice T03 ) θ1 4. Ecriré une fonction MATLAB qui prend comme arguments les parametrès des articulations du robot et les coordonnées du point P dans le repère de l’effecteur. La fonction doit produire en sortie les coordonnées du point P dans le repère de la base du robot 36 Espace articulaire et espace opérationnel θ4 effecteur d3 θ2 θ1 base Objectif: spécifier une tâche pour l’effecteur d’un manipulateur à n articulations. Cela est plutôt facile pour la position, mais pas banale pour l’orientation On peut décrire la pose de l’effecteur du robot avec un vecteur m x 1 (m ≤ n): xe = � pe φe � Position de l’effecteur Orientation de l’effecteur: on utilise une représentation minimale (par ex. angles d’Euler) 37 Espace articulaire et espace opérationnel Le vecteur xe est défini dans l’espace où la tâche du manipulateur est specifiée Cet espace est appelé espace opérationnel En revanche, l’espace articulaire (ou espace de configuration) dénote l’espace où le vecteur des variable d’articulation q = [ q1 , . . . , q n ] T est défini. On a est prismatique qi = θi si l’articulation est rotoïde et qi = di si l’articulation On peut écrire le modèle géométrique direct, de manière alternative, comme: xe = f (q) où la fonction f (·), non linéaire en général, permet de calculer les variables dans l’espace opérationnel à partir des variables dans l’espace articulaire Si m < n, c’est-à-dire la dimension de l’espace opérationnel est plus petite que la dimension de l’espace articulaire, on dit que le robot est intrinsèquement redondant. Par ex. pour un robot industriel standard à 6 DDL, m = n = 6 38
© Copyright 2025