Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to model a weighted wheel rolling without slipping. I understand that friction, by virtue of being an off-center force, affects both linear and angular acceleration. So my train-of-thought was to:

  • Describe linear acceleration in terms of it's forces parallel to the ground; $a = (F_{wheel} + F_{imbalance} + F_{friction}) / m$, where $m = m_{wheel} + m_{imbalance}$
  • Describe angular acceleration in terms of it's tangential forces; $α = r * (F_{imbalance'} + F_{friction}) / I$, where $I = I_{wheel} + I_{imbalance}$
  • Relate linear and angular acceleration; $a = -r * α$
  • Solve for the frictional force; $F_{friction} = -(m * r^2 * F_{imbalance'} + I * (F_{wheel} + F_{imbalance})) / (m * r^2 + I)$
  • Solve for a with the new $F_{friction}$ force and translate the wheel based on time; $v += a * t, p += v * t$
  • Rotate the wheel based on distance translated; $θ = -p / r$

When I programmed this up it didn't look that convincing, and I don't know where I went wrong. The effect was very subtle even when I increased the mass of the imbalance. This left me wondering if I made a bad choice for $F_{imbalance}$ or $F_{imbalance'}$, or if my handling of the directions/signs while converting between vectors/scalar magnitudes was wrong.

  • I used the vector that lies along B in this picture for $F_{imbalance}$
  • I used the vector that is perpendicular to A in this picture for $F_{imbalance'}$

As for vectors/scalars, I tried to do most of the calculations with vectors. This meant rotating the $F_{imbalance'}$ to be parallel with the ground. Does anyone see any glaring errors with my approach?

share|cite|improve this question
Note that linear acceleration has two components. You are forgetting the $\omega^2 r$ part. – ja72 Oct 9 '12 at 16:59
Is the initial position of the imbalance in any particular orientation? – ja72 Oct 9 '12 at 19:49
up vote 0 down vote accepted

This is surprisingly complex problem. To avoid trying to find the combined center of gravity and mass moment of inertia you can split it up into two rigid bodies each with $m_1$, $I_1$ and $m_2$ and $I_2$ for mass and mass moment of inertia that are glued together transmitting forces $\vec{F}_B$ and torques $\tau_B$.

First the kinematics. Let us decide the unknown variable to be the orientation of the wheel $\varphi$ relative to when the imbalance is touching the ground. If the ramp slope is $\theta$ then location of the center of the wheel C is $$\vec{r}_C = \begin{pmatrix} r \sin\theta-\varphi r \cos\theta \\r \cos \theta + \varphi r \sin\theta \\0 \end{pmatrix} $$ with positive $\varphi$ going up the ramp and negative down. Also positive x-axis points points towars the lower part of the ramp.

The contact point A is located at

$$\vec{r}_A = \begin{pmatrix} -\varphi r \cos\theta \\\varphi r \sin\theta \\0 \end{pmatrix} $$

The imbalance center B is located at $$\vec{r}_B = \begin{pmatrix} r \sin\theta-\varphi r \cos\theta + r \sin(\varphi-\theta) \\r \cos \theta + \varphi r \sin\theta - r \cos(\varphi-\theta) \\0 \end{pmatrix} $$

No we need the accleration at C and B which is found by $$ \vec{v}_C = \frac{{\rm d} \vec{r_C}}{{\rm d} t} = \frac{\partial \vec{r}_C}{\partial \varphi} \dot{\varphi} $$ $$ \vec{a}_C = \frac{{\rm d} \vec{v_C}}{{\rm d} t} = \frac{\partial \vec{v}_C}{\partial \varphi} \omega + \frac{\partial \vec{v}_C}{\partial \omega} \alpha$$ where $\omega = \dot \varphi$ and $\alpha = \ddot \varphi $. $$ \vec{v}_B = \frac{{\rm d} \vec{r_B}}{{\rm d} t} = \frac{\partial \vec{r}_B}{\partial \varphi} \dot{\varphi} $$ $$ \vec{a}_B = \frac{{\rm d} \vec{v_B}}{{\rm d} t} = \frac{\partial \vec{v}_B}{\partial \varphi} \omega + \frac{\partial \vec{v}_B}{\partial \omega} \alpha$$

With the end result of $$ \vec{a}_C = \begin{pmatrix} -\alpha r \cos(\theta) \\ \alpha r \sin(\theta) \\ 0 \end{pmatrix} $$ $$ \vec{a}_B = \begin{pmatrix} \alpha r \cos(\varphi-\theta)-\omega^2 r \sin(\varphi-\theta)-\alpha r \cos\theta\\ \alpha r \sin(\varphi-\theta)+\omega^2 r \cos(\varphi-\theta)+\alpha r \sin\theta\\ 0 \end{pmatrix} $$

Now for the equations of motion.

If $\vec{n}=(-\sin\theta,\cos\theta,0)$ is the normal to the slope and $\vec{e}=(\cos\theta,-\sin\theta,0)$ is tangent to the slope downwards, the the sum of the forces on the two bodies are:

$$ N \vec{n} - F \vec{e} - \vec{F}_B + m_1 \vec{g} = m_1 \vec{a}_C $$ $$ \vec{F}_B + m_2 \vec{g} = m_2 \vec{a}_B $$ where $F$ is the friction force required and $N$ the contact force. The sum of the torques on the two bodies are:

$$ \vec{\tau}_B = I_2 \vec{\alpha} $$ $$ (\vec{r}_A-\vec{r}_C) \times (N \vec{n}-F \vec{e}) - (\vec{r}_B-\vec{r}_C)\times \vec{F}_B - \vec{\tau}_B = I_1 \vec{\alpha} $$

where $\vec{\alpha} = (0,0,\alpha)$.

The above equations have 6 non-zero components, are used to solve for the following variables. Two in $\vec{F}_B$, and one in $\vec{\tau}_B$, $\alpha$, $N$, $F$, for a six total.

The calculate the required coefficient of friction for non-slip as $\mu =| \frac{F}{N} |$.

Note this assumes the problem is planar, and ignores the whole 3x3 inertia matrix with the gyroscopic torques. It helps to project the sum of forces along $\vec{e}$ and $\vec{n}$ to extract out $F$ and $N$ cleanly.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.