A. Benali 0248484081 benali@ensi-bourges.fr 64 Objectifs du cours Comment procéder pour donner des ordres au robot Apprendre à représenter la position et l orientation d une chaîne mécanique Être capable d effectuer des transformation de coordonnées. Utiliser différents repères et les coordonnées homogènes 65
Pourquoi le modèle géométrique direct Description dans l espace et transformation Introduction à la génération du mouvement Where is my hand? Direct Kinematics: HERE! 66 Sommaire 1- Programmation des robots industriels 2- Matrice de transformation homogène 3- Notations de Denavit & Hartenberg 4- Modèle géométrique direct et inverse 67
Programmation des robots industriels Niveaux d abstraction pour la description de la tâche Actionneur Coordonnées articulaires q Effecteur Coordonnées opérationnelles x Objet Opérations sur les objets, insertion, alignement,.. Objectifs Assemblage de plusieurs pièces 68 Niveaux tâche Programmation des robots industriels Niveau de l intelligence humaine Programmation de niveau tâche Programmation textuelle structurée Programmation par primitives de mouvements Programmation par apprentissage System d exploitation 69
Programmation par apprentissage Syntaxeur (boîte à boutons ou «teach pendant») Le plus courant actuellement Mouvements point à point (pick and place, soudure à points) Enregistrement : de points opérationnels ou de passage EAAL pendant (pédagogique) 70 Fanuc pendant Type de mouvements en mode «teach» Mode articulaire Système d axes de référence Mode world Orientation Position spécifiés Système 71 d axes de l effecteur
Type de mouvements en mode «teach» Mode tool Orientation Position spécifiés Système d axes défini par l orientation de l outil 72 Limites de la programmation par apprentissage inconfortable (si la complexité logique de la tâche augmente) difficultés d édition immobilisation du robot (programmation «on-line») incompatible avec CAD/CAM, CIM,... 73
Programmation par langage fonction apprentissage mémorisation des points langage procédural («off-line») séquence logique de la tâche - 1er langage : WAVE (1973) Standford Artificial Intelligence Laboratory - VAL (Victor s Assembly Langage) 1979 - VAL II 1984 autres :AML (A Manufacturing langage, IBM 1982) RAIL (Automatix, 1981) MCL (Manufacturing Control Langage, Mc Donnel- Douglas)...!!! PAS DE NORMALISATION réticence à utiliser des robots de marques différentes 74 Caractéristiques et possibilités 2ème génération (VAL II, AML, ) contrôle du mouvement (interpolation) ex. : MCL (basé sur APT : automatically programmed tooling) connaît les cercles, plans, cylindres, I/O analogiques pour senseurs extéroceptifs (+ capacités de calculs) ex. : contrôle du serrage de la pince intelligence programmable tests et branchements conditionnels 75 procédures en cas de détection d erreurs communication, transfert de données computer link pour téléchargement de programmes et/ou de consignes extensibilité (routines, macro-instructions, paramètres variables)
Programmation par CAO Moyen disponible 1980 Modélisation des robots des préhenseurs de l environnement Modélisation des tâches Simulation et optimisation 76 Génération des programme de commande Programmation par CAO Outils (CAO) Base de données géométriques 3-D - primitives solides - primitives de surfaces - cellules spatiales Visualisation - réaliste (solide) - simplifiée (fil de fer) 77
Programmation par CAO Calcul des efforts statiques dans CATIA 78 Sommaire 1- Programmation des robots industriels 2- Matrice de transformation homogène 3- Notations de Denavit & Hartenberg 4- Modèle géométrique direct et inverse 79
Objectifs Un robot manipulateur exige un mouvement dans l espace Différents systèmes de coordonnées sont nécessaires pour décrire position/mouvement Objectif: descrire le mouvement d un objet rigide 80 Point de référene: Il existe un système de coordonnées universel/ inertiel/ stationnaire, auquel se réfère d autres systèmes de coordonnées. Liaison, articulations et repères Liaisons Articulations 2 DDL 81 Point terminal
Trois problèmes à résoudre Étant donné deux SC s, comment exprimer l un en fonction de l autre Lorsqu un point est exprimé dans un SC, comment s exprime-t-il dans le second 82 Peut-on appliquer des opérations de transformation sur un vecteur Description d une position un système de coordonnées YA A pox oz oy = 83 point = vecteur position XAZA {A}AP P Souvent la description du point n est pas suffisante: besoin de l orientation p p
De {A} vers {B} {A} αx αzαy Conclusion: le vecteur exprimé dans le repère {A} est : 84 Matrice de rotation Cette matrice contient les projection des trois vecteurs unitaires Chaque vecteur colonne de la matrice de rotation 85 est un vecteur des cosinus Comment calculer? Quel est le? Position + orientation = Frame
Description d un repère x0 z0 y0 z1 θ {A} {B} y1 x1 Repère: ensemble de quatre vecteurs donnant position + orientation Description d un repère: position + rotation matrix Ex.: 86 position: repère avec une rotation nulle orientation: repère avec position nulle ZA XA APBORG XB BP 87 Si {A} est de même orientation que {B}, alors {B} diffère Mapping: entre deux repères YA AP {A} APBORG APBORG de {A} par une translation: AP = BP + Mapping: changement de description d un repère à l autre. Le vecteur definit le mapping. Repères translatés ZB YB {B}
ZA XBAPAPBORG XA YA {A} YBZB BP A A AB B ABORG P Généralisation du changement de coordonnées P 1 P = R P+ = 0 ABR 0 0 ABORG P 1 1 ajouté Colonne ajoutée B 88 P 1 Coordonnées homogènes Les coordonnées homogènes: englobent des vecters 3D vectors en 4D par l ajout d un 1 Plus généralement, la matrice de transformation homogène T de la forme 89
Sommaire 1- Description par les matrices de transformations homogènes 2- Description des rotations 3- Paramètres de Denavit & Hartenberg 4- Modèle géométrique inverse 90 Représentation des rotations La matrice d orientation R est composée de 9 composantes dépendantes pour décrire l orientation Nous avons besoins de trois degrés de libertés indépendants pour décrire l orientation Nous allons analyser deux représentations de l orientation 91 - Les angles d Eulers - Les angles roll, pitch yaw
Les angles d Euler Séquence de trois rotations autour des axes courants dans l'ordre suivant: Rot(z, φ) Rot(y, θ) Rot(z, ψ) Les trois angles d Euler φ, θ, et ψ Paramétrisation de la rotations R = Rot(z, φ) Rot(y, θ) Rot(z, ψ) 92 Les angles d Euler 93
Les angles Roll, Pitch, Yaw Séquence de trois rotations autour des axes fixes d origine dans l'ordre suivant : Rot(xo, ψ) Rot(yo, θ) Rot(zo, φ) Les trois angles roll, pitch et yaw φ, θ, et ψ Paramétrisation de la rotations X0Z0 R = Rot(z, φ) Rot(y, θ) Rot(x, ψ) Yaw Roll Y0 Pitch 94 Les angles Roll, Pitch, Yaw 95
Sommaire 1- Description par les matrices de transformations homogènes 2- Description des rotations 3- Paramètres de Denavit & Hartenberg 4- Modèle géométrique inverse 96 Z(i -1) X(i Y(i -1) -1) α( 1) i - ) a(i -1 di Yi Zi Xi i ai 97 notations de Denavit-Hartenberg il suffit de 4 parameters pour décrire comment le repère (i) est relié au repère ( i -1 ). Représentation de Denavit-Hartenberg C est une méthode systématique qui permet de fixer n repères associés au robot et d en déduire les matrices de transformations homogènes. Idée: chaque articulation est dotée d un repère. En utilisant les Les paramètres sont α, a, d, θ θ
Etapes de la procédure D-H pour tout manipulateur zn-1 Étape1 : localiser et nommer les axes articulaires z0,, Étape2 : Fixer le repère de base. Prendre son origine n importe où sur l axe z0. Les axes x0et y0complètent le trièdre direct. zi-1 Pour i=1,, n-1 refaire les étapes 3 à 5 Étape3 : localiser l origine Oi, là où la perpendiculaire commune entre ziet zi-1coupe zi(si ziet zi-1se coupent, choisir Oiau point Étape4 : établir xile long de la perpendiculaire commune entre ziet (si ziet zi-1se choisir xiperpendiculaire au plan formé par ziet yi On Xn coupent Étape5 : compléter par pour former un trièdre direct Étape6 : établir le repère terminal YnZnchoisir Onau centre de l effecteur. Si la dernière articulation est rotoïde choisir Znparallèle à d intersection, si ziet zi-1sont parallèles localiser Oisur l articulation i) Zn-1 98 zi-1) Z(i -1) X(i Y(i -1) -1) α( i -1) a(i -1) di Yi Zi Xi i ai α(i-1) θ 99 2) Notation de Denavit-Hartenberg Z(i-1) Z(i-1) 1) a(i-1)distance le long de xià partir de l origine Oijusqu à l intersection avec Rotation nécessaire autour de la perpendiculaire commune (xi)pour aligner avec l axe Zi. Le sens des rotation suit le sens trigonométrique.
Z(i -1) X(i Y(i -1) -1) d(i-1) α( i -1) a(i -1) di Yi Zi Xi i ai θ 3) 100 C est le déplacement le long de Zi-1à de Oi-1nécessaire pour d(i-1)est la Notation de Denavit-Hartenberg θi Zi-1 partir obtenir l intersection entre Zi-1et Xi. Si la liaison est prismatique alors variable articulaire 4) Rotation autour de pour aligner les axes X(i-1)et Xi. Si la liaison est rotoïde alors θiest la variable articulaire Matrice de Denavit-Hartenberg 101
Sommaire 1- Description par les matrices de transformations homogènes 2- Description des rotations 3- Paramètres de Denavit & Hartenberg 4- Modèle géométrique inverse 102 Exemple simple Liaisons rotoïdes et prismatiques combinées(x, y) chercher Y 1XS θ=arctan(xy D où: : ) y 2 θ = arctan 2( ) x S = (x2+ y ) chercher S: 103
Modèle géométrique inverse Position du problème : Etant donnée la position et l orientation de l organe terminal, déterminer les variables articulaires correspondantes. D où provient la difficulté de résolution du problème géométrique inverse? Possibilité d avoir plus d une solution Difficulté de résolution ds équations non-linéaires transcendentales. How do I put my hand here? IK: Choose these angles! 104 Existence des solutions La solution du problème gémétrique inverse admet une solution si la cible appartient à l espace de travail Le calcul de l espace de travail peut devenir difficile, à moins de disposer d un outils approprié Le problème peut admettre plusieurs solution : comment choisir la plus appropriée? 2 solutions! 105
L espace de travail Espace de travail Espace de travail: volume de l espace atteignable par l organe terminal Dextrous workspace: volume de l espace atteignable où l organe terminal peut être orienté arbitrairement. Espace de travail atteignable: volume de l espace de travail que le robot peut atteindre selon au moins une orientation. 106 Méthodes de détermination des solutions Le problème inverse est solvable si les variables articulaires peuvent être déterminés par un algorithme. L algorithme peut déterminer toutes les solutions possibles. Solutions Solutions analytiques Solutions numériques Nous allons nous occuper des solutions analytiques 1. Méthode algébrique 2. Méthode géométrique 107
Méthodes de détermination des solutions Principal résultat: Tous les systèmes avec des articulations rotoïdes et prismatique ayant un total de six degrées de libertés dans une architecture série est solvable En général, la solution est numérique Pour les robots admettant une solution 108 analytique : il existe plusieurs articulations dont les axes font des angles αi= 0, 90o. 03 123 123 123 1 1 2 12 0 BWT s BW 109 φ 1-Solution algébrique Soit l exemple suivant : = c s T = 0 0 s c 0 0 0 1 0 l c + l c l s + l L objectif est de déterminer trois variables : T c s = 0 0 φ φ s c 0 0 φ 0 0 1 0 x y 0 1 0 1
1231 1 2 12 123 Par comparison, nous obtenons quatre équations cφ = c sφ = s 2 x = l c + l c 2 y = l s + l s équations: 2 x + y = l + l + 2l l c x + y l l c = 2l l 1-Solution algébrique 2 12 En additionnant le carré 2 2 12 des deux dernières 112 2 110 22 D où l expression de c θ2 1-Solution algébrique Deux solutions pour sont possibles. En utilisant c12=c1c2-s1s2 1 1 2 1 et s12= c1s2-c2s1: x = k c k s y = k s + k c 111 avec k 1 =l 1 +l 2 c 2 et k 2 =l 2 s 2. Pour résoudre nous poserons r=+ k 12 +k 2 2 et γ=atan2(k 2,k 1 ).
1-Solution algébrique k 1 γ l 2 k 2 l 1 θ 2 alors: k 1 =r cos γ, k 1 =r sin γ, et nous pouvons écrire: 112 x/r= cos γ cos θ 1 - sin γ sin θ 1 y/r= cos γ cos θ 1 - sin γ sin θ 1 donc: cos(γ+θ 1 ) = x/r, sin(γ+θ 1 ) =y/r 1-Solution algébrique ainsi: γ+θ1= Atan2(y/r,x/r) = Atan2(y,x) et: θ1= Atan2(y,x) - Atan2(k2,k1) Finallement, θ3peut être déterminée: θ1+ θ2+ θ3= φ 113
2-Solution géométrique sinbb=sin Idée: Decomposer la géométrie spaciale en plusieurs problèmes sin(180 cc de géométrie planaire x 2yθ22) sin(θ x 22y) y θ arctan2 2 ψ ψ = = β + + θ1=ψ+β sinl2 2 xy = Rappelons la loi des sinus β x 2 2-Solution 2222 géométrique 2 = + 2 12 θcos(θ ( cx180 ay arccos )) bθ) 2 2cos(θ xlab2 1 ) 22 θ xy l C lyllll 2 2 2 En utilisant loi des + = + 2 l1l2 lcosinus l22 = + = θarcsin x sin(θ 22 + y2) = θ2est donnée au signe près + cos( 2122212 cos(1802) 12 1 l2 arctan2xy = + y ψ β x 114 115
Réduction Polynomiale Les équations transcendentales sont difficiles à résoudre à cause de la présence de termes en cos θ et sinθ. Nous pouvons réduire en une une seule variable en utilisant u = tan θ/2 cos θ = (1-u2)/(1+u2) sin θ =2u /(1+u2) 116