Transcript Cours #3

ROBOTIQUE
-ELE4203-
Cours #3: Cinématique directe: les paramètres de Denavit-Hartenberg
Enseignant: Jean-Philippe Roberge
S
Jean-Philippe Roberge - Septembre 2012
Cours #3
S Petites annonces générales concernant le cours
S Bref rappel des principales notions du cours #2
S Rotation autour d’un vecteur unitaire
S Cinématique directe:
S
Principes de base et but de la cinématique directe
S
Référentiels standards en robotique
S
Pré-multiplication VS post-multiplication
S
Orientation de l’outil à l’aide du roulis, tangage et lacet (Roll, pitch et Yaw)
S Retour rapide sur la cinématique directe du robot planaire
2
Jean-Philippe Roberge - Septembre 2012
Cours #3
S Les paramètres de Denavit-Hartenberg (D.H.)
S Qu’est-ce que c’est, pourquoi les utiliser?
S Les trois règles devant êtres respectées
S La procédure pour le placement des repères de D.H. (13 étapes…)
S Réalisation de la cinématique directe à l’aide de D.H.:
S Robot PUMA (RRRRRR)
S Robot Stanford (RRPRRR)
3
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (1)
Rotation autour d’un vecteur unitaire
S La rotation autour d’un vecteur unitaire s’effectue en cinq étapes.
On effectue cinq rotations:
1-Une rotation de α degrés en x
2-Une rotation de β degrés en y
Ces deux rotations permettront d’enligner
le vecteur avec l’axe z.
3-Une rotation de θ degrés en z
Finalement, les transformations inverses:
4-Une rotation de -β degrés en y
5-Une rotation de -α degrés en x
Ttot  T5 T 4 T3T 2 T1  R O T    , x  R O T    , y  R O T   , z  R O T   , y  R O T   , x 
4
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (2)
Cinématique directe – But
S Qu’est-ce que la cinématique directe?
S La cinématique directe concerne la détermination de la position et de l’orientation de
l’effecteur (pose de l’effecteur) du robot en fonction des positions des articulations du
robot.
S Il s’agit en fait de bâtir un modèle mathématique qui permet d’obtenir la pose de
l’effecteur en fonction de ce que l’on appelle les “variables articulaires”.
S
Pour bâtir ledit modèle mathématique, nous aurons recours aux variables /
transformations homogènes.
S Concrètement:
S Des encodeurs donnent les valeurs des différentes variables articulaires. Par exemple,
pour des joints rotoïdes, les encodeurs permettront d’obtenir directement les angles de
chacune des articulations.
S Connaissant ces valeurs et ayant réaliser la cinématique directe du robot, il est alors
possible de connaître la position et l’orientation de l’effecteur.
S Nous verrons dans les heures qui suivent comment réaliser efficacement la
cinématique directe.
5
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (3)
Cinématique directe – Principes de base
S
Pour réaliser la cinématique directe des robots que nous étudierons, nous nous
intéresserons tout d’abord à apposer des repères au niveau des joints du robot, par
exemple:
S Par la suite, nous nous intéresserons à
trouver les transformations qui lient
chacun des repères ensemble. Dans le
cas d’un robot sériel à six degrés de
liberté, on déterminera:
0
1
1
2
3
4
5
T , 2 T ,3 T , 4 T ,5 T ,6 T
i
où : j T est la m atrice de transform ation
hom ogène du repère j par rapport au repère i
S
La cinématique directe est alors
contenue
dans
la
matrice
de
transformation totale:
T  1T 2T 3T 4T 5T 6T
0
6
0
1
2
3
4
5
6
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (4)
Cinématique directe – La question fondamentale
S Étant donnée un point A exprimé dans le repère B, comment faire pour
obtenir le point A exprimé dans le repère C?
La question que nous nous
posons d’abord est:
Étant donné un point A
exprimé en coordonnés du
repère B, comment faire pour
exprimer ce point dans le
repère C?
7
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (5)
Propriétés de la matrice de rotation
S Propriétés des matrices de rotation:
S Petite précision par rapport à orthogonale VS orthonormale.
S Une matrice orthogonale est une matrice carrée dont les colonnes et les
lignes sont des vecteurs orthonormaux.
S Vecteurs orthonormaux: vecteurs unitaires orthogonaux (norme =1)
8
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (6)
Référentiels standards en robotique
S Les référentiels souvent discutés en robotique sont les cinq référentiels
suivant:
S
Référentiel U: il est surnommé le référentiel universel.
Dans certains ouvrages, on peut aussi parler du
référentiel de travail.
S
Référentiel R: C’est le référentiel associé à la base du
robot.
S
Référentiel H: il est surnommé le référentiel “Hand”,
c’est le référentiel associé à la main (porte-outil).
S
Référentiel E : il est surnommé le référentiel effecteur.
Il est associé à l’outil.
S
Référentiel P: Référentiel associé à la pièce.
9
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (7)
Transformations entre les référentiels standards
S Maintenant que nous avons introduit certains concepts de base concernant les
référentiels, étudions les référentiels souvent discutés en robotique:
10
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (8)
pré-multiplication VS post-multiplication
S Tel que mentionné, l’ordre de multiplication est important lorsqu’il
s’agit de multiplier des matrices de transformation homogènes.
S De plus, lorsque les matrices de transformation sont utilisées pour
décrire la pose de différents repères les uns par rapport aux autres il
faut se rappeller de ceci:
S Lorsqu’on pré-multiplie, la transformation se fait par rapport au repère
fixe.
S Lorsqu’on post-multiplie, la transformation se fait par rapport au repère
mobile.
11
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (9)
pré-multiplication VS post-multiplication
S Voici un petit exercice tiré de [4]:
S Soit une matrice de rotation R composé des rotations pures suivantes:
S
1- Une rotation de θ par rapport à l’axe x du repère mobile
S
2- Une rotation de φ par rapport à l’axe z du repère mobile
S
3- Une rotation de α par rapport à l’axe z du repère fixe
S
4- Une rotation de β par rapport à l’axe y du repère mobile
S
5- Une rotation de δ par rapport à l’axe x du repère fixe
S La réponse de cet exercice:
R  R   , x  R   , z  R  , x  R   , z  R   , y 
12
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (10)
Orientation de l’outil: Roulis, tangage et lacet
S Il existe plusieurs façon pour décrire l’orientation d’un repère. Pour
représenter l’orientation de l’outil, une convention est d’utiliser les
angles de roulis (roll), tangage (pitch) et lacet (yaw).
13
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (11)
Cinématique directe du robot planaire
S Rapellons la cinématique directe d’un robot “simple”, c’est-à-dire un
robot-planaire à trois degrés de liberté:
14
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (12)
Cinématique directe du robot planaire
15
Jean-Philippe Roberge - Septembre 2012
Bref rappel du cours #2 (13)
Cinématique directe du robot planaire
16
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (1)
S Selon vous, pensez-vous qu’il existe plusieurs façons différentes et
toutes aussi valides d’apposer les repères sur un robot?
S Assigner les repères sur un robot plus complexe que le robot planaire
du dernier cours peut devenir compliqué (par exemple un robot à six
degrés de liberté oeuvrant dans l’espace 3D).
S L’assignation des repères n’est pas toujours facile et surtout, la
détermination des transformations homogènes entre chacun de ces repère
peut être difficile à déterminé.
S Nous développerons ici une approche systématique basée sur les
paramètres de Denavit-Hartenberg.
S Permet de simplifier la démarche
S De plus, cette convention permet aux ingénieurs en robotique de s’appuyer
sur un langage commun.
S Elle permet en plus d’automatiser la réalisation de la cinématique directe
(nous en discuterons plus tard).
17
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (2)
S
La convention de Denavit-Hartenberg (D.H.) s’appuie tout d’abord sur trois règles qui
doivent toujours êtres respectées:
1- L 'axe Z i 1 est selon l'axe du m ouvem ent du joint i
2- L 'axe X i est norm al à l'axe Z i 1 et pointe en s'en éloignant
3- L 'axe Yi com plète le repère i de m anièr e à obtenir un repère "m ain droite"
Image tirée de [4]
S
Le repère 0 est choisi arbitrairement, sauf que l’axe Z0 doit être selon l’axe du
mouvement du joint 1. Le dernière repère (n) peut aussi être placé arbitrairement, tant
que l’axe Xn soit normal à Zn-1.
18
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (3)
S
En respectant les trois règles de D.H. on pourra toujours utiliser seulement quatre paramètres
pour passer du repère i-1 au repère i.
S Ces quatre paramètres sont les paramètres de Denavit-Hartenberg, ceux-ci sont définis par:
S 1- Une rotation de θi par rapport à Zi-1 pour Xi-1 parallèle à Xi.
S 2- Une translation de di le long de Zi-1 pour amener l’origine du repère i-1 à l’intersection de
Zi-1 et Xi.
S 3- Une translation de ai le long de Xi pour amener l’intersection de Zi-1 et Xi sur l’axe Zi.
S 4- Une rotation αi par rapport à Xi pour amener Zi-1 parallèle à Zi.
Paramètres de Denavit-Hartenberg:
Θi , di , ai et αi
Où i=1,…,n,
(n étant le nombre de degrés de liberté
du robot)
Image tirée de [4]
19
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (4)
S Ce que nous venons d’étudier en texte, se traduit mathématiquement par:
S1- Une rotation de θi par rapport
à Zi-1 pour Xi-1 parallèle à Xi.
S2- Une translation de di le long de
Zi-1 pour amener l’origine du repère
i-1 à l’intersection de Zi-1 et Xi.
S3- Une translation de ai le long
de Xi pour amener l’intersection
de Zi-1 et Xi sur l’axe Zi.
S4- Une rotation αi par rapport à Xi
pour amener Zi-1 parallèle à Zi.
20
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (5)
S Petit rappel:
21
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (6)
S En observant ce dernier résultat:
S Il est évidemment possible d’automatiser la cinématique directe (et bien plus).
S Comment?  En se créant des fonctions, par exemple, dans Matlab.
S Démonstration:
# Lien
θi
di
ai
αi
1
θ1
0
a1
0
2
θ2
0
a2
0
3
θ3
0
a3
0
Suite dans Matlab…
22
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (7)
S Voici maintenant la méthode systématique permettant d’apposer les repères
selon la convention D.H. :
23
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg (8)
S Voici maintenant la méthode systématique permettant d’apposer les repères
selon la convention D.H. (suite) :
24
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(1)
S Pratiquons cette démarche sur le robot PUMA. Ce dernier est un robot à six
degrés de liberté et possède que des joints rotoïdes (RRRRRR).
S Avant de commencer, regardons un peu à quoi ce robot ressemble:
S
http://www.youtube.com/watch?v=Ki7n0KFR51Y&feature=related
S
http://www.youtube.com/watch?v=kEed8DVO21I&feature=related
25
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(2)
26
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(3)
S Pour que ce soit clair, voici comment les repères sont placés:
z0
z1
y0,x1
x0
y3
y1
z2
-a3
z4,y5
z3
x3
x2
y4
y6
z5
y2
z6
x4,x5
x6
27
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(4)
z0
z1
y0,x1
x0
y3
y1
z2
-a3
z4,y5
z3
x3
x2
y4
y6
z5
y2
z6
x4,x5
x6
# Lien
θi
di
ai
αi
1
θ1v
0
0
-90⁰
2
θ2v
d2
a2
0
3
Θ3v
0
a3
90⁰
4
θ4v
d4
0
-90⁰
5
θ5v
0
0
90⁰
6
θ6v
d6
0
0
28
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(5)
# Lien
θi
di
ai
αi
1
θ1
0
0
-90⁰
2
θ2
d2
a2
0
3
θ3
0
a3
90⁰
4
θ4
d4
0
-90⁰
5
θ5
0
0
90⁰
6
θ6
d6
0
0
29
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot PUMA(6)
S Après multiplication, on obtient la cinématique directe:
30
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot Stanford(1)
S Encore une fois, commençons par observer à quoi ressemble le robot
Stanford (RRPRRR) ~1969 !:
31
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot Stanford(2)
S Apposition de repères:
32
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot Stanford(3)
S Le tableau de D.H.:
# Lien
θi
di
ai
αi
1
θ1v
d1
0
-90⁰
2
θ2v
d2
0
90⁰
3
0⁰
d3v
0
0⁰
4
θ4v
0
0
-90⁰
5
θ5v
0
0
90⁰
6
θ6v
d6
0
0
33
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot Stanford(4)
# Lien
θi
di
ai
αi
1
θ1v
d1
0
-90⁰
2
θ2v
d2
0
90⁰
3
0⁰
d3v
0
0⁰
4
θ4v
0
0
-90⁰
5
θ5v
0
0
90⁰
6
θ6v
d6
0
0
34
Jean-Philippe Roberge - Septembre 2012
Cours #3
Denavit-Hartenberg – Robot Stanford(5)
S En multipliant chacune des matrices de transformation:
35
Jean-Philippe Roberge - Septembre 2012
Cours #3
Introduction aux poignets sphériques (1)
S Le robot Stanford possède un poignet sphérique:
S “sphérique” est dit des mécanismes articulés dont les axes des trois
derniers joints s’intersectent toujours en un point.
S Énormément de robots mettent en oeuvre des poignets sphériques, ceux-ci
permettent de découpler la position et l’orientation de l’effecteur.
36
Jean-Philippe Roberge - Septembre 2012
Cours #3
Introduction aux poignets sphériques (2)
S Principe du “découplement cinématique” (possible en présence d’un poignet
sphérique):
0
 
