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

  焦健雄,,趙賀,,羅應龍,尹鵬程,,劉紫燕

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

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

  關鍵詞:智能小車;FPGA,;顏色處理,;圖像壓縮

0引言

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

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

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

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

001.jpg

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

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

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

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

  2.1顏色處理模塊

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

002.jpg

  圖2顏色處理模塊結構框圖YUV格式圖像轉換為RGB格式后對整張圖像每個像素點的顏色進行分析,并計算每個像素點RGB分量的差值是否滿足給定的閾值,,判斷該像素點的顏色,。一幀圖像結束后根據(jù)識別到相應顏色的數(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)效率,,對于簡單圖像分辨率的壓縮不影響目標的識別。本文設計的圖像分辨率壓縮模塊通過雙端口SDRAM讀取存儲器中的二值化圖像,,將640×480像素的二值化圖像分辨率壓縮轉換為80×60像素的二值化圖像[7],。圖5為圖像分辨率壓縮模塊RTL圖。

005.jpg

  2.3SoPC模塊

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

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

006.jpg

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

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

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

007.jpg

  3.1顏色處理模塊測試

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

008.jpg

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

  3.2圖像壓縮模塊測試

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

009.jpg

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

  3.3SoPC模塊測試

010.jpg

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

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

  3.4整車測試

011.jpg

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

4結論

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

參考文獻

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

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

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

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

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

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

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

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

  [9] 徐建松, 俞拙非, 侯凱, 等. 一種基于FPGA的閥基電子設備的研制[J].電子技術應用,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.

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


此內容為AET網站原創(chuàng),,未經授權禁止轉載,。