摘要:隨著汽車工業(yè)的發(fā)展,汽車智能化成為大勢所趨。智能汽車(IV,Inligent Vehicle)是一種集環(huán)境感知、規(guī)劃決策、多等級輔助駕駛等功能于一體的綜合系統(tǒng),它集中地運(yùn)用了計算機(jī)技術(shù)、人工智能與自動控制技術(shù)、現(xiàn)代傳感器技術(shù)、信息與通信等技術(shù),是典型的*的綜合體。文中以第六屆全國大學(xué)生”飛思卡爾”杯智能汽車為背景,探討了基于CCD圖像傳感器的圖像跟蹤算法。
關(guān)鍵詞:智能車;
CCD圖像傳感器;閾值傳遞算法;圖像跟蹤算法;飛思卡爾
智能汽車的一項(xiàng)重要能力就是對環(huán)境的感知、對路況信息的分析決策。文中以MC9S12XS128單片機(jī)為核心,通過CCD圖像傳感器獲得路徑信息,進(jìn)而進(jìn)行路徑分析,為下一步的控制提供必要的數(shù)據(jù)信息。
1、CCD圖像傳感器特點(diǎn)
CCD圖像傳感器屬于電荷耦合器件,組成CCD的基本單元是金屬-氧化物-半導(dǎo)體結(jié)構(gòu)。基本單元又分為兩類:光敏單元與移位寄存單元。兩者的區(qū)別在于:前者接受有效頻率入射光的刺激產(chǎn)生光電效應(yīng),生成信號電荷;后者依靠于前者的相鄰且緊密排列形成兩者勢阱的相互溝通、耦合,借助結(jié)電容柵極電壓的控制來實(shí)現(xiàn)信號電荷從前者向后者的轉(zhuǎn)移(耦合)。根據(jù)光線反射的強(qiáng)弱CCD會輸出大小不同的電壓,通過單片機(jī)的AD轉(zhuǎn)化接口將相應(yīng)電壓值轉(zhuǎn)換成大小不同的數(shù)值,根據(jù)數(shù)值大小來分析路徑信息。
CCD圖像傳感器輸出的是視頻同步信號,經(jīng)視頻同步分離芯片LM1881后,視頻信號分成場同步信號、行同步信號、奇偶場信號以及視頻信號,電路的典型連接及重要引腳信號如圖1所示。利用這些同步信號再加上適當(dāng)?shù)难訒r對視頻信號進(jìn)行AD采樣,從而得到圖像信息。這里采用分辨率為320×240的CCD圖像傳感器,每場的掃描周期20ms,因此,單行視頻信號的持續(xù)時間大約為20ms/320=62.5μs,將單片機(jī)超頻到64MHz,在單行視頻信號的持續(xù)時間內(nèi)能采集大約一百個點(diǎn)左右,能很好的滿足橫向精度要求。每場信號中包含了285個有效行,考慮到CCD圖像傳感器在縱向上的畸變,采取非均勻采集的方式,通過標(biāo)定,使采集行在實(shí)際位置上是均勻分布的,從而實(shí)現(xiàn)每行之間的實(shí)際距離大致相等,為后續(xù)控制提供了方便。
2、黑線提取算法
在采集完一行圖像信息后即對該行數(shù)據(jù)進(jìn)行二值化處理,即設(shè)定一個閾值,把每個點(diǎn)的數(shù)據(jù)與閾值比較,通過大小判斷該點(diǎn)為黑色或者白色。之后對黑色點(diǎn)的值進(jìn)行累加求取平均值,在對白色點(diǎn)的值進(jìn)行累加求平均值,再取兩值平均作為下一行的閾值進(jìn)行判斷。閾值計算的公式如下:
式中black[i]為黑點(diǎn)的值,white[j]為白點(diǎn)的值,Hold[row]為下一行的閾值。
這種閾值傳遞的方法使得的黑白的檢測判斷更為可靠,排除了光線以及賽道顏色產(chǎn)生的影響。然后遍歷一行數(shù)據(jù),由于黑線寬度基本能在3~5點(diǎn),所以,對該點(diǎn)與相鄰兩點(diǎn)黑白不一致的點(diǎn)進(jìn)行剔除,用相鄰兩點(diǎn)均值作為該點(diǎn)的修正值。zui后,對整行數(shù)據(jù)遍歷,記錄一行數(shù)據(jù)中黑線邊緣位置、黑線中心及黑線出現(xiàn)次數(shù)。這樣對一行的數(shù)據(jù)處理完畢。
在采集完一場圖像信息后,根據(jù)黑線是連續(xù)的的特點(diǎn),對相鄰行之間黑線位置進(jìn)行修正,將不滿足連續(xù)性的黑線剔除掉,從而準(zhǔn)確提取出黑線的分布情況。
3、預(yù)測算法設(shè)計
單片機(jī)的運(yùn)算速度是一定的,而車模的慣性常數(shù)也是一定的,因此,為了使控制過程盡量長以達(dá)到理想的控制效果,必須對圖像分析時間進(jìn)行壓縮。這里,通過分析前一場數(shù)據(jù),得到下一場首行閾值、黑線寬度以及黑線搜索范圍,從而減少下一場的處理時間并增加了下一場路況信息的準(zhǔn)確性,增強(qiáng)了相鄰行、相鄰場之間的。
4、圖像信息分析
經(jīng)過數(shù)據(jù)處理后,我們得到每行賽道黑線中心的位置量DImage和視場中心的位置量DCenter(常量),兩個距離相減得到的就是黑線中心相對視場中心的偏差距離DReal=DImage-Dcenter,也就是實(shí)際偏差值。根據(jù)偏差距離DReal可進(jìn)行彎直道的識別。
1)偏差DReal=0時,前方跑道為直道。
2)偏差DReal>0為正值時,前方跑道為右彎道。
3)偏差DReal<0為負(fù)值時,前方跑道為左彎道。
從而判斷出小車相對中心黑線的位置。DReal值的大小反映了小車中心偏離中心黑線的嚴(yán)重程度,|DReal|越大,表明偏離得越厲害。這樣判斷的好處在于不管小車是否處于彎道還是直道,只要小車中心偏離了中心黑線,即只要DReal≠0就可以當(dāng)作彎道情況來進(jìn)行處理。然后分別對偏差距離DReal分別進(jìn)行一階微分(dDReal)和二階微分(d2DReal),根據(jù)偏差距離的一階微分(dDReal),就可以得到中心黑線的變化趨勢,從而判斷出實(shí)際跑道是彎道還是直道,如果小車是在直道上偏離了中心黑線,則同一場數(shù)據(jù)中前后各點(diǎn)偏差的一階微分值dDReal是相等的,即中心黑線與小車視場中心的偏差距離與兩者的前后距離呈線型變化。若實(shí)際跑道是彎道,則(dDReal)不等,上述關(guān)系呈非線性變化。根據(jù)偏差的二階微分(d2DReal),可近似得到中心黑線的曲率半徑R(直道曲率半徑視為趨近無窮),從而得到較完整的跑道信息。以上判別過程如圖5所示。
5、結(jié)束語
文中初步對智能車的路徑識別進(jìn)行了探索,對一些基本問題給出較為詳細(xì)的分析及設(shè)計,為進(jìn)一步的實(shí)踐打下了較為堅實(shí)的基礎(chǔ),為真正智能汽車的設(shè)計提供了有益參考。