Convex Hull collision (was Re: [ODE] PosR - a better way?)

Jeffrey Smith jeffreys at Softimage.com
Fri Nov 12 14:55:57 MST 2004


> Has anyone tried integrating convex hull collision into ODE?  

I have spent a significant amount of time on this problem.  Doing
accurate, stable convex hull collisions is very difficult, even under
ideal circumstances.  Unfortunately, ODE's time stepping technique
(generally called a "penalty based" method, although it has nothing to
do with penalty-based collisions or penalty-based optimization) makes
this already hard problem even harder.  Rather than having only to
compute the separation distance between convex solids (which can be
done with GJK), ODE requires penetration depths as well as witness
points (or a separation vector at the very least).

In pathological cases, such as two concentric spheres, this
computation is impossible without refering to past states.  However,
even in non-patholical cases it is still very hard.  I've been experimenting
with SOLID 3.5 and can get some decent results, but resting contact is
still far from satisfactory.  If you want to try this for yourself,
download SOLID and give it a shot.  The API is pretty clear and it's
not that hard to naively integrate the two libraries.  However, since
SOLID is not "free as in beer" for commercial applications, permanent
integration of it into ODE might be problematic.

-Jeff



More information about the ODE mailing list