18
GPA546 : Projet 3 Cinématique d’un robot par Équipe No. <numéro d’équipe> Nom1, Prénom1 (<code permanent>) Nom2, Prenom2 (<code permanent >) Nom3, Prénom3 (<code permanent >)

Project Report Template - cours. Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

  • Upload
    dangnhi

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

GPA546 : Projet 3

Cinématique d’un robot

par

Équipe No. <numéro d’équipe>Nom1, Prénom1 (<code permanent>)Nom2, Prenom2 (<code permanent >)Nom3, Prénom3 (<code permanent >)

Montréal, le <date>

Page 2: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

TABLE DES MATIÈRES

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

2 CINÉMATIQUE DIRECTE.............................................................................................................1

2.1 Référentiels D-H..................................................................................................................12.2 Tableau des paramètres D-H................................................................................................22.3 Matrices D-H.......................................................................................................................22.4 Matrice C.............................................................................................................................32.5 Matrice T4............................................................................................................................42.6 Matrice Gk............................................................................................................................42.7 Équation de la cinématique directe......................................................................................42.8 Équations pour déterminer la pose de l’effecteur................................................................4

3 CINÉMATIQUE INVERSE.............................................................................................................5

3.1 La matrice X en fonction de la pose de l’effecteur..............................................................53.2 Les premières douze équations............................................................................................63.3 Calcul de la variable articulaire 1........................................................................................63.4 Calcul de la variable articulaire 2........................................................................................73.5 Calcul de la variable articulaire 3........................................................................................73.6 Calcul de la variable articulaire 4........................................................................................7

4 VÉRIFICATION AVEC ROBOTSTUDIO......................................................................................7

4.1 Tableaux comparatifs des résultats......................................................................................84.2 Discussions sur les résultats.................................................................................................9

5 CONCLUSION.................................................................................................................................9

page i

Page 3: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

LISTE DES FIGURES

Figure 1. Schéma du robot à 4 ddl avec tous les référentiels.........................................................................2Figure 2. Capture d’écran de la station RobotStudio du robot.......................................................................8

page ii

Page 4: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

LISTE DES TABLEAUX

Tableau 1. Paramètres D-H pour le robot illustré à la figure 1......................................................................2Tableau 2. Résultats pour la cinématique directe..........................................................................................8Tableau 3. Résultats pour la cinématique inverse..........................................................................................9

page iii

Page 5: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

1 IntroductionDans cette section, vous devez présenter le robot et les analyses que vous allez effectuer. Mentionnez également comment vous aller valider vos résultats.Partout dans ce rapport, vous devez utiliser la bonne terminologie, notamment :

variables articulaires; variables cartésiennes (ou la pose de l’effecteur); angles d’Euler selon la convention xyz; degrés de liberté (abrévié ddl); référentiel (ou repère, ou système d’axes) comme dans référentiels D-H, référentiel de l’outil,

référentiel de la base, ou référentiel de l’atelier; articulation prismatique; articulation rotoïde.

Vous devez écrire, par exemple, que « la matrice homogène Ai représenté la pose du référentiel i par rapport au référentiel i – 1. (Notez l’utilisation du symbole « – » pour désigner le signe moins, plutôt que l’usage incorrect mais répandu du trait d’union « - »). Vous devez utiliser le terme position correctement et non comme substitut pour le terme pose. Le terme axe peut signifier différentes choses (comme dans « axe de rotation » ou « l’axe x »), mais pas vraiment articulation. On peut se permettre de dire « robot à quatre axes », plutôt que « robot à 4 ddl » ou « robot avec quatre articulations », mais pas « un axe prismatique ». Aussi, une articulation rotoïde a un axe (de rotation), mais une articulation prismatique a seulement une direction.

2 Cinématique directeÀ cet endroit, vous devez expliquer ce qu’est la cinématique directe et les différentes étapes à suivre (choisir les référentiels D-H, trouver les paramètres D-H, etc.).

2.1 Référentiels D-HDans cette section, vous devez présenter le schéma du robot avec vos référentiels D-H, dans la figure 1. Vous n’avez pas à justifier l’emplacement de vos référentiels. Par contre, dessinez vos référentiels avec beaucoup de soin, exactement au bon endroit (par exemple, les axes z doivent être dessinés sur les lignes pointillées désignant les axes de rotation, et non à côté). Enfin, vous devez quand même rédiger une phrase qui introduit la figure 1, par exemple « Les référentiels D-H que nous avons choisis sont montrés à la figure 1 ».Évitez de référer à l’emplacement d’une figure (ou d’un autre élément tel qu’une équation ou un tableau) comme dans « la figure ci-dessous », car cet emplacement peut changer par la suite.

