ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Fuerte and FCL

asked 2013-05-07 08:15:59 -0600

I am running on Fuerte (Groovy is not an option) and I would like to use FCL (Flexible Collision Library). I've installed the ros-fuerte-fcl package with apt-get, but cannot find any information on how to actually use it. Can someone point me in the right direction?

edit retag flag offensive close merge delete


I've also tried the standalone FCL package, and it builds fine, and it runs the included test fine, but there doesn't seem to be any examples or documentation to it, either.

Jeffrey Kane Johnson gravatar image Jeffrey Kane Johnson  ( 2013-05-07 08:50:59 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-05-07 10:33:03 -0600

When I was getting started using FCL, I found these references helpful:

  • the original FCL Paper documents many of the core concepts
  • the API Documentation on the ROS wiki. Especially under the fcl Namespace, as many FCL capabilities are exposed as bare functions in the root fcl namespace.
  • the various test_*.cpp unit-test programs, which can be reviewed here

From the ROS side, you'll need to make sure fcl is listed as a dependency in your package's manifest.xml. Also, the CMakeLists.txt should include a target_link_libraries(my_exe fcl) line to link the library to your executable. As shown in the FCL test programs, you'll need to explicitly link individual header files for the specific FCL modules you want to use: #include "fcl/collision_node.h", etc.

To start, I'd try creating a small test program. You could construct a few primitives (spheres or cubes) of known geometry, at known distances, and call the FCL methods to check for collisions or distances. This is essentially what is done in the FCL unit-test programs. This test program will allow you to verify that you have your ROS environment set correctly (dependencies, includes, linking, etc.) and at least a basic working implementation of FCL. From there, you can expand the FCL portion to more directly implement what you're trying to do for your application.

Mostly, I had to stumble my way through getting started. But once I had some working code, the library was fairly easy to use and very powerful! We're doing distance checks between large meshes at a very acceptable rate. Other than the initial setup headaches, I've been very pleased.

edit flag offensive delete link more


Great information, thanks!

Jeffrey Kane Johnson gravatar image Jeffrey Kane Johnson  ( 2013-05-07 12:02:04 -0600 )edit

Question Tools

1 follower


Asked: 2013-05-07 08:15:59 -0600

Seen: 516 times

Last updated: May 07 '13