唐小煜,勞健濤,李智豪,蒲小年,戚慧珊,胡靜宜
(華南師范大學 物理與電信工程學院,廣東 廣州 510006)
近年來,隨著人工智能等高新技術的發展與自動化控制的普及,智能化消費電子產品越發受到消費者的青睞. 在市場方面,機器視覺系統在全球的生產制造中扮演著越來越重要的角色,其應用深入覆蓋于工業、農業、國防、科研等重要行業. 同時,在教育領域,越來越多的高校開展自動化專業的學科教學以及與自動化系統相關的科研項目. 其中,關于自動導航智能車項目的研究與競賽受到各類高校的重視. 由中國高等教育學會發布的《中國高校創新人才培養暨學科競賽評估結果》中,全國大學生智能汽車競賽被納入評估名單. 本文以追尋特殊發光信標為行駛目標的智能車為例,提出了適用于各類智能車競賽的高效、低誤判的最優導航策略.
在國內外的大中學生參加的各類智能車競賽中,競賽成績的高低往往取決于如何在硬件資源有限的情況下,智能小車能夠實現自主導航,并且在最短時間內完成所有賽道. 顯然,在追求完成時間最短的目標下,智能車能夠無誤判地順利完成所有賽道點是對參賽選手的基本要求. 本文以全國大學生智能汽車競賽官方指定的競賽專用裁判系統[1]為例(如圖1所示),分析在該信標系統下的智能車最優導航策略.

圖1 競賽場地信標系統布置圖
由于競賽所用的信標散發紅光與紅外光作為光信號,為更好地區分不發光信標與發光信標的位置,采取在智能車CMOS攝像頭上安裝紅光濾光片的策略,使得攝像頭下采集的圖像,經二值化處理后能夠較清晰地分辨出發光信標與背景[2]. 但在實際使用時,由于外界太陽光或信標光線的反射等不可控因素的存在,攝像頭采集的圖像中會出現多個類似實際發光信標的白色區域塊. 為此,進一步采用基于連通域圖像的掃描算法,對攝像頭圖像進行掃描與濾波,從而得出正確的發光信標位置.
對于攝像頭采集的圖像(已經進行二值化處理)進行2次逐行掃描(自上至下、自左至右),用四鄰域法(圖2)判斷當前像素點是否與已經掃描的白點相鄰. 對于第1次掃描(圖3),若當前白點不存在與已經掃描白點相鄰,則給予該像素點1個自增的label;若存在相鄰,則給予與該像素點相鄰的最小label值,并且將存在相鄰點的label值存于1個數組(數組數與連通區域塊數相同). 對于第2次掃描(圖4),將同一數組里的label值的點更換為最小的label值,使得相同label值的點為同一連通域的點,從而可以準確標記出不同的連通區域塊.

圖2 四鄰域圖

圖3 第1次掃描label圖

圖4 第2次掃描label圖
由于信標的大小、攝像頭的型號、安裝高度及角度等參量在賽前已經固定,因此可以建立關于信標大小、形狀與其在圖像中位置的關系表,通過對多個連通域一一比對,即可得出發光信標的正確位置. 實驗效果如圖5所示,其中十字標記為正確發光信標中心點.

圖5 信標掃描算法實際效果圖
2.2.1 追尋路線規劃
智能車所追尋的發光信標為直徑10 cm的半球體,與其相連的是直徑45 cm的圓形線圈,以便讓帶磁鐵的智能車切割線圈內磁感線. 根據線圈內磁場的變化,信標系統則判斷為智能車尋到該發光信標,以此來點亮另1個信標. 因此,智能車如何以最短路徑到達發光信標的邊緣以及如何轉向尋找下1個發光信標成為了路線規劃的重點.
在尋找到發光信標后,首先判斷當前信標位于攝像頭視野的哪一側,以最短直線路徑[3]切過線圈該側,固定最小轉角,在轉角過程中尋找下1個發光信標,重復上述路線行駛. 以小車在發光信標左側為例,其路線規劃如圖6所示.

圖6 路線規劃圖
2.2.2 直線路線規劃
廣角攝像頭的視角和安裝角度會造成賽道圖像的梯形畸變,如圖7所示. 由于攝像頭視野下的發光信標為圓形光斑,在智能車行進過程中光斑會出現不同程度的畸變,尤其是水平上的畸變程度會隨位置的不同而不同,導致在傳統PID[4]調節舵機的情況下,智能車駛向信標的路線為曲線. 為使智能車駛向信標的路線為最短直線路線,采用基于映射關系的畸形矯正算法[5],通過映射公式對發光信標的圖像進行畸變矯正,可以得出正視圖下的信標位置,使得小車能夠在傳統PID的舵機調節下以最短直線路徑切向發光信標,達到追尋信標效率最優.

