Lecture22

advertisement
Lecture 22
The instantaneous axis of rotation is the line passing through points with zero velocity.
Discuss a tire rolling. Discuss a disk spinning.
Do problem 10.2 #1
Do 10.1 #11
10.1 #11
> restart;
> with(linalg):
> i := vector([1,0,0]): j:=vector([0,1,0]): k:= vector([0,0,1]):
> dot := (VectorOne,VectorTwo) -> dotprod(VectorOne,VectorTwo,'orthogonal'):
> cross := (a,b) -> crossprod(a,b):
> Ve := (VectorEquation,VectorDirection) -> dot(lhs(VectorEquation),VectorDirection) =
dot(rhs(VectorEquation),VectorDirection):
Warning, new definition for norm
Warning, new definition for trace
Initially there are 2 dof. Points Q and S are in temporary contact with slip. Determine angular accelerations
and integrate them for ang. vel. If we sum forces we can compute the pin forces but I don't care. so... sum
moments only.
> mom1 := mu*N*r1 = m1*gyration1^2*alpha1;
> mom2 := mu*N*r2 = m2*gyration2^2*alpha2;
> ans := solve({mom1,mom2},{alpha1,alpha2});
> alf1 := subs(ans,alpha1): alf2 := subs(ans,alpha2):
Integrate these constant alphas.
> omega1 := alf1*t - InitialSpin;
> omega2 := alf2*t;
They stop changing when the disks are rolling on each other. If the alphas do not become zero the left one will
continue to slow down and the right will continue to speed up. We know this does not happen so the alphas
must go to zero at roll. Since alpha becomes zero the friction disappears too. Of course there would be friciton
in the pins so eventually both will stop but we are ignoring friction in the pins. When friction between the two
disappears, they are rolling on each other and the dof becomes 1. Therefore the motions are related at this
point so find the relation.
> posQ := r1*nq; posS := r2*ns;
> velQ := omega1*r1*pq; velS := omega2*r2*ps;
At the point of contact, pq is up, ps is down.
> relate := subs({pq=j,ps=-j},{velQ=velS});
> solve(relate,t);
>
10.1 #8
> restart;
> with(linalg):
> i := vector([1,0,0]): j:=vector([0,1,0]): k:= vector([0,0,1]):
> dot := (VectorOne,VectorTwo) -> dotprod(VectorOne,VectorTwo,'orthogonal'):
> cross := (a,b) -> crossprod(a,b):
> Ve := (VectorEquation,VectorDirection) -> dot(lhs(VectorEquation),VectorDirection) =
dot(rhs(VectorEquation),VectorDirection):
Warning, new definition for norm
Warning, new definition for trace
There is 1 dof. Points Q and S are in temporary contact with no slip. Try using a loop. From o - c - q - a - 0
but this loop "breaks open" when Q is no longer in contact. Try 0 - c - s - a - 0. Same problem. Ok, use a loop
from o to Qprime (Qprime is not fixed to link it moves so it is always in contact with the disk.
Let all angular velocities be dot of angles measured clockwise so all omegas are in positive k.
> loop := L*nab -r*ncs + y*j=0;
> dloop := omegaab*L*pab + Ldot*nab - (omegadisk*r*pcs) + ydot*j=0;
> ydot := -V;
> ddloop := alphaab*L*pab - omegaab^2*L*nab + 2*omegaab*Ldot*pab + Lddot*nab -(alphadisk*r*pcsomegadisk*r*ncs) + 0*j = 0;
> ncs := -pab; pcs := nab;
> nab := -cos(beta)*j - sin(beta)*i;
> pab := -sin(beta)*j + cos(beta)*i;
> Ve(loop,i);
> Ve(loop,j);
Solve the loop for beta and L. Or from geometry we have the following. I am not going to use them yet
because they cause the equations to look ugly with a lot of square roots etc.
L := sqrt(y^2-r^2);
sin(beta) := r/y;
cos(beta) := L/y;
Notice that the dloop and ddloop have too many unknowns so I need another relationship. Use the temporary
contact between Q (not Qprime) and S.
> posQ := L*nab; velQ := omegaab*L*pab; accQ := alphaab*L*pab - omegaab^2*L*nab;
> posS := -y*j + r*ncs; velS := V*j + omegadisk*r*pcs; accS := alphadisk*r*pcs - omegadisk^2*r*ncs;
Here is the contact relations.
> veq := simplify(velQ = velS);
Look at the equation in the i, and nab and pab they look better in the n,p.
> veqn := simplify(Ve(veq,nab)); veqi := simplify(Ve(veq,i));
> veqp := simplify(Ve(veq,pab)); veqj := simplify(Ve(veq,j));
Look at the acceleration contact relation.
> aeq := simplify(dot(accQ,nab) = dot(accS,nab));
Solve the velocity contact relations.
> omans := solve({veqn,veqp},{omegaab,omegadisk});
Solve the acceleration contact relation.
> aeq2 := simplify(subs(omans,aeq));
> alphadiskans := alphadisk = solve(aeq2,alphadisk);
Put these into the ddloop.
> eq := simplify(subs(alphadiskans,subs(omans,ddloop)));
Look at this in the n,p and in the i,j. n p is much simpler.
> simplify(Ve(eq,nab)); simplify(Ve(eq,pab));
> simplify(Ve(eq,i)); simplify(Ve(eq,j));
Solve for the alphaab and Lddot.
> ans := simplify(solve({Ve(eq,nab),Ve(eq,pab)},{Lddot,alphaab}));
collect all the answers.
> all := {ans, alphadiskans, omans};
> L := sqrt(y^2-r^2);
> sin(beta) := r/y;
> cos(beta) := L/y;
> simplify(all);
>
Download