智能型動態(tài)圖像追蹤自控車
. 軟件流程
本文引用地址:http://www.biyoush.com/article/82032.htm 1.為了加速運算,由硬件分別做了二值化和數(shù)據(jù)統(tǒng)計。
2.一開始先搜尋目標標線位置。
3.找到標線后進行動態(tài)鎖定。
4.開始判斷標線長度,自控車是否在標線最近距離,若否,則判斷標線長是否大于標框長的70%,如果大于70%則放大標框。
5.由PIO送出前進的控制信號給自控車。
6.若自控車在標線最近距離則判斷是否為左右轉(zhuǎn)標線,若是 則依標線左(右)轉(zhuǎn),否則停止動作。
. 硬件電路
(1) 雙CMOS 傳感器圖像擷取器件:通過Switch開關(guān)來達到切換主畫面/子母畫面的功能,F(xiàn)rame的速度由其中一個CMOS 傳感器來主導,每一次CMOS 傳感器所輸出的數(shù)值為10bit,并同時輸出該pixel的x,y坐標,以利讀取。
(2) 多端口 SDRAM 控制器:通過六個FIFO來提供三讀三寫的SDRAM控制器,每一個FIFO的大小為2KB,全利用M4K RAM來生成。
VGA 控制器 & 圖像處理:將SDRAM讀來的數(shù)值,配合適當?shù)腍_sync及V_sync信號一個一個把Pixel打出去,在這同時亦順便進行X軸或Y軸的直方圖統(tǒng)計,并將結(jié)果存儲于另一個M4K RAM中,待NIOS需要時即可以馬上從此M4K RAM中讀到數(shù)值。
. 直流電機驅(qū)動電路
我們使用全橋電路來控制輪子的正轉(zhuǎn)及反轉(zhuǎn)、Nios通過CAR_CMD[3..0]這個PIO來控制車體的運動,CAR_CMD[1..0]為后輪的開關(guān),而CAR_CMD[3..2]為前輪的開關(guān),在圖十五中為一可控制電流正流或逆流的全橋電路開關(guān),而前輪也相同,其中詳細的控制命令,如表2所示。
表2 金橋電路控制命令
圖10 軟件流程圖
圖11 雙CMOS 傳感器模塊
圖12 6-ports SDRAM controlle
圖13 VGA controler & Image Processing模塊
圖14 后輪的全橋電路開關(guān)
實境測試
在圖15中,智能型圖像追蹤車已鎖定特定的目標物了,并朝著目標物前進,圖中可以清楚地看出除了自色箭頭標志外,尚有許多其它的白色干擾物,如白色墻壁、面紙…等,而在圖16中是智能型圖像追蹤車的VGA輸出,可以清楚地看到圖中是二值化的圖像,并且已智能型圖像追蹤車已鎖定白色箭頭標志(綠框圍住),在車體前進時,綠框會自動變大并鎖定白色箭頭。
圖15 智能型圖像追蹤車正朝著目標物前進
圖16 智能型圖像追蹤車前進時鎖定的目標
圖17 智能型圖像追蹤車
結(jié)語
本設計使用兩顆嵌入式Nios軟核,通過快速設計且高集成性的Avalon總線,將復雜的外圍電路及數(shù)種內(nèi)存模塊集成為車控平臺,通過Nios高性能的表現(xiàn),可以很輕易地實現(xiàn)實時圖像處理及高速自動控制的產(chǎn)品。圖17為最終設計成型的智能型圖像追蹤車。(本文有刪減,閱讀全文請訪問網(wǎng)站www.biyoush.com)
評論