唐小煜,勞健濤,李智豪,蒲小年,戚慧珊,胡靜宜
(華南師范大學(xué) 物理與電信工程學(xué)院,廣東 廣州 510006)
近年來(lái),隨著人工智能等高新技術(shù)的發(fā)展與自動(dòng)化控制的普及,智能化消費(fèi)電子產(chǎn)品越發(fā)受到消費(fèi)者的青睞. 在市場(chǎng)方面,機(jī)器視覺(jué)系統(tǒng)在全球的生產(chǎn)制造中扮演著越來(lái)越重要的角色,其應(yīng)用深入覆蓋于工業(yè)、農(nóng)業(yè)、國(guó)防、科研等重要行業(yè). 同時(shí),在教育領(lǐng)域,越來(lái)越多的高校開(kāi)展自動(dòng)化專業(yè)的學(xué)科教學(xué)以及與自動(dòng)化系統(tǒng)相關(guān)的科研項(xiàng)目. 其中,關(guān)于自動(dòng)導(dǎo)航智能車項(xiàng)目的研究與競(jìng)賽受到各類高校的重視. 由中國(guó)高等教育學(xué)會(huì)發(fā)布的《中國(guó)高校創(chuàng)新人才培養(yǎng)暨學(xué)科競(jìng)賽評(píng)估結(jié)果》中,全國(guó)大學(xué)生智能汽車競(jìng)賽被納入評(píng)估名單. 本文以追尋特殊發(fā)光信標(biāo)為行駛目標(biāo)的智能車為例,提出了適用于各類智能車競(jìng)賽的高效、低誤判的最優(yōu)導(dǎo)航策略.
在國(guó)內(nèi)外的大中學(xué)生參加的各類智能車競(jìng)賽中,競(jìng)賽成績(jī)的高低往往取決于如何在硬件資源有限的情況下,智能小車能夠?qū)崿F(xiàn)自主導(dǎo)航,并且在最短時(shí)間內(nèi)完成所有賽道. 顯然,在追求完成時(shí)間最短的目標(biāo)下,智能車能夠無(wú)誤判地順利完成所有賽道點(diǎn)是對(duì)參賽選手的基本要求. 本文以全國(guó)大學(xué)生智能汽車競(jìng)賽官方指定的競(jìng)賽專用裁判系統(tǒng)[1]為例(如圖1所示),分析在該信標(biāo)系統(tǒng)下的智能車最優(yōu)導(dǎo)航策略.
圖1 競(jìng)賽場(chǎng)地信標(biāo)系統(tǒng)布置圖
由于競(jìng)賽所用的信標(biāo)散發(fā)紅光與紅外光作為光信號(hào),為更好地區(qū)分不發(fā)光信標(biāo)與發(fā)光信標(biāo)的位置,采取在智能車CMOS攝像頭上安裝紅光濾光片的策略,使得攝像頭下采集的圖像,經(jīng)二值化處理后能夠較清晰地分辨出發(fā)光信標(biāo)與背景[2]. 但在實(shí)際使用時(shí),由于外界太陽(yáng)光或信標(biāo)光線的反射等不可控因素的存在,攝像頭采集的圖像中會(huì)出現(xiàn)多個(gè)類似實(shí)際發(fā)光信標(biāo)的白色區(qū)域塊. 為此,進(jìn)一步采用基于連通域圖像的掃描算法,對(duì)攝像頭圖像進(jìn)行掃描與濾波,從而得出正確的發(fā)光信標(biāo)位置.
對(duì)于攝像頭采集的圖像(已經(jīng)進(jìn)行二值化處理)進(jìn)行2次逐行掃描(自上至下、自左至右),用四鄰域法(圖2)判斷當(dāng)前像素點(diǎn)是否與已經(jīng)掃描的白點(diǎn)相鄰. 對(duì)于第1次掃描(圖3),若當(dāng)前白點(diǎn)不存在與已經(jīng)掃描白點(diǎn)相鄰,則給予該像素點(diǎn)1個(gè)自增的label;若存在相鄰,則給予與該像素點(diǎn)相鄰的最小label值,并且將存在相鄰點(diǎn)的label值存于1個(gè)數(shù)組(數(shù)組數(shù)與連通區(qū)域塊數(shù)相同). 對(duì)于第2次掃描(圖4),將同一數(shù)組里的label值的點(diǎn)更換為最小的label值,使得相同label值的點(diǎn)為同一連通域的點(diǎn),從而可以準(zhǔn)確標(biāo)記出不同的連通區(qū)域塊.
圖2 四鄰域圖
圖3 第1次掃描label圖
圖4 第2次掃描label圖
由于信標(biāo)的大小、攝像頭的型號(hào)、安裝高度及角度等參量在賽前已經(jīng)固定,因此可以建立關(guān)于信標(biāo)大小、形狀與其在圖像中位置的關(guān)系表,通過(guò)對(duì)多個(gè)連通域一一比對(duì),即可得出發(fā)光信標(biāo)的正確位置. 實(shí)驗(yàn)效果如圖5所示,其中十字標(biāo)記為正確發(fā)光信標(biāo)中心點(diǎn).
圖5 信標(biāo)掃描算法實(shí)際效果圖
2.2.1 追尋路線規(guī)劃
智能車所追尋的發(fā)光信標(biāo)為直徑10 cm的半球體,與其相連的是直徑45 cm的圓形線圈,以便讓帶磁鐵的智能車切割線圈內(nèi)磁感線. 根據(jù)線圈內(nèi)磁場(chǎng)的變化,信標(biāo)系統(tǒng)則判斷為智能車尋到該發(fā)光信標(biāo),以此來(lái)點(diǎn)亮另1個(gè)信標(biāo). 因此,智能車如何以最短路徑到達(dá)發(fā)光信標(biāo)的邊緣以及如何轉(zhuǎn)向?qū)ふ蚁?個(gè)發(fā)光信標(biāo)成為了路線規(guī)劃的重點(diǎn).
在尋找到發(fā)光信標(biāo)后,首先判斷當(dāng)前信標(biāo)位于攝像頭視野的哪一側(cè),以最短直線路徑[3]切過(guò)線圈該側(cè),固定最小轉(zhuǎn)角,在轉(zhuǎn)角過(guò)程中尋找下1個(gè)發(fā)光信標(biāo),重復(fù)上述路線行駛. 以小車在發(fā)光信標(biāo)左側(cè)為例,其路線規(guī)劃如圖6所示.
圖6 路線規(guī)劃圖
2.2.2 直線路線規(guī)劃
廣角攝像頭的視角和安裝角度會(huì)造成賽道圖像的梯形畸變,如圖7所示. 由于攝像頭視野下的發(fā)光信標(biāo)為圓形光斑,在智能車行進(jìn)過(guò)程中光斑會(huì)出現(xiàn)不同程度的畸變,尤其是水平上的畸變程度會(huì)隨位置的不同而不同,導(dǎo)致在傳統(tǒng)PID[4]調(diào)節(jié)舵機(jī)的情況下,智能車駛向信標(biāo)的路線為曲線. 為使智能車駛向信標(biāo)的路線為最短直線路線,采用基于映射關(guān)系的畸形矯正算法[5],通過(guò)映射公式對(duì)發(fā)光信標(biāo)的圖像進(jìn)行畸變矯正,可以得出正視圖下的信標(biāo)位置,使得小車能夠在傳統(tǒng)PID的舵機(jī)調(diào)節(jié)下以最短直線路徑切向發(fā)光信標(biāo),達(dá)到追尋信標(biāo)效率最優(yōu).
圖7 圖像畸變對(duì)比圖
在多個(gè)信標(biāo)的賽場(chǎng)上,追尋發(fā)光信標(biāo)的線路上可能出現(xiàn)障礙物,如不發(fā)光信標(biāo)、墻壁等,且不同類型的障礙物需不同的處理算法,如圖8所示.
圖8 常見(jiàn)避障情景及避障處理圖
智能車在識(shí)別障礙物上有多種方法,如采用超聲波、紅外對(duì)管等傳統(tǒng)的避障傳感器. 該類傳感器實(shí)現(xiàn)避障的方法簡(jiǎn)單,但對(duì)于在快速運(yùn)動(dòng)車體上的識(shí)別、曲面物體的識(shí)別與障礙物類型的識(shí)別還是存在較大誤差. 智能車還常采用基于圖像處理的障礙物識(shí)別傳感器,如CMOS攝像頭,但該類攝像頭占據(jù)的硬件資源較多,同時(shí)由于智能車已使用1個(gè)帶紅外濾光片的攝像頭用于發(fā)光信標(biāo)識(shí)別,這會(huì)大大增加中央處理芯片的處理數(shù)據(jù),對(duì)整體智能車的運(yùn)行速度造成較大影響. 為此,經(jīng)實(shí)際測(cè)試,采用線陣CCD攝像頭[6]與接近開(kāi)關(guān)相結(jié)合的方法作為最終的避障策略,其視野范圍如圖9所示,灰色為用于尋信標(biāo)的CMOS攝像頭視野,紅色為避障傳感器視野,分別為接近開(kāi)關(guān)與線陣CCD作用區(qū)域. 其傳感器安裝如圖10所示,自上至下分別為帶紅外濾光片的CMOS攝像頭、線陣CCD攝像頭以及接近開(kāi)關(guān).
圖9 智能車傳感器作用區(qū)域圖
圖10 智能車傳感器安裝實(shí)物圖
由于智能車在尋找發(fā)光信標(biāo)上為獲得較大范圍的視野,其帶紅外濾光片的CMOS攝像頭的傾斜角度較大,以獲得較遠(yuǎn)的前瞻以及較寬的廣角范圍,但遠(yuǎn)前瞻視野會(huì)導(dǎo)致智能車存在較大的視野盲區(qū)(位于智能車前部). 為此,用接近開(kāi)關(guān)傳感器來(lái)彌補(bǔ)此缺點(diǎn),同時(shí)可以檢測(cè)持續(xù)性的障礙特征,如堵在信標(biāo)、擋板等情況,而做出后退或大角度拐角處理,防止了因阻塞狀態(tài)帶來(lái)的邏輯死區(qū). 同時(shí),基于線陣CCD攝像頭的避障策略主要用于躲避不發(fā)光信標(biāo)等障礙物. 相比于80×60像素的CMOS攝像頭,僅有128個(gè)像素點(diǎn)的線性CCD傳感器所處理的數(shù)據(jù)量會(huì)大幅減少,且CCD所占用的引腳資源也較少,可以在影響智能車整體運(yùn)行速度較小的情況下,達(dá)到避障的目的.
采用一般追尋策略與本文提出的策略進(jìn)行智能車測(cè)試,驗(yàn)證該追尋策略的高效性與低誤判性.
將智能車置于存在場(chǎng)外光線影響的場(chǎng)地,使用CMOS攝像頭采集場(chǎng)地圖像,如圖11和圖12所示,分別采用連通域圖像掃描算法以及一般的全掃描算法進(jìn)行測(cè)試.
圖11 場(chǎng)地圖像1
圖12 場(chǎng)地圖像2
通過(guò)測(cè)試可知,基于連通域圖像的掃描算法可準(zhǔn)確識(shí)別出不同的聯(lián)通區(qū)域,并且可準(zhǔn)確標(biāo)記出正確信標(biāo)的中心點(diǎn);而一般的全掃描算法無(wú)法正確分辨出多個(gè)聯(lián)通區(qū)域,若采用隨機(jī)選取聯(lián)通區(qū)域或取所有白色區(qū)域平均值,會(huì)出現(xiàn)信標(biāo)中心值判斷錯(cuò)誤的情況,且誤判率高.
將智能車置于如圖13所示的賽道場(chǎng)景中,按照信標(biāo)的發(fā)光順序依次行駛,分別采用固定左向切燈策略、固定右向切燈策略及本文提出的路徑規(guī)劃策略,記錄智能車完成所有賽道點(diǎn)的總時(shí)間. 經(jīng)過(guò)多次實(shí)際測(cè)試,使用固定切向策略的賽道完成時(shí)間都超過(guò)23 s,固定左右切向分別23.16 s和25.33 s;而使用本文提及的路徑策略,在行駛總路線上減少了5 m以上,且最終完成的時(shí)間為17.95 s,提高了智能車的行駛效率.
圖13 賽道場(chǎng)景1
將智能車置于如圖14所示的賽道場(chǎng)景中,按照信標(biāo)的發(fā)光順序依次行駛,分別采用無(wú)避障策略、CMOS攝像頭避障策略以及本文提出的避障策略,記錄智能車完成所有賽道點(diǎn)的總時(shí)間. 經(jīng)過(guò)多次實(shí)際測(cè)試,無(wú)避障策略在駛向第5個(gè)信標(biāo)時(shí)出現(xiàn)誤撞不發(fā)光信標(biāo)而造成智能車行駛效率低下,甚至無(wú)法完成所有賽道點(diǎn);在使用CMOS攝像頭避障策略時(shí),由于其程序執(zhí)行的數(shù)據(jù)量明顯增多,算法執(zhí)行效率低,導(dǎo)致智能車速度更新變慢,切向轉(zhuǎn)角距離增大. 使用CMOS攝像頭避障策略的智能車的行駛時(shí)間為18.11 s,相比于使用本文提及的避障策略的16.23 s多出接近2 s.
圖14 賽道場(chǎng)景2
提出了適用于智能車競(jìng)賽上使用的追尋信標(biāo)導(dǎo)航策略,其中包含了基于連通域的信標(biāo)掃描算法、路線規(guī)劃以及避障策略等一系列的智能車駛向策略. 該策略適合運(yùn)用在基于多傳感器、單處理器控制下的智能車系統(tǒng),可以類比應(yīng)用到不同賽制的智能車競(jìng)賽,具有運(yùn)行速度高、誤判率低等特點(diǎn),可以滿足參賽選手的備戰(zhàn)需求與培訓(xùn)教學(xué)需要.