[ODE] Representing external simulation objects in ODE on a trajectory

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Jul 30 12:42:36 MST 2007

ODE is a penetration based solver, somewhat similar to penalty based 
methods. This means that, the deeper an object is embedded into another, 
the more force will be applied to the body to separate it. When you're 
moving a kinematic object (only a geom), then you run into the risk of 
making an object penetrate severely in a single time step, which might 
kick it using a very hard force. There is some help in setting ERP 
lower, or setting the "maximum allowed escape velocity" parameter -- but 
then, if the kinematic object moves quickly, the pushed object might not 
keep up.

In general, resting contacts are hard, and resting contacts on moving 
bodies are even harder. If that's what you want to do, you might want to 
use a heavy body, and drive it with strong forces towards the desired 
location, rather than using a bodyless geom. Try both and see which one 
is better.

Also, smaller time steps help, up to a limit. Time steps smaller than, 
say, 1 millisecond are likely to start introducing problems because of 
the small values involved (and the inverse of those values).


			/ h+

Devrim Erdem wrote:
> Thanks Jon.
> Here is my concern at this point with the geometry:
> Imagine a rigid body box lying on a box geometry. The box slow starts to 
> move forward slowly. Would the friction between two boxes cause the box 
> above to move with the box below ?
> If this is a case which ODE can simulate nicely, is this generically 
> safe ? Would that work if the box below tilts or accelerates/decelerates 
> at higher amounts ?

More information about the ODE mailing list