hdl_localization icon indicating copy to clipboard operation
hdl_localization copied to clipboard

NDT_CUDA crash

Open narutojxl opened this issue 3 years ago • 6 comments

Hi author, I build fast_gicp with option(BUILD_VGICP_CUDA "Build GPU-powered VGICP" ON). Set reg_method is NDT_CUDA_D2D or NDT_CUDA_P2D, hdl will crash when received laser points. But when using with FastVGICP_CUDA and FastVGICP(disable BUILD_VGICP_CUDA) , there is no problem. It seems that it is fast_gicp::NDTCuda lib problem. My OS is ubuntu20.04, noetic, PCL is 1.10. When debug with gdb, there is no backtrace, so i only have the terminal log. Thanks for your time very much :)

nodelet: /build/pcl-gWGA5r/pcl-1.10.0+dfsg/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:138: int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector<int>&, std::vector<float>&) const [with PointT = pcl::PointXYZI; Dist = flann::L2_Simple<float>]: Assertion `point_representation_->isValid (point) && "Invalid (NaN, Inf) point coordinates given to nearestKSearch!"' failed.
[velodyne_nodelet_manager-1] process has died [pid 279759, exit code -6, cmd /opt/ros/noetic/lib/nodelet/nodelet manager __name:=velodyne_nodelet_manager __log:=/home/jxl/.ros/log/6f74d344-5d6d-11ec-9054-af2fc89854e3/velodyne_nodelet_manager-1.log].
log file: /home/jxl/.ros/log/6f74d344-5d6d-11ec-9054-af2fc89854e3/velodyne_nodelet_manager-1*.log

narutojxl avatar Dec 15 '21 07:12 narutojxl

I ran into this issue as well but it was crashing on FastVGICP_CUDA as well. I was able to resolve this by going to commit fa23f9b493347452ea3a029b088b7694f766053f. It seems the Eigen upgrade broke the CUDA stuff.

rzhao88 avatar Dec 22 '21 05:12 rzhao88

Hi @rzhao88, sorry for late reply. I tried to switch to fa23f9b493347452ea3a029b088b7694f766053f commit of fast_gicp. When using with NDT_CUDA_D2D and NDT_CUDA_P2D, hdl complains tf error. But when using with FastVGICP_CUDA, hdl is normal.

Error:   TF_NAN_INPUT: Ignoring transform for child_frame_id "base_footprint" from authority "unknown_publisher" because of a nan value in the transform (nan nan nan) (0.000000 0.000000 0.000000 1.000000)
	 at line 240 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
[ERROR] [1640833458.491322637, 53.560000000]: Ignoring transform for child_frame_id "base_footprint" from authority "unknown_publisher" because of a nan value in the transform (nan nan nan) (0.000000 0.000000 0.000000 1.000000)

narutojxl avatar Dec 30 '21 03:12 narutojxl

Hi, I tried to use NDT_CUDA_D2D and NDT_CUDA_P2D, and I got the same error than @narutojxl, is there any upcomming update to fix this @koide3 ? Thank you for the answer.

gaetan-falcand avatar Aug 09 '22 07:08 gaetan-falcand

I get the same error. Is the update to Eigen that has to be done ?

RaviBeagle avatar Jan 02 '23 11:01 RaviBeagle

Anyone have a complete solution?

cyhunblr avatar Jan 27 '23 15:01 cyhunblr

sudo apt purge libpcl-dev

git clone https://github.com/ros-perception/perception_pcl.git

Yu1107 avatar Aug 11 '23 05:08 Yu1107