UPJV, Département EEA M1 EEAII
Parcours ViRob
Fabio MORBIDI
Laboratoire MIS
Équipe Perception et Robotique E-mail: fabio.morbidi@u-picardie.fr
Année Universitaire 2015/2016
Mardi 9h00-12h00, Mercredi 13h30-16h30, Salle 8
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
• Rotation et représentations de la rotation
• Attitude et matrices homogènes
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
• Formulation de Lagrange
Positionnement
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 (l’attitude du solide)
• 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 1 par rapport au repère 0
•
: matrice de rotation du repère 1 par rapport au repère 0
p
0p
1o
01R
01Repère 0
Repère 1
Soit:
Matrices homogènes
• On peut écrire la position du point P par rapport au repère 0 comme:
p 0 = o 0 1 + R 0 1 p 1 Transformation de coordonnées
(translation + rotation) d’un vecteur entre le repère 1 et le repère 0
Matrices homogènes
Matrices homogènes
• La présence conjointe de produits et de sommes dans l'équation
est peu commode pour effectuer des calculs systématiques, dus par exemple à des changements successifs de repères. On lui préfère une représentation
matricielle de dimension 4, 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
p
0= o
01+ R
01p
1alors la représentation du point P à l'aide de coordonnées homogènes est faite par:
p =
⎡
⎣ a b c
⎤
⎦
avec a = x
w , b = y
w , c = z w
,
p =
⎡
⎢ ⎢
⎣ x y w z
⎤
⎥ ⎥
⎦
• Soit par exemple, un point P de l'espace, rapporté à un repère fixé, donné
par la relation:
• Pour avoir une représentation compacte de la relation entre les coordonnées du même point dans deux repères, nous utilisons donc la représentation
homogène suivante:
p = p 1
On rajoute une 4e coordonnée, de valeur équale à 1, au vecteur
Matrices homogènes
“tilde”
p
• En pratique, on choisit un facteur d'échelle unitaire ( w = 1 )
p
• 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:
p
0p
1A
01= R
01o
010
1×31
Matrice de
transformation homogène
o
01∈ R
3R
01∈ SO(3) A
01SE(3) = R
3× SO(3)
• La pose du repère 1 par rapport au repère 0 est définie par la couple:
(o 0 1 , R 0 1 )
• 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
Exemple 1 (Simple rotation autour de l’axe z )
Matrices homogènes
y1
x1
O1 z0
y0
x0
O0
x1
O1
z0
y0
x
O0
z1
α
Exemple 2 (Simple translation)
y1
z1
o
01A 0 1 =
R z (α) 0 3×1
0 1×3 1
A 0 1 =
I 3 o 0 1 0 1×3 1
• 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 0 1 p 1
A
10p
1= A
10p
0= (A
01)
−1p
0• En utilisant les propriétés des matrices partitionnées*, on trouve que:
(A
01)
−1= (R
01)
T−(R
01)
To
010
1×31
= R
10−R
10o
010
1×31
Remarque*
M =
A B
C D
∈ R
mn×mn, M
−1=
(A − BD
−1C)
−1−A
−1B(D − CA
−1B)
−1−D
−1C(A − BD
−1C)
−1(D − CA
−1B)
−1A ∈ R
m×m, D ∈ R
n×n invertiblesAttention: les matrices homogènes ne satisfont pas la propriété d’orthogonalité. En conséquence, en général:
En conclusion :
Matrices homogènes
• 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 (taille 4 × 4)
• Comme pour les matrices de rotation, on peut composer une
séquence de transformations de coordonnées grâce au produit matriciel:
p
0= A
01A
12· · · A
n−1np
noù A
i−1iest 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
• 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):
2.2 Cinématique
• Grâce à la propriété d’orthogonalité de la matrice , on a:
• Soit
Elle est une matrice antisymétrique. En effet:
R(t)
R(t) R
T(t) = I
3R(t) ˙ R
T(t) + R(t) ˙ R
T(t) = 0
3×3S(t) R(t) ˙ R
T(t)
S(t) + S
T(t) = 0
3×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)
Interpretation physique
• La derivée par rapport au temps de est:
2.2 Cinématique
• 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]
Tt
2.2 Cinématique
qui justifie l’expression:
S =
⎡
⎢ ⎣
0 −ω
zω
yω
z0 −ω
x−ω
yω
x0
⎤
⎥ ⎦
S(t) = S(ω(t))
• On peut donc réécrire l’équation précédente:
R ˙ = S(ω )R
c’est-à-dire:
Interpretation physique
2.2 Cinématique
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) = ˙ R
z(α(t))R
Tz(α(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
• 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
2.2 Cinématique
p
0= o
01+ R
01p
1˙
p
0= ˙ o
01+ R
01p ˙
1+ ˙ R
01p
1Mouvement rigide
• 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:
Repère 0
Repère 1
2.2 Cinématique
˙
p
0= ˙ o
01+ R
01p ˙
1+ S(ω
01) R
01p
1• Enfin, si on note le vecteur , nous concluons que: r
01˙
p
0= ˙ o
01+ R
01p ˙
1+ ω
01× r
01R
01p
1Mouvement rigide
Cas particulier: Si est fixé par rapport au repère 1, on trouve:
Repère 0
Repère 1
2.2 Cinématique
car
˙
p
0= ˙ o
01+ ω
01× r
01p
1Mouvement rigide
˙
p
1= 0
• P est un point d’un solide
en mouvement par rapport au repère 0
• Le solide est lié au repère 1
• Le mouvement du repère 1
par rapport au repère 0 est le suivant:
1. Translation de vitesse suivant y
02. Rotation de vitesse autour de y
03. Pour , repère 0 repère 1
Exemple
2.2 Cinématique
On a:
z1
y1
x1 O1
z0
y0
x0 O0
p
1= [1, 0, 0]
Tω
v v
≡
ω
R
01(t) =
⎡
⎢ ⎣
cos(ωt) 0 sin(ωt)
0 1 0
− sin(ωt) 0 cos(ωt)
⎤
⎥ ⎦ , o
01=
⎡
⎢ ⎣ 0 vt
0
⎤
⎥ ⎦
p ˙
0(t) = ˙ o
01(t) + ˙ R
01(t) p
1=
⎡
⎢ ⎣ 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 Noter queP
, p ˙
1= 0
t = 0
Le torseur cinématique du repère 1 par rapport au repère 0 est défini par le vecteur vitesse de translation de l’origine du repère 1 par rapport au repère 0
ainsi que par le vecteur vitesse de rotation du repère 1 par rapport au repère 0:
Définition (torseur cinématique):
2.2 Cinématique
Torseur cinématique du repère 1 par rapport au repère 0