borodust / cl-bodge

Feature-rich game framework for Common Lisp
http://borodust.org/projects/cl-bodge/
MIT License
174 stars 14 forks source link

ODE LCP complain #9

Closed borodust closed 8 years ago

borodust commented 8 years ago
ODE Message 3: LCP internal error, s <= 0 (s=-0.0000e+00)
ODE Message 3: LCP internal error, s <= 0 (s=0.0000e+00)

ODE FAQ entry

It happens. It is usually caused by an object ramming into another with too much force (or just the right force). Try decreasing the mass of the object, or changing the timestep. Nevertheless, this won't crash your simulation, so you could ignore it as a warning. LCP stands for linear complementarity problem (see: [1]), a linear algebra problem of finding two vectors that satisfies a certain set of equations based on a square matrix and a column vector. This problem is quite common in optimization, physics simulation and mathematical programming. ODE uses a method developed by (Cottle & Dantzig 1968)⁠ .

borodust commented 8 years ago

In this case it was related to number of contact joints between colliding plane and box. 4 were generated which was kind of overkill and brought system instability. Restricting number of contacts to 1 completely alleviate the problem, but obviously simulation seems less real after that. With 2 or 3 contacts these warning is still generated.