[ODE] Collision problem between a Capsule and a box
Remi Ricard
remi.ricard at simlog.com
Sun Jul 22 18:06:23 MST 2007
Hi,
N.B. Sorry if this had gone through once before.
The problem of a capsule passing through a box was
already mentionned in:
http://ode.org/pipermail/ode/2007-January/021254.html
I'm getting a really similar problem and I was able to create a test
case of the problem. (See file inb Bug #1757060
http://sourceforge.net/tracker/index.php?func=detail&aid=1757060&group_id=24884&atid=382799)
Compile test_CapBoxCollision.cpp and test it.
You can also test the problem with a cylinder (There is no problem in
that case) with:
test_CapBoxCollision --cylinder
I'm having the problem when I use OPCODE and dDOUBLE with the source
code of revision trunk-1998
The problem seem to be coming from the function dClosestLineBoxPoints.
The 2 points lret (Collision point on the line in World frame) and bret
(Collision point of the box in the World frame can have a really small
difference.
For example, I'm getting
lret = (0, 0, -1e-16)
bret = (0,0,0)
Since the normal returned for the contact is:
.........
c->normal[2] = lret[2] - bret[2];
.........
c->normal is normalized to be (0,0,-1)
The real answer should be c->normal = (0,0,1)
or to take the default value of (1,0,0)
So if you have any clue on how to solve this. I will appreciate any news
from you.
Remi
More information about the ODE
mailing list