解读DP-SLAM (3)
上一次分析了2.1节Particle Filters for Localization,
讲解了用粒子滤波解决“在栅格地图已知的情况下,小车通过激光雷达实现定位”的问题
这一块也许论文讲得比较简洁,详细可以参看Probalisitc Robot
今天来分析2.2节Particle Filters for SLAM
Basic problem:
1, The hidden state is actually both the robot pose and the map itself
解决这个问题的大体思路:
1, The observations are compared against an incomplete and possibly incorrect map
2, The map itself is created by the accumulation of observation of the environment and estimates of
robot positions
用粒子滤波解决SLAM问题的尴尬:
Particles with errors in robot position estimates will make erroneous additions to their maps.
An error in the map will then, in return, cause another error in localization in the nest step
因此,为了解决SLAM问题,粒子的数量必须很大
在具体讲述DP-SLAM之前,作者先吹了一波牛,
By using raw laser data, combined with an occupancy grid and efficient data structures, we can handle a large
number of candidate maps and poses efficiently, achieving robust performance
PS: 这种吹牛方式在英语写作中是值得学习的,因为他虽然在吹牛但是语句朴实不说空话,靠实力吹牛
好,进入第三节DP-SLAM
作者开始解释DP,
1, DP-SLAM implements what is essentially a simple particle filter over maps and robot poses
2, it uses a technique called distributed particle mapping (DP-mapping), which enables it to maintain a large
number of maps very efficiently
再看3.1节Naive SLAM(着重解释粒子在SLAM问题的含义)
在Localization的讨论中,粒子指小车在栅格地图的位置,以及小车的方向,物理意义明确,
但是在SLAM的讨论中,因为地图位置,所以粒子的定义修改成这样:
When using a particle filter for SLAM, each particle corresponds to a specified trajectory through the
environment and has a specific map associated with it.
于是,粒子的抽样也可以说,
When a particle is re-sampled, the entire map itself is treated as part of the hidden state that is being tracked
and is copied over to the new particle.
之前说了“为了解决SLAM问题,粒子的数量必须很大”,每次粒子更新需要几个G的数据
For a number of particles sufficient to achieve precise localization in a reasonably sized environment, the
naive approach would require gigabytes worth of data movement per update
可见,Naive SLAM是难以实现的,于是引出了Distributed Particle Mapping
PS: 这篇文章的逻辑非常清晰:解决一类问题,往往有一个Naive方法,但是Naive方法有很多缺陷,我们的方法
基于Naive方法,作出了改进
下次在分析3.2节