Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Facoltà di Ingegneria
Corso di laurea in INGEGNERIA MECCANICA
a.a. 2011/12
Esercitazione 1.A
z
1(t)
2(t)
1
3
z(t)
y
P
x
O
1
Meccanica Applicata con Laboratorio – a.a. 2011/12
3
L2
2
2(t)
L1
1
z 1(t)
x
O
x t L cos t L cos t
P 1 1 2 2
Coordinate parametriche di moto: y P t L1 sin1t L2 sin 2 t
z t z v t 1 a t 2
P 0 z0
2
z0
(*)
Parametri del moto rotatorio
Coordinata di rotazione (funzione della variabile indipendente tempo): t
dt
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
Parametri della TRAIETTORIA del punto P (end effector): applicazione delle eq. da (9) a (13) del
Formulario di cinematica.
[m] [m] [rad] [rad/s] [rad/s2] [rad] [rad/s] [rad/s2] [m] [m/s] [m/s2]
5. Calcolo della velocità e verifica della tangenza tra vettore velocità e traiettoria all’istante
assegnato
7. Calcolo della accelerazione e delle sue componenti normale e tangenziale all’istante assegnato
3
Meccanica Applicata con Laboratorio – a.a. 2011/12
Esercitazione 1.B
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
. ..
222 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+vP0t+½ aP0 t2 2=20+2t
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
xP
f
xOm m
y P
m
xP
m
xP
m
y P
f
m R 2 t
2 t 2
2 2 t
yP yOm x P y P yP x P
s1 sP 0 vP0 aP 0 s2 s3 20 20
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
7. Calcolo della accelerazione e delle sue componenti (trascinamento, relativa e Coriolis) all’istante
assegnato
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