Vous êtes sur la page 1sur 16

GPA546 : Projet 3

Cinmatique dun robot

par

quipe No. <numro dquipe>


Nom1, Prnom1 (<code permanent>)
Nom2, Prenom2 (<code permanent >)
Nom3, Prnom3 (<code permanent >)

Montral, le <date>

TABLE DES MATIRES


1

INTRODUCTION..........................................................................................................................1

CINMATIQUE DIRECTE...........................................................................................................1
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8

CINMATIQUE INVERSE...........................................................................................................5
3.1
3.2
3.3
3.4
3.5
3.6

La matrice X en fonction de la pose de leffecteur.............................................................5


Les premires douze quations..........................................................................................6
Calcul de la variable articulaire 1.......................................................................................6
Calcul de la variable articulaire 2.......................................................................................7
Calcul de la variable articulaire 3.......................................................................................7
Calcul de la variable articulaire 4.......................................................................................7

VRIFICATION AVEC ROBOTSTUDIO.....................................................................................7


4.1
4.2

Rfrentiels D-H................................................................................................................1
Tableau des paramtres D-H..............................................................................................2
Matrices D-H.....................................................................................................................2
Matrice C...........................................................................................................................3
Matrice T4..........................................................................................................................4
Matrice Gk..........................................................................................................................4
quation de la cinmatique directe....................................................................................4
quations pour dterminer la pose de leffecteur...............................................................4

Tableaux comparatifs des rsultats.....................................................................................8


Discussions sur les rsultats...............................................................................................9

CONCLUSION...............................................................................................................................9

page 1

LISTE DES FIGURES


Figure 1. Schma du robot 4 ddl avec tous les rfrentiels........................................................................2
Figure 2. Capture dcran de la station RobotStudio du robot.....................................................................8

page 2

LISTE DES TABLEAUX


Tableau 1. Paramtres D-H pour le robot illustr la figure 1.....................................................................2
Tableau 2. Rsultats pour la cinmatique directe.........................................................................................8
Tableau 3. Rsultats pour la cinmatique inverse........................................................................................9

page 3

Introduction

Dans cette section, vous devez prsenter le robot et les analyses que vous allez effectuer. Mentionnez
galement comment vous aller valider vos rsultats.
Partout dans ce rapport, vous devez utiliser la bonne terminologie, notamment :

variables articulaires;

variables cartsiennes (ou la pose de leffecteur);

angles dEuler selon la convention xyz;

degrs de libert (abrvi ddl);

rfrentiel (ou repre, ou systme daxes) comme dans rfrentiels D-H, rfrentiel de loutil,
rfrentiel de la base, ou rfrentiel de latelier;
articulation prismatique;

articulation rotode.

Vous devez crire, par exemple, que la matrice homogne Ai reprsent la pose du rfrentiel i par
rapport au rfrentiel i 1. (Notez lutilisation du symbole pour dsigner le signe moins, plutt que
lusage incorrect mais rpandu du trait dunion - ). Vous devez utiliser le terme position correctement
et non comme substitut pour le terme pose. Le terme axe peut signifier diffrentes choses (comme dans
axe de rotation ou laxe x ), mais pas vraiment articulation. On peut se permettre de dire robot
quatre axes , plutt que robot 4 ddl ou robot avec quatre articulations , mais pas un axe
prismatique . Aussi, une articulation rotode a un axe (de rotation), mais une articulation prismatique a
seulement une direction.

Cinmatique directe

cet endroit, vous devez expliquer ce quest la cinmatique directe et les diffrentes tapes suivre
(choisir les rfrentiels D-H, trouver les paramtres D-H, etc.).

2.1 Rfrentiels D-H


Dans cette section, vous devez prsenter le schma du robot avec vos rfrentiels D-H, dans la figure 1.
Vous navez pas justifier lemplacement de vos rfrentiels. Par contre, dessinez vos rfrentiels avec
beaucoup de soin, exactement au bon endroit (par exemple, les axes z doivent tre dessins sur les lignes
pointilles dsignant les axes de rotation, et non ct). Enfin, vous devez quand mme rdiger une
phrase qui introduit la figure 1, par exemple Les rfrentiels D-H que nous avons choisis sont montrs
la figure 1 .
vitez de rfrer lemplacement dune figure (ou dun autre lment tel quune quation ou un tableau)
comme dans la figure ci-dessous , car cet emplacement peut changer par la suite.

page 1/11

