Appendix Group 14
Appendix A: Bill of Materials
Appendix B: Position of Cups Animation
Units are in mm.
Appendix C: Velocity Analysis of Links 3 and Links 4
Appendix D: Position and Velocity Analysis Code
% Variable initiation
clear
l=[135, 240, 145, 235];
a=l(4);
b=l(1);
c=l(2);
d=l(3);
theta1=90;
theta2=240:-1:60;
theta3n=[];
theta4n=[];
thetas=[];
thetacup=10;
linkcup=160;
cup1x=[];
cup1y=[];
cup2x=[];
cup2y=[];
%assume omega 2 is counstant at 1
omega2=1;
omega3=[];
omega4=[];
% -------------------------------------------------------------------------
% fourbarpos position analysis
counter=1;
for n=0:180
thetas=fourbarpos(l,theta1,theta2(counter),-1);
theta3n=[theta3n thetas(3)];
theta4n=[theta4n thetas(4)];
counter=counter+1;
end
% -------------------------------------------------------------------------
% Velocity Analysis
counter=1;
for n=0:180
if n>=120 || n<=60
omega2=0.25;
else
omega2=0.5;
end
omega3=[omega3 a*omega2/(b*(sind(theta4n(counter)-theta2(counter)))/(sind(theta3n(counter)-theta4n(counter))))];
omega4=[omega4 a*omega2/(c*(sind(theta2(counter)-theta3n(counter)))/(sind(theta4n(counter)-theta3n(counter))))];
counter=counter+1;
end
% -------------------------------------------------------------------------
% Position of cup
counter=1;
for n=0:180
cup1x=[cup1x a*cosd(theta2(counter))+linkcup*cosd(theta2(counter)+thetacup)];
cup1y=[cup1y a*sind(theta2(counter))+linkcup*sind(theta2(counter)+thetacup)];
counter=counter+1;
end
for n=0:180
cup2x=[cup2x -cup1x(181-n)];
cup2y=[cup2y cup1y(181-n)];
counter=counter+1;
end
%% plotting
% relationship between link 2 and link 3
figure(1)
plot(theta2,theta3n)
title("Angle between link 2 and link 3")
xlabel("theta2")
ylabel("theta3")
grid()
%relationship between angle of link 2 and angular velocity of link 3
%(assume motor speed of 1 rad/sec
figure(2)
plot(theta2,omega3)
title("Angle of link 2 and Angular Velocity of link 3")
xlabel("theta2")
ylabel("omega3")
grid()
%relationship between angle of link 2 and angular velocity of link 4
figure(3)
plot(theta2,omega4)
title("Angle of link 2 and Angular Velocity of link 4")
xlabel("theta2")
ylabel("omega4")
grid()
%relationship of where the cups are
figure(4)
for i=1:5
for k = 1:length(cup1x)
clf(4);
hold on;
plot(cup2x(k),cup2y(k),'o','MarkerSize',5,'MarkerFaceColor','r');
plot(cup1x(k),cup1y(k),'o','MarkerSize',5,'MarkerFaceColor','g');
title("Position of each Cup")
grid()
xlim([-400,400])
ylim([-400,400])
drawnow; pause(0.001);
hold off;
end
pause(2)
end
Appendix E: Function fourbarpos() in Code
function [theta] = fourbarpos(l,theta1,theta2,configuration)
a=l(2);
b=l(3);
c=l(4);
d=l(1);
k1=d/a;
k2=d/c;
k3=(a^2-b^2+c^2+d^2)/(2*a*c);
k4=d/b;
k5=(c^2-d^2-a^2-b^2)/(2*a*b);
revisedtheta2=(theta2-theta1);
A=cosd(revisedtheta2)-k1-k2*cosd(revisedtheta2)+k3;
B=-2*sind(revisedtheta2);
C=k1-(k2+1)*cosd(revisedtheta2)+k3;
D=cosd(revisedtheta2)-k1+k4*cosd(revisedtheta2)+k5;
E=-2*sind(revisedtheta2);
F=k1+(k4-1)*cosd(revisedtheta2)+k5;
if configuration==1
theta4a=sqrt(B^2-4*A*C);
theta4=2*atand((-B+theta4a)/(2*A));
theta3a=sqrt(E^2-4*D*F);
theta3=2*atand((-E+theta3a)/(2*D));
else
theta4a=sqrt(B^2-4*A*C);
theta4=2*atand((-B-theta4a)/(2*A));
theta3a=sqrt(E^2-4*D*F);
theta3=2*atand((-E-theta3a)/(2*D));
end
theta=[theta1,theta2,theta3+theta1,theta4+theta1];
end
Welcome to the University Wiki Service! Please use your IID (yourEID@eid.utexas.edu) when prompted for your email address during login or click here to enter your EID. If you are experiencing any issues loading content on pages, please try these steps to clear your browser cache.