[ODE] Possible solution to unstable rotating bodies problem
gl
gl at ntlworld.com
Thu Apr 7 10:53:12 MST 2005
> This is even simpler than it looks at first. When giving the contact to
> the
> solver, you need to clamp the correctional velocity caused by penetration.
> In most joints, you'd want to just take the error, multiply it with ERP
> and
> put in the right hand side. With contact, you would want to clamp the
> result
> of that multiplication. The number that you use for clamping here is the
> maximum separation velocity introduced by the contact. 1 m/s works good
> usually.
If I understand you correctly, that mitigates the problem, but it's not
quite the same - you will still have up to 1/ms included in your object's
velocity, and that never dissipates (except due to other interactions or
manual damping).
Ideally you'd have both - the clamping avoids large correctional velocities,
which would stay in effect even after the contact has expired when other
penetrations still need to be resolved (and only storing a single
correctional velocity per body) - but it still seems good to have the
correctional velocity vanish completely when no longer needed. This would
also provide more accurate feedback to those that need it.
And as someone mentioned excessive angular velocity, isn't this also
increased unnecessarily by error correction?
--
gl
More information about the ODE
mailing list