本公開涉及機器人定位,尤其涉及一種定位導(dǎo)航方法、裝置、電子設(shè)備及可讀存儲介質(zhì)。
背景技術(shù):
1、視覺重定位,是指機器人進入已知地圖區(qū)域時,通過機器人上設(shè)置的相機獲取到的圖像來估計機器人位姿的過程,即通過建立當(dāng)前相機圖像與地圖數(shù)據(jù)庫中一組已知參考圖像的關(guān)系,來計算機器人獲取當(dāng)前圖像時的位姿在世界坐標(biāo)系的位置,可以為機器人導(dǎo)航場景、增強現(xiàn)實(augmented?reality,ar)/虛擬現(xiàn)實(virtual?reality,vr)應(yīng)用以及室外自動駕駛場景等,提供厘米級精度的室內(nèi)外定位信息。
2、目前基于深度學(xué)習(xí)進行定位的方法在圖像特征提取方面相較于傳統(tǒng)的快速特征點提取和描述算法(oriented?fast?and?rotated?brief,orb)算法、尺度不變特征轉(zhuǎn)換(scale-invariant?feature?transform,sift)算法等在光照變化、弱紋理等條件下精度更高,但是深度學(xué)習(xí)模型對平臺算力需要較高,因此在機器人平臺難以推廣使用,而且機器人平臺通常為多相機結(jié)構(gòu),因此在機器人平臺上,如何設(shè)計支持多目相機的重定位模型是一個挑戰(zhàn)。
技術(shù)實現(xiàn)思路
1、為克服相關(guān)技術(shù)中存在的問題,本公開提供一種定位導(dǎo)航方法、裝置、電子設(shè)備及可讀存儲介質(zhì)。
2、根據(jù)本公開實施例的第一方面,提供一種定位導(dǎo)航方法,包括:采集目標(biāo)場景中的多幀圖像;
3、根據(jù)所述多幀圖像以及所述多幀圖像中每一幀圖像對應(yīng)的機器人位姿建立所述目標(biāo)場景的地圖數(shù)據(jù);
4、基于所述地圖數(shù)據(jù),確定所述機器人在所述目標(biāo)場景內(nèi)從初始位置移動至目標(biāo)位置的規(guī)劃路徑;
5、在所述機器人按照所述規(guī)劃路徑移動時,通過調(diào)用重定位功能確定所述機器人的真實位姿;
6、根據(jù)所述真實位姿調(diào)整所述機器人的行駛路徑使得所述機器人按照所述規(guī)劃路徑行駛。
7、可選的,所述采集目標(biāo)場景中的多幀圖像,包括:
8、在所述機器人每移動指定距離的情況下,采集一次相機數(shù)據(jù);和/或在所述機器人每旋轉(zhuǎn)指定角度的情況下,采集一次所述相機數(shù)據(jù),得到所述多幀圖像;
9、或每隔指定時間,采集一次所述相機數(shù)據(jù),得到所述多幀圖像;
10、或根據(jù)所述機器人的移動速度確定采集頻率,根據(jù)所述采集頻率采集并存儲所述相機數(shù)據(jù),得到所述多幀圖像。
11、可選的,所述根據(jù)所述多幀圖像以及所述多幀圖像中每一幀圖像對應(yīng)的機器人位姿建立所述目標(biāo)場景的地圖數(shù)據(jù),包括:
12、確定所述多幀圖像中每一幀圖像對應(yīng)的機器人位姿;
13、在完成對所述目標(biāo)場景的圖像采集后得到多幀原始圖像,過濾所述多幀原始圖像中的冗余數(shù)據(jù),得到所述多幀圖像;
14、提取所述多幀圖像中的圖像特征;所述圖像特征包括全局特征、局部特征和匹配關(guān)系,所述匹配關(guān)系為當(dāng)前幀圖像與所述當(dāng)前幀圖像后預(yù)定數(shù)量幀圖像的像素點對應(yīng)關(guān)系;
15、將所述圖像特征存入數(shù)據(jù)庫中;
16、根據(jù)所述全局特征、所述局部特征和所述匹配關(guān)系重新訓(xùn)練得到深度學(xué)習(xí)模型;
17、根據(jù)所述多幀圖像中的每一幀對應(yīng)的機器人位姿和所述圖像特征,基于運動恢復(fù)結(jié)構(gòu)sfm算法確定所述目標(biāo)場景的三維稀疏點云地圖;
18、基于所述三維稀疏點云地圖和所述全局特征,獲得所述地圖數(shù)據(jù)。
19、可選的,所述基于所述地圖數(shù)據(jù),確定所述機器人在所述目標(biāo)場景內(nèi)從初始位置移動至目標(biāo)位置的規(guī)劃路徑,包括:
20、檢測到所述機器人進入所述目標(biāo)場景后,獲取所述地圖數(shù)據(jù)和當(dāng)前相機數(shù)據(jù);
21、根據(jù)所述當(dāng)前相機數(shù)據(jù)確定所述初始位置;
22、基于所述地圖數(shù)據(jù)選擇所述目標(biāo)位置;
23、基于所述地圖數(shù)據(jù),通過所述機器人的導(dǎo)航模塊確定從所述初始位置移動至所述目標(biāo)位置的規(guī)劃路徑。
24、可選的,所述在所述機器人按照所述規(guī)劃路徑移動時,通過調(diào)用重定位功能確定所述機器人的真實位姿,包括:
25、在所述機器人按照所述規(guī)劃路徑移動,且接收到所述重定位功能的調(diào)用請求的情況下,
26、通過所述相機獲取所述機器人在當(dāng)前位置的多幀圖像數(shù)據(jù);
27、根據(jù)所述地圖數(shù)據(jù)從所述多幀圖像數(shù)據(jù)中確定查詢圖像;
28、對所述查詢圖像的多張相似圖像進行聚類,選擇最大類作為參考圖像;
29、提取所述查詢圖像的局部特征,從數(shù)據(jù)庫中讀取所述參考圖像的局部特征;
30、根據(jù)所述參考圖像的特征點與所述三維稀疏點云地圖的關(guān)系,及所述查詢圖像與所述參考圖像的二維匹配關(guān)系,基于運動定位算法確定所述機器人在所述當(dāng)前位置的所述真實位姿,及所述查詢圖像的內(nèi)點數(shù);所述內(nèi)點數(shù)為所述查詢圖像中匹配關(guān)系正確的三維點的數(shù)量。
31、可選的,所述根據(jù)所述地圖數(shù)據(jù)從所述多幀圖像數(shù)據(jù)中確定查詢圖像,包括:
32、提取所述多幀圖像數(shù)據(jù)的全局特征;
33、根據(jù)所述圖像數(shù)據(jù)的全局特征,從所述地圖數(shù)據(jù)中篩選每一幀所述圖像數(shù)據(jù)的多張相似圖像;
34、將滿足預(yù)設(shè)條件的相似圖像確定為查詢圖像;所述預(yù)設(shè)條件為所述多張相似圖像中三維點數(shù)量最多的相似圖像。
35、可選的,所述定位導(dǎo)航方法還包括:
36、在所述查詢圖像的內(nèi)點數(shù)大于或等于指定閾值的情況下,確定重定位成功,將重定位得到的所述真實位姿返回至所述機器人;
37、在所述查詢圖像的內(nèi)點數(shù)小于指定閾值的情況下,確定重定位失敗,控制所述機器人移動一定位置后重新調(diào)用所述重定位功能。
38、可選的,所述定位導(dǎo)航方法還包括:根據(jù)所述真實位姿,從所述地圖數(shù)據(jù)中搜索與真實位姿空間距離最近的位姿對應(yīng)的第一圖像;
39、獲取所述第一圖像對應(yīng)的所述機器人的第一位姿;
40、根據(jù)所述真實位姿與所述第一位姿之間的距離,確定所述真實位姿的置信度。
41、可選的,所述定位導(dǎo)航方法還包括:在所述置信度小于一定閾值的情況下,控制所述機器人再次判斷重定位得到的所述真實位姿的置信度。
42、根據(jù)本公開實施例的第二方面,提供一種定位導(dǎo)航裝置,包括:采集目標(biāo)場景中的多幀圖像;
43、處理模塊,被配置為根據(jù)所述多幀圖像以及所述多幀圖像中每一幀圖像對應(yīng)的機器人位姿建立所述目標(biāo)場景的地圖數(shù)據(jù);
44、規(guī)劃模塊,被配置為基于所述地圖數(shù)據(jù),確定所述機器人在所述目標(biāo)場景內(nèi)從初始位置移動至目標(biāo)位置的規(guī)劃路徑;
45、所述處理模塊,還被配置為在所述機器人按照所述規(guī)劃路徑移動時,通過調(diào)用重定位功能確定所述機器人的真實位姿;
46、調(diào)整模塊,被配置為根據(jù)所述真實位姿調(diào)整所述機器人的行駛路徑使得所述機器人按照所述規(guī)劃路徑行駛。
47、根據(jù)本公開實施例的第三方面,提供一種電子設(shè)備,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為執(zhí)行所述可執(zhí)行指令實現(xiàn)前述的定位導(dǎo)航方法的步驟。
48、根據(jù)本公開實施例的第四方面,提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序指令,該計算機程序指令被處理器執(zhí)行時實現(xiàn)本公開第一方面所提供的定位導(dǎo)航方法的步驟。
49、根據(jù)本公開實施例的第五方面,提供一種芯片,包括處理器和接口;所述處理器用于讀取指令以執(zhí)行前述的定位導(dǎo)航方法的步驟。
50、本公開的實施例提供的技術(shù)方案可以包括以下有益效果:通過機器人上的相機采集目標(biāo)場景中的多幀圖像,根據(jù)多幀圖像以及多幀圖像中每一幀圖像對應(yīng)的機器人位姿建立目標(biāo)場景的地圖數(shù)據(jù),基于地圖數(shù)據(jù),確定機器人在目標(biāo)場景內(nèi)從初始位置移動至目標(biāo)位置的規(guī)劃路徑,在機器人按照規(guī)劃路徑移動時,通過調(diào)用重定位功能確定機器人的真實位姿,根據(jù)真實位姿調(diào)整機器人的行駛路徑使得機器人按照規(guī)劃路徑行駛;機器人按照規(guī)劃路徑行駛時,可以通過調(diào)用重定位功能確定機器人的真實位姿,進而實時調(diào)整機器人的行駛路徑,使得機器人按照規(guī)劃路徑行駛,提高了機器人的導(dǎo)航精度,保證精度可控。
51、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。