错误信息:
icp: /build/pcl-OilVEB/pcl-1.8.1+dfsg1/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:136: int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector<int>&, std::vector<float>&) const [with PointT = pcl::PointXYZ; Dist = flann::L2_Simple<float>]: Assertion `point_representation_->isValid (point) && "Invalid (NaN, Inf) point coordinates given to nearestKSearch!"' failed.
说明当前的点云数据存在无效点,比如Nan或空值点
解决步骤:
1、引入filters库:
#include <pcl/filters/filter.h>
2、 调用 removeNaNFromPointCloud函数:
std::vector<int> mapping;
pcl::removeNaNFromPointCloud(*cloud, *cloud, mapping);