CogRob/omnimapper

sigfault in dashing

BillWSY opened this issue · 1 comments

Thread 59 "omnimapper_ros_" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffe5ab7d700 (LWP 5413)]
0x00007fffe5e258df in pcl::KdTreeFLANN<pcl::PointXYZRGBA, flann::L2_Simple<float> >::nearestKSearch (this=0x7fff9c004040, point=..., k=1, k_indices=std::vector of length 1, capacity 1 = {...}, k_distances=std::vector of length 1, capacity 1 = {...})
    at /root/pcl/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:160
160           neighbor_index = index_mapping_[neighbor_index];
(gdb) 
(gdb) bt
#0  0x00007fffe5e258df in pcl::KdTreeFLANN<pcl::PointXYZRGBA, flann::L2_Simple<float> >::nearestKSearch (this=0x7fff9c004040, point=..., k=1, k_indices=std::vector of length 1, capacity 1 = {...}, k_distances=std::vector of length 1, capacity 1 = {...})
    at /root/pcl/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:160
#1  0x00007ffff6cb216f in pcl::GeneralizedIterativeClosestPoint<pcl::PointXYZRGBA, pcl::PointXYZRGBA>::computeTransformation(pcl::PointCloud<pcl::PointXYZRGBA>&, Eigen::Matrix<float, 4, 4, 0, 4, 4> const&) () from /usr/local/lib/libomnimapper.so
#2  0x00007ffff6c94d6c in pcl::Registration<pcl::PointXYZRGBA, pcl::PointXYZRGBA, float>::align(pcl::PointCloud<pcl::PointXYZRGBA>&, Eigen::Matrix<float, 4, 4, 0, 4, 4> const&) () from /usr/local/lib/libomnimapper.so
#3  0x00007ffff6c97641 in omnimapper::ICPPoseMeasurementPlugin<pcl::PointXYZRGBA>::registerClouds(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> const>&, boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> const>&, boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> >&, Eigen::Matrix<float, 4, 4, 0, 4, 4>&, double&) () from /usr/local/lib/libomnimapper.so
#4  0x00007ffff6c9fead in omnimapper::ICPPoseMeasurementPlugin<pcl::PointXYZRGBA>::addConstraint(gtsam::Symbol, gtsam::Symbol, double) () from /usr/local/lib/libomnimapper.so
#5  0x00007ffff6c83d4d in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf3<bool, omnimapper::ICPPoseMeasurementPlugin<pcl::PointXYZRGBA>, gtsam::Symbol, gtsam::Symbol, double>, boost::_bi::list4<boost::_bi::value<omnimapper::ICPPoseMeasurementPlugin<pcl::PointXYZRGBA>*>, boost::_bi::value<gtsam::Symbol>, boost::_bi::value<gtsam::Symbol>, boost::_bi::value<float> > > >::run() () from /usr/local/lib/libomnimapper.so
#6  0x00007ffff65aabcd in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1
#7  0x00007ffff76536db in start_thread (arg=0x7ffe5ab7d700) at pthread_create.c:463
#8  0x00007ffff25b688f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

It appears the ros2_realsense package (https://github.com/intel/ros2_intel_realsense) is producing an unfavorable data format to Omnimapper. Patching "dense=True" to "False" might fix the issue, but I am using depth_image_proc to do registration as it is done this way in ROS1.