張航,劉濤,夏嘉斌,張玉虎
(北京信息科技大學(xué)儀器科學(xué)與光電工程學(xué)院,北京 100192)
基于視覺自主決策小車應(yīng)用與實現(xiàn)
張航,劉濤,夏嘉斌,張玉虎
(北京信息科技大學(xué)儀器科學(xué)與光電工程學(xué)院,北京 100192)
循跡;單目視覺;速度檢測;環(huán)境光調(diào)節(jié)
隨著智能化概念的提出,自動化的進(jìn)程,人們也將追求更為便捷的生活方式。在汽車行業(yè),眾多的企業(yè)開始涉足并考慮,對作為代步工具的汽車進(jìn)行智能化的研究,最為關(guān)鍵的就是無人駕駛技術(shù)。
智能汽車最為基礎(chǔ)的功能是通過攝像頭、傳感器采集外部信息如:汽車前側(cè)方靜止或動態(tài)障礙物;車后追尾風(fēng)險的汽車;倒車時車后的障礙物等。進(jìn)行自我決策并作出相應(yīng)反應(yīng):自主識別,自主制動,車速控制,自主駕駛繞開障礙物并沿所設(shè)定的軌跡行進(jìn)。而作為移動機器人的分支,智能小車通過自帶攝像頭、傳感器識別并自主繞過車邊障礙物,沿預(yù)設(shè)軌跡行進(jìn),輔助人類進(jìn)入復(fù)雜的環(huán)境到達(dá)指定位置進(jìn)行下一步工作。
根據(jù)各類智能車競賽規(guī)則,基于視覺自主決策的小車首先要能在平坦路面沿既定路徑引導(dǎo)行駛。本系統(tǒng)采用飛思卡爾單片機MK60DN512ZVLQ10作為系統(tǒng)控制核心,通過TSL1401CL線性CCD、E18-D80NK紅外傳感器識別行進(jìn)途中隨機出現(xiàn)的障礙物,并重新規(guī)劃路線。通過E6A2-CW5C 500P/R光電編碼器檢測并控制電機調(diào)整運行速度,通過舵機控制方向偏轉(zhuǎn),從而達(dá)到自主決策小車的循跡、避障、速度調(diào)整、道路信息實時顯示等基本功能。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
1.1核心版模塊
系統(tǒng)選擇飛思卡爾 Kinetis系列的 MK60 DN512ZVLQ10微處理器,其電路圖引腳如圖2所示。內(nèi)核為ARM Cortex-M4,具有32通道的DMA用于與外設(shè)進(jìn)行數(shù)據(jù)傳輸[1]。自帶的DSP指令可提供不同級別的CPU頻率,可以高速處理大量數(shù)據(jù),實現(xiàn)信息與程序的無卡頓處理。而內(nèi)核針對經(jīng)典單片機應(yīng)用設(shè)計,功耗小、成本低、中斷響應(yīng)快,尤其適用于需要圖像采集及處理的實時高速系統(tǒng)。
圖2 MK60DN512ZVLQ10芯片電路圖
1.2圖像采集模塊
檢測小車行進(jìn)方向與賽道的相對偏移量、轉(zhuǎn)折方向是實現(xiàn)小車自主行進(jìn)的信息基礎(chǔ),本車采用藍(lán)宙電子TSL1401CL線性CCD,經(jīng)調(diào)試,由支撐桿固定在車體上方18cm處效果最佳,可以在較遠(yuǎn)距離,大范圍地采集賽道信息,其可探測視線寬度可達(dá)32cm,分辨率為1mm。
圖3 TSL1401線性傳感器引腳及連接圖
并且TSL1401線性傳感器驅(qū)動程序比較簡單,如圖3所示,只需要MCU控制CLK及SI兩個引腳安裝特定的時序發(fā)出方波信號AO引腳就會依次輸出128個像素點的模擬信號[2]。以下是TSL1401線性傳感器時序圖:
圖4 TSL1401線性傳感器時序圖
1.3車速檢測模塊
在自主決策小車行駛過程中,會有很多因素對其速度產(chǎn)生影響:道路摩擦力、前輪轉(zhuǎn)向角度等。容易產(chǎn)生運行不穩(wěn),甚至沖出跑道的結(jié)果。為了消除大部分影響,自主決策小車的速度采取閉環(huán)反饋控制,選用精度較高的歐姆龍500線光電編碼器進(jìn)行測速。在小車后輪車軸上安裝編碼器,使其齒輪與車輪齒輪緊貼,電動機旋轉(zhuǎn)時,編碼器與其間速旋轉(zhuǎn),編碼器每轉(zhuǎn)過一圈將產(chǎn)生500個脈沖信息,通過計算每秒光電編碼器輸出脈沖個數(shù)即可反映當(dāng)前車速,其電路原理圖如圖5所示。
圖5 歐姆龍編碼器電路原理圖
2.1系統(tǒng)主程序設(shè)計
基于視覺自主決策小車系統(tǒng)軟件框圖如圖6所示,其中主程序內(nèi)包含了時鐘初始化、PWM初始化、IRQ初始化以及控制算法等程序。全系統(tǒng)操作流程圖如圖7所示,利用線性CCD采集得到車前白線信息,通過圖像處理算法并將CCD探測范圍加大,可提前預(yù)測白線走向,從而在彎道前做到提前轉(zhuǎn)向或從內(nèi)側(cè)弧以較短路徑通過彎道;直道前使用靠前的數(shù)據(jù)控制轉(zhuǎn)向,從根本上預(yù)防了直道左右擺動的狀況。速度控制方面,采用歐姆龍編碼器采集智能小車的速度信息,通過當(dāng)前速度以及相關(guān)算法對小車舵機、電機進(jìn)行優(yōu)化控制。
2.2環(huán)境光的優(yōu)化程序設(shè)計
TSL1401程序簡單,但其輸出信息與環(huán)境光密切相關(guān):自然光條件下比日光燈下AO引腳輸出電壓值高很多;正對光源比背對光源輸出電壓值高;白熾燈情況輸出電壓高與日光燈。同一參數(shù)(曝光時間、光圈大?。┫码y以適應(yīng)強弱光變化。因此需要使智能車實時感知環(huán)境依據(jù)實際情況調(diào)整曝光量。在可調(diào)節(jié)參量中,曝光時間可通過自適應(yīng)策略進(jìn)行調(diào)節(jié)[3]。
圖6 系統(tǒng)軟件規(guī)劃框圖
圖7 系統(tǒng)程序總流程圖
如圖8所示,該曝光時間自適應(yīng)策略時間為閉環(huán)控制,調(diào)節(jié)對象為曝光時間,反饋的是線性CCD感應(yīng)到的曝光量。其原理為將設(shè)定的曝光量減去實際曝光量,得到曝光量的偏差e,調(diào)節(jié)器用Kp與e相乘并加上上次曝光時間作為新的時間進(jìn)行曝光[4]。取一次采集到的128個像素電壓平均值作為曝光量當(dāng)量,即設(shè)定了128像素點平均電壓值。
圖9 自適應(yīng)曝光程序
其中自適應(yīng)曝光程序流程圖如圖9,曝光控制中斷程序每1ms執(zhí)行一次,每次中斷將TimerCnt20ms計數(shù)器自加,根據(jù)曝光時間IntegrationTime計算曝光點integration_piont(取值范圍2~20),如果曝光點等于當(dāng)前計數(shù)器則開始曝光,當(dāng)TimerCnt20ms等于20時,重置TimerCnt20ms,同時置位TimerFlag20ms標(biāo)志位,通知主程序20ms程序執(zhí)行。
2.3道路引導(dǎo)線的提取
利用CCD進(jìn)行白線提取,判斷出正前方的軌跡線與行進(jìn)方向的相對位置,從而進(jìn)行調(diào)整。圖10所示為線性CCD采集的128像素點電壓通過CCDView界面模擬繪制的曲線。
圖10 CCDView軟件界面128像素點電壓模擬繪制曲線
從軟件模擬繪制的曲線中,可以明顯看出白線的特征位置[5]。因此選擇采取單行白線提取算法與找凹槽算法提取出位置信息,其中閾值設(shè)定為25:從左端第一有效數(shù)據(jù)點開始依次向右進(jìn)行比較,以某點N作為原點,判斷其與N+3差值是否大于閾值,若成立則記為i,從i開始繼續(xù)判斷自i+3起到最末一位之間差值是否大于閾值,若成立則將N+i/2+2的坐標(biāo)賦值給白線中心位置。按照白線位置與標(biāo)定的中心相對位置對舵機進(jìn)行控制,從而實現(xiàn)方向的調(diào)整。利用此算法所得的白線提取除了可靠,實時性也好,失去白線目標(biāo)后依然可以記住白線信息是從左側(cè)或右側(cè)消失,從而控制舵機的轉(zhuǎn)向。
本文研究了基于視覺自主決策小車在比賽環(huán)境下的應(yīng)用,對視覺循跡小車系統(tǒng)進(jìn)行了論述。小車系統(tǒng)采用自適應(yīng)曝光的方式減少環(huán)境光變化的影響。引用單行白線提取算法實現(xiàn)道路引導(dǎo)線的位置提取,可以準(zhǔn)備判斷路徑與行進(jìn)方向相對位置進(jìn)行調(diào)整,能夠順利通過直角彎、120°彎以及交叉路口。使用光電編碼器對小車速度進(jìn)行檢測,閉環(huán)控制車速的變化。經(jīng)比賽場地測試,智能小車能夠基于視覺自主進(jìn)行判斷,完成循跡、避障與速度控制,且系統(tǒng)運行穩(wěn)定。
[1]于少東,黃丹平,田建平等.基于Kinetis K60的智能車控制系統(tǒng)設(shè)計[].四川理工學(xué)院學(xué)報(自然科學(xué)版),2014,27(5):37-42.
[2]趙萬欣,陳思屹.基于TSL1401線性CCD的智能巡線小車[J].工業(yè)控制計算機,2014,27(2):121-122.
[3]韋士飛,張建鋒,門思鵬.基于單目視覺的智能尋跡小車設(shè)計與實現(xiàn)[].寶雞文理學(xué)院學(xué)報(自然科學(xué)版),2013,33(3):41-45.
[4]魏玉虎,石琛宇,姜建釗等.基于視覺的智能車轉(zhuǎn)向控制策略[].電子技術(shù)應(yīng)用,2009(01):130-134.
[5]李俊,王軍輝.基于MC9S12XS128控制器的智能車圖像處理技術(shù)研究[].化工自動化及儀表,2012(02):190-193.
張玉虎(1991-),安徽人,本科,研究方向為測控技術(shù)與儀器
夏嘉斌(1993-),浙江人,本科,研究方向為測控技術(shù)與儀器
Tracking;Monocular Vision;Speed Detection;Ambient Light Adjustment
Implementation of Application of Visioin-Based Autonomous Decision-Making Trolley
ZHANG Hang,LIU Tao,XIA Jia-bing,ZHANG Yu-hu
(School of Instrumentation Science and Opto-electronics Engineering,Beijing Information Science&Technology University, Beijing 100192)
張航(1994-),男,湖南東安人,本科,研究方向為光信息科學(xué)與技術(shù)劉濤(1998-),河北人,碩士,研究方向為光電檢測
2015-11-26
2015-12-26
重點探究基于視覺的自主決策小車在競賽環(huán)境下的環(huán)境光自主調(diào)節(jié),針對復(fù)雜多變的環(huán)境光影響,對小車的軟件部分進(jìn)行設(shè)計,研究了環(huán)境光對CCD成像的影響及處理方案。該小車采用飛思卡爾MK60DN512ZVLQ10單片機,TSL1401CL線性CCD,軟件上基于自適應(yīng)曝光策略與白線提取、找凹槽算法,實現(xiàn)環(huán)境光優(yōu)化、路徑識別與車速控制。實驗結(jié)果表明,可以實現(xiàn)基于視覺的自主決策行駛。
Key explores the vision-based autonomous decision-making in the competitive environment of the car ambient light self-regulation, ambient light for complex,part of the car's software was designed to study the environmental impact of light on the CCD imaging and treatment options.The car MK60DN512ZVLQ10 Freescale microcontroller,TSL1401CL linear CCD,software strategy based on adaptive exposure and white line extraction algorithm to find the groove,to achieve optimization of ambient light,the path identification and speed control.Experimental results show that can be achieved with vision-based autonomous decision-making.