Telechargé par lucrandriaoelison

Cours rob 1 2021 (1)

publicité
Robotique
Manipulation et commande
Université de Strasbourg
Telecom Physique Strasbourg, option ISAV
Master IRIV, parcours AR
Jacques Gangloff
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
08/10/12
[email protected]
2
Conventions
Ri
P
i
P
�v ou v
i
v
−−→
OP ou OP
i
(OP )
�u × �v
�u · �v
0
R01 ou R01
0
M01 ou M01
Repère numéro i
Point
Coordonnées de P dans le repère i
Vecteur
Coordonnées de �v dans le repère i
Vecteur
−−→
Coordonnées de OP dans le repère i
Produit vectoriel
Produit scalaire
Rotation du repère 0 vers le repère 1 exprimée dans 0∗
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 .
08/10/12
[email protected]
3
1. Positionnement
1.1. Rotations : le cas 2D
—
Représentation de la rotation :
y1
y0
y1
sin !
cos!
R1
! sin "
x1
x1
!
R0
x0
cos!
08/10/12
0
x1
# cos!
R01 = %
$ sin !
[email protected]
0
y1
" sin ! &
cos! ('
4
1. Positionnement
1.1. Rotations : le cas 2D
—
Propriétés :
# cos!
R01 = %
$ sin !
" sin ! &
2
2
)
det
R
=
cos
!
+
sin
! =1
{
}
01
(
cos! '
# cos!
)R =%
$ " sin !
"1
01
—
sin ! &
T
=
R
= R10
01
(
cos! '
Ce type de matrice 2x2 appartient au
groupe spécial orthogonal d’ordre 2 noté
SO(2)
08/10/12
[email protected]
5
1. Positionnement
1.1. Rotations : le cas 2D
—
Changement de repère :
!
y1 1 P #
#"
y
xP $ 0
&
1
y P &%
1
x1
1
yP
1
xP
!
!
1
P#
#"
xP $
&
1
y P &%
!
0
P#
#"
x P = 1 x P cos' ( 1 y P sin ' $
&
0
1
1
y P = x P sin ' + y P cos' &%
1
0
) 0 P = R01 1 P
x0
08/10/12
[email protected]
6
1. Positionnement
1.1. Rotations : le cas 2D
—
0
Opérateur de rotation :
y0
!
v!
!
v
!
! 1!
0!
0!
v ! = v = R10 v = R" v
!"
x0
y1
x1
08/10/12
[email protected]
7
1. Positionnement
1.1. Rotations : le cas 2D
—
Composition :
◦ Transformation de coordonnées :
1
P = R12 2 P
0
P = R01 1 P
R1
! P = R01 R12 P = R02 P
0
2
2
R2
R0
P
◦ Opérateur de rotation :
!
! !
!
v1 = R! v0 v2 = R! v1
1
2
!
!
" v2 = R! R! v0
2
!
v2
1
08/10/12
[email protected]
!2
! !1
v1
!
v0
R0
8
1. Positionnement
1.1. Rotations : généralisation à la 3D
—
Positionnement :
R01 =
(
0
x1
0
y1
det { R01 } = 1
0
z1
y0
)
y1
x1
R0
!1
R01
= RT01 = R10
R01 "SO(3)
R1
x0
z1
z0
08/10/12
[email protected]
9
1. Positionnement
1.1. Rotations : généralisation à la 3D
—
Changement de repère :
0
y0
P = R01 1 P
y1
P
R0
—
Composition :
1
P = R12 2 P
0
P = R01 P
1
x1
R1
x0
z1
z0
! 0 P = R01 R12 2 P = R02 2 P
08/10/12
[email protected]
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!
R( y ,! )
0
0
# c!
= R10 = %% 0
$ "s!
sin !
0 s!
1 0
0 c!
&
(
(
'
z1
!"
!
v
x0
R0
x1 R 1
z0
v ) = R10 0 v = R( y ,! ) 0 v
0
◦ Autres rotations élémentaires :
R( x ,! )
0
# 1 0
= % 0 c!
%
$ 0 s!
0
"s!
c!
&
(
(
'
R( z ,! )
0
# c!
= % s!
%
$ 0
08/10/12
"s!
c!
0
0
0
1
&
(
(
'
[email protected]
11
1. Positionnement
1.1. Rotations : généralisation à la 3D
—
Opérateur de rotation : cas
général
◦ Rotation de v autour de h d’un
angle θ :
◦ Méthode :
– Transformer v par une rotation
qui amène h sur x
z
– Faire la rotation de θ autour de x
– Faire la transformation inverse
pour ramener h à sa position
initiale
x
!
!
!
h
!
!
v
y
R( h,! ) = R( x," ) R( y, # ) R( x,! ) R( y,$# ) R( x,$" )
08/10/12
[email protected]
12
1. Positionnement
1.1. Rotations : généralisation à la 3D
—
Avec :
R( h,! )
—
Et :
# h2 v + c!
x !
%
= % hx hy v! + hz s!
%
% hx hz v! " hy s!
$
v! = 1" c!
hx hy v! " hz s!
hy2 v! + c!
hy hz v! + hx s!
h = # hx
%$
08/10/12
hy
hz &
('
hx hz v! + hy s! &
(
hy hz v! " hx s! (
(
hz2 v! + c! (
'
T
[email protected]
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
Pas commutatif : R01 R12 ! R12 R01
08/10/12
[email protected]
14
1. Positionnement
1.2. Représentations de la rotation : introduction
—
Soit R, une matrice de
rotation :
◦ R comprend 9 termes
◦ Il y a 6 relations
indépendantes entre ces
termes :
rx ! ry = 0 rx ! rz = 0 ry ! rz = 0
! r r
r13
11
12
#
R = # r21 r22 r23
#
#" r31 r32 r33
= !# rx ry rz
"
$
&
&
&
&%
$
&%
rx = ry = rz = 1
◦ Il n’y a donc que 3 termes
indépendants.
08/10/12
[email protected]
15
1. Positionnement
1.2. Représentations de la rotation : angle/axe
—
Paramétrage angle/axe :
– 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 θ.
!
h
!
) 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.
08/10/12
[email protected]
,
.
.
.
.
.
-
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 :
p = ! p0
"
!
%
& cos
2
"
p1
p2
%
sin hx
2
T
p3 # =
$
%
sin hy
2
#
%
sin hz '
2
$
T
◦ Avec : p = 1
08/10/12
[email protected]
17
1. Positionnement
1.2. Représentations de la rotation : angle/axe, exercice
—
Trouver le paramétrage angle/axe de la
rotation entre les repères R0 et R1 :
y0 y1
R0
z1
z0
08/10/12
x0
45°
x1
R1
[email protected]
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
(lacet, yaw) de R0.
R01 = R( z ,! ) R( y,! ) R( x,!
l
t
r)
◦ Il existe des définitions
alternatives des noms des
axes et/ou de la rotation
associée.
08/10/12
z
!l
x
!r
[email protected]
!t
y
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
l
l
t
%
(%
(%
R01 = % s! l c! l 0 ( % 0
1 0 ( % 0 c! r
%
( % "s! 0 c! ( % 0 s!
0
1 '$
t
t '$
r
$ 0
# 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
%
c! t s! r
c! t c! r
%$ "s! t
08/10/12
[email protected]
0 &
(
"s! r (
c! r (
'
&
(
(
(
('
20
1. Positionnement
1.2. Représentations de la rotation : roulis, tangage, lacet
—
Transformation inverse :
◦ Trouver θr , θt , θl à partir
des rij de la matrice R01
◦ On définit ! t = arcsin("r31 )
◦ D’où :
! r r
# 11 12
R01 = # r21 r22
#
#" r31 r32
r13 $
&
r23 &
&
r33 &
%
(
" r21 r11 %
* ! l = arctan 2
; '
$
# c! t c! t &
*
pour cos! t , 0
)
" r32 r33 %
*
* ! r = arctan 2 $# c! ; c! '&
t
t
+
08/10/12
[email protected]
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.
y
!r
y !!
x
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
08/10/12
[email protected]
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
!
z0 z a
zb z 1
08/10/12
[email protected]
23
1. Positionnement
1.2. Représentations de la rotation : angles d’Euler
—
Matrice de rotation :
# c! "s!
R01 = R0a Rab Rb1 avec R0a = %% s! c!
%$ 0
0
# 1 0
# c) 0 s) &
0
%
%
(
Rab = % 0 1 0 ( Rb1 = % 0 c* "s*
% 0 s* c*
% "s) 0 c) (
$
'
$
# c! c)
%
d'où : R01 = % s! c)
% "s)
$
c! s) s* " s! c*
s! s) s* + c! c*
c) s*
08/10/12
0
0
1
&
(
(
('
&
(
(
(
'
c! s) c* " s! s* &
(
s! s) c* " c! s* (
(
c) c*
'
[email protected]
24
1. Positionnement
1.2. Représentations de la rotation : angles d’Euler
—
! r r
# 11 12
R01 = # r21 r22
#
#" r31 r32
0
pour ! / ±
2
Transformation inverse :
! = arcsin("r31 )
$ r21
r11 '
# = arctan 2 &
;
% cos ! cos ! )(
$ r32
r33 '
* = arctan 2 &
;
% cos ! cos ! )(
+
,
.
r13 $
&
r23 &
&
r33 &
%
0
! = : # = 0 * = arctan 2(r12 ,r22 )
2
0
! = " : # = 0 * = " arctan 2(r12 ,r22 )
2
08/10/12
[email protected]
25
1. Positionnement
1.3. Attitude : définition
—
L’attitude du repère R1 par rapport au
repère R0 est définie par la translation
des
!!!!"
origines et par la rotation R01 : (O0O1 , R01 )
P
O1
O0
08/10/12
[email protected]
26
1. Positionnement
1.3. Attitude : représentation
—
Une attitude p (pose en anglais) est définie
de manière minimale par 6 paramètres : 3
pour la translation et 3 pour la rotation :
$
&
&
&
&
p=&
&
&
&
&
&%
Tx
Ty
Tz
!
"
#
'
)
)
)
)
)
)
)
)
)
)(
3 coordonnées de translation
3 coordonnées de rotation :
Angles d’Euler, angle/axe, …
08/10/12
[email protected]
27
1. Positionnement
1.3. Attitude : représentation
Une attitude peut aussi être représentée
par une matrice homogène.
— La matrice homogène est aussi :
—
– Un opérateur de changement de repère
– Un opérateur de transformation rigide
!
M 01 = #
#
#"
R01
0 0 0
0
$
O
O
( 0 1) &
&
1
&%
08/10/12
Matrice homogène de
transformation entre le
repère R0 et le repère R1
[email protected]
28
1. Positionnement
1.4. Matrices homogènes : changement de repère
—
On a :
0
P=
0
1
O
O
+
R
( 0 1 ) 01 P
P
O1
—
D’où :
O0
0
!
$ 1
! P $ #
R01
O0O1 ) & ! P $ ')
(
#
&=#
#
&(
&
1 % )*
1
" 1 % # 0 0 0
"
"!####"####$&%
0
Coordonnées
homogènes
M 01
08/10/12
[email protected]
29
1. Positionnement
1.4. Matrices homogènes : transformation rigide
La matrice homogène est un opérateur
de transformation rigide
— Un opérateur de transformation rigide
appliqué à tous les points d’un solide ne
déforme pas ce solide
— La matrice homogène applique une
transformation équivalente à la
composition d’une translation et d’une
rotation
—
08/10/12
[email protected]
30
1. Positionnement
1.4. Matrices homogènes : propriétés
—
Composition :
M 02 = M 01 M12
—
Inverse :
Opérateur de changement de repère de
coordonnées de points de R2 vers R0
! RT
! R T $
(1
M=#
&' M = #
" 0 1 %
" 0
—
( RT T $
&
1
%
Pas commutatif !
08/10/12
[email protected]
31
1. Positionnement
1.4. Matrices homogènes : exercice
x1
—
Soit le robot :
! = ! ( y0 , y1 )
" = ! ( y1 , x2 )
!
d
d = translation suivant z0
—
x0
z1
z0
!
y1
y0
y2
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
08/10/12
[email protected]
32
1. Positionnement
1.4. Matrices homogènes : exercice
—
Déterminer M01 , M12 puis M02
08/10/12
[email protected]
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
– M01(t) la matrice homogène
de transformation entre R0 et
R1 en fonction du temps
!
#
#"
! 1P
P(t) $
& = M 01 (t) #
#" 1
1 &%
! R (t) T (t)
01
M 01 (t) = # 01
1
#" 0
0
R1
$
$ ! 0 P(t)
! 1P
!
& = M! 01 (t) #
&'#
&% #" 1 &%
#" 1
$ 0
! = R! (t) 1 P + T! (t)
& ' P(t)
01
01
&% Vitesse de translation
R0
$
&
&%
(2.1)
de O1 dans R0
08/10/12
[email protected]
34
2. Cinématique
2.1.Vitesse d’un solide : exemple
—
Soient :
– P un point d’un solide lié à
R1 en mouvement par
rapport à R0
– Le mouvement est la
composition d’une
translation verticale de
vitesse v et d’une rotation
d’axe y0 et de vitesse ω .
Pour t=0 on a R1=R0 .
08/10/12
y1
z1
R1
y0
!
v
z0
! 1 $
#
&
1
P=# 0 &
x1 #" 0 &%
R0
[email protected]
x0
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ù :
#
%
0 !
P(t) = %
%
$
#
%
=%
%
$
" c(" t) & # 1
(%
0
0
0
(% 0
!" c(" t) 0 !" s(" t) (' %$ 0
& # 0 &
(+%
(
v
( %
(
(' %$ 0 ('
!" s(" t) 0
# 0
!" s(" t) &
( 0
%
!
v
)
P(0)
=
(
% v
%$ !"
!" c(" t) ('
08/10/12
&
(
(
('
[email protected]
36
2. Cinématique
2.2.Vecteur vitesse de rotation : définition
C’est un vecteur dont l’axe coïncide avec
l’axe de rotation, qui est dirigé suivant le
« principe du tire-bouchon » et dont la
norme est égale à la valeur de la vitesse
angulaire.
— Note :
—
– Dans l’exemple précédent, le vecteur vitesse de
rotation de R1 par rapport à R0 est dirigé suivant y0
et a pour norme ω.
08/10/12
[email protected]
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
P
v
vitesse de rotation Ω par
R1
R0
rapport à R0
!!!"
– On a : v = ! ! OP !sin"
!!!"
Vitesse de P dans le
– De plus : v ! OP,!
mouvement de R1 par
rapport à R0 exprimé
– Et le sens de v est celui de
dans R0
la règle des 3 doigts.
!!!"
– D’où : v = ! ! OP 0 v01P = 0 ! ! 0 (OP ) (2.2)
(
)
08/10/12
[email protected]
38
2. Cinématique
2.3.Vecteur vitesse de rotation : matrice anti-symétrique
—
On définit :
– Les vecteurs : a = !# ax a y az $&
"
%
– La matrice AS(.) :
" 0
$
AS(a) = $ az
$
$ !a y
#
—
D’où :
!az
0
ax
" a v !a v
z y
$ y z
AS(a)v = $ az vx ! ax vz
$
$ ax v y ! a y v x
#
T
v = !# vx
"
vy
vz $
&%
T
ay %
'
!ax '
'
0 '
&
%
'
' = a ( v ) 0 v01P = AS( 0 !)R01 1 P (2.3)
'
'
&
08/10/12
[email protected]
39
2. Cinématique
2.3. Mouvement rigide
—
Le repère R1 se déplace par rapport à R0
en translation et en rotation : on parle de
mouvement rigide. Eq. (2.3) devient :
0
O
v01P = AS( 0 !)R01 1 P + 0 v011
(2.4)
Vitesse de l’origine de R1
—
Si on compare (2.4) et (2.1) :
d
AS( !)R01 = R01
dt
0
08/10/12
[email protected]
40
2. Cinématique
2.3. Mouvement rigide : exercice
—
Mouvement de R1 par rapport à R0 :
– R0 et R1 ont leur origine commune,
– Les angles de roulis et tangage évoluent selon ωt
– L’angle de lacet est constant et nul
—
Question :
– Déterminer les coordonnées du vecteur vitesse de
rotation de R1 par rapport à R0
—
On a (définition de RTL) :
08/10/12
[email protected]
41
2. Cinématique
2.3. Mouvement rigide : exercice
—
D’où :
—
Et :
De plus :
— D’où :
—
08/10/12
[email protected]
42
2. Cinématique
2.4. Torseur cinématique
—
En robotique, on a l’habitude de définir le
torseur cinématique de la manière
suivante :
! 0 v O1
0
C 01 = # 0 01
# !
01
"
$
&
&
%
Vecteur 6x1 des coordonnées de vitesse
linéaire et angulaire de R1 par rapport à
R0 exprimées dans R0
08/10/12
[email protected]
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! + 0! = 0!
01
12
02
0
C 02 = # 0 O 0 O 0 O
# v 2+ v 2= v 2
01
12
02
"
$
&
&
%
Vitesse de O2 dans le
mouvement de 1 par rapport
à 0 en figeant le mouvement
de 2 par rapport à 1.
08/10/12
[email protected]
44
Téléchargement