2.1.7 Variables robot – Joint Variables

Slides:



Advertisements
Présentations similaires
ROBOTIQUE -ELE4203- Cours #3: Cinématique directe: les paramètres de Denavit-Hartenberg Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge -
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
CHAPITRE II Caractéristiques géométriques des sections planes
Corrélations et ajustements linéaires.
II ) RÉVISION : MOMENTS ET COUPLES
2. Repérage et coordonnées
Angles et distances dans R2
Micromoteur de modélisme
Bases théoriques: modélisation et contrôle
Géométrie vectorielle
Double diplôme ENSA -ECN
Transformations Montage préparé par : S André Ross
2.1.5 Rotations in 3D: Rotation axis
Chapitre 11:Rotation d’un corps rigide autour d’un axe fixe
IFT3730: Infographie 3D Transformations Géométriques
Transformations de visualisation en OpenGL
Outils de la mécanique.
2.1.5 Rotations in 3D: Rotation axis
Lignes trigonométriques.
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Rappel... Solution itérative de systèmes linéaires (suite et fin).
La droite dans R2 Montage préparé par : André Ross
2nd Pro Maintenance des Véhicules Automobiles
L’animation par cinématique directe ou inverse
Modélisation du robot Azimut-3
Éléments d’usinage et métrologie dimensionnelle TCH040
Systèmes mécaniques et électriques
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Chapitre 3: Les équations et les inéquations
3.1 DÉTERMINANTS (SUITE) Cours 6.
2.1.7 Modèle Géométrique Direct Forward Kinematics
Passage entre quaternions et matrice des cosinus directeurs Transition from Quaternions to Direction Cosine Matrices.
2.1.6 Matrices homogènes 3D Homogenous representation in 3D:
SUJETS SPÉCIAUX EN INFORMATIQUE I
Géométrie analytique Distance d’un point à une droite.
Géométrie analytique Distance entre deux points.
Rappel... Matrices bloc. Décomposition des matrices:
Système de coordonnées
La droite dans R3 Montage préparé par : André Ross
Géométrie analytique Distance d’un point à une droite.
Transformations linéaires et sous-espaces associés
Physique mécanique (NYA)
Relativité du mouvement
Géométrie épipolaire (deux vues)
Itérations de fonctions non linéaires
Chapitre 2-1A Modélisation cinématique des liaisons
Chapitre 4ABC Mécanique Cinématique du point
Troisième séance de regroupement PHR004
Pré-rentrée L1 Eco-Gestion Mathématiques
Une comparaison brute entre 2 éphémérides
2 Theoretical Foundations: Model and Control 2.1 KinematicsBleuler 2.2 JacobianBouri 2.3 DynamicsBouri 2.4 ControlBouri.
CHAPITRE I LE MODELE QUANTIQUE DE L'ATOME.
MODELISATION DES LIAISONS.
CHAPITRE III Calcul vectoriel
OUTILS MATHEMATIQUES POUR LES SII
CINEMATIQUE – Base INTRODUCTION GENERALITE PRENTATION DE L’ATELIER DMU Kinematics CREATION DE CINEMATIQUE V5.
Cours LCS N°4 Présenté par Mr: LALLALI
Les différents modèles
Pratiques éducatives et transmission des habiletés motrices
2.1.7 Modèle Géométrique Direct Forward Kinematics
2.1.5 Rotations 3D: Axe de rotation
Equipe synthèse d ’images et réalité virtuelle IRIT-UPS Toulouse Surfaces implicites Les différents modèles analytiques.
CHAPITRE III LE MODELE QUANTIQUE DE L'ATOME.
Biomécanique et réadapation
Cinématique de rotation
Pierre Joli Cours de Mathématique Pierre Joli
Pierre Joli Cours de Mathématique Pierre Joli
GEOMETRIE VECTORIELLE
Simulation de robots en MATLAB Fabrice LE BARS. Simulation de robots en MATLAB 01/06/  Modélisation de systèmes avec des équations d'état Le fonctionnement.
Transcription de la présentation:

2.1.7 Variables robot – Joint Variables Tout robot est controlé par des consignes angulaires ou linéaires envoyées aux actionneurs (moteurs). A robot is controlled by sending desired joint variables to the actuators. The number of joint variables is the number of degrees of freedom of the robot. Symbols qi or qi are used for these variables. Ces angles ou positions sont les variables robots. Leur nombre n est le nombre de ddl du robot. (joint variables) Nous utilisons { q1, q2, … qi, …. qn } ou { q1, q2, … qi, …. qn }.

