[ODE] Problems with ODE

Darabos Dániel darabos.daniel at gmail.com
Mon Jun 20 21:38:30 MST 2005


Hi!

On 6/20/05, A W <sysrpl_lists at hotmail.com> wrote:
> Hello. Thank you for taking the time to read this message. My name is
> Anthony, I am new to solid body dynamics programming and ODE in general. I
> have been working in my spare time the past week to understand ODE and have
> come up with some questions, possibly problems, that seem quite serious.
> 
> First let me say that I have read through the documentation and wiki topics,
> and that I understand the ODE project is a free open implementation. Having
> said that, I am discouraged with many issues that I keep running into while
> using ODE.

I'm in a similar position. I imaged ODE to be a bit more powerful,
reliable and easier to use. But I find that even the way it is, it's a
very powerful tool. It can not directly compete with the professional
physics packages (not that I have any experience with any :)), but it
can still be used for impressive things.

> Here are a my questions:
> 
> Question 1)
> 
> Is ODE stable? I keep running into erratic body collisions, objects that get
> stuck together and flip out, and floating point overflow exceptions.

With dWorldStep I find it very stable but has very bad performance.
With dWorldQuickStep the performance is great but it's very unstable
:). However for your chair and crate problems a likely solution is in
section 10.9. of the documentation:

"You should never create a composite object that will result in
collision points being generated very close together."

Which might be the problem in your case. I've put together a quick
test and with my ugly chairs and crates everything seems to be
alright.

> A third example, I attempted to create a 'Jenga' style tower of boxes with
> three boxes per layer. If I attempt to add any more than two layers to a
> tower, after a few seconds into the simulation the FPS drops to 0 and the
> program crashes horribly with a floating point overflow exception.

I don't crash (might be because I'm using D and the numbers just go
NaN), but the Jenga example falls apart above two levels for me too.
Seems like the pieces interpenetrate, which might be because of my
inability to set the simulation parameters optimally, but I didn't try
to tweak them now.
Also in the Jenga case contact points being close together is
virtually inevitable which could also be the problem.

> Are all these problems related to a singularity in the system matrix, as
> described in the documentation near "a robot with multiple legs sitting on
> the ground may be near-singular"?

Well, I'm not very educated in physics, but there seems to be a
circular chain of constraints in these cases. I don't think however
that this leads to much trouble, cars have such circles too and work
fine.

> Additionally, the double precision library of ODE won't even run on my
> system. As soon as a body collides its crashes with a floating point
> overflow exception.

You should try to fix that, might help a bit.

> Question 4)
> 
> In these mailing lists, how is it possible to respond to the thread, rather
> than the replier?

Press "Reply to all". For a longer read, the wiki points you here:
http://www.unicom.com/pw/reply-to-harmful.html

> That's it for my questions for now.

I've uploaded a windows binary of the chairs, crates and Jenga examples here:
http://mit.bme.hu/~darabos/jatek/odedemo.zip
Sorry for not providing source. Instructions: move camera with
rightclick+drag, zoom with middleclick+drag, spawn debris with space,
start demos with "rr.exe input", like "rr.exe jenga".

Good luck,

Daniel



More information about the ODE mailing list