[ODE] Likely bug: non static deltaTime in the step (worldStep(world,deltaTime) instead of worldStep(world,0.05)) => problem?

Russ Smith russ at q12.org
Sun Jan 13 23:25:01 2002


i have figured out what is happening. it's not a bug in ODE as such
(it's a feature!) but it's definitely something that can be improved.
the problem is that when objects collide and are pushed apart by a
constraint force, the constraint force tries to reduce a fraction
'ERP' of the position every time step. however, to stay exactly on
this ERP-reducing path would require the constraint force to pull the
objects together a little bit at some timesteps after they have
collided. currently the constraint force is only allowed to push
objects apart (for physical reasons). the result is that colliding
objects gain a bit more restitution velocity than they should. this
is not normally a problem - but when the timestep is greatly increased
then the effect of this excess velocity is magnified, and the objects
shoot apart.

that's the problem. the solution is to come up with a better position-
projection scheme. i will have a think about this.

russ.

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