• Aucun résultat trouvé

Robotique Manipulation et commande

N/A
N/A
Protected

Academic year: 2022

Partager "Robotique Manipulation et commande"

Copied!
44
0
0

Texte intégral

(1)

Robotique

Manipulation et commande

Université de Strasbourg

Telecom Physique Strasbourg, option ISAV Master IRIV, parcours AR

Jacques Gangloff

(2)

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

(3)

Conventions

Ri Rep`ere num´ero i

P Point

iP Coordonn´ees de P dans le rep`ere i

v ou v Vecteur

iv Coordonn´ees de v dans le rep`ere i

−−→OP ou OP Vecteur

i(OP) Coordonn´ees de −−→

OP dans le rep`ere i

u ×v Produit vectoriel

u ·v Produit scalaire

0R01 ou R01 Rotation du rep`ere 0 vers le rep`ere 1 exprim´ee dans 0

0M01 ou M01 Matrice homog`ene du rep`ere 0 vers le rep`ere 1 exprim´ee dans 0

Si le nombre de rep`eres d´epasse 10, mettre un espace entre les 2 num´eros comme dans M12 13.

(4)

1. Positionnement

1.1. Rotations : le cas 2D

—  Représentation de la rotation :

x1

y1

x0

y0

sin! cos!

!sin" cos!

! R0

R1

x1

y1

R01 = cos! "sin! sin! cos!

#

$%

&

'(

0

x1 0 y1

(5)

1. Positionnement

1.1. Rotations : le cas 2D

—  Propriétés :

—  Ce type de matrice 2x2 appartient au

groupe spécial orthogonal d’ordre 2 noté SO(2)

R01 = cos! "sin! sin! cos!

#

$%

&

'( ) det

{ }

R01 = cos2! + sin2! = 1

) R"011 = cos! sin!

"sin! cos!

#

$%

&

'( = RT01 = R10

(6)

1. Positionnement

1.1. Rotations : le cas 2D

—  Changement de repère :

x0 y0

x1 y1

1xP

1P

1xP

1yP

!

"

##

$

%

&

&

1P

1xP

1yP

!

"

##

$

%

&

&

0P

0xP = 1xP cos' ( 1yP sin'

0 yP = 1xP sin' + 1yP cos'

!

"

##

$

%

&

&

) 0P = R011P

1yP

!

(7)

1. Positionnement

1.1. Rotations : le cas 2D

—  Opérateur de rotation :

x0 y0

!

v!

!! v

y1

x1

!"

0v!! = 1v! = R10 0v! = R" 0v!

(8)

1. Positionnement

1.1. Rotations : le cas 2D

—  Composition :

◦  Transformation de coordonnées :

◦  Opérateur de rotation :

R0 R1

R2 P

1P = R12 2P

0P = R011P

! 0P = R01R12 2P = R02 2P

R0

!1

!2 v!0 v!1 v!2

v!1 = R!

1

v!0 v!2 = R!

2

v!1

" v!2 = R!

2R!

1

v!0

(9)

1. Positionnement

1.1. Rotations : généralisation à la 3D

—  Positionnement :

R0

R1

x1 y1

z1

x0 y0

z0 R01 =

(

0x1 0 y1 0z1

)

det

{ }

R01 = 1 R01!1 = RT01 = R10 R01 "SO(3)

(10)

1. Positionnement

1.1. Rotations : généralisation à la 3D

—  Changement de repère :

—  Composition :

R0

R1

x1 y1

z1

x0 y0

z0

P

0P = R011P

1P = R12 2P

0P = R011P

! 0P = R01R12 2P = R02 2P

(11)

1. Positionnement

1.1. Rotations : généralisation à la 3D

—  Opérateur de rotation :

◦  Ex : rotation de v autour de y :

◦  Autres rotations élémentaires :

!

!"

v!

R0

R1

x0 y0

z0 x1 y1

z1 R(y

0,!) = R10 =

c! 0 s!

0 1 0

"s! 0 c!

#

$

%%

&

' ((

0v =) R10 0v = R(y

0,!) 0v

cos! sin!

R(x

0,!) = 1 0 0

0 c! "s! 0 s! c!

#

$

%%

&

'

