2.1.7 Modèle Géométrique Direct Forward Kinematics Coordonnées opérationelles (pos. & orientation de la main ou de l'outil) en fonction des variables robot {x,y,z, a } = F (q1, q2, … qi, …. qn )
Position & orientation d’un outil q1 q2 L4 y x TCP MGD complet « à la main » x = L1 c1 + L2c12 + L4c124 y = L1 s1 + L2s12 + L4s124 z = q3 j = q1 + q2 + q4
MGD d’un robot à 6 ddl? La même démarche pour un robot à 6 ddl devient très difficile => utiliser les matrices homogènes! Exercice 9 !
Ex. 9b Rot. de q4 de autour de [ L1 + L2 , 0 ]T Rot. de q2 de autour de [ L1 , 0 ]T Rot. de q1 de autour de [ 0 , 0 ]T 1.)
et L1 2 = L1 + L2 avec les définitions versine(q) = 1-cosq Ex. 9b Rot. de q4 de autour de [ L1 + L2 , 0 ]T avec les définitions versine(q) = 1-cosq donc v4 = 1– cos q4 et L1 2 = L1 + L2
Ex. 9b MGD complet: =
Ex. 9b MGD complet: =
x x = L1 c1 + L2c12 + L4c124 y = L1 s1 + L2s12 + L4s124 Application du MGD L1 L2 y x L4 Ex. 10 q1 q2 L4 y x TCP x = L1 c1 + L2c12 + L4c124 y = L1 s1 + L2s12 + L4s124
x Etablissement du MGD: Définir les variables robots Définir leurs positions de référence Définir les paramètres du robot Enchainer les mouvements successifs (multiplication de matrices homogènes) L4 y L1 L2 x
MGD d’un robot 6ddl q3 q2 q6 q5 q4 q1 Variables robot Convention: Partir de la base vers la main q1
2. Positions de référence q4 , q6 2. Positions de référence q1 z qi = 0 q5 Les flèches indiquent le sens de rotation positif The arrows indicate positive rotation x q3 y q2 Le référentiel (x,y,z) est fixe (coordonnées opérationelles) Fixed coordinate frame!
z x y 3. Paramètres du robot q1 q5 q3 q2 D4 L2 D3 q4 , q6 Les axes q1 et q2 se croisent => L1=0 cross each other D4 Les axes q2 et q3 sont parallèles, dist. L2 q5 q3 Les axes q3 et q4 se croisent => L3=0 L2 Les axes q1 et q4 sont décalés sur l'axe q3 d'une distance D3 Distance between q1 and q4 along q3 : D3 D3 x y Les axes q4 et q5 se croisent => L4=0 q2 Les axes q3 et q5 sont décalés sur l'axe q4 d'une distance D4
Généralisation de la paramétrisation: Paramètres Denavit-Hartenberg Les axes successifs sont reliés par les perpendiculaires communes, définissant ainsi des points de repère Pi q3 Passage de l'axe 1 à l'axe 2: Déplacement de L1, rotation de a1 autour de L1 P3 q2 P2 L2 L1 Li: Link length ai: Twist angle Distance de Pi à Pi': Joint offset Di P2' q1 P1
4. Enchainement des mouvements z q4 , q6 Rot. de q6 autour de l'axe z , décalée de p = [D3,0,0]' q5 D4 q3 L2 D3 x y q2
2. Rot. de q5 autour de l'axe x , décalé de p = [0,0, L2+D4]' z q4 , q6 2. Rot. de q5 autour de l'axe x , décalé de p = [0,0, L2+D4]' q5 D4 q3 L2 D3 x y q2 et ainsi de suite pour K4 ,K3 , K2 , K1
MGD du robot 6ddl P(qi) = (K1 K2 K3 K4 K5 K6 ) P0 P0 q3 q2 q6 P(qi) q5
2.1.8 Représentation de l’orientation: Angles d'Euler L'orientation est très souvent exprimée en angles autour de trois axes fixés au corps en mouvement. (Figures p. 2.1-11) Historiquement ce sont précession, nutation, rotation propre (axes z,x,z liés au corps) Généralisation: On trouve 12 jeux d'angles différents Orientation is often expressed as angles around body-fixed axes. Historically, these were first defined by Euler as precession, nutation and proper rotation of a gyroscope (top, Kreisel)
Orientation: Poignet à 3 axes concurrents Wrist with three axes through a common intersection q6 q4 q5 Fig 10 p. 11
Poignet à 3 axes: Angles d’Euler Gruber p. 209 z Poignet à 3 axes: Angles d’Euler Gruber p. 209 q5= j ( y, j, q ) q6 = q q4 Précession nutation rotation propre y q5 axes z,x,z (corps) body-fixed x q4= y Fig 10b) p. 11 Fig 12) p. 13
Poignet cardanique: Fig. 13 P 2.1.-13 Roulis (roll) j aut. axe x, direction d'approche tangage (pitch) J aut. axe y lacet (yaw) y aut. axe z Angles d'Euler (x,y,z), axes liés au corps q5 Cardanic wrist q6 q4
P(qi) = (K1 K2 K3 K4 K5 K6 ) P0 MGD: Comment trouver les angles (j, J, y) par rapport à des axes fixes x,y,z? R1 R2 R3 R4 R5 R6 = Rtot = Rtot = Rz Ry Rx =
Solution: j = Atan2(±r32,±r33) y = Atan2(±r21,±r11)
2.1.9 MGI Tâche pratique: Quelles variables pour qi un P donné? z x q2 q4 q6 q5 q1 q3 y P(qi) On cherche qi(P) , donc la fonction inverse du MGD P(qi)
Modèle Géométrique Inverse (indirect) Inverse Cinematics, rückwärts Kinematik Problème mathématiquement difficile! Exemple très simple: MGD q2 L2 x = L1 c1 + L2c12 y = L1 s1 + L2s12 L1 q1 x Donnés x & y, quels sont q1 et q2 ?
1. Remplacer cos(q1 + q2) par cosq1 et cosq2 x = L1 c1 + L2c12 = L1 c1 + L2c1c2 – L2s1s2 y = L1 s1 + L2s12 = L1 c1 + L2s1c2 + L2c1s2 2. L'introduction des sinus nécessite d'ajouter les relations entre sinus et cosinus s12 + c12 = 1 s22 + c22 = 1 4 équations, 4 inconnues mais des équations quadratiques!
Nous constatons donc que le MGI est beaucoup plus complexe que le MGD! Les équations sont non-linéaires Des solutions analytiques générales comme dans le cas d'équ. linéaires sont inconnues Solutions multiples possibles! Infinité de solutions possible (redondance)
Note Robot redondant: Plus de ddl que nécessaire au positionement Raison: Accessabilité Applications typiques: Soudure, peinture sur des éléments complexes (carosserie d'auto)
Solution des 4 équations: (x2 + y2) = L12 + L22 + 2 L1 L2 c2 Cela donne cos(q2) et donc deux angles q2 Exercice: Trouvez q1
Robot à 6 ddl Position: On peut trouver le MGI en combinant deux fois l'exemple planaire qui vient d'être fait. Nous avons donc déjà 2x2=4 postures possibles
donc R(q4,q5,q6) = R(base)–1 R(consigne) MGI du robot à 6 ddl Orientation: Les angles sont des angles d'Euler par rapport à l'orientation du troisième membre. R(consigne) = R(base) R(q4,q5,q6) donc R(q4,q5,q6) = R(base)–1 R(consigne) Postures? (nombre de solutions?)
Postures du poignet q6 q4 q5 q5 => -q5 q4 => q4±p q6 => q6±p
Récapitulation MGD et MGI Le MGD se trouve de façon systématique. (Paramètres Denavit Hartenberg, matrices homogènes) Il y a toujours une solution dans le domaine de travail Le MGI ne peut pas se calculer systématiquement dans tous les cas (besoin d'astuces) Solutions multiples (postures) possible Nombre de solutions inconnu en général! Méthodes numériques ne donnent pas toutes les solutions
Robots parallèles? q3 q1 q2 f MGD: Donnés q1, q2, q3, (x, y) f q3 q1 q2 MGD: Donnés q1, q2, q3, Quels sont (x, y, f) ?
Solution:
Constat: Pour les robots parallèles, c'est le modèle géométrique direct MGD qui aura plusieurs solutions. On les appelle les "contorsions"
MGI? (x, y) f q3 q1 q2 MGI: Donnés (x, y, f) , Quels sont q1, q2, q3 ?
MGI (x, y) f A l'évidence, il n'y a qu'une seule solution.
Fin section 2.1 "Cinématique" Robots sériels: Le MGD a une seule solution; méthode "infaillible" existe Le MGI a des solutions multiples! (Les postures) Robots parallèles, c'est juste l'inverse: Le MGD a des solutions multiples! (Les contorsions) Le MGI n'a qu'une solution, souvent facile à trouver Ces questions sont objet de recherche en robotique. (publications, conférences...)