CN114063092B 一種無人車定位系統(tǒng)、方法、裝置及電子設備 (中國人民解放軍陸軍工程大學)_第1頁
CN114063092B 一種無人車定位系統(tǒng)、方法、裝置及電子設備 (中國人民解放軍陸軍工程大學)_第2頁
CN114063092B 一種無人車定位系統(tǒng)、方法、裝置及電子設備 (中國人民解放軍陸軍工程大學)_第3頁
CN114063092B 一種無人車定位系統(tǒng)、方法、裝置及電子設備 (中國人民解放軍陸軍工程大學)_第4頁
CN114063092B 一種無人車定位系統(tǒng)、方法、裝置及電子設備 (中國人民解放軍陸軍工程大學)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(12)發(fā)明專利(73)專利權人中國人民解放軍陸軍工程大學地址050003河北省石家莊市和平西路97號專利權人南京理工大學審查員丁小麗(72)發(fā)明人吳定海蔡云飛任國全吳官東王懷光范紅波李曉磊唐香珺周景濤張云強限公司11543專利代理師張峰本發(fā)明提供了一種無人車定位系統(tǒng)、方法、所述點云數(shù)據(jù)的原始位置信息;S103,對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;S104,通過里程計采樣運動模型通過結合ScanContext的蒙特卡羅定位算法得到粒子;S105,從描述子數(shù)據(jù)庫中通過KD-Tree找到與每描生成的ScanContext描述子與二元組中的描2S101,獲取錄制的無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);S102,根據(jù)所述點云數(shù)據(jù),基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位S103,對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和k維空間中的樹形數(shù)據(jù)結構S103具體包括:S1031,通過柵格采樣得到原始位置信息集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;S1032,對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;S1033,對所有原始位置信息集合L建立與所述原始位置信息集合L對應的KD-Tree;S1034,將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤;S104,通過里程計采樣運動模型通過結合ScanContext的蒙特卡羅定位算法得到粒S105,從描述子數(shù)據(jù)庫中通過KD-Tree找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于原始位置信息的相對位姿。2.根據(jù)權利要求1所述無人車定位方法,其特征在于,所述S105中得到無人車當前相對于原始位置信息的相對位姿具體包括:S1051,初始化粒子群,生成M個粒子表示初始的S1052,在無人車經過單位時間的運動后,依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;S1053,依次將M個粒子輸入觀測模型,求得每個粒子位姿下能夠產生觀測的概率,并將所述概率作為所述粒子的權值;S1054,從M個粒子中根據(jù)權值大小隨機抽取出M個新粒子;S1055,重復步驟S1052~S1054。3.根據(jù)權利要求1所述無人車定位方法,其特征在于,所述方法還包括:S106,將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,通過所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題和里程計驅動節(jié)點的里程計數(shù)據(jù)話激光點云錄制模塊,其用于錄制無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);處理模塊,其與所述激光點云錄制模塊連接,用于將所述點云數(shù)據(jù)輸入基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位置信息;柵格采樣模塊,其與所述處理模塊連接,用于對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;3所述柵格采樣模塊進一步用于:通過柵格采樣得到原始位置信息集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;對所有原始位置信息集合L建立與所述原始位置信息集合L對應的KD-Tree;將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤;計算模塊,其與所述處理模塊和所述柵格采樣模塊連接,用于從描述子數(shù)據(jù)庫中通過KD-Tree找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于原始位置信息的相對位5.根據(jù)權利要求4所述的無人車定位系統(tǒng),其特征在于,所述計算模塊進一步用于:依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;依次將M個粒子帶入觀測模型,求得每個粒子位姿下能夠產生觀測的概率,并將所述概率作為所述粒子的權值;從M個粒子中根據(jù)權值大小隨機抽取出M個新粒子。6.根據(jù)權利要求5所述的無人車定位系統(tǒng),其特征在于,所述無人車定位系統(tǒng)還包括:封裝模塊,其用于將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題,訂閱里程計驅動節(jié)點的里程計數(shù)據(jù)話題。7.一種無人車定位裝置,其特征在于,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執(zhí)行時實現(xiàn)如權利要求1至3中任一項所述的無人車定位方法的步驟。8.一種電子設備,其特征在于,所述電子設備上存儲有信息傳遞的實現(xiàn)程序,所述程序被處理器執(zhí)行時實現(xiàn)如權利要求1至3中任一項所述的無人車定位方法的步驟。4技術領域[0001]該無人車定位方法件涉及無人車定位技術領域,尤其涉及一種無人車定位系統(tǒng)、背景技術[0002]無人車自主導航技術通常由三個子技術構成:地圖建立、無人車定位以及路徑規(guī)劃。無人車能夠在生產環(huán)境中移動工作的前提是擁有一份全局地圖,該地圖通常使用同時定位與地圖創(chuàng)建(SLAM)技術建得。無人車在擁有地圖、已知起始位置與目標位置的情況下,借助路徑規(guī)劃算法能夠得到一條可行路徑。在自主導航過程中,無人車需要實時得知自己在地圖中的位置,以便實時重規(guī)劃路徑。[0003]可見光相機與多線激光雷達是目前主流的兩種無人車環(huán)境感知傳感器??梢姽庀鄼C擁有分辨率高、能夠感知顏色信息等優(yōu)勢,然而致命之處在于其無法直接感知距離信息,即使目前已經存在深度學習取得深度信息的技術,但是仍然處于實驗室階段,無法達到工業(yè)領域的穩(wěn)定性要求。多線激光雷達能夠以主動的方式取得360°視角范圍內障礙物的距離信息,對生產環(huán)境的光線沒有要求。因此,在目前的工業(yè)生產中,多線激光雷達依然占據(jù)無人車環(huán)境感知傳感器的主導地位。發(fā)明內容[0004]本發(fā)明的目的在于提供一種無人車定位系統(tǒng)、方法、裝置及電子設備,該無人車定位系統(tǒng)能夠解決現(xiàn)有技術中傳統(tǒng)蒙特卡羅定位在二維柵格地圖的基礎上利用單線激光雷達的信息進行定位,沒有充分利用多線激光雷達感知信息的問題。[0007]S101,獲取錄制的無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);[0008]S102,根據(jù)所述點云數(shù)據(jù),基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位置信息;[0009]S103,對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;[0010]S104,通過里程計采樣運動模型通過結合ScanContext的蒙特卡羅定位算法得到[0011]S105,從描述子數(shù)據(jù)庫中通過KD-Tree找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于原始位置信息的相對位姿。[0012]在上述技術方案的基礎上,本發(fā)明還可以做如下改進:[0014]S1031,通過柵格采樣得到位置集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;5[0015]S1032,對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;[0016]S1033,將所有位置集合L建立與所述位置集合L對應的KD-Tree;[0017]S1034,將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤。[0018]進一步地,所述S105中得到無人車當前相對于全局地圖原點的相對位姿具體包[0019]S1051,初始化粒子群,生成M個粒子表示初始的無人車位姿;[0020]S1052,在無人車經過單位時間的運動后,依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;[0021]S1053,依次將M個粒子輸入觀測模型,求得每個粒子位姿下能夠產生觀測的概率,并將所述概率作為所述粒子的權值;[0022]S1054,從M個粒子中根據(jù)權值大小隨機抽取出M個新粒子;[0023]S1055,重復步驟S1052~S1054。[0025]S106,將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,通過所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題和里程計驅動節(jié)點的里程計數(shù)據(jù)[0026]激光點云錄制模塊,其用于錄制無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);[0027]處理模塊,其與所述激光點云錄制模塊連接,用于將所述點云數(shù)據(jù)輸入基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位置信息;[0028]柵格采樣模塊,其與所述處理模塊連接,用于對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;[0029]計算模塊,其與所述處理模塊和所述柵格采樣模塊連接,用于從描述子數(shù)據(jù)庫中通過KD-Tree找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于原始位置信息的相對位姿。[0031]通過柵格采樣得到位置集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;[0032]對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;[0033]將所有位置集合L建立與所述位置集合L對應的KD-Tree;[0034]將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤。[0036]初始化粒子群,生成M個粒子表示初始的無人車位[0037]依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;6[0038]依次將M個粒子帶入觀測模型,求得每個粒子位姿下能夠產生觀測的概率,并將所述概率作為所述粒子的權值;[0039]從M個粒子中根據(jù)權值大小隨機抽取出M個新粒子。[0041]封裝模塊,其用于將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題,訂閱里程計驅動節(jié)點的里程計數(shù)據(jù)話題。[0042]一種無人車定位裝置,包括:存儲器、處理器及存儲在所述存儲器上并可在所理器上運行的計算機程序,所述計算機程序被所述處理器執(zhí)行時實現(xiàn)無人車定位方法的步驟。[0043]一種電子設備,其特征在于,所述電子設備上存儲有信息傳遞的實現(xiàn)程序,所述程序被處理器執(zhí)行時實現(xiàn)無人車定位方法的步驟。[0044]本發(fā)明具有如下優(yōu)點:[0045]本發(fā)明的無人車定位方法,提出了一種結合ScanContext全局描述子與蒙特卡羅定位的無人車定位方式,改進了傳統(tǒng)蒙特卡羅僅利用單線信息在2D柵格地圖上進行匹配的缺陷,提高了無人車多線激光雷達信息的利用率。對原始錄制的點云數(shù)據(jù)進行了柵格下采樣,并利用KD-Tree完成當前時刻某個蒙特卡羅粒子的位置在描述子數(shù)據(jù)庫中的最近鄰,提高了定位的實時性和運算速率。解決了現(xiàn)有技術中傳統(tǒng)蒙特卡羅定位在二維柵格地圖的基礎上利用單線激光雷達的信息進行定位,沒有充分利用多線激光雷達感知信息的問題。附圖說明[0046]為了更清楚地說明本說明書一個或多個實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0047]圖1為本發(fā)明實施例中無人車定位方法的流程圖;[0048]圖2為本發(fā)明實施例中S105的具體流程圖;[0049]圖3為本發(fā)明實施例中S103的具體流程圖;[0050]圖4為本發(fā)明實施例中無人車定位系統(tǒng)的示意圖;[0051]圖5為本發(fā)明實施例中無人車的結構示意圖;[0052]圖6為本發(fā)明實施例中工作環(huán)境的示意圖;[0053]圖7為本發(fā)明實施例中運動過程分解的示意圖;[0054]圖8為本發(fā)明實施例中無人車定位方法的流程圖。[0055]激光點云錄制模塊10,處理模塊20,柵格采樣模塊30,計算模塊40,里程計50,多線激光雷達60,第一區(qū)域70,第二區(qū)域80。具體實施方式[0056]為了使本技術領域的人員更好地理解本說明書一個或多個實施例中的技術方案,下面將結合本說明書一個或多個實施例中的附圖,對本說明書一個或多個實施例中的技術7方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基于本說明書一個或多個實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于該無人車定位方法件的保護范圍。[0058]S101,錄制點云數(shù)據(jù);[0059]本步驟中,錄制無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);[0060]錄制點云數(shù)據(jù)是指將無人車放置在工作環(huán)境中,打開激光點云錄制軟件,在操作員的遙控下,無人車駛遍整個工作環(huán)境。該無人車定位方法使用無人車操作系統(tǒng)(ROS)的[0061]該無人車定位方法對數(shù)據(jù)錄制階段的無人車行駛路線的要求是:路線盡可能地覆蓋整個工作環(huán)境。對于車道較窄的區(qū)域(車道寬度小于參數(shù)w),如6中的第一區(qū)域70所示,操作員只需要讓無人車盡可能地在車道中間行駛。對于車道較寬的區(qū)域,如圖6中的第二區(qū)域80所示,需要操作員操控無人車往返行駛,以低于w的平行軌跡間隔覆蓋該區(qū)域。[0062]將錄制數(shù)據(jù)得到的所有點云記為P={P?,P2,…},其中一幀點云表示為P={p2}。[0063]S102,得到點云數(shù)據(jù)的原始位置信息;[0064]本步驟中,將所述點云數(shù)據(jù)輸入基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位置信息;[0065]該無人車定位方法使用Lego-LOAM算法框架完成3D點云地圖創(chuàng)建,Lego-LOAM是目利用點云的直線特征、平面特征完成前端Scan-to-Scan的點云配準,后端使用LM完成位姿實現(xiàn)了輕量級與地面優(yōu)化,利用了無人車周圍地平面的信息,將后端更改為兩步LM優(yōu)化,此外Lego-LOAM還增加了回環(huán)檢測算法,在存在回環(huán)的環(huán)境下能夠將累計誤差減小到可接收的范圍內,便于生成全局一致性地圖。[0066]該無人車定位方法以錄制的點云數(shù)據(jù)作為Lego-LOAM算法的輸入,最終輸出“.pcd”格式的3D點云地圖以及所有原始點云相對起始點的位姿。Lego-LOAM作為同時定位與地圖創(chuàng)建算法,在執(zhí)行過程中同時完成了定位與增量地圖創(chuàng)建,因此最終能夠輸出這兩者。該無人車定位方法使用Lego-LOAM的目的并不是為了使用其輸出的3D點云地圖,而是為了獲得其輸出的錄制點云數(shù)據(jù)的原始位置信息。應。其中L=[L,L,Lya,分別為相對于數(shù)據(jù)采集起始點的笛卡爾坐標與航向角。[0069]本步驟中,對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;[0070]在點云數(shù)據(jù)采集過程中,激光雷達通常以10Hz的頻率輸出點云幀,無人車速度通常較慢,因此點云幀較為密集;此外,還存在折返行駛以便采集的數(shù)據(jù)更好覆蓋工作環(huán)境的要求,軌跡可能存在重疊。因此需要對原始點云集合進行下采樣。柵格采樣在位置集合L上進行,設柵格的邊長為w,對于落在某個柵格內的所有位置,其為L的子集,選取其中距離柵格中心最近的位置。[0071]經過柵格采樣,獲得了位置集合L的子集L。根據(jù)索引映射關系,取得相對應的點云8集合P的子集P。[0072]全局描述子是對點云幀的壓縮和概括,好的全局描述子能夠用極小維度的特征向量描述原始點云有區(qū)別性的結構信息。ScanContext是目前十分流行的激光點云全局描述子。與其它全局描述子相比,ScanContext的優(yōu)勢在于:非直方圖統(tǒng)計類描述子,描述子生[0073]ScanContext描述子生成方式十分簡單,以激光雷達所在位置為中心,按照徑向(中心到最大傳感器感知距離)方向劃分為r個環(huán)(Ring),將方向角劃分為個s扇區(qū)(Sector),環(huán)與扇區(qū)相交的區(qū)域稱為箱(Bin)。使用落入箱中所有點中最高的點的高度值作為該箱的特征值,將所有箱的特征值按照相鄰順序排列成一個二維數(shù)組,便得到了該幀點云對應的ScanContext描述子。[0074]對于采樣后的點云集合P中的每幀點云P,生成其對應的ScanContext描述子D,并將其與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>。最終,得到包含所有二元組的集合D,稱其為描述子數(shù)據(jù)庫。[0075]對于某個指定的位置,需要在描述子數(shù)據(jù)庫中查找距離該位置最近的描述子。如果使用線性查找,該過程是十分耗時的。為了加快查找速度,為所有位置集合L建立其對應的KD-Tree,記為T。[0076]將描述子數(shù)據(jù)庫和KD-Tree保存至磁盤,部署流程終于結束了。[0077]S104,得到粒[0078]本步驟中,通過里程計采樣運動模型通過結合ScanContext的蒙特卡羅定位算法得到粒子;[0079]S105,得到相對位姿;[0080]本步驟中,從描述子數(shù)據(jù)庫中通過KD-Tree找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于全局地圖原點的相對位姿。[0081]蒙特卡羅定位是粒子濾波在無人車定位上的應用。粒子濾波是貝葉斯濾波的一種非參數(shù)實現(xiàn),其主要思想是用一系列隨機狀態(tài)的采樣來表示狀態(tài)的分布。粒子濾波非參數(shù)的特點使得它能夠表示比高斯分布更廣泛的空間,同時具有更好的非線性變換的能力。[0082]蒙特卡羅定位使用M個粒子表示無人車在地圖中可能的位姿。同時這M個粒子分別具有一個權值,用來表示這個粒子對應的無人車位姿的可信程度。隨著無人車的運動,這些粒子的位姿和權值也在不斷地迭代更新。經過一段時間,這些粒子會收斂到真實無人車位置周圍,此時這些粒子的均值就是較為可信的無人車位姿的估計值。[0086]S1052,獲得預測后的粒子;[0087]本步驟中,無人車經過單位時間的運動后,依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;[0088]S1053,將M個粒子帶入觀測模型;[0089]本步驟中,依次將M個粒子帶入觀測模型,求得每個粒子位姿下能夠產生觀測的概9[0095]該無人車定位方法提出的結合ScanContext的蒙特卡羅定位算法采用里程計50在任意時刻方便地讀取無人車在里程計坐標系中的坐標。里程計50通常由輪子編碼器實[0105]假設該粒子預測前的位姿為x=(xyθ)。單位時間的運動后即t時刻時,定位程序模塊再次讀取該時刻里程計坐標系無人車位姿觀測成立的概率。[0120]在上文描述的基礎上,可以得到結合ScanCon11[0123]針對傳統(tǒng)蒙特卡羅定位在二維柵格地圖的基礎上利用單線激光雷達的信息進行定位,未能充分利用多線激光雷達60感知信息的問題,該無人車定位方法提供了一種ScanContext全局描述子與蒙特卡洛定位相結合的無人車定位方法。該方法充分利用了多線激光雷達60的感知信息,相比于傳統(tǒng)蒙特卡洛定位具有更高的魯棒性。[0124]結合ScanContext描述子的蒙特卡羅定位總體框架,部署流程包括錄制環(huán)境點云數(shù)據(jù)、同時定位與地圖創(chuàng)建以及生成描述子數(shù)據(jù)庫三個步驟?;赟canContext的蒙特卡羅定位主要由運動模型和觀測模型組成。[0125]該無人車定位方法提出的無人車定位算法要求無人車采用雙輪差動的輪式底盤或履帶式底盤,并且安裝有精確的左右輪編碼器里程計50。蒙特卡羅定位的運動模型以里程計50的相對里程信息作為輸入,較差的里程計50反饋會直接影響定位的效果。在環(huán)境感知傳感器方面,該無人車定位方法要求無人車安裝有多線激光雷達60,安裝位置為無人車頂部,并且360°視角范圍不受到遮擋。一種滿足上述要求的無人車示意圖[0126]在上述技術方案的基礎上,本發(fā)明還可[0128]S1031,得到位置集合的子集和點云集合的子集;[0129]本步驟中,通過柵格采樣得到位置集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;[0130]S1032,得到描述子數(shù)據(jù)庫;[0131]本步驟中,對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;[0132]S1033,建立KD-Tree;[0133]本步驟中,將所有位置集合L建立與所述位置集合L對應的KD-Tree;[0134]S1034,將描述子數(shù)據(jù)庫和KD-Tree存儲至磁盤;[0135]本步驟中,將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤。[0137]S106,將無人車定位方法裝封成ROS中的一個節(jié)點。[0138]本步驟中,將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題,訂閱里程計驅動節(jié)點的里程計數(shù)據(jù)話題。[0140]激光點云錄制模塊10,其用于錄制無人車駛遍整個工作環(huán)境的點云數(shù)據(jù);[0141]處理模塊20,其與所述激光點云錄制模塊10連接,用于將所述點云數(shù)據(jù)輸入基于Lego-LOAM算法框架的算法得到所述點云數(shù)據(jù)的原始位置信息;[0142]柵格采樣模塊30,其與所述處理模塊20連接,用于對所述點云數(shù)據(jù)進行柵格采樣得到描述子數(shù)據(jù)庫和KD-Tree;[0143]計算模塊40,其與所述處理模塊20和所述柵格采樣模塊30連接,用于從描述子數(shù)據(jù)庫中找到與每個粒子距離最近的二元組,計算當前激光雷達掃描生成的ScanContext描述子與二元組中的描述子之間的相似度,得到無人車當前相對于全局地圖原點的相對位[0145]通過柵格采樣得到位置集合L的子集L,根據(jù)索引映射關系得到相對應的點云集合P的子集P;[0146]對于子集P中的每幀點云P生成其對應的ScanContext描述子D,并將描述子D與對應的位置L進行組合得到描述子與對應位置組成的二元組<D,L>,根據(jù)所述二元組得到所述描述子數(shù)據(jù)庫;[0147]將所有位置集合L建立與所述位置集合L對應的KD-Tree;[0148]將所述描述子數(shù)據(jù)庫和所述KD-Tree存儲至磁盤。[0150]初始化粒子群,生成M個粒子表示初始的無人車位[0151]依次將M個粒子帶入狀態(tài)轉移方程,獲得預測后的粒子;[0152]依次將M個粒子帶入觀測模型,求得每個粒子位姿下能夠產生觀測的概率,并將所述概率作為所述粒子的權值;[0153]從M個粒子中根據(jù)權值大小隨機抽取出M個新粒子。[0155]封裝模塊,其用于將ScanContext全局描述子與蒙特卡羅定位算法裝封成ROS中的一個節(jié)點,所述ROS節(jié)點訂閱激光雷達驅動節(jié)點的點云數(shù)據(jù)話題,訂閱里程計驅動節(jié)點的里程計數(shù)據(jù)話題。[0156]一種無人車定位裝置,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執(zhí)行時實現(xiàn)無人車定位方法的步[0157]一種電子設備,其特征在于,所述電子設備上存儲有信息傳序被處理器執(zhí)行時實現(xiàn)無人車定位方法的步驟。[0161]上述對本說明書特定實施例進行了描述。其它實施例在所附權利要求書的范圍此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(ProgrammableLogicDevice,PLD)(例如現(xiàn)場可編程門陣列(FieldProgrammableGate而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言 (AdvancedBooleanExpressionLanguagHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,理器202以及存儲可由該(微)處理器202執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質、邏輯門、開關、專用集成電路(ApplicationC8051F320,存儲器控制器還可以被實現(xiàn)為等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內的結構?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內的結構。[0164]上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或實體實現(xiàn),或者由具有某種功能的產品來實現(xiàn)。一種典型的實現(xiàn)設備為計算機。具體的,計算機例如可設備的組合。[0165]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書實施例時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。[0166]本領域內的技術人員應明白,本說明書一個或多個實施例可提供為方法、系統(tǒng)或計算機程序產品。因此,本說明書一個或多個實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本說明書可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。[0167]本說明書是參照根據(jù)本說明書實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器202以產生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器202執(zhí)行的指令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。[0168]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。[0169]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論