• Aucun résultat trouvé

Matrices homogènes

N/A
N/A
Protected

Academic year: 2022

Partager "Matrices homogènes"

Copied!
24
0
0

Texte intégral

(1)

UPJV, Département EEA M1 EEAII

Parcours ViRob

Fabio MORBIDI

Laboratoire MIS

Équipe Perception Robotique E-mail: fabio.morbidi@u-picardie.fr

Mardi 9h00-12h00, Mercredi 13h30-16h30, Salle 8

(2)

Plan du cours

Chapitre 1 : Introduction

1.1 Définitions

1.2 Constituants d’un robot 1.3 Classification des robots 1.4 Caractéristiques d’un robot 1.5 Générations de robots

1.6 Programmation des robots 1.7 Utilisation des robots

Chapitre 2 : Fondements Théoriques

2.1 Positionnement

•  Matrices de rotation et représentations de l’orientation

•  Matrices homogènes

(3)

Plan du cours

Chapitre 3 : Modélisation d’un Robot

2.2 Cinématique

•  Vitesse d’un solide

•  Vecteur vitesse de rotation

•  Mouvement rigide

•  Torseur cinématique

3.1 Modèle géométrique

•  Convention de Denavit-Hartenberg

•  Modèle géométrique direct

•  Modèle géométrique inverse 3.2 Modèle cinématique

•  Modèle cinématique direct

•  Modèle cinématique inverse 3.3 Modèle dynamique

(4)

solide repère fixe

Pour décrire la pose d’un solide dans l’espace 3D, on a besoin de connaître:

•  [Translation] Position d’un point sur le solide (O’) par rapport au repère fixe

•  [Rotation] Composants des vecteurs unitaires du repère attaché au solide avec origine O’, par rapport au repère fixe (attitude ou orientation du solide)

O-xyz

Matrices homogènes

(5)

•  P : point générique dans l’espace 3D

•  , : coordonnées du point P par rapport au repère 0 et 1

•  : vecteur qui décrit l’origine du repère 1par rapport au repère 0

p0 p1 o01

Repère 0

Repère 1

Soit:

Matrices homogènes

(6)

•  On peut écrire la position du point P par rapport au repère 0 comme:

p

0

= o

01

+ R

01

p

1 Transformation de coordonnées

(translation + rotation) d’un vecteur entre le repère 1 et le repère 0

Matrices homogènes

Repère 0

Repère 1

(7)

Matrices homogènes

•  La présence conjointe de produits et de sommes dans l'équation:

est peu pratique pour effectuer des calculs systématiques, dûs par exemple à des changements successifs de repère. On lui préfère une représentation

matricielle, basée sur les coordonnées homogènes

•  La représentation en coordonnées homogènes consiste à doter toute notation vectorielle d'un facteur d'échelle, en introduisant une coordonnée supplémentaire

p0 = o01 + R01 p1

Alors la représentation du point P à l'aide de

coordonnées homogènes est faite par:

p =

a bc

a = x

w, b = y

w, c = z w

.

•  Soit par exemple un point P de l'espace, rapporté à un repère fixe, donné par:

p =

⎢⎢

xy z

⎥⎥

(8)

•  Pour avoir une représentation compacte de la relation entre les coordonnées du même point P dans deux repères, nous utilisons donc la représentation homogène suivante:

p = p 1

On rajoute une 4ième coordonnée, de valeur égale à 1, au vecteur

Matrices homogènes

“tilde”

p

•  En pratique, on choisit un facteur d'échelle unitaire (à savoir )

p

w = 1

(9)

•  Si on utilise cette représentation pour les vecteurs et , on peut écrire la transformation de coordonnées en utilisant une seule matrice 4 × 4:

•  Puisque et , la matrice appartient au groupe spécial euclidien de dimension 3:

p0 p1

A01 = R01 o01 01×3 1

Matrice de

transformation homogène

o01 R3 R01 SO(3) A01

SE(3) = R3 × SO(3)

•  La pose du repère 1 par rapport au repère 0 est définie par le couple:

(o

01

, R

01

)

Nous avons 6 paramètres: 3 définissant la translation et 3 définissant la rotation (par ex. les angles de roulis-tangage-lacet)

Matrices homogènes

(10)

Exemple 1 (Rotation simple autour de l’axe z)

y1

x1

O1 z0

y0

x0

O0

x1

O1

z0

y0 O0

z1

α

Exemple 2 (Translation simple) y

1

z1

o01

A

01

=

R

z

(α) 0

3×1

0

1×3

1

A

01

=

I

3

o

01

0

1×3

1

Matrices homogènes

(11)

