問(wèn)題
2D SLAM 中比較核心的問(wèn)題是地圖更新速度問(wèn)題蝌数,對(duì)于路徑規(guī)劃和避障有非常多的好處。
方法
可行和產(chǎn)品化的方法是通過(guò)subsequent maps的方式進(jìn)行地圖的設(shè)計(jì)和更新。
Graph G 包含 一個(gè)Nodes V and Edges E
V-->位置估計(jì)? E-->NODE間的關(guān)系?
我們需要做的是初始化一個(gè)空?qǐng)D并將其切分,如下圖中的方式,并將G填充到地圖中
這樣我們進(jìn)行探測(cè)的過(guò)程中,G的集合就可以生成地圖集合况脆。
核心
如何處理新生成M+1的地圖和以前地圖集合的問(wèn)題, 1批糟、是需要地圖相似性的緩存(Slice Caching) 2格了、需要一個(gè)節(jié)點(diǎn)覆蓋(Node Covering)的方式、
1,地圖相似性的緩存
我們可以這樣理解如果徽鼎,新加入的Map(M+1)進(jìn)入的時(shí)候盛末,如果坐標(biāo)匹配且無(wú)明顯特征點(diǎn)則掠過(guò),否則加入或進(jìn)行合并,我們可避免全局的形式的位置估算否淤,我們需要考慮的近視臨近的S集合的重新計(jì)算
2.節(jié)點(diǎn)覆蓋
節(jié)點(diǎn)覆蓋的原因在于Sensor的信息大部分是冗余的悄但,而環(huán)境常常是靜態(tài)的。多次的對(duì)一個(gè)地方的測(cè)量反而有可能引起測(cè)量結(jié)果的模糊和重要特征的移除石抡,也就是我們之關(guān)注我們當(dāng)前區(qū)域的傳感器數(shù)據(jù)即當(dāng)前submap所覆蓋的面積檐嚣。
算法綜述
代碼結(jié)合比對(duì):
????? a. cartographer采用了submap的概念, 依據(jù)一定數(shù)量的scan初始一個(gè)submap, 依據(jù)窗口大小啰扛, 插入newScan嚎京,更新submap.? ? 有子圖緩存,會(huì)占用內(nèi)存侠讯。
?????? b. cartogapher -> real-time correlative scan matcher 挖藏,引入了branch and bound的方式, 加快了閉環(huán)的查找厢漩。依據(jù)多分辨率多層的樹(shù)型結(jié)構(gòu),單枝生長(zhǎng)的方式(branch)岩臣,及時(shí)剪枝操作(bound)溜嗜,深度優(yōu)先搜索確定閉環(huán)宵膨。?(Intra-submap Inter-submap)添加相應(yīng)的閉環(huán)約束。構(gòu)建優(yōu)化問(wèn)題炸宵,利用ceres優(yōu)化辟躏。
?????? 參見(jiàn): cartographer/cartographer/mapping_2d/sparse_pose_graph.h .cc
引用
[1]. Occupancy Grid Rasterization in Large Environments for Teams of Robots