animation of a gyroscope

A while ago, I investigated exact solutions to mechanical problems that arise for articulated structures in space, where gravity and friction are low.

Rigid Body Collision Resolution
Elastischer Stoß
Animation of Skeletons with Hinges and Spherical Joints

Computer generated animation films:

Visualizations of data in the public domain:

From the Study of the CIA's Detention and Interrogation...
Afghan War Diary 2004—2009, Chronology of deaths...

Visualization inspired by art installation:

Keep Changing, Connect with Everything, Continue Forever

Was er für Geld da schreibt, ist gut geschrieben.
Was er verschweigt, die Wahrheit wär's gewesen.
Eugen Berthold Friedrich Brecht

Animation of Skeletons with Hinges and Spherical Joints

skeleton with spherical joint and hinge

During a visit at the Agenţia Spaţială Română in Bucharest/Romania, Alexandru Pandele explained to me the attitude control of the cube satellite that is being built in 2009. The satellite is equipped with two flywheels. The bearing of a wheel is a special hinge.

He motivated me to derive an algorithm to animate a skeleton of rigid bodies that are linked by hinges and spherical joints. Over the course of the simulation, the total linear momentum, and the total angular momentum are invariant. If desired, the algorithm incorporates intrinsic torques of the joints such as friction, and motor control. Otherwise, the total kinetic energy is invariant, too.

The input to the problem are:

The output are:

Our derivation shows that these accelerations are determined by linear equations. The article starts by considering skeletons with hinges only. However, the introduction of spherical joints turns out to be simple at a later point: the vector that formerly represented the axis of a hinge is just set to zero.

Timpul învață pe cei fără şcoală.
Animation of Skeleton with Hinges and Spherical Joints skeleton_anim...pdf 410 kB
Documentation as a Mathematica 5.2 notebook 1.1 MB
Demo with source code (C++) * 290 kB
* The program checks the math, and produces the animations on this website. Executable compiled with MS C++ Compiler version 14/15. The implementation of the singular value decomposition is from 'Numerical Recipes in C++, 3rd edition' by William Press, Saul Teukolsky, William Vetterling, and Brian Flannery.
There is something about a closet
that makes a skeleton terribly restless.
Wilson Mizner

To verify our derivation, we implement an open source simulation of the dynamics. Our algorithm uses double precision and simple Euler integration with small timesteps. The simulation suffers from numerical error in the integration: After a while, links separate, and the total angular momentum is not invariant.

In the closet

... or load all animations on a separate page

please select an animation

Ştiu că sunt prost.
Dar când mă uit în jur,
prind curaj.
Ion Creangă

Foucault pendulum

Later, Thomas Neukirchner suggested two applications of the simulation software: the modelling of a Foucault pendulum, and a falling cat. Great fun!

We have placed Foucault pendulums at three different lattitudes: At the pole the effect is largest. At the equator, the effect does not exist.

Falling cat

The sequence of the configurations of the extremities is inspired by the cat righting reflex of Wikipedia:

Depending on the cat's flexibility and initial angular momentum, if any, the cat may need to repeat steps two and three one or more times in order to complete a full 180° rotation. Cute cats also fall on YouTube - no cats harmed.

The control of the hinges in the 'Falling cat' animation is described in Section 4.4 of my work on the Marsokhod robot.

Attitude pacification with flywheels

We model a cube satellite with a collection of flywheels. Each flywheel is connected to the main satellite body by a hinge joint that is powered by a motor. The axis of the motor aligns with the axis of the hinge.

The effect of the torque of each motor on the turning rate of the main body is a linear relationship. The mapping allows us to combine the torques from the motors so that the turning rate of the main satellite body eventually subsides. The flywheels in turn may speed up or slow down. In the simulation, the torques excerted by the motors are bound by a constant. The total linear and angular momentums are constant.

A satellite with only two flywheels installed requires a sofisticated control maneuvre for attitude stabilization in general. The simulation shows a residue in the turning rate after a naïve, greedy control approach is applied to the flywheels.

Spherical robot

The configuration of the spherical robot is taken from the design by Masaki Nagai described in his Thesis "Control System for a Spherical Robot". The robot is sometimes referred to 'Sushi' or 'Gimball'.

The mass ratios of sphere, bar, and lever are 1:1/2:3. The inertia tensors assume equal mass distribution throughout the volumes. The floor has a mass close to infinity and the inertia tensor of a sphere. The red and green cones visualize the non-static contact joint between floor and robot. The linear and angular moments are constant = 0.

For shadow rendering, consult the excellent article "Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering" by Cass Everitt and Mark J. Kilgard.

Lenea e la om ca rugina la fier.

During my employment at EADS Astrium I had the chance to roam around in the south of France and north of Spain. Here are pictures taken at the time:

Don't ask me,
I'm too low on the totem pole.