左建朋,蔣 林,1b,李云飛,邵慧超,劉 奇
(1.武漢科技大學(xué) a.冶金裝備及其控制教育部重點實驗室;b.機(jī)器人與智能系統(tǒng)研究院,武漢 430081;2.立得空間信息技術(shù)股份有限公司,武漢 430073)
自主定位是智能移動機(jī)器人能夠在實際場景中執(zhí)行任務(wù)的一個基本前提。對于室內(nèi)的二維環(huán)境主要使用的是自適應(yīng)蒙特卡洛定位(adaptive monte carlo localization,AMCL),是目前常用的激光定位算法[1],但在相似度較高或者環(huán)境前后變化較大的場景中,機(jī)器人會出現(xiàn)定位變慢、甚至出現(xiàn)定位失效的問題,語義SLAM能很好的解決這個問題。蔣林等[2]通過深度學(xué)習(xí)方法提取物體語義進(jìn)行語義地圖構(gòu)建,結(jié)合AMCL算法進(jìn)行粒子濾波重定位研究,通過激光和視覺特征的融合克服了原粒子濾波方法僅利用環(huán)境結(jié)構(gòu)信息進(jìn)行匹配的不足,解決了一些相似場景AMCL定位慢和定位失效的問題,有效的提高了原AMCL定位算法的魯棒性。
語義地圖是語義SLAM中不可缺少的一部分,李秀智等[3]使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行語義識別及標(biāo)記,構(gòu)建了較為初始的2D語義地圖。聶文康等[4]融合激光SLAM算法和深度學(xué)習(xí)的方法,通過坐標(biāo)轉(zhuǎn)換映射將語義信息與環(huán)境柵格地圖進(jìn)行融合,并結(jié)合貝葉斯估計的方法對柵格點物體語義存在與否進(jìn)行增量式估計,得到包含語義信息的二維柵格地圖。XIANG等[5]提出了一種基于DA-RNN網(wǎng)絡(luò)與Kinect Fusion映射技術(shù)[6]相結(jié)合來構(gòu)建三維語義地圖。MCCORMAC等[7]通過組合CNNs和SOTA SLAM系統(tǒng)ElasticFusion構(gòu)建了一個有效的語義3D地圖。趙哲[8]通過將RGB-D場景重建技術(shù)和語義分割技術(shù)相結(jié)合,來構(gòu)建高精度全局場景的語義地圖。高質(zhì)量的語義地圖能使機(jī)器人的語義定位更精準(zhǔn)、更快。
在語義定位的研究中,GAWEL等[9]將關(guān)鍵幀組合成一組三維圖來求解相機(jī)在全局地圖中的位置。TSINTOTAS等[10]通過對輸入的圖片流進(jìn)行動態(tài)分割并聚類來進(jìn)行回環(huán)檢測。ZHANG等[11]利用YOLOv3[12]目標(biāo)檢測算法獲取環(huán)境中關(guān)鍵目標(biāo)的語義信息及其相對位置關(guān)系來進(jìn)行回環(huán)判斷。蔣林等[13]提出了基于墻角信息的語義預(yù)定位結(jié)合AMCL算法,改進(jìn)了粒子濾波的重定位算法,克服了原本粒子濾波方法僅利用環(huán)境結(jié)構(gòu)信息進(jìn)行匹配的不足,有效的提高了原定位算法的魯棒性。當(dāng)在語義定位的過程中存在障礙物遮擋語義物體時,針對語義定位失敗,無法獲得正確的機(jī)器人位姿,如何免疫障礙物的遮擋是急需解決的問題。黃山等[14]將高動態(tài)的障礙物濾除并把有價值的半靜態(tài)障礙物并入地圖中,實現(xiàn)機(jī)器人在動態(tài)環(huán)境中的長時間穩(wěn)定定位。DS-SLAM[15]采用語義分割結(jié)合光流法的方法來降低動態(tài)物體對視覺SLAM的影響。WANG等[16]通過彩色圖像中的光流來檢測動態(tài)物體。張威[17]通過融入動態(tài)物體檢測模塊來提高ORB-SLAM2系統(tǒng)在動態(tài)場景下的適應(yīng)能力,減少動態(tài)特征點對視覺里程計的干擾。
上述這些方法大多需要較高的硬件配置來運(yùn)行較復(fù)雜的計算,對基于二維語義地圖的室內(nèi)重定位研究并不能取得較好的效果。本文提出了一種在語義定位中免疫障礙物遮擋語義物體的方法來提高二維語義地圖中語義物體被遮擋的免疫性能,首先通過語義鏈來確定被遮擋語義物體類別和機(jī)器人所處的區(qū)域,然后使用未被遮擋的語義物體進(jìn)行精確的語義定位,最后再同步結(jié)合AMCL算法與環(huán)境地圖匹配進(jìn)行精確定位。并借助于搭建的機(jī)器人平臺,對所提方法進(jìn)行對比實驗驗證。
智能機(jī)器人在工作的過程中,所處的環(huán)境并非一成不變的,但先驗語義地圖是固定的。當(dāng)語義物體被遮擋時,語義定位將無法實現(xiàn)或存在多個語義定位位姿,導(dǎo)致機(jī)器人在相似環(huán)境下粒子無法快速收斂,定位效率大大下降。本文提出一種免疫障礙物遮擋語義物體的定位算法,算法整體流程如圖1所示。
圖1 免疫遮擋定位算法流程圖
在重定位的過程時,首先通過Kinectv2獲取彩色圖和深度圖,利用SSD目標(biāo)檢測進(jìn)行語義識別,當(dāng)檢測到障礙物時就與建圖時保存的關(guān)鍵幀進(jìn)行相似度匹配,確定相似關(guān)鍵幀,把當(dāng)前幀包含的語義信息與關(guān)鍵幀語義鏈進(jìn)行加權(quán)做差來確定被遮擋物體的類別,將機(jī)器人所識別到的語義信息類別與語義地圖的語義鏈進(jìn)行比較來確定機(jī)器人所處的區(qū)域,通過未被遮擋的高置信度語義物體的深度信息來進(jìn)行語義定位,最后結(jié)合激光定位的方法實現(xiàn)更精確、更快速的定位效果。
加載使用Gmapping算法構(gòu)建的二維柵格地圖和基于目標(biāo)檢測算法構(gòu)建的二維語義地圖。如圖2所示,圖2a為柵格地圖,圖2b為語義地圖。
(a) 柵格地圖 (b) 語義地圖圖2 二維語義地圖
為了方便語義信息的匹配,對語義地圖進(jìn)行了預(yù)處理。預(yù)處理方法:由于每個區(qū)域一定包含墻角語義信息,把墻角語義信息作為基層語義信息,提取墻角周圍的語義信息形成語義鏈,提取范圍為r(m),計算公式為式(1),其中θs為相機(jī)的水平視場角,d為語義信息提取的最大視距,本文使用Kinectv2相機(jī)的最佳觀測距離。
(1)
如圖2b所示,以r為半徑搜索各墻角的語義信息,為不嫌贅余只對圖1b中包含較多語義信息的墻角進(jìn)行搜索。xi和yi表示語義物體對應(yīng)的像素坐標(biāo)(i=0,1,2,3,4分別對應(yīng)墻角、椅子、門、垃圾桶、柜子),各類物體對應(yīng)的數(shù)字表示半徑范圍內(nèi)各個物體的數(shù)量。語義鏈如表1所示。
表1 語義鏈
在構(gòu)建語義地圖時,對滿足關(guān)鍵幀選擇規(guī)則的幀作為關(guān)鍵幀儲存下來[18]。本文關(guān)鍵幀的選擇規(guī)則:
(1)當(dāng)前幀和上一關(guān)鍵幀之間必須有一定的序列間隔;
(2)當(dāng)前幀與之前關(guān)鍵幀相互的共視區(qū)域低于一定范圍;
(3)關(guān)鍵幀有足夠的語義信息和特征,保證特征的豐富性。
如圖3所示關(guān)鍵幀,包含了墻角、門和柜子等語義信息,且和上一幀關(guān)鍵共視區(qū)域較低,有一定的序列間隔,故選為關(guān)鍵幀保存。
圖3 關(guān)鍵幀
當(dāng)機(jī)器人識別到障礙物時,先對當(dāng)前幀進(jìn)行基于詞袋模型的相似度匹配,選出相似度評分最高的關(guān)鍵幀作為相似幀,然后將當(dāng)前幀與相似幀的語義鏈對比來確定被遮擋物體的類別。
1.3.1 相似度匹配
由于相似度匹配直接用兩張圖像特征相加減誤差很大。本文選擇基于詞袋模型的方法,用圖像中的特征來描述一幅圖像。主要步驟為:確定特征對應(yīng)BoW中的單詞,確定當(dāng)前幀中單詞的使用情況,將當(dāng)前幀轉(zhuǎn)換成了一個向量描述;比較不同的向量來確定不同幀之間的相似程度。對于特征的提取本文采用ORB特征提取;本文創(chuàng)建了一個包含多種場景信息的字典,規(guī)模為K=10,d=5。從包含障礙物的關(guān)鍵幀中用ORB提取特征,在字典樹中逐層查找,找到特征對應(yīng)的單詞wx,以向量的形式描述,例如一幀圖像有“人”、“車”、“貓”等單詞,可記為:
Fi=1·w1+1·w2+0·w3
(2)
式中:Fi為第i時刻的一幀圖像,w1、w2、w3分別對應(yīng)單詞“人”、“車”、“貓”。
當(dāng)某個單詞在一副圖像中出現(xiàn)的頻率較高或者頻率較低,它所占的權(quán)重也不同,因此選擇TF-IDF的加權(quán)方式(TF部分的思想是,某單詞在關(guān)鍵幀中經(jīng)常出現(xiàn),它的區(qū)分度就高;IDF的思想是:某單詞在字典中出現(xiàn)的頻率越低,分類圖像時區(qū)分度越高)。在建立字典時計算IDF:統(tǒng)計某個子葉節(jié)點wi中的特征數(shù)量相對于所有特征數(shù)量的比例作為IDF部分。表達(dá)式為:
(3)
式中:n為所有特征的數(shù)量,ni為wi的特征數(shù)量。
TF部分是指某個特征在某幀圖像中出現(xiàn)的頻率,表達(dá)式為:
(4)
式中:mi為圖像Fi中單詞w2出現(xiàn)的次數(shù),m為一共出現(xiàn)的次數(shù)。
單詞wi的權(quán)重為:
ηi=TFi×IDFi
(5)
而對于某一關(guān)鍵幀F(xiàn)i,它的特征點可對應(yīng)到許多單詞wi,構(gòu)成的BoW如下:
Fi={(w1,η1),(w2,η2),…,(wn,ηn)}?vi
(6)
通過詞袋用向量vi表示關(guān)鍵幀F(xiàn)i,相似度計算表達(dá)式為:
(7)
1.3.2 語義鏈匹配
通過目標(biāo)檢測提取關(guān)鍵幀中的語義信息,生成關(guān)鍵幀語義鏈如表2所示,如圖4b所示被遮擋的部分為墻角,基于詞袋模型匹配到的相似幀為關(guān)鍵幀1,被遮擋幀包含了柜子和門,關(guān)鍵幀1也包含了門和柜子,表示當(dāng)前基于詞袋模型相似度匹配的相似幀準(zhǔn)確。
表2 關(guān)鍵幀語義鏈
在確定相似幀匹配正確后,將相似幀和當(dāng)前幀包含的語義鏈信息轉(zhuǎn)換為向量的形式,給每個物體賦不同的權(quán)重(corner=1、door=10、trash=100、chair=1000、cabinet=10 000),進(jìn)行語義鏈的對比,確定被遮擋的語義物體類別,式(8)和(9)所示。
A=1·door+0·chair+1·corner+0·trash+1·cabinet
(8)
B=1·door+0·chair+0·corner+0·trash+1·cabinet
(9)
T=A-B
(10)
式中:A為相似幀,B為當(dāng)前幀。按照式(10)T的值來確定被遮擋的物體類別,當(dāng)T=1時,被遮擋的物體類別為墻角;當(dāng)T=10時,被遮擋的物體類別為門;當(dāng)T=100時,被遮擋的物體類別為垃圾桶;當(dāng)T=1000時,被遮擋的物體類別為椅子;當(dāng)T=10 000時,被遮擋的物體類別為柜子。
確認(rèn)被遮擋語義物體的類別后,給該語義物體的語義信息賦低置信度;通過目標(biāo)檢測算法直接識別到的語義信息賦高置信度,使用高置信度的語義信息進(jìn)行語義定位。如圖4b所示當(dāng)墻角被遮擋時,使用門和柜子進(jìn)行語義定位,求解兩圓的交點即為機(jī)器人的位置如圖4a所示。其中C1為查表1獲得門的中心坐標(biāo),R1為通過深度相機(jī)獲取的機(jī)器人到門的距離,C2為柜子的中心坐標(biāo),R2為深度相機(jī)獲取的機(jī)器人到柜子的距離值。其半徑的幾何關(guān)系式如式(11)和式(12)所示。
(11)
(12)
(13)
(14)
pose=C1+an‖±hn⊥
(15)
(16)
式中:定義一個從C1-C2單位方向向量n‖,n⊥為n‖的單位法向量。
求出機(jī)器人的可能位置pose1和pose2后,通過確定該點是否在柵格地圖中的空閑區(qū)域來判斷該點是否為機(jī)器人的實際位姿(xt,yt),該點在空閑位置,則該點為機(jī)器人的實際位姿;反之則排除。對于機(jī)器人的偏航角θt,則通過機(jī)器人與語義物體的夾角θ1和語義物體與地圖正x方向的夾角θ2來求解,如圖5a所示,如式(17)和式(18)所示。
(a) 柵格地圖坐標(biāo)系下航向角(b) 機(jī)器人坐標(biāo)系下θ表示圖5 航向角求解
θt=θ2-θ1
(17)
θ1=θ-90
(18)
式中:θ為圖5b映射的機(jī)器人坐標(biāo)系下語義物體中心與正x軸的夾角。
到此語義定位完成,將語義定位的機(jī)器人位姿(xt,yt,θt)結(jié)合AMCL激光定位算法對粒子集更新進(jìn)行精定位。
本文所用的移動機(jī)器人實驗平臺為實驗室自主學(xué)習(xí)和開發(fā)的一款移動機(jī)器人,在Ubuntu16.04系統(tǒng)下配有ROS機(jī)器人系統(tǒng),安裝Caffe深度學(xué)習(xí)框架用于深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練測試;選用性能穩(wěn)定的SICK lms111單線激光雷達(dá)傳感器和kinectv2深度相機(jī)。借助開發(fā)的移動機(jī)器人平臺,對本文提出的基于語義地圖的免疫障礙物遮擋語義物體的重定位算法進(jìn)行實驗驗證。圖6a為實驗環(huán)境;圖6b為構(gòu)建的柵格地圖,其中2和3為相似環(huán)境。
(a) 實驗環(huán)境圖 (b) 實驗環(huán)境柵格地圖圖6 實驗環(huán)境
當(dāng)存在動態(tài)障礙物遮擋語義物體時,運(yùn)行文獻(xiàn)[13]的語義定位算法時,機(jī)器人視角圖如圖7a所示,用反光柱模擬障礙物遮擋垃圾桶。在圖6b所示3區(qū)域原地旋轉(zhuǎn)進(jìn)行定位,通過SSD目標(biāo)檢測只能識別到墻角和柜子,查找對應(yīng)的語義鏈表1,發(fā)現(xiàn)4個區(qū)域均包含了墻角和柜子,無法確定機(jī)器人處于哪一個區(qū)域環(huán)境下,故只能通過機(jī)器人與墻角的相對距離和與柜子的相對距離來確定機(jī)器人的位姿,通過求解的位姿是否在地圖空閑區(qū)域內(nèi)來確定機(jī)器人的實際位姿,結(jié)果如圖7b所示;機(jī)器人的位姿可能在1、3、4三個區(qū)域,無法通過該語義定位算法來獲取機(jī)器人所在的區(qū)域和真實的位姿。
(a) 機(jī)器人視角圖 (b) 語義定位位姿圖7 遮擋垃圾桶文獻(xiàn)[13]語義定位結(jié)果
在該場景下,運(yùn)行本文算法,首先通過SSD目標(biāo)檢測識別到障礙物如圖8a所示,其次通過與之前保存的關(guān)鍵幀進(jìn)行基于詞袋模型的相似度匹配,當(dāng)前幀與關(guān)鍵幀3相似度匹配得分最高,初步判斷相似幀為關(guān)鍵幀3如圖8b所示,將當(dāng)前幀和關(guān)鍵幀包含的語義鏈信息進(jìn)行檢驗,當(dāng)前幀包含了柜子和墻角,相似幀也包含了柜子和墻角,故確定相似匹配正確;再次將關(guān)鍵幀和當(dāng)前幀的語義鏈進(jìn)行賦值加權(quán),依據(jù)式(8)~式(10)計算T=100,因此確定被障礙物遮擋的語義物體為垃圾桶,如圖8c所示;然后通過查找語義鏈表1來查找包含墻角、柜子和垃圾桶語義信息的區(qū)域,確定機(jī)器人處在3區(qū)域;最后在進(jìn)行精確的位姿確定,由于垃圾桶被遮擋了,其深度信息并不準(zhǔn)確,把垃圾桶的定位置信度置為0,通過墻角和柜子進(jìn)行語義定位如圖8d所示,語義定位結(jié)果如圖8e所示。
(a) 識別到障礙物 (b) 相似幀(c) 當(dāng)前幀語義信息
(d) 位姿求解 (e) 語義定位位姿圖8 遮擋垃圾桶本文語義定位結(jié)果
在2區(qū)域?qū)σ巫舆M(jìn)行遮擋,由于椅子的體積較大反光柱無法完全遮擋椅子,把椅子移走,將反光柱放在環(huán)境中椅子的位置上,模擬椅子被障礙物遮擋,機(jī)器人視角如圖9a所示;文獻(xiàn)[13]的語義定位結(jié)果為圖9b所示。
(a) 機(jī)器人視角圖 (b) 語義定位位姿圖9 遮擋椅子文獻(xiàn)[13]語義定位結(jié)果
當(dāng)運(yùn)行本文算法時,首先識別到障礙物如圖10a所示,其次匹配相似幀為關(guān)鍵幀2如圖10b所示;再次將關(guān)鍵幀和當(dāng)前被遮擋幀的語義鏈進(jìn)行賦值加權(quán),依據(jù)式(8)~式(10)計算求解T=1000,因此確定被遮擋部分的語義物體為椅子如圖10c所示;然后在語義鏈表1中查找包含柜子、墻角和椅子語義信息的區(qū)域,確定機(jī)器人在2區(qū)域;最后使用墻角和椅子到機(jī)器人的相對距離進(jìn)行位姿求解如圖10d所示,其語義定位的正確位姿如圖10e所示。
(a) 識別到障礙物 (b) 相似幀 (c) 當(dāng)前幀語義信息
(d) 位姿求解 (e) 語義定位位姿圖10 遮擋椅子本文語義定位算法結(jié)果
綜上兩組對比實驗,本文算法相對文獻(xiàn)[13]能夠免疫動態(tài)障礙物遮擋語義物體的影響,能得到正確的語義定位位姿,本文語義定位算法擁有更高的魯棒性,為后續(xù)機(jī)器人再同步結(jié)合AMCL算法與環(huán)境地圖匹配進(jìn)行精定位提供了有效的先驗位姿信息。
在3區(qū)域用反光柱模擬障礙物遮擋墻角,進(jìn)行融合語義定位的AMCL重定位算法實驗。當(dāng)沒有檢測到語義信息時,機(jī)器人在3區(qū)域內(nèi)原地旋轉(zhuǎn)進(jìn)行定位。開始時如圖11a均勻分布粒子,控制機(jī)器人開始運(yùn)動,隨著機(jī)器人獲得的傳感器數(shù)據(jù)與地圖進(jìn)行匹配,粒子收斂如圖11b和圖11c所示,粒子逐漸向兩個相似區(qū)域2和3收斂。由于環(huán)境較相似,真實位姿下得到的激光數(shù)據(jù)在多個假設(shè)位姿下與地圖匹配較均衡,導(dǎo)致假位姿粒子無法消失,隨著機(jī)器人的不斷運(yùn)動粒子依然無法收斂。
(a) 均勻分布粒子 (b) 粒子迭代 (c) 粒子迭代 (d) 粒子收斂圖11 本文算法粒子收斂過程
當(dāng)圖11c之后通過SSD目標(biāo)檢測識別到障礙物如圖12a后,進(jìn)行相似度匹配確定相似幀為關(guān)鍵幀3如圖12b,當(dāng)前幀包含了垃圾桶和柜子語義信息,關(guān)鍵幀中也包含,故確定相似幀為3;將關(guān)鍵幀和當(dāng)前幀的語義鏈進(jìn)行賦值加權(quán),依據(jù)式(8)~式(10)計算得T=1,由此確定被遮擋部分的物體類別為墻角如圖12c所示;查找語義鏈表1確定機(jī)器人處在3區(qū)域;在3區(qū)域使用柜子和垃圾桶進(jìn)行語義定位如圖12d所示,求出滿足條件的交點坐標(biāo),在柵格地圖中語義定位結(jié)果如圖12e所示。把當(dāng)前語義定位的位姿發(fā)送給AMCL,重新融合當(dāng)前粒子集計算權(quán)重并更新系數(shù),進(jìn)行粒子二次權(quán)重的更新,將語義定位的位姿附近粒子權(quán)重增加,多次重采樣后粒子逐漸集中在真實位姿附近,機(jī)器人最終定位成功如圖11d所示。
(a) 識別到障礙物 (b) 相似幀 (c) 當(dāng)前幀語義信息
(d) 位姿求解 (e) 語義定位位姿圖12 遮擋墻角本文語義定位結(jié)果
為了進(jìn)一步說明本文定位算法進(jìn)行重定位能有效的提高重定位的魯棒性。在隨意遮擋墻角、垃圾桶和椅子等語義物體的條件下進(jìn)行30組重定位實驗,實驗結(jié)果如表3所示。由于實驗場景較相似,原始的AMCL算法僅利用激光雷達(dá)觀測模型與柵格地圖匹配概率來更新粒子的權(quán)重,粒子無法準(zhǔn)確收斂,重定位成功率僅為40%;使用文獻(xiàn)[13]算法加載語義地圖進(jìn)行重定位時,由于存在障礙物遮擋語義物體,進(jìn)行語義定位可能獲得多個先驗位姿,粒子可能聚集在錯誤的區(qū)域,導(dǎo)致機(jī)器人重定位失敗,其重定位成功率為60%;使用本文算法加載語義地圖進(jìn)行重定位,當(dāng)檢測到障礙物時,首先通過相似度匹配和語義鏈查找來確定被遮擋的語義物體的類別,然后確定機(jī)器人所處的區(qū)域,粒子能夠聚集到正確的房間中,粒子能夠很快的收斂,最后機(jī)器人定位成功,其重定位成功率為90%,失敗的案例是發(fā)生了誤識別,把窗子識別成了門,從而導(dǎo)致定位失敗。以上數(shù)據(jù)表明本文的免疫遮擋定位算法能夠提高機(jī)器人重定位的魯棒性。
表3 實驗結(jié)果對比
為了驗證本文算法機(jī)器人重定位速度快慢,在3區(qū)域不遮擋垃圾桶和遮擋垃圾桶進(jìn)行實驗。分別使用本文算法、文獻(xiàn)[13]方法和原AMCL進(jìn)行重定位,在3種定位方法都能夠成功地情況下進(jìn)行比較,記錄每次重采樣后的粒子的均權(quán)重。圖13和圖14分別為無障礙物遮擋和有障礙物遮擋垃圾桶的粒子均權(quán)重變化圖。
圖13 無遮擋時粒子收斂對比圖 圖14 墻角被遮擋粒子收斂對比圖
從圖13可以看出,垃圾桶未被遮擋的情況下本文定位算法和文獻(xiàn)[13]算法由于加載了語義地圖進(jìn)行語義定位,粒子在迭代16次后均權(quán)重趨于穩(wěn)定,此時粒子收斂成功;而原始AMCL由于2區(qū)域和3區(qū)域較相似,粒子均權(quán)重一直不能上升,直到第30次迭代,粒子均權(quán)重開始上升,第50次開始區(qū)域穩(wěn)定,粒子成功收斂。當(dāng)垃圾桶被遮擋時,由于本文算法能通過語義鏈判斷出被遮擋的語義物體的類別,進(jìn)而確定機(jī)器人所處的區(qū)域,依據(jù)其他高置信度的語義信息進(jìn)行語義定位。
從圖14可以看出,粒子在第18次迭代后均權(quán)重趨于穩(wěn)定,此后粒子收斂成功;文獻(xiàn)[13]算法雖然也加載了語義地圖,但由于語義物體垃圾桶被遮擋,語義定位結(jié)果如圖7b所示,存在多個位置的語義預(yù)定位結(jié)果,而且所處環(huán)境較相似,粒子均權(quán)重?zé)o法快速上升,直到第29次迭代后粒子均權(quán)重迅速上升,最后在第40次迭代后趨于穩(wěn)定,機(jī)器人定位成功;原AMCL算法在本文相似環(huán)境下,開始粒子均權(quán)重一直無法快速上升,直到迭代50次后粒子均權(quán)重趨于穩(wěn)定,機(jī)器人定位成功。
該實驗說明,在相同條件下,融合視覺語義定位能夠有效提高定位的速度,相比原始AMCL算法粒子收斂速度提高了60%;當(dāng)語義環(huán)境中存在動態(tài)障礙物遮擋關(guān)鍵語義信息時,依靠語義鏈能夠免疫障礙物的影響,本文算法的定位速率相對文獻(xiàn)[13]提高了38%,說明了本文算法能夠使機(jī)器人在更加復(fù)雜的環(huán)境下完成語義定位,進(jìn)一步提高機(jī)器人重定位的速度。
為了解決存在障礙物遮擋語義物體而導(dǎo)致語義定位算法失效或產(chǎn)生多個定位位姿的問題,本文提出了一種免疫障礙物遮擋的語義定位算法,首先利用基于詞袋模型的相似度匹配和通過語義向量鏈加權(quán)做差確定被遮擋的語義物體的類別,其次通過查找對應(yīng)的地圖語義鏈確定機(jī)器人處在哪個區(qū)域,然后使用其它未被遮擋的高置信度語義信息來進(jìn)行語義定位,最后結(jié)合AMCL定位算法來進(jìn)行精確的重定位,讓機(jī)器人能在復(fù)雜相似環(huán)境下更快速實現(xiàn)重定位。通過移動機(jī)器人在現(xiàn)實場景下的實驗,證明了本文算法能夠免疫障礙物遮擋語義信息進(jìn)行語義定位,提高了機(jī)器人定位的速度和魯棒性。