Figure 1. Schma du robot 4 ddl avec tous les rfrentiels.

2.2 Tableau des paramtres D-H


Dans cette section, vous devez prsenter les paramtres D-H qui correspondent votre choix de
rfrentiels D-H montr la figure 1. Noubliez pas dinclure les valeurs de compensations aux
paramtres D-H qui correspondent aux variables articulaires (par exemple, 1 + 90 ). Vous navez pas
besoin dexpliquer comment vous avez obtenu ces valeurs, mais il faut quand mme rdiger une phrase
pour introduire le tableau des paramtres D-H.
Tableau 1. Paramtres D-H pour le robot illustr la figure 1.
i
1

i
1 + 90

di
540

ai
0

i
90

2.3 Matrices D-H


Dans cette section, vous devez prsenter les matrices Ai. Il faut rdiger une phrase pour introduire ces
matrices, par exemple En utilisant la formule pour la matrice Ai et les paramtres D-H montrs dans le
tableau 1, nous arrivons : . Notez quun rapport technique comme celui-ci nest pas un brouillon : il ne
doit pas se rduire une suite dquations. Il faut relier les quations par des commentaires.
Il est trs important de respecter les normes typographiques dans ldition dquations et dutiliser
lditeur dquation MathType, si possible, ou celui qui vient avec MS Word. Les quations font partie du
page 2/11

texte et doivent sy inclure comme tout autre lment. Elles doivent tre rdiges avec la mme police et
la mme taille que le texte du prsent paragraphe, soit Times New Roman, 11 pt, pour les symboles de
lalphabet latin (tels que A, di, ai) et avec la police Symbol, 11 pt, pour les symboles grecs (tels que i
et i). Malheureusement, il nest pas possible de changer la police des quations dans lditeur
dquations de MS Word. Voici une des nombreuses raisons en faveur de lditeur MathType.
Peu importe lditeur dquations que vous utilisez, il faut crire les quations de faon professionnelle et
non comme sil sagit de code Matlab. Voici quelques exemples typiques :
crivez T4 A1A 2 A 3 A 4 et non T4= C*A1*A2*A3*A4*Gk;

crivez

h21
cp

ou

h21 c p

et non

2
2
atan 2 x3,1 , x1,1
x2,1

h21 c p

a tan 2( x3,1 , sqrt ( x1,12 x2,12 ))


crivez
et non
.
On crit les quations qui sont moins importantes et assez courtes directement dans le texte, comme dans
lexemple suivant : Puisque ax = 1, les variables ay et az ne peuvent jamais tre gales zro en mme
temps . Pour ces petites quations, on nest pas oblig dutiliser un diteur dquations, mais cest
fortement recommand afin dutiliser le mme style pour toutes les quations.
On crit chaque quation importante ou plus longue sur une nouvelle ligne en centrant lquation et en
alignant droite son numro entre parenthses. Les numros servent (possiblement) faire rfrence
une quation. Le paragraphe suivant est lexemple suivre dans votre cas.
En utilisant la formule pour la matrice D-H (Ai) et les paramtres D-H montrs dans le tableau 1, nous
arrivons aux matrices homognes suivantes :
s1
c
A1 1
0

0 c1 0
0 s1 0
1 0 540

0
0
1
,

(1)

L
L
A2
L

L
L
L

L
L
L

L
L
L

1
,

(2)

L
L
A3
L

L
L
L
0

L
L
L
0

L
L
L

(3)

page 3/11

A4

L
L

L
L

L
L

L
0

L
0

L
L

(4)

o s1 sin 1 , c1 cos 1 , etc.

2.4 Matrice C
La matrice homogne C qui reprsente la pose du rfrentiel de la base (rfrentiel 0) par rapport au
rfrentiel de latelier est

L
L

L
L

L
L

L
0

L
0

L
L

(5)

2.5 Matrice T4
En utilisant lquation T4 A1 A 2 A 3 A 4 et en regroupant les termes en 3 et 4 ( laide de la fonction
tCollect de notre calculatrice TI) nous arrivons au rsultat suivant :

T4

s1s34 L
L
L

s34 sin 3 4

et

c34 cos 3 4

L
0

L
L

L
0

L
0

L
L

(6)

2.6 Matrice Gk
Suite notre choix pour le rfrentiel 4 (figure 1), nous obtenons :
L
L
Gk
L

L
L
L

L
L
L

L
L
L

1
.

(7)

2.7 quation de la cinmatique directe


