Vous êtes sur la page 1sur 28

Chapitre 2 : Mathématiques pour la robotique

Robotique et Recalage 3-D


(Chapitre 2 : Mathématiques pour la robotique)

Christophe DOIGNON, Professeur

Télécom Physique Strasbourg et Laboratoire ICube,


Université de Strasbourg, France

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 1/ 56

Chapitre 2 : Mathématiques pour la robotique

Plan (1A)

Bibliographie
Avant-propos
Chapitre 1 : Introduction à la robotique (1A)
Chapitre 2 : Mathématiques pour la robotique (1A)
Rotations et équations trigonométriques
Cinématique du déplacement
Transformations géométriques homogènes
Recalage 3-D

Chapitre 3 : Géométrie et cinématique des robots (1A)

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 2/ 56
Chapitre 2 : Mathématiques pour la robotique

I. Introduction

I.1 Motivations et structure du chapitre

Le formalisme matriciel est un outil très pratique pour la robotique. Qu’il


s’agisse de la décomposition des déplacements de mécanismes, de repérer des
objets, de fournir des référentiels pour les données acquises par les capteurs,
pour réduire et regrouper les données, pour modéliser les cinématiques des bras
articulés par exemple..., l’algèbre linéaire est le support mathématique
communément employé. Il est donc indispensable de savoir le maı̂triser.
La section II présente des représentations de rotation et la résolution
d’équations trigonométriques. La cinématique du déplacement est rappelée en
section III. Enfin la section IV aborde les transformations géométriques
linéaires, sous la forme homogène et introduit le recalage.

Comment décrire toutes les


configurations géométriques observées
sur les figures a) et b) pour ce robot
plan à six articulations rotoı̈des ?

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 3/ 56

Chapitre 2 : Mathématiques pour la robotique

I. Introduction

I.2 Exemples

Rotation 2-D : entre les corps C0 et C1 , il y


a, au point O0 , une rotation d’angle θ1 d’axe  
~z1 , axe perpendiculaire au plan du transparent  
(~zi = ~xi ∧ ~
yi ).  
Dans le repère (R0 ) = (O0 , ~
x0 , ~
y0 , ~z0 ), les  
  C2
vecteurs ~ x1 et ~x2 s’expriment avec :    
       
~x1 = cos(θ1 ) ~x0 + sin(θ1 ) ~
y0 , C1
     
~
y1 = − sin(θ1 ) ~x0 + cos(θ1 ) ~
y0 .  
   
La matrice de rotation correspondante,  
Corps C0
exprimée dans ce repère (R0 ) est :
 
0 cos(θ1 ) − sin(θ1 )
R1 =
sin(θ1 ) cos(θ1 )

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 4/ 56
Chapitre 2 : Mathématiques pour la robotique

I. Introduction

I.2 Exemples

Translation 2-D : entre les corps C0 et C1 , il


y a, au point O1 , une rotation d’angle θ1 et  
une translation constante a1 selon ~x1 . Le  
−−−→
vecteur O0 O1 = t1 s’exprime donc ainsi :  
 
−−−→   C2
O0 O1 = a1 ~
x1    
       
= a1 cos(θ1 ) ~x0 + a1 sin(θ1 ) ~
y0
C1
     
ou bien sous forme matricielle :  
     
1 a1
t1 = dans(R1 ),  
0 Corps C0
 
0 cos(θ1 )
t1 = a1 = 0 R11 t1 dans(R0 ).
sin(θ1 )

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 5/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

Une rotation est une transformation géométrique linéaire qui conserve le


produit scalaire (donc les angles et les distances) : c’est une isométrie.
Elle peut être représentée de plusieurs manières, par exemple par une
matrice R, orthogonale, de dimensions (n × n) ayant un déterminant
positif :

Rotation R : R RT = RT R = In et det(R) = +1 (isométrie positive)

Rotation d’une célèbre double-hélice : la Rotation de la Terre sur elle-même (spin). un ensemble de trois cardans montés de façon
molécule d’ADN. à accorder 3 ddl.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 6/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

Rotation R de points dans un repère (noir, à gauche) : {Pi } :


Pi0 = R Pi . {Pi0 } sont les coordonnées des points transformés exprimées
dans le même repère (noir, à droite).
La figure formée par l’interconnexion de ces points est transformée.
D’autres transformations linéaires (autres que des rotations) auraient pu
suivre aussi ce même schéma.

{P} P’2 {P’}


P1 P’1
P2 Rotation
P’3
P4 P3 P’4
R

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 7/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

Rotation 0 R1 entre deux repères euclidiens (R0 ) et (R1 ) d’un ensemble


{Pi } de points immobiles dans le repère attaché à l’ensemble :
0 0
Pi = R 1 1 Pi .
{0 Pi } sont les (coordonnées des) points dans le repère (R0 ).
La figure formée par l’ensemble des points est référencée dans un autre
repère. Les seules transformations autorisées entre des repères euclidiens
directs (pour des solides) sont des transformations de déplacements : les
translations et les rotations.

1
1
P2 {1P}
P1
Rotation 1

(R0) (R1)
P3 (R1)
1
P4
0
R1
0
R1
(R0)

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 8/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

