首页 > 编程知识 正文

激光slam算法,激光slam特征点描述子

时间:2023-05-04 06:47:22 阅读:26441 作者:2398

本篇记录kkdqd老师的课《激光slam理论与实践》

贴个人总结(理解不正确,请指出) :

第一章:激光SLAM简要介绍

1、输出度量图比例图。 slam分为基于滤波的基于过滤器的slam和基于图形的slam两种。

2,

)基于Graph-based的代表是cartographer,能够修复到时刻t为止的误差的分为前端和后端。

)只能基于代表PF的g映射,估计x(t )当前时间的位置,不能修复先前时间出现的误差。 大面积的情况下,就不能制作图了。 粒子滤波实际上是贝叶斯估计的过程,该过程是状态预测的过程,可分为六个步骤。

卡尔曼是贝叶斯线性drdnht的特殊情况。

(3) ) )。

实际上,IMU计算角度,行驶距离计算距离

)4)帧间匹配算法:

ICP是计算点对点的,谁也不用了。 PI-ICP计算点对线。

NDT用于三维slam。

CSM :是最主要的方法。

扫码-扫码已经没人用了

扫描至地图代表是卡通人物。

虽然还没有使用贴图,但是效果最好。 与x(t )时刻之前的几个帧进行环回检测。

3、二维激光SLAM (用的二维激光雷达) )。

)1) 2D激光slam的帧间匹配

(a ) PI-ICP

(b )并行扫描(CSM ) )。

(c )坡度优化方法: Hector—SLAM

(d ) CSM梯度优化) cartographer

) 2D激光SLAM环回检测方法

(a )分支边界Branch and Boundlazy Decison )延迟决定)代表: cartographer

(b )扫描至地图

(3) ) )。

(a ) EKF-SLAM构建的是功能地图而不是栅格地图,因此不能用于导航,只能用于定位。

(b ) g映射是网格版本的快速扫描区,已加入扫描匹配。

(c )用Optimal RBPF优化g映射,是MRPT上的开源算法。

2010年以后从FP变成了地图优化的方法。

Karto SLAM在运行时经常崩溃。 在此基础上,Catographer进行了优化。 Catographer是开源算法中效果最好的。

(4、数据预处理

4、3D激光雷达

)1) 3D激光雷达帧间匹配

(a )点到平面ICP点和面匹配

(b )基于功能的方法

第二章:传感器数据处理:里程表的运动模型与标定

1、里程表运动模型

(1)两轮差分底盘运动学模型

(2)航迹推算(衰退恢复) )。

2、测距仪标定

(1)线性最容易发怒的指甲油乘坐的基本原理

通常是求近似解。

)2)最容易发怒的指甲油乘坐的直线拟合

)3)最易怒的指甲油应用于里程表标定:

a、直接线性方法,精度不高,但实现简单; 用这种方法

b是一种基于模型的方法,精度高,但现实中相当复杂,是一个非线性过程。 不。

工作:实现直接线性方法的里程表标定模块

总结:由于机器人结构的系统误差(如车轮直径大小不同、机械结构间隙等),需要用里程表标定以消除系统误差,无法消除随机误差。

第三章:传感器数据处理:激光雷达数学模型和运动畸变消除

1、概念

(1)激光lidar介绍,基于三角测距原理,距离越近精度相对越高。 飞行时间(TOF )远距离精度好,价格昂贵。 高端的lidar有德国的sick,日本的北阳。

固态lidar :趋势、价格低廉,类似于深度相机。 100线——300线。

如果lidar的帧率小于10HZ,则运动失真非常明显。

)2)激光lidar数学模型介绍:

光束模型:一帧激光与地图的重叠程度、计算量太大,现在已经不用了。

        似然场模型:对图像进行drdnht平滑,计算量低。应用的多。

(3)运动畸变介绍:

        产生的原因:在获取一帧激光lidar的数据用时 t 时,机器人的位置发生了运动,导致每个激光点的基准位置不是固定的。

2、畸变去除方法

(1)纯估计方法:ICP 的方法,就是点云匹配。

          考虑到机器人的运动,采用VICP的方法。(Velocity estimate ICP)

