以LeGO-LOAM算法为代表的回环检测就是使用ICP+欧式距离的方法来寻找到回环点。而以SC-LeGO-LOAM算法为代表的回环检测使用了scan context系列提取的全局特征子来进行查找,同时有些方法会在此基础上再加入ICP来提升回环检测后重定位的精度,方便图优化。这两种方法各有千...
intmain(intargc,char**argv){ros::init(argc,argv,"lego_loam");ROS_INFO("\033[1;32m--->\033[0m Map Optimization Started.");lego_loam::mapOptimizationMO;// 两个线程分别进行回环检测和可视化std::threadloopthread(&lego_loam::mapOptimization::loopClosureThread,&MO);std::threadvisualizeMapThre...
intmain(intargc,char**argv){ros::init(argc,argv,"lego_loam");lego_loam::ImageProjectionIP;ROS_INFO("\033[1;32m--->\033[0m Image Projection Started.");ros::spin();return0;} main函数中对ROS进行了初始化,然后就初始化了lego_loam::ImageProjection这么个东西,所以所有的内容都是在lego_loam...
SC-LeGO-LOAM是在LeGO-LOAM的基础上新增了基于Scan context的回环检测,在回环检测的速度上相较于LeGO-LOAM有了一定的提升。下面我们将会对SC-LeGO-LOAM算法的代码进行详细分析。 首先我们从代码的launch文件开始入手进行分析,README文件中提示,我们需要从run.launch文件...
以LeGO-LOAM算法为代表的回环检测就是使用ICP+欧式距离的方法来寻找到回环点。而以SC-LeGO-LOAM算法为代表的回环检测使用了scan context系列提取的全局特征子来进行查找,同时有些方法会在此基础上再加入ICP来提升回环检测后重定位的精度,方便图优化。这两种方法各有千秋,可以根据需求进行选择。
ISCLOAM是一篇2020年发表在ICRA上面的论文,论文里面作者提出了一种基于scan context(18 IROS)改进的全局点云描述符,主要是编码了强度信息。在保存了ISC特征描述符后可以快速进行回环检测。 文中提供的代码在点云预处理、特征提取、位姿估计和LEGO-LOAM基本一致。文中主要的贡献在于回环检测部分:根据预...
SC-LeGO-LOAM是在LeGO-LOAM的基础上新增了基于Scan context的回环检测,在回环检测的速度上相较于LeGO-LOAM有了一定的提升。下面我们将会对SC-LeGO-LOAM算法的代码进行详细分析。 首先我们从代码的launch文件开始入手进行分析,README文件中提示,我们需要从run.launch文件入手。
生成ScanContext的函数其实在上一篇已经提及了,即void mapOptimization::saveKeyFramesAndFactor() 函数中有一个scManager.makeAndSaveScancontextAndKeys(*thisRawCloudKeyFrame); 下面主要分析这个函数是如何生成ScanContext,以及ScanContext到底包含了啥? void SCManager::makeAndSaveScancontextAndKeys(pcl::PointCloud<...