[ODE] Problems with ODE

A W sysrpl_lists at hotmail.com
Mon Jun 20 10:36:02 MST 2005

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.

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.

For example, I created a composite body using geoms created from 
dCreateGeomTransform to link together a representation of a chair model. The 
chair is composed of a few simple box geoms. Then I apply forces to a group 
of chairs (by throwing a object at them), they tend to bounce off each 
other, but also intersect with each other commonly becoming intertwined. 
When this happens the two objects spaz out, kick around, and sometimes come 
unstuck, other times they don't.

Another example, I created a crate composite body with 4 sides, a bottom, 
and an opening in the top (to drop other bodies into). When I try to stack 
these crates, they bounce off each other erratically and sometimes become 
hopelessly interconnected like they chairs example.

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.

In all simulations I am using the single precision ODE library and using 
surface mode dContactBounce for my contact joints.

I have tried all different values for mu, bounce, and bounce_vel. 
Interestingly, the 'Jenga' tower simulation doesn't crash if friction (mu) 
is set to 0, but any value over that results in the same crash.

I have tried setting different ERP and CFM values, adding more contact 
points, decreasing the step size, used both dFastStep and dWorldStep. 
Nothing I have done fixes these issues.

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"?

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.

Question 2)

Is ODE still under development? There doesn't seem to be much activity with 
the project. What is its current status and is there hope that development 
on it will pick up again soon?

Question 3)

Other than the users guide at http://ode.org/ode-latest-userguide.html and 
the ODE wiki (which seems sparse), is there any ODE documentation I am 
missing? I have been using Google with the search string "site:q12.org 
[query]", but sorting through mailing list threads does make for concise 
reading .

Question 4)

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

That's it for my questions for now.

I feel like I am not making any progress right now due to the problems list 
under question one. If you can help me out I'd REALLY appreciate it. If you 
need more information, I can post source code, screen shots, and a movie 
demonstrating the problems I described.

Thanks again for taking the time to read my letter.

Express yourself instantly with MSN Messenger! Download today - it's FREE! 

More information about the ODE mailing list