-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cylinder-Cylinder collision wrong when tilted #122
Comments
I think FCL needs real primitives! |
thanks, will have a look if #154 also fixed my issue in the "real" world (understand not the simplified test case) |
Sure! But, it's not sure if the problem is actually fixed. If you still have the same issue, then please provide a test that reproduces the problem. It would be very helpful. |
@jslee02 I am so sorry to have take a year to answer. Collisions are now ok in our hands. thanks. |
Context:
My Lab discovered this bug while using MoveIt! (using FCL) with the Shadow Dexterous hand, which consists of several fingers close together and with cylinders to represent collision shapes
Problem:
when moving the fingers to the side, a little, even with thiner collision cylinders that offer a large gap (more than 5mm) relatively to the fingers size, there are strange collisions as seen here.
Test in MoveIt!:
to isolate the problem we created a small moveit example only with two "bars" and the problem can be reproduced. Starting from a certain angle, the collision appears. (0.13rad on both "fingers")
We redid the test by changing the cylinder primitive into a mesh of exactly the same size and same number of faces as the rendered cylinders. The problem does not happen. So it must be in the primitive.
Test in FCL:
FCL has no self test for rotated cylinders, only translated if we understood well, so we decided to add a test in FCL directly that reproduces the two cylinders primitives and adds a rotation at their base (as in the hand), first of 0.12 rad and then of 0.13 rad and the test fails indeed at 0.13.
The test is available here guihomework@b44a3aa
Analysis:
From the code, we think that the conversion of cylinder primitives into a hexagonal prism is the reason for the problem. Due to the small gap in between fingers, the larger hexagonal prisms collide before their rendered counter-part "visually" collide.
Questions:
thanks
The text was updated successfully, but these errors were encountered: