[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
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
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).
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