[ODE] Possible solution to unstable rotating bodies, problem

Kenneth Holmlund holmlund at hpc2n.umu.se
Thu Apr 7 19:38:52 MST 2005

Erin wrote:
>In my engine I don't include the inertia torque term: cross(omega, I*omega).
>Without this term you get conservation of angular velocity rather than
>conservation of angular momentum. This leads to greatly increased stability
>at the cost of decreased accuracy.
>I wrote about this in my GDC paper.


Erin has pin-pointed the problem. Rotations are not stable if you 
include this term unless you
have a smart method for it. Damping works if you want it plausible and 
you have state changes
often enough to dominate over damping in trajectories, but damping is 
just damping, is just damping.

Many engines simply delete this term because it is hard to handle (see 
e.g. IL+M:s engine
described here http://portal.acm.org/citation.cfm?id=846278) and I 
supect others simply
forgot they didn't include it in the first place, and they tend to think 
their engine is better
on rotations than others that did it right...
Obviously you will have problems with gyroscopes if you delete the term, 
but an iterative
solver will probably give you your precession anyway, although not a 
physical one..

This paper will sort out some things once it is published: "Stabilizing 
gyroscopic Forces in Rigid
Multibody Simulations" by Claude Lacoursière (CMLabs and Umeå university).
See the workshop "PDE methods in computer graphics":

Kenneth Bodin Holmlund, Director, VRlab
HPC2N, Umeå University             Phone:  +46-90-786 9655
S-901 87 Umeå, Sweden              Mobile: +46-70-631 5520
mailto:holmlund at hpc2n.umu.se

More information about the ODE mailing list