Gyroscopic motion of spinning top

November 2022

With the help from Professor Francis J. Poulin

Note from editor
"[1]" and alike denote a reference to bibliography;
"1" and alike denote a footnote;
"Figure 1" and alike denote a reference to a picture;
"(1)" and alike denote a reference to an equation.
Click here to download the notebook.
If you spot any errors from this page, please do not hesitate to contact me.

Introduction

This report is based on the Chapter 10 "Rotational Motion of Rigid Bodies" of the textbook [1]. The goal of the paper is to demonstrate a common physical scenario - gyroscopic motion of tops, by deriving its governing equations and making observations on some of its solutions.

In the following sections, I will describe the problem setup and use the Lagrangian mechanics to obtain the equation and conservation laws. A non-obvious result of the angular velocity using Euler angles is also discussed in the derivation of the Lagrangian, in case the reader is not familiar with it. Then, some numerical solutions are displayed to give some insights of the motion of the spinning top.

Derivations

Setup

Assume we have a top which can spin around its bottom, as in Figure 1:

img

Figure 1: Figure of the spinning top as well as two frame systems: local O(xt,yt,zt)O(x_t,y_t,z_t) and world O(x,y,z)O(x,y,z). The rotation of the local frame is the rotation of the top, which can follow any direction.

In the local frame O(xt,yt,zt)O(x_t,y_t,z_t) of this object, it can rotate along any axis. Typically, we choose the local frame to coincide with the principal axes of the object. This means any rotation can be easily decomposed into a series of rotations along the principal axes. Moreover, we will be able to write down its values of rotational inertia along the three axes:

I=[λ1000λ2000λ3]I=\left[\begin{matrix} \lambda_1&0&0\\0&\lambda_2&0\\0&0&\lambda_3 \end{matrix}\right]

where II is the inertia tensor of the object of interest, λ1\lambda_1 is the rotational inertia, also known as the principal moment, along the xtx_t axis, and ditto for other axes. Chapter 10 of the book [1] has more information about the significance of the inertia tensor.

In this case of a spinning top in the figure, it exhibits symmetry on the xtOyzx_tOy_z plane. That is, rotating it along xtx_t-axis and rotating it along yty_t-axis result in the same shape, whereas rotating along ztz_t is different. We can conveniently have λ1=λ2\lambda_1=\lambda_2.

Next we will make the object spin about its bottom, not necessarily along the most obvious ztz_t axis. Before we do that, we will make a short detour and investigate how the angular velocity is related to our setup.

Euler angles

We will associate rotations using the notion of (proper) Euler angles, which are three angles (ϕ,θ,ψ)(\phi,\theta,\psi), applied as follows:

img

Figure 2: Three steps of defining the rotation using Euler angles.

We can rotate the top anyway we would like using these consecutive moves.1

Angular velocity using Euler angles

To derive the angular velocity of the rotation, the Chapter 10 of the textbook [1] uses a geometrical approach. However, reading 3D geometry from 2D pictures can be difficult, just like the last picture I have shown. Therefore, as a student into computer graphics, I would like to employ an algebraic, matrix method. First recall from linear algebra that we can perform rotations of a vector about the ztz_t-axis using the following rotation matrix:

Rϕ(ϕ)=[cosϕsinϕ0sinϕcosϕ0001]R_\phi(\phi)=\left[\begin{matrix} \cos\phi&\sin\phi&0\\ -\sin\phi&\cos\phi&0\\ 0&0&1 \end{matrix}\right]

And we can rotate about the xtx_t-axis using this matrix:

Rθ(θ)=[1000cosθsinθ0sinθcosθ]R_\theta(\theta)=\left[\begin{matrix} 1&0&0\\ 0&\cos\theta&\sin\theta\\ 0&-\sin\theta&\cos\theta \end{matrix}\right]

Also for the ztz_t-roll again:

Rψ(ψ)=[cosψsinψ0sinψcosψ0001]R_\psi(\psi)=\left[\begin{matrix} \cos\psi&\sin\psi&0\\ -\sin\psi&\cos\psi&0\\ 0&0&1 \end{matrix}\right]

Then the series of rotations can be represented using a single transformation:

