group - e group members burdukov, ilya igorevich lewczyk, tomasz sithambaram, sasitharan penmatcha,...
TRANSCRIPT
Group - E
Group Members
Burdukov, Ilya IgorevichLewczyk, Tomasz
Sithambaram, SasitharanPenmatcha, Bharath
Steszewski, Andrew Joseph
MAE412
Introduction
Objective of this project is to design and optimize a four bar mechanism for a vehicle to climb over obstacle of a given height.
Use different approaches to find
1. Shortest Link2. Reducing Peak Torque.3. Reducing The Fluctuation of the
torque.
Matlab code for solving the 12 equationsMatlab code for solving the 12 equations P1 = x1 +i*y1;P1 = x1 +i*y1; P2 = x2 +i*y2;P2 = x2 +i*y2; P3 = x3 +i*y3;P3 = x3 +i*y3;
delta2 = P2-P1;delta2 = P2-P1; delta3 = P3-P1;delta3 = P3-P1; alpha2 = Alpha2*cv;alpha2 = Alpha2*cv; alpha3 = Alpha3*cv;alpha3 = Alpha3*cv;
Xp = [Mx Nx];Xp = [Mx Nx]; Yp = [My Ny];Yp = [My Ny]; for n = 1:2for n = 1:2 R1 = (x1-Xp(n)) + i*(y1-Yp(n));R1 = (x1-Xp(n)) + i*(y1-Yp(n)); R2 = (x2-Xp(n)) + i*(y2-Yp(n));R2 = (x2-Xp(n)) + i*(y2-Yp(n)); R3 = (x3-Xp(n)) + i*(y3-Yp(n));R3 = (x3-Xp(n)) + i*(y3-Yp(n)); R1mag = abs(R1);R1mag = abs(R1); R2mag = abs(R2);R2mag = abs(R2); R3mag = abs(R3);R3mag = abs(R3); zeta1 = atan2(imag(R1),real(R1));zeta1 = atan2(imag(R1),real(R1)); zeta2 = atan2(imag(R2),real(R2));zeta2 = atan2(imag(R2),real(R2)); zeta3 = atan2(imag(R3),real(R3));zeta3 = atan2(imag(R3),real(R3));
C1 = R3mag*cos(alpha2+zeta3)-C1 = R3mag*cos(alpha2+zeta3)-R2mag*cos(alpha3+zeta2);R2mag*cos(alpha3+zeta2);
C2 = R3mag*sin(alpha2+zeta3)-C2 = R3mag*sin(alpha2+zeta3)-R2mag*sin(alpha3+zeta2);R2mag*sin(alpha3+zeta2);
C3 = R1mag*cos(alpha3+zeta1)-R3mag*cos(zeta3);C3 = R1mag*cos(alpha3+zeta1)-R3mag*cos(zeta3); C4 =-R1mag*sin(alpha3+zeta1)+R3mag*sin(zeta3);C4 =-R1mag*sin(alpha3+zeta1)+R3mag*sin(zeta3); C5 = R1mag*cos(alpha2+zeta1)-R2mag*cos(zeta2);C5 = R1mag*cos(alpha2+zeta1)-R2mag*cos(zeta2); C6 =-R1mag*sin(alpha2+zeta1)+R2mag*sin(zeta2);C6 =-R1mag*sin(alpha2+zeta1)+R2mag*sin(zeta2);
A1 = -C3^2 - C4^2;A1 = -C3^2 - C4^2; A2 = C3*C6 - C4*C5;A2 = C3*C6 - C4*C5; A3 = -C4*C6 - C3*C5;A3 = -C4*C6 - C3*C5; A4 = C2*C3 + C1*C4;A4 = C2*C3 + C1*C4; A5 = C4*C5 - C3*C6;A5 = C4*C5 - C3*C6; A6 = C1*C3 - C2*C4;A6 = C1*C3 - C2*C4;
K1 = A2*A4 + A3*A6;K1 = A2*A4 + A3*A6; K2 = A3*A4 + A5*A6;K2 = A3*A4 + A5*A6; K3 = (A1^2-A2^2-A3^2-A4^2-A6^2)/2;K3 = (A1^2-A2^2-A3^2-A4^2-A6^2)/2;
if n == 1if n == 1 beta3_1 = 2*atan2(K2 + sqrt(K1^2+K2^2-K3^2),K1+K3);beta3_1 = 2*atan2(K2 + sqrt(K1^2+K2^2-K3^2),K1+K3); beta3_2 = 2*atan2(K2 - sqrt(K1^2+K2^2-K3^2),K1+K3);beta3_2 = 2*atan2(K2 - sqrt(K1^2+K2^2-K3^2),K1+K3); beta2_1 = atan2(-(A3*sin(beta3_1)+A2*cos(beta3_1)+A4), ...beta2_1 = atan2(-(A3*sin(beta3_1)+A2*cos(beta3_1)+A4), ... -(A5*sin(beta3_1)+A3*cos(beta3_1)+A6));-(A5*sin(beta3_1)+A3*cos(beta3_1)+A6)); beta2_2 = atan2(-(A3*sin(beta3_2)+A2*cos(beta3_2)+A4), ...beta2_2 = atan2(-(A3*sin(beta3_2)+A2*cos(beta3_2)+A4), ... -(A5*sin(beta3_2)+A3*cos(beta3_2)+A6));-(A5*sin(beta3_2)+A3*cos(beta3_2)+A6)); if (abs(beta2_1-alpha2) < 10^(-6) && abs(beta3_1-alpha3) < 10^(-6))if (abs(beta2_1-alpha2) < 10^(-6) && abs(beta3_1-alpha3) < 10^(-6)) beta2 = beta2_2;beta2 = beta2_2; beta3 = beta3_2;beta3 = beta3_2; elseelse beta2 = beta2_1;beta2 = beta2_1; beta3 = beta3_1;beta3 = beta3_1; endend elseelse sigma3_1 = 2*atan2(K2 + sqrt(K1^2+K2^2-K3^2),K1+K3);sigma3_1 = 2*atan2(K2 + sqrt(K1^2+K2^2-K3^2),K1+K3); sigma3_2 = 2*atan2(K2 - sqrt(K1^2+K2^2-K3^2),K1+K3);sigma3_2 = 2*atan2(K2 - sqrt(K1^2+K2^2-K3^2),K1+K3); sigma2_1 = atan2(-(A3*sin(sigma3_1)+A2*cos(sigma3_1)+A4), ...sigma2_1 = atan2(-(A3*sin(sigma3_1)+A2*cos(sigma3_1)+A4), ... -(A5*sin(sigma3_1)+A3*cos(sigma3_1)+A6));-(A5*sin(sigma3_1)+A3*cos(sigma3_1)+A6)); sigma2_2 = atan2(-(A3*sin(sigma3_2)+A2*cos(sigma3_2)+A4), ...sigma2_2 = atan2(-(A3*sin(sigma3_2)+A2*cos(sigma3_2)+A4), ... -(A5*sin(sigma3_2)+A3*cos(sigma3_2)+A6));-(A5*sin(sigma3_2)+A3*cos(sigma3_2)+A6)); if (abs(sigma2_1-alpha2) < 10^(-6) && abs(sigma3_1-alpha3) < 10^(-6))if (abs(sigma2_1-alpha2) < 10^(-6) && abs(sigma3_1-alpha3) < 10^(-6)) sigma2 = sigma2_2;sigma2 = sigma2_2; sigma3 = sigma3_2;sigma3 = sigma3_2; elseelse sigma2 = sigma2_1;sigma2 = sigma2_1; sigma3 = sigma3_1;sigma3 = sigma3_1; endend endend endend
Matlab Code For SynthesisMatlab Code For Synthesis
Amat = [(exp(i*beta2) -1), (exp(i*alpha2) -1);(exp(i*beta3) -1), Amat = [(exp(i*beta2) -1), (exp(i*alpha2) -1);(exp(i*beta3) -1), (exp(i*alpha3) -1)];(exp(i*alpha3) -1)];
Bvec = [delta2;delta3];Bvec = [delta2;delta3]; X_L = inv(Amat)*Bvec;X_L = inv(Amat)*Bvec; W1 = X_L(1,1); Z1 = X_L(2,1); A = P1-Z1-W1;W1 = X_L(1,1); Z1 = X_L(2,1); A = P1-Z1-W1; Amat = [(exp(i*sigma2) -1), (exp(i*alpha2) -1);(exp(i*sigma3) -1), Amat = [(exp(i*sigma2) -1), (exp(i*alpha2) -1);(exp(i*sigma3) -1),
(exp(i*alpha3) -1)];(exp(i*alpha3) -1)]; Bvec = [delta2;delta3];Bvec = [delta2;delta3]; X_R = inv(Amat)*Bvec;X_R = inv(Amat)*Bvec; U1 = X_R(1,1); S1 = X_R(2,1); A_p = P1-S1-U1;U1 = X_R(1,1); S1 = X_R(2,1); A_p = P1-S1-U1;
Compact Design
How did we find the shortest linklengths?
Solving the vector equations Confining the four bar path to go
through three points We obtained 12 equations and 18
unknowns We were left with 6 free choices
Results:
Sum of Four-links = 0.8685m
Animation for the lowest link lengths
Lowest peak Torque
How did we find the lowest torque? Using Energy Method The main equation used for torque was
Results:Lowest Peak Torque = 0.2665Nm
Mat lab Code For lowest Peak TorqueMat lab Code For lowest Peak Torque
r1 = abs(A_p-A); r2 = abs(W1); r1 = abs(A_p-A); r2 = abs(W1); r3 = abs(A_p+U1-A-W1); r4 = abs(U1);r3 = abs(A_p+U1-A-W1); r4 = abs(U1); Links =[r1,r2,r3,r4];Links =[r1,r2,r3,r4];
suml = sum(Links)suml = sum(Links) if (max(Links)+min(Links) <= suml/2) if (max(Links)+min(Links) <= suml/2)
&& (suml < 89)&& (suml < 89) cond = 1 % Grashofcond = 1 % Grashof Mlink(c1,c2) = suml; Mlink(c1,c2) = suml; else cond = 0 % Non Grashofelse cond = 0 % Non Grashof Mlink(c1,c2) = 9;Mlink(c1,c2) = 9; endend if cond == 1;if cond == 1; y = 1;y = 1; for th2 =0:.1:(2*pi)for th2 =0:.1:(2*pi) %th2 =atan2(imag(W1),real(W1));%th2 =atan2(imag(W1),real(W1)); th3 =atan2(imag(A_p+U1-A-W1),real(A_p+U1-th3 =atan2(imag(A_p+U1-A-W1),real(A_p+U1-
A-W1));A-W1)); th4 =atan2(imag(U1),real(U1));th4 =atan2(imag(U1),real(U1)); V = inv([r3*sin(th3), -r4*sin(th4); -V = inv([r3*sin(th3), -r4*sin(th4); -
r3*cos(th3), r4*cos(th4)]) * [-r3*cos(th3), r4*cos(th4)]) * [-r2*sin(th2)*(1); r2*cos(th2)*(1)];r2*sin(th2)*(1); r2*cos(th2)*(1)];
th2dot = 1;th2dot = 1; th3dot = V(1,1);th3dot = V(1,1); th4dot = V(2,1);th4dot = V(2,1); Acc = inv([r3*sin(th3), -r4*sin(th4); -Acc = inv([r3*sin(th3), -r4*sin(th4); -
r3*cos(th3), r4*cos(th4)]) * r3*cos(th3), r4*cos(th4)]) * [r4*cos(th4)*(th4dot)^2, -r2*cos(th2), -[r4*cos(th4)*(th4dot)^2, -r2*cos(th2), -r3*cos(th3)*(th3dot)^2; r3*cos(th3)*(th3dot)^2; r4*sin(th4)*(th4dot)^2, -r2*sin(th2), -r4*sin(th4)*(th4dot)^2, -r2*sin(th2), -r3*sin(th3)*(th3dot)^2];r3*sin(th3)*(th3dot)^2];
th3ddot = Acc(1,1);th3ddot = Acc(1,1); th4ddot = Acc(2,1);th4ddot = Acc(2,1); m2 = (2690.66) * (.0001) * r2;m2 = (2690.66) * (.0001) * r2; m3 = (2690.66) * (.0001) * r3;m3 = (2690.66) * (.0001) * r3; m4 = (2690.66) * (.0001) * r4;m4 = (2690.66) * (.0001) * r4; I3 = (1/12) * (.0001)*(r3)^3;I3 = (1/12) * (.0001)*(r3)^3; I4 = (1/12) * (.0001)*(r4)^3;I4 = (1/12) * (.0001)*(r4)^3; VxR2 = .5*r2*sin(th2)*th2dot;VxR2 = .5*r2*sin(th2)*th2dot; VxR3 = -r2*sin(th2)*th2dot VxR3 = -r2*sin(th2)*th2dot
- .5*r3*sin(th3)*th3dot;- .5*r3*sin(th3)*th3dot; VxR4 = -.5*r4*sin(th4)*th4dot;VxR4 = -.5*r4*sin(th4)*th4dot; VyR2 = .5*r2*cos(th2)*th2dot;VyR2 = .5*r2*cos(th2)*th2dot; VyR3 = r2*cos(th2)*th2dot VyR3 = r2*cos(th2)*th2dot
+ .5*r3*cos(th3)*th3dot;+ .5*r3*cos(th3)*th3dot; VyR4 = .5*r4*cos(th4)*th4dot;VyR4 = .5*r4*cos(th4)*th4dot; AxR2 = -.5*r2*cos(th2)*(th2dot)^2;AxR2 = -.5*r2*cos(th2)*(th2dot)^2; AxR3 = -(r2*cos(th2)*(th2dot)^2) - AxR3 = -(r2*cos(th2)*(th2dot)^2) -
(.5*r3*cos(th3)*(th3dot)^2 (.5*r3*cos(th3)*(th3dot)^2 + .5*r3*sin(th3)*(th3ddot));+ .5*r3*sin(th3)*(th3ddot));
AxR4 = -(.5*r4*cos(th4)*th4dot^2 + .5*r4*sin(th4)*th4ddot);AxR4 = -(.5*r4*cos(th4)*th4dot^2 + .5*r4*sin(th4)*th4ddot);
AyR2 = -.5*r2*sin(th2)*(th2dot)^2;AyR2 = -.5*r2*sin(th2)*(th2dot)^2; AyR3 = -r2*sin(th2)*(th2dot)^2 - .5*r3*sin(th3)*(th3dot)^2 AyR3 = -r2*sin(th2)*(th2dot)^2 - .5*r3*sin(th3)*(th3dot)^2
+ .5*r3*cos(th3)*(th3ddot);+ .5*r3*cos(th3)*(th3ddot); AyR4 = -.5*r4*sin(th4)*th4dot^2 + .5*r4*cos(th4)*th4ddot;AyR4 = -.5*r4*sin(th4)*th4dot^2 + .5*r4*cos(th4)*th4ddot;
Torque2 = abs((m2*AxR2*VxR2 + m2*VyR2*(AyR2+9.81) + Torque2 = abs((m2*AxR2*VxR2 + m2*VyR2*(AyR2+9.81) + m3*AxR3*VxR3 + m3*VyR3*(AyR3+9.81) + I3*th3ddot*th3dot + m3*AxR3*VxR3 + m3*VyR3*(AyR3+9.81) + I3*th3ddot*th3dot + m4*AxR4*VxR4 + m4*VyR4*(AyR4+9.81) + I4*th4ddot*th4dot));m4*AxR4*VxR4 + m4*VyR4*(AyR4+9.81) + I4*th4ddot*th4dot));
a(y) = Torque2;a(y) = Torque2; y = y+1;y = y+1; endend aa max(a)max(a) end end
Animation For The Lowest Peak TorqueAnimation For The Lowest Peak Torque
Lowest Torque Fluctuation
How did we get the lowest Torque Fluctuation?
Results:Lowest torque fluctuation =
Matlab Code For The Lowest Torque FluctuationMatlab Code For The Lowest Torque Fluctuation
Animation For The Lowest Torque Fluctuation
Solid Edge For Compact Design
Solid Edge For Lowest Torque
Solid Edge For Lowest Torque Fluctuation
Questions?Questions?
The EndThe End