Sei sulla pagina 1di 11

Università degli Studi di Padova

Facoltà di Ingegneria
Corso di laurea in INGEGNERIA MECCANICA
a.a. 2011/12

Corso di MECCANICA APPLICATA CON LABORATORIO


Esercitazioni del Laboratorio di Calcolo e Simulazione

Studente: Cognome Nome Matricola ______________


Meccanica Applicata con Laboratorio – a.a. 2011/12

Esercitazione 1.A

CINEMATICA DELL’END-EFFECTOR DI UN ROBOT SCARA

Immagini di robot SCARA scaricate da internet

z
1(t)
2(t)

1
3

z(t)
y
P

x
O

Schema cinematico di robot SCARA

1
Meccanica Applicata con Laboratorio – a.a. 2011/12

3
L2

2
2(t)
L1

1
z 1(t)
x
O

Vista da un osservatore posto in direzione dell’asse z

 x t   L cos t   L cos t 
 P 1 1 2 2

Coordinate parametriche di moto: y P t   L1 sin1t   L2 sin 2 t 

z t   z  v  t  1 a  t 2
 P 0 z0
2
z0

1t  = coordinata di rotazione del membro 1 = 10  10  t  10  t 2


(*) 1
2
 2 t  = coordinata di rotazione del membro 2 =  20  20  t   20  t 2
1
2
zP t  = coordinata di moto traslatorio del punto P appartenente al membro 3

  L1 cos1  d1  L2 cos 2  d 2


 x P t   v xP  1 dt

 2 dt

 L1 sin1  d1  L2 sin 2  d 2
Velocità: y P t   v yP  
 1 dt  2 dt
z P t   v zP  v z0  az0  t


v xP  L1 sin1 10  10  t   L2 sin 2 20   20  t 


v yP  L1 cos1 10  10  t   L2 cos 2 20   20  t 

v
 zP  v z0  az0  t

(*)
Parametri del moto rotatorio
Coordinata di rotazione (funzione della variabile indipendente tempo): t 
dt 
Velocità angolare:  t   (simbolo alternativo: t  )
dt
d t  d 2 t 
Accelerazione angolare: t   
2
(simbolo alternativo: t  )
dt dt

2
Meccanica Applicata con Laboratorio – a.a. 2011/12

 
 x P t   a xP  dt
d v xP

  d v yP
Accelerazione: y P t   a yP 
 dt
z t   a  d v zP
 P zP
dt

a  L cos     t 2  L sin   L cos     t 2  L sin 


 xP 1 1 10 10 1 1 10 2 2 20 20 2 2 20

a yP  L1 sin1 10  10  t   L1 cos1 10  L2 sin 2 20   20  t   L2 cos 2  20
2 2

a  a
 zP z0

Parametri della TRAIETTORIA del punto P (end effector): applicazione delle eq. da (9) a (13) del
Formulario di cinematica.

Sviluppo della esercitazione

1. Assegnazione dei dati

L1 L2 10 10 10  20 20  20 z0 v z0 az0

[m] [m] [rad] [rad/s] [rad/s2] [rad] [rad/s] [rad/s2] [m] [m/s] [m/s2]

2. Calcolo e rappresentazione 3D della traiettoria del punto P

3. Assegnazione di un valore alla variabile indipendente tempo

4. Calcolo di parametri della traiettoria all’istante assegnato

5. Calcolo della velocità e verifica della tangenza tra vettore velocità e traiettoria all’istante
assegnato

6. Rappresentazione del vettore velocità nel grafico 3D

7. Calcolo della accelerazione e delle sue componenti normale e tangenziale all’istante assegnato

8. Rappresentazione del vettore accelerazione nel grafico 3D

9. Commenti critici sui risultati ottenuti.

3
Meccanica Applicata con Laboratorio – a.a. 2011/12

Esercitazione 1.B

CINEMATICA DEL MOTO RELATIVO DI UN CORPO RIGIDO

Dato un sistema meccanico composto dal membro 1 fisso, e dai membri 2 e 3 mobili, determinare
posizione velocità accelerazione del punto P solidale al membro 3, noti i parametri cinematici dei
membri 2 e 3 e del sistema di riferimento mobile.

zm

. ..
222 ym

2
Om 3 xm

zf yf

xf
Of
1

