Let's consider this classical example:

enter image description here

I would write the Lagrangian as the one of the spherical pendulum plus the rotational energy of the wheel, but I fail to see how the precession motion would arise from that. I feel like the two components should be somehow coupled. I would greatly appreciate some guidance.

Here is my attempt which I believe is wrong, as I fail to see how that would create the precession motion. Taking the wheel as an ideal ring with radius $R$ and mass $m$ and indicating with $r$ the arm length:

$\displaystyle L=L_\text{pend} + L_\text{rot}$


$\displaystyle L_\text{pend}=\frac{1}{2} mr^2\left( \dot{\theta}^2+\sin^2\theta\ \dot{\phi}^2 \right) + mgr\cos\theta$


$\displaystyle L_\text{rot} = \frac{1}{2}I\dot\alpha^2 = \frac{1}{2}m R^2\dot\alpha^2 $

enter image description here

  • 1
    $\begingroup$ Can you show your attempt of the Lagrangian? I guess it might miss something in the kinetic energy part. $\endgroup$ Apr 12 '20 at 13:00
  • 1
    $\begingroup$ You can find a great solution in Understanding Precession (chapter 3, Solving the Bicycle Wheel Gyroscope with Lagrangian Mechanics). $\endgroup$ Apr 12 '20 at 15:08
  • $\begingroup$ @ThomasFritsch Please see the edit $\endgroup$
    – DarioP
    Apr 12 '20 at 15:25
  • $\begingroup$ @ThomasFritsch Wow, supercool link, thank you! $\endgroup$
    – DarioP
    Apr 12 '20 at 15:29

enter image description here

I) choose coordinate system $(x,y,z)$

II) choose the generalized coordinates $\varphi\,,\psi$


III) create the rotation matrix $R$ via the generalized coordinates and in your case also time depended $\Omega\,\tau$ . where $\Omega$ is the wheel rotation about the y axis and $\tau$ is the time


(I choose this sequence of the rotation matrix to avoid singularity ,this is important for numerical simulation )

Where: $$S_x=\left[ \begin {array}{ccc} 1&0&0\\0&\cos \left( \varphi \right) &-\sin \left( \varphi \right) \\ 0 &\sin \left( \varphi \right) &\cos \left( \varphi \right) \end {array} \right] $$

$$S_z=\left[ \begin {array}{ccc} \cos \left( \psi \right) &-\sin \left( \psi \right) &0\\\sin \left( \psi \right) &\cos \left( \psi \right) &0\\ 0&0&1\end {array} \right] $$

$$S_y=\left[ \begin {array}{ccc} \cos \left( \Omega\,\tau \right) &0&\sin \left( \Omega\,\tau \right) \\ 0&1&0 \\ -\sin \left( \Omega\,\tau \right) &0&\cos \left( \Omega\,\tau \right) \end {array} \right] $$

IV) obtain the angular velocity vector $\vec{\omega}$ out of the rotation matrix $R$



$$J_R= \left[ \begin {array}{cc} \cos \left( \psi \right) \cos \left( \Omega \,\tau \right) &-\sin \left( \Omega\,\tau \right) \\ -\sin \left( \psi \right) &0\\ \cos \left( \psi \right) \sin \left( \Omega\,\tau \right) &\cos \left( \Omega\,\tau \right) \end {array} \right] $$

$$\vec{{\dot{q}}}= \left[ \begin {array}{c} \dot{\varphi} \\ {\it \dot{\psi}} \end {array} \right] $$

$$\vec{\omega}_\tau=\left[ \begin {array}{c} 0\\ \Omega \\ 0\end {array} \right] $$

V) Kinetic Energy


where J is the inertia tensor of the wheel with $J_z=J_x$

$$J=\left[ \begin {array}{ccc} J_{{x}}&0&0\\ 0&J_{{y}}&0 \\0&0&J_{{x}}\end {array} \right] $$

VI) generalized torques

the torque about the x axis is $\tau_\varphi=-m\,g\,a$

thus the generalized torques are:

$$\begin{bmatrix} \tau_x \\ \tau_z \\ \end{bmatrix}=J_R^T\,\begin{bmatrix} \tau_\varphi \\ 0 \\ 0\\ \end{bmatrix}= \left[ \begin {array}{c} -\cos \left( \psi \right) \cos \left( \Omega \,\tau \right) a\,m\,g\\ \sin \left( \Omega\,\tau \right) a\,m\,g\end {array} \right] $$

To get the generalized torques in the equations of motion,you have to extend the kinetic energy $T_g$ to $$T_g\mapsto T_g+\tau_x\,\varphi+\tau_z\psi$$

Thus the Lagrange $L$ is:


I admit that this is quite elaborate calculations,so use symbolic manipulated program like Maple to obtain the results.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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