intmain(intargc,char**argv){ros::init(argc,argv,"lego_loam");ROS_INFO("\033[1;32m--->\033[0m Feature Association Started.");lego_loam::FeatureAssociationFA;ros::Raterate(200);while(ros::ok())// while ( 1 ){ros::spinOnce();FA.runFeatureAssociation();rate.sleep();}ros::spin(...
下面重点说明的是detectLoopClosure()这个函数,其作用是根据距离和ScanContext信息确定与当前帧形成回环的历史关键帧,这里才真正体现了ScanContext的作用。 // jin: 检测与最新帧可以形成回环的关键帧,两种方法:// 1/ 根据几何距离,在一定半径范围内,30s以上,最早的那个帧// 2/ ScanContext,确定相似度最高的关键帧...
首先我们从代码的launch文件开始入手进行分析,README文件中提示,我们需要从run.launch文件入手。 <launch>...<!--- LeGO-LOAM --><node pkg="lego_loam"type="imageProjection"name="imageProjection"output="screen"/><node pkg="lego_loam"type="featureAssoci...
LeGO-LOAM针对处理运算量做了优化,它的运算速度增加,同时相较于LOAM并没有牺牲精度。LeGO-LOAM作为近三年的论文,由于其代码开源以及对设备性能要求低等优点,到现在依然用的比较多。 论文里面主要是和LOAM对比,其相比LOAM具有以下五个特点 轻量级,能在嵌入式设备上实时运行。 地面优化,在点云处理部分加入了分割模块,...
ISCLOAM是一篇2020年发表在ICRA上面的论文,论文里面作者提出了一种基于scan context(18 IROS)改进的全局点云描述符,主要是编码了强度信息。在保存了ISC特征描述符后可以快速进行回环检测。 文中提供的代码在点云预处理、特征提取、位姿估计和LEGO-LOAM基本一致。
代码中先初始化了lego_loam::FeatureAssociation,用来订阅了上一节点发出来的分割出来的点云,点云的属性,外点以及IMU消息,并设置了回调函数。其中IMU消息的订阅函数较为复杂,它从IMU数据中提取出姿态,角速度和线加速度,其中姿态用来消除重力对线加速度的影响。然后函数FeatureAssociation::AccumulateIMUShiftAndRotation用来...
SC_leGO_LOAM安装使用 @ 一、安装PCL 二、安装GTSAM 2.1 下载gtsam源码 git clone https://bitbucket.org/gtborg/gtsam.git 2.2 依赖 Boost>=1.43(Ubuntu: sudo apt-getinstalllibboost-all-dev) CMake >=3.0(Ubuntu: sudo apt-getinstallcmake)
三、安装SC_LeGO_LOAM 一、安装PCL 二、安装GTSAM 2.1 下载gtsam源码 gitclonehttps://bitbucket.org/gtborg/gtsam.git 1. 2.2 依赖 Boost >= 1.43 (Ubuntu: sudo apt-get install libboost-all-dev) CMake >= 3.0 (Ubuntu: sudo apt-get install cmake) ...
安装LeGO LOAM cd ~/catkin_ws/src git clone https://github.com/irapkaist/SC-LeGO-LOAM cd .. catkin_make -j1 测试: 启动 roslaunch lego_loam run.launch run.launch文件中/use_sim_time,如果是仿真,设置为true,如果不是,设置为false 回放,可以指定话题 ...
前言本作者在16年大学开始接触ROS后,逐步向着机器人建图导航方面扩展,尤其是对激光雷达方向比较感兴趣,目前打算针对近阶段的SC-LEGO-LOAM进行...