rotazione di 2 in rif.
Om in rif. fisso P in rif. mobile
fisso
f
xOm=0 m
xP= sP0+vP0t+½ aP0 t2 2=20+2t
f
yOm=0 m
yP=s2  2 = 2
f
zOm=s1 m
zP=s3  =0
2

Per la struttura del sistema meccanico in esame il moto del punto P può essere descritto in modo più
semplice considerando un moto piano del membro 3 rispetto al sistema fisso solidale al membro 1.
Pertanto il sistema fisso è individuato dal sistema xf-yf ,mentre il sistema mobile è individuato da
xm-ym; il punto P è dotato di moto all’interno del sistema mobile.

4
Meccanica Applicata con Laboratorio – a.a. 2011/12

f f m
xP   xOm  xP 
    f  
    m R   
y P  y Om  y P 
dove:
m 1
 x P  s P 0  v P 0  t  aP 0  t
2
 2
my  s
 P 2

cos 2   sin 2 
f
f
m R   
 
m
sin 2  cos 2  

Posizione

f x P = f xO 2+ m x P (t )  cos( 2 (t )) - m y P  sin(2(t ))
f y P = f y O 2+ m y P (t )  sin( 2 (t ))  m x P  cos(2(t ))

Velocità

f
 x P 
f
 x Om   m
 y P 
m
 x P 
    f     
    m R  2 t  
   
y P  y Om    x P  y P 
 

Accelerazione

f
 xP 
f
 xOm   m
 y P 
m
xP 
m
 xP 
m
 y P 
 
 


 f 
 m R  2 t  
   

   2 t 2    
     2   2 t  
  

yP  yOm    x P  y P  yP   x P 
 

Sviluppo della esercitazione

1. Assegnazione dei dati

s1 sP 0 vP0 aP 0 s2 s3  20 20

[m] [m] [m/s] [m/s2] [m] [m] [rad] [rad/s]

2. Calcolo e rappresentazione 2D della traiettoria

3. Assegnazione di un valore alla variabile indipendente tempo

4. Calcolo di parametri della traiettoria all’istante assegnato

5
Meccanica Applicata con Laboratorio – a.a. 2011/12

5. Calcolo della velocità e delle sue componenti di trascinamento e relativa; verifica della tangenza
tra vettore velocità e traiettoria all’istante assegnato

6. Rappresentazione della vettore velocità nel grafico 2D

7. Calcolo della accelerazione e delle sue componenti (trascinamento, relativa e Coriolis) all’istante
assegnato

8. Rappresentazione del vettore accelerazione nel grafico 2D

9. Influenza percentuale delle 3 componenti della accelerazione

10. Commenti critici sui risultati ottenuti.