Un résultat issu de l’algèbre linéaire (connu sous le nom de transformation


de Cayley pour les matrices orthogonales) indique que pour toute matrice
(n × n) anti-symétrique S à coefficients réels, il existe une matrice
orthogonale R, de déterminant +1, donc une rotation, telle que :

R = (I − S) (I + S)−1

En dimension n = 2, une telle matrice anti-symétrique est définie par


seulement 1 paramètre, car elle peut se mettre sous la forme
   
0 tan(θ/2) cos(θ) − sin(θ)
S= → R=
− tan(θ/2) 0 sin(θ) cos(θ)

Par conséquent, en dimension 2, une rotation R est définie exactement


par un seul paramètre.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 9/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

En dimension n = 3, une matrice anti-symétrique est définie par


seulement 3 paramètres linéairement indépendants (sx , sy , sz ), car elle
peut se mettre sous la forme
 
0 −sz sy
S = [s]× =  sz 0 −sx  .
−sy sx 0

Par conséquent, en dimension 3, une rotation R est définie exactement


par trois paramètres linéairement indépendants.

En généralisant, en dimension n, une rotation est définie exactement par


n×(n−1)
2
paramètres.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 10/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.1 Introduction

Remarques :
Si à partir d’une matrice anti-symétrique S on peut trouver une
matrice de rotation R à partir de R = (I − S) (I + S)−1 , à l’inverse
la formule de Cayley permet de trouver une matrice anti-symétrique
S, sauf pour les rotations qui ont −1 comme valeur propre.
L’extension due à Weyl permet de considérer toutes les rotations.
Ainsi, toute matrice de rotation R peut s’exprimer à l’aide d’une
matrice anti-symétrique S à coefficients réels à partir de la formule :
2
R = (I − S) (I + S)−1 .

A part pour les rotations R ayant un nombre pair de valeurs propres


égales à −1, on peut toujours déterminer une matrice S à
coefficients réels et anti-symétrique telle que :

S = (I − R) (I + R)−1 .

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 11/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation matricielle
La matrice (3 × 3) de rotation R = rij est composée de 9 composantes
telles que |rij | ≤ 1 et quadratiquement dépendantes formant 3 colonnes
appelées cosinus directeurs :
 
r11 r12 r13
R =  r21 r22 r23  = (c1 , c2 , c3 ) .
r31 r32 r33

L’orthogonalité de R implique que les deux premières colonnes sont


unitaires et orthogonales (3 équations)

kc1 k2 = 2
r11 2
+ r21 2
+ r31 = 1 ; kc2 k2 = r12
2 2
+ r22 2
+ r32 =1 ;
cT1 c2 = r11 r12 + r21 r22 + r31 r32 = 0 ,

et la troisième colonne est le produit vectoriel (3 équations) des deux


premières, c3 = c1 ∧ c2 , dans cet ordre pour assurer que det(R) = +1.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 12/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation angle/axe
A partir du polynôme caractéristique d’une matrice (3 × 3) de rotation R :

det(λI − R) = −(λ − 1) [λ2 + (1 − T r(R)) λ + 1] = 0

on obtient les valeurs propres (en posant cos(α) = (T r(R) − 1)/2 ) :

λ1 = 1 et λ2,3 = cos(α) ± j sin(α) = e±jα .

La valeur propre λ1 = 1 est associée au vecteur propre u tel que R u = u,


c’est-à-dire l’ensemble des vecteurs qui sont invariants par cette rotation.
u porte la direction de l’axe de rotation de R. Il est choisi unitaire
(kuk = 1) car R u = u ne le définit qu’à un facteur près (2 paramètres).
α représente l’angle de rotation autour de l’axe porté par u (1 paramètre).
r = α u = (−α)(−u) est la représentation angle/axe de R. La norme
euclidienne de r fournit directement l’angle α (au signe près), donc définit
complètement cos(α).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 13/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation angle/axe
R u = u → R−1 R u = R−1 u = RT u = u → (R − RT ) u = 0.
u est donc aussi un vecteur propre de R − RT , matrice anti-symétrique
(3 × 3), donc de rang ≤ 2.
La formule de Rodrigues fait le lien entre le vecteur r = α u et la
matrice (3 × 3) orthogonale R. Il décompose tout vecteur v = v⊥ + vk en
une partie k à u et une partie perpendiculaire à u. Il aboutit à la relation
bien connue : ∀(v, v 0 ) : v 0 = R v,

v 0 = cos(α) v + sin(α) (u ∧ v) + (1 − cos(α)) u uT v

ce qui donne : R = cos(α) I + sin(α) [u]× + (1 − cos(α)) u uT


et :
2 sin(α)
R − RT = 2 sin(α) [u]× = [r]× = 2 sinc(α) [r]× .
α

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 14/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation angle/axe
Par conséquent, à partir d’une matrice de rotation R = rij , on a (si
l’angle α 6= ±π):  
r32 − r23
1  r13 − r31 
u=
2 sin(α)
r21 − r12
Par conséquent, à partir d’une matrice de rotation R = rij , on a (pour
tout angle α) r = α u qui vaut :
 
r32 − r23
1  r13 − r31 
r=
2 sinc(α)
r21 − r12

Sachant que u uT − I = [u]2× = [u]× [u]× , la formule de Rodrigues s’écrit


