dart
dart copied to clipboard
Use contact point positions computed by FCL
- DART creates meshes for primitive geometries and conduct collision detection using FCL. It sometimes makes unnatural looking result because the collision result is not analytical solution. For example, a sphere does not roll on the ground smoothly. Now FCL supports primitive geometries and analytical solution. Let's use it in DART.
- DART calculates contact points with triangle-triangle contact information from FCL because older version of FCL did not provide the contact points. Let's use it in DART, too!
Is anyone currently working on this now?
Hi Can, I am working on this now. Do you have any good idea about this issue?
I think we should definitely do it because from what I have seen with the cylinders, the output is just not feasible.
I was planning to write some unittests to see how well the fcl collisions test work for ellipses but it seems like you have already started doing this for cubes.
I conducted some tests for primitive collision detecting with the most recent version of FLC (v0.2.9). I believe that the recent FCL fix resulting wrong contact points.
However, I also found that another issue that FCL returns only one contact point for primitive-primitive all the time. This feature causes problem stacking primitives. For example, to support a box on the ground we need at least three contact points at the bottom face of the box.
When two primitives are colliding, it is not easy to say that which set of contact points are reasonable, of course. However, only one contact point is not suitable for dynamics simulation with contact/collision.
I created a ticket (https://github.com/flexible-collision-library/fcl/issues/15) about multiple contacts for primitive collision.
Changed title to confine the issue because primitive shape issue duplicates with #19.
Pending until FCL's incorrect contact point computation is resolved.