3D激光slam:LeGO-LOAM---地面点提取方法及代码分析前言代码分析gazebo测试前言地面点提取方法LeGO-LOAM中前端改进中很重要的一点就是充分利用地面点,本片博客主要讲解如何进行地面点提取如下图所示,相邻的两个scan的同一列,打在地面上,形成两个点A和B。它们的垂直高度差为h,这个值在理想情况(雷达水平安装,地面是水平的)接近于0水平距离差d和水平面的夹角为如果为地面点,在理想情况下,这个角点接近0.但是雷达的安装不会完全水平,并且地面也不是平的,因此这个角度会大于0,LeGO-LOAM设置的是10°。即小于10°被判断为地面点这种地面点的提取算法有些过于简单,还可以结合
一、说明因为课题原因,需要用到livox传感器,但是总拿着它去实验太费劲儿,所以想要在ros的gazebo环境里面进行仿真实验。在网上找了一圈,都没有详细的教程,所以自己摸索了一会儿,大致上解决了这个点。过程不难,在这里记录一下,一方面希望可以帮到其他有需要的人,另一方面也是给自己做个记录,防止忘了。二、仿真环境1、ubuntu20.042、ros是noetic3、机器人小车用的是husky三、配置过程1、安装livox的SDK下载链接:https://github.com/Livox-SDK/Livox-SDK安装过程在代码包里面交代得比较清楚了,这里也贴一下。gitclonehttps:/
一 首先需要保存轨迹,轨迹保存参考下面的代码,最好自己添加一个节点(如下图),用新节点来订阅和保存轨迹至txt文件,因为直接在算法的线程中加入此步骤我试了好像保存不了,好像是在不同线程间的参数传递格式的问题(也可能是我个人的问题)。 与Kitti数据集真值评估需要将kitti类型轨迹转化为tum格式的轨迹,用evo转化需要下载evo源码。(223条消息)KITTI数据集基准、转换成tum以及十个groundtruth对应图_kitti转tum_小海盗haner的博客-CSDN博客(223条消息)【KITTI】KITTI数据集简介(四)—标定校准数据calib_t
一 首先需要保存轨迹,轨迹保存参考下面的代码,最好自己添加一个节点(如下图),用新节点来订阅和保存轨迹至txt文件,因为直接在算法的线程中加入此步骤我试了好像保存不了,好像是在不同线程间的参数传递格式的问题(也可能是我个人的问题)。 与Kitti数据集真值评估需要将kitti类型轨迹转化为tum格式的轨迹,用evo转化需要下载evo源码。(223条消息)KITTI数据集基准、转换成tum以及十个groundtruth对应图_kitti转tum_小海盗haner的博客-CSDN博客(223条消息)【KITTI】KITTI数据集简介(四)—标定校准数据calib_t
LOAM框架分析算法简介1激光里程计(高频率)1.1计算曲率1.2筛选特征1.3问题建模1.3.1损失函数1.3.2运动补偿1.4优化求解1.5定位输出2环境建图(低频率)2.1问题模型2.2PCA特征参考文献算法简介LOAM的整体思想就是将复杂的SLAM问题分为:1.高频的运动估计(10HZ)2.低频的环境建图(1HZ)。在运动估计中采用scan-to-scan方式,同时对点云进行了计算曲率,筛选线面特征,降低匹配数据量,通过点到线和点到面构造误差函数,在求解变换关系前,通过匀速假设构造线性插值关系,对点云进行运动补偿后用非线性优化LM求解匹配;在环境建图中采用map-to-map方式匹配,
LOAM框架分析算法简介1激光里程计(高频率)1.1计算曲率1.2筛选特征1.3问题建模1.3.1损失函数1.3.2运动补偿1.4优化求解1.5定位输出2环境建图(低频率)2.1问题模型2.2PCA特征参考文献算法简介LOAM的整体思想就是将复杂的SLAM问题分为:1.高频的运动估计(10HZ)2.低频的环境建图(1HZ)。在运动估计中采用scan-to-scan方式,同时对点云进行了计算曲率,筛选线面特征,降低匹配数据量,通过点到线和点到面构造误差函数,在求解变换关系前,通过匀速假设构造线性插值关系,对点云进行运动补偿后用非线性优化LM求解匹配;在环境建图中采用map-to-map方式匹配,