R(ϕ,θ,ψ)=Rψ(ψ)Rθ(θ)Rϕ(ϕ)\begin{equation} R(\phi,\theta,\psi)=R_\psi(\psi)R_\theta(\theta)R_\phi(\phi) \end{equation}

We can regard the vector before the transformation, t\mathbf{t}, as a vector in the local coordinate O(xt,yt,zt)O(x_t,y_t,z_t) of the object. Then for the vector after the transformation, RtR\mathbf{t}, it corresponds to the vector in the world coordinate O(x,y,z)O(x,y,z). Since we want to solve the problem as an outsider sitting outside the top, we use the world coordinate.

we need to use the useful identity that holds true for all x\mathbf{x} and rotation AA:

dxdt=ω×x    dAxdt=ω×Ax\frac{d\mathbf{x}}{dt}=\pmb{\omega}\times\mathbf{x}\implies \frac{dA\mathbf{x}}{dt}=\pmb{\omega}\times A\mathbf{x}

where ω\pmb{\omega} stands for the angular velocity2. then we have, using the product rule of derivatives

dRtdt=R˙t=R˙ψRθRϕt+RψR˙θRϕt+RψRθR˙ϕt=(ψ˙ez×Rψ)RθRϕt+Rψ(θ˙ex×Rθ)Rϕt+RψRθ(ϕ˙ez×Rϕ)t\begin{aligned} \frac{dR\mathbf{t}}{dt}&=\dot R\mathbf{t}\\ &=\dot R_\psi R_\theta R_\phi \mathbf{t}+R_\psi\dot R_\theta R_\phi\mathbf{t}+R_\psi R_\theta\dot R_\phi\mathbf{t}\\ &=(\dot\psi\mathbf{e}_z\times R_\psi)R_\theta R_\phi\mathbf{t}+R_\psi(\dot\theta\mathbf{e}_x\times R_\theta)R_\phi\mathbf{t}+R_\psi R_\theta(\dot\phi\mathbf{e}_z\times R_\phi)\mathbf{t}\\ \end{aligned}

Notice that rotation matrices are invariant under cross product, i.e. A(x×y)=Ax×AyA(\mathbf{x}\times\mathbf{y})=A\mathbf{x}\times A\mathbf{y} (this result can be easily understood intuitively), so we have

dRtdt=ψ˙ez×RψRθRϕt+Rψ(θ˙ex)×RψRθRϕt+RψRθ(ϕ˙ez)×RψRθRϕt=(ψ˙ez+Rψ(θ˙ex)+RψRθ(ϕ˙ez))×Rt=ω×Rt\begin{aligned} \frac{dR\mathbf{t}}{dt}&=\dot\psi\mathbf{e}_z\times R_\psi R_\theta R_\phi\mathbf{t}+R_\psi(\dot\theta\mathbf{e}_x)\times R_\psi R_\theta R_\phi\mathbf{t}+R_\psi R_\theta(\dot\phi\mathbf{e}_z)\times R_\psi R_\theta R_\phi\mathbf{t}\\ &=(\dot\psi\mathbf{e}_z+R_\psi(\dot\theta\mathbf{e}_x)+R_\psi R_\theta(\dot\phi\mathbf{e}_z))\times R\mathbf{t}\\ &=\pmb{\omega}\times R\mathbf{t} \end{aligned}

Thus we conclude

ω=ψ˙ez+Rψ(θ˙ex+Rθ(ϕ˙ez))\pmb{\omega}=\dot\psi\mathbf{e}_z+R_\psi(\dot\theta\mathbf{e}_x+R_\theta(\dot\phi\mathbf{e}_z))

If we plug in the values of (1) we obtain the famous result:

ωx=ϕ˙sinθsinψ+θ˙cosψωy=ϕ˙sinθcosψθ˙sinψωz=ϕ˙cosθ+ψ˙\begin{equation} \begin{aligned} \omega_x&=\dot\phi\sin\theta\sin\psi+\dot\theta\cos\psi\\ \omega_y&=\dot\phi\sin\theta\cos\psi-\dot\theta\sin\psi\\ \omega_z&=\dot\phi\cos\theta+\dot\psi \end{aligned} \end{equation}

Applying the Lagrangian

