2 1 5 Rotations in 3 D Rotation


























- Slides: 26
2. 1. 5 Rotations in 3 D: Rotation axis 2 D: 3 D: • Angle • Center of rotation • Rotation axis In 3 dimensions, we need to specify angle and axis
Rotations around axes as direction cosines y 1 y 2 z 1= z 2 x 1
Rotation around x, y, z
Exercice 6 a): rotation by 90° around z, then rotation by 90° around y b): rotation by 90° around y, then rotation by 90° around z
Solution by matrix multiplication 6 a 6 b
Problem 7 a: Solution by an isometric drawing: z axis 90° z x y axis 90° y corresponds to 120° rotation around. [1, 1, 1]’ axis! 7 b y axis 90° z axis 90°
Rotation autour d’axes liés au corps 7 c y’ z axis 90° « Body frame » y’ axis 90°
Rotation autour d’axes lié au corps Body frame 7 d z’ y axis 90° z’ axis 90°
Ex. 8 Fig. 4
Passage Axe/Angle => Matrice de cos. dir. rotation d'un angle J autour de l'axe [x, y, z]T avec || [x, y, z]T|| = 1 (10) Benjamin Olinde Rodrigues 1795 – 1851
Ex. 8 1. solution: Formule (10) 2. solution:
Passage Matrice de cos. dir. => Axe/Angle From direction cosines to axis/angle: axis direction: (11)
Application de (11) à l’ex. 6 a) ex. 6 b)
Problèmes de (11) L’expression axe/angle de l'équation (11) présente deux défauts majeurs pour le traitement à l'ordinateur: 1. ) La solution n'est pas unique (racine pos. ou neg. ) 2. ) sin( )=0 mène à une singularité (axe non-défini) En pratique, il y aura une mauvaise condition numérique pour tout angle proche de 0 ou de 180° et une erreur pour ces deux cas!
Solution: Quaternions! Ces deux inconvénients disparaissent de façon élégante en employant les paramètres d'Euler*) ou quaternions ou paramètres de Rodrigues. Les quaternions sont employés en robotique industrielle. *) A ne pas confondre avec les angles d'Euler
Les quaternions sont une généralisation des nombres complexes. Après de longs et infructueux essais d'étendre l'interpretation géométrique des nb. complexes dans le plan (Argand, 1768 -1822, mathématicien genevois) aux 3 dimensions, Hamilton (1843) a trouvé les deux astuces nécessaires: 1. Il n'y aura pas deux, en plus de la partie réelle. 2. Il faut abandonner la commutativité de la multiplication. mais trois parties imaginaires,
Partie réelle, parties imaginaires Ces nouveaux nombres "hypercomplexes", contiennent une partie réelle scalaire 0 et trois parties imaginaires [ 1 2, 3]T qui sont interprétées comme partie vectorielle . le quaternion Q est donc le quadruple Q = { 0 , 1 2, 3} = { 0 , } (11 a)
Parties imaginaires: Généralisation de i = √(– 1) Q = { 0 , 1 2, 3} = 0 + i 1 + j 2 + k 3 (11 d) i 2 = j 2 = k 2 = ijk = – 1 ij = k = –ji jk = i = –kj ki = j = –ik (11 e) Non-Commutativité! (11 f)
Comment la rotation est-elle exprimée dans le quaternion? • L’axe de rotation est donnée par la partie vectorielle = [ 1 2, 3]T Q = { 0 , 1 2, 3} ={ 0 , }
Angle de rotation : 0 = cos( /2) | | = sin( /2) L’axe de rotation disparaît pour angles de rotation 0°, 360°, 720°… (11 b)
0 = cos( /2) (11 b) | | = sin( /2) Donc tous les quaternions de rotation sont unitaires: 02 + 12+ 22+ 2 = 1 a. k. a. Euler Parameters, Rodrigues Parameters (11 c)
i 2 = j 2 = k 2 = – 1 Les règles ij = k = –ji jk = i = –kj mènent au produit ki = j = –ik QMQL = { 0 , } = { 0 0 – T 0 + } (11 g) Ce produit définit l'enchaînement des rotations QL puis QM Exercice 8 b): Exercice 7 avec des quaternions.
Passage entre quaternions et matrice des cosinus directeurs = cos(q/2) ≥ 0
Effort de calcul Composition de rotations Mul. Matrices de rot. Quaternions 27 16 Add. & soustr. 18 12 total 45 28 Pour la rotation de vecteurs, il faut utiliser les matrices
2. 1. 6 Matrices homogènes 3 D Homogenous Matrices in 3 D (12) Une rotation autour d'un axe ne passant pas par l'origine se compose de la même façon que dans le cas 2 D: A rotation around an axis NOT through the origin is done as in 2 D: (13) avec le vecteur p de l'origine O à un point quelconque sur l'axe de rotation with vector p from origin O to any point on the rotation axis.
Rappel: Mouvement général 3 D: Vis (screw, Schraube) Recall from earlier lecture: The most general motion in 3 D is a screw Différence avec le cas 2 D: Le mouvement général en 3 D est équivalent à une rotation autour d'un axe plus une translation en direction de cet axe. A screw is a rotation around an axis plus a translation along this axis. Exercice 8 c: Trouver matrice de transformation menant les points A=[1 0 0]T , B=[0 0 0]T et C=[0 1 0]T vers A'=[1 0 1]T , B'=[1 – 1 1]T et C’=[0 – 1 1]T Axe, l'angle de rotation, la translation en direction de l'axe? (Hint: A drawing is much easier than trying to solve the equations)