Rolls and Strings and Yo-Yo Solutions

A roll (radius R , mass M ) has rope wound around it which leads via a pulley to a mass m that falls under gravity.

The point of this worksheet is to explain how the motion of the center of mass (CM) is affected by the net force that acts on the roll: the string force, which applies where the string is unwound, and the static friction force which acts at the point of contact (assuming that there is rolling without slipping). Both these forces contribute torques about the CM of the roll. This work shows that the direction of the friction force is difficult to predict. There are situations where it helps to push the CM forward, and acts against the rolling, and there are situtations where it helps the rolling, but acts against the motion of the CM. This is a consequence of applying:

(i) the CM theorem: all force vectors acting on the body are applying at the location of the CM, and determine the rate of change of the total linear momentum;

(ii) the angular momentum theorem: the rate of change of angular momentum is controlled by the net torque that applies; one can use always the quantities about the CM, or about the point of contact (in which case friction does not contribute a torque), however, only in the case of pure rolling (no slipping) is the angular velocity about the CM the same as the angular velocity about the point of contact. In the case of pure rolling the part of the roll that touches the ground at the point of contact has no motion, and static friction applies.

(iii) the case of pure rolling is characterized by a fixed relationship between the CM motion and the angular velocity that describes the rotation.

(iv) the mass that falls under gravity undergoes a motion that is composed of motion of the CM and the additional effect of the unwinding of the string.

> restart;

We define moments of inertia for a disk about the CM, as well as about the point of contact O; the latter is obtained from the parallel-axis theorem.

> I_CM:=M/2*R^2;

I_CM := 1/2*M*R^2

> I_O:=I_CM+M*R^2;

I_O := 3/2*M*R^2

Motion of the center of mass: apply the forces at the CM, namely the friction force f , and the string force S . We choose the same sign for both forces and let the calculationd decide which way the friction force will point..

> eq1:=M*Xdd=S+f;

eq1 := M*Xdd = S+f

For pure rolling we can apply the torque about the contact point. The arm length is given by 2 R . Tdd is the 2nd derivative of the rotation angle. The friction f contributes no torque, given that the arm length is zero.

> eq2:=I_O*Tdd=2*R*S;

eq2 := 3/2*M*R^2*Tdd = 2*R*S

The height of the mass falling under gravity is given by Y . We choose a different mass m for the bob attached to the rope.

> eq3:=m*Ydd=m*g-S;

eq3 := m*Ydd = m*g-S

The CM motion X is linked to the angular rotation in perfect rolling without slip:

> eq4:=R*Tdd=Xdd;

eq4 := R*Tdd = Xdd

We need to connect the fall with the unravelling of wire ( R*Tdd ), and with the motion of the CM.

> eq5:=Ydd=Xdd+R*Tdd;

eq5 := Ydd = Xdd+R*Tdd

How many equations/unknowns? The unknowns are: Ydd, Xdd, Tdd, S, f - so we should use five equations. Equation one is redundant for the determination of the motion, because we use the rotation equation about the point of contact. If we were to consider the Newton equation (angular momentum theorem) about the CM of the roll, the frictional torque would enter, and we would need to determine it as well. In the present case we use the first equation to determine the friction force.

> sol:=solve({eq1,eq2,eq3,eq4,eq5},{Tdd,Xdd,Ydd,S,f});

