《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于FPGA的智能小車設(shè)計
基于FPGA的智能小車設(shè)計
2016年微型機與應(yīng)用第11期
焦健雄,趙賀,羅應(yīng)龍,尹鵬程,劉紫燕
(貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽 550025)
摘要: 針對目前由于各種人為因素造成的交通事故頻發(fā)的問題,提出一種基于FPGA的智能小車的設(shè)計方案。在該方案中設(shè)計了顏色處理模塊、圖像壓縮模塊、SOPC模塊等。通過該平臺,可以實現(xiàn)紅綠燈識別,并在SoPC中嵌入代碼實現(xiàn)中心定位,控制小車在道路的正確軌跡行駛,從而實現(xiàn)自動駕駛。
Abstract:
Key words :

  焦健雄,趙賀,羅應(yīng)龍,尹鵬程,劉紫燕

  (貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽 550025)

  摘要:針對目前由于各種人為因素造成的交通事故頻發(fā)的問題,提出一種基于FPGA智能小車的設(shè)計方案。在該方案中設(shè)計了顏色處理模塊、圖像壓縮模塊、SOPC模塊等。通過該平臺,可以實現(xiàn)紅綠燈識別,并在SoPC中嵌入代碼實現(xiàn)中心定位,控制小車在道路的正確軌跡行駛,從而實現(xiàn)自動駕駛。

  關(guān)鍵詞:智能小車;FPGA;顏色處理;圖像壓縮

0引言

  汽車保有量的增加給人們出行帶來了極大的便利,但同時也帶來了很多交通安全的隱患,如何減少交通安全事故的發(fā)生成為了一個亟需解決的問題。自動駕駛控制系統(tǒng)的出現(xiàn)提供了一個全新的思路,其主要依靠車內(nèi)計算機系統(tǒng)為主的智能駕駛儀來實現(xiàn)自動駕駛,并根據(jù)視覺感知獲得車輛周圍環(huán)境信息以此控制車輛行駛。例如谷歌研發(fā)的無人駕駛系統(tǒng)就是一種自動駕駛控制系統(tǒng)。

  目前智能小車大部分使用ARM或DSP平臺,對圖像的處理速度慢,影響圖像識別和處理的速度。本文設(shè)計了基于FPGA的智能小車,利用機器視覺感知技術(shù),提高了圖像識別的實時性,從而增強了車輛的安全系數(shù),對交通安全產(chǎn)生了深遠的影響,也對人民群眾的生命財產(chǎn)安全有重大意義。

1智能小車系統(tǒng)整體設(shè)計

  整個智能小車系統(tǒng)由攝像頭、FPGA、存儲器、視頻顯示、直流電機及驅(qū)動器模塊組成 [1],系統(tǒng)的設(shè)計框圖如圖1所示。

001.jpg

  其中,F(xiàn)PGA硬件設(shè)計是整個系統(tǒng)的關(guān)鍵,本設(shè)計采用 Altera的Cyclone IV芯片,主要實現(xiàn)攝像頭圖像的實時采集、處理、紅綠燈的判斷、圖像壓縮和中心定位,以及直流電機PWM生成;攝像頭用于采集小車前方道路和紅綠燈信息;直流電機及驅(qū)動模塊負責小車的轉(zhuǎn)向;視頻顯示模塊實時顯示處理后的視頻信息;存儲器模塊使用SDRAM存儲FPGA需要存儲的信息[4]。

  智能小車工作流程如下:首先,F(xiàn)PGA配置OV7725攝像頭參數(shù)使攝像頭輸出圖像數(shù)據(jù)為YUV格式并采集攝像頭數(shù)據(jù)。采集的圖像數(shù)據(jù)通過FPGA處理后存儲到外部存儲器并將其通過VGA顯示。FPGA硬件設(shè)計主要包含顏色處理模塊、圖像壓縮模塊及SoPC模塊,通過分析數(shù)據(jù)生成合適的PWM使智能小車正確行駛。

2系統(tǒng)硬件平臺設(shè)計

  系統(tǒng)硬件平臺設(shè)計主要包括顏色處理模塊、圖像壓縮模塊以及SoPC模塊。

  2.1顏色處理模塊

  本文設(shè)計了顏色識別模塊來完成紅綠燈的識別。由于FPGA將CMOS傳感器配置為輸出YUV格式的圖像,若要進行顏色識別,首先需要將YUV格式的圖像轉(zhuǎn)換為RGB格式的圖像[56,9,11],然后通過比較每個像素RGB分量完成紅綠燈識別,顏色處理模塊結(jié)構(gòu)框圖如圖2所示。

