flexible-collision-library/fcl — pull request #37 by florent-lamiraux (2014-06-02 13:30:08+00:00)
Title: Implement capsule capsule distance function instead of using gjk algorithm

Default computation of closest points when calling function fcl::distance uses libccd gjk algorithm implementation and then tries to postprocess the simplex structure built by libccd to guess the closest points. This latter computation seems incorrect, moreover for some shapes, it is not as efficient as implementing a specific function.

This pull request does so for capsule-capsule distance and collision computations by specializing template functions ShapeShapeDistance and ShapeShapeCollision template functions.

The algorithm has been tested on 274 self-collision pairs using a model of HRP2 robot with the following performance:
- 37 micro-seconds with this implementation,
- 110 micro-seconds with the gjk implementation.