•  La transformation d’un vecteur du repère 1 au repère 0 est exprimée par une seule matrice qui contient la matrice de rotation du repère 1 par rapport au repère 0 et le vecteur de translation de l’origine du repère 0 à l’origine du repère 1:

•  La transformation inverse entre le repère 0 et le repère 1 est décrite par la matrice qui vérifie l’équation:

Matrices homogènes

p

0

= A

01

p

1

A10

p1 = A10 p0 = (A01)−1 p0

•  En utilisant les propriétés des matrices partitionnées*, on trouve que:

(A01)−1 = (R01)T −(R01)To01 01×3 1

= R10 −R10 o01 01×3 1

*Remarque

M =

A B

C D

Rmn×mn, M−1 =

(A BD−1C)−1 −A−1B(D CA−1B)−1

−1 −1 −1 −1 −1

(12)

Attention: les matrices homogènes ne satisfont pas la propriété d’orthogonalité. En conséquence, en général:

En conclusion:

•  Une matrice homogène permet d’exprimer la transformation

de coordonnées entre deux repères génériques sous forme compacte

A

−1

= A

T

•  Si les repères ont la même origine, la matrice homogène

se réduit à la matrice de rotation définie précédemment (voir l’Exemple 1)

•  Comme pour les matrices de rotation, on peut composer une

séquence de transformations de coordonnées grâce au produit matriciel:

p0 = A01 A12 · · · An−1n pn

Ai−1i est la matrice de transformation qui met en rélation la déscription d’un point dans le repère avec la

déscription du même point dans le repère i i 1

Matrices homogènes

(13)

Plan du cours

Chapitre 1 : Introduction

1.1 Définitions

1.2 Constituants d’un robot 1.3 Classification des robots 1.4 Caractéristiques d’un robot 1.5 Générations de robots

1.6 Programmation des robots 1.7 Utilisation des robots

Chapitre 2 : Fondements Théoriques 2.1 Positionnement

•  Matrices de rotation et représentations de l’orientation

(14)

Plan du cours

Chapitre 3 : Modélisation d’un Robot

2.2 Cinématique

•  Vitesse d’un solide

•  Vecteur vitesse de rotation

•  Mouvement rigide

•  Torseur cinématique

3.1 Modèle géométrique

•  Convention de Denavit-Hartenberg

•  Modèle géométrique direct

•  Modèle géométrique inverse 3.2 Modèle cinématique

•  Modèle cinématique direct

•  Modèle cinématique inverse 3.3 Modèle dynamique

(15)

•  Soit une matrice de rotation variable dans le temps

• Si on calcule la derivée par rapport au temps, nous trouvons (règle de la derivée du produit):

Cinématique

•  Grâce à la propriété d’orthogonalité de la matrice , on a que:

•  Soit

Elle est une matrice antisymétrique. En effet:

R(t)

R(t)RT(t) = I3

R(t)˙ RT(t) + R(t) ˙RT(t) = 03×3

S(t) R(t)˙ RT(t)

S(t) + ST(t) = 03×3

•  Si on multiplie à droite chaque côté de l’équation précédente par

on trouve: R(t)

R(t) =˙ S(t) R(t)

Ainsi on a écrit la derivée de la matrice de rotation en fonction

R = R(t)

(16)

Interpretation physique

• La derivée par rapport au temps de est:

•  Soit un vecteur constant et

•  Si le vecteur est la vitesse angulaire (ou de rotation) du repère

par rapport au repère “fixe” au temps , nous savons de la mécanique que:

•  Donc l’opérateur décrit le produit vectoriel entre le vecteur et le vecteur

•  Les éléments de symétriques par rapport à la diagonale principale répresentent les composants du vecteur:

p p(t) = R(t)p p(t)

p(t) = ˙˙ R(t)p = S(t)R(t)p

ω(t) R(t)

˙

p(t) = ω(t) × R(t)p

S(t) ω

R(t)p S(t)

ω = [ωx, ωy, ωz]T t

Cinématique

(17)

qui justifie l’expression:

S =

⎢⎣

0 −ωz ωy

ωz 0 −ωx

−ωy ωx 0

⎥⎦

S(t) = S(ω(t))

•  On peut donc réécrire l’équation précédente:

R˙ = S(ω)R

C’est-à-dire:

Cinématique

Interpretation physique

(18)

Exemple

On considère la matrice de rotation élémentaire autour de l’axe z.

Si l’angle , on trouve que: α = α(t)

Donc

ω =

0 0

˙ α

qui exprime la vitesse angulaire du repère autour de l’axe z S(t) = ˙Rz(α(t))RTz (α(t))

=

α˙ sinα α˙ cosα 0

˙

αcosα α˙ sinα 0

0 0 0

cosα sinα 0

sinα cosα 0

