相关性扫描匹配CSM与分支限界

本文介绍了相关性扫描匹配(CSM)在激光SLAM中的应用,包括构建局部地图、计算匹配得分和协方差,以及如何通过分支界定技术进行效率提升。后续会深入探讨分支限界在优化匹配过程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一家之言,仅作分享,如有不合理或需要改进的地方,欢迎各位讨论。

前言

作者在先前激光SLAM项目中借鉴的是karto中的匹配方法相关性扫描匹配,在google的cartographer中的前端匹配方法也是相关性扫描匹配,但是利用了分支界定进行了加速。这篇博客将对CSM与分支界定进行介绍分享。

一、相关性扫描匹配

1、ScanMatch流程图

在这里插入图片描述

2、匹配过程

匹配思路其实十分简单,就是将历史点云数据构建为一个参考栅格地图,再将当前激光雷达摆放在栅格地图上(遍历位置与角度),哪一个摆放位姿下的当前点云与参考栅格地图匹配得分最高,那个位姿就是估计的位姿。

2.1、构建局部地图

扫描匹配的方式是 S c a n T o M a p ScanToMap ScanToMap,其中 s u b m a p submap submap是一个grid坐标系中的矩形区域。

  1. 取当前帧激光传感器的位置信息,即里程计估计的值。
  2. 以当前帧激光传感器的位置为中心,构建一个矩形栅格地图。
  3. 将历史帧中的激光点云坐标转换后投影在该栅格地图中。
2.2、计算匹配得分response
  1. 以一定的角度分辨率和角度偏移值,建立一张角度偏离量查找表格, 获取不同角度偏移量下,每帧激光的每束激光相对于中心点位置的坐标。这样做是避免三角函数重复计算,减少计算量。
  2. 对角度和二维的平移值,设置搜索范围与搜索分辨率,粗匹配时计算位置协方差;使用粗匹配输出的坐标均值再次进行精匹配,设置搜索范围与分辨率,精匹配时计算角度协方差。
  3. 相应值 r e s p o n s e response response的计算:即当前scan在参考栅格地图的占用值的平均值。
  4. 如果多个位姿的响应值达到阈值要求,求其平均值。
2.3、计算匹配协方差

计算角度协方差
在这里插入图片描述
计算位置协方差
在这里插入图片描述

协方差矩阵
在这里插入图片描述

二、分支限界

(最近比较忙,后面更新补充进去)

### SLAM中的CSM概念及其实现 在SLAM领域,CSM通常指的是 **Consistent Spatial Model** 或者 **Coarse-to-Fine Mapping** 的缩写。具体含义取决于上下文语境以及研究方向的不同。 #### Consistent Spatial Model (一致空间模型) 一致性空间模型的核心目标是在构建地图的过程中保持全局一致性[^1]。由于传感器噪声和累积误差的影响,局部的地图片段可能无法完美拼接成一个完整的、无冲突的全局地图。因此,CSM通过引入额外的约束条件来减少不一致性。这些约束可以来源于几何关系、拓扑结构或者概率分布。例如: - 使用图优化方法解决全局一致性问题。因子图优化是一种常见的技术,它将状态变量作为节点,并通过因子节点表示约束条件[^3]。 - 利用回环检测模块进一步增强地图的一致性。当机器人重新访问某个区域时,可以通过匹配特征点或扫描数据识别出重复的空间位置,从而校正累积误差。 以下是基于图优化的一个简单代码示例: ```python import gtsam def optimize_graph(graph, initial_estimate): optimizer = gtsam.GaussNewtonOptimizer(graph, initial_estimate) result = optimizer.optimize() return result ``` #### Coarse-to-Fine Mapping (粗到精映射) 另一种解释是“由粗到细”的地图构建策略。这种方法首先快速生成低分辨率的大规模概览地图,随后逐步细化细节部分以获得更精确的结果。这种分层处理方式能够显著提升效率并降低计算复杂度。 对于二维栅格地图而言,“粗粒度”阶段可能会忽略掉一些较小障碍物;而在三维环境中,则先创建稀疏点云再转换为密集表面网格。 #### 实现注意事项 无论采用哪种定义下的CSM方案,在实际开发过程中都需要考虑以下几个方面: - 数据关联(Data Association): 正确配对观测值其对应的真实对象之间存在挑战; - 多传感器融合(Multi-sensor Fusion): 结合来自不同类型的传感设备(如激光雷达、摄像头等)的数据可以获得更加鲁棒的表现; - 时间同步(Time Synchronization): 如果多个输入流并非完全同步采集的话也需要特别对待以免影响最终效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值