aussi : R = I + sin(α) [u]× + (1 − cos(α)) [u]2× . Le développement de
Taylor des fonctions sin(α) et cos(α) permet finalement d’exprimer très
simplement R en fonction de r = α u :
R = exp(α [u]× )

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 15/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les angles d’Euler


Il s’agit d’une succession de 3 rotations élémentaires appelées précession,
nutation et rotation propre ((R0 ) → (Ra ) → (Rb ) → (R1 )). Il existe
plusieurs conventions pour les angles d’Euler. Celle que nous retenons ici
est la convention Z − Y − Z. Elle est composée des rotations :
d’angle ψ (−π ≤ φ ≤ π) autour de z0 puis,
d’angle θ (0 ≤ θ ≤ π) autour de ya = R(z, ψ) y0 puis,
d’angle φ (−π ≤ φ ≤ π) autour de zb = R(z, ψ) R(y, θ) z0
et est illustrée ci-dessous :

   
       
   

     
   
     
   

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 16/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les angles d’Euler

cψ −sψ 0 cφ −sφ 0
     
cθ 0 sθ
R(z, ψ) =  sψ cψ 0  ; R(y, θ) =  0 1 0  ; R(z, φ) =  sφ cφ 0  ;
0 0 1 −sθ 0 cθ 0 0 1

La rotation complète est le produit R = R(z, ψ) R(y, θ) R(z, φ)


(attention à l’ordre !!)
 
cφ cθ cψ − sφ sψ −cφ cθ sψ − sφ cψ cφ sθ
R =  sφ cθ cψ + cφ sψ −sφ cθ sψ + cφ cψ sφ sθ 
−sθ cψ sθ sψ cθ

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 17/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les angles d’Euler


Quel que soit l’ordre des rotations choisi (il y en a 12 différents !), la
représentation d’une rotation par les angles d’Euler possède toujours une
singularité quand la première et la dernière rotation ont lieu selon la même
direction (blocage de Cardan ou gimbal lock). Cela se voit sur la
convention Z − Y − Z quand θ = 0o ou 180o .

A l’inverse, on peut extraire les angles d’Euler des composantes de


R = rij . Pour la convention Z − Y − Z, on a :
−r31 r32 r13 r23
θ = arccos(r33 ) ; ψ = arctan( , ) ; φ = arctan( , )
sin(θ) sin(θ) sin(θ) sin(θ)

Pour arctan(x, y) ci-dessus, de nombreux compilateurs intègrent une


fonction atan2(y,x) pour calculer l’arc tangente du rapport y/x dans
l’intervalle [−π, π]. Avec cette fonction, les signes de x et de y sont pris
en comptent pour déterminer le bon quadrant et gérer les singularités.
Dans ce cas, il faut prendre garde à l’ordre des arguments !!

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 18/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les quaternions


Un quaternion est un vecteur à 4 composantes, q = (s, v) ou quadruplet
qui peut représenter une similitude géométrique. s est un nombre réel et
v = (vx , vy , vz )T un vecteur à 3 composantes réelles. Par définition un
quaternion satisfait les propriétés suivantes :
multiplication par un scalaire : λ q = λ (s, v) = (λs, λv) , ∀ λ ∈ R.
addition :
q1 + q2 = (s1 + s2 , v1 + v2 ) , ∀ qi = (si , vi )
multiplication :
q1 q2 = (s1 s2 − v1T v2 , s1 v2 + s2 v1 + v1 ∧ v2 ) , ∀ qi = (si , vi )
conjuguaison :
q ? = (s , −v)
norme :
kqk2 = q q ? = s2 + kvk2 .

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 19/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les quaternions


Si kqk2 = 1, alors ce quaternion, dit unitaire, peut représenter une
rotation d’angle α autour d’un vecteur u = (ux , uy , uz )T , unitaire. Il
s’exprime alors par la décomposition suivante :
α α
q = (cos( ) , sin( ) u)
2 2

le conjugué q ? d’un quaternion unitaire q représente l’inverse de la


