Académique Documents
Professionnel Documents
Culture Documents
SEDKI Rapport
SEDKI Rapport
SEDKI Rapport
#Rapport de projet :
Réalisé par :
SEDKI Hamza_4A_GEM_GEE
Encadrant :
Pr.NAFI
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
SOMMAIRE :
Cahier de charge :
Script MATLAB :
Conclusion ;
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Introduction :
La robotique industrielle offre la possibilité d'automatiser des tâches spécifiques au sein
de votre chaîne de production, ce qui se traduit par une augmentation de la flexibilité et une
amélioration de la productivité. À l'origine, les robots industriels ont été développés pour
intervenir dans des environnements présentant des risques élevés tels que le secteur nucléaire
ou des conditions de forte corrosion. Par la suite, leur utilisation s'est étendue à l'industrie
automobile et à d'autres domaines.
Un robot industriel est un dispositif programmable conçu pour effectuer
automatiquement des tâches spécifiques. Il est utilisé pour remplacer l'homme dans les tâches
dangereuses. Un robot se compose de plusieurs éléments essentiels. Tout d'abord, il comprend
une partie mécanique, notamment un bras, qui lui permet d'effectuer les mouvements
nécessaires pour accomplir les tâches assignées. Ensuite, il est équipé d'une armoire de
commande qui abrite une unité centrale responsable de la gestion des commandes électroniques
des différents axes du robot. Cette unité centrale est accompagnée de variateurs de vitesse qui
assurent le contrôle précis des mouvements du robot. De plus, le robot dispose d'un langage de
programmation spécialisé qui permet aux opérateurs de le commander et de lui donner des
instructions précises. Enfin, le robot intègre également un transformateur de coordonnées qui
convertit les valeurs cartésiennes en données codeur du moteur, permettant ainsi un
positionnement précis.
Il existe différents types de robots industriels, chacun avec ses propres caractéristiques et
applications spécifiques. Certains robots sont programmés pour exécuter de manière précise et
répétitive des actions spécifiques. Ces robots sont dotés d'une programmation rigoureuse qui
leur permet d'accomplir des tâches avec un haut degré de précision. D'autres robots, en
revanche, offrent une plus grande flexibilité. Ces robots flexibles sont souvent utilisés dans des
domaines tels que la peinture, où ils peuvent s'adapter à différentes surfaces et contours pour
effectuer leur travail. Ils sont programmés pour s'adapter à des situations variables et peuvent
être configurés pour différentes applications selon les besoins.
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
1/cahier de charge :
Notre objectif est de créer un fichier.tjr qui permettra de programmer une séquence d'actions
pour le robot à partir de sa position initiale. Voici les différentes manipulations que nous
souhaitons effectuer :
Notre objectif est donc de créer un fichier.tjr qui contiendra les instructions nécessaires pour
que le robot exécute ces manipulations dans l'ordre spécifié.
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
3/script MATLAB :
function Matrice=Rz(teta)
c=cos(teta);
s=sin(teta);
Matrice=[ c -s 0 0
s c 0 0
0 0 1 0
0 0 0 1];
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
function Matrice=Tz(b)
Matrice=[1 0 0 0
0 1 0 0
0 0 1 b
0 0 0 1];
function Matrice=Tx(a)
Matrice=[1 0 0 a
0 1 0 0
0 0 1 0
0 0 0 1];
function TG=ModelGD(teta)
TG=eye(4,4);
for i=1:length(table(:,1))
TE=Rz(table(i,1))*Tz(table(i,2))*Tx(table(i,3))*Rx(table(i
,4));
TG=TG*TE;
End
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Lorsqu'un opérateur spécifie la vitesse cartésienne de l'outil d'un robot, le contrôleur du robot
doit déterminer les vitesses articulaires nécessaires. Calculer directement cette relation en
différentiant l'équation de la cinématique directe par rapport au temps devient très complexe
pour les robots avec plus de deux articulations rotoides.
Heureusement, il existe une matrice appelée jacobienne qui permet de convertir le vecteur des
vitesses articulaires en vecteur des vitesses de l'outil. Cette matrice peut être calculée de
manière symbolique en utilisant des formules simples, que nous présenterons dans ce rapport.
Algorithme pour calculer la matrice Jacobéenne :
function Ja =jacob(teta)
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
T1=Rz(table(1,1))*Tz(table(1,2))*Tx(table(1,3))*Rx(table(1,4));
T2=Rz(table(2,1))*Tz(table(2,2))*Tx(table(2,3))*Rx(table(2,4));
T3=Rz(table(3,1))*Tz(table(3,2))*Tx(table(3,3))*Rx(table(3,4));
T4=Rz(table(4,1))*Tz(table(4,2))*Tx(table(4,3))*Rx(table(4,4));
T5=Rz(table(5,1))*Tz(table(5,2))*Tx(table(5,3))*Rx(table(5,4));
T6=Rz(table(6,1))*Tz(table(6,2))*Tx(table(6,3))*Rx(table(6,4));
R1=T1(1:3,1:3);
R2=T2(1:3,1:3);
R3=T3(1:3,1:3);
R4=T4(1:3,1:3);
R5=T5(1:3,1:3);
R6=T6(1:3,1:3);
R11=R1;
R12=R11*R2;
R13=R12*R3;
R14=R13*R4;
R15=R14*R5;
R16=R15*R6;
k=[0 0 1]';
e1=k;
e2=R11*k;
e3=R12*k;
e4=R13*k;
e5=R14*k;
e6=R15*k;
P6=T6(1:3,4);
P5=T5(1:3,4);
P4=T4(1:3,4);
P3=T3(1:3,4);
P2=T2(1:3,4);
P1=T1(1:3,4);
r6p=P6;
r5p=P5+R5*r6p;
r4p=P4+R4*r5p;
r3p=P3+R3*r4p;
r2p=P2+R2*r3p;
r1p=P1+R1*r2p;
r6=R15*r6p;
r5=R14*r5p;
r4=R13*r4p;
r3=R12*r3p;
r2=R11*r2p;
r1=r1p;
Ja(:,1)=[e1;cross(e1,r1)];
Ja(:,2)=[e2;cross(e2,r2)];
Ja(:,3)=[e3;cross(e3,r3)];
Ja(:,4)=[e4;cross(e4,r4)];
Ja(:,5)=[e5;cross(e5,r5)];
10
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Ja(:,6)=[e6;cross(e6,r6)];
End
T1=Rz(table(1,1))*Tz(table(1,2))*Tx(table(1,3))*Rx(table(1,4));
T2=Rz(table(2,1))*Tz(table(2,2))*Tx(table(2,3))*Rx(table(2,4));
T3=Rz(table(3,1))*Tz(table(3,2))*Tx(table(3,3))*Rx(table(3,4));
T4=Rz(table(4,1))*Tz(table(4,2))*Tx(table(4,3))*Rx(table(4,4));
T5=Rz(table(5,1))*Tz(table(5,2))*Tx(table(5,3))*Rx(table(5,4));
T6=Rz(table(6,1))*Tz(table(6,2))*Tx(table(6,3))*Rx(table(6,4));
R1=T1(1:3,1:3);
R2=T2(1:3,1:3);
R3=T3(1:3,1:3);
R4=T4(1:3,1:3);
R5=T5(1:3,1:3);
R6=T6(1:3,1:3);
R11=R1;
R12=R11*R2;
R13=R12*R3;
R14=R13*R4;
R15=R14*R5;
R16=R15*R6;
k=[0 0 1]';
e1=k;
e2=R11*k;
e3=R12*k;
e4=R13*k;
e5=R14*k;
e6=R15*k;
11
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
P6=T6(1:3,4);
P5=T5(1:3,4);
P4=T4(1:3,4);
P3=T3(1:3,4);
P2=T2(1:3,4);
P1=T1(1:3,4);
r6p=P6;
r5p=P5+R5*r6p;
r4p=P4+R4*r5p;
r3p=P3+R3*r4p;
r2p=P2+R2*r3p;
r1p=P1+R1*r2p;
r6=R15*r6p;
r5=R14*r5p;
r4=R13*r4p;
r3=R12*r3p;
r2=R11*r2p;
r1=r1p;
Ja(:,1)=[e1;cross(e1,r1)];
Ja(:,2)=[e2;cross(e2,r2)];
Ja(:,3)=[e3;cross(e3,r3)];
Ja(:,4)=[e4;cross(e4,r4)];
Ja(:,5)=[e5;cross(e5,r5)];
Ja(:,6)=[e6;cross(e6,r6)];
end
function trj=trajectoire2points(teta,posef)
MGD = ModelGD(teta);
p=MGD(1:3,4);
q=MGD(1:3,1:3);
Qd=posef(1:3,1:3);
P1 = p;
P2 = posef(1:3,4);
pas=0.04;
T = 5;
iteration=(T/pas)+1;
t = [0:pas:T];
s = (t/T)-sin(2*pi*t/T)/(2*pi);
P = P1*ones(size(s)) + (P2-P1)*s;
for i=1:iteration
teta = reach(P(:,i),Qd,teta);
trj(:,i)=teta;
%pxy(:,i)=position_outil(theta);
end
12
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Maintenant on va appliquer ces deux programmes pour notre exemple. Pour cela on va
prendre comme situation initiale de notre robot Tinit =[1 0 0 0,0 1 0 0,0 0 1 0,0 0 0 1] Et pour
la variable teta, on va prendre :
θi= [ pi/2 0 0 0 0 pi/2]
script principale :
13
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Et pour simuler, on doit créer un autre fichier « myRobot.sim.rks » qui va contenir le nom du
robot et l’outil qu’on va utiliser comme suit :
Et après le choix de l’outil ainsi le robot dans le logiciel rokisim, on ouvre la fenêtre « load a
simulation » et on ouvre le fichier d’extension.sim pour la simulation.
14
SEDKI.HAMZA 2022-2023
ENSAM MEKNES ROBOTIQUE INDUSTRIELLE
Conclusion :
Fin du rapport
15
SEDKI.HAMZA 2022-2023