(2)传感器辅助方法:(IMU/odom)

             odom,直接测量位移和角度。更新频率(100Hz——200Hz),而IMU测量的是加速度,还需要积分。

        二次曲线的近似:一帧激光数据N个激光点,每个激光点对应的位姿{P1,P2 ... Pn}通过这种方法得到,把转换后的激光数据发布出去。

       作业:实现一个激光雷达运动畸变去除模块

小结:由于机器人存在运动畸变,所以要发布publish经过去除畸变的激光lidar数据。

 

第四章:激光SLAM的前端配准方法

帧间匹配方法:

(1)ICP 匹配方法:点到点的距离作为误差,一阶收敛。

(2)PL-ICP方法:点到线的距离作为误差,二阶收敛,精度比ICP更高。

(3)基于优化的匹配方法(Optimization-based Method):应用于Hector SLAM 和cartographer

梯度的优化:Hector SLAM,不需要里程计,纯靠优化的方法。

cartographer 是CSM+优化。

(4)相关匹配方法和分枝定界加速:Karto SLAM,cartographer,分枝定界在相关方法中的加速作用。

第五章:基于滤波器的激光SLAM方法(Filter-based)

1、(1)只估计当前时刻的状态X(t)叫滤波。视觉地图——feature特征地图;激光——》栅格地图

          

2、

    (1)Bayes滤波:是一类方法的统称,卡尔曼家族和PF都属于贝叶斯滤波。

    (2)粒子滤波:PF是Bayes滤波的特例。应用于物体跟踪,机器人定位,SLAM导航。用一系列的粒子近似概率分布。

             有一个重采样的过程,即去除权重小的粒子。权重表示和地图的匹配程度。

             重采样的目的:生成后验分布的粒子群。总粒子数不变。

         对于SLAM,存在粒子耗散问题,且无法解决,所以在环境小的时候才有用。

    (3)FastSLAM:是gmapping的基本原理,也是基于PF的。存在三个问题和优化a,b,c:

               a.每个粒子都包含自己的栅格地图,占用较大的内存;保持粒子数量较小,提升proposal采样的位姿质量;

               b.粒子耗散问题;缓解粒子耗散;减少重采样的次数;

               c.在a的基础上再优化,把proposal限制在一个较小的区域

    (4)Gmapping:以FastSLAM为基础。在fastSLAM的基础上实现了优化a和b,没有使用优化c。

            主要是两个函数: addScan( )  和  processScan( )

 

第六章:基于图优化的激光SLAM方法(Grid-based)

1、Grid-based 是基于非线性最暴躁的指甲油乘原理的求解。Grid-based包含前段Front-end和后端Back-end。

2、非线性最暴躁的指甲油乘:f(x) = z ,f(x)是一个非线性的函数 ,z可以是一个预测值,然后通过传感器可以得到一个测量值z',根据二者就可以去非线性最暴躁的指甲油乘。

3、有回环检测。

4、drdnht牛顿方法

5、cartographer方法中mapping_2d目录:

第七章:基于已知定位的建图

位姿估计包含 帧间匹配和优化的方法,两者构成图优化,通过对机器人的位姿(x ,y , θ)来构建地图。

1、地图分类:(栅格地图、特征地图和点云地图,都属于)尺度地图、拓扑地图、语义地图

2、覆盖栅格建图算法(gmapping里面用的这个):

       栅格地图的数学模型:给定机器人的位姿(由里程计信息得到)和激光lidar的数据,来估计出栅格地图。

       地图估计:栅格是一个二元随机变量。1 标准占用,0表示没被占用。

       激光穿过的栅格为free,激光击中的栅格为occupied

3、计数(count model)建图算法:

     激光击中的次数 / 激光穿过的次数 到达一个比值,就表示障碍物,occupied。

 

第八章: 3D激光SLAM介绍

1、3D激光SLAM

2D激光SLAM和3D激光SLAM的区别:

(1)2D :单线激光lidar,只能在一个截面,形成2D栅格地图,室内机器人

(2)3D:多线激光lidar,形成三维点云地图或者三维栅格地图,室外移动机器人

2、3D帧间匹配:

        (1)点面ICP 

          (2)  Feature-based method

          (3) NDT 方法 normal-distribution-Transform

2、LOAM (lidar odometry and mapping)

(1)是3D 激光SLAM算法,只有匹配,没有回环。

(2) KITTI数据集Odometry排行榜上长期霸占第一

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。