apollo自動駕駛金字塔點雲地圖模型結構分析

金字塔地圖(pyramid map)

金字塔模型是圖像處理中的重要手段,常用作多分辨率模型。
在apollo點雲地圖中,使用點雲特徵提取地面特徵平面層,再將地面層上的點雲數據存儲在金字塔模型中。
通過使用金字塔模型對建立不同分辨率(resolution)地圖數據進行存儲,每一層的數據結構都是統一的,只是保存不同分辨率的數據而已。
每一層的金字塔,主要由以下幾個關鍵數據結構抽象搭建的架構,
MapMatrixMapNodeMapNodePoolMapMatrix \subset MapNode \subset MapNodePool

MapNode存儲的是點雲點的位置(Pose)所確定的範圍信息, 它的作用是將確定的地理範圍劃分成若干個node節點,並以NodeindexNode_{index}來存取相應區域的地圖數據。,其Index是根據以下公式計算所得
Nodeindex=(Posx,yminx,y)/(Nodesize×resolution)Node_{index}=(Pos_{x,y}-min_{x,y})/(Node_{size} \times resolution)
目前固定每個 Nodesize=1024×1024Node _{size}=1024 \times 1024,
默認點雲地圖的分辨率是 0.125m0.125m,即最小CellCell的邊長爲 0.125m0.125m,
所以一個node所能涵蓋的單方向的地理距離就是(1024×0.125)m(1024 \times 0.125)m
其中Posx,yR2Pos_{x,y} \in R^2 是UTM座標,x指向東,y指向北,
(minx,miny)(min_{x},{min}_y)是當前地圖區域的最小邊界值,也是UTM座標,

例如,
$m=(xminx)/(10240.125),n=(yminy)/(10240.125)m=(x-{min_x})/(1024*0.125),n=(y-min_y)/(1024*0.125),$

MapMatrix 存儲每個點雲點的相關信息,其Index是根據以下公式計算所得
Cellindex=(PglobalPlefttop)/resolutionCell_{index}=(P_{global}-P_{lefttop})/resolution

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章