[ODE] Collision constraint

Gary R. Van Sickle g.r.vansickle at worldnet.att.net
Tue Jun 24 19:56:02 2003


> Isn't there anyone that knows if this is an issue with ODE? 
> 
> /Joakim E.
> 

ODE doesn't use penalty methods, so no, the issue discussed doesn't affect ODE.

-- 
Gary R. Van Sickle
Brewer.  Patriot. 

> > -----Original Message-----
> > From: Bob Dowland [mailto:Bob.Dowland@blue52.co.uk]
> > Sent: den 19 juni 2003 15:24
> > To: ode@q12.org
> > Subject: RE: [ODE] Collision constraint
> > 
> > 
> > I think you've hit the nail on the head here - this is the 
> > main snag with "penalty methods" (penetration correction 
> > force). I don't know how ODE's "correction" works, perhaps 
> > someone can explain but using a simple spring model (force 
> > proportional to error) can give rise to these additional 
> > "bouncing" effects.
> > 
> > If you think of the penetration as an error call it e and 
> > note that it is a function of time e = e(t) then a simple 
> > spring correction also called "proportional controller" 
> > generates a force proportional to that error
> > 
> > F = F (e(t)) = kp.e(t)
> > 
> > this is the same ode as for a spring (giving "shm"). It's 
> > nice and simple but does produce, well, a certain 
> > springyness. An improvement on this is "proportional, 
> > derivative control":
> > 
> > F = kp.e(t) + kd.d/dt{e(t)}
> > 
> > a spring with a damper. A little more complicated but gives 
> > you a fighting chance at least. The trick, then, is to find 
> > "good values" for kp and kd, (ie ones that make e go to zero 
> > as quick as poss, not overshoot, and not oscillate about zero 
> > - aka "critically damped") unfortunately this often comes 
> > down to manual tweaking - depending on the situ.
> > 
> > I don't know if this helps in any way - I guess it would be 
> > more useful to hear what some of the ODE vets have to say on this.
> > 
> > 
> > > -----Original Message-----
> > > From: Joakim Eriksson [mailto:jme@snowcode.com]
> > > Sent: 18 June 2003 09:42
> > > To: ode@q12.org
> > > Subject: [ODE] Collision constraint
> > > 
> > > 
> > > I have been looking a bit at the constraint system and there is one
> > > thing I wonder.
> > > 
> > > As far as I can tell so does the constraint solver only 
> > > return a force.
> > > That force
> > > is then applied to the bodies. So the force turns into a 
> > velocity that
> > > changes the body.
> > > Now what happens if a body is far into for example a plane. So the
> > > penetration
> > > depth is large. That would force the 'c' part of the 
> > > constraint equation
> > > to have a
> > > large value (To fix the penetration). If we would set the ERP to 1.0
> > > then he
> > > would need to fix the error as quickly as possible. Now 
> > > because we calc
> > > a force
> > > wont that mean that the body will get a velocity that forces 
> > > it not only
> > > to quickly
> > > move out of plane but also to continue away from the plane? Or am I
> > > missing
> > > something?
> > > 
> > > If the problem actually does exists it would show in the 
> > > following way.
> > > A fast moving object with a coeffiecent of resitition that 
> > equals 0.0f
> > > that collides
> > > with for example a plane would still get a bounce effect. 
> > How high the
> > > bounce would be would depend on the ERP and the penetration depth.
> > > 
> > > /Joakim E.
> > > 
> > > 
> > > _______________________________________________
> > > ODE mailing list
> > > ODE@q12.org
> > > http://q12.org/mailman/listinfo/ode
> > > 
> > 
> > _______________________________________________
> > ODE mailing list
> > ODE@q12.org
> > http://q12.org/mailman/listinfo/ode
> > 
> 
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode
>