尚在飛,肖文健,李永科
(軍械工程學(xué)院 光學(xué)與電子工程系,河北 石家莊 050003)
智能汽車的一項(xiàng)重要能力就是對(duì)環(huán)境的感知、對(duì)路況信息的分析決策。文中以MC9S12XS128單片機(jī)為核心,通過(guò)CCD圖像傳感器獲得路徑信息,進(jìn)而進(jìn)行路徑分析,為下一步的控制提供必要的數(shù)據(jù)信息。
圖1 視頻分離原理圖Fig.1 Video separation circuit
CCD圖像傳感器屬于電荷耦合器件,組成CCD的基本單元是金屬-氧化物-半導(dǎo)體結(jié)構(gòu)?;締卧址譃閮深悾汗饷魡卧c移位寄存單元。兩者的區(qū)別在于:前者接受有效頻率入射光的刺激產(chǎn)生光電效應(yīng),生成信號(hào)電荷;后者依靠于前者的相鄰且緊密排列形成兩者勢(shì)阱的相互溝通、耦合,借助結(jié)電容柵極電壓的控制來(lái)實(shí)現(xiàn)信號(hào)電荷從前者向后者的轉(zhuǎn)移(耦合)[1]。根據(jù)光線反射的強(qiáng)弱CCD會(huì)輸出大小不同的電壓,通過(guò)單片機(jī)的AD轉(zhuǎn)化接口將相應(yīng)電壓值轉(zhuǎn)換成大小不同的數(shù)值,根據(jù)數(shù)值大小來(lái)分析路徑信息[2]。
CCD圖像傳感器輸出的是視頻同步信號(hào),經(jīng)視頻同步分離芯片LM1881后,視頻信號(hào)分成場(chǎng)同步信號(hào)、行同步信號(hào)、奇偶場(chǎng)信號(hào)以及視頻信號(hào),電路的典型連接及重要引腳信號(hào)如圖1所示。利用這些同步信號(hào)再加上適當(dāng)?shù)难訒r(shí)對(duì)視頻信號(hào)進(jìn)行AD采樣,從而得到圖像信息。這里采用分辨率為320×240的CCD圖像傳感器,每場(chǎng)的掃描周期20 ms,因此,單行視頻信號(hào)的持續(xù)時(shí)間大約為20 ms/320=62.5μs,將單片機(jī)超頻到64 MHz,在單行視頻信號(hào)的持續(xù)時(shí)間內(nèi)能采集大約一百個(gè)點(diǎn)左右,能很好的滿足橫向精度要求。每場(chǎng)信號(hào)中包含了285個(gè)有效行,考慮到CCD圖像傳感器在縱向上的畸變,采取非均勻采集的方式,通過(guò)標(biāo)定,使采集行在實(shí)際位置上是均勻分布的,從而實(shí)現(xiàn)每行之間的實(shí)際距離大致相等,為后續(xù)控制提供了方便。
在采集完一行圖像信息后即對(duì)該行數(shù)據(jù)進(jìn)行二值化處理,即設(shè)定一個(gè)閾值,把每個(gè)點(diǎn)的數(shù)據(jù)與閾值比較,通過(guò)大小判斷該點(diǎn)為黑色或者白色。之后對(duì)黑色點(diǎn)的值進(jìn)行累加求取平均值,在對(duì)白色點(diǎn)的值進(jìn)行累加求平均值,再取兩值平均作為下一行的閾值進(jìn)行判斷。閾值計(jì)算的公式如下:
式中 black[i]為黑點(diǎn)的值,white[j]為白點(diǎn)的值,Hold[row]為下一行的閾值[3]。
這種閾值傳遞的方法使得的黑白的檢測(cè)判斷更為可靠,排除了光線以及賽道顏色產(chǎn)生的影響。然后遍歷一行數(shù)據(jù),由于黑線寬度基本能在3~5點(diǎn),所以,對(duì)該點(diǎn)與相鄰兩點(diǎn)黑白不一致的點(diǎn)進(jìn)行剔除,用相鄰兩點(diǎn)均值作為該點(diǎn)的修正值。最后,對(duì)整行數(shù)據(jù)遍歷,記錄一行數(shù)據(jù)中黑線邊緣位置、黑線中心及黑線出現(xiàn)次數(shù)。這樣對(duì)一行的數(shù)據(jù)處理完畢。
在采集完一場(chǎng)圖像信息后,根據(jù)黑線是連續(xù)的的特點(diǎn),對(duì)相鄰行之間黑線位置進(jìn)行修正,將不滿足連續(xù)性的黑線剔除掉,從而準(zhǔn)確提取出黑線的分布情況。
單片機(jī)的運(yùn)算速度是一定的,而車模的慣性常數(shù)也是一定的,因此,為了使控制過(guò)程盡量長(zhǎng)以達(dá)到理想的控制效果,必須對(duì)圖像分析時(shí)間進(jìn)行壓縮[3]。這里,通過(guò)分析前一場(chǎng)數(shù)據(jù),得到下一場(chǎng)首行閾值、黑線寬度以及黑線搜索范圍,從而減少下一場(chǎng)的處理時(shí)間并增加了下一場(chǎng)路況信息的準(zhǔn)確性,增強(qiáng)了相鄰行、相鄰場(chǎng)之間的聯(lián)系。
經(jīng)過(guò)數(shù)據(jù)處理后,我們得到每行賽道黑線中心的位置量DImage和視場(chǎng)中心的位置量DCenter(常量),兩個(gè)距離相減得到的就是黑線中心相對(duì)視場(chǎng)中心的偏差距離DReal=DImage-DCenter,也就是實(shí)際偏差值。根據(jù)偏差距離DReal可進(jìn)行彎直道的識(shí)別[4]。
1)偏差DReal=0時(shí),前方跑道為直道。
圖2 直道示意圖Fig.2 Straight-line image
2)偏差DReal>0為正值時(shí),前方跑道為右彎道。
圖3 右彎道示意圖Fig.3 Right-turning image
3)偏差DReal<0為負(fù)值時(shí),前方跑道為左彎道。
從而判斷出小車相對(duì)中心黑線的位置[5]。DReal絕對(duì)值的大小反映了小車中心偏離中心黑線的嚴(yán)重程度,DReal越大,表明偏離得越厲害。這樣判斷的好處在于不管小車是否處于彎道還是直道,只要小車中心偏離了中心黑線,即只要DReal≠0就可以當(dāng)作彎道情況來(lái)進(jìn)行處理。然后分別對(duì)偏差距離DReal分別進(jìn)行一階微分(dDReal)和二階微分(d2DReal),根據(jù)偏差距離的一階微分(dDReal),就可以得到中心黑線的變化趨勢(shì),從而判斷出實(shí)際跑道是彎道還是直道,如果小車是在直道上偏離了中心黑線,則同一場(chǎng)數(shù)據(jù)中前后各點(diǎn)偏差的一階微分值dDReal是相等的,即中心黑線與小車視場(chǎng)中心的偏差距離與兩者的前后距離呈線型變化。若實(shí)際跑道是彎道,則(dDReal)不等,上述關(guān)系呈非線性變化。根據(jù)偏差的二階微分(d2DReal),可近似得到中心黑線的曲率半徑R(直道曲率半徑視為趨近無(wú)窮),從而得到較完整的跑道信息。以上判別過(guò)程如圖5所示。
圖5 彎道直道判別流程圖Fig.5 Flowchartofthepathdiscriminate
文中初步對(duì)智能車的路徑識(shí)別進(jìn)行了探索,對(duì)一些基本問(wèn)題給出較為詳細(xì)的分析及設(shè)計(jì),為進(jìn)一步的實(shí)踐打下了較為堅(jiān)實(shí)的基礎(chǔ),為真正智能汽車的設(shè)計(jì)提供了有益參考[6]。參考文獻(xiàn):
[1]張秀彬,應(yīng)俊豪.視感智能檢測(cè)[M].北京:科學(xué)出版社,2009.
[2]邵貝貝.微控制器嵌入式應(yīng)用的在線開發(fā)方法[M].北京:清華大學(xué)出版社,2007.
[3]卓晴,黃開勝,邵貝貝.學(xué)做智能車——挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007.
[4]陳丁躍.現(xiàn)代汽車控制及其智能化[M].西安:西安交通大學(xué)出版社,2011.
[5]程學(xué)慶.LabVIEW圖形化編程與實(shí)例應(yīng)用[M].北京:中國(guó)鐵道出版社,2005.
[6]ThomasD.Gillespie.車輛動(dòng)力學(xué)基礎(chǔ)[M].北京:清華大學(xué)出版社,2006.