[ODE] Found my LCP solver replacement bug

David Whittaker david at csworkbench.com
Thu Apr 24 11:45:02 2003


>
>> infinity * 0 = nan
>>
>> Doh!
>>
>> That comes up when you have a "grazing" contact (i.e. 0 normal force),
>> dContactApprox1, and infinite friction all at once.  I don't think
>> that dContactApprox1 and mu = infinity really make any sense
>> together... but the LCP source said infinity * 0 = 0 for this case, so
>> I followed that convention.
>
> Nice one.
>
>> Now that the auto-disabling code is in there, it's pointing out the
>> jitter I thought I got rid of... or maybe I moved something around
>> that needed to stay.  Grrrr.  I'll commit to CVS tomorrow night
>> whether or not I get the jitter fixed.
>
> Are you sure you're not just seeing bodies that are arkwardly resting on
> each other re-enabling each other constantly?  I found that's an issue
> with auto-disabling, and often requires quite severe min vel/time
> params. --
> gl

No... boxes sitting in the middle of nowhere all alone are rocking back
and forth enough so that they never get disabled (with either LCP method).
 So it happens even with auto-disabling disabled.  I'll have to reanalyze
an older codebase (the one on my website - where I thought I had removed
most of the jitter problems) to see if the same behavior is apparent, or
if there's something I changed in the meantime.  I'm really hoping it
doesn't descend to the point where I have to do collision detection
between iterations.  I still have a few tricks to try before I go that
far.

David

> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode