[ODE] Scene Managenment / Partitioning

Graham Fyffe gfyffe at gmail.com
Wed Dec 28 11:04:58 MST 2005


The solver is pretty nice, yes.  The LCP code is much faster than some
LCP code I attempted to write before I used ODE.  The ODE comments
mention using Dantzig's method, whereas I was using something I pulled
out of a rabbit.

Anyway... one complaint I have, which should be addressed I think for
many people's benefit, is the way the ODE handles LCP failures:  It
doesn't.  Speficifically, if it can't find a solution to the LCP, it
just spits out an error message and quits the algorithm.  99% of the
time, this causes #IND values all over the place and the simulation
breaks completely.  My old code (which was impractically slow) had the
benefit that it would return the solution with the smallest error that
it could find. This meant it would return an approximate solution when
no exact solution was found.  I wish ODE would do the same whenever it
encountered an "internal LCP error".  I'll have a look to see if
there's any way I could add that :P  I'm not an expert on LCP solvers
(yet), so anyone who has more experience might like to take a look too
:)

There are other stability issues inherent to physics simulators and
floating point math, which have been mentioned on this mailing list
before.  It would be nice to have some more safety features built in
to handle these issues too, even if the results are not 100% physical.

For example, some naively written pseudo-code:

try_it();
if (numerators_are_too_big || denominators_are_too_small)
{
    remove_some_energy_from_the_system_in_a_heuristic_fashion();
    try_it_again();
}

- Graham


On 12/26/05, JSTIER at cs.uvic.ca <JSTIER at cs.uvic.ca> wrote:
> Hi everyone
>
> I have been looking at the different spaces supported by ODE as well,
> and now I am curious about what benefits each type of space really has. Call me
> naive, but I think that there should be only one superior method for
> partitioning 3D space. That's just the way nature seems to work most of the
> time! I really like the idea of an algorithm like GJK, which promises a
> uniform
> way of detecting collsions. I know that's not partioning, but it's a uniform and
> general solution. Does anyone know the latest research on that topic?
>
> Also, I am still unclear about the "solver" in ODE. I hear that the solver,
> (I suppose this means constraint solver) is fairly efficient, except the
> recursive overflows I had to content with myself. Is that so and how can that
> be improved? Where does everyone see rigid body dynamics go from here. What
> can be done in hardware, and what must be done in software.
>
> Generally speaking, what is the technology direction that everyone wants to
> see happen ? And, how can I contribute....
>
> Curiosity killed the cat:)
>
>
> Merry Xmas
>
> Cheers
> Jochen
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode



More information about the ODE mailing list