Now we know the angular velocity, thus we can write down the kinetic energy of the spinning top, using the formula given by [1], as well as the result (2):

T=12ωIω=12λ1(ωx2+ωy2)+12λ3ωz2=12λ1(ϕ˙2sin2θ+θ˙2)+12λ3(ϕ˙2cos2θ+ψ˙2+2ϕ˙ψ˙cosθ)\begin{aligned} T&=\frac{1}{2}\pmb{\omega}\cdot I\pmb{\omega}\\ &=\frac{1}{2}\lambda_1(\omega_x^2+\omega_y^2)+\frac{1}{2}\lambda_3\omega_z^2\\ &=\frac{1}{2}\lambda_1(\dot\phi^2\sin^2\theta+\dot\theta^2)+\frac{1}{2}\lambda_3(\dot\phi^2\cos^2\theta+\dot\psi^2+2\dot\phi\dot\psi\cos\theta) \end{aligned}

The potential energy comes from the gravity:

U=mgRcosθU=mgR\cos\theta

where mm is the mass of the top, and RR is the distance from the origin to the center of mass of the top. Here we have made sure that increasing the nutation θ\theta will decrease the potential energy.

Thus the Lagrangian is:

L(ϕ,θ,ψ,ϕ˙,θ˙,ψ˙;t)=T(ϕ˙,θ˙,ψ˙)U(θ)=12λ1(ϕ˙2sin2θ+θ˙2)+12λ3(ϕ˙2cos2θ+ψ˙2+2ϕ˙ψ˙cosθ)mgRcosθ\begin{aligned} L(\phi,\theta,\psi,\dot\phi,\dot\theta,\dot\psi;t)&=T(\dot\phi,\dot\theta,\dot\psi)-U(\theta)\\ &=\frac{1}{2}\lambda_1(\dot\phi^2\sin^2\theta+\dot\theta^2)+\frac{1}{2}\lambda_3(\dot\phi^2\cos^2\theta+\dot\psi^2+2\dot\phi\dot\psi\cos\theta)-mgR\cos\theta \end{aligned}

We first look at the first generalized coordinate, ϕ\phi. Applying the Euler-Lagrange equation to this coordinate we get

Lϕ=ddtLϕ˙0=ddt(λ1ϕ˙sin2θ+λ3ϕ˙cos2θ+λ3ψ˙cosθ) \frac{\partial L}{\partial\phi}=\frac{d}{dt}\frac{\partial L}{\partial\dot\phi} \\\,\\ 0=\frac{d}{dt}\left(\lambda_1\dot\phi\sin^2\theta+\lambda_3\dot\phi\cos^2\theta+\lambda_3\dot\psi\cos\theta\right)

This reveals that the content inside the bracket is a conserved quantity. We denote this constant as the generalized momentum along the ϕ\phi direction:

pϕ:=λ1ϕ˙sin2θ+λ3ϕ˙cos2θ+λ3ψ˙cosθ\begin{equation} p_\phi:=\lambda_1\dot\phi\sin^2\theta+\lambda_3\dot\phi\cos^2\theta+\lambda_3\dot\psi\cos\theta \end{equation}

As a note, this is indeed the angular momentum in the local vertical direction of the top (see [1]). It makes sense for this quantity to conserve because there is no torque about this axis.

Similarly, we look at the ψ\psi coordinate:

Lψ=ddtLψ˙\frac{\partial L}{\partial\psi}=\frac{d}{dt}\frac{\partial L}{\partial\dot\psi}

And we will have another conserved quantity:

pψ:=λ3ψ˙+λ3ϕ˙cosθ\begin{equation} p_\psi:=\lambda_3\dot\psi+\lambda_3\dot\phi\cos\theta \end{equation}

Due to the gravitational potential energy depending on the θ\theta direction, the generalized (angular) momentum is not conserved:

Lθ=ddtLθ˙\frac{\partial L}{\partial\theta}=\frac{d}{dt}\frac{\partial L}{\partial\dot\theta}

λ1ϕ˙2sinθcosθλ3ϕ˙2sinθcosθλ3ϕ˙ψ˙sinθ+mgRsinθ=λ1θ¨\begin{equation} \lambda_1\dot\phi^2\sin\theta\cos\theta-\lambda_3\dot\phi^2\sin\theta\cos\theta-\lambda_3\dot\phi\dot\psi\sin\theta +mgR\sin\theta=\lambda_1\ddot\theta \end{equation}