0 0 1

=

0 α˙ 0

˙

α 0 0

0 0 0

= S(ω(t)) z

x y

Cinématique

(19)

•  La transformation de coordonnées d’un point P entre les repères 0 et 1 est:

•  Si on calcule la dérivée par rapport au temps de cette expression, on trouve:

Repère 0

Repère 1

p0 = o01 + R01 p1

˙

p0 = ˙o0 + R0 p˙1 + ˙R0 p1

Mouvement rigide

Cinématique

(20)

•  Si on utilise l’expression de la dérivée d’une matrice et on spécifie la dépendance à l’égard de la vitesse angulaire, on trouve que:

Repère 0

Repère 1

˙

p0 = ˙o01 + R01 p˙ 1 + S(ω01)R01 p1

•  Enfin, si on note le vecteur , nous concluons que: r01

˙

p0 = ˙o0 + R0 p˙ 1 + ω0 × r0

R01 p1

Cinématique

Mouvement rigide

(21)

Cas particulier: Si est fixé par rapport au repère 1, on trouve que:

Repère 0

Repère 1

car

˙

p0 = ˙o01 + ω01 × r01 p1

˙

p1 = 0

Cinématique

Mouvement rigide

(22)

•  P est un point d’un solide

en mouvement par rapport au repère 0

•  Le repère 1 est attaché au solide

•  Le mouvement du repère 1

par rapport au repère 0 est le suivant:

1.  Translation de vitesse suivant y0

2.  Rotation de vitesse autour de y0 3.  Pour , repère 0 repère 1 Exemple

On a que:

z1

y1

x1 O1

z0

y0

x0 O0

p1 = [1, 0, 0]T

ω

v v

ω

R01(t) =

cos(ωt) 0 sin(ωt)

0 1 0

sin(ωt) 0 cos(ωt)

, o01 =

0 vt

0

p˙0(t) = ˙o01(t) + ˙R01(t)p1 =

0 v

+

−ωsin(ωt) 0 ωcos(ωt)

0 0 0

1 0

=

−ωsin(ωt) v

˙

p0(0) =

0, v, −ωT Noter que

P

, p˙1 = 0

t = 0

Solide

Cinématique

(23)

Soit le repère 0 fixe et le repère 1 attaché à un solide.

Le torseur cinématique décrivant le mouvement du solide par rapport au repère 0 est défini par:

Définition (torseur cinématique)

Cas particuliers:

1) Si , alors le torseur est une rotation pure atour d’un axe, et le torseur devient: o˙01 = 0

2) Si , c’est-à-dire le solide ne tourne pas mais il glisse dans la direction uniquement, alors le torseur devient: ω01 = 0

o˙01

Cinématique

z1

y1

x1 O1

z0

y0

x0 O0

Solide

V o01 × ω01 + ˙o01 ω01

R6

V = o01 × ω01 ω01

V = o˙01

(24)

Vocabulaire anglophone

•  Torseur : screw

• Le torseur cinématique permet de représenter de façon pratique le champ des vitesses d'un solide indéformable en un instant donné

•  Le torseur cinématique décrit la cinématique du solide, indépendamment des causes du mouvement

•  Torseur cinématique : twist

•  Torseur statique ou d’action (nous avons ici la force et le moment exercés par un solide sur un autre): wrench

The Theory of Screws (1876) Robert Stawell Ball

(1840-1913)

Cinématique

•  De façon similaire à la composition de matrices homogènes, pour les torseurs il existe la loi de composition des mouvements

Remarques

Références

Documents relatifs

Une des fa¸ cons les plus simples est de rendre solidaire du solide une tige cylindrique termin´ ee par deux cˆ ones et plac´ ee entre deux cˆ ones creux plus ´ evas´ es ; il n’y

La valeur de τ donnée dans l’énoncé correspond à la valeur de la durée de la chute libre supposée commencer lorsque le bord de la tartine est en O, avec

Les points du solide situés sur l'axe de rotation sont immobiles. Les autres points décrivent des arcs de cercle ou des cercles centrés sur l'axe de rotation. Pendant la durée Δ

[r]

Montrer que pour faire tourner la vis, il faut que la composante tangentielle de la force de frottement dépasse une valeur limite F l1 que l’on exprimera en fonction de µ s et

Le théorème de l’énergie cinétique appliqué au solide en rotation donne dE dt c = P ou P est la puissance des forces appliquées au manège et donc la puissance fournie par le

•  [Rotation] Composants des vecteurs unitaires du repère attaché au solide avec origine O’, par rapport au repère fixe (l’attitude du solide)...

•  [Rotation] Composants des vecteurs unitaires du repère attaché au solide avec origine O’, par rapport au repère fixe..