Lquation de la cinmatique directe donne la matrice homogne qui dfinit la pose du rfrentiel de
loutil par rapport au rfrentiel de latelier. :

page 4/11

X CT4 G k

L
L

L
L

L
L

L
0

L
0

L
L

(8)

2.8 quations pour dterminer la pose de leffecteur


Une fois que la matrice homogne X a t calcule, nous pouvons trouver les coordonnes de lorigine du
rfrentiel de loutil par rapport au rfrentiel de latelier en utilisant les trois quations suivantes :
x x1,4

(9)

y x2,4

(10)

z x3,4

,
(11)
o x1,4 est le coefficient de la matrice X qui se trouve lintersection de la ligne 1 et de la colonne 4, x2,4
est le coefficient de la matrice X qui se trouve lintersection de la ligne 2 et de la colonne 4, etc.
Pour ce qui est de la reprsentation de lorientation du rfrentiel de loutil par rapport au rfrentiel de
latelier, nous devons utiliser les trois angles dEuler, w, p et r, selon la convention utilise dans la
fonction OrientZYX(r,p,w) du langage de programmation RAPID (ce quon va appeler la
convention xyz ou bien la convention zyx"). Dans cette convention, les trois rotations sont effectues dans
lordre suivant :
1. rotation de r autour de laxe z,
2. rotation de p autour du nouvel axe y,
3. rotation de w autour du nouvel axe x.
Ainsi, les formules pour trouver une seule solution pour ces trois angles, dans la plage [180, 180],
partir de la matrice X sont :

2
2
p atan 2 x3,1 , x1,1
x2,1

x1,1

cos p cos p ,
x2,1

r atan 2

w atan 2

x3,2

(12)

(13)

x3,3

cos p cos p ,
(14)
x 1
x 1
dans le cas o 3,1
. Dans le cas particulier 3,1
, il y a une singularit de reprsentation et nous
pouvons trouver une solution pour les trois angles en utilisant les formules suivantes :
p x3,1 90

r atan 2 x3,1 x2,3 , x2,2

(15)
,

(16)

w 0 .

(17)
Il est important de noter que les quations (1214) donnent seulement un des deux triplets dangles

page 5/11

dEuler possibles, alors que les quations (1517) donnent seulement une parmi un nombre infini de
solutions. Ainsi, il est tout fait possible que les angles dEuler que nous allons trouver pour une
configuration donne de robot seront diffrents (mais quivalents) des angles dEuler quune autre quipe
va trouver, par exemple.

Cinmatique inverse

cet endroit, vous devez expliquer ce quest la cinmatique inverse et les diffrentes tapes suivre
(trouver les premires douze quations, identifier celles qui vous permettent de rsoudre au moins
certaines variables articulaires, etc.). Vous pouvez galement dire si le robot peut avoir plus dune
configuration pour la mme pose de leffecteur.

3.1 La matrice X en fonction de la pose de leffecteur


Soit x, y et z, les coordonnes de lorigine du rfrentiel de leffecteur par rapport au rfrentiel de
latelier, et w, p et r, les angles dEuler suivant la convention xyz reprsentant lorientation du rfrentiel
de leffecteur par rapport au rfrentiel de latelier. La matrice homogne qui reprsente la pose du
rfrentiel de leffecteur par rapport au rfrentiel de latelier en fonction de ces six variables (x, y, z, w, p
et r) est dfinie comme
cos r cos p cos r sin p sin w sin r cos w cos r sin p cos w sin r sin w x
sin r cos p sin r sin p sin w cos r cos w sin r sin p cos w cos r sin w y

X
sin p
cos p sin w
cos p cos w
z

0
0
0
1

.
(18)
Pour des raisons despace et de simplicit, nous allons substituer les coefficients de la matrice X par des
variables :
nx
n
X y
nz

ox
oy
oz
0

ax
ay
az
0

px
p y
pz

1
.

(19)

3.2 Les premires douze quations


En reformulant lquation de la cinmatique directe X CT4G k nous avons
T4 C 1XG k1 ,

(20)
o en substituant la matrice T4 avec lexpression de lquation (6), la matrice X avec lexpression de
lquation (18), etc., et en effectuant les calculs, nous arrivons lquation matricielle suivante :
s1s34 L
L
L

L
L

0
0

L
L
L
0

L
L
L

ay L
L L

L L

0 0

L
L
L
0

L
L

(21)
Cette quation matricielle consiste en 12 quations scalaires que nous devons maintenant essayer de
page 6/11

rsoudre :

s1 s34 a y

(22)

L L ,

(23)

L L ,

(24)

L L ,

(25)

L L ,

(26)

L L ,

(27)

L L ,

(28)

L L ,

(29)

L L ,

(30)

L L ,

(31)

L L ,

(32)

L L .

(33)

3.3 Calcul de la variable articulaire 1


Nous pouvons utiliser les quations ( L ) et ( L ) pour trouver s1 et c1, et ensuite utiliser la formule de
type 4 pour trouver la variable articulaire 1 :

1 atan 2 oz , o y

.
(34)
Il faut noter que cette quation est toujours dfinie, car selon lquation ( L ), ox = 0, ce qui veut dire que
les variables oy et oz ne peuvent jamais tre gales zro en mme temps (car

ox2 o 2y oz2 o y2 oz2 0

).

3.4 Calcul de la variable articulaire 2


Malheureusement, nous ne pouvons trouver aucune autre variable articulaire directement partir des
quations (2233). Puisque nous avons dj trouv linconnu 1, nous allons transfrer la matrice A1 du
ct droit :
A 2 A3 A 4 A11C 1XG k1 ,

(35)
ce qui gnre les douze nouvelles quations suivantes, o s1 et c1 ont t substitu par oz et oy,
respectivement :
L L ,

(36)

L L ,

(37)

L L ,

(38)

L L ,

(39)

L L ,

(40)

L L ,

(41)

page 7/11

L L ,

(42)

L L ,

(43)

L L ,

(44)

L L ,

(45)

L L ,

(46)

L L .
partir de lquation ( L ), on dduit directement lexpression pour d2 :
d2 L .

(47)

(48)

3.5 Calcul de la variable articulaire 3


Dans cette section, vous continuez dans le mme sens pour trouver la variable articulaire 3.

3.6 Calcul de la variable articulaire 4


Dans cette section, vous continuez dans le mme sens pour trouver la variable articulaire 4.

Vrification avec RobotStudio

Nous avons utilis le modle du robot qui nous a t fourni en tant que station RobotStudio. La figure 2
prsente une des dix configurations qui ont t testes pour valider nos quations de la cinmatique
directe et inverse. La fentre quon voit la figure 2 montre la pose de leffecteur (dans lordre, x, y et z,
et ensuite, w, p et r) par rapport au rfrentiel de latelier pour la configuration du robot avec
1 = 42.29, d2 = 243.00 mm, 3 = 116.70, et 4 = 27.07.

Figure 2. Capture dcran de la station RobotStudio du robot.

page 8/11

4.1 Tableaux comparatifs des rsultats


Le tableau 2 numre les rsultats de la cinmatique directe obtenus par notre fonction
Cinematique_Directe dans Matlab et ceux obtenus dans RobotStudio (voir figure 2). Pareillement,
le tableau 3 numre les rsultats de la cinmatique inverse obtenus par notre fonction
Cinematique_Inverse dans Matlab et ceux obtenus dans RobotStudio.
Tableau 2. Rsultats pour la cinmatique directe.
Pose obtenue dans Matlab /
Variables articulaires
Pose obtenue dans RobotStudio
1
d2
3
4
x
y
z
w
[mm]
[mm]
[mm]
[mm]
[]
[]
[]
[]
42.29 243.00

116.70 27.07

1.3442e+003
1345.31

460.3852
463.18

p
[]

1.1127e+003 42.2906 0.2737


1114.54
42.49
0.22

r
[]
0.2490
0.20

page 9/11

x
[mm]

Tableau 3. Rsultats pour la cinmatique inverse.


Variables articulaires saisies dans
Pose saisie dans RobotStudio
RobotStudio / Variables articulaires obtenues
dans Matlab
y
z
w
p
r
1
d2
3
4
[mm]
[mm]
[]
[]
[]
[mm]
[]
[]
[]

1646.24

812.41

2285.52

117.65

18.69

148.56

57.04
57.0439

185.60
239.90
185.5868 120.0410

6.04
6.0391

4.2 Discussions sur les rsultats


videmment, vos rsultats doivent concorder avec les rsultats obtenus dans RobotStudio. Par contre, il y
aura des erreurs numriques (aussi grandes que 3 mm ou 0.2) ainsi que des diffrences de 360 sur
certaines variables articulaires. En plus, il se peut que la solution des angles dEuler que RobotStudio
vous donne nest pas la mme que celle que vous avez obtenue. Dans ce cas-l, il faut sassurer que les
deux triplets dangles dEuler correspondent la mme orientation.

Conclusion

Dans cette section, vous devez rdiger vos conclusions. Vous pouvez, par exemple, commenter le
problme derreurs numriques et la possibilit de diffrents triplets dangles dEuler pour la mme
orientation. Vous pouvez aussi discuter de la programmation en Matlab. Enfin, vous pouvez galement
mentionner si ce projet vous a aid comprendre la modlisation cinmatique dun robot.

page 10/11

ANNEXE A : LISTING DU PROGRAMME CINEMATIQUE_DIRECTE.M


% Entre : les quatre variables articulaires du robot
% Sortie : x, y, z, w, p, r de F_outil par rapport au F_R
function pose = Cinematique_Directe(theta1, d2, theta3, theta4)
% Conversion de degrs en radians (car Matlab fonctionne en radians)
theta1 = ...
d2 = ...
theta3 = ...
theta4 = ...
% Calcul des matrices "A" avec la fonction dh (Denavit Hartenberg)
A1 = dh(...
A2 = dh(...
A3 = dh(...
A4 = dh(...
% Matrice de transformation C
C = ...
% Matrice de transformation Gk
Gk = ...
% Matrice homogne qui dfinit la pose du rfrentiel F_outil
% par rapport au rfrentiel F_R
H = C*A1*A2*A3*A4*Gk;
% Calcul de r, p, w (convention XYZ d'angles d'Euler)
if abs(H(3,1)) == 1
p = -H(3,1)*90;
w = 0; % la valeur de w peut tre arbitraire, mais on choisit w = 0
r = atan2(-H(3,1)*H(2,3),H(2,2))*180/pi;
else
% il y a deux solutions dans la plage [-180,180]
p = atan2(-H(3,1),sqrt(H(1,1)^2+H(2,1)^2))*180/pi;
cp = cos(p*pi/180);
r = atan2(H(2,1)/cp,H(1,1)/cp)*180/pi;
w = atan2(H(3,2)/cp,H(3,3)/cp)*180/pi;
end
% Rsultat
pose.x = H(1,4);
pose.y = H(2,4);
pose.z = H(3,4);
pose.w = w;
pose.p = p;
pose.r = r;
% Matrice A
function A = dh(theta,d,a,t)
A = [cos(theta), -sin(theta)*cos(t),
sin(theta), cos(theta)*cos(t),
0,
sin(t),
0,
0,

sin(theta)*sin(t), a*cos(theta);
-cos(theta)*sin(t), a*sin(theta);
cos(t),
d;
0,
1];

page 11/11

ANNEXE B : LISTING DU PROGRAMME CINEMATIQUE_INVERSE.M


% Entre : x, y, z, w, p, r de F_outil par rapport au F_R
% Sortie : les quatre variables articulaires du robot
function q = Cinematique_Inverse(x,y,z,w,p,r)
%
%
w
p
r
H

Matrice homogne qui dfinit la pose du rfrentiel F_outil


par rapport au rfrentiel F_R
= w*pi/180;
= p*pi/180;
= r*pi/180;
= [ cos(r)*cos(p), cos(r)*sin(p)*sin(w)-sin(r)*cos(w), cos(r)*sin(p)*cos(w)+sin(r)*sin(w),
sin(r)*cos(p), sin(r)*sin(p)*sin(w)+cos(r)*cos(w), sin(r)*sin(p)*cos(w)-cos(r)*sin(w),
-sin(p),
cos(p)*sin(w),
cos(p)*cos(w),
0,
0,
0,

x;
y;
z;
1];

% Dcomposition de la matrice H
nx = H(1,1);
ny = H(2,1);
nz = H(3,1);
ox = H(1,2);
oy = H(2,2);
oz = H(3,2);
ax = H(1,3);
ay = H(2,3);
az = H(3,3);
px = H(1,4);
py = H(2,4);
pz = H(3,4);
% Calcul de theta1
theta1 = ...
% Calcul de d2
d2 = ...
% Calcul de theta3
theta3 = ...
% Calcul de theta4:
theta4 = ...
% Conversion en degrs
theta1 = ...
theta3 = ...;
theta4 = ...;
% Rsultat
q.theta1 = theta1;
q.d2 = d2;
q.theta3 = theta3;
q.theta4 = theta4;

page 12/11

Vous aimerez peut-être aussi