Now we have three equations involving three variables, governing the motion of the spinning top. Next, we will simplify them since they are coupled nonlinear differential equations, and reformulate the equations with initial conditions.

Computations

A bit rewrite

Starting from equation (4) we can write

ψ˙=pψλ3ϕ˙cosθλ3\begin{equation} \dot\psi=\frac{p_\psi-\lambda_3\dot\phi\cos\theta}{\lambda_3} \end{equation}

Substituting this expression into equation (3), we can solve for ϕ˙\dot\phi:

pϕ=λ1ϕ˙sin2θ+λ3ϕ˙cos2θ+(pψλ3ϕ˙cosθ)cosθp_\phi=\lambda_1\dot\phi\sin^2\theta+\lambda_3\dot\phi\cos^2\theta+(p_\psi-\lambda_3\dot\phi\cos\theta)\cos\theta

ϕ˙=pϕpψcosθλ1sin2θ\begin{equation} \dot\phi=\frac{p_\phi-p_\psi\cos\theta}{\lambda_1\sin^2\theta} \end{equation}

Substitute this back into (6) we then can solve for ψ˙\dot\psi:

ψ˙=pψλ3pϕcosθpψcos2θλ1sin2θ\begin{equation} \dot\psi=\frac{p_\psi}{\lambda_3}-\frac{p_\phi\cos\theta-p_\psi\cos^2\theta}{\lambda_1\sin^2\theta} \end{equation}

Thus we can eliminate the non-linearity in (5):

θ¨=mgRsinθλ1+λ1λ3λ1(pϕpψcosθλ1sin2θ)2sinθcosθλ3λ1(pϕpψcosθλ1sin2θ)(pψλ3cosθpϕpψcosθλ1sin2θ)sinθcosθ=mgRsinθλ1+1λ12sin3θ(pϕpψcosθ)(pϕcosθpψcos2θpψsin2θ)\begin{aligned} \ddot\theta&=\frac{mgR\sin\theta}{\lambda_1}+\frac{\lambda_1-\lambda_3}{\lambda_1}\left(\frac{p_\phi-p_\psi\cos\theta}{\lambda_1\sin^2\theta}\right)^2\sin\theta\cos\theta\\ &\quad-\frac{\lambda_3}{\lambda_1}\left(\frac{p_\phi-p_\psi\cos\theta}{\lambda_1\sin^2\theta}\right)\left(\frac{p_\psi}{\lambda_3\cos\theta}-\frac{p_\phi-p_\psi\cos\theta}{\lambda_1\sin^2\theta}\right)\sin\theta\cos\theta\\ &=\frac{mgR\sin\theta}{\lambda_1}+\frac{1}{\lambda_1^2\sin^3\theta}(p_\phi-p_\psi\cos\theta)(p_\phi\cos\theta-p_\psi\cos^2\theta-p_\psi\sin^2\theta) \end{aligned}

Then we do a substitution to reduce it to a first order equation:

v=θ˙\begin{equation} v=\dot\theta \end{equation}

v˙=mgRsinθλ1+(pϕpψcosθ)(pϕcosθpψ)λ12sin3θ\begin{equation} \dot v=\frac{mgR\sin\theta}{\lambda_1}+\frac{(p_\phi-p_\psi\cos\theta)(p_\phi\cos\theta-p_\psi)}{\lambda_1^2\sin^3\theta} \end{equation}

Combining (7), (8), (9), (10), we arrive at a system of 4 linear differential equations, easier to solve with numerical methods. We need to specify four initial conditions:

ϕ(0)=ϕ0ψ(0)=ψ0θ(0)=θ0v(0)=θ˙(0)=θ˙0\begin{aligned} \phi(0)&=\phi_0\\ \psi(0)&=\psi_0\\ \theta(0)&=\theta_0\\ v(0)&=\dot\theta(0)=\dot\theta_0 \end{aligned}

For this construction, we further need two more initial conditions:

ϕ˙(0)=ϕ˙0ψ˙(0)=ψ˙0\begin{aligned} \dot\phi(0)&=\dot\phi_0\\ \dot\psi(0)&=\dot\psi_0 \end{aligned}

