[ODE] Problems with ODE
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
Here are a my questions:
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
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?
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
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