[ODE] Angular motors and 'LCP internal error, s <= 0'

Russ Smith russ at q12.org
Tue Jan 22 11:29:02 2002


> My (unsophisticated) fix was to remove the content of the original
> 'if'-clause and replaced it with a statement that set the 's'
> variable to a very little positive value, something like this:
>...
> I have absolutely no idea what the side-effects of this modifications
> are, as I don't even know anything about LCP solving, but the result 
> was that I fixed my motions of the creature.

this is very interesting, and i will investigate it more. setting 's'
positive when it was computed to be negative will make the solution
worse for that iteration of the LCP solver ... but there are multiple
solution paths for an LCP system so what may be happening is that the
LCP solver is getting 'stuck' for whatever reason (with s==0) and
setting s positive pushes it out of this dead spot so that the
solution can continue. what side effects will this cause? i'm not sure.

BTW, LCP errors are often a symptom of things that are nothing to do 
with the LCP solver - for example if the solver gets passed a nearly-
singular matrix (caused for example by coincident contact points).

russ.
 
--
Russell Smith
http://www.q12.org