Variables opérationnelles – Operational (Task-specific) variables La tâche du robot se décrit dans d’autres termes: Position et orientation de l’outil, de l’objet à manipuler. Pour un corps rigide, il sera nécessaire de spécifier six paramètres indépendants, correspondants aux six ddl d’un solide dans l’espace. {x,y,z, Q} ou {x,y,z, a, b, g} The robot task is described in other variables, task specific: The position and orientation of the object to be handled, i.e. the six independant values {x,y,z, Q} or {x,y,z, a, b, g}

Modèle Géométrique Direct MGD Forward Kinematics Le MGD donne les coordonnées opérationelles en fonction des variables articulaires Forward kinematics is the mathematical expression of the task variables as function of the joint variables. {x,y,z, Q} = F (q1, q2, … qi, …. qn )

q4 y q2 L2 L1 q1 x Exemple: MGD du SCARA Fig.8 Définition des variables articulaires qi 1st step: Definition of the joint variables définir les positions de référence qi = 0 2nd step Definition of reference position (of the zero) définir les paramètres du robot Li 3rd step Definition of the robot parameters

qi = 0 y L1 L2 x x = … ? y = … ? z = q3 j = q1 + q2 + q4 Position de référence qi = 0 y L1 L2 x Le MGD donne orientation et position de la main x = … ? y = … ? z = q3 j = q1 + q2 + q4 q1 q2 q4 L1 L2 y x The forward kinematics will give position & orientation of the hand

x = L1 cos q1 + L2cos(q1 + q2 ) = L1 c1 + L2c12 Position du centre de la main (tool center point TCP) & orientation de la main TCP y q2 L2 L1 q1 x x = L1 cos q1 + L2cos(q1 + q2 ) = L1 c1 + L2c12 y = L1 sin q1 + L2sin(q1 + q2 ) = L1 s1 + L2s12 z = q3 j = q1 + q2 + q4

Position & orientation d’un outil TCP y L4 q2 q1 x x = L1 c1 + L2c12 + L4c124 y = L1 s1 + L2s12 + L4s124 z = q3 j = q1 + q2 + q4 Position & orientation of a tool

La même démarche pour un robot à 6 ddl devient 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! For a 6 d.o.f. robot, the same task becomes very hard by hand. It becomes straight forward with the use of homogenous matrices. 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. 9c 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 q2 q3 q5 q4 , q6 y z x q1 2. Positions de référence qi = 0 Les flèches indiquent le sens de rotation positif The arrows indicate positive rotation Le référentiel (x,y,z) est fixe (coordonnées opérationelles) Fixed coordinate frame!

z x y 3. Paramètres du robot q5 q3 q2 q1 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 q1

Généralisation de la paramétrisation: Paramètres Denavit-Hartenberg Les axes de rotation successifs qi sont reliés par les perpendiculaires communes, définissant ainsi des points de repère Pi q2 q3 q1 P1' P2 P2' P3 L2 L1 ai D2 Passage de l'axe 1 à l'axe 2: Déplacement de L1, Angle fixe de a1 autour de L1 Li: Link length ai: Twist angle Distance de Pi à Pi': Joint offset Di

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 Forward kinematics of the robot arm: P(qi) = (K1 K2 K3 K4 K5 K6 ) P0

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

Orientation: Poignet à 3 axes concurrents Wrist with three axes through a common intersection q5 q4 q6 Fig 10

Poignet à 3 axes: Angles d’Euler Gruber p. 209 q5 q4 q4= y q5= ϑ y x q6 =j z Poignet à 3 axes: Angles d’Euler Gruber p. 209 ( y, ϑ ,j ) Précession nutation rotation propre axes z,x,z (corps) body-fixed

q5 q6 q4 Poignet cardanique: 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 q4 q6 Cardanic wrist

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 qi pour 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 Kinematics, rückwärts Kinematik Problème mathématiquement difficile! Exemple très simple: L2 q1 q2 x L1 MGD x = L1 c1 + L2c12 y = L1 s1 + L2s12 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écessaires 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 q5 q4 q6 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) possibles 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ées q1, q2, q3, (x, y) f q3 q1 q2 MGD: Données 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? q3 q1 q2 f MGI: Données (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...)