Quantcast

Correspondence Grouping Tutorial + ROS

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Correspondence Grouping Tutorial + ROS

MartinW
Hello all,


I am trying to rosmake the Correpsondence Grouping Tutorial using the ros-fuerte-perception-pcl-fuerte-unstable  package from ROS. I changed over all the namespaces, includes, and manifest.xml depends but I get a lot of compiling errors that seem to stem from the recognition module:

  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:281:65: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:283:60: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:284:60: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h: In constructor ‘pcl16::SHOTEstimationOMP<pcl16::PointXYZRGBA, PointNT, pcl16::SHOT, PointRFT>::SHOTEstimationOMP(bool, bool, unsigned int, int, int)’:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:292:63: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
  In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:43:0,
                   from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h: In member function ‘bool pcl16::CorrespondenceGrouping<PointModelT, PointSceneT>::initCompute()’:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:154:54: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:154:54: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:160:54: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:166:76: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
  In file included from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:0:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h: At global scope:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:54:23: error: variable ‘pcl16::recognition::PCL_EXPORTS pcl16::recognition::HoughSpace3D’ has initializer but incomplete type
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:54:23: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected primary-expression before ‘public’
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected ‘}’ before ‘public’
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected ‘,’ or ‘;’ before ‘public’
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new [](size_t)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete [](void*)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new(size_t, void*)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*, void*)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new(size_t, const std::nothrow_t&)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*, const std::nothrow_t&)’ may not be declared within a namespace
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:67:123: error: expected constructor, destructor, or type conversion before ‘;’ token
  In file included from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:0:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:104:7: error: expected unqualified-id before ‘protected’
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected template-name before ‘<’ token
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected ‘{’ before ‘<’ token
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected unqualified-id before ‘<’ token
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:513:1: error: expected declaration before ‘}’ token
  make[3]: *** [CMakeFiles/corr_match2.dir/src/corr_match2.o] Error 1
  make[3]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'
  make[2]: *** [CMakeFiles/corr_match2.dir/all] Error 2
  make[2]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'



Does anyone know what these error mean? Is there something wrong with the ros-fuerte-perception-pcl-fuerte-unstable package?


Kind Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

Radu B. Rusu
Administrator
Martin,

Where did you take that stack from?

Cheers,
Radu.
--
http://openperception.org

On 09/04/2012 03:57 PM, MartinW wrote:

> Hello all,
>
>
> I am trying to rosmake the
> http://www.pointclouds.org/documentation/tutorials/correspondence_grouping.php#correspondence-grouping
> Correpsondence Grouping Tutorial  using the
> /ros-fuerte-perception-pcl-fuerte-unstable / package from ROS. I changed
> over all the namespaces, includes, and manifest.xml depends but I get a lot
> of compiling errors that seem to stem from the recognition module:
>
>
>
>
>
> Does anyone know what these error mean? Is there something wrong with the
> ros-fuerte-perception-pcl-fuerte-unstable package?
>
>
> Kind Regards,
> Martin
>
>
>
> --
> View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey Radu,


I used "apt-get install ros-fuerte-perception-pcl-fuerte-unstable" from Mac's reply in my other forum post:

"On Sat, Sep 1, 2012 at 4:43 PM, Radu B. Rusu <[hidden email]> wrote:
> As far as I know, PCL 1.6 works just fine in ROS. I'm not sure if my
> colleagues already released ROS debian packages for it

We have: ros-fuerte-perception-pcl-fuerte-unstable.

That package provides a version of pcl 1.6.0 with everything moved
into the pcl16 namespace (and the include directory moved).

So #include "pcl/point_cloud.h" becomes #include "pcl16/point_cloud.h"
and pcl::PointCloud<pcl::PointXYZRGB> becomes
pcl16::PointCloud<pcl16::PointXYZRGB>.

    --M"

Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

Radu B. Rusu
Administrator
Oh ok, got it. And thanks to Mac for creating that Debian package ;)

However, there is one small problem. You're not using PCL 1.6 but a trunk version around the time when PCL 1.6 was under
development. PCL 1.6 does not contain the recognition module as it didn't reach maturity yet and is thus considered to
be unstable.

