A Pendulum Saves a Life

Click on the image below. Your task in this problem is to model the motion of both the person and the kettlebell (the red thing on the other end). Determine analytic expressions for $\ddot{r}$ and $\ddot{\phi}$ for both the person and the kettlebell. Then simulate the motion. I have provided some starter code for you. (Ignore the fact that the rope gets shorter as it wraps around the pole, and ignore friction between the rope and the pole. This will make your result somewhat different from the video.)

Solution


Assumptions

*The person and the kettle bell is a point mass.

*There is friction between the rope and the pole. (BUT IGNORE IT)

*Initial conditions start at rest.

*The rope gets shorter as it wraps around the pole. (BUT IGNORE IT)

*The person lives in the end.

Diagrams

Include interaction diagrams and free body diagrams with axes indicated. Person Diagram

Kettlebell Diagram

Analysis

Newtons Second Law in polar coordinates person and the kettle bell.

Sum of Forces: Kettle Bell

$\hat{r}: $ $\ F^G_{EB}\sin\phi - F^T_{RB}= mg\sin\phi - F^T_{RB} = m(\ddot{r} - r\dot{\phi}^2) $

$\ F^T_{RB} = mg\sin\phi - m(\ddot{r} - r\dot{\phi}^2) $

$\hat{\phi}:$ $\ F^G_{EB}\cos\phi = mg\cos\phi = m(r\ddot{\phi} + 2\dot{r}\dot{\phi}) $

$\ \ddot{\phi} = \frac{-g\sin\phi - 2\dot{r}\dot{\phi}}{r} $

$\hat{r}: $ $\ F^G_{EB} - F^T_{RB}= mg - F^T_{RB} = m(\ddot{r} - r\dot{\phi}^2) $

$\ F^T_{RB}= m(\ddot{r} - r\dot{\phi}^2) - mg $

$\hat{\phi}:$ $\ddot{\phi} = 0$

Check

To check these solutions you must set $\ F^T_{RB} $ equations equal to one another to find the shared tension force.

$$\ mg\sin\phi - m(\ddot{r} - r\dot{\phi}^2) = m(\ddot{r} - r\dot{\phi}^2) - mg $$$$\ \ddot{r}_{P} = \frac{mg\cos\phi - mg + mr\dot\phi^2}{M + m} $$$$\ \ddot{r}_{B} = \frac{mg - mg\cos\phi - mr\dot\phi^2}{M + m} $$

For $\ \ddot{r}_{P} = \frac{mg\cos\phi - mg + mr\dot\phi^2}{M + m} $ :

$\ \frac{m}{s^2} = \frac{kg \times \frac{m}{s^2} - kg \times \frac{m}{s^2} + kg \times m \times \frac{rad^2}{s^2}}{kg} $

$ \frac{m}{s^2} = \frac{m}{s^2} + \frac{m}{s^2} + \frac{m \times rads^2}{s^2} $

For $\ \ddot{r}_{B} = \frac{mg - mg\cos\phi - mr\dot\phi^2}{M + m} $ :

$\frac{m}{s^2} = \frac{kg \times \frac{m}{s^2} - kg \times \frac{m}{s^2} - kg \times m \times \frac{rad^2}{s^2}}{kg} $

$ \frac{m}{s^2} = \frac{m}{s^2} + \frac{m}{s^2} + \frac{m \times rads^2}{s^2} $

For $\ \ddot{\phi} = \frac{-g\sin\phi - 2\dot{r}\dot{\phi}}{r} $ :

$\ \frac{rads}{s^2} = \frac {- \frac{m}{s^2} - \frac{m}{s} \times \frac{rads}{s}}{m} $

$\ \frac{rads}{s^2} = -\frac{rads}{s^2} - \frac{rads}{s^2} $

Interpretation

The weight was released and the person dropped. The rope tightened around the pole as the person dropped safely. Thus proving that things rotate faster when they approach a central point.

In [4]:
#initial conditions
rb=10 #r-coordinate of bell
drb = 0 # initial velocity of bell
phib=-pi/2 #angle of bell relative to vertical with counterclockwise positive
dphib = 0 # initial angle of bell
rp=2 #r-coordinate of person
drp = 0 #velocity of person
ddrp = 0 #acceleration of the person
phip=0 #angle of person relative to vertical with counterclockwise positive
g = 9.8 # gravity, m/s^2
dt = 0.01 # Time increment
M = 60 #mass of person
m = 8 #mass of bell
t = 0 #starting time
 
#draw the scene
scene=canvas()
bell=sphere(pos=vec(rb*sin(phib),-rb*cos(phib),0),radius=0.2,color=color.red) #draw the kettle bell
person=cylinder(pos=vec(rp*sin(phip),-rp*cos(phip),0), axis=vec(0,-1,0),radius=0.5) #draw the person (as a cylinder of course)
pole=cylinder(pos=vec(0,0,-1),axis=vec(0,0,2),radius=0.1) #draw the pole
rope1=cylinder(pos=vec(0,0,0),axis=bell.pos,radius=0.05) #draw the portion of the rope from the kettle bell to the pole
rope2=cylinder(pos=vec(0,0,0),axis=person.pos,radius=0.05) #draw the portion of the rope from the person to the pole
 
person.v = vec(0,0,0)
print(bell.pos)
while (t <= 10):
    rate(1/dt) #set the speed of the animation
 
    ddrb = (-M*g + m*g*cos(phib) + m*rb*dphib**2)/(M + m) #acceleration of bell in r direction
    ddphib = (-g*sin(phib) - 2*drb*dphib)/rb #torque of bell in phi direction
    print (ddphib)
    dphib = dphib + ddphib * dt #updates the angular frequency of bell based on the torque
   
    drb = drb + ddrb*dt #updates velocity of bell based on acceleration
   
    phib = phib + dphib*dt #updates angle of bell based in angular frequency 
   
    rb = rb + drb*dt
 
    bell.pos = vec(rb*sin(phib),-rb*cos(phib),0)
    rope1.axis = vec(rb*sin(phib),-rb*cos(phib),0)
   
    ddrp = -(-M*g + m*g*cos(phib) + m*rb*dphib*dphib)/(M + m)
    drp = drp + ddrp*dt
    rp = rp + drp*dt
   
    person.v = person.v + vec(0,-ddrp,0)*dt
    person.pos = person.pos + person.v*dt
    #person.pos = vec(rp*sin(phip),-rp*cos(phip),0)
    rope2.axis = person.pos
    t = t + dt
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-4-f6072558345f> in <module>()
      2 rb=10 #r-coordinate of bell
      3 drb = 0 # initial velocity of bell
----> 4 phib=-pi/2 #angle of bell relative to vertical with counterclockwise positive
      5 dphib = 0 # initial angle of bell
      6 rp=2 #r-coordinate of person

NameError: name 'pi' is not defined

Rubric

Section Points Max Points
Assumptions 1
Diagrams 1
Analysis 3
Check 1
Interpretation 1
Code 3
In [0]: