攝像頭智能循跡小車設計與實現(xiàn)
摘要:智能循跡小車可以根據(jù)前端攝像頭的輸入圖像識別出道路狀況,通過優(yōu)化智能車的軟硬件設計,能夠確保其在不同環(huán)境下行駛的快速性和準確性,本文以Kinetis60為核心處理器,完成了智能車路徑檢測、速度檢測、數(shù)據(jù)傳輸模塊、電機舵機驅(qū)動模塊的設計與實現(xiàn),并在此基礎上提出了一種利用攝像頭實時圖像進行智能車循跡判斷的方法,能夠提取出精確的路徑特征信息,實踐證明該方法具有可行性。
本文引用地址:http://m.butianyuan.cn/article/201610/309998.htm隨著智能交通系統(tǒng)的廣泛應用,智能車的系統(tǒng)控制也逐步成為一項新興技術(shù),該領域涵蓋了控制、模式識別、傳感技術(shù)、電子、電氣、計算機、機械等多個學科。本方案采用攝像頭作為信號采集的傳感器,根據(jù)攝像頭采集的圖像進行精密計算,確定速度參考和舵機轉(zhuǎn)向參考。攝像頭組的智能車對于道路信息預測能力強,而且攝像頭對道路的探測精細,視角范圍大,因此受到眾多智能車設計者的歡迎。但攝像頭圖像受周圍光線的影響大;算法運算量大,算法復雜,需要占用較多的NCU資源,因此其中圖像識別算法的設計成為系統(tǒng)設計的關(guān)鍵步驟。
1 系統(tǒng)設計
智能車系統(tǒng)由核心處理器KINETIS60、路徑檢測模塊、起跑線檢測模塊、車速檢測模塊、電源模塊,無線數(shù)據(jù)傳輸模塊、電機驅(qū)動模塊、舵機驅(qū)動模塊組成。其中攝像頭組的路徑檢測模塊由OV7620攝像頭實現(xiàn)。
車速檢測模塊由編碼器構(gòu)成,實現(xiàn)速度的實時采集。電機驅(qū)動模塊由八片IRF3205構(gòu)成H橋來實現(xiàn)。電源模塊由三塊LM2940組成。舵機使用S-D5連接至PWM引腳,起跑線檢測模塊由兩個TCRT5000以及一個LM339組成。無線數(shù)據(jù)傳輸通過NRF24L01進行數(shù)據(jù)傳輸。
智能車由路徑傳感器采集得到前方道路的圖像,從中提取出有用信息,判斷所處的跑道類型(直道,大彎道,S彎道),確定小車的舵機轉(zhuǎn)向及車速。從而通過電機和舵機驅(qū)動小車流暢地在跑道上行進。系統(tǒng)框圖如圖1所示。
2 軟件算法總體設計
本方案中,以IAR為開發(fā)工具,系統(tǒng)軟件設計包括以下幾個方面:系統(tǒng)初始化、視頻圖像信號采集、小車的方向(舵機)控制和速度(電機)控制。系統(tǒng)軟件流程罔如圖2所示。
3 圖像采集
OV7620是CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492;數(shù)據(jù)格式包括YUV、YCrCb、RGB3種,能夠滿足一般圖像采集系統(tǒng)的要求。
由于芯片處理能力不足以達到PC的運算能力,因此本方案采用了黑白攝像頭,由于受片內(nèi)總線頻率的限制,每行能夠采集到的點數(shù)有限而且圖像質(zhì)量很差,并且會占用CPU大部分的時間,所以我們采用了K60自帶的DMA進行數(shù)據(jù)采集,實踐證明,DMA能夠采集到絕大多數(shù)的點,并且圖像質(zhì)量很好。
為了更好的檢測黑線中心位置,要保證單行上有足夠的點,為了提高處理速度,可適當降低采樣行數(shù),綜合了以上條件,最終決定采用100行信息進行方向判斷,每幅圖像大小限定為180×100。
4 圖像識別
攝像頭智能車系統(tǒng)是否能辨識正確的方向的關(guān)鍵就是其中的圖像識別算法的設計,在本算法中根據(jù)采集來的圖像,首先進行圖像二值化,然后再對二值化后的圖像進行去噪處理,得到只含有賽道黑線的圖像,再對圖像進行圖像識別,根據(jù)設定的閾值進行方向識別,得到的結(jié)果送至舵機控制模塊進行舵機的方向控制。基于圖像識別算法的路徑識別流程圖如圖3所示。
4.1 黑線提取
二值化是一種廣泛使用的圖像分割技術(shù),它利用了圖像中要提取的目標物與其背景在灰度特性上的差異,把原圖像變?yōu)閮H用兩個灰度值表示的圖像目標物和背景的二值圖像,考慮到所采集的圖像目標物(黑色中心線)與背景(白色跑道)的灰度值差異比較明顯,采用固定閾值法進行圖像的二值化。二值化的實現(xiàn)是由下面的公式來實現(xiàn):
式中g(shù)(x,y)為二值化結(jié)果;T為閾值,f(x,y)為原圖像的灰度值。
本方案采用固定的閾值進行圖像二值化,因為單片機沒有足夠的時間進行動態(tài)閾值計算。因此要確定一個合理的算法來確定一個固定閾值,小車在不同光照條件下的圖像閾值不同,因此小車每一次啟動時計算一次固定閾值,如圖4所示。
4.2 舵機及電機控制算法
提取出圖像的中心線以后,需要根據(jù)中心線的位置,來判斷賽道的類型,區(qū)分直道、S型彎道和左轉(zhuǎn)彎和右轉(zhuǎn)彎。利用攝像頭識別道路在識別性能方面具有優(yōu)勢,相對于光電和電磁傳感器,可以有較遠的前瞻距離,賽道信息不是根據(jù)單行數(shù)據(jù)來判斷,而是根據(jù)每幅圖像的多行信息來判斷。根據(jù)前述,每幅圖像采用80行的信息進行判斷。
根據(jù)二值化圖像的結(jié)果,以圖像重心為界,分別計算邊界左右側(cè)白點數(shù)目和(式2、式31,然后對左右側(cè)白點數(shù)和leftSum,rightSum做差,然后對差值除以行數(shù),得到賽道偏移量(式4),根據(jù)偏移量centerAVG大小,centerAVG的大小基本上可以判斷當前賽道情況,根據(jù)賽道情況,對centerAVG乘以不同的系數(shù)k(式5),得到舵機值(式6),然后進行方向控制。
評論