Consider the motion of a sphere which is rolling (without slipping) inside another sphere.

Derive the constraint equations of the rolling condition.


  • This is a 3D rigid body problem. In fact, we are considering a general 3 dimensional motion of sphere inside another sphere.

  • $\alpha$ and $\beta$ are general functions of time and determine the position of the center of the sphere.

My Effort

The constraint equations should follow from the fact that the velocity of the contact point vanishes. So denoting the contact point by $C$ and the center of the sphere by $G$ we should have

$$ \mathbf{v}_C=\mathbf{v}_G+\boldsymbol{\omega}\times \mathbf{r}_{G/C}=\mathbf{0} $$

In order to go further, I need to write $\mathbf{v}_G$ and $\boldsymbol{\omega}$ in term of the angles $\alpha$, $\beta$ and the classic Euler angles. I am stuck here!

Any help is appreciated.

enter image description here

  • $\begingroup$ If the ball does not slip, then the system should be describable with just one coordinate - the angle $\beta$, right? Which means you must have two constraints. One of those constraints simply has to do with the fact that the ball does not slip. The other has to do with the fact that the ball will always stay on a unique geodesic, given idealized initial conditions. BTW very nice figure $\endgroup$ – user97626 Jan 17 '17 at 20:15
  • $\begingroup$ @jphollowed: Thanks. :) I just want to derive the constraint equations mathematically. It should be followed from the fact that the velocity of the contact point vanishes. This is a 3D problem so I think one coordinate is not enough. :) $\endgroup$ – H. R. Jan 17 '17 at 20:19
  • $\begingroup$ but you have one body, giving three spatial coordinates, and two desired constraint equations, right? Doesn't that give one generalized coordinate? Unless you're saying this is a six dimensional problem because the larger sphere is allowed to move. Either way, the angle $\alpha$ should have no time dependence, right? $\endgroup$ – user97626 Jan 17 '17 at 20:32
  • $\begingroup$ @jphollowed: A rigid body in general 3D motion have six degrees of freedom! :) $\alpha$ and $\beta$ are general functions of time. :) $\endgroup$ – H. R. Jan 17 '17 at 20:34
  • $\begingroup$ Why? For three spatial and three angular positions? $\endgroup$ – user97626 Jan 17 '17 at 20:36

The no slipping conditions adds 3 constraints to the 5 degrees of freedom of the problem. The velocity of the contact point should be zero (as you stated).

$$ \mathbf{v}_C = \mathbf{v}_G + \mathbf{r}_{G/C} \times \boldsymbol{\omega} = 0$$

The position vector $\mathbf{r}_G$ is a function of the angles $\alpha$ and $\beta$ only

$$ \mathbf{r}_G = (b-R) \begin{pmatrix} \cos(\alpha) \sin(\beta) \\ \sin(\alpha) \sin(\beta) \\ -\cos(\beta) \end{pmatrix} $$

By differentiation you get at the linear jacobian $\mathtt{J}_A$ relating the generalized velocities $\dot{q}_A = (\dot{\alpha}, \dot{\beta})$ to the cartesian velocity of the center $\mathbf{v}_G = \mathtt{J}_A \dot{q}_A$

$$\mathbf{v}_G = (b-R) \begin{vmatrix} -\sin\alpha \sin\beta & \cos\alpha \cos\beta \\ \cos\alpha \sin\beta & \sin\alpha \cos\beta \\ 0 & \sin\beta \end{vmatrix} \begin{pmatrix} \dot{\alpha} \\ \dot{\beta} \end{pmatrix} $$

The orientation matrix $\mathtt{E}$ of the ball depends on three Euler angles $\varphi$, $\psi$ and $\theta$ representing rotations about local axes $\mathbf{x}_1$, $\mathbf{x}_2$ and $\mathbf{x}_3$ respectively.

$$ \mathtt{E} = \mathrm{Rot}(\mathbf{x}_1,\, \varphi)\,\mathrm{Rot}(\mathbf{x}_2,\, \psi)\,\mathrm{Rot}(\mathbf{x}_3,\, \theta) $$

Again by differentiation using the chain rule you arrive at the rotational jacobian $\mathtt{J}_B$ relating the generalized rotational velocities $\dot{q}_B = (\dot{\varphi},\dot{\psi},\dot{\theta})$ to the ball rotational velocity $\boldsymbol{\omega} = \mathtt{J}_B \dot{q}_B$

$$ \boldsymbol{\omega} = \mathbf{x}_1 \dot{\varphi} + \mathrm{Rot}(\mathbf{x}_1,\, \varphi)\,\left(\mathbf{x}_2 \dot{\psi} + \mathrm{Rot}(\mathbf{x}_2,\, \psi)\, \mathbf{x}_3 \dot{\theta}\right) $$ $$\boldsymbol{\omega} = \begin{vmatrix} \mathbf{x}_1 & \mathrm{Rot}(\mathbf{x}_1,\, \varphi)\,\mathbf{x}_2 & \mathrm{Rot}(\mathbf{x}_1,\, \varphi)\,\mathrm{Rot}(\mathbf{x}_2,\, \psi)\,\mathbf{x}_3 \end{vmatrix} \begin{pmatrix} \dot{\varphi} \\ \dot{\psi} \\ \dot{\theta} \end{pmatrix} $$

The above jacobian $J_B$ is a 3×3 matrix with the first column $\mathbf{x}_1$, the second column $\mathrm{Rot}(\mathbf{x}_1,\, \varphi)\,\mathbf{x}_2$ etc.

Also note that $\mathbf{r}_{G/C} \times \boldsymbol{\omega}$ can be written in matrix form as $$ \begin{vmatrix} 0 & -z_{G/C} & y_{G/C} \\ z_{G/C} & 0 &-x_{G/C} \\ -y_{G/C} & x_{G/C} & 0 \end{vmatrix} \begin{pmatrix} \omega_x \\ \omega_y \\ \omega_z \end{pmatrix} $$

NOTE: Related answer proving the relationship between Euler angles and rotational velocity

  • $\begingroup$ Thanks for the attention. :) What is the basis that you used for representing the vector $\boldsymbol{\omega}$? In order to do the summation, all the vectors should be represented in one basis, right? :) I think you chose the basis for $\mathbf{v}_G$ as the usual Catersian basis depicted in my picture as $a_1a_2a_3$. $\endgroup$ – H. R. Jan 17 '17 at 22:22
  • $\begingroup$ Yes, it is all referenced in an inertial frame. The same basis vectors on $\boldsymbol{\omega}$ is used as $\mathbf{v}_G$ and $\mathbf{r}_{G/C}$ $\endgroup$ – ja72 Jan 18 '17 at 0:02

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