本人非该专业领域,公式、论文看得一头雾水,只能看一些通俗易懂一点的文章,简单理解一下,在此做个记录。

前言

首先,在解决SLAM时,既需要完成地图评估特征估计,又要完成机器人位姿估计,解决的是一个“先有鸡还是先有蛋”的问题。

其次,基于滤波的SLAM主要经历了卡尔曼滤波器(Kalman Filter, KF)、粒子滤波(Particle Filters, PF)和RBPF这三个阶段

基于RBPF的SLAM方案(如Gmapping)是先完成定位,再完成建图。RBPF算法的主要方式是用许多粒子去获取准确的地图,因此要对RBPF算法进行优化的主要方向是减少粒子的数量

Gmapping在RBPF的基础上完成了两个改进:
①为了减小粒子数Gmapping提出了改进提议分布
②为了减少重采样的次数Gmapping提出了选择性重采样

1、粒子滤波(PF: Particle Filter)

1.1定义:

通过寻找一组在状态空间中传播的随机样本来近似的表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程,这些样本被形象的称为“粒子”,故而叫粒子滤波。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布。

通俗理解:先在地图上均匀的撒一把沙子,再根据传感器值来给每粒沙子赋予不同的权重,高权重的沙子会被保留,低权重的沙子会被删除。

1.2特点:

粒子滤波的方法一般需要大量的粒子来获取好的结果,但这必会引入计算的复杂度;粒子是一个依据过程的观测逐渐更新权重与收敛的过程,这种重采样的过程必然会代入粒子耗散问题(depletion problem), 大权重粒子显著,小权重粒子会消失(有可能正确的粒子模拟可能在中间的阶段表现权重小而消失).

1.3实现步骤:

(1)初始状态:用大量粒子模拟运动状态,使粒子在空间内均匀分布;

(2)预测阶段:根据状态转移方程,将每一个粒子带入,得到一个预测粒子;

(3)校正阶段:对预测粒子进行评价(计算权重),越接近于真实状态的粒子,其权重越大;

(4)重采样:根据粒子权重对粒子进行筛选,筛选过程中,既要大量保留权重大的粒子,又要有一小部分权重小的粒子;

(5)滤波:将重采样后的粒子带入状态转移方程得到新的预测粒子。

2 Rao-Blackwellized Particle Filters (RBPF)

2.1定义:

该算法将SLAM问题分解成机器人定位问题和基于位姿估计的环境特征位置估计问题,用粒子滤波算法做整个路径的位置估计,用EKF估计环境特征的位置,每一个EKF对应一个环境特征。
Montemerlo等人在2002年首次将Rao-Blackwellised粒子滤波器应用到机器人SLAM中,并取名为FastSLAM算法

2.2特点:

在RBPF算法实现中会采样计算大量粒子来拟合目标分布, 频繁的重采样步骤导致粒子逐渐耗散(也会造成粒子多样性减少), 浪费大量计算资源。主要原因在于计算建议分布时只把运动模型数据考虑在内, 造成建议分布与目标分布差距较大, 需要大量的粒子进行拟合。

2.3基于RBPF实现SLAM的步骤:

(1)采样: 根据建议分布从t–1时刻粒子集合采样获取t时刻粒子的先验分布集合, 建议分布使用运动模型;

(2)计算权重: 计算每个粒子的权重, 权重w反映了建议分布与目标后验分布的差距;

(3)重采样: 根据每个粒子的权重进行重采样, 从临时粒子集合中抽取更换M个粒子, 结果产生的M个粒子形成新的最终粒子集;

(4)更新地图: 对于每个粒子根据传感器观测数据和机器人当前位姿更新地图中的每个特征。

3.基于RBPF的Gmapping-SLAM方案

3.1改进了什么:

Gmapping在RBPF的基础上改进提议分布和选择性重采样,从而减少粒子个数和防止粒子退化。
①改进的提议分布不但考虑运动(里程计)信息还考虑最近的一次观测(激光)信息,这样就可以使提议分布的更加精确从而更加接近目标分布。

②选择性重采样通过设定阈值,只有在粒子权重变化超过阈值时才执行重采样,从而大大减少重采样的次数。

3.2为什么先定位后建图:

SLAM的过程是一个条件联合概率分布,由概率论可知联合概率可以转换成条件概率即:P(x,y) = p(y|x)p(x)。 通俗点解释就是我们在同时求两个变量的联合分布不好求时,可以先求其中一个变量,再将这个变量当做条件求解另一个变量。这就是解释了Gmapping为什么要先定位再建图:同时定位和建图是比较困难的,因此我们可以先求解位姿。这也造成了Gmapping很依赖里程计的精度。

参考文章:

