基于攝像頭和飛思卡爾16的能小車尋跡系統(tǒng)設(shè)計(jì)
1 引言
本文引用地址:http://www.ex-cimer.com/article/236574.htm智能小車尋跡系統(tǒng)是基于攝像頭和飛思卡爾16微處理器mc9s12xs128組成,由攝像頭采集圖像有用信息送入單片機(jī)分析道路參數(shù)。
智能小車跑道表面為白色,中心有連續(xù)黑線作為引導(dǎo)線,黑線寬25mm,鋪設(shè)跑道地板顏色與背景不一樣;跑道寬度為60cm,窄道區(qū)的寬度為45cm;跑道最小曲率半徑不小于50 厘米; 跑道可以交叉,交叉角為90度。
系統(tǒng)主要包括視頻圖像采集、圖像處理、黑線中心提取、路徑判斷。
2 視頻圖像采集
圖像采集是基于mc9s12xs128單片機(jī)來實(shí)現(xiàn)的。mc9s12xs128是飛思卡爾開發(fā)的以cpu12內(nèi)核為核心的單片機(jī),采用5v電源供電,總線速度最高可達(dá)40mhz,8kb ram,128kb flash,具有豐富的i/o模塊和工業(yè)控制專用的通信模塊[1]。
(a) 視頻信號;(b) 行同步信號;(c) 場同步信號;(d) 奇偶場同步信號
圖1 攝像頭信號時序圖
攝像頭前瞻距離大,有利于提高速度。同時跑道色內(nèi)外色差只有黑白兩色,只需提取探測畫面的灰度信息就能識別黑線信息,因而圖像采集選用黑白攝像頭。攝像頭輸出的是pal制式的復(fù)合全電視信號,每秒輸出25幀,每幀分為偶場和奇場。黑白視頻圖像信號由圖像信號、消隱信號及同步信號共同組成。場同步脈沖標(biāo)志著新的一場到來。場消隱區(qū)恰好跨在一場的結(jié)尾部分和下場的開始部分,得等到場消隱區(qū)過去,下場的視頻信號才真正到來。pal制式的攝像頭每秒掃描25幅圖像,每幅又分奇偶兩場,故每秒掃描50場圖像[2]。為此要有效地采集攝像頭的視頻信號,需要把攝像信號進(jìn)行分離。lm1881視頻同步信號分離芯片可從攝像信號中分離出行同步脈沖,場同步脈沖和奇偶場脈沖。下圖為視頻信號lm1881分離后時序圖如圖1所示,其攝像頭采樣電路圖如圖2所示。
圖2 攝像頭采樣電路圖
設(shè)計(jì)采用80引腳mc9s12x128單片機(jī)。根據(jù)其引腳特點(diǎn),pt口響應(yīng)速度不如pj口響應(yīng)速度好,所以選擇pj口作為行中斷和場中斷輸入口,本設(shè)計(jì)選用 pj7和pj6。但是pj口共用一個中斷向量,因此在軟件設(shè)計(jì)中用巧妙的方法先開pj6,關(guān)閉pj7。當(dāng)奇偶場上升沿脈沖到來時,產(chǎn)生中斷,進(jìn)入中斷服務(wù)程序,中斷服務(wù)程序里延時一段時間,清掉消隱時間,然后開啟行中斷pj口,當(dāng)行中斷產(chǎn)生時延時一段時間開始采集圖像信息,這里所有延時都是為了濾掉采集的非圖像信息。本系統(tǒng)采集圖像是采集同一場圖像(即奇場和偶場)。這樣可以減少攝像頭因奇偶場硬件上不同而帶來偏差。
為獲得充足的圖像信息,實(shí)現(xiàn)對智能車準(zhǔn)確控制,圖像采集每場為42×47個點(diǎn) 。通過實(shí)驗(yàn)證明,42×47的圖像能夠得到滿意圖像信息。采集效果如圖3所示。圖中數(shù)值為20-25表示黑線所在位置。
圖3 圖像采集灰值情況
3 圖像處理
了防止場地黑線干擾導(dǎo)致控制出錯,需要對整幅圖像進(jìn)行濾波處理。因?yàn)楹谏敢€是一條平滑連續(xù)的曲線,因此對于圖像中出現(xiàn)的那些跳躍性較大的點(diǎn)即可視為干擾加以去除。
濾波方法有很多,如中值濾波對單片機(jī)開銷較大,因此本系統(tǒng)采用對整幅圖像進(jìn)行較為簡單的插值處理。這樣不僅占用cpu時間少,而且也實(shí)現(xiàn)了對實(shí)時控制的要求。攝像頭提取到的近處黑線信息出錯的概率非常小,因此利用近處黑線的中心偏差,對前方的黑線中心偏差進(jìn)行插值濾波。其濾波流程圖如圖4所示。插值濾波時,同時要注意小車在過急彎時的情況,因此要對插值后的黑線中心進(jìn)行限幅處理。
圖4 插值算法流程圖
4 引導(dǎo)線提取
由于黑線和白賽道的灰度值不確定,如果以設(shè)定的值作為黑線的灰度值,必然適應(yīng)新環(huán)境的能力不強(qiáng)。但是黑色和白色灰度值之差變化不大,因此可以用灰度值之差作為黑線與白道的標(biāo)準(zhǔn)。根據(jù)實(shí)驗(yàn),灰度值之差一般在15-30之間。本系統(tǒng)就是以此范圍作為灰度值范圍。
在查找黑線的點(diǎn)順序也有一定方法。如果采用常用的從左到右依次查找黑點(diǎn),這樣不僅容易把周圍的顏色誤認(rèn)為黑線,同時在一定程度上比較耗時。本系統(tǒng)采用從圖像中央開始向側(cè)查找,當(dāng)找到黑線就停止該行查找,這樣不僅可盡量減少查找到周圍的顏色的機(jī)會,同時也能減少查找耗時。同時注意,在查找黑點(diǎn)時,應(yīng)該查找到兩個或兩個以上的黑點(diǎn)才能作為黑線的位置,這樣可以避免因隨機(jī)產(chǎn)生的干擾的影響。
5 路徑判斷
5.1 彎直道判斷
根據(jù)圖像采集特點(diǎn),直道時黑點(diǎn)偏離中心線位置較小,彎道時偏離中心線的位置大,用一個數(shù)學(xué)公式表征這一特點(diǎn)[3]即
式中:xi為采集到的黑點(diǎn)實(shí)際坐標(biāo)
x為圖像中心線的坐標(biāo)位置
n為采樣到黑點(diǎn)的總行數(shù)
通過多次實(shí)際賽道實(shí)驗(yàn),直道時的curve一般在2以下,小彎道在3-10的范圍內(nèi),10以上則能判定為大彎道,這就以數(shù)值判斷賽道的情況,從而實(shí)現(xiàn)對舵機(jī)的有效控制。在實(shí)際的舵機(jī)控制中,需要根據(jù)賽道的實(shí)際情況做適當(dāng)校正。
5.2 大s彎和小s彎的判斷
跑道分為大s彎和小s彎。通過實(shí)際實(shí)驗(yàn),小車的舵機(jī)在改變角度的時候,小車會減速,因此小車的舵機(jī)改變角度的大小和次數(shù)都會影響最后的比賽成績。在小s彎時,小車攝像頭可以照到全部,取平均值后相當(dāng)于是直道,小車舵機(jī)可不改變方向而直線行駛從而提高速度。在大s彎時,由于大彎不能在完整的的一個視野范圍內(nèi),小車將取平均值后偏離直道,小車舵機(jī)將改變方向行駛。
5.3 十字交叉路線的判斷和起跑線的識別
兩個黑色引導(dǎo)線垂直相交,經(jīng)ad采樣后,橫向灰度值特點(diǎn)為黑色灰度值都在同一行,經(jīng)查找由黑到亮變化的灰度值是沒有的,因而此處黑點(diǎn)坐標(biāo)幾乎接近中心位置,不會對引導(dǎo)線的位置產(chǎn)生影響,這就實(shí)現(xiàn)了小車不發(fā)生錯誤通過十字交叉路線。
小車起點(diǎn)如圖5所示,特點(diǎn)是先由黑變亮,再由亮變黑。所以可根據(jù)這樣的特點(diǎn)進(jìn)行起點(diǎn)識別。當(dāng)采樣的灰度值由黑變亮再由亮變黑可判斷為起跑線。但是這樣判斷可能會把十字交叉路線或窄道的三角形標(biāo)記誤判為起點(diǎn)。為了準(zhǔn)確判斷需要進(jìn)行3次以上具有起點(diǎn)特點(diǎn)時才可判斷。
圖5 起點(diǎn)線
6 結(jié)束語
本系統(tǒng)采用基于coms攝像頭的路徑識別方法,通過攝像頭采集的道路信息送入單片機(jī)處理,通過算法提取出賽道黑線中心,識別彎道、窄道、坡道、起跑線等信息。通過大量試驗(yàn)及參加大賽結(jié)果表明,本智能小車尋跡系統(tǒng)能夠準(zhǔn)確識別道路情況,結(jié)果較為理想。該系統(tǒng)滿足實(shí)時、安全、溫定快速的要求,具有廣闊的應(yīng)用前景,是當(dāng)前智能車輛導(dǎo)引技術(shù)研究的主流方向和發(fā)展趨勢。
色差儀相關(guān)文章:色差儀原理 攝像頭相關(guān)文章:攝像頭原理
評論