激光slam综述_激光点云处理

2022-09-23 11:15:07 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1:SLAM是什么

SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写,最早由Hugh Durrant-Whyte 和 John J.Leonard提出。SLAM主要用于解决移动机器人在未知环境中运行时定位导航与地图构建的问题。

SLAM通常包括如下几个部分,特征提取,数据关联,状态估计,状态更新以及特征更新等。其中包括2D-SLAM和3D-SLAM。一下大概分为三种形式: Localization:在给定地图的情况下,估计机器人的位姿。 SLAM:同时估计机器人的位姿和环境地图。 Mapping:在给定机器人位姿的情况下,估计环境地图。

2:SLAM的分类

3:SLAM框架

3.1图优化

节点之间的约束:建图过程中会产生一个节点 x 1 x_1 x1​和 x 2 x_2 x2​节点连接的边,边的值为 x 1 − 1 ⋅ x 2 x_{1}^{-1} cdot x_{2} x1−1​⋅x2​。其表示的为两个节点的位姿关系,也就是空间约束关系。 图优化的前端是构图 ,后端是进行优化。 从节点1到节点N,是构图的过程,若节点1和节点N是相似的,将节点N和节点1相连接得到回环检测,从节点1到节点N得到一个位姿 T 1 T_{1} T1​,从节点N到节点1得到一个位姿为 T 2 T_{2} T2​,则理想情况下两个位姿的关系为 T 1 − 1 × T 2 = I T_{1}^{-1} times T_{2}=I T1−1​×T2​=I。但是由于误差的存在,则就得到一个误差项,再通过后端进行优化,让误差项趋近于0。

图优化的例子

3.2滤波优化

图优化和滤波优化的区别:滤波优化仅仅估计当前时刻的位姿,不估计之前时刻的位姿,造成的误差较大。小环境下gmapping会得到很好的效果,用的滤波的方法。 1:状态预测:就是里程计得到机器人的位姿 2:测量预测:通过测量函数 3:进行测量:真实值的测量 4:数据关联: 5:地图更新

IMU主要是测量线速度和角速度,如果用里程计测角度会造成很大的误差。

ICP的误差是点对点的。 PI-ICP的误差是点对线的。 NDT:把地图看成高斯分配的集合 CSM:相关扫描匹配:建立自然场模型,进行暴力搜素。计算量大,优点不会陷入局部极值里面。 STS:淘汰 STM:cartographer的运用: MTM:把n帧激光聚合一个子图和过去的子图进行匹配。

梯度优化的开源:hectorSLAM,把匹配问题建模成非线性最小二乘的优化问题,因为它对初值敏感。 CSM:精度取决于像素的大小。 CSM 梯度优化 :先通过暴力搜素进行粗优化,再通过最小二乘进行细优化:cartographer。

轮式里程计:分为离线标定和在线标定。 运动畸变:激光旋转过程中,扫描的起始点和结束点存在角度差。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172368.html原文链接:https://javaforall.cn

0 人点赞