✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。
🔥 内容介绍
在机器人自主导航与环境感知领域,同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)技术起着核心作用。其中,2D 激光雷达凭借其测距精度高、数据处理相对简单、受环境光照影响小等优势,被广泛应用于室内移动机器人、服务机器人等领域的 SLAM 系统中。然而,随着机器人在复杂环境中运行距离的增加,前端里程计的误差会逐渐累积,导致地图构建出现偏差,定位精度下降。实时闭环检测作为 SLAM 后端优化的关键环节,旨在识别机器人回到先前访问过的区域的时刻,通过添加闭环约束来修正累积误差,从而构建全局一致的地图,显著提升 SLAM 系统的性能。
二、2D 激光雷达 SLAM 概述
2.1 基本原理
2D 激光雷达通过发射激光束并测量反射光的时间延迟来获取周围环境的距离信息,以一定的角度分辨率生成一系列距离数据点,这些点构成了激光扫描的点云数据。在 SLAM 系统中,基于这些点云数据,通过扫描匹配算法(如迭代最近点 ICP 算法及其变体)计算相邻帧之间的相对位姿变换,从而估计机器人的运动。同时,利用得到的位姿信息,将每帧的点云数据融合到地图中,逐步构建出环境地图。
2.2 系统构成
2D 激光雷达 SLAM 系统通常由前端和后端两部分组成。前端主要负责实时处理激光雷达数据,进行运动估计和点云配准,生成局部地图和机器人的位姿轨迹;后端则对前端提供的位姿估计进行优化,特别是通过闭环检测来修正累积误差,构建全局一致的地图。闭环检测作为后端的重要部分,在整个 SLAM 系统中起着 “校准” 的关键作用。
三、实时闭环检测的挑战
3.1 数据特征缺乏
2D 激光雷达扫描帧携带的信息相对有限,点云数据分布较为稀疏,与 3D 激光雷达相比,缺乏丰富的三维几何特征。这使得从点云中提取能够有效表征环境且具有唯一性的特征变得困难,增加了闭环检测中准确识别相似场景的难度。
3.2 运动退化问题
在几何结构相似的环境中,如长走廊、大型仓库等,2D 激光雷达获取的点云数据在不同位置可能具有高度相似性。传统的基于扫描匹配的位姿估计方法容易在这种情况下出现运动退化,导致前端里程计误差迅速累积,进一步影响闭环检测的准确性和可靠性。
3.3 计算资源限制
许多应用场景,如便携式移动设备或小型机器人,计算资源有限。而实时闭环检测需要对大量的历史数据和当前数据进行处理和匹配,这对计算能力提出了较高要求。在有限的计算资源下实现高效的实时闭环检测算法,是实际应用中面临的一大挑战。
四、实时闭环检测算法
3.1 基于特征匹配的方法
- 点特征提取与匹配:从激光点云中提取具有代表性的点特征,如角点、边缘点等。常见的点特征提取算法有 Harris 角点检测等。在闭环检测时,通过计算当前帧点特征与历史关键帧点特征之间的描述子(如基于几何关系的描述子),进行特征匹配。若匹配数量超过一定阈值,则认为可能存在闭环。例如,在室内环境中,墙角处的点云由于其独特的几何结构,可作为稳定的点特征。通过提取不同帧中墙角点的位置和角度信息构建描述子,进行跨帧匹配来检测闭环。
- 线特征提取与匹配:利用室内环境中大量存在的直线结构(如墙壁边缘),提取线特征。通过霍夫变换等方法将点云数据转换到参数空间,检测直线。在闭环检测中,计算当前帧线特征与历史关键帧线特征的相似性,例如比较直线的长度、方向和相对位置关系等。若相似性满足一定条件,则判定为闭环。以办公室环境为例,墙壁的直线特征在不同扫描帧中具有较高的稳定性,基于线特征的匹配能够有效检测闭环。
- 全局特征描述子:为解决局部特征匹配在复杂环境下易失效的问题,引入全局特征描述子。如 Scan Context 算法,将激光扫描点云划分为多个扇形区域和环形区域,形成一个矩阵。矩阵中每个元素记录对应区域内点云的最大高度等信息,该矩阵作为全局特征描述子。在闭环检测时,计算当前帧与历史帧的 Scan Context 矩阵之间的相似度,通过特定的搜索算法(如基于 Ring Key 的搜索算法)找到最相似的历史帧,判断是否为闭环。该方法在处理环境相似性高、局部特征不明显的场景时具有较好的效果。
3.2 基于扫描匹配的方法
- 直接扫描匹配:直接将当前激光扫描帧与历史子地图进行匹配,通过最小化扫描点与子地图中对应点之间的距离(如欧式距离)来寻找最佳匹配位姿。常用的算法如分支定界法,在计算扫描到子地图的匹配时,通过设定合理的搜索范围和剪枝策略,减少计算量,实现实时匹配。在实际应用中,当机器人在室内环境中移动时,不断将新的扫描帧与已构建的局部子地图进行直接匹配,若找到匹配度高的子地图,则检测到闭环。
- 基于概率模型的扫描匹配:利用概率模型来描述扫描点与地图点之间的匹配关系,如正态分布变换(NDT)算法。NDT 将地图划分为多个单元格,每个单元格内的点云用一个正态分布来表示。在闭环检测时,计算当前扫描点云与地图中各单元格正态分布的匹配概率,通过优化算法找到最大概率对应的位姿,判断是否存在闭环。这种方法对噪声具有较好的鲁棒性,在一些存在测量噪声的实际场景中表现良好。
3.3 基于深度学习的方法
随着深度学习技术的发展,其在闭环检测中的应用也逐渐增多。通过构建深度神经网络,对激光雷达扫描数据进行特征学习和分类。例如,利用卷积神经网络(CNN)对激光扫描图像(将点云数据转换为图像形式)进行训练,学习到能够表征环境特征的特征图。在闭环检测时,将当前扫描图像输入训练好的网络,输出与历史扫描图像的相似度得分或类别标签,判断是否为闭环。深度学习方法能够自动学习到复杂的环境特征,在大规模数据集上训练后,对各种复杂环境具有较好的适应性,但其训练过程需要大量的数据和计算资源,且模型的可解释性相对较差。
五、案例分析
5.1 室内服务机器人
某室内服务机器人采用 2D 激光雷达 SLAM 系统进行导航。在其工作的办公室环境中,存在许多相似的走廊和房间布局。该机器人的 SLAM 系统使用基于线特征和全局特征描述子相结合的闭环检测算法。首先,通过线特征提取算法识别墙壁边缘等直线结构,在机器人移动过程中构建以线特征为基础的局部地图。同时,利用 Scan Context 算法生成全局特征描述子并存储关键帧的描述子。当机器人在环境中移动时,不断计算当前帧的全局特征描述子与历史关键帧描述子的相似度,并结合线特征匹配结果进行验证。实验结果表明,该算法能够准确检测到闭环,有效修正了前端里程计的累积误差,使机器人构建的地图误差控制在较小范围内,提高了导航的准确性和稳定性。
5.2 工业 AGV
在工业生产车间中,AGV(Automated Guided Vehicle)需要在复杂且相似的货架环境中准确导航。某 AGV 的 2D 激光雷达 SLAM 系统采用基于扫描匹配的实时闭环检测方法,结合增量 KD 树(iKD - tree)数据结构进行地图管理。在 AGV 运行过程中,实时将当前激光扫描帧与通过 iKD - tree 快速检索到的历史子地图进行匹配。当检测到闭环时,利用 GTSAM(General Toolbox for Sampling and Mapping)进行全局优化,修正 AGV 的轨迹。实际测试显示,该方法在工业环境中能够高效地实现实时闭环检测,计算效率较传统方法提升显著,同时定位精度也有很大提高,满足了工业 AGV 对实时性和准确性的严格要求。
六、总结与展望
实时闭环检测作为 2D 激光雷达 SLAM 系统的关键技术,在解决累积误差、提高地图构建精度和定位稳定性方面发挥着不可或缺的作用。目前,多种算法在不同场景下取得了一定的成果,但仍面临着数据特征提取困难、计算资源受限等挑战。未来,随着硬件计算能力的提升以及算法的不断创新,2D 激光雷达 SLAM 中的实时闭环检测技术有望在以下几个方面取得突破:一是进一步提升算法在复杂环境下的鲁棒性和准确性,通过融合更多类型的传感器数据(如 IMU、视觉传感器等),获取更丰富的环境信息;二是开发更加高效的计算方法和数据结构,降低计算复杂度,以适应更多计算资源有限的应用场景;三是借助深度学习等新兴技术,深入挖掘激光雷达数据中的潜在特征,实现更智能、更精准的闭环检测,推动 2D 激光雷达 SLAM 技术在更多领域的广泛应用。
⛳️ 运行结果





🔗 参考文献
[1] 刘鹏华,郑宝志,姚瀚晨,等.基于卷积注意力机制的2D-LiDAR实时人体检测算法[J].传感器与微系统, 2024, 43(2):153-156.DOI:10.13873/J.1000-9787(2024)02-0153-04.
[2] 刘铭哲,徐光辉,唐堂,et al.激光雷达SLAM算法综述[J].Journal of Computer Engineering & Applications, 2024, 60(1).DOI:10.3778/j.issn.1002-8331.2308-0455.
[3] 兰军.LiDAR点云中实时平面检测算法研究与实现[D].北方工业大学,2019.
📣 部分代码
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
👇
6407

被折叠的 条评论
为什么被折叠?