so that we can define the conserved constants:

pϕ=λ1ϕ˙0sin2θ0+λ3ϕ˙0cos2θ0+λ3ψ˙0cosθ0pψ=λ3ψ˙0+λ3ϕ˙0cosθ0\begin{aligned} p_\phi&=\lambda_1\dot\phi_0\sin^2\theta_0+\lambda_3\dot\phi_0\cos^2\theta_0+\lambda_3\dot\psi_0\cos\theta_0\\ p_\psi&=\lambda_3\dot\psi_0+\lambda_3\dot\phi_0\cos\theta_0 \end{aligned}

Some cases

Our strategy is as follows: after we have solved the functions ϕ,θ,ψ\phi,\theta,\psi, to visualize the time evolution of the motion, we can take a point on the top (in this case, the top part), then use the formula (1) to obtain its rotated position. We will use the 3D-plotting feature in matplotlib to plot the trajectory of this single point.

We first observe a physical scenario. When a toy top is thrown with some initial (precession and intrinsic) rotations ϕ˙,ψ˙\dot\phi,\dot\psi that are not quick enough, as well as quite a bit of vertical instabilities θ0,θ˙0\theta_0,\dot\theta_0, under the torque of gravity, we should expect the top to both spin, tilt, and eventually touch the floor. We will consult the solution of the differential equations to verify our previous derivations.

img

Figure 3: The trajectory that is drawn by the tip of the spinning top, under uniform gravitational field, corresponding to the following constants: m=0.0101,λ1=0.0009,λ3=0.00011,R=0.4985,g=9.81,ϕ0=0,ψ0=0,θ0=0.1,θ˙0=0.01,ϕ˙0=117,ψ˙0=0m=0.0101, \lambda_1=0.0009, \lambda_3=0.00011,R=0.4985,g=9.81,\phi_0=0,\psi_0=0,\theta_0=0.1,\dot\theta_0=0.01,\dot\phi_0=117,\dot\psi_0=0.

The plot precisely describes the scenario that I postulated before. The dark blue dot corresponds to the initial position of the top's tip, and we can see it is drawing a spiral away from the original starting point. The rotation as we see from the top view is called the precession of the top. In this complex system, we also see the angle θ\theta is varying with time, which is called the nutation. The nutation in this example comes from both the torque of gravity and the rotation of the disk, thus pulling the top down into the floor. In finding the solution, I detected the occurrence when θ=π2\theta=\frac{\pi}{2} and truncated some remaining regions.

For completeness, I also prepared Figures 4 and 5, which depict this dynamics in detail. Not only do we observe the falling of the object in the zz-axis, but also we see an increasing oscillation pattern in amplitude in the xx- and yy-projection planes. The more it tilts, the stronger the top spins. This agrees with our common sense when playing with tops.

img

Figure 4: The solutions ϕ,ψ,θ\phi,\psi,\theta of the differential equations. For physical sense, the plots limit to θ=π2.\theta=\frac{\pi}{2}.

img

Figure 5: The projections of the path in Figure 3. The xyzxyz components are obtained using the rotation transformation.

If we try to spin the top as quickly as possible, eventually its edge will not touch the floor, and we can observe the alternating nutation:

img

Figure 6: The trajectory that is drawn by the tip of the spinning top, under fast initial rotation, corresponding to the following constants: m=0.0101,λ1=0.0009,λ3=0.00011,R=0.4985,g=0.01,ϕ0=0,ψ0=0,θ0=0.1,θ˙0=0.01,ϕ˙0=120,ψ˙0=0m=0.0101, \lambda_1=0.0009, \lambda_3=0.00011,R=0.4985,g=0.01,\phi_0=0,\psi_0=0,\theta_0=0.1,\dot\theta_0=0.01,\dot\phi_0=120,\dot\psi_0=0.

img

Figure 7: The Euler angles of the fast-rotation scenario. Note that the nutation is periodic.

img

Figure 8: The projections of the path. Note that its zz-component goes up and down periodically within a fixed range of nutation angles.

