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