[ODE] RE: bug fix in LCP solver

Ruud van Gaal ruud at marketgraph.nl
Sun Dec 16 10:51:02 2001


...
> a few people have reported the problem that occasionally they get
> the error message "LCP internal error, s <= 0",

Seen it too at one time, but mostly when *my* sim went crazy. ;-)

I can understand the LCP bug has taken your time (and it's good that it has
been fixed).
Hope you did read my comments though about a possible bug in geom.cpp's
dCollideBP(). You probably define a plane by normal*point+d=0 (where
normal=plane->p[0..2]=(a,b,c) and d=plane->p[3]), to get the usual
ax+by+cz+d=0.
In dCollideBP(), the initial (biggest) penetration depth is calculated using
plane->p[3], while I think it should have been -plane->p[3], as the whole
expression is negated. You can find details in a post a couple of days back
(I can repost if you want me to).

Having changed that to depth=-plane->p[3]..., my software works again (after
a lot of manual calculations to see if *I'm* not the one doing negative
calculations). You may want to take a quick look.

Cheers,
Ruud