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

How to use current experimental pcl together with ROS Fuerte?

asked 2012-06-19 10:03:25 -0600

ph4nt0m gravatar image


what is the easiest way to use the current experimental version of the PCL together with ROS Fuerte (which includes PCL 1.5 by default)? There are some features I would like to use which aren't available in version 1.5.

I found this directory but I don't know what these files are for, since there is no official PCL 1.5.2.

Thanks in advance!

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2012-06-19 17:44:21 -0600

prince gravatar image

updated 2012-06-19 17:46:28 -0600

Fuerte uses pcl 1.5 as default. This link in mailing list could be of help:

Your question is answered by Bhaskara. I am reproducing it here

We've been using pcl trunk with fuerte: 

It puts the pcl trunk code into a 'pcl16' namespace, so that it can 
coexist with fuerte's pcl 1.5. Using it basically involves replacing 
the pcl and pcl_ros namespaces with pcl16 and pcl16_ros respectively. 
- Bhaskara
edit flag offensive delete link more


Thank you! How does this work? I cloned the git repository, but it doesn't contain the PCL trunk code, so I assume I have to merge them somehow. But how can this package change the c++ namespace to "pcl16" if it does not even contain the (modified) pcl header files?

ph4nt0m gravatar image ph4nt0m  ( 2012-06-20 00:24:51 -0600 )edit

Code is present in repo. I just checked. Can you try again?

prince gravatar image prince  ( 2012-06-20 01:23:47 -0600 )edit

I used "hg clone", but I doesn't actually contain the pcl header and source files, so I think I have to get these from and merge them with perception_pcl_fuerte_unstable in some way!?

ph4nt0m gravatar image ph4nt0m  ( 2012-06-20 01:51:38 -0600 )edit

No, you don't have to do that. Just clone this repo somewhere in your ROS_PACKAGE_PATH, then do rosmake pcl16_ros. pcl will be checked out during the build process (see pcl16/Makefile).

bhaskara gravatar image bhaskara  ( 2012-06-20 06:28:43 -0600 )edit

I did exactly what you said, but unfortunately when it comes to executing pcl16/Makefile, I get "CMake Error: The source directory "~/workspace/perception_pcl_fuerte_unstable/pcl16/build/pcl_trunk" does not appear to contain CMakeLists.txt". Apparently, the pcl trunk is not checked out at all. :(

ph4nt0m gravatar image ph4nt0m  ( 2012-06-20 07:36:52 -0600 )edit

You're right — there was an error in the makefile that caused it to not work on a fresh install. I've pushed a fix; can you try it now?

bhaskara gravatar image bhaskara  ( 2012-06-20 10:46:43 -0600 )edit

Thanks! The build dir in pcl16 had to be deleted in order for the respective makefile target to be executed. Thank you for fixing this :) Just one further question: What would be the best way to upgrade to a new trunk? Just change the revision in the Makefile and recompile or to do a fresh install?

ph4nt0m gravatar image ph4nt0m  ( 2012-06-20 11:21:14 -0600 )edit

I don't believe changing the revision will trigger a new build. You'll have to do an rm -rf build in the pcl16 directory as well. It would be nice to be able to svn update pcl and just remake the changed bits, but the problem is that we're patching pretty much all the files after checking them out.

bhaskara gravatar image bhaskara  ( 2012-06-20 11:42:32 -0600 )edit

Question Tools


Asked: 2012-06-19 10:03:25 -0600

Seen: 1,326 times

Last updated: Jun 19 '12