Vous êtes sur la page 1sur 9

Université des sciences et de la technologie Mohamed Boudiaf Oran

Faculté de Génie Electrique


Département d’Automatique

TP n°4 Génération de trajectoire


d’un robot manipulateur

Presenté par :

-ZERDAZI EL WARDI
-OULD SAHARI YOUCEF IDRISS
- RAZOUANE NABIL

Filiere : master 2 Automatique et Informatique Industrielle

Module : Commande de robots de manipulation

2019 – 2020
1. Trajectoires unidimensionnelles
A- Polynômes de degrés cinq :
1-tpoly(0,1,50);
1

0.5
s

0
5 10 15 20 25 30 35 40 45 50

0.05
s_

-0.05
5 10 15 20 25 30 35 40 45 50
-3
x 10
5
sB

-5
5 10 15 20 25 30 35 40 45 50

2-La commande [s,sd,sdd]=tpoly(0,1,50) vas enregistré les valeurs du trajectoire prises dans
des vecteurs (s :pour la position,sd :pour la vitesse et sdd :pour l’acceleration).

3- M=mean(sd)/max(sd);ca represente le temps passé avec la vitesse maximale,non on utilise


pas la vitesse maximale la plupart du temps

4-tpoly(0,1,50,0.5,0) ;
0 :position de depart.
1 :position d’arrivée.
50 :nbre d’échantillons.
0.5 :vitesse de départ.
0 :vitesse d’arrivée.
6

4
s

0
5 10 15 20 25 30 35 40 45 50

0.5
s_

-0.5
5 10 15 20 25 30 35 40 45 50

0.02

0
sB

-0.02

-0.04
5 10 15 20 25 30 35 40 45 50
On Remarque que le pique du chemain est de 5,il as dépasser la position désirée avant de faire
demi-tour.

B- Loi Bang-Bang avec palier de vitesse (Loi trapèze) :


1-lspb(0,1,50);

0.5
s

0
5 10 15 20 25 30 35 40 45 50

0.04

0.03
s_

0.02

0.01

0
5 10 15 20 25 30 35 40 45 50

-3
x 10
2

1
sB

-1

-2
5 10 15 20 25 30 35 40 45 50

2-[s,sd,sdd]=lspb(0,1,50);cette commande fait la meme chose,enregistré la position,la


vitesse et l’acceleration dans des vecteurs s,sd,ssd.
3-la valeur de la vitesse max est de 0.0306.
max(sd) 

4-s=lspb(0,1,50,0.025);
0:la position du depart.
1:la position d’arrivé.
50 :nbre d’échantillions.
0.025 :la vitesse maximum a atteindre.

0.5
s

0
5 10 15 20 25 30 35 40 45 50

0.03

0.02
s_

0.01

0
5 10 15 20 25 30 35 40 45 50

-3
x 10
4

2
sB

-2

-4
5 10 15 20 25 30 35 40 45 50
2. Trajectoires multidimensionnelles :

q = mtraj(@lspb, [0 2], [1 -1], 50); q = mtraj(@tpoly, [0 2], [1 -1], 50);


plot(q) plot(q)

LSPB TPOLY
2 2

1.5 1.5

1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50

3. Trajectoires dans l’espace articulaire :


mdl_puma560
T1 = SE3(0.4, 0.2, 0) * SE3.Rx(pi) %translation de x=0.4,y=0.2,z=0 et une
rotation de pi sur l'axe x
T2 = SE3(0.4, -0.2, 0) * SE3.Rx(pi/2) %translation de x=0.4,y=0.2,z=0 et
une rotation de pi sur l'axe x
q1 = p560.ikine6s(T1) %modele geométrique inverse pour 6 degrés de liberté
ou plus.
q2 = p560.ikine6s(T2);
t = [0:0.05:2]';%definition de nombre d'échantillon avec une periode
d'échantillonage de 0.05.
q = mtraj(@tpoly, q1, q2, t);% generation du trajectoire des articulateur
de A vers B.
plot(q) %tracage du trajectoire des articulateur de A ves B.
Trajectoire des articulateur avec mtraj tpoly
4

-1

-2

-3
0 5 10 15 20 25 30 35 40 45

utilisation de jtraj :
[q,qd,qdd] = jtraj(q1, q2, t) %generation du trajectoire des articulateurs
de A vers B et enregistré les valeurs dans des vecteurs
(q:trajectoire,qd:vitesse:qdd:acceleration)
q=p560.jtraj(T1,T2,t) %generation du trajectoires en utilisants les
matrices de transformations
p560.plot(q) %faire une simulation du trajectoire pris par le robot en 3D.
plot(t,q(:,2))%tracage que le trajectoire du 2éme articulateur (2éme
colonne);

trajectoire du 2eme articulateur


3.5

2.5

1.5

1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

qplot(t,q)%tracage du trajectoires des articulateurs en colorant le


trajectoire de chaque articulateur + une legende.

4
q1
q2
3
q3
q4
2 q5
Joint coordinates (rad,m)

q6

-1

-2

-3
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time (s)

T=p560.fkine(q) %Modele géometrique direct


p=T.transl %vecteur du chemain pris en translation
plot(p(1,:),p(2,:)) %tracage les coordonnées du 1er ligne de translation en
fonction du 2éme

0.45

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

4. Trajectoires dans l’espace Cartésien :


Ts = ctraj(T1, T2, length(t)) %generation du trajectoire de T1 vers T2 dans
le domaine cartesien
plot(t, Ts.transl) %tracage du trajectoire generée par la commande ctraj
Trajectoire generée de T1 vers T2
0.5
X
Y
0.4
Z

0.3

0.2

0.1

-0.1

-0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

plot(t, Ts.torpy('xyz'));%tracage le trajectoire de la rotation de T1 vers


T2

Trajectoire angulaire
4
Z
3 Y
X

-1

-2

-3

-4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

-qc = p560.ikine6s(Ts)%modele geometrique inverse a 6 DDL ou plus


-oui il y’as une différence entres ces figures et celles d’avant, les figures dans le trajectoire
cartesiens montres que 3 articulateurs, les figures dans les trajectoires dans l’espace
articulateurs montres tous les articulateurs par contre les trajectoires dans l’espace
unidimensionnelles montres la position , la vitesse et l’accélération.