[ODE] exploding spinning objects
Nagymathe Denes
denes at invictus.hu
Wed Feb 15 01:37:31 MST 2006
You can reproduce it quite simply in the text_boxstack (or whichever)
sample: just create a body somewhere in the air with arbitrary orientation,
disable gravity for it (dBodySetGravityMode(0)), and give it some non-zero
angular velocity. It's ang.vel. will continuously increase. It's not
numerical instability. This 'term' adds angular velocity to any body created
by crossproducting its own ang.vel with itself, so it cearly adds energy to
the system. Not a surprise it makes them unstable.
comment: we've used ODE 0.5, not the latest unstable. But as i've seen, the
only difference in this area is that the unstable uses a local I matrix
within the mentioned loop instead of the large common I allocated before it
in 0.5.
Btw, we've done some tests to see the what gyroscopic effects we lose
without the 'rotational force'. None. :o) We have tried sg. like spinning
tops, and they work perfectly without it, and even a horizontal capsule
spinning on its axis and hanging on a ball join on one of its ends works
just like a real one should (keeps its axis nearly horizontal, and starts
slowly spinning around). For me it seems the system has its own gyroscopic
effects 'by accident', and adding one more just makes things worse.
Denes
----- Original Message -----
From: "J. Perkins" <starkos at gmail.com>
To: "Nagymathe Denes" <denes at invictus.hu>
Cc: "Graham Fyffe" <gfyffe at gmail.com>; "Erin Catto"
<erincatto at sbcglobal.net>; <ode at q12.org>
Sent: Tuesday, February 14, 2006 1:54 PM
Subject: Re: [ODE] exploding spinning objects
On 2/14/06, Nagymathe Denes <denes at invictus.hu> wrote:
> Thanks for the info. But if this term would work correctly even for
> spheres,
> the well-known problem of 'wheels losing alignment' wouldn't exist.
Do we know what is causing this term to make the simulation unstable?
Is it numerical instabilities? I spent a few minutes with the latest
unstable source code trying to reproduce the problem with no success.
If someone would be so kind as to send me a source code sample that
blows up, I'll wrap it up as a unit test so we can start
investigating.
Thanks!
Jason
More information about the ODE
mailing list