本申請涉及數(shù)據(jù)處理,尤其涉及一種倉儲環(huán)境下機器人定位方法。
背景技術(shù):
1、倉儲環(huán)境中移動機器人的定位是至關(guān)重要的,在連續(xù)快速運動的場景中經(jīng)典的算法往往難以同時兼顧精度與實時性,但在實際倉儲場景的運輸中,高精度和實時能力對于機器人來說都是必不可少的。現(xiàn)有技術(shù)在倉儲環(huán)境下機器人定位中引入了點云配準技術(shù),旨在將不同視角或不同時間獲取的點云數(shù)據(jù)對齊到一個統(tǒng)一的坐標系中,從而生成完整、準確的地圖或三維模型。為了提高配準效率,體素化的三維機器人定位方法應(yīng)運而生,該方法將體素網(wǎng)格化的概念引入配準過程,提高了計算速度。
2、傳統(tǒng)體素化三維機器人定位方法通常采用哈希表來存儲整個體素化的地圖,以加快查找速度。然而,在連續(xù)變換的場景中,哈希表的性能會嚴重下降,點云密度的波動會導(dǎo)致哈希表中體素數(shù)量的頻繁波動,進而引發(fā)哈希表的頻繁擴容和縮容,嚴重影響倉儲環(huán)境下機器人定位的準確性和體素地圖性能。
技術(shù)實現(xiàn)思路
1、本申請的主要目的在于提供一種倉儲環(huán)境下機器人定位方法,旨在解決傳統(tǒng)倉儲環(huán)境下機器人定位方法在點云密度波動時,存儲體素化點云地圖的哈希表頻繁擴容縮容,從而影響了機器人定位準確性的技術(shù)問題。
2、為實現(xiàn)上述目的,本申請?zhí)岢鲆环N倉儲環(huán)境下機器人定位方法,所述方法包括:
3、確定初始點云的體素索引,并基于所述體素索引和預(yù)設(shè)哈希表存儲桶數(shù)量,獲得體素深度信息;
4、根據(jù)所述體素深度信息對體素化點云地圖進行分層處理,獲得多個子體素地圖;
5、根據(jù)所述多個子體素地圖和目標點云體素對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位。
6、在一實施例中,所述確定初始點云的體素索引,并基于所述體素索引和預(yù)設(shè)哈希表存儲桶數(shù)量,獲得體素深度信息的步驟,包括:
7、通過對初始點云的三維空間點坐標與預(yù)設(shè)體素分辨率進行計算,獲得每個三維空間點坐標的體素索引;
8、基于所述體素索引構(gòu)建體素化點云地圖,并基于預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖;
9、根據(jù)所述三維空間點坐標和體素內(nèi)點數(shù)量,計算體素位置信息;
10、基于所述體素位置信息計算每個體素與相機的距離,并將所述距離作為體素深度信息。
11、在一實施例中,所述基于所述體素索引構(gòu)建體素化點云地圖,并基于預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖的步驟,包括:
12、基于所述體素索引獲得體素化點云地圖;
13、根據(jù)所述體素化點云地圖和所述初始點云,計算所述體素化點云地圖中的體素數(shù)量;
14、通過計算所述哈希表的存儲桶內(nèi)元素數(shù)量和初始存儲桶數(shù)量的比值,獲得哈希表質(zhì)因子;
15、根據(jù)所述體素數(shù)量和所述哈希表質(zhì)因子,計算預(yù)設(shè)哈希表存儲桶數(shù)量,并基于所述預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖。
16、在一實施例中,所述根據(jù)所述體素數(shù)量和所述哈希表質(zhì)因子,計算預(yù)設(shè)哈希表存儲桶數(shù)量,并基于所述預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖的步驟,包括:
17、根據(jù)所述體素數(shù)量和哈希表質(zhì)因子計算預(yù)設(shè)哈希表存儲桶數(shù)量,并檢測所述哈希表質(zhì)因子是否超過預(yù)設(shè)擴容閾值;
18、若所述哈希表質(zhì)因子超過所述預(yù)設(shè)擴容閾值,則增加所述預(yù)設(shè)哈希表存儲桶數(shù)量,并更新所述預(yù)設(shè)哈希表;
19、若所述哈希表質(zhì)因子低于所述預(yù)設(shè)縮容閾值,則減少所述預(yù)設(shè)哈希表存儲桶數(shù)量,并更新所述預(yù)設(shè)哈希表;
20、基于所述預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖。
21、在一實施例中,所述根據(jù)所述多個子體素地圖和目標點云體素對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位的步驟,包括:
22、基于所述多個子體素地圖構(gòu)建體素平衡二叉樹,并根據(jù)所述體素平衡二叉樹確定目標點云子體素地圖;
23、基于所述目標點云子體素地圖,通過對目標點云進行體素化處理,獲得目標點云體素索引;
24、在存儲所述多個子體素地圖的哈希表中查找所述目標點云體素索引對應(yīng)的目標點云體素;
25、將所述目標點云與所述目標點云體素進行配對,獲得所述目標點云與所述目標點云體素的對應(yīng)關(guān)系;
26、基于所述對應(yīng)關(guān)系,通過計算損失函數(shù)對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位。
27、在一實施例中,所述基于所述多個子體素地圖構(gòu)建體素平衡二叉樹,并根據(jù)所述體素平衡二叉樹確定目標點云子體素地圖的步驟,包括:
28、根據(jù)所述多個子體素地圖的體素索引和紅黑樹機制,構(gòu)建體素平衡二叉樹;
29、通過對目標點云進行變換和遍歷獲得目標點云深度信息,并在所述體素平衡二叉樹中查找所述目標點云深度信息對應(yīng)的目標點云體素索引;
30、根據(jù)所述目標點云體素索引確定所述目標點云子體素地圖。
31、此外,為實現(xiàn)上述目的,本申請還提出一種倉儲環(huán)境下機器人定位裝置,所述倉儲環(huán)境下機器人定位裝置包括:
32、信息計算模塊,用于確定初始點云的體素索引,并基于所述體素索引和預(yù)設(shè)哈希表存儲桶數(shù)量,獲得體素深度信息;
33、地圖分層模塊,用于根據(jù)所述體素深度信息對體素化點云地圖進行分層處理,獲得多個子體素地圖;
34、點云配準模塊,用于根據(jù)所述多個子體素地圖和目標點云體素對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位。
35、此外,為實現(xiàn)上述目的,本申請還提出一種倉儲環(huán)境下機器人定位設(shè)備,所述設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如上文所述的倉儲環(huán)境下機器人定位方法的步驟。
36、此外,為實現(xiàn)上述目的,本申請還提出一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的倉儲環(huán)境下機器人定位方法的步驟。
37、此外,為實現(xiàn)上述目的,本申請還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的倉儲環(huán)境下機器人定位方法的步驟。
38、本申請?zhí)岢龅募夹g(shù)方案,計算初始點云的體素索引,并基于體素索引和預(yù)設(shè)哈希表存儲桶數(shù)量,獲得體素深度信息,根據(jù)體素深度信息對體素化點云地圖進行分層處理,獲得多個子體素地圖,根據(jù)多個子體素地圖和目標點云體素對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位。本申請通過計算初始點云的體素索引,精確地劃分初始點云,設(shè)置預(yù)設(shè)哈希表存儲桶數(shù)量避免哈希表在配準過程中頻繁擴容縮容,分層處理將體素化點云地圖劃分為多個子體素地圖,有助于減少哈希表的沖突和查找時間,也能夠更加細致地處理點云數(shù)據(jù),使得倉儲環(huán)境下機器人定位過程更加精確。
1.一種倉儲環(huán)境下機器人定位方法,其特征在于,所述方法包括以下步驟:
2.如權(quán)利要求1所述的倉儲環(huán)境下機器人定位方法,其特征在于,所述確定初始點云的體素索引,并基于所述體素索引和預(yù)設(shè)哈希表存儲桶數(shù)量,獲得體素深度信息的步驟,包括:
3.如權(quán)利要求2所述的倉儲環(huán)境下機器人定位方法,其特征在于,所述基于所述體素索引構(gòu)建體素化點云地圖,并基于預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖的步驟,包括:
4.如權(quán)利要求3所述的倉儲環(huán)境下機器人定位方法,其特征在于,所述根據(jù)所述體素數(shù)量和所述哈希表質(zhì)因子,計算預(yù)設(shè)哈希表存儲桶數(shù)量,并基于所述預(yù)設(shè)哈希表存儲桶數(shù)量,使用哈希表存儲所述體素化點云地圖的步驟,包括:
5.如權(quán)利要求1至4中任一項所述的倉儲環(huán)境下機器人定位方法,其特征在于,所述根據(jù)所述多個子體素地圖和目標點云體素對目標點云對應(yīng)的倉儲環(huán)境下機器人進行定位的步驟,包括:
6.如權(quán)利要求5所述的倉儲環(huán)境下機器人定位方法,其特征在于,所述基于所述多個子體素地圖構(gòu)建體素平衡二叉樹,并根據(jù)所述體素平衡二叉樹確定目標點云子體素地圖的步驟,包括:
7.一種倉儲環(huán)境下機器人定位裝置,其特征在于,所述倉儲環(huán)境下機器人定位裝置包括:
8.一種倉儲環(huán)境下機器人定位設(shè)備,其特征在于,所述倉儲環(huán)境下機器人定位設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的倉儲環(huán)境下機器人定位程序,所述倉儲環(huán)境下機器人定位程序被所述處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至6中任一項所述的倉儲環(huán)境下機器人定位方法。
9.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)上存儲有倉儲環(huán)境下機器人定位程序,所述倉儲環(huán)境下機器人定位程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至6中任一項所述的倉儲環(huán)境下機器人定位方法。
10.一種計算機程序產(chǎn)品,其特征在于,所述計算機程序產(chǎn)品包括倉儲環(huán)境下機器人定位程序,所述倉儲環(huán)境下機器人定位程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至6中任一項所述的倉儲環(huán)境下機器人定位方法。