金浙 張帥 閆豐雨
(遼寧工業(yè)大學(xué))
約有50%的汽車交通事故是因為汽車偏離正常的行駛車道引起,隨后釀成重大交通事故。因此,通過有效的高科技手段來對汽車偏離進行預(yù)警有著極其重要的意義和必要性。為實現(xiàn)對汽車的車道線偏離預(yù)警和調(diào)整,文章設(shè)計了基于機器視覺的直行車道路偏離預(yù)警系統(tǒng),該系統(tǒng)以微處理器為核心,前端使用數(shù)字?jǐn)z像頭來實時采集和檢測車道線信號,當(dāng)檢測到汽車在無打轉(zhuǎn)向燈的情況下發(fā)生車道偏離,則系統(tǒng)立即通過語音報警等措施提醒駕駛員,并調(diào)整行駛方向。
大多數(shù)反饋回路用PID控制方法或其較小的變形來控制。PID控制器結(jié)構(gòu)簡單,對模型誤差具有魯棒性及易于操作等優(yōu)點[1-2]。該預(yù)警系統(tǒng)包含一個PID控制器,能使舵機迅速、準(zhǔn)確地進行轉(zhuǎn)向。
PID控制器的傳遞函數(shù)為:
式中:G(s)——PID控制器的傳遞函數(shù);
s——傳遞函數(shù)自變量;
Kp——比例增益;
TI——積分時間常數(shù),s;
TD——微分時間常數(shù),s。
控制器的作用是將誤差進行比例、積分和微分運算,然后再通過線性組合構(gòu)成控制量,因此稱這種控制器為比例-積分-微分控制,簡稱PID控制。
在PID控制中,存在著比例、積分和微分3種控制作用。比例控制的作用是誤差一旦產(chǎn)生,控制器立即就有控制作用,使被控制量朝著減少誤差的方向變化;積分控制的作用是它能對誤差進行記憶并積分,有利于消除靜差;而微分控制能對誤差進行微分,能反映偏差信號的變化趨勢(變化速率),并能在偏差信號值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,縮短調(diào)節(jié)時間,增加系統(tǒng)的穩(wěn)定性[3]。
模糊控制實質(zhì)上是一種非線性控制,從屬于智能控制的范疇。模糊控制的一大特點是既有系統(tǒng)化的理論,又有大量的實際應(yīng)用背景,其基本流程,如圖1所示。本系統(tǒng)使用一個模糊控制PID控制器控制雙電動機平穩(wěn)運行。
圖1 模糊控制基本流程
模糊控制器設(shè)計的基本方法和主要步驟包括:
1)選定模糊控制器的輸入輸出變量,并進行量程轉(zhuǎn)換。
2)確定各變量的模糊語言取值及相應(yīng)的隸屬函數(shù),即進行模糊化。模糊語言值通常選取3、5或7個,例如:取為{負,零,正},{負大,負小,零,正小,正大}或{負大,負中,負小,零,正小,正中,正大}等;然后對所選取的模糊集定義其隸屬函數(shù),可取三角形隸屬函數(shù)或梯形,并依據(jù)問題的不同取為均勻或非均勻間隔;也可采用單點模糊集方法進行模糊化。
3)建立模糊控制規(guī)則或控制算法。這是指規(guī)則的歸納和規(guī)則庫的建立,是從實際控制經(jīng)驗過渡到模糊控制器的中心環(huán)節(jié)??刂坡赏ǔS梢唤Mif-then結(jié)構(gòu)的模糊條件語句構(gòu)成,例如:if e=N and c=N,then u=PB等;或總結(jié)為模糊控制規(guī)則表。
4)確定模糊推理和解模糊化方法。常見的模糊推理方法有最大最小推理和最大乘積推理2種,可視具體情況選擇其一。解模糊化方法有最大隸屬度法、中位數(shù)法、加權(quán)平均、重心法、求和法或估值法等,應(yīng)針對系統(tǒng)要求或運行情況的不同而選取相適應(yīng)的方法,從而將模糊量轉(zhuǎn)化為精確量,用以實施最后的控制策略[4]。
文章設(shè)計的系統(tǒng)所使用的MCU控制模塊是以MK60DN512VLQ10芯片為核心的最小系統(tǒng)。MCU控制模塊是整個硬件系統(tǒng)的核心,它通過處理圖像采集模塊傳送來的信息確定系統(tǒng)的控制方式,并向其他模塊發(fā)出控制命令。
穩(wěn)定的電源模塊是整個系統(tǒng)穩(wěn)定工作的前提保證。而穩(wěn)定的硬件平臺又是系統(tǒng)軟件正常運行的基礎(chǔ),所以電源模塊的穩(wěn)定性對于整個系統(tǒng)來說至關(guān)重要。鎳氫電池的容量一般要比鎳鎘電池多30%,而且比鎳鎘電池更輕,相對使用壽命也更長,并且對環(huán)境沒有污染,因此,選用7.2 V的鎳氫電池為整個系統(tǒng)供電。在實際使用過程中,鎳氫電池的電壓不是一個常數(shù),它是隨著其所存儲電量的減少而降低的,所以在以電池組為能量源供電時必須要有穩(wěn)壓電路。
攝像頭分黑白和彩色2種,為達到尋線目的,只需提取畫面的灰度信息,而不必提取其彩色信息,所以文章所使用的CMOS攝像頭輸出的信號為黑白視頻信號。攝像頭芯片為OV7725,是數(shù)字式CMOS圖像傳感器,總有效像素單元為664(水平方向)×492(垂直方向)像素;內(nèi)置10位雙通道A/D轉(zhuǎn)換器,輸出8位圖像數(shù)據(jù);具有自動增益和自動白平衡控制,能進行亮度、對比度、飽和度及γ校正等多種調(diào)節(jié)功能;其視頻時序產(chǎn)生電路可產(chǎn)生行同步、場同步及混合視頻同步等多種同步信號和像素時鐘等多種時序信號;5 V電源供電,工作時功耗<120 mW,待機時功耗<10 μW[5]。攝像頭模塊的輸出引腳直接與最小系統(tǒng)的芯片相連,由DMA輸入到芯片內(nèi)存,為圖像處理做好準(zhǔn)備。
對于電動機驅(qū)動電路,可有多種選擇,如專用電動機集成驅(qū)動芯片MC33886、BTN7971、電調(diào)及MOS管H橋。MC33886使用方便,但內(nèi)阻較大;電調(diào)驅(qū)動能力最好,但價格太高;MOS導(dǎo)通電阻小且響應(yīng)快,因此選用英飛凌IR7843H橋驅(qū)動電路來驅(qū)動電動機。該芯片驅(qū)動能力較好,電路簡潔,同時能夠滿足模型車運行的需要。
JTAG最初是用來對芯片進行測試的,基本原理是在器件內(nèi)部定義一個TAP(Test Access Port,測試訪問口),通過專用的JTAG測試工具對內(nèi)部節(jié)點進行測試?,F(xiàn)今,JTAG接口還常用于實現(xiàn)ISP(In-System Programmable,在線編程),對FLASH等器件進行編程[6]。文章利用JTAG對FLASH器件的編程功能,實現(xiàn)對模型車的在線調(diào)試和程序讀寫。
攝像頭采集完成一幀圖像,通過直接內(nèi)存存?。―MA)傳輸?shù)叫酒泻?,就開始進行圖像處理,其基本流程,如圖2所示。車道偏離預(yù)警系統(tǒng)的工作流程,如圖3所示。
圖3 車道偏離預(yù)警系統(tǒng)總體工作流程
機器視覺系統(tǒng)是指用計算機來實現(xiàn)人的視覺功能,也就是用計算機來實現(xiàn)對客觀的三維世界的識別。
機器視覺是配備有感測視覺儀器(如自動對焦相機或感測器)的檢測機器,其中光學(xué)檢測儀器占有比重非常高,可用于檢測各種產(chǎn)品的缺陷、判斷并選擇物體,或者用來測量尺寸等,應(yīng)用在自動化生產(chǎn)線上對物料進行校準(zhǔn)與定位。
圖像獲取設(shè)備包括光源及攝像機等;圖像處理設(shè)備包括相應(yīng)的軟件和硬件系統(tǒng);輸出設(shè)備是與制造過程相連的有關(guān)系統(tǒng),包括可編程控制器和警報裝置等[7]。
文章的視覺檢測系統(tǒng)是通過OV7725攝像頭將模擬的道路信息轉(zhuǎn)換成圖像信號,通過DMA傳輸給芯片進行處理。
判斷汽車是否發(fā)生偏離,輪胎距車道線的距離是重要指標(biāo)之一。對于直線路塊,汽車地面坐標(biāo)系中質(zhì)心O1坐標(biāo)為(Sx,Sy),設(shè)汽車橫擺角度為 θ;車寬為 Wc;軸距為Lc;(Xi,Yi)和(Xi+1,Yi+1)表示道路路塊中樁坐標(biāo);B為道路寬度;d為左前輪輪胎邊沿距車道邊界的距離;直線lm表示道路中心線[8]。汽車側(cè)偏狀態(tài),如圖4所示。
圖4 模型車在任意位置的坐標(biāo)
光反射到攝像頭感光元件后,系統(tǒng)將光信號轉(zhuǎn)化為數(shù)字信號,再利用K60微處理器的DMA傳輸功能將攝像頭采集到的數(shù)據(jù)從I/O口傳輸?shù)叫酒?/p>
對采集到的圖像進行二值化和濾波處理,得到黑白圖像,如圖5所示。將圖像的灰度值與閾值進行比較,大于閾值的記為WHITE,小于閾值的記為BLACK。再逐行進行濾波,將一個像素點與兩側(cè)像素點比較,若與兩側(cè)像素點不同,則該點為噪點,若相同,則該點不是噪點,濾波流程,如圖6所示。
圖5 二值化和濾波處理后的圖像
圖6 原始圖像濾波流程圖
其次搜索道路的邊沿,由于道路是由白色PVC板鋪成,邊界是由黑色膠帶粘貼,所以只需從中間向兩邊遍歷白黑跳變點即可找到道路邊界。
搜索到2條邊界后用加權(quán)算法求出中線位置,再與理論中線比較,判斷是否偏離行駛方向,計算方法如下。
式中:Pl,Pr——左、右邊緣像素點之和;
PL,PR——加權(quán)后的左、右邊緣平均值;
N——所采集圖像的行數(shù)(圖像高度);
C,c——實際、理論中線位置;
Ce——實際中線和理論中線位置差。
當(dāng)通過計算求出的Ce值大于5個像素單位時,就判定當(dāng)前模型車已經(jīng)偏離行駛方向,圖7示出模型車偏離行駛方向處理后的圖像。系統(tǒng)通過揚聲器發(fā)出預(yù)設(shè)的報警信號,調(diào)整舵機的打角使模型車回到正常方向。
圖7 模型車偏離行駛方向處理后的圖像
文章運用模糊控制原理,通過COMS攝像頭采集道路圖像后,判斷當(dāng)前模型車是否偏離正常路線,對舵機進行打角控制。在試驗?zāi)M白色道路黑色邊界的情況下,模型車能保持在道路內(nèi)行駛。但整個智能車的硬件系統(tǒng)還有優(yōu)化提高的空間,例如圖像采集攝像頭,無論是精度的提高還是速度的提高,都會提高修正算法的準(zhǔn)確性和快速性,從而提高智能車的行駛速度。軟件方面也需要進一步提高算法的準(zhǔn)確度和處理速度。