Pc  P  d 6 R 0
 
 1 
0
Pc est apellé “centre du poignet”
ou “référentiel du poignet”
Tc
0
 x c   Px  d 6 r13 
  

y c  Py  d 6 r23
  

 z c   Pz  d 6 r33 
T6
37
Jean-Philippe Roberge - Septembre 2012
Cours #3
Introduction aux poignets sphériques (3)
S Le “découplement cinématique” sera particulièrement pratique pour la
cinématique inverse (prochain cours):
38
Jean-Philippe Roberge - Septembre 2012
Aux deux prochains cours…
S Les deux prochains cours vous seront enseignés par le professeur
Richard Gourdeau.
S Dans le cadre de ces cours, la matière couverte sera constituée entres
autres de:
S Cinématique inverse:
S
Comment trouver les variables articulaires, étant donnée une pose de l’effecteur
du robot.
S Cinématique différentielle:
S
Comment calculer la matrice Jacobienne et quelles sont les informations qu’elle
contient
S Je serai de retour avec vous après la relâche (pour le cours du 15
octobre), et pour le reste de la session.
39
Jean-Philippe Roberge - Septembre 2012
Références
S
[1] Absolute Beginner’s Guide to Building Robots, Gareth Branwyn, 2003
S
[2] http://spectrum.ieee.org/automaton/robotics/roboticssoftware/10_stats_you_should_know_about_robots Notes de cours (ELE3202) – Richard
Gourdeau & John Thistle
S
[3] http://www.geekologie.com/2008/12/thats-it-im-moving-robotic-sta.php
S
[4] Robot Modeling and Control, Mark W. Spong et al.,2006.
S
[5] Notes de cours (Manipulateurs) - ELE4203, Richard Gourdeau, juillet 2012.
40
Jean-Philippe Roberge - Septembre 2012