首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从根本理解Gmapping的SLAM算法原理

从根本理解Gmapping的SLAM算法原理

作者头像
用户2423478
发布2025-10-31 19:03:10
发布2025-10-31 19:03:10
110
举报
文章被收录于专栏:具身小站具身小站

论文下载:(百度网盘):https://pan.baidu.com/s/1fQIcUYFRNXdheZYzg9mFow?pwd=zhan

Gmapping算法是机器人领域一个非常经典和实用的2D-SLAM解决方案,Gmapping作为基于滤波SLAM的经典代表,其通过RBPF分解问题,提出改进提议分布和选择性重采样等核心思想,使其在中小型室内环境中表现出色,且在ROS中集成度高,易于上手。

虽然在大场景和回环处理方面存在局限,并依赖里程计,但理解其原理和实现,不仅能便于掌握一种实用的SLAM工具,更为后续学习更复杂的基于图优化的SLAM算法(如Cartographer)打下基础,本文从基本原理、核心改进、优缺点等方面展开解析。

1. GMapping算法概述

Gmapping是基于滤波SLAM框架的开源算法,跟FastSLAM一样采用了RB粒子滤波器(RBPF),将复杂的SLAM问题(同时定位与建图)分解为定位和建图两个相对独立的过程,先进行定位(估计机器人轨迹),在已知轨迹的基础上再进行建图,即以概率基础:

P(位姿, 地图 | 观测, 控制) = P(位姿 | 观测, 控制) * P(地图 | 位姿, 观测)。

简单来说,Gmapping通过粒子滤波来估计机器人的运动轨迹(定位),而每个粒子都独立维护一张地图(建图),最终的全局地图由权重最高的那个粒子(最优粒子)所维护的地图产生。

2. 核心原理:RBPF粒子滤波

Gmapping的基石是RBPF粒子滤波,每个粒子都是一个对机器人整个运动路径(位姿历史)和环境的完整假设。

每个粒子包含的信息:

  • 一条机器人路径的历史假设([k]是粒子索引):
  • 一张基于该路径假设的地图:通常为栅格地图(每个栅格有占用、空闲、未知三种状态)。

一个权重:w[k],代表该粒子(即该路径和地图假设)正确的可能性。

算法循环(处理一帧激光数据):

  • 采样(运动更新): 对于每个粒子,根据运动模型(通常基于里程计信息 ut)和上一时刻的位姿,预测当前时刻的位姿,并加上一定的随机噪声(采样),这一步之后,粒子会散开,因为噪声使得大家对当前位置的猜测变得不同。
  • 观测更新(扫描匹配): 这是Gmapping的第一个关键改进,它不仅依赖运动模型,还利用了当前的激光观测数据 zt。通过扫描匹配技术,在当前粒子预测位姿的一个小邻域内,寻找一个使得当前激光数据与粒子自身地图匹配得最好的位姿,并用这个更优的位姿更新该粒子的当前位姿假设,这极大地提高了提议分布的准确性,减少了对粒子数量的需求。
  • 计算重要性权重: 更新每个粒子的权重 wt[k]∝p(zt∣st[k],m[k]) ,权重反映了在当前粒子的位姿假设下,观察到实际激光数据Zt 的似然概率,简单说,就是当前激光数据与粒子地图的匹配程度越高,权重越大。
  • 选择性重采样: 这是Gmapping的第二个关键改进,重采样会淘汰权重低的粒子,复制权重高的粒子,但频繁重采样会导致粒子退化,通过引入有效粒子数(Neff) 作为触发条件。只有当 Neff 小于设定阈值(表明粒子权重差异很大,分布集中)时,才进行重采样,这有效减少了不必要的重采样次数,保持了粒子多样性。

以下是Gmapping算法核心流程的步骤概览:

3. 优势与局限

特性维度

优点

缺点

精度与计算效率

在中小型室内场景中,构建地图精度较高,且计算量相对较小

不适合构建大场景地图。场景增大时,所需粒子数和内存急剧增长(每个粒子都携带一张地图),计算量也大幅增加。

传感器依赖

有效利用里程计信息,对激光雷达的频率要求相对较低

严重依赖里程计精度。在里程计误差大或地面不平整(打滑)的场景中,效果会变差。

回环检测

-

没有显式的回环检测模块,依赖粒子多样性来闭合回环,回环过大时可能地图错位,通常需要增加大量粒子才能缓解。

实时性与资源

在适用场景下可以实时建图

构建大地图时内存消耗巨大。

适用性

非常适合地面移动机器人(如扫地机、仓储AGV)在结构化室内环境中使用。

无法适应无人机或地面严重不平坦的场景。

与其他经典激光SLAM算法的简单对比如下:

算法

核心原理

里程计

回环检测

特点

Gmapping

粒子滤波

严重依赖

中小场景精度高,计算量相对小,但大地图时资源消耗大。

Hector SLAM

优化(高斯牛顿)

不依赖

对激光雷达频率要求高(需40Hz),在机器人快速转向时易错位,可适应不平坦地面或无人机。

Cartographer

图优化

可融合

能处理大场景和回环,精度高,但计算复杂,计算量大,通常需要更强的处理器。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 具身小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. GMapping算法概述
  • 2. 核心原理:RBPF粒子滤波
  • 3. 优势与局限
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档