Manipulation et commande
Université de Strasbourg
Telecom Physique Strasbourg, option ISAV
Master IRIV, parcours AR
Chapitre 1 – Rappels de mécanique
Plan du chapitre
Conventions
1. Positionnement
◦ 1.1. Rotation
◦ 1.2. Décompositions de la rotation
◦ 1.3. Attitude
◦ 1.4. Matrice homogène
2. Cinématique
◦ 2.1.Vitesse d’un solide indéformable
◦ 2.2.Vecteur vitesse de rotation
◦ 2.3. Mouvement rigide
◦ 2.4. Torseur cinématique
11/02/17 jacques.gangloff@unistra.fr 2
Conventions
Ri Repère numéro i
P Point
i
P Coordonnées de P dans le repère i
v ou v Vecteur
i
v Coordonnées de v dans le repère i
⇤
OP ou OP Vecteur
i ⇤
(OP ) Coordonnées de OP dans le repère i
u⇥v Produit vectoriel
u·v Produit scalaire
0
R01 ou R01 Rotation du repère 0 vers le repère 1 exprimée dans 0⇤
0
M01 ou M01 Matrice homogène du repère 0 vers le repère 1 exprimée dans 0⇤
⇤
Si le nombre de repères dépasse 10, mettre un espace entre les 2 numéros
comme dans M12 13 .
11/02/17 jacques.gangloff@unistra.fr 3
1. Positionnement
1.1. Rotations : le cas 2D
Représentation de la rotation :
y1
y0
y1 x1
cosθ
sin θ x1
0 0
R1 θ x0 x1 y1
− sin θ R0 cosθ ⎛ cosθ − sin θ ⎞
R01 = ⎜
⎝ sin θ cosθ ⎟⎠
11/02/17 jacques.gangloff@unistra.fr 4
1. Positionnement
1.1. Rotations : le cas 2D
Propriétés :
⎛ cosθ − sin θ ⎞
R01 = ⎜
⎝ sin θ cosθ ⎠ ⎟ ⇒ det { R01 } = cos 2
θ + sin 2
θ =1
⎛ cosθ
−1 sin θ ⎞
⇒R =⎜ ⎟ = R T
= R10
⎝ − sin θ cosθ ⎠
01 01
11/02/17 jacques.gangloff@unistra.fr 5
1. Positionnement
1.1. Rotations : le cas 2D
Changement de repère :
⎛ 1
xP ⎞
1
P⎜ ⎟
⎛ y ⎜⎝ 1
y P ⎟⎠
1
xP ⎞ 0
y1 1 P ⎜ ⎟ ⎛
⎜⎝ 1
y P ⎟⎠
0
x P = 1 x P cosθ − 1 y P sin θ ⎞
0
P⎜ ⎟
x1 ⎜⎝ 0
y P = x P sin θ + y P cosθ ⎟⎠
1 1
1 1
yP xP ⇒ 0 P = R01 1 P
θ x0
11/02/17 jacques.gangloff@unistra.fr 6
1. Positionnement
1.1. Rotations : le cas 2D
y0
Opérateur de rotation :
v′ v
1 0 0 θ
0
v ′ = v = R10 v = Rθ v −θ x0
y1
x1
11/02/17 jacques.gangloff@unistra.fr 7
1. Positionnement
1.1. Rotations : le cas 2D
Composition :
◦ Transformation de coordonnées :
1
P = R12 2 P R1
0
P = R01 1 P
R2 R0
⇒ P = R01 R12 P = R02 P
0 2 2
P
◦ Opérateur de rotation : θ2
v2 θ1
v1 = Rθ v0 v2 = Rθ v1 v1
1
2
⇒ v2 = Rθ Rθ v0 v0
2 1
R0
11/02/17 jacques.gangloff@unistra.fr 8
1. Positionnement
1.1. Rotations : généralisation à la 3D
Positionnement : y0
R01 = ( 0
x1 0
y1 0
z1 ) y1
det { R01 } = 1 x1
−1
R01 = RT01 = R10 R0
x0
R01 ∈SO(3) R1
z1
z0
11/02/17 jacques.gangloff@unistra.fr 9
1. Positionnement
1.1. Rotations : généralisation à la 3D
y0
Changement de repère :
0
P = R01 1 P y1
x1
R0 P
x0
Composition : R1
z1
1
P = R12 2 P
z0
0
P = R01 P
1
11/02/17 jacques.gangloff@unistra.fr 10
1. Positionnement
1.1. Rotations : généralisation à la 3D
Opérateur de rotation : y0 y1
◦ Ex : rotation de v autour de y : θ
cosθ sin θ v
x0
⎛ cθ 0 sθ ⎞ z1 −θ R0
R( y ,θ ) = R10 = ⎜⎜ 0 1 0 ⎟
⎟
0 z0 x1 R 1
⎝ −sθ 0 cθ ⎠
0
v ′ = R10 0 v = R( y ,θ ) 0 v
0
Avec :
⎡ h 2 v + cθ hx hy vθ − hz sθ hx hz vθ + hy sθ ⎤
⎢ x θ
⎥
R( h,θ ) = ⎢ hx hy vθ + hz sθ hy 2 vθ + cθ hy hz vθ − hx sθ ⎥
⎢ ⎥
⎢ hx hz vθ − hy sθ hy hz vθ + hx sθ hz2 vθ + cθ ⎥
⎣ ⎦
T
Et : vθ = 1− cθ h = ⎡⎢ hx hy hz ⎤
⎥⎦
⎣
11/02/17 jacques.gangloff@unistra.fr 13
1. Positionnement
1.1. Rotations : résumé
Propriétés :
◦ Ortho-normalité :
La norme des vecteurs lignes et des vecteurs
colonne est égale à 1.
Les vecteurs ligne et les vecteurs colonne sont
orthogonaux deux à deux.
◦ L’inverse est égale à la transposée.
◦ Le déterminant est égal à 1.
◦ R02 = R01 R12 R( h ,θ )( h ,θ ) = R( h ,θ ) R( h ,θ )
1 1 2 2 2 2 1 1
11/02/17 jacques.gangloff@unistra.fr 15
1. Positionnement
1.2. Représentations de la rotation : angle/axe
Paramétrage angle/axe : h
Toute rotation peut être θ
représentée par un axe de
rotation défini par un vecteur
unitaire h autour duquel on
effectue une rotation θ.
⎡ r −r ⎤
⎢ 32 23 ⎥
⎛ r11 + r22 + r33 − 1⎞ 1 ⎢ r13 − r31 ⎥
θ = arccos ⎜ h=
⎝ 2 ⎟
⎠ 2sin θ ⎢ r − r ⎥
⎢ 21 12 ⎥
⎢ ⎥
Le vecteur θh définit entièrement ⎣ ⎦
la rotation.
11/02/17 jacques.gangloff@unistra.fr 16
1. Positionnement
1.2. Représentations de la rotation : quaternions
La
rotation est parfois représentée par un
quaternion unitaire :
T
◦ Soit : θ h = θ ⎡ hx hy hz ⎤
⎢⎣ ⎥⎦
◦ Le quaternion p équivalent est défini par :
T
p = ⎡ p0 p1 p2 p3 ⎤ =
⎣ ⎦
T
⎡ θ θ θ θ ⎤
⎢ cos sin hx sin hy sin hz ⎥
⎣ 2 2 2 2 ⎦
◦ Avec : p = 1
11/02/17 jacques.gangloff@unistra.fr 17
1. Positionnement
1.2. Représentations de la rotation : angle/axe, exercice
R0 x0
z1
45°
x1
z0 R1
11/02/17 jacques.gangloff@unistra.fr 18
1. Positionnement
1.2. Représentations de la rotation : roulis, tangage, lacet
Définition :
◦ 3 rotation successives
autour des axes x (roulis,
roll), y (tangage, pitch), et z z
(lacet, yaw) de R0. θl
11/02/17 jacques.gangloff@unistra.fr 19
1. Positionnement
1.2. Représentations de la rotation : roulis, tangage, lacet
Matrice de rotation :
⎡ cθ −sθ 0 ⎤ ⎡ cθ 0 sθ t ⎤ ⎡ 1 0 0 ⎤
⎢ l l
⎥⎢ t
⎥⎢ ⎥
R01 = ⎢ sθ l cθ l 0 ⎥ ⎢ 0 1 0 ⎥ ⎢ 0 cθ r −sθ r ⎥
⎢ ⎥ ⎢ −sθ 0 cθ ⎥ ⎢ 0 sθ cθ r ⎥
⎣ 0 0 1 ⎦⎣ t t ⎦⎣ r ⎦
⎡ cθ cθ −sθ cθ + cθ sθ sθ sθ l sθ r + cθ l sθ t cθ r ⎤
⎢ l t l r l t r
⎥
= ⎢ sθ l cθ t cθ l cθ r + sθ l sθ t sθ r −cθ l sθ r + sθ l sθ t cθ r ⎥
⎢ ⎥
⎢⎣ −sθ t cθ t sθ r cθ t cθ r ⎥⎦
11/02/17 jacques.gangloff@unistra.fr 20
1. Positionnement
1.2. Représentations de la rotation : roulis, tangage, lacet
11/02/17 jacques.gangloff@unistra.fr 21
1. Positionnement
1.2. Représentations de la rotation : roulis, tangage, lacet
π z
Cas singulier : θ t = ±
2 y′
◦ Roulis et lacet ont le même effet. θr
◦ Gimbal lock en anglais. θr y
x y ′′
y ′′′ θ l
π ⎧⎪r12 = sin(θ r − θ l ) r13 = cos(θ r − θ l ) x ′′
θt = ⇒ ⎨
2 ⎪⎩r22 = cos(θ l − θ r ) r23 = sin(θ l − θ r )
On choisit θ l = 0 ⇒ θ r = arctan 2 ( r12 ,r22 )
π
θt = − : θ l = 0 ⇒ θ r = − arctan 2 ( r12 ,r22 )
2
11/02/17 jacques.gangloff@unistra.fr 22
1. Positionnement
1.2. Représentations de la rotation : angles d’Euler
Principe :
◦ Faire trois rotations successives d’angle α, β, γ
autour des axes z, y et x du repère courant.
ya yb y0
y1 γ
xb x1
xa
α
x0
β
zb z 1
z0 z a
11/02/17 jacques.gangloff@unistra.fr 23
1. Positionnement
1.2. Représentations de la rotation : angles d’Euler
Matrice de rotation :
⎡ cα −sα 0 ⎤
R01 = R0a Rab Rb1 avec R0a = ⎢⎢ sα cα 0 ⎥⎥
⎢⎣ 0 0 1 ⎥⎦
⎡ c β 0 sβ ⎤ ⎡ 1 0 0 ⎤
⎢ ⎥ ⎢ ⎥
Rab = ⎢ 0 1 0 ⎥ Rb1 = ⎢ 0 cγ −sγ ⎥
⎢ −sβ 0 cβ ⎥ ⎢ 0 sγ cγ ⎥
⎣ ⎦ ⎣ ⎦
⎡ cα cβ cα sβ sγ − sα cγ cα sβ cγ + sα sγ ⎤
⎢ ⎥
d'où : R01 = ⎢ sα cβ sα sβ sγ + cα cγ sα sβ cγ − cα sγ ⎥
⎢ −sβ cβ sγ cβ cγ ⎥
⎣ ⎦
11/02/17 jacques.gangloff@unistra.fr 24
1. Positionnement
1.2. Représentations de la rotation : angles d’Euler
O1
O0
11/02/17 jacques.gangloff@unistra.fr 26
1. Positionnement
1.3. Attitude : représentation
⎡ ⎤
( 0 1) ⎥
0
R01 O O Matrice homogène de
M 01 = ⎢ transformation entre le
⎢ 1 ⎥ repère R0 et le repère R1
⎢⎣ 0 0 0 ⎥⎦
11/02/17 jacques.gangloff@unistra.fr 28
1. Positionnement
1.4. Matrices homogènes : changement de repère
On a: ( 0 1 ) 01 P
0
0
P= O O + R 1
P
O1
D’où : O0
⎡ ⎤ 1
( O0O1 ) ⎥ ⎡ P ⎤ ⎫⎪
0
⎡ P ⎤ ⎢
0 R01 Coordonnées
⎢ ⎥=⎢ ⎥ ⎢ ⎥⎬ homogènes
⎣ 1 ⎦ ⎢ 0 0 0 1 ⎣ 1 ⎦ ⎪⎭
⎣⎥⎦
M 01
11/02/17 jacques.gangloff@unistra.fr 29
1. Positionnement
1.4. Matrices homogènes : transformation rigide
Composition :
Opérateur de changement de repère de
M 02 = M 01 M12 coordonnées de points de R2 vers R0
Inverse :
⎡ R T ⎤ −1
⎡ RT − RT T ⎤
M=⎢ ⎥⇒ M = ⎢ ⎥
⎣ 0 1 ⎦ ⎣ 0 1 ⎦
Pas commutatif !
11/02/17 jacques.gangloff@unistra.fr 31
1. Positionnement
1.4. Matrices homogènes : exercice
z1
x1 β
Soit le robot :
α
α = ( y0 , y1 ) x0 y1 y2
z0
β = ( y1 , x2 ) d
y0
d = translation suivant z0 z2
x2
Avec :
a1 la distance entre l’origine de R0 et celle de R1
a2 la longueur du premier bras
a3 la longueur du dernier bras
Les angles sont nuls lorsque le bras est horizontal
11/02/17 jacques.gangloff@unistra.fr 32
1. Positionnement
1.4. Matrices homogènes : exercice
11/02/17 jacques.gangloff@unistra.fr 33
2. Cinématique
2.1.Vitesse d’un solide : introduction
Soient : P
R1 un repère lié à un solide O1
en mouvement par rapport à
un repère R0
R1 R0
M01(t) la matrice homogène
de transformation entre R0 et
R1 en fonction du temps
⎡ P(t) ⎤
0 ⎡ 1P ⎤ ⎡ 0 P(t) ⎤ ⎡ 1P ⎤
⎢ ⎥ = M 01 (t) ⎢ ⎥⇒⎢ ⎥ = M 01 (t) ⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
⎡ R (t) T (t) ⎤ 0
M 01 (t) = ⎢ 01 01 = R (t) 1 P + T (t)
⎥ ⇒ P(t) (2.1)
01 01
⎢⎣ 0 1 ⎥⎦ Vitesse de translation
de O1 dans R0
11/02/17 jacques.gangloff@unistra.fr 34
2. Cinématique
2.1.Vitesse d’un solide : exemple
Soient : y1
P un point d’un solide lié à ⎡ 1 ⎤
R1 en mouvement par ⎢ ⎥
1
P=⎢ 0 ⎥
rapport à R0 R1 x1 ⎢⎣ 0 ⎥⎦
z1
Le mouvement est la y0
composition d’une
ω
translation verticale de v
vitesse v et d’une rotation R0 x0
z0
d’axe y0 et de vitesse ω .
Pour t=0 on a R1=R0 .
11/02/17 jacques.gangloff@unistra.fr 35
2. Cinématique
2.1.Vitesse d’un solide : exemple
On a:
⎡ c(ω t) 0 s(ω t) ⎤ ⎡ 0 ⎤
⎢ ⎥ ⎢ ⎥
R01 (t) = ⎢ 0 1 0 ⎥ T01 (t) = ⎢ vt ⎥
⎢ −sω t 0 cω t ⎥ ⎢⎣ 0 ⎥⎦
⎣ ⎦
D’où :
⎡ −ω s(ω t) 0 ω c(ω t) ⎤ ⎡ 1 ⎤ ⎡ 0 ⎤
0 ⎢ ⎥⎢ ⎥+⎢ ⎥
P(t) = ⎢ 0 0 0 ⎥⎢ 0 ⎥ ⎢ v ⎥
⎢ −ω c(ω t) 0 −ω s(ω t) ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎥⎦
⎣
⎡ −ω s(ω t) ⎤ ⎡ 0 ⎤
⎢ ⎥ 0 ⎢ ⎥
=⎢ v ⎥ ⇒
P(0) = ⎢ v ⎥
⎢ −ω c(ω t) ⎥⎦ ⎢⎣ −ω ⎥⎦
⎣
11/02/17 jacques.gangloff@unistra.fr 36
2. Cinématique
2.2.Vecteur vitesse de rotation : définition
11/02/17 jacques.gangloff@unistra.fr 37
2. Cinématique
2.2.Vecteur vitesse de rotation : application
Application :
Ω
Trouver la vitesse du point ω
P lié au repère R1 qui θ
tourne suivant un vecteur O
vitesse de rotation Ω par P v
R1
R0
rapport à R0
On a : v = Ω ⋅ OP ⋅sinθ
(
De plus : v ⊥ OP,Ω ) Vitesse de P dans le
mouvement de R1 par
Et le sens de v est celui de rapport à R0 exprimé
la règle des 3 doigts. dans R0
D’où : v = Ω × OP 0 v01P = 0 Ω × 0 (OP ) (2.2)
11/02/17 jacques.gangloff@unistra.fr 38
2. Cinématique
2.3.Vecteur vitesse de rotation : matrice anti-symétrique
On définit : T T
Les vecteurs : a = ⎡⎢ ax a y az ⎤⎥ v = ⎡⎢ vx vy vz ⎤
⎥⎦
⎣ ⎦ ⎣
La matrice AS(.) :
⎡ 0 −az ay ⎤
⎢ ⎥
AS(a) = ⎢ az 0 −ax ⎥
⎢ ⎥
⎢ −a y ax 0 ⎥
⎣ ⎦
D’où :
⎡ a v −a v ⎤
⎢ y z z y
⎥
AS(a)v = ⎢ az vx − ax vz ⎥ = a × v ⇒ 0 v01P = AS( 0 Ω)R01 1 P (2.3)
⎢ ⎥
⎢ ax v y − a y v x ⎥
⎣ ⎦
11/02/17 jacques.gangloff@unistra.fr 39
2. Cinématique
2.3. Mouvement rigide
Vitesse de l’origine de R1
Si on compare (2.4) et (2.1) :
d
AS( Ω)R01 = R01
0
dt
11/02/17 jacques.gangloff@unistra.fr 40
2. Cinématique
2.3. Mouvement rigide : exercice
11/02/17 jacques.gangloff@unistra.fr 41
2. Cinématique
2.3. Mouvement rigide : exercice
D’où :
Et :
De plus :
D’où :
11/02/17 jacques.gangloff@unistra.fr 42
2. Cinématique
2.4. Torseur cinématique
11/02/17 jacques.gangloff@unistra.fr 43
2. Cinématique
2.5. Composition des vitesses
Soient :
0
C 01 le torseur cinématique de R1 par rapport à R0
1
C12 le torseur cinématique de R2 par rapport à R1
Loi de composition :
⎡ 0 v O2 + 0 v O2 = 0 v O2 ⎤
0
C 02 = ⎢ 0 01 0 12 0 02 ⎥
⎢ Ω + Ω = Ω ⎥
⎣ 01 12 02 ⎦
Vitesse de O2 dans le
mouvement de 1 par rapport
à 0 en figeant le mouvement
de 2 par rapport à 1.
11/02/17 jacques.gangloff@unistra.fr 44