1、百科:粒子滤波
2、知乎:粒子滤波在目标跟踪中的作用是什么?(通俗易懂)
3、知乎:怎样从实际场景上理解粒子滤波(Particle Filter)?(挺有趣)
4、书籍:Thrun《Probabilistic Robotics》
5、CSDN:基于粒子滤波的定位算法 ——原理、理解与仿真
6、

PF、RBPF和Gmapping介绍(笔记)相关推荐

  1. Java技术:Optional 相关用法介绍笔记

    引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示 在这种情况下,有如下代码 user. ...

  2. 数据库技术基础:数据库管理系统的功能介绍笔记

    1.DBMS功能介绍 1.1 数据定义 数据库定义语言(DDL):可以对数据库结构描述,包括外模式.模式.内模式的定义:数据库完整性定义:安全保密定义比如口令.级别和存取权限.这些定义存储在数据字典中 ...

  3. mysql数据库介绍笔记_MySQL数据库之MySQL读书笔记

    本文主要向大家介绍了MySQL数据库之MySQL读书笔记,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. mysql> CREATE TABLE tb6( -> id  ...

  4. Spring:Spring相关知识介绍笔记

    1.Srping概念 Spring属于开源框架,Spring是于2003年流行起来的一个轻量级的Java开发基础框架,它是为了解决企业应用开发的复杂性而提供的解决方案.该框架的主要优势之一就是其实现分 ...

  5. 软件项目管理相关概念介绍笔记

    1.成本估算 由于软件项目具有可见性差.难定量化的特点,一般情况下很难在项目完成前准确的评估软件项目开发的工作量和费用.通常会根据以往开发类似项目的经验来进行成本估算.也可以将整个项目 划分为若干个子 ...

  6. 数据库技术基础:常见基本模型介绍笔记

    1.层次模型 层次模型采用树型结构表示数据与数据间的联系.层次模型中每个节点表示一个实体,实体之间的联系用节点之间的连线表示,并且除了根节点以外,其他节点有且仅有一个双亲节点. 层次模型特点:记录之间 ...

  7. Ubuntu目录结构简单介绍笔记

    一.Ubuntu目录结构简单介绍 Ubuntu目录结构简单介绍  /根目录   1.boot/启动文件.所有与启动有关的文件都保存在这里 ·grub/ Grub引导器相关的文件 2.dev/设备文件 ...

  8. NI-DAQmx编程技术介绍笔记

    CSDN话题挑战赛第2期 参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程.这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路.学习之乐,独乐乐,不如众乐 ...

  9. JDK介绍(笔记学习)

    JDK介绍 1.JRE和JDK(记忆) JDK:称为Java开发工具,包含了JRE和开发工具 JRE:Java运行环境,包含了JVM和Java的核心类库(Java API) JVM:Java虚拟机 总 ...

最新文章

  1. glibc降级后怎么恢复 linux_Linux(CentOS)GLIBC出错补救方式
  2. 第二十课.DeepGraphLibrary(一)
  3. 第十六届智能车竞赛线上全国总决赛远程组委会监督腾讯会议
  4. 记录到二进制的内容配置
  5. iBatis整理——iBatis批处理实现(Spring环境)
  6. 企业真的要培养员工?
  7. js 获取电脑 硬盘序列号_来将何人报上名来!解密电脑是如何识别硬盘的
  8. 华润e万家联手神策数据 多维分析助力精益运营
  9. C++通过hiredis连接到redis
  10. 应用性能问题解决实际案例
  11. Rinne Loves Edges
  12. 两难!先更新数据库再删缓存?还是先删缓存再更新数据库?
  13. 【转】Android中APK安装过程及原理解析
  14. Jenkins+Ant自动布署war
  15. Web3D编程入门总结——WebGL与Three.js基础介绍
  16. Linux Spark安装教程
  17. Windows11 WSL Ubuntu1804 配置指南
  18. 广告行业中那些趣事系列36:腾讯2021广告大赛多模态视频广告标签baseline介绍和优化思路...
  19. 《商业的本质》读书笔记
  20. 【python数据挖掘课程】二十七.基于SVM分类器的红酒数据分析

热门文章

  1. 奇安信入选2023年度工业信息安全监测应急支撑单位
  2. IIS出现问题,没有权限
  3. transformer xl 用于文本生成
  4. Redis下载安装教程 (windows)
  5. tp5配置前后端模板路径的方法
  6. 内聚和耦合的具体概念
  7. 网站SSL证书如何选择(针对个人和企业)
  8. [设计原则] 六大设计原则之“开闭原则”
  9. 数学建模常用模型17 :偏最小二乘回归分析
  10. 宜昌一中2021高考成绩查询,宜昌一中2020年高考再创佳绩!这个成绩令人赞叹!...