[ODE] Collision: number of intersection points

Thomas Thueer ode at thoemsen.ch
Sat Feb 12 14:35:12 MST 2005


Hi Megan
Thanks for your reply!

>Remember that ODE is working with perfect spheres, so if you imagine a
>non-penetrating collision between an infinite plane and a perfect
>sphere, you'll see it has exactly one point of contact, infinitely
>small.
>  
>
OK, that's logical, but there are two things that confused me:
- Sometimes dCollide() returns more than one point of intersection 
between the sphere and the ground, so I guess that was when the sphere 
collided with 2 different triangles of my mesh-terrain.
- When I allow penetration of the bodies in ODE (CFM), I thought that 
this means that ODE calculates the real penetration depth and 
intersection of the bodies, which does not seem to be the case according 
to your explanation.

>
>If you're not getting enough traction, then why not ramp up the
>friction of contact joints generated between your wheels and the
>ground?  (make sure you're using the Friction Pyramid Approximation
>friction, which is not the default friction model)
>  
>
I already increased the friction coefficient (even up to dInfinity) 
using the Friction Pyramid, but it didn't really help. So I decreased 
the slip on the contacts, but that caused ODE to find incorrect 
solutions for the movement, I guess because the system was somehow 
overconstrained (the middle wheels of a 6-wheeled rover were lifted off 
the ground as soon as the front wheels touched a step obstacle, so the 4 
wheels moved all vertically at the same time!). I have played a lot with 
the contact joint parameters, but my problem is that I need a solution 
that works fine for any rover-type vehicle because we are developing a 
simulator and cannot ask the end user to find the parameters for every 
vehicle. Do you have any advice?

One last question: in reality there is a big difference between 
wheel-ground interaction of a sphere and a cylinder because of the 
contact surface. How would you model this difference in ODE then without 
setting different friction coefficients?

Anyway, thanks for your help so far.
Thomas


More information about the ODE mailing list