This is not an obvious result. Notice that the top initially goes downward, but after some time it goes up again to its (nearly) initial position. Such process will repeat itself as time goes. The object now undergoes a gyroscopic motion. The Chapter 11 of the text [2] and the Chapter 10 of [1] give more detailed description about different nutation patterns in theory.

Here is another gyroscopic motion that yields "smoother" nutation:

img

Figure 9: Another example for m=0.0101,λ1=0.0009,λ3=0.00011,R=0.4985,g=9.81,ϕ0=0,ψ0=0,θ0=0.1,θ˙0=0.01,ϕ˙0=40,ψ˙0=150m=0.0101, \lambda_1=0.0009, \lambda_3=0.00011,R=0.4985,g=9.81,\phi_0=0,\psi_0=0,\theta_0=0.1,\dot\theta_0=0.01,\dot\phi_0=40,\dot\psi_0=150.

img

Figure 10: Smoother θ\theta-rotation.

img

Figure 11: Smoother zz-movement. Notice also the clear beats phenomenon seen horizontally, which is less skewed than the last set of initial conditions. One can infer that the horizontal rotation does not suddenly swap directions, in contrast with the previous example. Here, the horizontal rotation means precession and intrinsic rotation.

And here is another case when the spinning disk is wide (larger radius), which causes the top tip to draw an apparently more violent rotations, which makes sense:

img

Figure 12: Wide disk example for m=0.0245,λ1=0.032,λ3=0.00011,R=0.4985,g=9.81,ϕ0=0,ψ0=0,θ0=0.1,θ˙0=0.01,ϕ˙0=40,ψ˙0=150m=0.0245, \lambda_1=0.032, \lambda_3=0.00011,R=0.4985,g=9.81,\phi_0=0,\psi_0=0,\theta_0=0.1,\dot\theta_0=0.01,\dot\phi_0=40,\dot\psi_0=150.

img

Figure 13: Less growth, more oscillation observed in the precession angle.

img

Figure 14: The beats in the horizontal plane disappeared, implying a more "uniform" elliptical path horizontally.

Rotational inertia

In the analyses, I have deliberately skipped the definitions of some constants such as λ1\lambda_1 and λ3\lambda_3. In principal, these values need to make sense, however, they are not the main focus of the gyroscopic problem. For completeness, I will briefly describe these parameters.

The geometry of the object is as in Figure 15.

img

Figure 15: The object consists of a thin disk and a thin rod. The relevant parameters are m1,m2,r,L,m_1,m_2,r,L,\ell.

The page [3] has a concise description of the derivation of the rotational inertia of thin rods and disks. For the vertical direction of spinning, we have

λ3=12m1r2\lambda_3=\frac{1}{2}m_1r^2

For the rotation along xtx_t or yty_t, both the disk and the rod have contributions, and the result is

λ1=14m1r2+13m12+13m2L2\lambda_1=\frac{1}{4}m_1r^2+\frac{1}{3}m_1\ell^2+\frac{1}{3}m_2L^2

We can define the total mass of the object as follows:

m=m1+m2m=m_1+m_2

as well as the distance from origin to the center of mass:

R=1m(m1+m2L2)R=\frac{1}{m}\left(m_1\ell+\frac{m_2L}{2}\right)

When picking a point as the starting point for plotting the trajectory, we can pick the tip of the top:

st=[00L]T\mathbf{s}_t=[0\quad0\quad L]^T

s=R(ϕ,θ,ψ)st\mathbf{s}=R(\phi,\theta,\psi)\mathbf{s}_t

Conclusion

From this paper we have understood the governing laws of a spinning top. In solving this question, we employed the algebraic strategy for solving rotated positions and angular velocities, as well as the technique of reducing systems of differential equations. I plotted some diagrams to illustrate physical interpretation of the solutions, and we discovered the precession and nutation phenomenons when dealing with the problem.

Notes

  1. This paper uses the zxzzxz convention for rotating objects, which rotates about the local zz axis twice, and is the method of choice of the 11th chapter of book [2]. However other conventions exist. For example, the xyzxyz convention is used in aircrafts and computer graphics. (Go back)
  2. And we can "abuse" the notation and write dAdt=ω×A\frac{dA}{dt}=\pmb{\omega}\times A, here it really means an operator, as there is no cross product for matrix. (Go back)

References