002.jpg

  圖2顏色處理模塊結(jié)構(gòu)框圖YUV格式圖像轉(zhuǎn)換為RGB格式后對整張圖像每個像素點的顏色進行分析,并計算每個像素點RGB分量的差值是否滿足給定的閾值,判斷該像素點的顏色。一幀圖像結(jié)束后根據(jù)識別到相應(yīng)顏色的數(shù)量判斷是否遇到交通燈以及交通燈的顏色。顏色處理模塊中核心代碼如下:

  if(R>B&&R>G((R-B+R-G)>th_r

  1'b1:1'b0):1'b0)//R G B分別表示三色分量都是8 bit數(shù)值,計算差值并計數(shù)

  begin

  cnt_red<=cnt_red+1'b1;

  圖6SoPC模塊處理流程圖end

  顏色處理模塊的RTL圖如圖3所示。

003.jpg

  2.2圖像壓縮模塊

  圖像壓縮模塊包括圖像預處理模塊及圖像分辨率壓縮模塊。

  圖像預處理模塊對灰度圖像進行Sobel邊緣提取得到二值化圖像,并通過雙端口SDRAM模塊寫入存儲器。Sobel算子對圖像邊緣檢測速度快,能夠在一定程度上抑制噪聲[3,8],從而很好地提取圖像邊緣,圖4為圖像預處理模塊RTL圖。

004.jpg

  圖像分辨率壓縮降低了圖像的分辨率,可以大大提高系統(tǒng)效率,對于簡單圖像分辨率的壓縮不影響目標的識別。本文設(shè)計的圖像分辨率壓縮模塊通過雙端口SDRAM讀取存儲器中的二值化圖像,將640×480像素的二值化圖像分辨率壓縮轉(zhuǎn)換為80×60像素的二值化圖像[7]。圖5為圖像分辨率壓縮模塊RTL圖。

005.jpg

  2.3SoPC模塊

  SoPC系統(tǒng)由微處理器、存儲器、用戶邏輯以及I/O組成的硬件系統(tǒng)和軟件設(shè)計組成[2],本設(shè)計采用在FPGA中嵌入Nios II處理器的方法來實現(xiàn)。在FPGA中嵌入Nios II處理器實現(xiàn)的SoPC系統(tǒng)容易開發(fā),周期短,性能高。

  智能小車的SoPC模塊通過讀取圖像壓縮模塊處理后的圖像數(shù)據(jù),以及顏色處理模塊得到的紅綠燈信息,完成裝置的中心定位并控制直流電機在軌跡上正確行駛。圖6為SoPC模塊處理流程圖。

006.jpg

  本設(shè)計中SoPC系統(tǒng)的構(gòu)建過程如下[1,10]:首先使用鎖相環(huán)設(shè)置SoPC時鐘為100 MHz,根據(jù)內(nèi)部資源使用情況和系統(tǒng)要求選擇添加合適的Nios II CPU,添加PIO用作圖像數(shù)據(jù)和紅綠燈數(shù)據(jù)的接收以及輸出合適的占空比控制直流電機,添加UART用于SoPC與上位機通信,添加存儲器以供存儲數(shù)據(jù)和指令,設(shè)置中斷優(yōu)先級和外設(shè)基地址,最后生成軟核。

3系統(tǒng)平臺驗證

  圖7系統(tǒng)FPGA硬件資源使用情況本設(shè)計使用Altera公司Cyclone IV FPGA芯片,其內(nèi)部有1.5 W les、4個PLL核、166個IO口、50 W bit的內(nèi)存等充足資源,連接SDRAM存儲器和EPCS存儲器擴展內(nèi)存,足以實現(xiàn)FPGA內(nèi)部各個模塊的功能。圖7為該系統(tǒng)FPGA硬件資源使用情況。

007.jpg

  3.1顏色處理模塊測試

  本模塊測試是將所采集的圖片中要識別的顏色轉(zhuǎn)變?yōu)楹谏@示,測試結(jié)果如圖8所示。

