黃 露, 朱 明, 張偉峰
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院, 合肥 230022)
基于人工路標(biāo)的室內(nèi)機(jī)器人導(dǎo)航方法①
黃 露, 朱 明, 張偉峰
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院, 合肥 230022)
在室內(nèi)環(huán)境下, 以往的人工路標(biāo)設(shè)計(jì)方案, 其識(shí)別算法復(fù)雜, 準(zhǔn)確率較低, 而且難以滿足實(shí)時(shí)性的要求. 針對(duì)這樣的問(wèn)題, 本文設(shè)計(jì)了兩種新的人工路標(biāo): 定位人工路標(biāo)和糾偏人工路標(biāo), 不僅可以有效地幫助室內(nèi)移動(dòng)機(jī)器人導(dǎo)航定位和糾偏, 而且具有識(shí)別簡(jiǎn)單快速的優(yōu)點(diǎn). 機(jī)器人實(shí)時(shí)識(shí)別定位人工路標(biāo), 并根據(jù)識(shí)別的糾偏人工路標(biāo)來(lái)調(diào)整自身的位置和運(yùn)動(dòng)方向, 使得機(jī)器人可以沿著事先規(guī)劃好的路徑順利前行. 通過(guò)實(shí)驗(yàn)表明, 在室內(nèi)光線較暗、適中、強(qiáng)光三種光線條件下, 兩種人工路標(biāo)識(shí)別準(zhǔn)確率高, 且識(shí)別速度快, 能夠滿足導(dǎo)航實(shí)時(shí)性的要求.
室內(nèi)環(huán)境; 人工路標(biāo); 準(zhǔn)確率; 實(shí)時(shí)性; 移動(dòng)機(jī)器人; 導(dǎo)航
伴隨著室內(nèi)移動(dòng)機(jī)器人研究水平的不斷提高, 其應(yīng)用范圍也越來(lái)越廣泛, 在人們生活和工業(yè)生產(chǎn)中發(fā)揮著重要的作用. 在室內(nèi)移動(dòng)機(jī)器人相關(guān)技術(shù)的研究中, 導(dǎo)航技術(shù)是其研究核心[1]. 在導(dǎo)航過(guò)程中, 常常面臨無(wú)法預(yù)測(cè)的動(dòng)態(tài)環(huán)境變化, 因此, 實(shí)現(xiàn)移動(dòng)機(jī)器人自主導(dǎo)航是一項(xiàng)迫不及待的任務(wù)[2]. 為了實(shí)現(xiàn)這一任務(wù), 首先要解決的是移動(dòng)機(jī)器人實(shí)時(shí)準(zhǔn)確定位的問(wèn)題, 而視覺(jué)導(dǎo)航因其獲取的信息量大, 已經(jīng)逐漸成為移動(dòng)機(jī)器人定位的首選導(dǎo)航方案[3].
目前, 機(jī)器人視覺(jué)導(dǎo)航的定位主要通過(guò)視覺(jué)傳感器獲取環(huán)境中具有明顯特征的路標(biāo)進(jìn)行定位[3], 其中路標(biāo)主要分為自然路標(biāo)和人工路標(biāo). 從大量的文獻(xiàn)來(lái)看,目前基于自然路標(biāo)的視覺(jué)導(dǎo)航[4-7]受環(huán)境不確定因素影響大, 算法復(fù)雜, 相比于自然路標(biāo), 人工路標(biāo)輔助機(jī)器人定位技術(shù), 具有路標(biāo)特征穩(wěn)定、定位算法簡(jiǎn)單等優(yōu)勢(shì)[8], 因此, 近年來(lái)國(guó)內(nèi)外研究人員開(kāi)展了很多研究工作[9-16]. 文獻(xiàn)[9-13]提出了基于二維碼的人工路標(biāo), 雖然該路標(biāo)包含的信息量大, 但是二維碼的識(shí)別速度慢, 難以滿足實(shí)時(shí)性的要求, 而且識(shí)別的準(zhǔn)確率受機(jī)器人與二維碼的距離影響較大. 文獻(xiàn)[14]設(shè)計(jì)了一種AR-mark人工地標(biāo)來(lái)進(jìn)行機(jī)器人視覺(jué)導(dǎo)航, 但是當(dāng)機(jī)器人與人工路標(biāo)的距離大于1.5 m時(shí), 人工路標(biāo)的圖像不清晰, 導(dǎo)致特征點(diǎn)檢測(cè)誤差大, 定位精度低, 可見(jiàn)在這種情況下, 無(wú)法滿足機(jī)器人導(dǎo)航的準(zhǔn)確性和實(shí)時(shí)性. 文獻(xiàn)[15]中采用了一種對(duì)稱矩形結(jié)構(gòu)且含有數(shù)字的彩色人工路標(biāo), 其識(shí)別算法復(fù)雜, 整個(gè)識(shí)別過(guò)程的平均時(shí)間為0.2656 s, 無(wú)法很好地滿足實(shí)時(shí)性的要求. 文獻(xiàn)[16]提出了采用數(shù)字人工路標(biāo)導(dǎo)航的移動(dòng)機(jī)器人, 在不同的應(yīng)用中分別采用批處理濾波器(Batch filter)和遞歸濾波器(Recursive filter)時(shí), 均不能同時(shí)滿足準(zhǔn)確性和實(shí)時(shí)性的要求.
針對(duì)上述問(wèn)題, 為了同時(shí)滿足人工路標(biāo)輔助機(jī)器人定位導(dǎo)航的準(zhǔn)確性和實(shí)時(shí)性, 本文先從人工路標(biāo)的設(shè)計(jì)著手, 設(shè)計(jì)了兩種人工路標(biāo): 糾偏人工路標(biāo)和定位人工路標(biāo)(以下分別簡(jiǎn)稱糾偏路標(biāo)和定位路標(biāo)), 且提出了快速有效的識(shí)別方法. 其中, 糾偏路標(biāo)用于判斷是否需要對(duì)運(yùn)動(dòng)中的機(jī)器人進(jìn)行位置和方向上的調(diào)整; 定位路標(biāo)用于確定機(jī)器人自身所處的目標(biāo)位置, 并且可以被識(shí)別為對(duì)應(yīng)著該位置的路標(biāo)編碼. 室內(nèi)環(huán)境中, 在機(jī)器人所經(jīng)過(guò)的各個(gè)目標(biāo)位置的天花板上, 放置定位路標(biāo), 并且在定位路標(biāo)之間放置糾偏路標(biāo). 根據(jù)機(jī)器人前進(jìn)路徑中各個(gè)定位路標(biāo)對(duì)應(yīng)的路標(biāo)編碼的關(guān)系, 進(jìn)一步提出了路徑規(guī)劃表, 使得機(jī)器人可以沿著事先規(guī)劃好的路徑順利完成導(dǎo)航任務(wù). 最后, 通過(guò)實(shí)驗(yàn)驗(yàn)證了,識(shí)別糾偏路標(biāo)和定位路標(biāo)的快速性和準(zhǔn)確性, 滿足導(dǎo)航準(zhǔn)確性和實(shí)時(shí)性的要求, 因此, 本文提出的基于人工路標(biāo)的室內(nèi)機(jī)器人導(dǎo)航方法具備可行性.
1.1 糾偏人工路標(biāo)的設(shè)計(jì)
本研究中室內(nèi)機(jī)器人采用的是性能良好的步進(jìn)電機(jī), 雖然可以盡可能避免由于兩個(gè)驅(qū)動(dòng)輪轉(zhuǎn)速不同而產(chǎn)生的方向改變, 但是由于機(jī)器人行駛過(guò)程中存在振動(dòng)等干擾因素, 而使機(jī)器人偏離原有的運(yùn)動(dòng)方向, 難以保證其長(zhǎng)距離直線行駛. 因此, 在機(jī)器人偏離原有運(yùn)動(dòng)方向的情況下, 需要對(duì)其進(jìn)行糾正, 保證其能順利到達(dá)目的地. 于是, 本研究設(shè)計(jì)了如圖1所示的糾偏路標(biāo). 糾偏路標(biāo)最外層采用的是黑色圓環(huán)結(jié)構(gòu), 內(nèi)部有一條穿過(guò)圓環(huán)圓心并與圓環(huán)等寬的黑色直線區(qū)域.
圖1 糾偏人工路標(biāo)
1.2 定位人工路標(biāo)的設(shè)計(jì)
本研究設(shè)計(jì)了黑白圓環(huán)結(jié)構(gòu)的定位路標(biāo), 如圖2所示.
圖2 定位人工路標(biāo)
從圖示可見(jiàn), 定位路標(biāo)采用的是同心的黑白圓環(huán)結(jié)構(gòu), 規(guī)定每個(gè)圓環(huán)寬度相等, 而且最外層圓環(huán)是黑色的. 從圓環(huán)結(jié)構(gòu)的最大外圍輪廓到圓心, 由于每個(gè)黑色或白色圓環(huán)對(duì)應(yīng)的寬度是相等的, 按照每個(gè)圓環(huán)對(duì)應(yīng)的寬度, 依次將黑色圓環(huán)區(qū)域識(shí)別為1, 白色圓環(huán)區(qū)域識(shí)別為0, 這樣就會(huì)將各個(gè)定位路標(biāo)識(shí)別為對(duì)應(yīng)的一串二進(jìn)制路標(biāo)編碼. 當(dāng)然, 本文沒(méi)有設(shè)計(jì)全黑圓環(huán)結(jié)構(gòu)的定位路標(biāo), 是防止其與糾偏路標(biāo)均被識(shí)別為全1的二進(jìn)制編碼, 難以區(qū)分開(kāi)來(lái).
當(dāng)需要更多的定位路標(biāo)時(shí), 可以在保證定位路標(biāo)黑白圓環(huán)寬度相等, 以及最外層是黑色圓環(huán)的前提下,增加圓環(huán)的數(shù)目, 就可以達(dá)到增加定位路標(biāo)數(shù)量的目的. 當(dāng)定位路標(biāo)的圓環(huán)數(shù)目為n時(shí), 在定位路標(biāo)的最外層圓環(huán)是黑色的情況下, 本研究最多可以設(shè)計(jì)出定位路標(biāo)的總數(shù)量為Nc, 則Nc=2n-1-1. 顯然, 隨著定位路標(biāo)圓環(huán)數(shù)目的增加, 設(shè)計(jì)的定位路標(biāo)數(shù)量呈指數(shù)變化增加, 從而保證能設(shè)計(jì)出足夠數(shù)量的定位路標(biāo). 在圖2中,本研究選擇定位路標(biāo)的圓環(huán)數(shù)目n=4, 總的定位路標(biāo)總數(shù)量為Nc=7.
1.3 兩種路標(biāo)的安放位置
在室內(nèi)環(huán)境下, 將機(jī)器人經(jīng)過(guò)的各個(gè)轉(zhuǎn)彎路口和需要停駐的位置, 選擇為目標(biāo)位置. 在各個(gè)目標(biāo)位置的天花板上, 設(shè)置相應(yīng)的定位路標(biāo), 使其不易遭到人為因素的破壞. 在各個(gè)定位路標(biāo)之間, 設(shè)置糾偏路標(biāo), 使定位路標(biāo)和糾偏路標(biāo)的中心點(diǎn)位于同一條直線上, 并且使糾偏路標(biāo)的黑色直線區(qū)域垂直于該條直線.
怎么決定兩個(gè)糾偏路標(biāo)之間的距離L, 本文使用機(jī)器人的攝像頭進(jìn)行標(biāo)定, 從而計(jì)算出這個(gè)距離L. 我們使用機(jī)器人自身的攝像頭去采集天花板的圖像, 如圖3所示, 圖像的外圍輪廓是一個(gè)長(zhǎng)為W的矩形, 這時(shí)恰好有一個(gè)糾偏路標(biāo)位于圖像的最左邊, 右邊恰好有一個(gè)糾偏路標(biāo)不落在圖像內(nèi), 在圖像中糾偏路標(biāo)的直徑為D. 這時(shí)在天花板上設(shè)置兩個(gè)糾偏路標(biāo)的距離:
式(1)中d為糾偏路標(biāo)的實(shí)際直徑大小.
圖3 糾偏路標(biāo)距離標(biāo)定示意圖
在采集的圖像中, 機(jī)器人首先要檢測(cè)是否含有人工路標(biāo). 如何從采集的圖像中檢測(cè)到人工路標(biāo), 是識(shí)別人工路標(biāo)的前提. 本文設(shè)計(jì)的兩種人工路標(biāo)采用的都是圓環(huán)結(jié)構(gòu), 于是采用OpenCV應(yīng)用中的霍夫圓變換來(lái)檢測(cè)圖像中是否存在人工路標(biāo). OpenCV應(yīng)用中的霍夫圓變換是一種圓特征提取技術(shù), 作為相對(duì)簡(jiǎn)單的圓檢測(cè)常用方法, 與一般的擬合圓算法比起來(lái), 其優(yōu)點(diǎn)在于:
(1) 與原始的標(biāo)準(zhǔn)霍夫圓變換算法相比, OpenCV應(yīng)用中的霍夫圓變換采用靈活的霍夫梯度法, 將三維的累加平面轉(zhuǎn)化為二維累加平面, 從而減少計(jì)算量, 縮短計(jì)算時(shí)間.
(2) 該方法采用統(tǒng)計(jì)投票的方法, 將圖像空間中較為困難的全局檢測(cè)問(wèn)題轉(zhuǎn)化為參數(shù)空間中相對(duì)容易解決的局部峰值檢測(cè)問(wèn)題. 也就是說(shuō), 工作的重點(diǎn)就是如何更準(zhǔn)確、有效地檢測(cè)出參數(shù)空間中共同投票區(qū)域的投票積累峰值, 提高了算法的執(zhí)行速度, 執(zhí)行起來(lái)效率很高.
(3) 該方法能夠有效解決在三維累加器中產(chǎn)生許多噪聲并使得結(jié)果不穩(wěn)定的稀疏分布問(wèn)題.
(4) 該方法對(duì)噪聲點(diǎn)不敏感, 具有良好的抗干擾能力. 在檢測(cè)圓形目標(biāo)時(shí), 具有受圓形曲線間斷影響小的優(yōu)點(diǎn), 即使目標(biāo)有稍許缺損或者污染也能被正確識(shí)別.
(5) 兩種路標(biāo)的半徑是固定值, 從而能夠準(zhǔn)確、合理地設(shè)置該檢測(cè)方法的半徑參數(shù), 使得圓檢測(cè)速度快、效果好. 由于這兩種人工路標(biāo)都固定在天花板上,所以在采集的圖像中, 這兩種人工路標(biāo)的最大外圍半徑是固定的. 本文設(shè)置定位路標(biāo)與糾偏路標(biāo)的最大外圍半徑不同, 這樣就能通過(guò)檢測(cè)方法的半徑參數(shù), 分別將兩種人工路標(biāo)快速地從采集的圖像中檢測(cè)出來(lái).
綜上可見(jiàn), 本文采用OpenCV應(yīng)用中的霍夫圓變換進(jìn)行檢測(cè)人工路標(biāo)具有合理性. 而且, 圓環(huán)結(jié)構(gòu)的人工路標(biāo)使本文不需要考慮人工路標(biāo)與機(jī)器人的相對(duì)方位,機(jī)器人從各個(gè)方位都可以識(shí)別人工路標(biāo).
2.1 定位路標(biāo)轉(zhuǎn)換成路標(biāo)編碼
機(jī)器人利用攝像頭采集天花板上的圖像, 檢測(cè)存在定位路標(biāo)后, 對(duì)采集的圖像進(jìn)行一系列的圖像處理,得到定位路標(biāo)對(duì)應(yīng)的路標(biāo)編碼. 識(shí)別定位路標(biāo)的具體步驟如下:
(1) 檢測(cè)定位路標(biāo)是否存在: 首先, 合理設(shè)置好霍夫圓變換的半徑參數(shù). 然后, 對(duì)機(jī)器人采集的圖像進(jìn)行灰度處理, 當(dāng)采集的圖像中存在定位路標(biāo)時(shí), 霍夫圓變換就能快速檢測(cè)到定位路標(biāo), 得到定位路標(biāo)中同心圓環(huán)的圓心O和最大外圍輪廓的半徑R.
(2) 二值化操作: 接下來(lái)對(duì)該灰度圖像做二值化處理, 實(shí)現(xiàn)了對(duì)圖像灰度較小和較大的噪聲進(jìn)行了濾波處理, 將圖像上像素點(diǎn)的灰度值設(shè)置為0或255.
(3) 腐蝕和膨脹: 當(dāng)二值化后的圖像區(qū)域有一些誤判的空洞, 散布著一些干擾噪聲, 所得到的物體圖像的輪廓并不光滑, 這樣的情況下, 連續(xù)數(shù)次的腐蝕迭代和相同次數(shù)的膨脹操作后, 可以明顯的達(dá)到改善這種情況的目的, 達(dá)到濾除一定噪聲的目的.
(4) 得到路標(biāo)編碼: 經(jīng)過(guò)上述處理后, 定位路標(biāo)中黑色圓環(huán)區(qū)域的灰度值為0, 白色區(qū)域的灰度值為255.同心圓環(huán)結(jié)構(gòu)的定位路標(biāo)從最大的黑色外圍輪廓到圓心, 按照每個(gè)圓環(huán)對(duì)應(yīng)的寬度, 依次將灰度值為0的黑色圓環(huán)區(qū)域識(shí)別為1, 灰度值為255的白色圓環(huán)區(qū)域識(shí)別為0, 這樣就會(huì)得到一串二進(jìn)制編碼, 即得到定位路標(biāo)對(duì)應(yīng)的路標(biāo)編碼.
圖2中的定位路標(biāo)通過(guò)上述識(shí)別過(guò)程, 分別得到對(duì)應(yīng)的路標(biāo)編碼, 如表1所示.
表1 定位路標(biāo)與路標(biāo)編碼對(duì)應(yīng)表
2.2 糾偏路標(biāo)實(shí)現(xiàn)位置和方向糾正
本文利用糾偏路標(biāo)來(lái)判斷是否需要對(duì)機(jī)器人作位置和運(yùn)動(dòng)方向上的調(diào)整, 具體的步驟如下:
(1) 調(diào)整機(jī)器人的位置: 合理設(shè)置好霍夫圓變換的半徑參數(shù), 并且對(duì)采集的圖像進(jìn)行灰度處理. 當(dāng)采集的圖像中存在糾偏路標(biāo)時(shí), 霍夫圓變換就能快速檢測(cè)到糾偏路標(biāo), 得到糾偏路標(biāo)中同心圓環(huán)的圓心坐標(biāo)(X0,Y0)和最大外圍輪廓的半徑R0. 同時(shí)記錄此時(shí)該采集圖像中心點(diǎn)坐標(biāo)(X1, Y1). 利用糾偏路標(biāo)在采集圖像中的圓心坐標(biāo)(X0, Y0)與圖像中心點(diǎn)坐標(biāo)(X1, Y1)的距離和角度關(guān)系, 判斷是否需要對(duì)機(jī)器人的位置進(jìn)行調(diào)整, 如果需要調(diào)整, 便將機(jī)器人朝著糾偏路標(biāo)的正下方進(jìn)行移動(dòng). 機(jī)器人移動(dòng)的同時(shí), 不斷采集圖像, 反復(fù)進(jìn)行上述過(guò)程, 直到機(jī)器人移動(dòng)到糾偏路標(biāo)的正下方為止.
此時(shí)的機(jī)器人已經(jīng)位于糾偏路標(biāo)的正下方了, 但是方向可能已經(jīng)不朝著下一目標(biāo)位置了. 于是, 需要對(duì)機(jī)器人的方向做出判斷, 并決定是否需要調(diào)整.
(2) 截取糾偏路標(biāo): 再次利用霍夫圓變換就能快速檢測(cè)到糾偏路標(biāo), 得到糾偏路標(biāo)中同心圓環(huán)的圓心坐標(biāo)(X00, Y00)和最大外圍輪廓的半徑R00; 利用圓心坐標(biāo)(X00, Y00)和半徑R00這兩個(gè)參數(shù), 便可以將糾偏路標(biāo)從采集圖像中截取出來(lái), 而不改變它的大小和形狀.
(3) 調(diào)整機(jī)器人方向: 對(duì)截取的糾偏路標(biāo), 使用canny邊緣檢測(cè)算法得到其邊緣輪廓, 再對(duì)其進(jìn)行二值化操作, 然后利用霍夫線變換找到其邊緣輪廓的直線,利用該直線方向與機(jī)器人前進(jìn)方向的夾角關(guān)系, 調(diào)整機(jī)器人的方向.
經(jīng)過(guò)上述步驟的調(diào)整, 機(jī)器人便位于糾偏路標(biāo)的正下方, 而且運(yùn)動(dòng)方向朝著下一定位路標(biāo)了.
3.1 將目標(biāo)位置與定位路標(biāo)綁定
在室內(nèi)各個(gè)目標(biāo)位置的天花板上, 設(shè)置不同的定位路標(biāo), 從而將各個(gè)目標(biāo)位置與定位路標(biāo)進(jìn)行綁定, 建立目標(biāo)位置與定位路標(biāo)一一對(duì)應(yīng)的關(guān)系. 在如圖4所示的室內(nèi)定位路標(biāo)布局圖中, 一共有A、B、C、D、E、F、G七個(gè)目標(biāo)位置, 并在每個(gè)目標(biāo)位置分別對(duì)應(yīng)設(shè)置了圖2中所示的定位路標(biāo), 定位路標(biāo)的地址編碼在圖4中相應(yīng)標(biāo)出, 并且用箭頭標(biāo)注出目標(biāo)位置A到G、A到E和A到F這三條運(yùn)動(dòng)路徑.
圖4 室內(nèi)定位路標(biāo)布局圖
3.2 建立路徑規(guī)劃關(guān)系表
本文將利用目標(biāo)位置與定位路標(biāo)綁定的對(duì)應(yīng)關(guān)系,建立機(jī)器人在室內(nèi)各個(gè)目標(biāo)位置之間的路徑規(guī)劃關(guān)系表. 路徑規(guī)劃關(guān)系表中包含了機(jī)器人經(jīng)過(guò)的路標(biāo)編碼信息、運(yùn)動(dòng)指令及標(biāo)志. 這些運(yùn)動(dòng)指令及標(biāo)志如表2所示. 其中, “AngleValue”表示機(jī)器人轉(zhuǎn)彎的角度值.
表2 運(yùn)動(dòng)指令及標(biāo)志
接下來(lái), 將用路標(biāo)編碼、運(yùn)動(dòng)指令及標(biāo)志描述路徑規(guī)劃關(guān)系, 形成規(guī)劃關(guān)系表, 如表3 所示.
在表3中, 用+連接機(jī)器人經(jīng)過(guò)的每一個(gè)路標(biāo)編碼和將要執(zhí)行的運(yùn)動(dòng)指令及標(biāo)志; 用標(biāo)志A表示機(jī)器人的前進(jìn)方向; 標(biāo)志B表示機(jī)器人返回方向; 用END表示機(jī)器人到達(dá)目的后停止運(yùn)動(dòng); 用BACK表示機(jī)器人到達(dá)目的后再原路返回, 繼續(xù)回到出發(fā)點(diǎn). 當(dāng)機(jī)器人在出發(fā)點(diǎn)和目的地之間往返經(jīng)過(guò)同一人工路標(biāo)時(shí), 可通過(guò)查詢規(guī)劃關(guān)系發(fā)出相對(duì)應(yīng)的正確指令. 比如, 機(jī)器人的運(yùn)動(dòng)路徑是A到E到A, 其運(yùn)動(dòng)方向?yàn)榍斑M(jìn)方向(方向標(biāo)志為A), 當(dāng)它經(jīng)過(guò)剛好經(jīng)過(guò)B位置時(shí), 識(shí)別出了路標(biāo)編碼為1001的定位路標(biāo), 這時(shí)查詢路徑規(guī)劃關(guān)系表, 得到的運(yùn)動(dòng)指令為為R 90 F , 于是機(jī)器人便先右轉(zhuǎn)90度, 再繼續(xù)前進(jìn).
表3 路徑規(guī)劃關(guān)系表
3.3 利用規(guī)劃關(guān)系表導(dǎo)航
在室內(nèi)環(huán)境下, 行進(jìn)中的機(jī)器人采集圖像, 檢測(cè)圖像中是否存在人工路標(biāo). 當(dāng)檢測(cè)到糾偏路標(biāo)存在時(shí), 判斷是否需要對(duì)自身位置和行進(jìn)方向做出調(diào)整, 如果需要, 便進(jìn)行調(diào)整; 當(dāng)檢測(cè)到定位路標(biāo)時(shí), 首先識(shí)別獲得路標(biāo)編碼, 根據(jù)路標(biāo)編碼和自身的運(yùn)動(dòng)方向標(biāo)志, 去查詢規(guī)劃關(guān)系表, 發(fā)出相應(yīng)的運(yùn)動(dòng)指令, 從而按照事先規(guī)劃好的路徑完成導(dǎo)航任務(wù). 這樣的導(dǎo)航過(guò)程, 可用如圖5所示的流程圖表示出來(lái).
本文采用如圖6所示的室內(nèi)機(jī)器人來(lái)完成系統(tǒng)實(shí)驗(yàn). 該機(jī)器人采用步進(jìn)電機(jī)提供動(dòng)力, 使用編碼器反饋機(jī)器人轉(zhuǎn)動(dòng)的角度, 其運(yùn)行速度為0.50 m/s, 并且采用300萬(wàn)像素的攝像頭來(lái)采集天花板圖像, 配備CPU為1.86 GHz、運(yùn)行內(nèi)存為2 GB的PC機(jī). 人工路標(biāo)導(dǎo)航方案的關(guān)鍵在于路標(biāo)能否被較好識(shí)別[9], 因此下面將進(jìn)行兩種路標(biāo)的識(shí)別準(zhǔn)確性和實(shí)時(shí)性的實(shí)驗(yàn).
4.1 定位路標(biāo)識(shí)別實(shí)驗(yàn)
4.1.1 定位路標(biāo)光線干擾實(shí)驗(yàn)
為了不贅述, 本文只展示兩個(gè)定位路標(biāo)在光線強(qiáng)度改變時(shí)的三組實(shí)驗(yàn)效果, 如圖7所示, 這三組實(shí)驗(yàn)機(jī)器人的攝像頭距離天花板都為2.0 m. 在光線強(qiáng)度比較暗的時(shí)候, 采集的圖像如圖7(a1)、圖7(b1)所示; 在光線強(qiáng)度適中的時(shí)候, 采集的圖像如圖7(c1)、圖7(d1)所示;當(dāng)機(jī)器人的攝像頭受到強(qiáng)光照射干擾的時(shí)候, 采集的圖像如圖7(e1)、圖7(f1)所示. 按照2.1節(jié)中識(shí)別定位路標(biāo)的方法, 本文檢測(cè)到定位路標(biāo)的位置, 標(biāo)定出最大的外圍圓輪廓和圓心, 效果圖分別如圖7(a2)、圖7(b2)、圖7(c2)、圖7(d2)、圖7(e2)、圖7(f2)所示. 這兩種定位路標(biāo)都能被正確快速地識(shí)別為相應(yīng)的路標(biāo)編碼1001和1110.
圖5 機(jī)器人導(dǎo)航流程圖
接下來(lái), 在光線較暗、適中、強(qiáng)光干擾三種不同光線條件下, 且機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m的情況下, 分別采集50幅含有定位路標(biāo)的圖像, 又做了對(duì)比實(shí)驗(yàn), 進(jìn)行測(cè)試定位路標(biāo)在光線干擾下的識(shí)別速度和準(zhǔn)確率, 表4給出了實(shí)驗(yàn)數(shù)據(jù).
圖6 室內(nèi)機(jī)器人
圖7 定位路標(biāo)光線干擾實(shí)驗(yàn)效果圖
表4 定位路標(biāo)光線干擾實(shí)驗(yàn)數(shù)據(jù)
4.1.2 定位路標(biāo)背景干擾實(shí)驗(yàn)
為了不贅述, 本文只展示兩個(gè)定位路標(biāo)在天花板背景環(huán)境改變時(shí)的實(shí)驗(yàn)效果. 實(shí)驗(yàn)在光線強(qiáng)度適中的條件下進(jìn)行, 且機(jī)器人的攝像頭距離天花板都為2.0 m.在天花板背景簡(jiǎn)單干凈時(shí), 采集的圖像如圖7(c1)、圖7(d1)所示; 當(dāng)在天花板背景復(fù)雜時(shí), 采集的圖像如圖8(a1)、圖8(b1)所示. 按照2.1節(jié)中識(shí)別定位路標(biāo)的方法, 本文檢測(cè)到定位路標(biāo)的位置, 標(biāo)定出最大的外圍圓輪廓和圓心, 效果圖分別如圖7(c2)、圖7(d2)、圖8(a2)、圖8(b2)所示. 這兩種定位路標(biāo)都能被正確快速地識(shí)別為相應(yīng)的路標(biāo)編碼1001和1110.
圖8 定位路標(biāo)背景干擾實(shí)驗(yàn)效果圖
接下來(lái), 在光線適中且機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m的情況下, 分別在天花板背景簡(jiǎn)單干凈和復(fù)雜的情況下, 采集50幅含有定位路標(biāo)的圖像, 又做了對(duì)比實(shí)驗(yàn), 進(jìn)行測(cè)試定位路標(biāo)在天花板背景環(huán)境干擾下的識(shí)別速度和準(zhǔn)確率, 表5給出了實(shí)驗(yàn)數(shù)據(jù).
表5 定位路標(biāo)背景干擾實(shí)驗(yàn)數(shù)據(jù)
4.2 糾偏路標(biāo)識(shí)別實(shí)驗(yàn)
4.2.1 糾偏路標(biāo)光線干擾實(shí)驗(yàn)
下面將展示糾偏路標(biāo)的光線干擾實(shí)驗(yàn)效果. 這三組實(shí)驗(yàn)機(jī)器人的攝像頭距離天花板都是2.0 m. 在光線比較暗、光線強(qiáng)度適中以及當(dāng)機(jī)器人的攝像頭受到較強(qiáng)燈光照射干擾的時(shí)候, 分別進(jìn)行實(shí)驗(yàn), 采集的圖像經(jīng)過(guò)霍夫圓變換定位后, 標(biāo)定出最大的外圍圓輪廓和圓心, 效果圖分別如圖9(a1)、圖9(b1)、圖9(c1)所示. 在這三種情況下, 分別截取糾偏路標(biāo), 使用canny邊緣檢測(cè)算法得到其邊緣輪廓, 其效果圖分別如圖9(a2)、圖9(b2)、圖9(c2)所示.
圖9 糾偏路標(biāo)光線干擾實(shí)驗(yàn)效果圖
在光線較暗、適中、強(qiáng)光干擾三種不同光線條件下, 且機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m的情況下, 分別采集50幅含有糾偏路標(biāo)的圖像, 進(jìn)行對(duì)比實(shí)驗(yàn), 測(cè)試糾偏路標(biāo)在光線干擾下的識(shí)別速度和準(zhǔn)確率, 表6給出了實(shí)驗(yàn)數(shù)據(jù).
4.2.2 糾偏路標(biāo)背景干擾實(shí)驗(yàn)
下面將展示糾偏路標(biāo)在天花板背景環(huán)境改變時(shí)的識(shí)別實(shí)驗(yàn)效果. 實(shí)驗(yàn)在光線強(qiáng)度適中的條件下進(jìn)行, 且機(jī)器人的攝像頭距離天花板為2.0 m. 在天花板背景復(fù)雜的時(shí)候進(jìn)行實(shí)驗(yàn), 采集的圖像經(jīng)過(guò)霍夫圓變換定位后, 標(biāo)定出最大的外圍圓輪廓和圓心, 效果圖如圖10(a1)所示; 在天花板背景環(huán)境簡(jiǎn)單干凈時(shí), 經(jīng)過(guò)相同的處理后, 對(duì)應(yīng)的效果圖如圖9(b1). 在這三種情況下, 分別截取糾偏路標(biāo), 使用canny邊緣檢測(cè)算法得到其邊緣輪廓,其效果圖分別如圖9(b2)、圖10(a2)所示.
表6 糾偏路標(biāo)光線干擾實(shí)驗(yàn)數(shù)據(jù)
圖10 糾偏路標(biāo)背景干擾實(shí)驗(yàn)效果圖
接下來(lái), 在光線適中且機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m的情況下, 分別在天花板背景簡(jiǎn)單干凈和復(fù)雜的情況下, 采集50幅含有糾偏路標(biāo)的圖像, 又做了對(duì)比實(shí)驗(yàn), 進(jìn)行測(cè)試糾偏路標(biāo)在天花板背景環(huán)境干擾下的識(shí)別速度和準(zhǔn)確率, 表7給出了實(shí)驗(yàn)數(shù)據(jù).
表7 糾偏路標(biāo)背景干擾實(shí)驗(yàn)數(shù)據(jù)
上述的兩組實(shí)驗(yàn)結(jié)果顯示:
(1) 在機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m三種高度和在光線較暗、適中、強(qiáng)光干擾三種光線條件下, 定位路標(biāo)和糾偏路標(biāo)的正確識(shí)別率分別在76%-96%、78%-98%之間, 識(shí)別時(shí)間分別在46 ms-75 ms、43 ms-77 ms之間.
(2) 在機(jī)器人攝像頭距離天花板2.0 m、3.0 m、4.0 m三種高度和在天花板背景簡(jiǎn)單干凈和復(fù)雜的情況下,定位路標(biāo)和糾偏路標(biāo)的正確識(shí)別率分別在90%-96%、86%-98%之間, 識(shí)別時(shí)間分別在46 ms-54 ms、43 ms-52 ms之間.
因此實(shí)驗(yàn)表明, 識(shí)別兩種路標(biāo)的正確率和速率受攝像頭距離路標(biāo)的高度變化、光線條件變化以及天花板背景變化影響較小, 即識(shí)別兩種路標(biāo)的方法對(duì)攝像頭距離路標(biāo)的高度變化、光線變化以及天花板背景變化具有很強(qiáng)的魯棒性, 從而識(shí)別路標(biāo)的正確率和速率完全能夠滿足導(dǎo)航準(zhǔn)確性和實(shí)時(shí)性的要求.
4.3 綜合性能比較
針對(duì)文獻(xiàn)[9-15]和本文設(shè)計(jì)的人工路標(biāo), 結(jié)合各個(gè)實(shí)驗(yàn)平臺(tái)的硬件配置, 在表8中給出了對(duì)比數(shù)據(jù), 其中,“*”表示該文獻(xiàn)中未提高該項(xiàng)數(shù)據(jù), 表中的識(shí)別率和識(shí)別時(shí)間均為平均值.
表8 人工路標(biāo)識(shí)別的綜合性能對(duì)比
針對(duì)基于二維碼的人工路標(biāo), 表8中給出了具有代表性的文獻(xiàn)[10]中的數(shù)據(jù), 在實(shí)驗(yàn)平臺(tái)采用30萬(wàn)像素的攝像頭, CPU主頻為3 GHz、內(nèi)存為512 MB的情況下,識(shí)別路標(biāo)時(shí)間大于2.5 s, 有效識(shí)別距離小于3 m, 可見(jiàn),基于二維碼的路標(biāo)識(shí)別速度慢, 而且有效識(shí)別的距離有限. 文獻(xiàn)[14]中采用的是30萬(wàn)像素的攝像頭, AR-mark人工路標(biāo)的識(shí)別距離同樣有限, 當(dāng)識(shí)別距離大于1.5 m時(shí), 定位精度低, 無(wú)法滿足機(jī)器人導(dǎo)航準(zhǔn)確性的要求. 文獻(xiàn)[15]中在采用30萬(wàn)像素的攝像頭時(shí), 對(duì)稱彩色人工路標(biāo)的平均識(shí)別時(shí)間為0.2656 s, 無(wú)法很好地滿足實(shí)時(shí)性的要求. 文獻(xiàn)[16]提出了采用數(shù)字人工路標(biāo)導(dǎo)航的移動(dòng)機(jī)器人, 實(shí)驗(yàn)平臺(tái)的硬件數(shù)據(jù)在文中沒(méi)有介紹,當(dāng)分別采用批處理濾波器(Batch filter)和遞歸濾波器(Recursive filter)時(shí), 均不能同時(shí)滿足準(zhǔn)確性和實(shí)時(shí)性的要求. 因此, 綜合比較來(lái)說(shuō), 本文在實(shí)驗(yàn)平臺(tái)硬件性能未明顯提高的情況下, 新提出的人工路標(biāo)識(shí)別正確率達(dá)到了89%, 識(shí)別時(shí)間僅為58 ms, 可見(jiàn), 本文提出的基于人工路標(biāo)的室內(nèi)機(jī)器人導(dǎo)航方法完全能夠滿足導(dǎo)航準(zhǔn)確性和實(shí)時(shí)性的要求.
針對(duì)文獻(xiàn)[9-16]中設(shè)計(jì)的人工路標(biāo), 普遍存在準(zhǔn)確率低和識(shí)別速度慢的問(wèn)題, 本研究設(shè)計(jì)了兩種新型的人工路標(biāo): 定位路標(biāo)和糾偏路標(biāo), 并提出了相應(yīng)簡(jiǎn)單快速的識(shí)別方法, 并通過(guò)實(shí)驗(yàn)驗(yàn)證了, 識(shí)別兩種路標(biāo)的方法對(duì)高度變化、光線變化以及天花板背景環(huán)境變化具有很強(qiáng)的魯棒性, 完全能夠滿足導(dǎo)航準(zhǔn)確性和實(shí)時(shí)性的要求. 通過(guò)利用室內(nèi)目標(biāo)位置與定位路標(biāo)之間一一對(duì)應(yīng)關(guān)系, 建立機(jī)器人在室內(nèi)各個(gè)目標(biāo)位置之間的路徑規(guī)劃關(guān)系表. 行進(jìn)中的機(jī)器人當(dāng)檢測(cè)到定位路標(biāo)時(shí),首先識(shí)別獲得路標(biāo)編碼, 然后查詢規(guī)劃關(guān)系表, 發(fā)出相應(yīng)的運(yùn)動(dòng)指令, 從而機(jī)器人就可以沿著事先規(guī)劃好的路徑前行, 完成導(dǎo)航任務(wù). 總之:
(1) 兩種路標(biāo)放置位于室內(nèi)天花板上, 不易遭到人為等因素破壞, 穩(wěn)定性好. 其中, 定位路標(biāo)放置在機(jī)器人需要停駐的位置和經(jīng)過(guò)的路口, 其采用的設(shè)計(jì)結(jié)構(gòu),通過(guò)增加圓環(huán)數(shù)目, 可以產(chǎn)生足夠數(shù)量且唯一的人工路標(biāo), 以保證滿足更大范圍和更多路口的室內(nèi)環(huán)境.
(2) 準(zhǔn)確、實(shí)時(shí)的人工路標(biāo)識(shí)別方法. 不僅人工路標(biāo)識(shí)別距離遠(yuǎn), 而且識(shí)別速度快、準(zhǔn)確率高, 對(duì)高度變化、光線變化以及天花板背景環(huán)境變化具有很強(qiáng)的魯棒性. 在不同光線條件下, 即使機(jī)器人的攝像頭與人工路標(biāo)的距離達(dá)到4.0 m, 仍然能夠準(zhǔn)確實(shí)時(shí)地識(shí)別出人工路標(biāo).
(3) 設(shè)計(jì)了基于路標(biāo)編碼的路徑規(guī)劃關(guān)系表. 當(dāng)機(jī)器人識(shí)別出行走路徑上的定位路標(biāo), 得到路標(biāo)編碼, 查詢規(guī)劃關(guān)系表, 就能獲得接下來(lái)的行走方向, 從而機(jī)器人就可以沿著事先規(guī)劃好的路徑前行, 完成室內(nèi)自主導(dǎo)航任務(wù).
本文下一步將繼續(xù)優(yōu)化人工路標(biāo)的識(shí)別方法, 進(jìn)一步提高在光線昏暗和強(qiáng)光情況下的正確識(shí)別率, 使機(jī)器人在室內(nèi)更好地完成自主導(dǎo)航任務(wù).
1王志文, 郭戈. 移動(dòng)機(jī)器人導(dǎo)航技術(shù)現(xiàn)狀與展望. 機(jī)器人,2003, 25(5): 470–474.
2陸新華, 張桂林. 室內(nèi)服務(wù)機(jī)器人導(dǎo)航方法研究. 機(jī)器人,2003, 25(1): 80–87.
3劉振宇, 姜楠, 張令濤. 基于人工路標(biāo)和立體視覺(jué)的移動(dòng)機(jī)器人自定位. 計(jì)算機(jī)工程與應(yīng)用, 2010, 46(9): 190–192, 211.
4唐琎, 白濤, 蔡自興. 移動(dòng)機(jī)器人的一種室內(nèi)自然路標(biāo)定位法. 計(jì)算機(jī)工程與應(yīng)用, 2005, 41(15): 44–47, 185. [doi:10.3321/j.issn:1002-8331.2005.15.013]
5陳明芽, 項(xiàng)志宇, 劉濟(jì)林. 單目視覺(jué)自然路標(biāo)輔助的移動(dòng)機(jī)器人定位方法. 浙江大學(xué)學(xué)報(bào)(工學(xué)版), 2014, 48(2): 285–291.
6Sun YD, Ding N, Qian HH, et al. Real-time monocular visual self-localization approach using natural circular landmarks for indoor navigation. Proc. 2012 IEEE International Conference on Robotics and Biomimetics(ROBIO). Guangzhou, China. 2012. 495–500.
7Lu Y, Song DZ. Visual navigation using heterogeneous landmarks and unsupervised geometric constraints. IEEE Trans. Robotics, 2015, 31(3): 736–749. [doi: 10.1109/TRO.2015.2424032]
8唐恒博, 陳衛(wèi)東, 王景川. 基于多元M序列的人工路標(biāo)設(shè)置方法. 機(jī)器人, 2014, 36(1): 29–35.
9王孫平, 田喬, 傅世忱, 等. QR碼導(dǎo)航的室內(nèi)目標(biāo)搜尋機(jī)器人研究. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2014, 23(1): 193–196.
10姜海濤, 田國(guó)會(huì), 薛英花, 等. 新型人工地標(biāo)的設(shè)計(jì)、識(shí)別、定位及應(yīng)用. 山東大學(xué)學(xué)報(bào)(工學(xué)版), 2011, 41(2): 107–113, 118.
11George L, Mazel A. Humanoid robot indoor navigation based on 2D bar codes: Application to the NAO robot. Proc.13th IEEE-RAS International Conference on Humanoid Robots (Humanoids). Atlanta, GA, USA. 2013. 329–335.
12Zhang S, Sun L, Dong L, et al. Initial location calibration of home service robot based on 2-dimensional codes landmarks.Proc. 33rd Chinese Control Conference (CCC). Nanjing,China. 2014. 8315–8320.
13Lee SJ, Tewolde G, Lim J, et al. QR-code based Localization for Indoor Mobile Robot with validation using a 3D optical tracking instrument. Proc. 2015 IEEE International Conference on Advanced Intelligent Mechatronics (AIM).Busan, Korea. 2015. 965–970.
14丁娜娜, 田國(guó)會(huì), 李國(guó)棟, 等. 基于人工地標(biāo)的雙足機(jī)器人視覺(jué)自定位. 山東大學(xué)學(xué)報(bào)(工學(xué)版), 2013, 43(4): 51–56.
15Guo Y, Xu XH. Color landmark design for mobile robot localization. Proc. IMACS Multiconference on Computational Engineering in Systems Applications. Beijing, China.2006. 1868–1874.
16Shen JL, Hu HS. Mobile robot navigation through digital landmarks. Proc. 10th Chinese Automation & Computing Society Conference. Liverpool, England. 2004. 117–124.
Navigation Method for Indoor Robot Based on Artificial Landmark
HUANG Lu, ZHU Ming, ZHANG Wei-Feng
(School of Information Science and Technology, University of Science and Technology of China, Hefei 230022, China)
In the indoor environment, the previous artificial landmark design scheme is complex in recognition algorithm with low accuracy, and it is hard to meet the real-time requirements. In view of such problems, two new kinds of artificial landmarks are designed in this paper: location artificial landmark and correction artificial landmark, which can not only help the indoor mobile robot to navigate and rectify, but also have the advantages of simple and rapid identification. The robot can identify location artificial landmark in real time, and adjust its position and movement direction according to the correction artificial landmark, so that the robot can move forward smoothly along the planned path. Experiments show that in dark, moderate, strong light indoors, the recognition of two kinds of artificial landmark is highly accurate and fast,which can meet the requirements of real-time navigation.
indoor environment; artificial landmark; accuracy rate; real time; mobile robot; navigation
黃露,朱明,張偉峰.基于人工路標(biāo)的室內(nèi)機(jī)器人導(dǎo)航方法.計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(7):1–9. http://www.c-s-a.org.cn/1003-3254/5879.html
中科院先導(dǎo)項(xiàng)目課題(XDA06011203)
2016-11-20; 收到修改稿時(shí)間: 2017-01-04