6
1 %
2
3 % Esercitazione 1.A - CINEMATICA DELL'END EFFECTOR DI UN ROBOT SCARA
4
5 clear all, close all, clc
6
7 tic
8 % assegnazione dei dati
9 L1=0.3; L2=0.25;
10 theta_10=5*(1/180)*pi; theta_20=0*(1/180)*pi; z_0=0.2;
11 omega_10=0.1; omega_20=0.05; v_z0=0.02;
12 alpha_10=0.5; alpha_20=0.2; a_z0=0.1;
13
14 % assegnazione del vettore tempo, variabile indipendente
15 T=2; % durata, valore max del tempo
16 npt=21; % numero di dati tempo
17 t=linspace(0,T,npt); % vettore tempo
18
19 % calcolo della traiettoria 3D
20 for n=1:npt
21 theta1(n)=theta_10+omega_10*t(n)+(1/2)*alpha_10*t(n)^2;
22 theta2(n)=theta_20+omega_20*t(n)+(1/2)*alpha_20*t(n)^2;
23 xP(n)=L1*cos(theta1(n))+L2*cos(theta2(n));
24 yP(n)=L1*sin(theta1(n))+L2*sin(theta2(n));
25 zP(n)=z_0+v_z0*t(n)+(1/2)*a_z0*t(n)^2;
26 figure(1) % grafico 3D della traiettoria
27 plot3(xP,yP,zP, 'o-b'); grid;
28 xlim([0;0.6]); ylim([0;0.6]); zlim([0;0.6]);
29 xlabel('x [m]');ylabel('y [m]'); zlabel('z [m]');
30 title('traiettoria di P');
31 %pause(0.1)
32 end
33
34 t_1=1.5; % assegnazione di un valore alla varibile tempo
35
36 % Calcolo dei parametri cinematici nell'istante assegnato
37 theta1_1=theta_10+omega_10*t_1+(1/2)*alpha_10*t_1^2;
38 theta2_1=theta_20+omega_20*t_1+(1/2)*alpha_20*t_1^2;
39 xP_1=L1*cos(theta1_1)+L2*cos(theta2_1);
40 yP_1=L1*sin(theta1_1)+L2*sin(theta2_1);
41 zP_1=z_0+v_z0*t_1+(1/2)*a_z0*t_1^2;
42 posP=[xP_1; yP_1; zP_1]; % posizione di P nell'istante assegnato
43
44 vxP_1=-L1*sin(theta1_1)*(omega_10+alpha_10*t_1)-L2*sin(theta2_1)*(omega_20+alpha_
45 vyP_1=L1*cos(theta1_1)*(omega_10+alpha_10*t_1)+L2*cos(theta2_1)*(omega_20+alpha_2
46 vzP_1=v_z0+a_z0*t_1;
47 velP=[vxP_1; vyP_1; vzP_1]; % componenti della velocità di P
48 v_P=norm(velP) % modulo del vettore velocità di P
49
50 axP_1=-L1*cos(theta1_1)*(omega_10+alpha_10*t_1)^2-L1*sin(theta1_1)*alpha_10...
51 -L2*cos(theta2_1)*(omega_20+alpha_20*t_1)^2-L2*sin(theta2_1)*alpha_20;
52 ayP_1=-L1*sin(theta1_1)*(omega_10+alpha_10*t_1)^2+L1*cos(theta1_1)*alpha_10...
53 -L2*sin(theta2_1)*(omega_20+alpha_20*t_1)^2+L2*cos(theta2_1)*alpha_20;
54 azP_1=a_z0;
55 accP=[axP_1; ayP_1; azP_1]; % componenti della accelerazione di P
56 a_P=norm(accP) % modulo del vettore accelerazione di P
57
58 % Calcolo dei parametri della traiettoria nell'istante assegnato
59 % rif. Formulario di cinematica
60 k=norm(cross(velP,accP))/v_P^3; % curvatura
61 rho=1/k; % raggio di curvatura
62 ver_tan=1/v_P*velP; % versore tangente
63 ver_bnl=cross(velP,accP)/norm(cross(velP,accP)); % versore binormale
64 ver_npl=cross(ver_bnl,ver_tan); % versore normale principale
65
66 % Verifica tangenza del vettore velocità alla traiettoria nell'istante assegnato
67 % prodotto vettoriale (vettore velocità)*(versore tangente)=0
68 check_tan=cross(velP,ver_tan)
69
70 % Calcolo componenti tangenziale e normale della accelerazione
71 a_P_tan=dot(accP,ver_tan); % modulo della componente tangenziale
72 aa_P_tan=a_P_tan*ver_tan; % vettore accelerazione tangenziale
73 a_P_nrl=dot(accP,ver_npl); % modulo della componente normale
74 aa_P_nrl=a_P_nrl*ver_npl; % vettore accelerazione normale
75
76 % verifica modulo accelerazione e raggio di curvatura
77 check_acc=sqrt(a_P_tan^2+a_P_nrl^2)-a_P;
78 check_rho=v_P^2/a_P_nrl-rho;
79
80 vct_vel=[posP,(posP+velP)]; vct_acc=[posP,(posP+accP)];
81 vct_acc_tan=[posP,(posP+aa_P_tan)];
82 vct_acc_nrl=[posP,(posP+aa_P_nrl)];
83
84 figure(2) % grafico traiettoria con vettore velocità
85 plot3(xP,yP,zP,'-b',posP(1),posP(2),posP(3),'ob',...
86 vct_vel(1,:),vct_vel(2,:),vct_vel(3,:),'-r'); grid;
87 xlim([0;0.6]); ylim([0;0.6]); zlim([0;0.6]);
88 text(posP(1)*1.05,posP(2)*1.05,posP(3)*1.05,'P');
89 text(vct_vel(1,2)*1.02,vct_vel(2,2)*1.02,vct_vel(3,2)*1.02,'v_P');
90 xlabel('x [m]');ylabel('y [m]'); zlabel('z [m]');
91 title('velocità di P');
92 %
93 figure(3) % grafico traiettoria con vettori accelerazione
94 plot3(xP,yP,zP,'-b',posP(1),posP(2),posP(3),'ob',...
95 vct_acc(1,:),vct_acc(2,:),vct_acc(3,:),'-r',...
96 vct_acc_tan(1,:),vct_acc_tan(2,:),vct_acc_tan(3,:),'-k',...
97 vct_acc_nrl(1,:),vct_acc_nrl(2,:),vct_acc_nrl(3,:),'-k'); grid;
98 xlim([0;0.6]); ylim([0;0.6]); zlim([0;0.6]);
99 text(posP(1)*1.05,posP(2)*1.05,posP(3)*1.05,'P');
100 text(vct_acc(1,2)*1.02,vct_acc(2,2)*1.02,vct_acc(3,2)*1.02,'a_P');
101 text(vct_acc_tan(1,2)*1.02,vct_acc_tan(2,2)*1.02,vct_acc_tan(3,2)*1.02,'a_P_T'
102 text(vct_acc_nrl(1,2)*1.02,vct_acc_nrl(2,2)*1.02,vct_acc_nrl(3,2)*1.02,'a_P_N'
103 xlabel('x [m]');ylabel('y [m]'); zlabel('z [m]');
104 title('accelerazione di P');
105 toc
106
1 %
2
3 % Esercitazione 1.B - CINEMATICA DEL MOTO RELATIVO DI UN CORPO RIGIDO
4
5 clear all, close all, clc
6
7 % assegnazione dei dati
8 s1=0.3; s2=0.05; s3=0.05;
9 sP0=0.1; vP0=0.05; aP0=0.03;
10 theta_20=10*(1/180)*pi; omega_2=0.1;
11
12 yPm=s2;
13
14 % assegnazione del vettore tempo, variabile indipendente
15 T=2; % durata, valore max del tempo
16 npt=21; % numero di dati tempo
17 t=linspace(0,T,npt); % vettore tempo
18
19 % calcolo dei parametri cinematici
20 for n=1:npt
21 % calcolo della posizione
22 xPm(n)=sP0+vP0*t(n)+0.5*aP0*t(n)^2;
23 theta_2(n)=theta_20+omega_2*t(n);
24 pos_Pm=[xPm(n); yPm];
25 R(1,1)=cos(theta_2(n)); % -|
26 R(1,2)=-sin(theta_2(n)); % | matrice di
27 R(2,1)=sin(theta_2(n)); % | rotazione
28 R(2,2)=cos(theta_2(n)); % -|
29 pos_Pf=R*pos_Pm;
30 xPf(n)=pos_Pf(1); yPf(n)=pos_Pf(2); % posizione P nel sistema fisso
31
32 % calcolo della velocità
33 vel_Pf_tra=omega_2*R*[-yPm;xPm(n)]; % velocità trascinamento
34 vel_Pf_rel=R*[xPm(n); yPm]; % velocità relativa
35 vel_Pf=vel_Pf_tra+vel_Pf_rel;
36
37 % calcolo della accelerazione
38 acc_Pf_tra=-omega_2^2*R*[xPm(n);yPm]; % accel. trascinamento
39 acc_Pf_rel=R*[aP0; 0]; % accel. relativa
40 acc_Pf_cor=2*omega_2*R*[0; vP0+aP0*t(n)]; % accel. Coriolis
41 acc_Pf=acc_Pf_tra+acc_Pf_rel+acc_Pf_cor;
42
43 figure(1) % grafico della traiettoria
44 plot(xPf,yPf,'o-b'); grid; xlim([0;0.3]); ylim([0;0.3]);
45 xlabel('x [m]');ylabel('y [m]'); title('traiettoria di P');
46 text(xPf(n),yPf(n)*1.15,'P');
47 pause(0.1)
48 end
49
50 t_1=1.2; % assegnazione di un valore alla varibile tempo
51
52 % Calcolo dei parametri cinematici nell'istante assegnato
53
54 % posizione
55 xPm_1=sP0+vP0*t_1+0.5*aP0*t_1^2;
56 theta_2_1=theta_20+omega_2*t_1;
57 pos_Pm_1=[xPm_1; yPm];
58 R 1(1,1)=cos(theta 2 1);
59 R_1(1,2)=-sin(theta_2_1);
60 R_1(2,1)=sin(theta_2_1);
61 R_1(2,2)=cos(theta_2_1);
62 pos_Pf_1=R_1*pos_Pm_1;
63 xPf_1=pos_Pf_1(1); yPf_1=pos_Pf_1(2); % posizione P nell'istante assegnato
64
65 % velocità nell'istante assegnato
66 vel_Pf_tra_1=omega_2*R_1*[-yPm;xPm_1]; % velocità trascinamento
67 vel_Pf_rel_1=R_1*[xPm_1; yPm]; % velocità relativa
68 vel_Pf_1=vel_Pf_tra_1+vel_Pf_rel_1; % velocità totale
69
70 % accelerazione nell'istante assegnato
71 acc_Pf_tra_1=-omega_2^2*R_1*[xPm_1;yPm]; % accel. trascinamento
72 acc_Pf_rel_1=R_1*[aP0; 0]; % accel. relativa
73 acc_Pf_cor_1=2*omega_2*R_1*[0; vP0+aP0*t_1]; % accel. Coriolis
74 acc_Pf_1=acc_Pf_tra_1+acc_Pf_rel_1+acc_Pf_cor_1; % accel. totale
75
76 % vettori velocità
77 vct_vel=[pos_Pf_1,(pos_Pf_1+vel_Pf_1)];
78 vct_vel_tra=[pos_Pf_1,(pos_Pf_1+vel_Pf_tra_1)];
79 vct_vel_rel=[pos_Pf_1,(pos_Pf_1+vel_Pf_rel_1)];
80
81 % vettori accelerazione
82 vct_acc=[pos_Pf_1,(pos_Pf_1+acc_Pf_1)];
83 vct_acc_tra=[pos_Pf_1,(pos_Pf_1+acc_Pf_tra_1)];
84 vct_acc_rel=[pos_Pf_1,(pos_Pf_1+acc_Pf_rel_1)];
85 vct_acc_cor=[pos_Pf_1,(pos_Pf_1+acc_Pf_cor_1)];
86
87 figure(2) % grafico traiettoria con vettori velocità
88 plot(xPf,yPf,'-b',xPf_1,yPf_1,'ob',...
89 vct_vel(1,:),vct_vel(2,:),'-r',...
90 vct_vel_tra(1,:),vct_vel_tra(2,:),'-m',...
91 vct_vel_rel(1,:),vct_vel_rel(2,:),'-m','LineWidth',2); grid;
92 xlim([0;0.4]); ylim([0;0.4]);
93 text(xPf_1*1.05,yPf_1*1.05,'P');
94 text(vct_vel(1,2)*1.02,vct_vel(2,2)*1.02,'v_P');
95 text(vct_vel_tra(1,2)*1.02,vct_vel_tra(2,2)*1.02,'v_{Ptra}');
96 text(vct_vel_rel(1,2)*1.02,vct_vel_rel(2,2)*1.02,'v_{Prel}');
97 xlabel('x [m]');ylabel('y [m]');
98 title('velocità di P');
99 %
100 figure(3) % grafico traiettoria con vettori accelerazione
101 plot(xPf,yPf,'-b',xPf_1,yPf_1,'ob',...
102 vct_acc(1,:),vct_acc(2,:),'-r',...
103 vct_acc_tra(1,:),vct_acc_tra(2,:),'-m',...
104 vct_acc_rel(1,:),vct_acc_rel(2,:),'-m',...
105 vct_acc_cor(1,:),vct_acc_cor(2,:),'-m','LineWidth',2); grid;
106 xlim([0.08;0.2]); ylim([0.08;0.2]);
107 text(xPf_1*0.96,yPf_1,'P');
108 text(vct_acc(1,2)*1.02,vct_acc(2,2)*1.02,'a_P');
109 text(vct_acc_tra(1,2)*1.0,vct_acc_tra(2,2)*1.0,'a_{Ptra} ');
110 text(vct_acc_rel(1,2)*1.02,vct_acc_rel(2,2)*1.02,'a_{Prel}');
111 text(vct_acc_cor(1,2)*1.02,vct_acc_cor(2,2)*1.02,'a_{Pcor}');
112 xlabel('x [m]');ylabel('y [m]');
113 title('accelerazione di P');
114