[ros-users] Problems with normal estimation (segmentation fault)

Dejan Pangercic dejan.pangercic at gmail.com
Wed Jul 20 18:58:00 UTC 2011


Hi Florian,
did you manage to solve this?
The test files shall be in pcl/build/pcl/test folder.
D.

On Wed, Jun 8, 2011 at 4:37 AM, Florian Seidel
<seidel.florian at googlemail.com> wrote:
> Hey there,
>
> I have a problem with normal estimation and hope that someone can help
> me figuring this out.
> I have two installations of ros on two different Ubuntu machines.
> The code in question runs without problems on one installation.
> On the other using the same pcd files the code quits with a segmentation
> fault.
>
> This is the code:
>
>        typename PointCloud<PT>::Ptr cloud(new PointCloud<PT> ());
>        sensor_msgs::PointCloud2 cloud_blob;
>
>        if (reader.read(p.string(), cloud_blob) != -1) {
>        pcl::fromROSMsg(cloud_blob, *cloud);
>        } else {
>        throw PCDLoaderException(
>        string("Can't load cloud from file: ") + p.filename());
>        }
>
>        typename KdTreeFLANN<PT>::Ptr kdTree =
>        make_shared<KdTreeFLANN<PT> > ();
>
>        kdTree->setInputCloud(cloud);
>
>        pcl::IndicesConstPtr indices = createIndices(cloud->size());
>
>        NormalEstimation<PT,pcl::Normal> normalEstimator;
>        normalEstimator.setInputCloud(cloud);
>
>
>        normalEstimator.setSearchMethod(kdTree);
>        normalEstimator.setIndices(indices);
>        normalEstimator.setKSearch(10);
>        normalEstimator.compute(*normals);
>
> I use the pcl version which ships with diamondback but also tried
> pcl_unstable from the repo (cloned it 2 days ago).
>
> This is a stack trace of the segmentation fault.
>
>        pcl::KdTreeFLANN<pcl::PointXYZ>::nearestKSearch() at
>        kdtree_flann.hpp:80 0x7ffff0cf7e10
>        pcl::KdTreeFLANN<pcl::PointXYZ>::nearestKSearch() at
>        kdtree_flann.h:183 0x507753
>        boost::_mfi::mf4<int, pcl::KdTree<pcl::PointXYZ>, int, int,
>        std::vector<int, std::allocator<int> >&, std::vector<float,
>        std::allocator<float>
>        >&>::call<boost::shared_ptr<pcl::KdTree<pcl::PointXYZ> >, int,
>        int, std::vector<int, std::allocator<int> >, std::vector<float,
>        std::allocator<float> > >() at mem_fn_template.hpp:485 0x505af5
>        boost::_mfi::mf4<int, pcl::KdTree<pcl::PointXYZ>, int, int,
>        std::vector<int, std::allocator<int> >&, std::vector<float,
>        std::allocator<float> >&>::operator() at mem_fn_template.hpp:499
>        0x5050d2
>        boost::_bi::list5<boost::reference_wrapper<boost::shared_ptr<pcl::KdTree<pcl::PointXYZ> > >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator() at bind.hpp:508 0x503b79
>        boost::_bi::bind_t<int, boost::_mfi::mf4<int,
>        pcl::KdTree<pcl::PointXYZ>, int, int, std::vector<int,
>        std::allocator<int> >&, std::vector<float, std::allocator<float>
>        >&>,
>        boost::_bi::list5<boost::reference_wrapper<boost::shared_ptr<pcl::KdTree<pcl::PointXYZ> > >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator() at bind_template.hpp:145 0x501a39
>        boost::detail::function::function_obj_invoker4<boost::_bi::bind_t<int, boost::_mfi::mf4<int, pcl::KdTree<pcl::PointXYZ>, int, int, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&>, boost::_bi::list5<boost::reference_wrapper<boost::shared_ptr<pcl::KdTree<pcl::PointXYZ> > >, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, int, int, double, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&>::invoke() at function_template.hpp:132 0x4fefd7
>        boost::function4<int, int, double, std::vector<int,
>        std::allocator<int> >&, std::vector<float, std::allocator<float>
>        >&>::operator() at function_template.hpp:1.013 0x7ffff1eb6bb8
>        pcl::Feature<pcl::PointXYZ, pcl::Normal>::searchForNeighbors()
>        at feature.h:355 0x7ffff1f0aca2
>        pcl::NormalEstimationOMP<pcl::PointXYZ,
>        pcl::Normal>::computeFeature() at normal_3d_omp.hpp:58
>        0x7ffff1f0aca2
>
> I wanted to run the unittest files which come with pcl_unstable but
> couldn't find them. So maybe as a first step someone could tell me where
> they are located. ( I executed "make test" in pcl_unstable/pcl/ )
>
> Cheers,
>
> Flo
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
MSc. Dejan Pangercic
PhD Student/Researcher
Intelligent Autonomous Systems Group
Technische Universität München
Telephone: +49 (89) 289-26908
E-Mail: dejan.pangercic at cs.tum.edu
WWW: http://ias.cs.tum.edu/people/pangercic



More information about the ros-users mailing list