Rattleback Simulation

The rattleback, also called a Celt or wobblestone, is an oblong boat-shaped object which, when placed on a rough horizontal surface and made to rotate about a vertical axis, sometimes stops rotating, begins to oscillate (wobble), then starts rotating in the reverse direction.

As demonstrated by the MotionGenesis™ simulations below (and documented in technical papers), the strange behavior is not due to an offset center of mass, but instead a mis-alignment of the ellipsoid's principal axes of curvature with the Celt's principal inertia axes.

Because the curved portion of the surface of the rattleback is part of an ellipsoid, and because the ellipsoid rolls without slip on the rough horizontal surface, many commercial multi-body programs have serious difficulties when trying to simulate the motion of this simple system (due to the rolling, geometry, and/or friction).

The figure to the right is a schematic representation of a rattleback B that is in contact with a rough horizontal surface N at point BN of B. The curved portion of the surface of B is part of an ellipsoid S, whose principal axes Sx, Sy, Sz intersect at point So on B. The locus of points of S is defined by the equation

sx2 / a2   +   sy2 / b2   +   sz2 / c2   -   1   =   0

where si are the Si (i = x, y, z) coordinates of a generic point P of S, and a, b, c are semi-diameters of the ellipsoid. Point Bcm (B's mass center) lies on Sx, a distance h from So.

MotionGenesis Rattleback Dynamic Celt Wobblestone Picture
Video rattleback    YouTube    TeacherTube
Video Grand illusions     Boisselier (Canada/wooden)

Dynamic Celt Lab:   Student version (.pdf)
Dynamic Celt Lab:   Instructor version (.pdf)

MotionGenesis Rattleback Dynamic Celt Wobblestone schematic
Click to enlarge image

In formulating equations of motion, it is convenient to introduce right-handed sets of mutually perpendicular unit vectors bi and ni (i = x, y, z), fixed in B and N, respectively, with bi parallel to Si (i = x, y, z), and nx directed vertically upward and perpendicular to the planar surface of N in contact with B. The orientation of B in N is found by first aligning bi with ni (i = x, y, z), and then subjecting B to the rotations described in magnitude and direction by q1 bx, q2 by, q3 bz.

System Identifiers
Description Symbol Value (or initial value)
Semi-diameter of ellipsoid a 2 cm
Semi-diameter of ellipsoid b 20 cm
Semi-diameter of ellipsoid c 3 cm
Local gravitational constant g 9.81 m/sec2
Distance between Bcm (B's center of mass) and So   h 1 cm
Mass of B m 1.0 kg
Moment of inertia of B about Bcm for bx Ixx 17 kg*cm2
Moment of inertia of B about Bcm for by Iyy 2 kg*cm2
Moment of inertia of B about Bcm for bz Izz 16 kg*cm2
Product of inertia of B about Bcm for by and bz Iyz 0.2 kg*cm2
q1 Orientation angle   q1 0.0 degrees
q2 Orientation angle   q2 0.5 degrees
q3 Orientation angle   q3 -0.5 degrees
bx measure of B's angular velocity in N   wx 5.0 rad/sec
by measure of B's angular velocity in N   wy 0.0 rad/sec
b3 measure of B's angular velocity in N   wz 0.0 rad/sec
time t 0 to 5 seconds

Shown below are two lists of files that analyze the behavior of the rattleback. The left-files use a free-body analysis and calculate contact forces, whereas those on the right use Kane's method and do not calculate contact forces.

Description Free-body analysis
GetDynamics()
Kane's method
GetDynamicsKane()
MotionGenesis command file RattlebackFBD.txt RattlebackKane.txt
MotionGenesis responses RattlebackFBD.html RattlebackKane.html
MATLAB® code created by MotionGenesis RattlebackFBD.m RattlebackKane.m
C code created by MotionGenesis RattlebackFBD.c RattlebackKane.c
C/Fortran input file RattlebackFBD.in RattlebackKane.in

The file RattlebackKane.1 was created by running the MATLAB®, C, or Fortran code, and the data in this file were graphed with the MotionGenesis plotting program. The graph on the left clearly shows the spin reversal of the rattleback. The rattleback provides an excellent demonstration of the effect of product of inertia on motion. For example, setting the product of inertia Iyz = 0 results in no spin reversal, as can be seen from the following graph on the right.

Spin angle q1 shows spin reversal Spin angle q1 with no spin reversal
MGRattlebackSpinAngle.jpg MGRattlebackSpinAngleNoReversal.jpg
MGRattlebackWobbleAngle.jpg MGRattlebackWobbleAngleNoReversal.jpg