1。C++多态实现样文件的切换:
front_end.cpp中的initRegistration,匹配的子类选择,基类指针用哪个子类实例化可以由配置参数决定。
2。使用pcl中的ICP方法:
定义一个icp匹配方法对象,并初始化:
pcl::NormalDistributionsTransform<CloudData::POINT, CloudData::POINT>::Ptr icp_ptr_;
在ndt_registration.cpp中修改icp参数:
bool ICPRegistration::SetRegistrationParam(float max_cordistance, int max_iter, double trans_eps, int euc_fitnessEpsilon) {
//设置最大对应点的欧式距离,只有对应点之间的距离小于该设置值的对应点才作为ICP计算的点对,默认值为:1.7976931348623157e+308,基本上对所有点都计算了匹配点
icp_ptr_->setMaxCorrespondenceDistance(max_cordistance);
//设置最大迭代次数,是第一个条件
icp_