[ODE] dCylinder with new collision detection system

Olivier Michel Olivier.Michel at cyberbotics.com
Wed Jan 22 09:17:01 2003


slipch wrote:

>Wednesday, January 22, 2003, 4:42:31 PM, you wrote:
>
>.....................................
>  
>
>>>Currently I use a trick which allows to set contact points near the
>>>place it should be.
>>>
>>>      
>>>
>OM> Ok, I am just facing this problem. Two cylinders are interpenetrating 
>OM> each other, collision is detected too late...
>
>This can happen due to above mentioned problem only in the case of
>cylinder edge - cylinder edge collision i.e. when rings on cylinders
>edges touches.
>
This happens with two parallel cylinders (having parallel axis).

>Any geometries can interpenetrate also due to CFM, ERP settings.
>
Sure, but I noticed a big difference between Cyl - Box (or Cyl - Ray)  
and Cyl - Cyl : Cyl - Cyl interpenetrate much more than Cyl - Box (or 
Cyl - Ray). So, I suspect that the Cyl - Cyl collision detection doesn't 
work as expected... It seems the cylinder radius used for collision 
detection  is significantly  smaller than the actual one (actually 
displayed)...

>OM> It's a bit annoying. Do you have some schedule to fix this issue ? If 
>OM> not, could you give me more details about this mean points technique you 
>OM> are thinking about ? I am not sure I could help doing this, but I may try...
>
>It is a simple idea for problem case. I this case the ring on one
>cylinder edge cross both lateral surface of the other cylinder and its
>flat circle edge each in one point (and vice versa). The idea - find
>both points and mean point between them that lying on the ring MP1.
>Doing the same thing for other cylinder we have two points MP1, MP2.
>Vector MP2-MP1 may be used as contact normal its magnitude as
>penetration depth and point (MP1+MP2)/2 as contact position.
>Case of cylinders separation must also be carefully regarded.
>
I don't think the problem I faced was corresponding to this case (since 
Cylinders were parallel to each other).

-Olivier