One solution to be able to help you, would be to give a newer version of trunk a try, just so we are looking at the same
code, perhaps using the http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/ stack. Please note that
this will create a pcl17 and pcl17_ros package.

Cheers,
Radu.
--
http://openperception.org

On 09/04/2012 04:38 PM, MartinW wrote:

> Hey Radu,
>
>
> I used "apt-get install ros-fuerte-perception-pcl-fuerte-unstable" from
> Mac's reply in my other forum post:
>
> "On Sat, Sep 1, 2012 at 4:43 PM, Radu B. Rusu <[hidden email]> wrote:
>> As far as I know, PCL 1.6 works just fine in ROS. I'm not sure if my
>> colleagues already released ROS debian packages for it
>
> We have: ros-fuerte-perception-pcl-fuerte-unstable.
>
> That package provides a version of pcl 1.6.0 with everything moved
> into the pcl16 namespace (and the include directory moved).
>
> So #include "pcl/point_cloud.h" becomes #include "pcl16/point_cloud.h"
> and pcl::PointCloud<pcl::PointXYZRGB> becomes
> pcl16::PointCloud<pcl16::PointXYZRGB>.
>
>      --M"
>
> Regards,
> Martin
>
>
>
> --
> View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4021998.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey Radu,

I downloaded the perception_pcl_fuerte_unstable package in my /stacks folder using "svn co http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/" But how do I make the unstable package so that I can use the new files? I can't seem to find the recognition module in the pcl17 and pcl17_ros packages.


Kind Regards,
Martin

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

Radu B. Rusu
Administrator
You need to type "make" in the pcl17 package, e.g.:

$ roscd pcl17 && make

Cheers,
Radu.
--
http://openperception.org

On 09/04/2012 05:08 PM, MartinW wrote:

> Hey Radu,
>
> I downloaded the perception_pcl_fuerte_unstable package in my /stacks folder
> using "svn co
> http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/" But
> how do I make the unstable package so that I can use the new files? I can't
> seem to find the recognition module in the pcl17 and pcl17_ros packages.
>
>
> Kind Regards,
> Martin
>
>
>
>
>
> --
> View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4022000.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Thanks Radu!

I've compiled the pcl17 and pcl17_ros now :) Furthermore, I switched over the correpondence_grouping.cpp tutorial to the pcl17 namespace and it almost compiles error free! I just have one small error popping up now:

  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:385:46: error: ‘PCL_VISUALIZER_POINT_SIZE’ is not a member of ‘pcl17::visualization’
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:389:46: error: ‘PCL_VISUALIZER_POINT_SIZE’ is not a member of ‘pcl17::visualization’

Do you know where I might find this member?


Regards,
Martin

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
I found where the member is, in common.h but it's called PCL17_VISUALIZER_POINT_SIZE not PCL_VISUALIZER_POINT_SIZE. So I changed over the name and now I have a whole lot more errors :-S