rotation. En effet, q −1 est défini par q −1 = q ? /kqk2 .
∀ v ∈ R3 , ṽ = (0, v) est le quaternion correspondant.
ṽ 0 = R v ⇔ ṽ 0 = q ṽ q ? .
ṽ 0 = R1 R2 v ⇔ ṽ 0 = (q1 q2 ) ṽ (q2? q1? ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 20/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les quaternions


Lien avec les angles d’Euler : Avec la convention Z − Y − Z, les trois
quaternions associés aux angles d’Euler sont

cos( ψ2 ) cos( θ2 ) cos( φ2 )


     
 0   0   0 
q = qψ qθ qφ avec qψ =   ; qθ =  θ
 ; qφ =  
 0   sin( ) 
2
 0 
ψ
sin( 2 ) 0 sin( φ2 )

cos( ψ2 ) cos( θ2 ) cos( φ2 ) cos( θ2 ) cos( ψ+φ


    
2
)
 − sin( ψ ) sin( θ )   0   sin( θ ) sin( ψ−φ ) 
q= 2 2  = 2 2 
 cos( ψ ) sin( θ )   0   sin( θ ) cos( ψ−φ ) 
2 2 2 2
ψ
θ
cos( 2 ) sin( 2 ) sin(φ/2) cos( θ2 ) sin( ψ+φ
2
)

α = 2 arccos(cos( θ2 ) cos( ψ+φ


2
))

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 21/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les quaternions


Lien avec les angles d’Euler : En notant q = (s, v) = (s, vx , vy , vz ) et
pour la convention Z − Y − Z, les trois angles d’Euler peuvent être
extraits des composantes du quaternion précédent. Ainsi, on montre que :

ψ = arctan(s, vz ) + arctan(vy , vx )
θ = arccos(s2 + z 2 − vx2 − vy2 )
φ = arctan(s, vz ) − arctan(vy , vx )

avec toujours arctan(x, y) correspondant à atan2(y,x) pour calculer


l’arc tangente de y/x sur [−π, π].

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 22/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.2 Rotation en 3-D

Représentation par les quaternions


Lien avec la représentation matricielle :
En notant toujours q = (s, v) = (cos( α2 ), vx , vy , vz ), on a :

2 (s2 + vx2 ) − 1 2 (vx vy − svz ) 2 (vx vz + svy )


 

R =  2 (vx vy + svz ) 2 (s2 + vy2 ) − 1 2 (vy vz − svx )  .


2 (vx vz − svy ) 2 (vy vz + svx ) 2 (s2 + vz2 ) − 1
Et à l’inverse, q peut être extrait de la représentation matricielle :

α = arccos( T r(R)−1
2
)
   
r32 − r23 r32 − r23
sin( α )
v = sin( α2 ) u = 2
2 sin(α)
 r13 − r31  = 1
4 cos( α )
 r13 − r31 
2
r21 − r12 r21 − r12

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 23/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Quand on étudie la cinématique des robots, on est souvent confronté à la


résolution d’équations non-linéaires. Il est possible dans certains cas de
linéariser localement (autour d’une configuration) les équations, mais dans
d’autres cas comme dans la modélisation géométrique inverse (MGI), la
résolution analytique de ces équations est nécessaire.
La grande majorité des robots étant constitué de liaisons rotoı̈des, les équations
non-linéaires rencontrées sont très majoritairement trigonométriques. Nous
allons étudier la résolution de certaines de ces équations qui souvent sont des
systèmes de plusieurs équations qui amènent à plusieurs solutions.
Les notations si et cj qui suivent correspondent à sin(qi ) et cos(qj ) et sont
inconnues. Les grandeurs notées en majuscules sont supposées connues. Tout
d’abord, en guise de formulaire, nous allons énoncer quelques identités
remarquables.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 24/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Formules trigonométriques
Soit a un nombre réel quelconque, alors :
−1 ≤ cos(a) ≤ 1 , − 1 ≤ sin(a) ≤ 1,
cos(−a) = cos(a) (fonc. paire) et sin(−a) = − sin(a) (fonc. impaire)
cos(a + π) = − cos(a) et cos(a + π/2) = − sin(a)
sin(a + π) = − sin(a) et sin(a + π/2) = cos(a)
tan(a) = sin(a)/ cos(a) et tan(−a) = − tan(a)

cos(a)2 + sin(a)2 = 1,
cos(a)2 − sin(a)2 = cos(2a) et 2 sin(a) cos(a) = sin(2a),
2 tan(a)
tan(2a) = 1+tan(a)2
.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 25/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Formules trigonométriques
Soient a et b des nombres réels quelconques, alors :
cos(a + b) = cos(a) cos(b) − sin(a) sin(b),
sin(a + b) = sin(a) cos(b) + sin(b) cos(a),
tan(a)+tan(b)
tan(a + b) = 1+tan(a) tan(b)
,

sin(a) + sin(b) = 2 sin( a+b


2
) cos( a−b
2
)
cos(a) + cos(b) = 2 cos( a+b
2
) cos( a−b
2
),
sin(a+b)
tan(a) + tan(b) = cos(a) cos(b)
.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 26/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Formules trigonométriques

Lois des cosinus (ou formules d’Al Kashı̂) :


B
Le carré d’un côté d’un triangle est égal à la
c a
somme des carrés des deux autres, diminuée h
du double produit de ces côtés par le cosinus A   C
de l’angle compris entre eux. En notant par  b
l’angle opposé au côté a du triangle ABC
(voir figure),les lois des cosinus s’écrivent ainsi
:

a2 = b2 + c2 − 2 bc cos(Â),
b2 = c2 + a2 − 2 ac cos(B̂),
c2 = a2 + b2 − 2 ab cos(Ĉ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 27/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Formules trigonométriques

Lois des sinus :


B
La loi des sinus est une relation de
c a
proportionnalité entre les longueurs des côtés h
d’un triangle et les sinus des angles A   C
respectivement opposés. En considérant le b
triangle ABC ci-contre et en notant par Â
l’angle opposé au côté a, la loi des sinus
s’exprime par :
a b c
sin(Â)
= sin(B̂)
= sin(Ĉ)
,

Ces deux lois sont bien utiles pour déterminer successivement les expressions
des variables articulaires du MGI (Modèle Géométrique Inverse).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 28/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type X = Z c , Y = Z s

Ce type d’équation (type 1) se résout très simplement. X, Y et Z sont


supposées connues et réelles et Z vérifie Z 2 = X 2 + Y 2 .


X = Z cos(q) Y /Z
→ = tan(q) → q = arctan(X, Y ) (Z 6= 0)
Y = Z sin(q) X/Z

arctan(x, y) correspond à atan2(y,x) pour calculer l’arc tangente de y/x


sur [−π, π].

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 29/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xs + Y c = Z
Pour ce type d’équation (type 2), deux cas sont à envisager :
Z = 0 : Xs = −Y c → q = arctan(−X, Y ) .

Z 6= 0 : en élevant au carré l’équation Y c = Z − Xs, on obtient un


polynôme en s (−1 ≤ s ≤ 1), dont les racines sont réelles si
(X 2 + Y 2 ≥ Z 2 ) :

Z X +  Y X2 + Y 2 − Z2
s= ( = ±1)
X2 + Y 2
En suivant la même démarche à partir de Xs = Z − Y c, on obtient :

Z Y −  X X2 + Y 2 − Z2
c= .
X2 + Y 2
Finalement : q = arctan(c, s) (2 solutions en fonction de ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 30/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xci + Y cij = Z1 ; Xsi + Y sij = Z2

Ce type d’équation où ci = cos(qi ), si = sin(qi ) et cij = cos(qi + qj ),


sij = sin(qi + qj ) est très courant pour des articulations i et j ayant des axes
parallèles. En élevant les deux équations au carré, on obtient :

X 2 c2i + Y 2 c2ij + 2XY ci cij = Z12


X 2 s2i + Y 2 s2ij + 2XY si sij = Z22

puis les additionnant :

2XY (ci cij + si sij ) = Z12 + Z22 − X 2 − Y 2


⇔ 2XY cj = Z12 + Z22 − X 2 − Y 2

(car ci = cos(qi ) = cos(−qi ) et si = sin(qi ) = − sin(−qi ) et


cos(qi + qj ) = cos(qi ) cos(qj ) − sin(qi ) sin(qj )).
Z12 +Z22 −X 2 −Y 2
q
On obtient : cj = 2XY
, puis qj = arctan(cj , sj = ± 1 − c2j ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 31/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xci + Y cij = Z1 ; Xsi + Y sij = Z2 (suite)

Il n’y a de solutions que si :


−1 ≤ cj ≤ 1 ⇔ Z12 + Z22 ≤ (X + Y )2 et Z12 + Z22 ≥ (X − Y )2 .

Il suffit ensuite de résoudre un système de 2 équations à 2 inconnues


comme suit :

Xci + Y (cj ci − sj si ) = Z1
Xsi + Y (cj si + sj ci ) = Z2

Soit :

B1 ci − B2 si = Z1 avec B1 = X + Y cj
B2 ci + B1 si = Z2 avec B2 = Y sj (1)

Et on obtient une équation du type 2 :

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 32/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xci + Y cij = Z1 ; Xsi + Y sij = Z2 (suite)

en additionnant : (B1 + B2 ) ci + (B1 − B2 ) si = Z1 + Z2 ,


si 2(B12 + B22 ) ≥ (Z1 + Z2 )2 .

ou en soustrayant : (B2 − B1 ) ci + (B1 + B2 ) si = Z2 − Z1 ,


si 2(B12 + B22 ) ≥ (Z2 − Z1 )2 .

Puis finalement une des deux équations (1) est utilisée pour retenir la
solution valide (valeur de ) pour chacune des deux valeurs de sj .

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 33/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xci + Y cij = Z1 ; Xsi + Y sij = Z2 (suite)

Exemple : le robot plan à 2 ddl


 
Notons par (x, y) les coordonnées du  
point O2 = E dans le repère (R0 ).  
D’après la figure ci-contre, on a :  
  C2
    
x = a1 cos(θ1 ) + a2 cos(θ1 + θ2 )        
y = a1 sin(θ1 ) + a2 sin(θ1 + θ2 ) C1
     
 
Quand on veut commander ce robot, on
   
s’intéresse au problème inverse :
 
comment déterminer (θ1 , θ2 ) quand Corps C0
(x, y) sont imposées ?

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 34/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.3 Equations trigonométriques

Equation du type Xci + Y cij = Z1 ; Xsi + Y sij = Z2 (fin)

Exercice : le robot plan à 2 ddl


 
A Faire avec Matlab  
 

x = a1 cos(θ1 ) + a2 cos(θ1 + θ2 )
 
y = a1 sin(θ1 ) + a2 sin(θ1 + θ2 )   C2
   
       
A.N. :
a1 = 2, a2 = 1, θ1 = 20o = 20 180
π
rad, C1
     
o π
θ2 = 25 = 25 180 rad.  
   
1) Déterminer (x, y) puis,
 
2) A partir de ce résultat, essayer de Corps C0

retrouver les valeurs des angles θ1 et θ2


(toutes les solutions).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 35/ 56

Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.4 Exercices

R = rij est une matrice de rotation de dimensions (3 × 3).


Montrer qu’à partir de la connaissance de la sous-matrice supérieure
gauche (2 × 2),  
r11 r12 ∗
R =  r21 r22 ∗ 
∗ ∗ ∗
- on peut déterminer l’angle de rotation θ (au signe près) de la
représentation angle/axe.
- il existe une relation mathématique entre r11 , r12 , r21 et r22 ,
- il n’existe que deux solutions pour la matrice R complète, en
fonction de r11 , r12 , r21 et r22 .
Est-il possible de trouver toutes les solutions pour une matrice de
rotation R à partir de la seule connaissance de r11 , r12 et r21 ?

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 36/ 56
Chapitre 2 : Mathématiques pour la robotique

II. Rotations et équations trigonométriques

II.4 Exercices

Etant donné la matrice sR suivante, matrice incomplète, qui doit


représenter une transformation d’échelle isotrope (s est un nombre réel
positif) suivie par une rotation R
 
3 2 ∗
sR =  −2 4 ∗ 
∗ ∗ ∗

Déterminer s2 , puis s et montrer qu’il n’existe qu’une seule solution


valide.
Déterminer complètement la matrice R. Existe-t-il plusieurs
solutions ?
On considère la représentation angle/axe d’une rotation. L’angle vaut 30o
et la direction de l’axe de rotation est la même que celle du vecteur
v = (1.4, −0.25, 0, 9)T . Normaliser v et fournir les valeurs des
composantes de la matrice (3 × 3) de rotation R.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 37/ 56

Chapitre 2 : Mathématiques pour la robotique

III. Cinématique du déplacement

III.1 Vitesse de rotation

La vitesse instantanée de rotation est définie à partir de la dérivée première


temporelle d’une matrice de rotation entre deux repères tournants.
Soient (Rf ) et (Rm ), deux repères euclidiens ayant la même origine, l’un
fixe (repère galiléen) et l’autre mobile, le repère (Rm ) ayant subi une
rotation δR par rapport à (Rf ), entre deux instants t et t0 , d’angle δα et
de direction u (représentation angle/axe). Alors la rotation infinitésimale
δR entre ces deux repères vaut I + δα [u]× durant δt = t0 − t, et est
égale à I + dα
dt
[u]× dt = I + dα [u]× quand δt → 0. [u]× est une matrice
anti-symétrique pour assurer, au premier ordre, l’orthogonalité de δR.

zm zf

ym
(Rm )

(Rf ) yf

xf
xm

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 38/ 56
Chapitre 2 : Mathématiques pour la robotique

III. Cinématique du déplacement

III.1 Vitesse de rotation

Par ailleurs, en dérivant la propriété d’orthogonalité R RT = I, il vient :


Ṙ RT + R ṘT = 0 = Ṙ RT + (Ṙ RT )T . On en déduit que la matrice
S = Ṙ RT est anti-symétrique puisque S + S T = 0.
Finalement, en introduisant le vecteur Ω = (Ωx , Ωy , Ωz ) pour former la
matrice S, il vient :
 
0 −Ωz Ωx
[Ω]× =  Ωz 0 −Ωy  = Ṙ RT .
−Ωx Ωy 0

Un tel vecteur Ω est appelé vitesse instantanée de rotation, dont l’unité


est le rad/s.
On a : Rt+dt ≈ Rt + Ṙt dt = (I + [Ω]× dt) Rt .
Exercice : Montrer qu’à partir de la représentation angle/axe r = α u
d’une rotation R et de l’expression R = e[α u]× : Ω = α̇ u + α u̇ = ṙ.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 39/ 56

Chapitre 2 : Mathématiques pour la robotique

III. Cinématique du déplacement

III.1 Vitesse de rotation

Remarques :
Comme u est un vecteur unitaire, u̇ est perpendiculaire à u.
A partir de l’expression Ω = α̇ u + α u̇, u̇ indique, avec 2 degrés de
liberté, une variation temporelle de la direction de l’axe de rotation,
alors que α̇, avec un degré de liberté, correspond à une variation
temporelle de l’angle de rotation pour une direction donnée.

Si la direction de rotation est fixe alors u̇ = 0 et Ω = dt
u.
Exemple
 : rotation
 selon
 l’axe z d’un angle θ :

0 0
dθ 
Ω=  0  = dt 0 .
Ωz 1

Exercice : Donner les expressions des composantes de la vitesse de


rotation Ωx , Ωy et Ωz en fonction des dérivées des vecteurs lignes riT de
la matrice de rotation R : RT = (r1 , r2 , r3 ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 40/ 56
Chapitre 2 : Mathématiques pour la robotique

III. Cinématique du déplacement

III.2 Composition des vitesses

Etant donné un point P de l’espace 3-D et deux repères orthonormés,


R0 = (O0 , ~x0 , ~
y0 , ~z0 ), repère galiléen, et R1 = (O1 , ~
x1 , ~
y1 , ~z1 ) repère en
mouvement de déplacement par rapport à (R0 ). Ce mouvement de
déplacement est caractérisé par une rotation 0 R1 et une translation 0 t1 ,
−−−→
vecteur reliant les origines O0 O1 . En considérant les coordonnées
inhomogènes pour P , celles-ci dans les deux repères sont liées par la
relation :
0
P = 0 R1 1 P + 0 t1 .
En dérivant cette expression, on obtient :
0 0
Ṗ = Ṙ1 1 P + 0
R1 1 Ṗ + 0
ṫ1 .

Le vecteur ṫ = v est la vitesse linéaire (ou de translation) du repère car il


correspond à la dérivée du vecteur reliant les origines. Ainsi 0 ṫ1 = 0 v1 est
la vitesse de translation de l’origine du repère (R1 ) par rapport à (R0 ).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 41/ 56

Chapitre 2 : Mathématiques pour la robotique

III. Cinématique du déplacement

III.2 Composition des vitesses

Comme on a vu précédemment que [Ω]× = Ṙ RT , il vient que


Ṙ = [Ω]× R, et on obtient :

0 0 0
Ṗ = Ω1 ∧ R1 1 P + 0
R1 1 Ṗ + 0
v1 .
on obtient la relation mathématique suivante, appelée loi de composition
des vitesses :
0 1 0 0
Ṗ = Ṗ + v1 + Ω1 ∧ [0 R1 1 P ]

Si le point P appartient à un objet rigide de repère de référence (R1 ),


alors P est fixe par rapport à (R1 ), et donc 1 Ṗ = 0. Finalement, en
0

v1
faisant apparaı̂tre le vecteur de dimension 6, 0 τ1 = 0 , appelé
Ω1
torseur cinématique, appliqué au point O1 , on a (vitesse d’entraı̂nement):
0 0
Ṗ = v 1 − [0 R 1 1 P ]× 0 Ω 1 = 0
v1 + [0 t1 −0 P ]× 0 Ω1 .

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 42/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.1 Espaces géométriques

Les espaces peuvent être classés selon une hiérarchie basée sur le type de
transformations géométriques qui les caractérisent. Pour les
transformations géométriques linéaires, la hiérarchie est la suivante :

Transformations
projectives

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 43/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.2 Coordonnées homogènes

Les coordonnées homogènes permettent de manipuler des transformations


géométriques, aussi bien dans l’espace euclidien, que dans l’espace affine
ou l’espace projectif. Dans l’expression utilisée précédemment
0
P = 0 R1 1 P + 0 t1 , on manipule des matrices et des vecteurs dans un
espace euclidien de dimensions 3, les coordonnées de P sont alors au
nombre de 3. Si l’on réécrit cette relation en faisant apparaı̂tre dans une
seule matrice la rotation 3-D et le vecteur de translation, cette matrice est
de dimension (4 × 4) :
 0
R1 0 t1
 0    1 
P P
≡ T
w0 03 1 w1

Ainsi les coordonnées euclidiennes (x, y, z) ont été étendues afin de passer
d’une relation inhomogène (présence d’un second membre) à une relation
homogène (sans second membre). Les coordonnées homogènes de P sont
alors (x, y, z, w) (0 P̃ = (x0 , y0 , z0 , w0 ) et 1 P̃ = (x1 , y1 , z1 , w1 )). La
dernière coordonnée homogène est nulle seulement si le point P se trouve
à l’infini.

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 44/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.2 Coordonnées homogènes

Les coordonnées homogènes ont plusieurs propriétés :


1 Dans un espace projectif de dimension 3, P3 , les coordonnées
homogènes (x, y, z, w) et λ (x, y, z, w) correspondent au même point
géométrique (avec λ 6= 0).
2 Dans un espace projectif de dimension n, Pn , les coordonnées
homogènes (x1 , x2 , ..., xn+1 ) et λ (x1 , x2 , ..., xn+1 ) correspondent
au même point géométrique (avec λ 6= 0).
3 Une base projective de Pn peut être constituée par (n + 2) points,
tout sous-ensemble de (n + 1) de ces points étant linéairement
indépendant.
4 Les points à l’infini de Pn sont des points dont la (n + 1)-ième
coordonnée homogène est nulle (p.e. (x, y, 0) pour n = 2).
5 Si la dernière coordonnée homogène est égale à 1, les autres
coordonnées forment les coordonnées inhomogènes (euclidiennes ou
affines).

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 45/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.2 Coordonnées homogènes

Si 0 R1 et 0 t1 sont respectivement une matrice de rotation 3-D et un


0
I3×3 0 t1

R 1 03
vecteur de translation 3-D, alors et sont les
0T3 1 0T3 1
transformations homogènes correspondantes (matrices (4 × 4)).
Une transformation géométrique linéaire entre deux espaces projectifs de
même dimension n peut être représentée par une transformation
homogène à l’aide d’une matrice de dimensions (n + 1) × (n + 1).
Une homographie est une transformation linéaire bijective d’un espace
projectif vers un autre espace projectif de même dimension. Elle est
représentée le plus souvent par une matrice carrée ayant un déterminant
non nul.
 
R t
Exercice : Si T = représente une transformation euclidienne,
0T3 1
comment s’exprime son inverse T −1 ?

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 46/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Transformations linéaires en dimension 1 : P = (x, w) ↔ Q = (x0 , w0 ).

P1
Q3
P2
Q1
P3 Q2

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 47/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Transformations linéaires en dimension 1 : P = (x, w) ↔ Q = (x0 , w0 ).


Espaces Degrés de liberté Représentations matricielles
(nb de points définissant une base) (coordonnées homogènes)

x0
     
1 tx x
Euclidien 1-D 1 (2) ≡
w0 0 1 w

x0
     
a11 a12 x
Affine 1-D et 2 (2) ≡
w0 0 1 w
Similitude 1-D

x0
     
h11 h12 x
Projectif 1-D 3 (3) ≡
w0 h21 h22 w
(homographie)

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 48/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Transformations linéaires en dimension 2 :

P = (x, y, w) ↔ Q = (x0 , y 0 , w0 ).
   
r11 r12 cos(θ) − sin(θ)
R= =
r21 r22 sin(θ) cos(θ)
det(R) = +1 , RT R = I2 .

P1 Q1
P2
Q4
Q2
P3 P4
Q3

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 49/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Espaces Degrés de liberté Représentations matricielles


(nb de points définissant une base) (coordonnées homogènes)

x0
     
r11 r12 tx x
Euclidien 2-D 3 (3, non colinéaires)  y0  ≡  r21 r22 ty   y 
w0 0 0 1 w

x0
     
s r11 s r12 tx x
Similitude 2-D 4 (3, non colinéaires)  y0  ≡  s r21 s r22 ty   y 
w0 0 0 1 w

x0
     
a11 a12 a13 x
Affine 2-D 6 (3, non colinéaires)  y0  ≡  a21 a22 a23   y 
w0 0 0 1 w

x0
     
h11 h12 h13 x
Projectif 2-D 8 (4, aucun triplet colinéaire)  y0  ≡  h21 h22 h23   y 
w0 h31 h32 h33 w
(homographie)

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 50/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Transformations linéaires en dimension 3 :

P = (x, y, z, w) ↔ Q = (x0 , y 0 , z 0 , w0 ).
 
r11 r12 r13
R =  r21 r22 r23  ; det(R) = +1 , RT R = I3 et
r31 r32 r33
t = (tx , ty , tz )T .

Q4

P1
Q5
P2
P5 Q3
Q1
P3
P4 Q2

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 51/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Espaces Degrés de liberté Représentations matricielles


(nb de points définissant une base) (coordonnées homogènes)

x0
 
x
 
y0
" #



 R t  y 
Euclidien 3-D 6 (4, non coplanaires) ≡
z0 0T
   



 1  z 
w
w0

x0
 
x
 
y0
" #



 sR t  y 
Similitude 3-D 7 (4, non coplanaires) ≡
z0 0T
   



 1  z 
w
w0

x0
 
a11 a12 a13 a14 x
   
y0
 
   a21 a22 a23 a24   y 
Affine 3-D 12 (4, non coplanaires) ≡
z0
     




 a31 a32 a33 a34   z 
0 0 0 1 w
w0

x0
 
h11 h12 h13 h14 x
   
y0
 
   h21 h22 h23 h24   y 
Projectif 3-D 15 (5, aucun quadruplet coplanaire) ≡
z0
     




 h31 h32 h33 h34   z 
h41 h42 h43 h44 w
w0
(homographie)

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 52/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Exemples de transformations linéaires 2-D : Transformation affine

Etant donné un point de l’espace2-D, de coordonnées


 homogènes
a11 a12 a13
(x, y, 0), la matrice (3 × 3) A =  a21 a22 a23 , on considère la
0 0 1
transformation géométrique suivante
  : 
x a11 x + a12 y
- Transformation affine : A  y  =  a21 x + a22 y .
0 0
Conclusion : un point à l’infini reste à l’infini !

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 53/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.3 Transformations géométriques linéaires

Exemples de transformations linéaires 2-D : Transformation projective

Etant donné un point de l’espace 2-D, de coordonnées


 homogènes
h11 h12 h13
(x, y, 0), la matrice (3 × 3) H =  h21 h22 h23 , on considère la
h31 h32 h33
transformation géométrique suivante
 :  
x h11 x + h12 y
- Transformation projective : H  y  =  h21 x + h22 y .
0 h31 x + h32 y
Conclusion : un point à l’infini ne reste pas (en général) à l’infini !

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 54/ 56
Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

IV.4 Exercices

Etant donné deux points de l’espace 1-D, de coordonnées homogènes


P1 = (8, −2) et P2 = (5, 5), et leurs correspondants (ou images) par
transformation euclidienne E, Q1 = (5, −1) et Q2 = (0, 2). Déterminer la
transformation E telle que Qi = E Pi (i = 1, 2).
Même question, mais maintenant avec une transformation affine.
Etant donné trois points dans un plan et dans un repère (R0 ), dont les
coordonnées homogènes sont P1 = (5, 3, 1), P2 = (−3, 3, −1) et
P3 = (1, −1, 2). Déterminer avec le logiciel Matlab, la matrice de la
transformation euclidienne E allant du repère (R0 ) vers un nouveau
repère (R1 ) afin que leurs images Qi par cette transformation
(Qi = E Pi , i = {1, 2, 3}) aient pour coordonnées homogènes
Q1 = (0, 0, 1), Q2 = (x2 , 0, 1) et Q3 = (x3 , y3 , 1) dans le repère (R1 ).
Que valent alors x2 , x3 et y3 ?

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 55/ 56

Chapitre 2 : Mathématiques pour la robotique

IV. Transformations géométriques homogènes

Christophe DOIGNON c.doignon@unistra.fr Robotique et Recalage 3-D (FIP TIS, édition 2017) 56/ 56