• Aucun résultat trouvé

Matrices homogènes

N/A
N/A
Protected

Academic year: 2022

Partager "Matrices homogènes"

Copied!
25
0
0

Texte intégral

(1)

UPJV, Département EEA

M1 3EA, Parcours RoVA, EC15

Fabio MORBIDI

Laboratoire MIS

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

Lundi 14h00-16h30 (CM ou TD, salle CURI 305) Lundi 14h00-17h00 (TP, salle TP204)

(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 autres représentations de l’orientation

•  Transformations homogènes

(3)

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

Plan du cours

(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

O-xyz

Introduction

(5)

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

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

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

•  : matrice de rotation du repère 1 par rapport au repère 0

p0 p1 o01 R01

Repère 0

Repère 1

Soit:

Introduction

(6)

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

p0 = o01 + R01 p1 Transformation de coordonnées d’un vecteur entre le repère 1 et le repère 0 Repère 0

Remarque: Ce type de transformation conserve les distances.

On parle donc de transformation ou de mouvement de corps rigide

Repère 1

Introduction

(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

.

•  Soit par exemple P un point dans l’espace 3D de coordonnées:

p =

xy wz

avec w = 0

x = wa, y = wb, z = wc

(8)

•  Pour avoir une représentation compacte de la relation entre les coordonnées du même point P dans deux repères, on utilise donc la représentation

homogène suivante:

p = p 1

On rajoute une 4e coordonnée de valeur égale à 1 au vecteur

Matrices homogènes

“tilde”

p

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

p R3

(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:

•  Comme 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:

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

(o

01

, R

01

)

Notation: on utilisera les symboles ou pour indiquer une matrice homogène A T

Matrices homogènes

(10)

Exemple 1 (Rotation pure autour de l’axe )

y1

x1

O1

z0

y0

x0

O0

x1

O1

z0

y0 x0

O0

z1

α

Exemple 2 (Translation simple) y1 z1

o01

A01 =

Rz(α) 03×1

01×3 1

A01 =

I3 o01 01×3 1

Matrices homogènes

z

(11)

Exemple 1 (Rotation pure autour de l’axe )

y1

x1

O1

z0

y0

x0

O0

x1

O1

z0

y0 x0

O0

z1

α

Exemple 2 (Translation simple) y1 z1

o01

A01 =

Rz(α) 03×1

01×3 1

A01 =

I3 o01 01×3 1

Matrices homogènes

z

Exemple 3 (Rotation et translation)

A01 = Rz(α) o01 01×3 1

O1

z0

y0 x

O0

z1

o01

y1

x1

α

(12)

•  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:

p0 = A01 p1

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

M =

A B C D

Rmn×mn, M−1 =

(ABD−1C)−1 −A−1B(DCA−1B)−1

−D−1C(ABD−1C)−1 (DCA−1B)−1

A Rm×m, D Rn×n sont deux matrices inversibles

Matrices homogènes

Si

(13)

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

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

à la matrice de rotation (4 × 4) 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 relation la description d’un point dans le repère avec la

description du même point dans le repère i i 1

Matrices homogènes

AT = A−1

(14)

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 autres représentations de l’orientation

•  Transformations homogènes

(15)

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

Plan du cours

(16)

•  Soit une matrice de rotation variable dans le temps

• Si on calcule la derivée par rapport au temps, nous trouvons (rappel la 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 de la matrice de rotation elle-même

R = R(t)

(17)

Interprétation 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

R(t)pS(t)

S(t)

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

Cinématique

ω(t)

(18)

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

(19)

Exemple

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

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

Donc

ω =

0 0

˙ α

qui exprime la vitesse angulaire du repère autour de l’axe 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))

Cinématique

z

z

˙ α

x y

z

(20)

•  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

p˙ 0 = ˙o01 + R01 p˙1 + ˙R01 p1

Mouvement de corps rigide

Cinématique

(21)

•  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

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

•  Enfin, si on note le vecteur , nous concluons que: r01 p˙0 = ˙o01 + R01 p˙ 1 + ω01 × r01

R01 p1

Cinématique

Mouvement de corps rigide

(22)

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

Repère 0

Repère 1

car

p˙ 0 = ˙o01 + ω01 × r01 p1

˙

p1 = 0

Cinématique

Mouvement de corps rigide

(23)

O1

• 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.  Rotation de vitesse autour de 2.  Translation de vitesse suivant

3.  Pour , repère 0 repère 1 Exemple

Nous avons que:

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

˙

p0(t) = ˙o01(t) + ˙R01(t)p1 =

0 v 0

+

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

0 0 0

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

1 0 0

=

−ωsin(ωt) v

−ωcos(ωt)

p˙0(0) =

0, v, −ωT

En particulier ...

P

, p˙1 = 0

t = 0

Solide

Cinématique

y0 y0

z0

x0 y0

O0

x1 y1

z1

(24)

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

indeformable. 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)

Deux 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 ω01 = 0 uniquement, le torseur devient:

˙ o01

Cinématique Solide

(glisseur)

V = o01 × ω01 ω01

V o˙01 + o01 × ω01

ω01

R6

o01

V = o˙01 03×1

z0

x0

y0

O0

x1

y1

z1

(25)

Vocabulaire anglophone

torseur = screw; torseur cinématique = twist; torseur statique = wrench

•  Le torseur cinématique représente la vitesse d’un solide comme une vitesse angulaire autour d’un axe et une vitesse linéaire le long du même axe

•  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

•  La loi de composition des mouvements permet de combiner plusieurs torseurs cinématiques

The Theory of Screws (1876) Robert Stawell Ball

(1840-1913)

Cinématique

•  Le torseur cinématique est un membre de la famille des torseurs. D’autres torseurs utilisés en mécanique:

Torseur statique ou d’action (ensemble des forces et couples qui résultent de l’application des lois de Newton sur un solide)

Torseur cinétique Torseur dynamique

Références

Documents relatifs

[r]

On nomme D l’intersection de la droite (AB) avec l’axe des ordonnées (Oy)2. Déterminer les coordonnées

Plusieurs points pondérés constituent un système pondéré 1-2) Barycentre de deux

[r]

Si u et n sont orthogonaux alors : si un point de la droite appartient au plan alors la droite est incluse dans le plan, si un point de la droite n’appartient pas au plan

[r]

Que peut-on en déduire pour la courbe ( C ). 7°)Soit m un nombre réel. 8°) Vérifier, en utilisant la courbe ( C ), les résultats de la

•  [Rotation] Composants des vecteurs unitaires du repère attaché au corps avec origine O’, par rapport au repère fixe.. •  Pour avoir une représentation compacte de