[ODE] LCP solver

SJS ode at pulsecode.net
Wed Dec 3 21:06:11 MST 2003


I've been trying to use ODE's LCP solver.  I've had quite a lot of success
producing articulated objects, etc., but I've been having a bit of trouble
in some specific cases.  Problems seem to arise in some "perfect" or trivial
cases:

My most reproducible test case starts with 3 stacked frictionless spheres of
equal mass and radius at rest on an infinite-mass plane.  Spheres are spaced
so they touch exactly (contact points are generated at y=0, y=2*r, y=4*r,
where y is the vertical axis and r is the radius of all 3 spheres).

I'm using the regular 'dStepWorld' function (not StepFast) and I've fixed
the time step to 60fps.  Every time step yields 0 force on all three spheres
(not just in y, but x and z as well), so they just drop straight down
through the plane.  Is this a behavior that other people have observed?

While this case may seem unlikely, I believe the same failure is causing
jittering in my simulation during situations that are much more complicated
to describe here (at least in 1 email).

I should note that the LCP solver does NOT hit the "s<=0" internal error--
it simply produces inadequate (0) force on the spheres to hold them above
the plane.  I can provide a more details to anyone that is interested.  I
HAVE managed to find some "tweaks" to the LCP solver that solve (or at least
mask) the perfect 3-sphere problem, but I'd be very interested in a more
rigorous solution if anybody has any ideas.

Steve




More information about the ODE mailing list