008.jpg

  圖8(a)中原圖的紅色像素在圖8(b)測試結(jié)果圖中絕大部分被顯示為黑色,其他點則是與原圖相同顯示,說明算法對顏色的識別有效,能很好地識別交通燈。

  3.2圖像壓縮模塊測試

  圖9為圖像壓縮模塊測試圖,是使用VGA顯示邊緣提取后的圖像,并用PC顯示分辨率壓縮后圖像。

009.jpg

  如圖9所示,邊緣提取圖將絕大部分原圖中的邊緣信息保留了下來,說明控制系統(tǒng)中使用的Sobel算子獲得很好的效果。CMOS攝像頭采集圖像分辨率為640×480像素,經(jīng)過圖像的壓縮之后,圖像的分辨率變?yōu)?0×60像素,對原圖進行了很大程度的壓縮,對比壓縮前后,邊緣提取圖的輪廓在壓縮圖中能很好地反映出來,說明圖像分辨率壓縮的實現(xiàn)效果很好。

  3.3SoPC模塊測試

010.jpg

  圖10為SoPC模塊的中心定位模塊測試圖,對圖像壓縮模塊輸出的圖像進行處理,將道路部分圖像置1,其他部分置0,計算道路中心并在相應(yīng)坐標置0,通過PC顯示。圖10中心定位測試圖

  如圖10所示,中心定位模塊通過分析圖像壓縮模塊輸出的圖像,高效地分析出道路信息并濾除不必要的信息,根據(jù)道路邊緣坐標定位中心軌跡,從圖中可以明顯看出中心定位模塊實現(xiàn)效果很好。

  3.4整車測試

011.jpg

  整車測試圖如圖11所示,本設(shè)計搭建的小車沿著中心定位模塊規(guī)劃的軌跡正確行駛。測試結(jié)果表明,小車在直道上穩(wěn)定行駛,在彎道和直角彎能平滑拐彎,說明SoPC中的中心定位模塊和電機控制算法調(diào)試效果很好。

4結(jié)論

  隨著對視頻處理速度要求的不斷提高,采用ARM、DSP平臺實現(xiàn)的實時視頻處理系統(tǒng)很難滿足對視頻處理的實時性和穩(wěn)定性的要求。本文基于FPGA平臺設(shè)計了一種智能小車,利用攝像頭完成實時道路信息采集,處理實現(xiàn)紅綠燈識別、道路中心定位及按軌跡正確行駛,經(jīng)過多次測試,該智能小車穩(wěn)定性和實時性很高,是一種實用、安全的自動駕駛解決方案。

參考文獻

 ?。?] 劉紫燕,馮亮,祁佳. 一種基于FPGA的實時視頻跟蹤系統(tǒng)硬件平臺設(shè)計[J].傳感器與微系統(tǒng),2014,33(7):98102.

 ?。?] 吳華中. 基于FPGA的視頻監(jiān)控系統(tǒng)設(shè)計[D].太原:中北大學,2014.

 ?。?] 祁佳,劉紫燕. 實時圖像雙邊緣檢測算法及FPGA實現(xiàn)[J].電視技術(shù),2014,38(3):6465,85.

 ?。?] 馮亮,劉紫燕,祁佳. 基于FPGA的視頻跟蹤系統(tǒng)目標檢測方法研究[J].微型機與應(yīng)用,2014,33(12):3436,39.

 ?。?] 張浩然. 基于FPGA的視頻采集及圖像處理算法實現(xiàn)[D].昆明:云南大學,2015.

 ?。?] 明章輝. 基于FPGA的CameraLink視頻信號處理技術(shù)的研究[D].南京:南京理工大學,2014.

 ?。?] 錢軍琪. 基于DSP和FPGA的視頻壓縮系統(tǒng)的設(shè)計[D].西安:西安電子科技大學,2014.

 ?。?] 黃彪. 基于FPGA的高清視頻信號實時處理系統(tǒng)的研究[D].北京:中國科學院研究生院,2013.

  [9] 徐建松, 俞拙非, 侯凱, 等. 一種基于FPGA的閥基電子設(shè)備的研制[J].電子技術(shù)應(yīng)用,2015,41(10):2729,33.

 ?。?0] HSU Y P, MIAO H C, TSAI C C. FPGA implementation of a realtime image tracking system[C].SCIE Annual Conference 2010, 2010:28782884.

 ?。?1] YU J, TAN J, WANG Y. Ultrasound speckle reduction by a SUSANcontrolled anisotropic diffusion method [J]. Pattern Recognition, 2010, 43(9):30833092.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。