(( R(z

0,!) = c! "s! 0 s! c! 0

0 0 1

#

$

%%

&

' ((

(12)

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

–  Faire la rotation de θ autour de x

–  Faire la transformation inverse pour ramener h à sa position initiale

! !

h v!

!

! x

y z

R(h,!) = R(x,")R(y,#)R(x,!)R(y,$#)R(x,$")

(13)

1. Positionnement

1.1. Rotations : généralisation à la 3D

—  Avec :

—  Et :

R(h,!) =

hx2v! + c! hxhyv! " hzs! hxhzv! + hys! hxhyv! + hzs! hy2v! + c! hyhzv! " hxs! hxhzv! " hys! hyhzv! + hxs! hz2v! + c!

#

$

%%

%%

&

' (( ((

v! =1" c! h = # hx hy hz

$% &

'(

T

(14)

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.

◦ 

◦  Pas commutatif :

R02 = R01R12 R(h

1,!1)(h2,!2) = R(h

2,!2)R(h

1,!1)

R01R12 ! R12R01

(15)

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 :

◦  Il n’y a donc que 3 termes indépendants.

R =

r11 r12 r13 r21 r22 r23 r31 r32 r33

!

"

##

##

$

%

&

&

&

&

= ! rx ry rz

"# $

%&

rx !ry = 0 rx !rz = 0 ry !rz = 0 rx = ry = rz = 1

(16)

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 θ.

–  Le vecteur θh définit entièrement la rotation.

! h!

! = arccos r11 + r22 + r33 "1 2

#

$%

&

'( h = 1

2sin!

r32 " r23 r13 " r31 r21 " r12 )

* ++ ++ +

,

- .. .. .

(17)

1. Positionnement

1.2. Représentations de la rotation : quaternions

—  La rotation est parfois représentée par un quaternion unitaire :

◦  Soit :

◦  Le quaternion p équivalent est défini par :

◦  Avec :

!h = ! " hx hy hz

#$ %

&'

T

p = ! p0 p1 p2 p3

" #

$

T =

cos%

2 sin%

2 hx sin%

2 hy sin% 2 hz

!

"

& #

$'

T

p = 1

(18)

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 :

x0

z0

y0

45° x1 z1

y1 R0 R1

(19)

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.

◦  Il existe des définitions alternatives des noms des axes et/ou de la rotation associée.

x y

z !l

!r !t R01 = R(z,!

l)R(y,!

t)R(x,!

r)

(20)

1. Positionnement

1.2. Représentations de la rotation : roulis, tangage, lacet

—  Matrice de rotation :

R01 =

c!l "s!l 0 s!l c!l 0

0 0 1

#

$

%%

%

&

' (( (

c!t 0 s!t

0 1 0

"s!t 0 c!t

#

$

%%

%

&

' (( (

1 0 0

0 c!r "s!r 0 s!r c!r

#

$

%%

%

&

' (( (

=

c!lc!t "s!lc!r + c!ls!ts!r s!ls!r + c!ls!tc!r s!lc!t c!lc!r + s!ls!ts!r "c!ls!r + s!ls!tc!r

"s!t c!ts!r c!tc!r

#

$

%%

%%

&

' (( ((

(21)

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

◦  D’où :

R01 =

r11 r12 r13 r21 r22 r23 r31 r32 r33

!

"

##

##

$

%

&

&

&

&

!t = arcsin("r31)

!l = arctan 2 r21

c!t ; r11 c!t

"

#$

%

&'

!r = arctan 2 r32

c!t ; r33 c!t

"

#$

%

&' (

)

**

+

**

pour cos!t , 0

(22)

1. Positionnement

1.2. Représentations de la rotation : roulis, tangage, lacet

—  Cas singulier :

◦  Roulis et lacet ont le même effet.

◦  Gimbal lock en anglais.

!t = ± "

2

x y

z

!l

!r y!

!!

!ry

!!

xy!!!

!t = "

2 # r12 = sin(!r $!l) r13 = cos(!r $!l) r22 = cos(!l $!r ) r23 = sin(!l $!r )

%&

' ('

On choisit !l = 0 #!r = arctan 2

(

r12,r22

)

!t = $ "

2 : !l = 0 #!r = $arctan 2

(

r12,r22

)

(23)

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.

z0

x0 y0

xa ya

za

! yb

xb

! y1 !

zb z1

x1

(24)

1. Positionnement

1.2. Représentations de la rotation : angles d’Euler

—  Matrice de rotation :

R01 = R0aRabRb1 avec R0a = c! "s! 0 s! c! 0

0 0 1

#

$

%%

%

&

' (( ( Rab =

c) 0 s)

0 1 0

"s) 0 c)

#

$

%%

%

&

' (( (

Rb1 =

1 0 0

0 c* "s* 0 s* c*

#

$

%%

%

&

' (( ( d'où : R01 =

c!c) c!s)s* " s!c* c!s)c* " s!s* s!c) s!s)s* + c!c* s!s)c* " c!s*

"s) c)s* c)c*

#

$

%%

%

&

' (( (

(25)

1. Positionnement

1.2. Représentations de la rotation : angles d’Euler

—  Transformation inverse :

R01 =

r11 r12 r13 r21 r22 r23 r31 r32 r33

!

"

##

##

$

%

&

&

&

&

