apprendre robotique
Transcription
apprendre robotique
A. Benali 0248484081 [email protected] 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 Niveaux tâche 68 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 Fanuc pendant EAAL pendant (pédagogique) 70 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 d’axes de l’effecteur 71 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 DonnelDouglas) ... !!! 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 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) 75 Programmation par CAO Moyen disponible 1980 Modélisation • des robots • des préhenseurs • de l’environnement • Modélisation des tâches • Simulation et optimisation • Génération des programme de commande 76 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 • 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. 80 Liaison, articulations et repères Liaisons Articulations Point terminal 2 DDL 81 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 • Peut-on appliquer des opérations de transformation sur un vecteur 82 Description d’une position un système de coordonnées {A} ZA • point = vecteur position AP YA XA pox A = P p oy poz Souvent la description du point n’est pas suffisante: besoin de l’orientation 83 De {A} vers {B} {A } αZ αX α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 est un vecteur des cosinus ? • Comment calculer ? Quel est le • Position + orientation = Frame 85 Description d’un repère z0 {A} y0 • Repère: ensemble de quatre vecteurs donnant position + orientation • Description d’un repère: position + rotation matrix • Ex.: y1 x1 θ x0 z1 {B} • position: repère avec une rotation nulle • orientation: repère avec position nulle 86 Mapping: entre deux repères Repères translatés ZA {A} YA AP AP BORG ZB BP XB {B} YB XA • Si {A} est de même orientation que {B}, alors {B} diffère de {A} par une translation: APBORG AP = BP + AP BORG • Mapping: changement de description d’un repère à l’autre. Le vecteur APBORG definit le mapping. 87 Généralisation du changement de coordonnées A ZA XB YA XA BP AP AP BORG {A} P = BAR BP + APBORG ZB YB A P BA R = 1 0 0 0 “1” ajouté A PBORG B P 1 1 Colonne ajoutée88 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 - Les angles d’Eulers - Les angles roll, pitch yaw 91 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 Z0 Séquence de trois rotations autour des axes fixes d’origine dans l'ordre suivant : Rot(xo , ψ) Rot(yo , θ) Rot(zo , φ) Roll Pitch Y0 X0 Yaw Les trois angles roll, pitch et yaw φ, θ, et ψ Paramétrisation de la rotations R = Rot(z, φ) × Rot(y, θ) × Rot(x, ψ) 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 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. Z (i - 1) Y X α Y (i -1) a (i -1) (i - 1 ) d i Z i X i a i θ i i ( i - Idée: chaque articulation est dotée d’un repère. En utilisant les notations de Denavit-Hartenberg il suffit de 4 parameters pour décrire comment le repère (i) est relié au repère ( i -1 ). 1) Les paramètres sont α, a , d, θ 97 Etapes de la procédure D-H pour tout manipulateur Étape1 : localiser et nommer les axes articulaires z0 , …, zn-1 Étape2 : Fixer le repère de base. Prendre son origine n’importe où sur l’axe z0. Les axes x0 et y0 complètent le trièdre direct. Pour i=1,…, n-1 refaire les étapes 3 à 5 Étape3 : localiser l’origine Oi , là où la perpendiculaire commune entre zi et zi-1 coupe zi (si zi et zi-1 se coupent, choisir Oi au point d’intersection, si zi et zi-1 sont parallèles localiser Oi sur l’articulation i) Étape4 : établir xi le long de la perpendiculaire commune entre zi et zi-1 (si zi et zi-1 se coupent choisir xi perpendiculaire au plan formé par zi et zi-1 ) Étape5 : compléter par yi pour former un trièdre direct Étape6 : établir le repère terminal On Xn Yn Zn choisir On au centre de l’effecteur. Si la dernière articulation est rotoïde choisir Zn parallèle à 98 Zn-1 Notation de Denavit-Hartenberg Z (i - 1) Y X α Y (i -1) a(i i Z i X - 1 ) d i a i i (i -1) θ i ( i - 1) 1) a distance le long de x à partir de l’origine O jusqu’à l’intersection avec Z 2) α Rotation nécessaire autour de la perpendiculaire commune (x ) pour aligner Z avec l’axe Z . Le sens des rotation suit le sens trigonométrique. (i-1) i i (i-1) (i-1) i (i-1) i 99 Notation de Denavit-Hartenberg Z (i - 1) Y X α Y (i -1) a(i i Z i X d - 1 ) i a i i (i -1) θ i ( i - 1) 3) d C’est le déplacement le long de Z à partir de O nécessaire pour obtenir l’intersection entre Z et X . Si la liaison est prismatique alors d est la variable articulaire 4) θ Rotation autour de Z pour aligner les axes X et X . Si la liaison est rotoïde alors θ est la variable articulaire (i-1) i-1 i-1 i-1 i (i-1) i i-1 i (i-1) i 100 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 chercher : y θ = arctan( ) x D’où: y θ = arctan 2( ) x (x , y) Y S ᒕ1 X chercher S: S = (x 2 + y 2 ) 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 analytique : il existe plusieurs articulations dont les axes font des angles α = 0, 90 . o i 108 1-Solution algébrique Soit l’exemple suivant : c123 s 123 B 0 = = T T W 3 0 0 − s123 c123 0 0 0 l1c1 + l2c12 0 l1s1 + l2 s12 1 0 0 1 L’objectif est de déterminer trois variables : cφ s φ B T = W 0 0 − sφ cφ 0 0 x 0 y 1 0 0 1 0 109 1-Solution algébrique Par comparison, nous obtenons quatre équations cφ = c123 sφ = s123 x = l1c1 + l2 c12 y = l1s1 + l2 s12 En additionnant le carré des deux dernières équations: x 2 + y 2 = l12 + l22 + 2l1l2c2 D’où l’expression de c2 x 2 + y 2 − l12 − l22 c2 = 2l1l2 110 1-Solution algébrique Deux solutions pour θ2 sont possibles. En utilisant c12=c1c2-s1s2 et s12= c1s2-c2s1: x = k1c1 − k 2 s1 y = k1s1 + k 2 c1 avec k1=l1+l2c2 et k2=l2s2. Pour résoudre nous poserons r=+√ k12+k22 et γ=Atan2(k2,k1). 111 1-Solution algébrique k1 γ l1 l2 k2 θ2 alors: k1=r cos γ , k1=r sin γ , et nous pouvons écrire: 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 112 1-Solution algébrique ainsi: et: γ+θ1 = Atan2(y/r,x/r) = Atan2(y,x) θ1 = Atan2(y,x) - Atan2(k2,k1) Finallement, θ3 peut être déterminée: θ1+ θ2+ θ3 = φ 113 2-Solution géométrique Idée: Decomposer la géométrie spaciale en plusieurs problèmes de géométrie planaire Rappelons la loi des sinus sin B = sin C b = 2 θ2 ψ c sin ψ l y sin( θ ) sin(180 − θ ) 2 = 2 + + 2 2 2 x y x y2 β x θ1=ψ+β y x β = arctan 2 114 2-Solution géométrique En utilisant la loi des cosinus c 2 y = a 2 + b 2 − 2ab cos C (x2 + y 2 2 2 ) = l1 + l2 − 2l1l2 cos(180 − θ 2 ) ψ cos(180 − θ 2 ) = − cos(θ 2 ) cos(θ 2 ) = x 2 2 + y 2 − l1 − l2 2 β 2l1l2 θ 2 = arccos x 2 2 + y − l1 − l2 2 2l1l2 2 x θ2 est donnée au signe près l θ1 = arcsin 2 sin(θ 2 ) x2 + y2 y x + arctan 2 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 u = tan θ/2 en utilisant cos θ = (1-u2)/(1+u2) sin θ =2u /(1+u2) 116