圖7 圖像畸變對比圖
在多個信標的賽場上,追尋發光信標的線路上可能出現障礙物,如不發光信標、墻壁等,且不同類型的障礙物需不同的處理算法,如圖8所示.

圖8 常見避障情景及避障處理圖
智能車在識別障礙物上有多種方法,如采用超聲波、紅外對管等傳統的避障傳感器. 該類傳感器實現避障的方法簡單,但對于在快速運動車體上的識別、曲面物體的識別與障礙物類型的識別還是存在較大誤差. 智能車還常采用基于圖像處理的障礙物識別傳感器,如CMOS攝像頭,但該類攝像頭占據的硬件資源較多,同時由于智能車已使用1個帶紅外濾光片的攝像頭用于發光信標識別,這會大大增加中央處理芯片的處理數據,對整體智能車的運行速度造成較大影響. 為此,經實際測試,采用線陣CCD攝像頭[6]與接近開關相結合的方法作為最終的避障策略,其視野范圍如圖9所示,灰色為用于尋信標的CMOS攝像頭視野,紅色為避障傳感器視野,分別為接近開關與線陣CCD作用區域. 其傳感器安裝如圖10所示,自上至下分別為帶紅外濾光片的CMOS攝像頭、線陣CCD攝像頭以及接近開關.

圖9 智能車傳感器作用區域圖

圖10 智能車傳感器安裝實物圖
由于智能車在尋找發光信標上為獲得較大范圍的視野,其帶紅外濾光片的CMOS攝像頭的傾斜角度較大,以獲得較遠的前瞻以及較寬的廣角范圍,但遠前瞻視野會導致智能車存在較大的視野盲區(位于智能車前部). 為此,用接近開關傳感器來彌補此缺點,同時可以檢測持續性的障礙特征,如堵在信標、擋板等情況,而做出后退或大角度拐角處理,防止了因阻塞狀態帶來的邏輯死區. 同時,基于線陣CCD攝像頭的避障策略主要用于躲避不發光信標等障礙物. 相比于80×60像素的CMOS攝像頭,僅有128個像素點的線性CCD傳感器所處理的數據量會大幅減少,且CCD所占用的引腳資源也較少,可以在影響智能車整體運行速度較小的情況下,達到避障的目的.
采用一般追尋策略與本文提出的策略進行智能車測試,驗證該追尋策略的高效性與低誤判性.
將智能車置于存在場外光線影響的場地,使用CMOS攝像頭采集場地圖像,如圖11和圖12所示,分別采用連通域圖像掃描算法以及一般的全掃描算法進行測試.

圖11 場地圖像1

圖12 場地圖像2
通過測試可知,基于連通域圖像的掃描算法可準確識別出不同的聯通區域,并且可準確標記出正確信標的中心點;而一般的全掃描算法無法正確分辨出多個聯通區域,若采用隨機選取聯通區域或取所有白色區域平均值,會出現信標中心值判斷錯誤的情況,且誤判率高.
將智能車置于如圖13所示的賽道場景中,按照信標的發光順序依次行駛,分別采用固定左向切燈策略、固定右向切燈策略及本文提出的路徑規劃策略,記錄智能車完成所有賽道點的總時間. 經過多次實際測試,使用固定切向策略的賽道完成時間都超過23 s,固定左右切向分別23.16 s和25.33 s;而使用本文提及的路徑策略,在行駛總路線上減少了5 m以上,且最終完成的時間為17.95 s,提高了智能車的行駛效率.

圖13 賽道場景1
將智能車置于如圖14所示的賽道場景中,按照信標的發光順序依次行駛,分別采用無避障策略、CMOS攝像頭避障策略以及本文提出的避障策略,記錄智能車完成所有賽道點的總時間. 經過多次實際測試,無避障策略在駛向第5個信標時出現誤撞不發光信標而造成智能車行駛效率低下,甚至無法完成所有賽道點;在使用CMOS攝像頭避障策略時,由于其程序執行的數據量明顯增多,算法執行效率低,導致智能車速度更新變慢,切向轉角距離增大. 使用CMOS攝像頭避障策略的智能車的行駛時間為18.11 s,相比于使用本文提及的避障策略的16.23 s多出接近2 s.

圖14 賽道場景2
提出了適用于智能車競賽上使用的追尋信標導航策略,其中包含了基于連通域的信標掃描算法、路線規劃以及避障策略等一系列的智能車駛向策略. 該策略適合運用在基于多傳感器、單處理器控制下的智能車系統,可以類比應用到不同賽制的智能車競賽,具有運行速度高、誤判率低等特點,可以滿足參賽選手的備戰需求與培訓教學需要.