page 1/11

Page 6: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

550

+θ3

x0

z0

yR

xR

y0

145130

y

x

z

1100

+θ4

+θ1395

1980

41050

+d2

zR

550

+θ3

x0

z0

yR

xR

y0

145130

y

x

z

1100

+θ4

+θ1395

1980

41050

+d2

zR

Figure 1. Schéma du robot à 4 ddl avec tous les référentiels.

2.2 Tableau des paramètres D-HDans cette section, vous devez présenter les paramètres D-H qui correspondent à votre choix de référentiels D-H montré à la figure 1. N’oubliez pas d’inclure les valeurs de compensations aux paramètres D-H qui correspondent aux variables articulaires (par exemple, « 1 + 90° »). Vous n’avez pas besoin d’expliquer comment vous avez obtenu ces valeurs, mais il faut quand même rédiger une phrase pour introduire le tableau des paramètres D-H.

Tableau 1. Paramètres D-H pour le robot illustré à la figure 1.i i di ai i

1 1 + 90° 540 0 −90°2 … … … …3 … … … …4 … … … …

2.3 Matrices D-HDans cette section, vous devez présenter les matrices Ai. Il faut rédiger une phrase pour introduire ces matrices, par exemple « En utilisant la formule pour la matrice Ai et les paramètres D-H montrés dans le tableau 1, nous arrivons à : ». Notez qu’un rapport technique comme celui-ci n’est pas un brouillon : il ne doit pas se réduire à une suite d’équations. Il faut relier les équations par des commentaires.Il est très important de respecter les normes typographiques dans l’édition d’équations et d’utiliser l’éditeur d’équation MathType, si possible, ou celui qui vient avec MS Word. Les équations font partie du texte et doivent s’y inclure comme tout autre élément. Elles doivent être rédigées avec la même police et la même taille que le texte du présent paragraphe, soit Times New Roman, à 11 pt, pour les symboles de

page 2/11

Page 7: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

l’alphabet latin (tels que A, di, ai) et avec la police Symbol, à 11 pt, pour les symboles grecs (tels que i

et i). Malheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word. Voici une des nombreuses raisons en faveur de l’éditeur MathType.Peu importe l’éditeur d’équations que vous utilisez, il faut écrire les équations de façon professionnelle et non comme s’il s’agit de code Matlab. Voici quelques exemples typiques :

écrivez et non T4= C*A1*A2*A3*A4*Gk;

écrivez ou et non ;

écrivez et non .On écrit les équations qui sont moins importantes et assez courtes directement dans le texte, comme dans l’exemple suivant : « Puisque ax = 1, les variables ay et az ne peuvent jamais être égales à zéro en même temps ». Pour ces petites équations, on n’est pas obligé d’utiliser un éditeur d’équations, mais c’est fortement recommandé afin d’utiliser le même style pour toutes les équations.On écrit chaque équation importante ou plus longue sur une nouvelle ligne en centrant l’équation et en alignant à droite son numéro entre parenthèses. Les numéros servent à (possiblement) faire référence à une équation. Le paragraphe suivant est l’exemple à suivre dans votre cas.En utilisant la formule pour la matrice D-H (Ai) et les paramètres D-H montrés dans le tableau 1, nous arrivons aux matrices homogènes suivantes :

, (1)

, (2)

, (3)

, (4)

où , , etc.

page 3/11

Page 8: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

2.4 Matrice CLa matrice homogène C qui représente la pose du référentiel de la base (référentiel 0) par rapport au référentiel de l’atelier est

. (5)

2.5 Matrice T4

En utilisant l’équation et en regroupant les termes en 3 et 4 (à l’aide de la fonction tCollect de notre calculatrice TI) nous arrivons au résultat suivant :

, (6)

où et .

2.6 Matrice Gk

Suite à notre choix pour le référentiel 4 (figure 1), nous obtenons :

. (7)

2.7 Équation de la cinématique directeL’équation de la cinématique directe donne la matrice homogène qui définit la pose du référentiel de l’outil par rapport au référentiel de l’atelier. :

. (8)

2.8 Équations pour déterminer la pose de l’effecteurUne fois que la matrice homogène X a été calculée, nous pouvons trouver les coordonnées de l’origine du référentiel de l’outil par rapport au référentiel de l’atelier en utilisant les trois équations suivantes :

, (9)

, (10)

, (11)

page 4/11

Page 9: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

