Licence Professionnelle Automatisme et Robotique Session 2016 - Amiens
Fabio MORBIDI
Laboratoire MIS
Équipe Perception et Robotique Université de Picardie Jules Verne E-mail: [email protected]
ME 1.1
Organisation du cours
Date matin -
après midi CM TD Contrôle Lieu
15 oct. 2015 matin X Promeo
29 oct. 2015 matin X Promeo
10 déc. 2015 matin X X Promeo
11 déc. 2015 matin DS Promeo
28 jan. 2016 matin TP1 Dpt. EEA
11 fév. 2016 matin TP2 Dpt. EEA
10 mar. 2016 matin & a.m. X TP3 Dpt. EEA
Matin: 8h30-12h15, pause 10h15-10h30
Après midi: 13h15-17h00, pause 15h15-15h30
Plan du cours
• Caractéristiques des robots (charge, volume de travail, répétabilité, masse, coût, etc.)
• Les baies de commandes (structure de base, modes de marche), le pupitre mobile et
ses fonctions
• Gammes de robots et secteurs d’activités
• Étude d’une cellule spécifique de soudage par points [TDs]
• Les cartes d’entrées/sorties et communication
• Introduction
• Espace articulaire et opérationnel
• Les différentes systèmes d’axes et repères
scalaires
Notation
0 n×m ∈ R n×m I
n∈ R
n×nvecteur colonne de dimension
matrice avec lignes et colonnes
matrice identité matrice de zéros
n × n n × m n
n
a, λ, M ∈ R
A ∈ R
n×mA
T∈ R
m×ntransposée de la matrice
x ∈ R
ninverse de (de rang plein) B ∈ R
n×nA ∈ R
n×m, B
−1m
• Un manipulateur peut être représenté comme une chaîne cinématique de segments reliés par l'intermédiaire d'articulations rotoïdes ou prismatiques
• Le mouvement résultant de la structure est obtenu par composition des mouvements élémentaires de chaque segment par rapport au précédent
• Afin de manipuler un objet dans l'espace, il est nécessaire de décrire la position et l'orientation (pose) de l'effecteur
base
effecteur
x
ey
ez
eOe
θ
1θ
2θ
4d
3Objectif final: exprimer la pose de l’effecteur en fonction des variables Manipulateur
générique
?
Positionnement
La pose d'un solide (ou corps rigide) dans l'espace 3-D peut être complètement décrite par 6 paramètres indépendants:
• 3 paramètres indépendants définissent la position d'un point, noté O’, du solide dans le repère fixe O- xyz (par ex.
coordonnées cartésiennes, cylindriques ou sphériques)
• 3 paramètres indépendants déterminent l'orientation du solide autour du point O’ (par ex. angles d’Euler)
O O
y
z
z
y x
x
solide
solide
La position du point O’ du solide par rapport au repère fixe O- xyz
s’exprime par l’équation:
o
= o
xx + o
yy + o
zz
où sont les vecteurs unitaires (la norme est 1) des axes du repère O- xyz et sont le composants du vecteur le long de chacun des trois axes
x, y, z
o
x, o
y, o
zo
∈ R
3repère fixe
• Afin de décrire l'orientation du solide, considérons un repère attaché au corps et exprimons ses vecteurs unitaires par rapport au repère O-
xyz
• Soit O’-
x’y’z’
un tel repère avec origine O’ et soient les vecteurs unitaires des axes• Ces vecteurs sont exprimés par rapport au repère O-
xyz
par les équations:x
, y
, z
x
= x
xx + x
yy + x
zz y
= y
xx + y
yy + y
zz z
= z
xx + z
yy + z
zz
• Sous forme compacte, les vecteurs unitaires qui décrivent
l'orientation du solide par rapport à O-
xyz,
peuvent être combinés dans la matrice 3 3:x
, y
, z
R = [x
y
z
] =
⎡
⎢ ⎣
x
xy
xz
xx
yy
yz
yx
zy
zz
z⎤
⎥ ⎦ =
⎡
⎢ ⎣
x
Tx y
Tx z
Tx x
Ty y
Ty z
Ty x
Tz y
Tz z
Tz
⎤
⎥ ⎦
qui est appelée matrice de rotation
Rotations élémentaires
• Considérons les rotations qu’on peut obtenir à partir de rotations élémentaires autour des axes
x
,y
,z
• Ces rotations sont positives s’ils sont faites autour des axes relatifs dans le sens anti-horaire
Exemple : le repère O-
xyz
est pivoté d’un angleα
autour de l’axez
et O-
x’y’z’
est le repère qui résulte de cette rotationRotations élémentaires
• Les vecteurs unitaires de O-x’y’z’ peuvent être exprimés par rapport au repère O-xyz comme:
x =
⎡
⎢⎣
cosα sinα
0
⎤
⎥⎦, y =
⎡
⎢⎣
−sinα cosα
0
⎤
⎥⎦, z =
⎡
⎢⎣ 0 0 1
⎤
⎥⎦
• La matrice de rotation de O-x’y’z’ par rapport à O-
xyz
engendrée est donc:R
z(α) =
⎡
⎢ ⎣
cos α − sin α 0 sin α cos α 0
0 0 1
⎤
⎥ ⎦
De la même façon, on peut trouver la matrice de rotation autour de
l’axe
y
d’un angleet la matrice de rotation autour de l’axe
x
d’un angleRemarque: ces matrices sont très utiles pour décrire des rotations dans l’espace 3D autour d’axes arbitraires
β γ
Rotations élémentaires: sommaire
R
z(α) =
⎡
⎢ ⎣
cos α − sin α 0 sin α cos α 0
0 0 1
⎤
⎥ ⎦
Matrice de rotation autour de l’axe
x
d’un angleRemarque:
Pour les rotations élémentaires, la propriété suivante est vérifiée:
R
x(γ ) =
⎡
⎢ ⎣
1 0 0
0 cos γ − sin γ 0 sin γ cos γ
⎤
⎥ ⎦
R
y(β ) =
⎡
⎢ ⎣
cos β 0 sin β
0 1 0
− sin β 0 cos β
⎤
⎥ ⎦
R
k(−θ) = R
Tk(θ), k ∈ {x, y, z }
Matrice de rotation autour de l’axe
y
d’un angleMatrice de rotation autour de l’axe
z
d’un angleγ
β
α
Représentation d’un vecteur
Hypothèse simplificatrice: l’origine du repère du solide coïncide avec l'origine du repère fixe. Donc
On peut représenter le point 3D P comme:
p =
⎡
⎢ ⎣ p
xp
yp
z⎤
⎥ ⎦
par rapport à O-xyz
par rapport à O-
x’y’z’
et
p
=
⎡
⎢ ⎣ p
xp
yp
z⎤
⎥ ⎦
o
= 0
3×1= [0, 0, 0]
TReprésentation d’un vecteur
Mais cela signifie que (rappel les équations précédentes):
représente la matrice de transformation qui permet d’exprimer les coordonnées du point P dans le repère O-xyz, en function des coordonnées du même point dans le repère O-x’y’z’
Mais et sont deux représentations du même point P, donc
p p
p = R p
est une matrice orthogonale. Donc la transformation inverse est simplement:
R
p
= R
Tp
R
p = p
xx
+ p
yy
+ p
zz
=
x
y
z
p
Représentation d’un vecteur
Exemple:
Deux repères avec la même origine et une rotation relative d’un angle
α
autour de l’axe
z
p p
, : vecteurs des coordonnées du point P dans lesrepères O-
xyz
et O-x’y’z’
Remarque:
La matrice représente non seulement l'orientation d'un repère par rapport à un autre, mais elle décrit également la transformation d'un vecteur dans un repère en un autre avec la même origine
p
x= p
xcos α − p
ysin α p
y= p
xsin α + p
ycos α p
z= p
zR
z(α)
On trouve que:
Composition de matrices de rotation
Problème: Comment composer plusieurs rotations ?
Considérons trois repères O-x0 y0 z0, O-x1 y1 z1 , O-x2 y2z2 avec la même origine O coordonnées d’un point
P
dans les trois repèresp
0, p
1, p
2∈ R
3:
O-x0 y0 z0 O-x1 y1 z1
O-x2 y2 z2
O
P
Composition de matrices de rotation
Soit la matrice de rotation du repère
R
jipar rapport au repère
Donc
De la même façon, on obtient
p
1= R
12p
2p
0= R
01p
1p
0= R
02p
2Mais alors:
R
02= R
01R
12i j
Composition de matrices de rotation
Considérons un repère initialement aligné avec O-x0 y0 z0
La rotation définie par peut être interprétée comme obtenue en deux étapes:
1. Tourne le repère avec pour l’aligner avec O-x1 y1 z1
2. Tourne le repère, maintenant aligné avec O-x1 y1 z1, en utilisant pour l’aligner avec O-x2 y2 z2
R
02R
01R
12Remarque:
• La rotation d'ensemble peut être exprimée comme une séquence de rotations partielles
• Chaque rotation est définie par rapport à la précédente
• Le repère par rapport à lequel la rotation se produit est appelé repère courant
• La composition de rotations successives est obtenue par multiplication à droite des matrices de rotation en suivant l'ordre donné des rotations
• Avec notre notation, on a que:
R
ji= (R
ij)
−1= (R
ij)
TComposition de matrices de rotation
Remarque:
• Les rotations successives peuvent aussi être specifiées toujours par rapport au repère initiale
• On dit donc que les rotations sont faites par rapport au repère fixe
• La composition de rotations successives est obtenue par multiplication à gauche des singles matrices de rotation en suivant l’ordre donné des
matrices de rotation
Problème de base: le produit matriciel n’est pas commutatif !
• Deux rotations, en général, ne commutent pas et la composition dépend de l’ordre des singles rotations:
R
01R
12= R
12R
01Composition de matrices de rotation
• Rotations successives d'un objet autour des axes du repère courant
a)
b)
=
Composition de matrices de rotation
• Rotations successives d'un objet autour des axes du repère fixe
a)
b)
=
Matrices homogènes
solide repère fixe
Pour décrire la pose (ou attitude) 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 corps avec origine O’, par rapport au repère fixe
• : 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
• : 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
P
• On peut écrire la position du point
P
par rapport au repère 0 comme:p
0= o
01+ R
01p
1 Transformation de coordonnées(translation + rotation) d’un vecteur entre le repère 0 et le repère 1
Matrices homogènes
• Pour avoir une représentation compacte de la relation entre les coordonnées du même point P dans les deux repères, nous pouvons introduire la
représentation homogène d’un vecteur générique :
p
p =
p
1
On rajoute une 4ème coordonnée valant 1 au vecteur
Matrices homogènes
“tilde”
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:
p
0p
1A
01=
R
01o
010
1×31
Matrice detransformation homogène
• La pose (ou attitude) du repère 1 par rapport au repère 0 est définie par la couple:
(o
01, R
01)
• La pose est définie par 6 paramètres:
• 3 définissant la translation
• 3 définissant la rotation
Matrices homogènes
• La transformation d’un vecteur du repère 0 au repère 1 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 1 est décrite par la matrice qui satisfait l’équation:
Matrices homogènes
p
0= A
01p
1A
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
Attention: 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 sous forme compacte
A
−1= A
T• Si les repères ont la même origine la matrice homogène se réduite à la matrice de rotation précédemment définie
• 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−1i est la matrice de transformation qui met en rélation la déscription d’un point dans le repère avec ladéscription du même point dans le repère
i i − 1
base
effecteur
θ
1θ
2θ
4d
3Modèle géométrique direct: etant données les positions articulaires (distance resp. angle pour une articulation prismatique resp. rotoïde) trouver la pose de l’effecteur par rapport à la base
Modèle géométrique
Modèle géométrique inverse: etant donnée une pose de l’effecteur par rapport à la base, trouver, si elles existent, l’ensembles de positions articulaires qui permettent de générer cette pose
Modèle géométrique direct
Manipulateur à chaîne ouverte avec n + 1 segments liés par n articulations
• Par convention, le segment 0 est fixé au sol
• Assumption: chaque articulation fournit à la structure mécanique 1 DDL qui corresponde à la variable de l’articulation
Fixé au sol
1. Définir les repères associés à chaque segment:
2. Determiner la transformation de coordonnées entre deux segments consecutifs
3. Determiner, d’une façon recursive, la transformation totale entre le repère n et le repère 0, c’est-à-dire:
Procedure pour déterminer le modèle géométrique direct:
Modèle géométrique direct
A
i−1i(q
i), i ∈ {1, . . . , n}
0, 1, . . . , n
T
0n(q) = A
01(q
1) A
12(q
2) · · · A
n−1n(q
n)
Mais:
• Comment définir les repères avec des manipulateurs complexes, avec un grand nombre d’articulations ?
• Il faut trouver une procedure systematique et générale 1. Définir les repères associés à chaque segment:
Procedure à suivre pour déterminer le modèle géométrique direct:
θ
1θ
2θ
4d
3Modèle géométrique direct
0, 1, . . . , n
segm.
artic.
i
– 1segm.
artic.
i
artic.i
+ 1θ
ia
ia
i−1Transformation homogène de DH
Ai−1i =
⎡
⎢⎢
⎢⎣
cosθi −sinθi 0 0 sinθi cosθi 0 0
0 0 1 di
0 0 0 1
⎤
⎥⎥
⎥⎦
1ère étape
Aii =
⎡
⎢⎢
⎢⎣
1 0 0 ai
0 cosαi −sinαi 0 0 sinαi cosαi 0
0 0 0 1
⎤
⎥⎥
⎥⎦
A i−1 i (q i )
A
i−1i= A
i−1iA
ii2ème étape
; ;