sol := {Tdd = 4*m*g/(R*(8*m+3*M)), Ydd = 8*m*g/(8*m...

Note that the friction force has the same sign as the string force, i.e., it is helping to propel the roll's CM forward.

> assign(sol);

> m:=1; M:=2; g:=10; R:=1;

m := 1

M := 2

g := 10

R := 1

> Ydd;

40/7

> Xdd;

20/7

> Tdd;

20/7

We want a graph of a circle with a radius vector indicating the location of a marker ( Tdd is the acceleration)

> theta:=unapply(1/2*Tdd*t^2,t);

theta := proc (t) options operator, arrow; 10/7*t^2...

> X:=unapply(1/2*Xdd*t^2,t);

X := proc (t) options operator, arrow; 10/7*t^2 end...

> Y:=unapply(1/2*Ydd*t^2,t);

Y := proc (t) options operator, arrow; 20/7*t^2 end...

> with(plottools): with(plots):

Warning, the name changecoords has been redefined

> arrowscale:=0.25:

> c := t-> [circle([X(t),R], R, color=red,thickness=3),line([X(t),R],[X(t)+R*cos(theta(t)+Pi/2),R-R*sin(theta(t)+Pi/2)],color=blue,thickness=3),line([X(t),2*R],[8.2,2*R],color=grey,thickness=3),line([8.2,2*R],[8.2,-Y(t)],color=grey,thickness=3),circle([8.2,-Y(t)],0.15,color=red,thickness=3),arrow([X(t),0], [X(t)+f*arrowscale,0], .2, .4, .1, color=magenta),arrow([X(t),2*R], [X(t)+S*arrowscale,2*R], .2, .4, .1, color=cyan),arrow([8.2,-Y(t)], [8.2,-Y(t)+S*arrowscale], .2, .4, .1, color=cyan),arrow([8.2,-Y(t)], [8.2,-Y(t)-m*g*arrowscale], .2, .4, .1, color=green)]:

> PL:=[seq(display(c(2.2*i/60),scaling=constrained,view=[-2..8.4,-8..2.2]),i=0..60)]:

> plots[display](op(PL),insequence=true,scaling=constrained);

[Maple Plot]

The friction force points forward, i.e., it acts against the rotational torque about the CM provided by the string force, but it helps to move the CM to the right. The system adjusts itself such that the condition of pure rolling is met, i.e., such that the winding of theta (acceleration Tdd ) and the movement of the CM (linear acceleration Xdd ) are synchronized.

What is the change in string length after, say, 2.2 seconds?

> evalf(Y(2.2)-X(2.2));

6.914285716

Now let us re-do the problem using rotation about the center of mass. In this case it is evident how the friction force helps to propel the CM forward, but at the same time it acts as an opposite torque to the string torque about the CM.

> restart;

> I_CM:=M/2*R^2;

I_CM := 1/2*M*R^2

> I_O:=I_CM+M*R^2;

I_O := 3/2*M*R^2

Motion of the center of mass: apply the forces at the CM:

> eq1:=M*Xdd=S+f;

eq1 := M*Xdd = S+f

We use the angular momentum theorem for angular momentum L and torque N defined about the CM: we have two torque contributions that oppose each other. Tdd is the 2nd derivative of the rotation angle.For rotation with slipping the angular velocity about the CM and about the point of contact are not the same.

> eq2:=I_CM*Tdd=R*S-R*f;

eq2 := 1/2*M*R^2*Tdd = R*S-R*f

> eq3:=m*Ydd=m*g-S;

eq3 := m*Ydd = m*g-S

> eq4:=R*Tdd=Xdd;

eq4 := R*Tdd = Xdd

> eq5:=Ydd=Xdd+R*Tdd;

eq5 := Ydd = Xdd+R*Tdd

> sol:=solve({eq1,eq2,eq3,eq4,eq5},{Tdd,Xdd,Ydd,S,f});

sol := {Xdd = 4*m*g/(8*m+3*M), Ydd = 8*m*g/(8*m+3*M...

Evidently the answer is the same as before! This formulation is more flexible, since it allows to discuss the case when the surface cannot provide the friction torque/force required due to an insufficient value of static friction constant mu. In this case the disk is not at rest with respect to the surface at the point of contact. In particular, we can discuss the case of f=0 (negligible static and kinetic friction).

> eq1:=M*Xdd=S;

eq1 := M*Xdd = S

We use the angular momentum theorem for angular momentum L and torque N defined about the CM: we have two torque contributions that oppose each other. Tdd is the 2nd derivative of the rotation angle. For rotation with slipping the angular velocity about the CM and about the point of contact are not the same.

> eq2:=I_CM*Tdd=R*S;

eq2 := 1/2*M*R^2*Tdd = R*S

> eq3:=m*Ydd=m*g-S;

eq3 := m*Ydd = m*g-S

The CM motion X is unrelated to the angular rotation in rolling with total slip [rolling doesn't help at all to move forward - spinning car wheels on ice; but in contrast to that problem, where torque is the only source of motion we are pulling the disk in this case]:

> eq4:='eq4': #eq4:=R*Tdd=Xdd;

We need to connect the fall with the unravelling of wire ( R*Tdd ), and with the motion of the CM.

> eq5:=Ydd=Xdd+R*Tdd;

eq5 := Ydd = Xdd+R*Tdd

How many equations/unknowns? The unknowns are: Ydd, Xdd, Tdd, S - so we should use four equations.

> sol:=solve({eq1,eq2,eq3,eq5},{Tdd,Xdd,Ydd,S});

sol := {Tdd = 2*m*g/(R*(M+3*m)), Ydd = 3*m*g/(M+3*m...

The mass m accelerates on account of translation and rotation as before, the effect from the rotation (wire unravels) is twice as important as the effect of pulling the CM by the string force S . ( Ydd is three times as large as Xdd ; in the roll without slip they are contributing equally due to the condition Xdd = R*Tdd ).

Exercise 1:

Explore the above solution for a simple case such as m = M : how does the loss of friction manifest iteself in the fall of mass m ?

Question: How would we solve a problem where f is not zero, but less than the amount required to keep the rotation locked with the CM translation (no-slip)? We would add f as a degree of freedom, and we would need a replacement for eq4 , which would specify how Tdd and Xdd are related.

Now we consider another, related problem: A yo-yo is being pulled in the horizontal direction. Let us assume that the radius at which the string is wound up is one-half the radius of the disk, i.e., R /2. We go back to no-slip conditions.

> restart;

> I_CM:=M/2*R^2;

I_CM := 1/2*M*R^2

> I_O:=I_CM+M*R^2;

I_O := 3/2*M*R^2

> eq1:=M*Xdd=S+f;

eq1 := M*Xdd = S+f

The radius at which the yo-yo unwinds the string: (we pick a value very close to R /2, but not exactly to avoid plotting problems below)

> R1:=19*R/40;

R1 := 19/40*R

The torque from the pulling string has arm length R1 , and applies on the same side as in the example before:

> eq2:=I_CM*Tdd=R1*S-R*f;

eq2 := 1/2*M*R^2*Tdd = 19/40*R*S-R*f

> eq3:=m*Ydd=m*g-S;

eq3 := m*Ydd = m*g-S

> eq4:=R*Tdd=Xdd;

eq4 := R*Tdd = Xdd

> eq5:=Ydd=Xdd+R1*Tdd;

eq5 := Ydd = Xdd+19/40*R*Tdd

> sol:=solve({eq1,eq2,eq3,eq4,eq5},{Tdd,Xdd,Ydd,S,f});

sol := {Tdd = 2360*m*g/(R*(3481*m+2400*M)), S = 240...
sol := {Tdd = 2360*m*g/(R*(3481*m+2400*M)), S = 240...

Interesting coincidence: there will be no static friction force! When the armlength where the string force applies is larger than R /2, a positive friction force f results, for arm lengths smaller than R /2 it will be negative, i.e., f <0.

Exercise 2:

Vary the inner radius of the yo-yo, and observe how the role of the friction force changes.

> assign(sol);

> m:=1; M:=2; g:=10; R:=1;

m := 1

M := 2

g := 10

R := 1

> Ydd;

34810/8281

> Xdd;

23600/8281

> Tdd;

23600/8281

> theta:=unapply(1/2*Tdd*t^2,t);

theta := proc (t) options operator, arrow; 11800/82...

> X:=unapply(1/2*Xdd*t^2,t);

X := proc (t) options operator, arrow; 11800/8281*t...

> Y:=unapply(1/2*Ydd*t^2,t);

Y := proc (t) options operator, arrow; 17405/8281*t...

> with(plottools): with(plots):

Warning, the name changecoords has been redefined

> arrowscale:=0.25:

> c := t-> [circle([X(t),R], R, color=red,thickness=3),circle([X(t),R], R1, color=red,thickness=3),line([X(t),R],[X(t)+R*cos(theta(t)+Pi/2),R-R*sin(theta(t)+Pi/2)],color=blue,thickness=3),line([X(t),R+R1],[8.2,R+R1],color=grey,thickness=3),line([8.2,R+R1],[8.2,-Y(t)],color=grey,thickness=3),circle([8.2,-Y(t)],0.15,color=red,thickness=3),arrow([X(t),R+R1], [X(t)+S*arrowscale,R+R1], .2, .4, .1, color=cyan),arrow([X(t),0], [X(t)+f*arrowscale,0], .2, .4, .1, color=magenta),arrow([8.2,-Y(t)], [8.2,-Y(t)+S*arrowscale], .2, .4, .1, color=cyan),arrow([8.2,-Y(t)], [8.2,-Y(t)-m*g*arrowscale], .2, .4, .1, color=green)]:

> PL:=[seq(display(c(2.2*i/60),scaling=constrained,view=[-2..8.4,-8..2]),i=0..60)]:

> plots[display](op(PL),insequence=true,scaling=constrained);

[Maple Plot]

This calculation shows that forward motion without any friction provided by the surface is possible. In fact, we can see from the equations that the case when the string force applies at one half the radius corresponds to the situation when no friction is required to keep the rotation and the CM motion in lockstep. It is a consequence of the moment of inertia for the disk being M*R^2/2 .

The string unwound the following amount:

> evalf(Y(2.2)-X(2.2));

3.275957010

Exercise 3:

Modify the above yo-yo set-up such that the radius r at which the string is wound up is different from R /2; choose r:=R/4: and r:=3*R/4: respectively, and show the friction force on the diagram.

Now let us pull the string under conditions where the yo-yo is upside-down. Let us pick an adjustable winding radius R1 .

> restart;

> I_CM:=M/2*R^2;

I_CM := 1/2*M*R^2

> I_O:=I_CM+M*R^2;

I_O := 3/2*M*R^2

> eq1:=M*Xdd=S+f;

eq1 := M*Xdd = S+f

The torque from the pulling string has arm length R1 , and applies on the opposite side as in the example before, i.e., enters with a negative sign:

> R1:=1*R/2;

R1 := 1/2*R

> eq2:=I_CM*Tdd=-R1*S-R*f;

eq2 := 1/2*M*R^2*Tdd = -1/2*R*S-R*f

> eq3:=m*Ydd=m*g-S;

eq3 := m*Ydd = m*g-S

> eq4:=R*Tdd=Xdd;

eq4 := R*Tdd = Xdd

> eq5:=Ydd=Xdd-R1*Tdd;

eq5 := Ydd = Xdd-1/2*R*Tdd

> sol:=solve({eq1,eq2,eq3,eq4,eq5},{Tdd,Xdd,Ydd,S,f});

sol := {Xdd = 2*m*g/(6*M+m), Ydd = m*g/(6*M+m), S =...

Interesting observation: the static friction force now opposes the string force. Its torque exceeds the string torque to allow forward motion of the roll!

> assign(sol);

> m:=1; M:=2; g:=10; R:=1;

m := 1

M := 2

g := 10

R := 1

> Ydd;

10/13

> Xdd;

20/13

> Tdd;

20/13

> theta:=unapply(1/2*Tdd*t^2,t);

theta := proc (t) options operator, arrow; 10/13*t^...

> X:=unapply(1/2*Xdd*t^2,t);

X := proc (t) options operator, arrow; 10/13*t^2 en...

> Y:=unapply(1/2*Ydd*t^2,t);

Y := proc (t) options operator, arrow; 5/13*t^2 end...

> with(plottools): with(plots):

Warning, the name changecoords has been redefined

> arrowscale:=0.25:

> c := t-> [circle([X(t),R], R, color=red,thickness=3),circle([X(t),R], R1, color=red,thickness=3),line([X(t),R],[X(t)+R*cos(theta(t)+Pi/2),R-R*sin(theta(t)+Pi/2)],color=blue,thickness=3),line([X(t),R-R1],[8.2,R-R1],color=grey,thickness=3),line([8.2,R-R1],[8.2,-Y(t)],color=grey,thickness=3),circle([8.2,-Y(t)],0.15,color=red,thickness=3),arrow([X(t),0], [X(t)+f*arrowscale,0], .2, .4, .1, color=magenta),arrow([X(t),R-R1], [X(t)+S*arrowscale,R-R1], .2, .4, .1, color=cyan),arrow([8.2,-Y(t)], [8.2,-Y(t)+S*arrowscale], .2, .4, .1, color=cyan),arrow([8.2,-Y(t)], [8.2,-Y(t)-m*g*arrowscale], .2, .4, .1, color=green)]:

> PL:=[seq(display(c(2.2*i/60),scaling=constrained,view=[-2..8.4,-8..2]),i=0..60)]:

> plots[display](op(PL),insequence=true,scaling=constrained);

[Maple Plot]

Note that the torque from the string force acts against the rotation, and consequently agains the forward motion of the disk due to rotation, but that the force applies at the CM, and therefore the disk is going to accelerate to the right! In this example (winding orientation) the string winds itself around the yo-yo as the roll accelerates to the right. The friction force adjusts itself (if possible, i.e., if the static friction constant mu is large enough so that f does not exceed mu*M*g ) in such a way that the the condition of pure rolling is satisfied. This raises the question why pure rolling is desirable. The origin of this pure rolling (and of static friction in general) are the molecular forces of electrostatic origin that act between the particles which make up the cylinder and the table. The normal force Mg helps the molecules from the different materials to get closer, so that the bonds occur more often, and the material constant mu describes how effective they are. Anything that is within this limit mu*M*g is allowed to occur. Compare this condition to static friction when trying to push a block resting on a surface. The block won't move until the pushing force exceeds the static friction force. In the same sense pure rolling is bound to occur until the friction required for pure rolling motion (forward or backward, depending on the case as demonstrated above) exceeds the allowed limit.

The yo-yo is winding itself up by the amount:

> evalf(Y(2.2)-X(2.2));

-1.861538461

We can ask another question to understand the role of friction, namely how it helps the rotation and resists the forward motion of the center of mass, and vice versa: we can calculate the amount of work performed for the rotation and the translation. We integrate the frictional torque about the CM times the angular velocity, and also the linear friction force times the linear velocity. We use the sign for the friction force and the frictional torque with which they enter the equations of motion:

> W_CM:=int(f*diff(X(t),t),t=0..2.2);

W_CM := -22.91124260

> W_rot:=int(-R*f*diff(theta(t),t),t=0..2.2);

W_rot := 22.91124260

The contributions have to cancel, because static friction implies that there is no net motion carried out [the forward translation of the CM is perfectly balanced by the tangential velocity at the contact point due to the rotation]. Also we were able to show that one can calculate the entire motion without considering the friction at all [the rotation of the disk about the contact point about which friction contributes no torque due to zero arm length].

Exercise 4:

Change the inner yo-yo radius and find out whether there are characteristic changes in the behaviour of the static friction force.

>