2.1.7 Modèle Géométrique Direct Forward Kinematics

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
Symétrie, groupes ponctuels et groupes spatiaux
(Classes prédéfinies – API Java)
CHAPITRE II Caractéristiques géométriques des sections planes
Corrélations et ajustements linéaires.
Techniques d’identification paramétrique appliquées à la dynamique véhicule Gentiane Venture 13 mars 2003.
II ) RÉVISION : MOMENTS ET COUPLES
Cinématique dans l'espace-temps d'un observateur
L’univers technologique
2. Repérage et coordonnées
Angles et distances dans R2
Bases théoriques: modélisation et contrôle
Géométrie vectorielle
Double diplôme ENSA -ECN
Cinématique Graphique
Introduction à la conception de Bases de Données Relationnelles
2.1.5 Rotations in 3D: Rotation axis
IFT3730: Infographie 3D Transformations Géométriques
Transformations de visualisation en OpenGL
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
Fonction exponentielle: enchaînement de théorèmes
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
Modélisation du robot Azimut-3
Chapitre 3: Les équations et les inéquations
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
2.1.7 Variables robot – Joint Variables
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:
Points essentiels L’expérience d’Oersted;
Géométrie analytique Distance entre deux points.
Rappel... Matrices bloc. Décomposition des matrices:
Système de coordonnées
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 4ABC Mécanique Cinématique du point
Troisième séance de regroupement PHR004
Une comparaison brute entre 2 éphémérides
Vers les fonctions …. Objectifs Travailler sur les tableaux (type tableaux de proportionnalité, mais pas seulement !) Travailler sur la représentation.
2 Theoretical Foundations: Model and Control 2.1 KinematicsBleuler 2.2 JacobianBouri 2.3 DynamicsBouri 2.4 ControlBouri.
Capacité travaillée: Utiliser le cercle trigonométrique pour déterminer le cosinus et sinus d’angles associées Trigonométrie Partie 1 Contenu: Radian;
Animation de personnages Maya
Mouvement d'un point A à un point B
Les bases de la modélisation Primitives simples et CSG.
CHAPITRE III Calcul vectoriel
OUTILS MATHEMATIQUES POUR LES SII
Etude d’une colonne Erreur d’approximation
Les différents modèles
Pratiques éducatives et transmission des habiletés motrices
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.
Physique mécanique (NYA)
Résolution des équations différentielles
CHAPITRE III LE MODELE QUANTIQUE DE L'ATOME.
Biomécanique et réadapation
Cinématique de rotation
Géométrie et communication graphique
Pierre Joli Cours de Mathématique Pierre Joli
Pierre Joli Cours de Mathématique Pierre Joli
GEOMETRIE VECTORIELLE
Suivi de waypoints par un robot buggy autonome Fabrice LE BARS.
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 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...)