New errors:
 In function `main':
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:338: undefined reference to `pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>::recognize(std::vector<Eigen::Matrix<float, 4, 4, 0, 4, 4>, Eigen::aligned_allocator<Eigen::Matrix<float, 4, 4, 0, 4, 4> > >&, std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:365: undefined reference to `pcl17::visualization::PCLVisualizer::PCLVisualizer(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:385: undefined reference to `pcl17::visualization::PCLVisualizer::setPointCloudRenderingProperties(int, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:389: undefined reference to `pcl17::visualization::PCLVisualizer::setPointCloudRenderingProperties(int, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:420: undefined reference to `pcl17::visualization::PCLVisualizer::spinOnce(int, bool)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:423: undefined reference to `pcl17::visualization::PCLVisualizer::~PCLVisualizer()'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:325: undefined reference to `pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>::recognize(std::vector<Eigen::Matrix<float, 4, 4, 0, 4, 4>, Eigen::aligned_allocator<Eigen::Matrix<float, 4, 4, 0, 4, 4> > >&, std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)'
  /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:423: undefined reference to `pcl17::visualization::PCLVisualizer::~PCLVisualizer()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: In function `__static_initialization_and_destruction_0':
  /usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()'
  /usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()'
  /usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: In function `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::setInputCloud(boost::shared_ptr<pcl17::PointCloud<pcl17::PointXYZRGBA> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int> > const> const&)':
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/search/organized.h:146: undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::estimateProjectionMatrix()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1716NormalEstimationINS_12PointXYZRGBAENS_6NormalEEE[vtable for pcl17::NormalEstimation<pcl17::PointXYZRGBA, pcl17::Normal>]+0x38): undefined reference to `pcl17::NormalEstimation<pcl17::PointXYZRGBA, pcl17::Normal>::computeFeature(pcl17::PointCloud<pcl17::Normal>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1719NormalEstimationOMPINS_12PointXYZRGBAENS_6NormalEEE[vtable for pcl17::NormalEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal>]+0x38): undefined reference to `pcl17::NormalEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal>::computeFeature(pcl17::PointCloud<pcl17::Normal>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1715UniformSamplingINS_12PointXYZRGBAEEE[vtable for pcl17::UniformSampling<pcl17::PointXYZRGBA>]+0x38): undefined reference to `pcl17::UniformSampling<pcl17::PointXYZRGBA>::detectKeypoints(pcl17::PointCloud<int>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1718SHOTEstimationBaseINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::SHOT352>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x48): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computePointSHOT(int, std::vector<int, std::allocator<int> > const&, std::vector<float, std::allocator<float> > const&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::SHOT352>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x48): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computePointSHOT(int, std::vector<int, std::allocator<int> > const&, std::vector<float, std::allocator<float> > const&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1734BOARDLocalReferenceFrameEstimationINS_12PointXYZRGBAENS_6NormalENS_14ReferenceFrameEEE[vtable for pcl17::BOARDLocalReferenceFrameEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::BOARDLocalReferenceFrameEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::ReferenceFrame>&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1715Hough3DGroupingINS_12PointXYZRGBAES1_NS_14ReferenceFrameES2_EE[vtable for pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>::clusterCorrespondences(std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1728GeometricConsistencyGroupingINS_12PointXYZRGBAES1_EE[vtable for pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>]+0x38): undefined reference to `pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>::clusterCorrespondences(std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl176search17OrganizedNeighborINS_12PointXYZRGBAEEE[vtable for pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>]+0x48): undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::nearestKSearch(pcl17::PointXYZRGBA const&, int, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&) const'
  CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl176search17OrganizedNeighborINS_12PointXYZRGBAEEE[vtable for pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>]+0x68): undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::radiusSearch(pcl17::PointXYZRGBA const&, double, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&, unsigned int) const'
  collect2: ld returned 1 exit status
  make[3]: *** [../bin/correspondence_grouping] Error 1


I'm totally lost with these errors, does anyone have any clue what could be wrong? I have the pcl17 includes linked and all the names switched over from pcl to pcl17. Thanks in advance!


Kind Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

Radu B. Rusu
Administrator
Martin,

Try this CMakeLists.txt:

--------
cmake_minimum_required (VERSION 2.4.6)

include ($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
rosbuild_init ()

set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
include_directories (${CMAKE_CURRENT_BINARY_DIR})
include_directories (src)

find_package(Eigen REQUIRED)
include_directories(${Eigen_INCLUDE_DIRS})
include_directories(${EIGEN_INCLUDE_DIRS})

find_package (VTK REQUIRED)
include_directories(${VTK_INCLUDE_DIRS})
link_directories(${VTK_LIBRARY_DIRS})

# ---[ Point Cloud Library - Transforms
rosbuild_add_executable (testpcl src/correspondence_grouping.cpp)
target_link_libraries (testpcl vtkCommon vtkRendering)
------

And svn up in the pcl17 package.

Cheers,
Radu.
--
http://openperception.org

On 09/07/2012 11:39 AM, MartinW wrote:

> I found where the member is, in common.h but it's called
> PCL17_VISUALIZER_POINT_SIZE not PCL_VISUALIZER_POINT_SIZE. So I changed over
> the name and now I have a whole lot more errors :-S
>
> New errors:
>
>
>
> I'm totally lost with these errors, does anyone have any clue what could be
> wrong? I have the pcl17 includes linked and all the names switched over from
> pcl to pcl17. Thanks in advance!
>
>
> Kind Regards,
> Martin
>
>
>
> --
> View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4022087.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey Radu,

I made those changes to the CMakeLists.txt and svn updated the pcl17 folder and it cleared up a lot of the errors.

Now I am just getting what appears to be a linker error:

 /usr/bin/ld: CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: undefined reference to symbol 'pcl17::console::parse_argument(int, char**, char const*, float&)'
  /usr/bin/ld: note: 'pcl17::console::parse_argument(int, char**, char const*, float&)' is defined in DSO /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 so try adding it to the linker command line
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7: could not read symbols: Invalid operation

Is there a simple fix to this? I checked the parse.h file in the pcl17/console folder and these parse_argument functions are there.


Kind Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

mamoto
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey mamoto,


I'm using Ubuntu to compile my pcl project and I don't quite understand what I should do from that link you posted.

I believe I am supposed to link the libpcl_common.so.1.7 library in the CMakeLists.txt but I thought these libraries were already linked.


Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

mamoto
sorry!
i don't know you worked in ubuntu.
i build pcl 1.7.0 success in win 8 and i think you need.
i'm sory very much again!!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey mamoto,

No problem at all. Thanks for trying to answer my question though!

I've found the lib file I need to link in the path perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 but I'm lost as to how to link it. I've tried adding "target_link_libraries(correspondence_grouping libpcl_common.so.1.7)" to my CMakeLists.txt but the compiler doesn't know where to find it
 Linking CXX executable ../bin/correspondence_grouping
  /usr/bin/ld: cannot find -llibpcl_common.so.1.7



Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

LizM
This post has NOT been accepted by the mailing list yet.
Hey Martin,

Came across your post after having similar problems with the unstable version of pcl17 in ROS.  Adding "target_link_libraries(whatever_project pcl_common)" worked for me.

What is the proper way to get access to the PCL_LIBRARIES variable though using the unstable stack?

Liz
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hey Liz,

I tried adding that link but it didn't fix the error :(

Here is my CMakeLists.txt

cmake_minimum_required (VERSION 2.4.6) 

include ($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 
rosbuild_init () 

set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
include_directories (${CMAKE_CURRENT_BINARY_DIR}) 
include_directories (src) 


find_package(Eigen REQUIRED) 
include_directories(${Eigen_INCLUDE_DIRS}) 
include_directories(${EIGEN_INCLUDE_DIRS}) 

find_package (VTK REQUIRED) 
include_directories(${VTK_INCLUDE_DIRS}) 
link_directories(${VTK_LIBRARY_DIRS}) 

# ---[ Point Cloud Library - Transforms 
rosbuild_add_executable (correspondence_grouping src/correspondence_grouping.cpp) 
target_link_libraries (correspondence_grouping vtkCommon vtkRendering) 
target_link_libraries (correspondence_grouping pcl_common) 


And the rosmake warnings/errors that come up are:

  In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/impl/io.hpp:45:0,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/io.h:488,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/file_io.h:42,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/pcd_io.h:44,
                   from /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:1:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/point_types.h:56:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
  In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/impl/io.hpp:45:0,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/io.h:488,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/file_io.h:42,
                   from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/pcd_io.h:44,
                   from /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:1:
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/point_types.h:636:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
  Linking CXX executable ../bin/correspondence_grouping
  /usr/bin/ld: CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: undefined reference to symbol 'pcl17::console::parse_argument(int, char**, char const*, float&)'
  /usr/bin/ld: note: 'pcl17::console::parse_argument(int, char**, char const*, float&)' is defined in DSO /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 so try adding it to the linker command line
  /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7: could not read symbols: Invalid operation
  collect2: ld returned 1 exit status
  make[3]: *** [../bin/correspondence_grouping] Error 1


Thank you for taking time to post and help me!



Kind Regards,
Martin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Correspondence Grouping Tutorial + ROS

MartinW
Hello all,

I figured out the error!!

I was using both the pcl and pcl17 depend packages in my manifest.xml this created the error. Everything compiles nicely now :) Thank you all for your help!

Kind Regards,
Martin
Loading...