où x1,4 est le coefficient de la matrice X qui se trouve à l’intersection de la ligne 1 et de la colonne 4, x2,4

est le coefficient de la matrice X qui se trouve à l’intersection de la ligne 2 et de la colonne 4, etc.Pour ce qui est de la représentation de l’orientation du référentiel de l’outil par rapport au référentiel de l’atelier, nous devons utiliser les trois angles d’Euler, w, p et r, selon la convention utilisée dans la fonction OrientZYX(r,p,w) du langage de programmation RAPID (ce qu’on va appeler la convention xyz ou bien la convention zy’x"). Dans cette convention, les trois rotations sont effectuées dans l’ordre suivant :

1. rotation de r autour de l’axe 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 :

, (12)

, (13)

, (14)

dans le cas où . Dans le cas particulier , il y a une singularité de représentation et nous pouvons trouver une solution pour les trois angles en utilisant les formules suivantes :

, (15)

, (16)

. (17)Il est important de noter que les équations (12–14) donnent seulement un des deux triplets d’angles d’Euler possibles, alors que les équations (15–17) donnent seulement une parmi un nombre infini de solutions. Ainsi, il est tout à fait possible que les angles d’Euler que nous allons trouver pour une configuration donnée de robot seront différents (mais équivalents) des angles d’Euler qu’une autre équipe va trouver, par exemple.

3 Cinématique inverseÀ cet endroit, vous devez expliquer ce qu’est la cinématique inverse et les différentes étapes à suivre (trouver les premières douze équations, identifier celles qui vous permettent de résoudre au moins certaines variables articulaires, etc.). Vous pouvez également dire si le robot peut avoir plus d’une configuration pour la même pose de l’effecteur.

3.1 La matrice X en fonction de la pose de l’effecteurSoit x, y et z, les coordonnées de l’origine du référentiel de l’effecteur par rapport au référentiel de l’atelier, et w, p et r, les angles d’Euler suivant la convention xyz représentant l’orientation du référentiel de l’effecteur par rapport au référentiel de l’atelier. La matrice homogène qui représente la pose du référentiel de l’effecteur par rapport au référentiel de l’atelier en fonction de ces six variables ( x, y, z, w, p et r) est définie comme

page 5/11

Page 10: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

. (18)Pour des raisons d’espace et de simplicité, nous allons substituer les coefficients de la matrice X par des variables :

. (19)

3.2 Les premières douze équations

En reformulant l’équation de la cinématique directe nous avons

, (20)où en substituant la matrice T4 avec l’expression de l’équation (6), la matrice X avec l’expression de l’équation (18), etc., et en effectuant les calculs, nous arrivons à l’équation matricielle suivante :

. (21)Cette équation matricielle consiste en 12 équations scalaires que nous devons maintenant essayer de résoudre :

, (22)

, (23)

, (24)

, (25)

, (26)

, (27)

, (28)

, (29)

, (30)

, (31)

, (32)

. (33)

page 6/11

Page 11: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

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

. (34)Il faut noter que cette équation est toujours définie, car selon l’équation ( ), ox = 0, ce qui veut dire que

les variables oy et oz ne peuvent jamais être égales à zéro en même temps (car ).

3.4 Calcul de la variable articulaire 2Malheureusement, nous ne pouvons trouver aucune autre variable articulaire directement à partir des équations (22–33). Puisque nous avons déjà trouvé l’inconnu 1, nous allons transférer la matrice A1 du côté droit :

, (35)ce qui génère les douze nouvelles équations suivantes, où s1 et c1 ont été substitué par oz et oy, respectivement :

, (36)

, (37)

, (38)

, (39)

, (40)

, (41)

, (42)

, (43)

, (44)

, (45)

, (46)

. (47)À partir de l’équation ( ), on déduit directement l’expression pour d2 :

. (48)

3.5 Calcul de la variable articulaire 3Dans cette section, vous continuez dans le même sens pour trouver la variable articulaire 3.

3.6 Calcul de la variable articulaire 4Dans cette section, vous continuez dans le même sens pour trouver la variable articulaire 4.

4 Vérification avec RobotStudioNous avons utilisé le modèle du robot qui nous a été fourni en tant que station RobotStudio. La figure  2 présente une des dix configurations qui ont été testées pour valider nos équations de la cinématique directe et inverse. La fenêtre qu’on voit à la figure 2 montre la pose de l’effecteur (dans l’ordre, x, y et z,

page 7/11

Page 12: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

et ensuite, w, p et r) par rapport au référentiel de l’atelier pour la configuration du robot avec 1 = −42.29°, d2 = 243.00 mm, 3 = 116.70°, et 4 = −27.07°.

Figure 2. Capture d’écran de la station RobotStudio du robot.

4.1 Tableaux comparatifs des résultats Le tableau 2 énumère les résultats de la cinématique directe obtenus par notre fonction Cinematique_Directe dans Matlab et ceux obtenus dans RobotStudio (voir figure 2). Pareillement, le tableau 3 énumère les résultats de la cinématique inverse obtenus par notre fonction Cinematique_Inverse dans Matlab et ceux obtenus dans RobotStudio.

Tableau 2. Résultats pour la cinématique directe.

Variables articulaires Pose obtenue dans Matlab /Pose obtenue dans RobotStudio

1

[°]d2

[mm]3

[°]4

[°]x

[mm]y

[mm]z

[mm]w[°]

p[°]

r[°]

−42.29 243.00 116.70 −27.07 1.3442e+0031345.31

460.3852463.18

−1.1127e+003−1114.54

−42.2906−42.49

−0.2737−0.22

0.24900.20

… … … … ……

……

……

……

……

……

… … … … ……

……

……

……

……

……

… … … … ……

……

……

……

……

……

… … … … ……

……

……

……

……

……

page 8/11

Page 13: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

Tableau 3. Résultats pour la cinématique inverse.

Pose saisie dans RobotStudioVariables articulaires saisies dans

RobotStudio / Variables articulaires obtenues dans Matlab

x[mm]

y[mm]

z[mm]

w[°]

p[°]

r[°]

1

[°]d2

[mm]3

[°]4

[°]

1646.24 812.41 −2285.52 117.65 18.69 148.56 57.0457.0439

−185.60−185.5868

239.90−120.0410

−6.04−6.0391

… … … … … … ……

……

……

……

… … … … … … ……

……

……

……

… … … … … … ……

……

……

……

… … … … … … ……

……

……

……

4.2 Discussions sur les résultatsÉvidemment, vos résultats doivent concorder avec les résultats obtenus dans RobotStudio. Par contre, il y aura des erreurs numériques (aussi grandes que 3 mm ou 0.2°) ainsi que des différences de 360° sur certaines variables articulaires. En plus, il se peut que la solution des angles d’Euler que RobotStudio vous donne n’est pas la même que celle que vous avez obtenue. Dans ce cas-là, il faut s’assurer que les deux triplets d’angles d’Euler correspondent à la même orientation.

5 ConclusionDans cette section, vous devez rédiger vos conclusions. Vous pouvez, par exemple, commenter le problème d’erreurs numériques et la possibilité de différents triplets d’angles d’Euler pour la même orientation. Vous pouvez aussi discuter de la programmation en Matlab. Enfin, vous pouvez également mentionner si ce projet vous a aidé à comprendre la modélisation cinématique d’un robot.

page 9/11

Page 14: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

ANNEXE A : LISTING DU PROGRAMME CINEMATIQUE_DIRECTE.M

% Entrée : 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 degrés 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 CC = ... % Matrice de transformation GkGk = ...

% Matrice homogène qui définit la pose du référentiel F_outil% par rapport au référentiel F_RH = 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 % Résultat 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 Afunction A = dh(theta,d,a,t)A = [cos(theta), -sin(theta)*cos(t), sin(theta)*sin(t), a*cos(theta); sin(theta), cos(theta)*cos(t), -cos(theta)*sin(t), a*sin(theta); 0, sin(t), cos(t), d; 0, 0, 0, 1];

page 10/11

Page 15: Project Report Template - cours.   Web viewMalheureusement, il n’est pas possible de changer la police des équations dans l’éditeur d’équations de MS Word

ANNEXE B : LISTING DU PROGRAMME CINEMATIQUE_INVERSE.M

% Entrée : 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)

% Matrice homogène qui définit la pose du référentiel F_outil% par rapport au référentiel F_Rw = w*pi/180;p = p*pi/180;r = r*pi/180;H = [ 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; -sin(p), cos(p)*sin(w), cos(p)*cos(w), z; 0, 0, 0, 1];

% Décomposition de la matrice Hnx = 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 theta1theta1 = ...

% Calcul de d2d2 = ...

% Calcul de theta3theta3 = ...

% Calcul de theta4:theta4 = ...

% Conversion en degréstheta1 = ...theta3 = ...;theta4 = ...;

% Résultatq.theta1 = theta1;q.d2 = d2;q.theta3 = theta3;q.theta4 = theta4;

page 11/11