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)
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
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
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
• 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
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
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
⎤
⎦
où .
• 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
• 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
• 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
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 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
α
• 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 =
(A−BD−1C)−1 −A−1B(D−CA−1B)−1
−D−1C(A−BD−1C)−1 (D−CA−1B)−1
A ∈ Rm×m, D ∈ Rn×n sont deux matrices inversibles
Matrices homogènes
où Si
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
où 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
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
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
• 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)
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)
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
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
• 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
• 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
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
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
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
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