! = arcsin("r31)

# = arctan 2 r21

cos! ; r11 cos!

$

%&

' ()

* = arctan 2 r32

cos! ; r33 cos!

$

%&

' ()

+

, -- -

. -- -

pour ! / ± 0 2

! = 0

2 : # = 0 * = arctan 2(r12,r22)

! = " 0

2 : # = 0 * = "arctan 2(r12,r22)

(26)

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 :

(

O! "!!!0O1,R01

)

O0

O1

P

(27)

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, …

(28)

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

M01 = R01 0

(

O0O1

)

0 0 0 1

!

"

##

#

$

%

&

&

&

Matrice homogène de transformation entre le repère R0 et le repère R1

(29)

1. Positionnement

1.4. Matrices homogènes : changement de repère

—  On a :

—  D’où : O0

O1

0P = 0

(

O0O1

)

+ R011P P

0P 1

!

"

# $

%& = R01 0

(

O0O1

)

0 0 0 1

!

"

##

#

$

%

&

&

&

M01

!####"####$

1P 1

!

"

# $

%&' ()

*)

Coordonnées homogènes

(30)

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

(31)

1. Positionnement

1.4. Matrices homogènes : propriétés

—  Composition :

—  Inverse :

—  Pas commutatif !

M02 = M01M12 Opérateur de changement de repère de coordonnées de points de R2 vers R0

M = R T

0 1

!

"

# $

%& ' M (1 = RT (RTT

0 1

!

"

# $

%&

(32)

1. Positionnement

1.4. Matrices homogènes : exercice

—  Soit le robot :

—  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 d

!

x1 z1 ! y1 x0 z0

y0

x2 y2 z2

! = !

(

y0, y1

)

" = !

(

y1,x2

)

d = translation suivant z0

(33)

1. Positionnement

1.4. Matrices homogènes : exercice

—  Déterminer M01 , M12 puis M02

(34)

2. Cinématique

2.1. Vitesse d’un solide : introduction

—  Soient :

–  R1 un repère lié à un solide en mouvement par rapport à un repère R0

–  M01(t) la matrice homogène de transformation entre R0 et R1 en fonction du temps

P

R1 R0

0P(t) 1

!

"

##

$

%&

& = M01(t) 1P

1

!

"

##

$

%&

&' 0P(t! )

1

!

"

##

$

%&

& = M! 01(t) 1P 1

!

"

##

$

%&

&

M01(t) = R01(t) T01(t)

0 1

!

"

##

$

%&

&' 0P(t! ) = R!01(t)1P+T!01(t) (2.1)

Vitesse de translation de O dans R

O1

(35)

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 .

R1

1P =

1 0 0

!

"

##

#

$

%

&

&

&

x1 z1

y1

R0 x0 z0

y0

! v

(36)

2. Cinématique

2.1. Vitesse d’un solide : exemple

—  On a :

—  D’où :

R01(t) =

c(!t) 0 s(!t)

0 1 0

"s!t 0 c!t

#

$

%%

%

&

' ((

( T01(t) =

0 vt 0

#

$

%%

%

&

' (( (

0P(t! ) =

!"s("t) 0 "c("t)

0 0 0

!"c("t) 0 !"s("t)

#

$

%%

%

&

' (( (

1 0 0

#

$

%%

%

&

' (( (

+ 0

v 0

#

$

%%

%

&

' (( (

=

!"s("t) v

!"c("t)

#

$

%%

%

&

' ((

() 0P(0)! =

0 v

!"

#

$

%%

%

&

' (( (

(37)

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 ω.

(38)

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 vitesse de rotation Ω par rapport à R0

–  On a :

–  De plus :

–  Et le sens de v est celui de la règle des 3 doigts.

–  D’où :

! !

R1 R0

P v O

v = ! ! OP! "!!

!sin"

!

v ! OP! "!!

,!

( )

v = !!OP! "!!

0v01P = 0!! 0(OP) (2.2)

Vitesse de P dans le mouvement de R1 par rapport à R0 exprimé dans R0

Références

Documents relatifs

– Si les contacts du syst` eme avec son support se font sans glissement et si les liaisons internes sont parfaites, il est judicieux d’appliquer le th´ eor` eme de l’´ energie

On remarque ici que le bateau est en TRU donc le r´ ef´ erentiel associ´ e au bateau est

-Remarque : Le moment d’un couple de force ne dépend pas de la position de l’axe de rotation mais seulement de la distance des deux

Lorsqu’un solide est animé par un mouvement de rotation autour d’un axe fixe, les points du solide (hors de l’axe). décrivent une trajectoire circulaire et dans

1- Définition : le mouvement de rotation d’un solide autour d’un axe fixe est dit uniforme si sa vitesse angulaire ω de ce mouvement reste inchangé au cours du temps :

Démontrer que dans un triangle acutangle ABC,la somme des distances du point de Fermat (1) aux trois sommets est égale au double de la médiane AM issue du sommet A si et seulement

On applique au disque immobile un couple de forces de moment M constant , le disque effectue alors un mouvement de rotation autour de l’axe (∆)1. Au bout d’une minute la

Introduction Mouvement de rotation d’un solide autour d’un axe fixe allal Mahdade Introduction Abscisse angulaire, vitesse angulaire et accélération angulaire Relation fondamentale