解读DP-SLAM (6)
上一次讨论了Ancestry tree的数据结构以及最小Ancestry tree的生成
但是还没有说明ancestry tree这种数据结构怎样应用于DP SLAM中,但是不要太着急
作者讨论完ancestry tree之后,就开始说明Map representation的困难之处
The challenge for our map representation is to devise a data structure that permits efficient updates and
efficient localization.
作者的解决方案:
Our solution to the map representation problem is to associate particles with maps, instead of associating
maps with particles
这句话不太好理解,必须继续向下看,
DP-mapping 的维护对象:
DP-mapping maintains just a single occupancy grid (The particles are distributed over the map)
根传统的栅格地图不太一样,
1, Unlike a traditional occupancy grid, each grid squares stores a balanced tree, such as a red-black tree
2, The tree is keyed on the IDs of the particles that have made changes to the occupancy of the square
来看一下,这样的栅格地图是怎样工作的:
1, The grid is initialized as a matrix of empty trees
2, When a particle makes an observation about a grid square it inserts its ID and the observation into the
associated tree
Notice that this method of recording maps actually allows each particle to behave as if it has its own map
(很绝妙,好棋...)
3, To check the value of a grid square, the particle checks each of its ancestors to find the most recent one
that made an observation for that square
If no ancestor made an entry, then the particle can treat this position as being unknown
如果读者细心,会发现一个问题:
上文中的"associated tree"和之前详细讨论过的"ancestry tree"有没有具体的关联呢?
答案是肯定的
具体是什么样,需要下次再做分析