首页IT科技激光SLAM框架总结

激光SLAM框架总结

时间2025-09-19 10:22:06分类IT科技浏览5121
导读:一、激光SLAM简介 基于激光雷达的同时定位与地图构建技术(simultaneous localization and mapping, SLAM)以其准确测量障碍点的角度与距离、 无须预先布置场景、可融合多传感器、 在光线较差环境工作、 能够生成便于导航的环境地图等优势,成为目前定位方案中不可或缺的新技术。...

一                、激光SLAM简介

基于激光雷达的同时定位与地图构建技术(simultaneous localization and mapping                , SLAM)以其准确测量障碍点的角度与距离                         、 无须预先布置场景        、可融合多传感器                、 在光线较差环境工作                         、 能够生成便于导航的环境地图等优势                         ,成为目前定位方案中不可或缺的新技术                 。

激光 SLAM 任务是搭载激光雷达的主体于运动中估计自身的位姿        ,同时建立周围的环境地图                        。而准确的定位需要精确的地图                ,精确的地图则来自于准确的定位                         ,定位侧重自身位姿估计        ,建图侧重外部环境重建        。

SLAM系统一般分为五个模块:传感器数据        、视觉里程计        、后端                         、建图及回环检测         。

传感器数据:主要用于采集实际环境中的各类型原始数据                        。包括激光扫描数据                 、视频图像数据        、点云数据等                。

视觉里程计:主要用于不同时刻间移动目标相对位置的估算         。包括特征匹配                        、直接配准等算法的应用                         。

后端:主要用于优化视觉里程计带来的累计误差                。包括滤波器                 、图优化等算法应用。

建图:用于三维地图构建                         。

回环检测:主要用于空间累积误差消除

 

SLAM工作的主要流程为:

传感器读取数据后        ,视觉里程计估计两个时刻的相对运动(Ego-motion)                         ,后端处理视觉里程计估计结果的累积误差                 ,建图则根据前端与后端得到的运动轨迹来建立地图        ,回环检测考虑了同一场景不同时刻的图像                        ,提供了空间上约束来消除累积误差                        。

激光雷达采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点                 ,被称为点云。通常,激光SLAM系统通过对不同时刻两片点云的匹配与比对                        ,计算激光雷达相对运动的距离和姿态的改变                         ,也就完成了对机器人自身的定位                 。

激光雷达距离测量比较准确,误差模型简单                ,在强光直射以外的环境中运行稳定                         ,点云的处理也比较容易                        。同时        ,点云信息本身包含直接的几何关系                ,使得机器人的路径规划和导航变得直观        。激光SLAM理论研究也相对成熟                         ,落地产品更丰富                 。

二                        、激光SLAM(二维)框架整理

三                         、开源激光SLAM方案

根据所采用的凸优化框架        , 激光 SLAM 可分为两大类:基于滤波器(Filter-based)基于图优化(Graph-based)的激光 SLAM                        。

3.1 基于滤波器的激光SLAM方案

3.2  基于图优化激光SLAM方案

 在真实环境中        ,由于周围特征点能够辅助机器人定位和建图                         ,构建的栅格地图会比仿真环境中效果好        。Hector-SLAM 方案的缺点是对初值敏感                 ,同时难以处理闭环问题         。 Hector-SLAM 的整体建图精度高于Gmapping        ,但对参数配置要求较高                        。Hector -SLAM 适用于对地图要求较高的场合                        , Gmapping 易用性更好                。

 

3.3 3D 激光SLAM 

在 3D 激光 SLAM 领域中                 , 由 Zhang J 等人提出的LOAM 方案,利用 3D 激光雷达采集数据                        , 进行基于特征点的扫描匹配                         , 利用非线性优化方法进行运动估计, 激光里程计的输出与地图进行匹配                , 包括直线匹配和平面匹配                         , 无回环检测模块        ,点面特征还不够可靠         。

 三、小结

     Gmapping可以实时构建室内地图                ,在构建小场景地图所需的计算量较小且精度较高                         。相比Hector SLAM对激光雷达频率要求低                、鲁棒性高(Hector 在机器人快速转向时很容易发生错误匹配                         ,建出的地图发生错位        ,原因主要是优化算法容易陷入局部最小值);而相比Cartographer在构建小场景地图时        ,Gmapping不需要太多的粒子并且没有回环检测因此计算量小于Cartographer而精度并没有差太多                。Gmapping有效利用了车轮里程计信息                         ,这也是Gmapping对激光雷达频率要求低的原因:里程计可以提供机器人的位姿先验。而Hector和Cartographer的设计初衷不是为了解决平面移动机器人定位和建图                 ,Hector主要用于救灾等地面不平坦的情况        ,因此无法使用里程计                         。而Cartographer是用于手持激光雷达完成SLAM过程                        ,也就没有里程计可以用                        。

      随着场景增大所需的粒子增加                 ,因为每个粒子都携带一幅地图,因此在构建大地图时所需内存和计算量都会增加。因此不适合构建大场景地图                 。并且没有回环检测                        ,因此在回环闭合时可能会造成地图错位                         ,虽然增加粒子数目可以使地图闭合但是以增加计算量和内存为代价                        。所以不能像Cartographer那样构建大的地图,虽然论文生成几万平米的地图                ,但实际我们使用中建的地图没有几千平米时就会发生错误        。Gmapping和Cartographer一个是基于滤波框架SLAM另一个是基于优化框架的SLAM                         ,两种算法都涉及到时间复杂度和空间复杂度的权衡                 。Gmapping牺牲空间复杂度保证时间复杂度        ,这就造成Gmapping不适合构建大场景地图                ,试想一下你要构建200乘200米的环境地图                         ,栅格分辨率选择5厘米        ,每个栅格占用一字节内存        ,那么一个粒子携带的地图就需要16M内存                         ,如果是100个粒子就需要1.6G内存                        。如果地图变成500乘500米                 ,粒子数为200个        ,可能电脑就要崩溃了        。翻看Cartographer算法                        ,优化相当于地图中只用一个粒子                 ,因此存储空间比较Gmapping会小很多倍,但计算量大                        ,一般的笔记本很难跑出来好的地图                         ,甚至根本就跑不动         。优化图需要复杂的矩阵运算,这也是谷歌为什么还有弄个ceres库出来的原因                        。

 

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
linux syslog server(syslog介绍(二):Linux下syslog基本配置)