本發(fā)明屬于機(jī)器人,具體涉及一種人形機(jī)器人多場(chǎng)景下的高精度地圖構(gòu)建與導(dǎo)航方法。
背景技術(shù):
1、點(diǎn)云、柵格和拓?fù)涫侨N主要的地圖表示形式,它們?cè)谌诵螜C(jī)器人技術(shù)中發(fā)揮著關(guān)鍵作用。點(diǎn)云是由在三維空間中分布的大量點(diǎn)組成,能夠高精度地捕捉和重建復(fù)雜的環(huán)境細(xì)節(jié),使其非常適合于人形機(jī)器人的精確導(dǎo)航和障礙物避讓,但其缺點(diǎn)在于需要大量的數(shù)據(jù)處理能力和存儲(chǔ)空間。柵格地圖通過像素化的方式將環(huán)境信息編碼成網(wǎng)格形式,簡(jiǎn)化了圖像處理流程,便于人形機(jī)器人進(jìn)行快速地形分析和路徑規(guī)劃,然而其空間分辨率限制了細(xì)節(jié)的表現(xiàn),可能影響導(dǎo)航精度。拓?fù)涞貓D強(qiáng)調(diào)地理元素間的空間關(guān)系,如連通性和鄰接性,優(yōu)化了機(jī)器人的動(dòng)態(tài)路徑規(guī)劃,但其復(fù)雜的數(shù)據(jù)結(jié)構(gòu)要求較高的數(shù)據(jù)處理技術(shù)。這些地圖技術(shù)的發(fā)展和應(yīng)用為人形機(jī)器人的功能性和效率提供了強(qiáng)大的支持,使其能夠在復(fù)雜多變的環(huán)境中更加自如地操作。
2、其中,拓?fù)涞貓D的表示較為值觀,存儲(chǔ)成本也最小,在這個(gè)基礎(chǔ)上實(shí)現(xiàn)導(dǎo)航功能的難度較小,并且運(yùn)算成本較低。缺點(diǎn)是精度較低。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種人形機(jī)器人多場(chǎng)景下的高精度地圖構(gòu)建與導(dǎo)航方法,旨在解決現(xiàn)有技術(shù)中地圖構(gòu)建和導(dǎo)航精度不足的問題。該方法包括以下步驟:首先,通過慣性測(cè)量單元(imu)和深度像機(jī)實(shí)現(xiàn)硬件部分的準(zhǔn)備;然后構(gòu)建包含視覺網(wǎng)絡(luò)和自然語言處理模塊的網(wǎng)絡(luò)模型,其中視覺網(wǎng)絡(luò)用于實(shí)現(xiàn)2維圖片的語義分割和實(shí)例分割,以及整個(gè)場(chǎng)景的分類,自然語言處理模塊用于從描述中提取物體特征并與視覺特征對(duì)齊;接著,通過構(gòu)建高精度拓?fù)涞貓D,包括路徑表示、界點(diǎn)對(duì)和小場(chǎng)景特征,來記錄機(jī)器人在不同小場(chǎng)景間的移動(dòng)路徑;最后,基于自然語言描述進(jìn)行導(dǎo)航,通過計(jì)算物體或場(chǎng)景特征與地圖中記錄的特征相似度,確定目標(biāo)物體或場(chǎng)景的位置,并依次查找界點(diǎn)對(duì),逐步導(dǎo)航至目標(biāo)地點(diǎn)。本發(fā)明提高了地圖構(gòu)建和導(dǎo)航的精度,減少了存儲(chǔ)成本,并實(shí)現(xiàn)了智能化的人機(jī)交互和高效的導(dǎo)航能力。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案如下:
3、步驟1:實(shí)現(xiàn)高精度地圖構(gòu)建與導(dǎo)航方法的硬件部分需要配備慣性測(cè)量單元imu和深度像機(jī);
4、步驟2:構(gòu)建網(wǎng)絡(luò)模型,包括如下部分:
5、視覺部分:實(shí)現(xiàn)2維圖片的語義分割以及實(shí)例分割,并且整個(gè)場(chǎng)景進(jìn)行分類;
6、主干網(wǎng):逐像素編碼與整圖編碼主體都由卷積層組成;逐像素編碼的輸出為[h,w,dim],整圖編碼的輸出為[1,dim],輸出省略了batch維度,h、w、dim分別為圖片的高、寬、編碼維度;主干網(wǎng)由n層組成,每一層都為一個(gè)resnet;
7、圖像分割:逐像素特征用于語義分割以及實(shí)例分割,而整圖特征用于物體分類以及場(chǎng)景分類;設(shè)實(shí)例分割后,一個(gè)物體的像素特征集合為(fetpix(1,dim)*n),n為像素的數(shù)量,則物體的特征為objectfet=avg((fetpix(1,dim)*n));fetpix表示逐像素特征;
8、場(chǎng)景分類:一個(gè)場(chǎng)景有n張圖片,則將n個(gè)圖片的特征進(jìn)行平均,升維得到最終的場(chǎng)景特征;設(shè)一個(gè)場(chǎng)景內(nèi),有num個(gè)物體,表示為(avg((fetpix(1,dim)*n)),num),則場(chǎng)景的特征表示為mapfet=avg((avg((fetpix(1,dim)*n)),num));
9、總損失函數(shù)設(shè)定為:ltotal=lcross+ldice+lcross2+lbinarycross;其中,lcross、ldice、lcross2、lbinarycross分別為用于語義分割的交叉熵?fù)p失、實(shí)例分割l1損失、場(chǎng)景分類交叉熵?fù)p失以及物體是否屬于特定場(chǎng)景的二元交叉熵?fù)p失;
10、自然語言處理部分:自然語言處理部分從一句話中提取表示物體的部分,得到最終的特征;設(shè)物體的特征為objectlan;自然語言處理得到的一個(gè)物體的特征,需要與視覺網(wǎng)絡(luò)的特征進(jìn)行對(duì)齊即知識(shí)蒸餾;
11、自然語言處理模型與視覺模型的特征對(duì)齊損失函數(shù)的定義為:llan=1-cos(flan,fvis),flan、fvis分別為物體的語言特征以及視覺特征;
12、步驟3:構(gòu)建地圖;
13、路徑的表示:路徑表示為一個(gè)有序的坐標(biāo)列表,記為way={(x1,y1),(x2,y2)…(xn,yn),angle1((xi,yi),(xj,yj),α)…anglen((xi,yi),(xj,yj),α)},其中angle表示到達(dá)一個(gè)點(diǎn)到另一個(gè)點(diǎn)時(shí)非直線的情況,需要進(jìn)行旋轉(zhuǎn),α為旋轉(zhuǎn)的角度;(xi,yi),(xj,yj)分別表示場(chǎng)景不同地點(diǎn)的坐標(biāo);
14、界點(diǎn)對(duì):進(jìn)行場(chǎng)景劃分,劃分的尺度為:若兩個(gè)場(chǎng)景之間僅存在一條可通過的道路,且道路上沒有用戶感興趣的物體,或者一個(gè)恰好使機(jī)器人通過的分界,則以這個(gè)地方為界,將場(chǎng)景分為兩個(gè)小場(chǎng)景,兩個(gè)小場(chǎng)景之間的分界在拓?fù)涞貓D中稱為“界點(diǎn)”,界點(diǎn)的數(shù)據(jù)結(jié)構(gòu)為coord(x,y),其中連接兩個(gè)小場(chǎng)景之間的界點(diǎn)坐標(biāo),加上兩個(gè)場(chǎng)景之間高緯度特征,即為一個(gè)界點(diǎn)對(duì),表示為:
15、lcoord=([coord(x,y),fet(1,dim)],way,[coord(x,y),fet(1,dim)])
16、小場(chǎng)景相對(duì)坐標(biāo):小場(chǎng)景表示的數(shù)據(jù)結(jié)構(gòu)為object=[coord(x,y),fet(1,dim)];
17、小場(chǎng)景內(nèi)部物體坐標(biāo):采用一個(gè)高維度的特征表示相對(duì)類別,表示為object=(coord(x,y),fet(1,dim));
18、小場(chǎng)景內(nèi)部地圖的構(gòu)建:
19、使機(jī)器人在小場(chǎng)景內(nèi)物體之間,或者界點(diǎn)與物體之間進(jìn)行移動(dòng),適用imu記錄機(jī)器人的行走狀況,若為直線,則行走時(shí)記錄每隔t1秒記錄其坐標(biāo)做為路徑,若進(jìn)行了旋轉(zhuǎn),則記錄其旋轉(zhuǎn)角度,向左旋轉(zhuǎn)為負(fù),向右旋轉(zhuǎn)為負(fù)。當(dāng)行走至物體所在坐標(biāo)時(shí),結(jié)束一次路徑記錄,記錄下的路徑結(jié)構(gòu)為(object1,object2,way)。并且將結(jié)構(gòu)反向,得到(object2,object1,way),其中將way所有點(diǎn)順序進(jìn)行反向排列,將way中angle部分也進(jìn)行反向順序,并且角度取相反數(shù)。表示物體2到物體一的路徑。記錄記錄結(jié)束以后,開始新一輪的記錄。
20、一個(gè)小場(chǎng)景構(gòu)建完畢以后,需要依次去向界點(diǎn)到達(dá)另一個(gè)小場(chǎng)景;
21、小場(chǎng)景到另一個(gè)小場(chǎng)景的構(gòu)建:
22、在小場(chǎng)景內(nèi)部,當(dāng)?shù)竭_(dá)界點(diǎn)時(shí),即識(shí)別到了小場(chǎng)景到另一個(gè)場(chǎng)景的通道,記錄兩個(gè)結(jié)構(gòu),分別為:界點(diǎn)的坐標(biāo)與上一個(gè)物體到界點(diǎn)的路徑;若當(dāng)前小場(chǎng)景已經(jīng)記錄完成,則去往界點(diǎn),到達(dá)下一個(gè)場(chǎng)景;記錄數(shù)據(jù)結(jié)構(gòu)(lcoord,fet_1,fet2),代表的含義為小場(chǎng)景到另外一個(gè)小場(chǎng)景的界點(diǎn)對(duì),以及兩個(gè)場(chǎng)景的高維度特征;
23、步驟4:導(dǎo)航;
24、給機(jī)器人一個(gè)物體或者場(chǎng)景的描述,而不是固定的目的地描述,機(jī)器人通過這一段描述確定物體或者給定場(chǎng)景的位置,然后查找數(shù)據(jù)庫(kù)進(jìn)行導(dǎo)航;
25、步驟4-1:情況1;
26、步驟4-1-1:給定一個(gè)物體的描述:首先需提取物體的自然語言特征;
27、步驟4-1-2:設(shè)提取到的自然語言物體特征為objectlan,首先需要確定物體所在的小場(chǎng)景。此時(shí)計(jì)算物體與小場(chǎng)景之間的相似度;設(shè)置一個(gè)閾值α,若相似度得分大于α,則將這個(gè)小場(chǎng)景加入預(yù)選場(chǎng)景;若物體的位置就在當(dāng)前場(chǎng)景,跳轉(zhuǎn)到步驟4-1-8;
28、步驟4-1-3:若出現(xiàn)小場(chǎng)景較大,即一個(gè)小場(chǎng)景有多個(gè)特征,則分別計(jì)算與多個(gè)特征的相似度,得分取與這些特征相似度得分的最大值;
29、步驟4-1-4:將多個(gè)小場(chǎng)景按照相相似度得分進(jìn)行排列;
30、步驟4-1-5:按順序計(jì)算小場(chǎng)景內(nèi)部的物體特征與自然語言特征的相似度,并且取得分最大值對(duì)應(yīng)的物體為目標(biāo)物體;
31、步驟4-1-6:在當(dāng)前的場(chǎng)景下,以樹形結(jié)構(gòu)進(jìn)行擴(kuò)散式查找;即查找以當(dāng)前場(chǎng)景為起點(diǎn)的所有界點(diǎn)對(duì),然后以查找到的結(jié)果所在的所有小場(chǎng)景再次進(jìn)行這個(gè)過程;直到查找到對(duì)應(yīng)場(chǎng)景,并且將查找到的界點(diǎn)對(duì)都加入一個(gè)列表;
32、步驟4-1-7:根據(jù)界點(diǎn)對(duì)列表,界點(diǎn)對(duì)表示一個(gè)小場(chǎng)景到另一個(gè)小場(chǎng)景的路徑,到達(dá)一個(gè)小場(chǎng)景的入口,查找下一個(gè)界點(diǎn)對(duì),即當(dāng)前小場(chǎng)景下,到達(dá)下一個(gè)目標(biāo)小場(chǎng)景的界點(diǎn);逐步進(jìn)行這個(gè)過程,直到所有的界點(diǎn)對(duì)查找完畢;
33、步驟4-1-8:到達(dá)相應(yīng)場(chǎng)景后,根據(jù)當(dāng)前界點(diǎn)或者物體的位置,廣播式查找目標(biāo)物體的位置,得到一個(gè)元素為(object1,object2,way)的列表,根據(jù)列表中的way元素,進(jìn)行導(dǎo)航;
34、步驟4-2:情況2;
35、步驟4-2-1:給定一個(gè)場(chǎng)景的描述,提取這個(gè)場(chǎng)景的自然語言特征;
36、步驟4-2-2:設(shè)提取到的自然語言物體特征為objectlan,計(jì)算objectlan與小場(chǎng)景之間的相似度,為了準(zhǔn)確性,設(shè)置一個(gè)閾值α,若相似度得分大于α,則將這個(gè)小場(chǎng)景加入預(yù)選場(chǎng)景;
37、步驟4-2-3:若出現(xiàn)小場(chǎng)景較大,即一個(gè)小場(chǎng)景有多個(gè)特征,則分別計(jì)算與多個(gè)特征的相似度,得分取與這些特征相似度得分的最大值;
38、步驟4-2-4:將多個(gè)小場(chǎng)景按照相相似度得分進(jìn)行排列;
39、步驟4-2-5:在當(dāng)前的場(chǎng)景下,以樹形結(jié)構(gòu)進(jìn)行擴(kuò)散式查找;即查找以當(dāng)前場(chǎng)景為起點(diǎn)的所有界點(diǎn)對(duì),然后以查找到的結(jié)果所在的所有小場(chǎng)景再次進(jìn)行這個(gè)過程;直到查找到對(duì)應(yīng)場(chǎng)景,并且將查找到的界點(diǎn)對(duì)都加入一個(gè)列表;
40、步驟4-2-6:根據(jù)界點(diǎn)對(duì)列表,界點(diǎn)對(duì)表示一個(gè)小場(chǎng)景到另一個(gè)小場(chǎng)景的路徑,到達(dá)一個(gè)小場(chǎng)景的入口,查找下一個(gè)界點(diǎn)對(duì),即當(dāng)前小場(chǎng)景下,到達(dá)下一個(gè)目標(biāo)小場(chǎng)景的界點(diǎn);逐步進(jìn)行這個(gè)過程,直到所有的界點(diǎn)對(duì)查找完畢。
41、優(yōu)選地,所述t1=0.1。
42、本發(fā)明的有益效果如下:
43、1.給出了一種全新的拓?fù)涞貓D表示方式,提高了精度的同時(shí),減小了地圖存儲(chǔ)的成本。
44、2.給出了一種新的場(chǎng)景和物體表示方式,使用軟分類的方式,一直用高維度特征表示物體。
45、3.結(jié)合深度學(xué)習(xí),實(shí)現(xiàn)更加智能化的導(dǎo)航。