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
LE CALCUL LITTÉRAL AU COLLÈGE
Corrélations et ajustements linéaires.
Techniques d’identification paramétrique appliquées à la dynamique véhicule Gentiane Venture 13 mars 2003.
La fonction de Patterson
II ) RÉVISION : MOMENTS ET COUPLES
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
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
Le point le plus près Montage préparé par : André Ross
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 loi des signes.
La droite dans R2 Montage préparé par : André Ross
Droites et plans, positions relatives
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
Représentation des systèmes dynamiques dans l’espace d’état
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
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.
3.1 DÉTERMINANTS (SUITE) Cours 6.
2.1.7 Variables robot – Joint Variables
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 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
Voici les mouvements de Mars et de la Terre dans le référentiel héliocentrique Sens de rotation LE SOLEIL MARS LA TERRE.
Les mouvements sur la Sphère
Chapitre 4ABC Mécanique Cinématique du point
Potentiel électrostatique
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;
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
Les différents modèles
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.
Physique mécanique (NYA)
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
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 q4 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

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!

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 q2 P3 P2 L2 Li: Link length ai: Twist angle Distance de Pi à Pi': Joint offset Di L1 P2' q1 P1 Joint prismatique: Di devient variable, qi fixe

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

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 exprimée en quaternions (angle/axe) en matrice de cosinus directeurs 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 possibles 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 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 (liés au corps) body-fixed Fig 10) p. 12

Poignet cardanique: Fig. 13 P 14 Roulis (roll) j aut. axe z, direction d'approche = q6 tangage (pitch) J aut. axe y = q4 lacet (yaw) y aut. axe x = q5 Angles d'Euler (x,y,z), axes fixes x q5 Cardanic wrist q6 z q4 y

Angles d’Euler: Blocage de cardan z q6 x q5 q4 q5 = ± π/2 y Alignement de deux axes, perte d’un ddl (Gimbal lock)

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 =

j = Atan2(±r21,±r11) y = Atan2(±r32,±r33) Solution: Signes négatifs pour p/2 < J < 3p/2 (Sciavicco, Siciliano, p32,33)

2.1.9 MGI Tâche pratique: Quelles variables pour qi un P donné? P(qi) x y z 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)

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

Lefty, up righty, up Lefty, down righty, down

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ées q1, q2, q3, (x, y) f q3 q1 q2 MGD: Données q1, q2, q3, Quels sont (x, y, f) ?

Solutions:

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 Robots hybrides: Difficile dans les deux cas Ces questions sont objet de recherche en robotique. (publications, conférences...)