Cours de Robotique Fondamentale La cinématique des robots séries Julien Alexandre dit Sandretto COPRIN INRIA EMETTEUR Sophia-Antipolis January 2, 212
Les manipulateurs Notion de liaisons Liaisons entre deux solides Une liaison entre deux solides est une relation de contact entre deux solides. Degrés de liberté d une liaison : C est le nombre de déplacements élémentaires indépendants autorisés par cette liaison. Classe d une liaison : C est le nombre de déplacements élémentaires interdits. On notera que pour une liaison, la somme des degrés de liberté et de la classe de la liaison est égale à 6. Cours de Robotique Fondamentale January 2, 212-2
Les manipulateurs Notion de liaisons Liaisons entre deux solides : exemple Contact Plan/Plan 1 ddl, R x Décomposition des contacts Cours de Robotique Fondamentale January 2, 212-3
Les manipulateurs Notion de liaisons Les différents types de contact contact ponctuel contact linéique contact linéique contact surfacique contact surfacique Cours de Robotique Fondamentale January 2, 212-4
Les manipulateurs Notion de liaisons Tableau des liaisons usuelles Nom de la Représentations Perspective Degrés de liberté mobilités liaison planes Trans Ori 1 1 Encastrement de centre B @ A @ A Anim Glissière de centre A et d axe X 1 @ Tx A @ 1 A Anim Pivot de centre A et d axe X @ 1 A 1 @ Rx A Anim Cours de Robotique Fondamentale January 2, 212-5
Les manipulateurs Notion de liaisons Tableau des liaisons usuelles Nom de la Représentations Perspective Degrés de liberté mobilités liaison planes Trans Ori Pivot glissant de centre C et d axe X 1 @ Tx A 1 @ Rx A Anim Hélicoïdale de centre B et d axe Y @ 1 T y A 1 @ Ty 2p/pA Anim Appui Plan de centre D et de normale Z 1 @ Tx T y A @ 1 A R z Anim Rotule de centre O @ 1 A 1 @ Rx R y A R z Anim Cours de Robotique Fondamentale January 2, 212-6
Les manipulateurs Notion de liaisons Tableau des liaisons usuelles Nom de la Représentations Perspective Degrés de liberté mobilités liaison planes Trans Ori rotule à doigt de centre O d axe X @ 1 A @ 1 R y A R z Anim Linéaire annulaire de centre B et d axe X 1 @ Tx A 1 @ Rx R y A R z Anim Linéïque rectiligne de centre C, d axe X et de normale Z 1 @ Tx T y A 1 @ Rx A R z Anim Ponctuelle de centre O et de normale Z 1 @ Tx T y A 1 @ Rx R y A R z Anim Cours de Robotique Fondamentale January 2, 212-7
Les manipulateurs Les chaînes cinématiques Les articulations des robots Articulation prismatique, noté P 1 ddl en translation T z. Valeur articulaire q = longueur [m]. Articulation rotoïde, noté R 1 ddl en rotation R z. Valeur articulaire q = angle [rad], [ ]. Cours de Robotique Fondamentale January 2, 212-8
Les manipulateurs Les chaînes cinématiques Articulation de ddl 2 Dans la plupart des cas, pour modéliser une articulation de ddl 2, nous nous ramenerons à une succession d articulations P ou R. Exemples : Articulation cardan RR (2 ddl) Articulation rotule RRR=S (3 ddl) Cours de Robotique Fondamentale January 2, 212-9
Les manipulateurs Les chaînes cinématiques Les chaînes cinématiques Figure: Chaîne cinématique RPRP Une chaîne cinématique sera définie par une succession d articulations rotoïdes ou prismatiques. Cours de Robotique Fondamentale January 2, 212-1
Les manipulateurs Les robot séries Les Robots Séries Mobile Base Description Générale Un exemple Cours de Robotique Fondamentale January 2, 212-11
Les manipulateurs Les robot séries Vocabulaire Actionneur, moteur Axe, articulation Corps, segment Organe terminal Effecteur, outil Base Cours de Robotique Fondamentale January 2, 212-12
Les manipulateurs Les robot séries Vocabulaire Coordonnées généralisées X = [P, R] (position P / orientation R de l organe terminal) Coordonnées articulaires q (consignes données aux moteurs : soit rotation autour d un axe soit translation suivant un axe) Paramètres géométriques ζ qui définissent de façon statique les dimensions du robot Cours de Robotique Fondamentale January 2, 212-13
Les manipulateurs Les robot séries Indice de mobilité et ddl d un robot série à n corps Définition : L indice de mobilité M est le nombre de paramètres variables qui déterminent la configuration du manipulateur M = n Si La chaîne cinématique est simple (chaque articulation a, au plus, un successeur et un prédécesseur) Chaque articulation est de classe 5 En géneral, le degré de liberté du robot (D Lr ) est égal à M sauf si le robot est redondant. Dans tous les cas... D Lr M Cours de Robotique Fondamentale January 2, 212-14
Les manipulateurs Les robot séries Robot redondant Le nombre de degrés de liberté de l organe terminal < nombre de variables articulaires actives (d articulations motorisées). plus de 6 articulations plus de trois articulations rotoïdes d axes concourants plus de trois articulations rotoïdes d axes parallèles plus de trois articulations prismatiques deux axes d articulations prismatiques parallèles deux axes d articulations rotoïdes confondus Cours de Robotique Fondamentale January 2, 212-15
Les manipulateurs Les robot séries Configurations singulières (localement redondant) Quelque soit le robot (redondant ou non), il se peut qu il existe certaines configurations dites singulières telle que le nombre de degrés de liberté de l organe terminal soit inférieur à la dimension de l espace opérationnel (espace dans lequel on représente les ddl de l OT). deux axes d articulations prismatiques se retrouvent parallèles deux axes d articulations rotoïdes se retrouvent confondus Cours de Robotique Fondamentale January 2, 212-16
Les manipulateurs Les robot séries Nombre de morphologies possibles vs nombre de ddl du robot 2 possibilités d angle entre deux articulations successives : et 9 ddl nb structure 2 8 3 36 4 168 5 776 6 358 Cours de Robotique Fondamentale January 2, 212-17
Les manipulateurs Les robot séries Nous appelerons... Porteur Poignet... Cours de Robotique Fondamentale January 2, 212-18
Les manipulateurs Les robot séries Propriétés des robots Précision : positionnement absolu imprécis (> 1 mm): Répétabilité : la répétabilité d un robot est l erreur maximale de positionnement répété de l outil en tout point de son espace de travail (<.1 mm) Vitesse maximale de translation ou de rotation de chaque axe, de translation maximale de l organe terminal Accélération maximale Est donnée pour chaque axe dans la configuration la plus défavorable (inertie maximale, charge maximale). Dépend fortement de l inertie donc de la position du robot Charge utile : C est la charge maximale que peut porter le robot sans dégrader la répétabilité et les performances dynamiques. La charge utile est nettement inférieure à la charge maximale que peut porter le robot qui est directement dépendante des actionneurs. Cours de Robotique Fondamentale January 2, 212-19
Les manipulateurs Les robots parallèles Les Robots Parallèles Description Générale, chaîne fermée Un exemple Cours de Robotique Fondamentale January 2, 212-2
Les manipulateurs Les robots parallèles Exemples Robots Parallèles Différents types d architectures La plate-forme de Gough Cours de Robotique Fondamentale January 2, 212-21
Les manipulateurs Les robots parallèles Caractéristiques Meilleure précision (rigidité, accumulation des erreurs) Peut transporter de lourdes charges Bonnes performances dynamiques Espace de travail plus limité (que pour les robots séries) Etude complexe Cours de Robotique Fondamentale January 2, 212-22
Le Modèle Géométrique Direct Des robots (séries ou parallèles) Déterminer: Les coordonnées généralisées (X) en fonction des coordonnées articulaires (q): X = F MGD (q 1, q 2,..., q i, ζ) avec ζ les paramètres géométriques (paramètres qui définissent la géométrie du robot). Cours de Robotique Fondamentale January 2, 212-23
Le MGD exemple Repère mobile t 3 t 2 t 1 θ 2 θ 1 Repère base mécanisme 3R plan θ 3 Identifier les coordonnées articulaires Identifier les paramètres géométriques qui définissent le mécanisme Associer à chacune des articulations un repère Déterminer le positionnement (matrice R, vecteur P) de chaque repères par rapport au précedent. Mettre ces changements de repères sous la forme de matrices homogènes Montrer comment calculer le MGD de ce mécanisme Cours de Robotique Fondamentale January 2, 212-24
Le MGD solution Identifier les coordonnées articulaires Solution: q 1 = θ 1, q 2 = θ 2, q 3 = θ 3 Identifier les paramètres géométriques qui définissent le mécanisme Solution: ζ = {t 1, t 2, t 3 } Cours de Robotique Fondamentale January 2, 212-25
Le MGD Solution Associer à chacune des articulations un repère Repère mobile t 3 θ 3 t 2 θ 2 t 1 θ 1 Repère base mécanisme 3R plan Cours de Robotique Fondamentale January 2, 212-26
Le MGD Solution Repère mobile t 3 t 2 θ 2 1 t 1 T,1 R,1 θ 1 Repère base mécanisme 3R plan θ 3 2 3 T 1,2 R 1,2 T 2,3 R 2,3 Déterminer le positionnement (matrice R, vecteur P) de chaque repères par rapport au précedent. ( ) cos θj sin θ R i,j = j sin θ j cos θ j ( ) tj. cos θ T i,j = j t j. sin θ j i, 1, 2, j 1, 2, 3 Mettre ces changements de repères sous la forme de matrice homogène H i,j = ( Ri,j ) T i,j 1 Cours de Robotique Fondamentale January 2, 212-27
Le MGD Solution = Repère mobile t 1 θ 1 t 2 1 T,1 R,1 t 3 Repère base θ2 θ 3 2 3 T T 1,2 R 1,2 2,3 R 2,3 Montrer comment calculer le MGD de ce mécanisme H,3 = @ cos θ 1 1 sin θ 1 t 1. cos θ 1 sin θ 1 cos θ 1 t 1. sin θ 1 A... 1 @ cos θ 1 2 sin θ 2 t 2. cos θ 2 sin θ 2 cos θ 2 t 2. sin θ 2 A @ cos θ 1 3 sin θ 3 t 3. cos θ 3 sin θ 3 cos θ 3 t 3. sin θ 3 A 1 1 «cos (θ1 + θ 2 + θ 3 ) sin (θ 1 + θ 2 + θ 3 ) t 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) + t 3. cos (θ 1 + θ 2 + θ 3 ) sin (θ 1 + θ 2 + θ 3 ) cos (θ 1 + θ 2 + θ 3 ) t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) + t 3. sin (θ 1 + θ 2 + θ 3 ) 1 X = @ t 1 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) + t 3. cos (θ 1 + θ 2 + θ 3 ) t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) + t 3. sin (θ 1 + θ 2 + θ 3 ) A θ 1 + θ 2 + θ 3 Cours de Robotique Fondamentale January 2, 212-28
Le Modèle Géométrique Direct des robots séries X=( R P) 1 q 1 q 2 q 3 q 4 Repère mobile Repère de base Cours de Robotique Fondamentale January 2, 212-29
Le Modèle Géométrique Direct comment modéliser systèmatiquement une chaîne cinématique Dans l espace, nous utiliserons le formalisme de Denavit-Hartenberg 1 Placer les repères 2 Définir les variables articulaires et les paramètres géométriques 3 Définir les matrices de transformées homogènes 4 Multiplier ces matrices Cours de Robotique Fondamentale January 2, 212-3
Calculer le MGD Déterminer: q 1 q 2 q 3 q 4 X=( R P) 1 X = F MGD (q 1, q 2,..., q i, ζ) Repère mobile La transformation homogène entre le repère Ω et le repère mobile Ω n est obtenue telle que : H DH = H.H 1... H n Repère de base Il faut projeter H DH sur X = [T x, T y, T z, R x, R y, R z ] Cours de Robotique Fondamentale January 2, 212-31
De la matrice DH vers 6 parameters T x, T y, T z, R x, R y, R z Nous souhaitons obtenir X = [T x, T y, T z, R x, R y, R z ] en fonction des éléments de la matrice H DH. Pour la position... T x T y T z = H DH1,4 H DH2,4 H DH3,4 Cours de Robotique Fondamentale January 2, 212-32
De la matrice DH vers 6 parameters T x, T y, T z, R x, R y, R z Nous souhaitons obtenir X = [T x, T y, T z, R x, R y, R z ] en fonction des éléments de la matrice H DH. Pour l orientation... Sachant que : R = ( cos θ cos ψ cos θ sin ψ sin θ ) sin φ sin θ cos ψ + cos φ sin ψ cos φ cos ψ sin φ sin θ sin ψ sin φ cos θ cos φ sin θ cos ψ + sin φ sin ψ cos φ sin θ sin ψ + sin φ cos ψ cos φ cos θ R y = arctan R x = arctan H DH3,2.H DH1,1 H DH3,1.H DH1,2 H DH1,1.H DH2,2 H DH1,2.H DH2,1 H DH1,3 H DH 2 1,1 + H DH 2 1,2 + H DH 2 2,3 + H DH 2 3,3 R z = arctan H DH2,3.H DH3,1 H DH2,1.H DH3,3 H DH2,3.H DH3,2 H DH2,2.H DH3,3 Cours de Robotique Fondamentale January 2, 212-33
Le Modèle Géométrique Inverse des robots séries X=( R P) 1 q 1 q 2 q 3 q 4 Repère mobile Repère de base Déterminer: [q 1, q 2,..., q n ] = F MGI (X, ζ) avec ζ les paramètres géométriques (paramètres qui définissent la géométrie du robot série). Cours de Robotique Fondamentale January 2, 212-34
Le MGI exemple Repère mobile 3 t 3 θ 3 T 2,3 R 2,3 2 t 2 θ2 T1,2 R 1,2 t 1 θ 1 1 T,1 R,1 Repère base mécanisme 3R plan X =... @ t 1 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) + t 3. cos (θ 1 + θ 2 + θ 3 ) t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) + t 3. sin (θ 1 + θ 2 + θ 3 ) A θ 1 + θ 2 + θ 3 Calculer le MGI, c est déterminer: [θ 1, θ 2, θ 3 ] = F MGI (X 1, X 2, X 3, ζ) avec ζ = [t 1, t 2, t 3 ] Cours de Robotique Fondamentale January 2, 212-35
Le MGI exemple résolution Géométrique 1/2 Repère mobile Repère mobile t 3 θ 3 t 3 θ 3 t 2 t 1 Repère base Repère base Cours de Robotique Fondamentale January 2, 212-36
Le MGI exemple résolution Géométrique 2/2 Repère mobile θ 3 θ 2 θ 3 θ 2 θ 1 θ 1 Repère base Cours de Robotique Fondamentale January 2, 212-37
Le MGI exemple résolution Algébrique 1 t 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) + t 3. cos (θ 1 + θ 2 + θ 3 ) X 1 = t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) + t 3. sin (θ 1 + θ 2 + θ 3 ) X 2 = θ 1 + θ 2 + θ 3 = X 3 t 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) + t 3. cos X 3 X 1 = t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) + t 3. sin X 3 X 2 = t 1. cos θ 1 + t 2. cos (θ 1 + θ 2 ) = u 1 (1) t 1. sin θ 1 + t 2. sin (θ 1 + θ 2 ) = u 2 On sait que cos 2 (θ 1 + θ 2 ) + sin 2 (θ 1 + θ 2 ) = 1 (2) Cours de Robotique Fondamentale January 2, 212-38
Le MGI exemple résolution Algébrique 2 En reportant, les équations 1 dans l équation 2. (u 1 t 1. cos θ 1 ) 2 + (u 2 t 1. sin θ 1 ) 2 = t 2 2 Nous obtenons u 1. cos θ 1 + u 2. sin θ 1 = t2 1 t2 2 + u2 1 + u2 2 2.t 1 sachant que pour l équation X. sin α + Y. cos α = Z : cos α = YZ ɛx X 2 + Y 2 Z 2 X 2 + Y 2 sin α = XZ + ɛy X 2 + Y 2 Z 2 X 2 + Y 2 avec ɛ = +/ 1. On en déduit donc θ 1 puis θ 1 + θ 2 θ 2 (en utilisant eq. (1)), puis θ 3. Cours de Robotique Fondamentale January 2, 212-39
Le MGI des robot série Résolution numérique f(x) f(y) x f (x) lim h f (x) f (x+h) h Méthode de Newton 167 Nous cherchons à déterminer x tel que f (x) =, Nous connaissons une approximation de x noté x. Nous avons f (x ) f (x) = f (x ).(x x) avec f (x) = nous obtenons : y = f (x) Le schéma de Newton est donc : x k+1 = x k f (x k) f (x k ) x = x f (x ) f (x ) Cours de Robotique Fondamentale January 2, 212-4
Résolution numérique Newton f (x) = x 3.5x +.1 f (x) = 3.x 2.5.8.6.4.2 1.5.5 1 x.2.4 x 3.5x +.1 = x k+1 = x k x 3.5x+.1 3x 2.5 x 1 -.5 -.4 x 1.2.76-1.4 11.4 x 2.2211.631-1.387 7.695 x 3.2218.5796 -.8555 5.871 x 4.5699 -.7975 3.4121 x 5.5696 -.7915 2.348 x 6 -.7914 1.5799 x 7 1.1143 x 8.827 x 9.6645 x 1.593 x 11.571 x 12.5696 Cours de Robotique Fondamentale January 2, 212-41
Résolution numérique Newton Calculer 3 en utilisant {+,, }, 5 et 2. Solution : Résoudre l équation x 2 N = x k+1 = x k x 2 N 2.x x k+1 = 1 2 (x k + N x k ) x = 5, x 1 = 2.8, x 2 = 1.9357, x 3 = 1.7428, x 4 = 1.7321. Cours de Robotique Fondamentale January 2, 212-42
Le MGI des robot série Techniques utilisées Méthode classique (197-198) Utilisable pour la plupart des robots industriels Résolution simple, utilisation de modèle de résolution Méthode algébrique (Raghavan et Roth 199) Technique de l élimination dyalitique Méthode numérique (Newton) Quand on ne sait pas faire Problème de l unicité des solutions Cours de Robotique Fondamentale January 2, 212-43
Le MGI des robot série Méthode classique 1 Développer l ensemble des équations possibles H X = H,1.H 1,2.H 2,3.H 3,4.H 4,5.H 5,6 H 1,.H X = H 1,2.H 2,3.H 3,4.H 4,5.H 5,6 H 2,1.H 1,.H X = H 2,3.H 3,4.H 4,5.H 5,6 H 3,2.H 2,1.H 1,.H X = H 3,4.H 4,5.H 5,6 H 4,3.H 3,2.H 2,1.H 1,.H X = H 4,5.H 5,6 H 5,4.H 4,3.H 3,2.H 2,1.H 1,.H X = H 5,6 avec H 1 i,j = H j,i 2 On constate que beaucoup d équations ont la même forme Cours de Robotique Fondamentale January 2, 212-44
Le MGI des robot série Méthode classique 3 On utilise des formules de type ci-après pour résoudre Pour l équation X. sin α + Y. cos α = Z : avec ɛ = +/ 1 cos α = YZ ɛxp X 2 + Y 2 Z 2 X 2 + Y 2 sin α = XZ + ɛy p X 2 + Y 2 Z 2 X 2 + Y 2 Remarques Si le poignet est d axes concourants (rotule), la résolution est plus simple. De la même façon, si la chaîne cinématique possède 3R à axes concourants ou 3 articulations prismatiques (qqsoit leurs positions) le MGI est simplifié Le nombre de solutions du MGI d un robot à 6 liaisons varie mais 16. (16 pour RRRRRR) Cours de Robotique Fondamentale January 2, 212-45
Le MGI des robot série Méthode Algébrique, Générale pour un robot à 6 liaisons 1 On utilise les formules suivantes pour obtenir des équations algébriques cos α = 1 tan2 α 2 1 + tan 2 α 2 sin α = 2.tan α 2 1 + tan 2 α 2 2 On utilise une méthode d élimination algébrique pour éliminer 5 variables parmi les 6 3 On obtient un polynôme de degré 16 4 Les racines de ce polynômes nous fournissent les solutions Cours de Robotique Fondamentale January 2, 212-46
Le MGI des robot série Méthode Numérique (pour les cas à problèmes) On utilise un schéma de Newton multivarié : X k+1 = X k J 1 (X K )F (X k ) Avec F = [f 1,..., f n ] T, X = [x 1,..., x n ] T et J la jacobienne du système définie par : J = f 1 f 1 x 1 f 2 f 2 x 1 x 2... x 2.......... f n 1 x 1... f n x 1... f n 1 x n 1 f n x n 1 f 1 x n f 2 x n. f n 1 x n f n x n Attention! ne fournit qu une seule solution Cours de Robotique Fondamentale January 2, 212-47
Le cas des robots parallèles Le MGI R.b i P Modèle Géométrique Inverse ρ i = L i + l i = MGI(P, R, ξ i) ρ i 2 = P + R.b i a i 2 a i ρ = P + R.b i a i Cours de Robotique Fondamentale January 2, 212-48
Le cas des robots parallèles Le MGD X = «P = MGD(ρ, ξ) R Résoudre le système en P, R : ρ 2 1 P + R.b 1 + a 1 2 = ρ 2 2 P + R.b 2 + a 2 2 = ρ 2 3 P + R.b 3 + a 3 2 = ρ 2 4 P + R.b 4 + a 4 2 = ρ 2 5 P + R.b 5 + a 5 2 = ρ 2 6 P + R.b 6 + a 6 2 = Méthodes numériques [Newton, continuation, analyse par interval] Méthodes algébriques [Groebner, Resultant] Cours de Robotique Fondamentale January 2, 212-49