基于tms320vc5416和圖像傳感器0v7620的足球機器人設(shè)計
本文在簡單介紹了全自主足球機器人比賽系統(tǒng)的基礎(chǔ)上,分析了傳統(tǒng)視覺系統(tǒng)的缺點,給出了用cmos圖像傳感器 0v7620、SRAM幀存儲器 IS61LV25616、CPLD/FPGA控制器 EPF10K10LC84—3以及 DSP器件 tms320vc5416設(shè)計的新型嵌入式圖像采樣處理系統(tǒng)的設(shè)計方案。提出了RGB空間到HIS空間的變換方法,從而明顯提高了足球機器人視覺系統(tǒng)的速度和可靠性。
1 全自主式足球機器人概述Fira的 RoboSot組是全自主足球機器人。全自主足球機器人比賽系統(tǒng)實際上是一個自主工作的小車。由于自主機器人內(nèi)部裝載有完整的控制系統(tǒng),因而不需要外界提供計算能力即可完全自主地收集和處理周圍環(huán)境信息,并進行行為決策。機器人的頂端或其它部位一般安裝有彩色攝像頭,其鏡頭可以左右搖擺和上下俯仰,從而為機器人在一定的視角范圍內(nèi)提供彩色的視頻信息。此外,機器人還配備有超聲波或其它傳感器,以用來對環(huán)境進行距離探測和障礙探測。而在多機器人參與比賽的時候,為實現(xiàn)機器人間的通信,還應(yīng)安裝無線通信系統(tǒng),以便其能夠共享已經(jīng)探測到的環(huán)境信息,從而構(gòu)成多機器人的協(xié)作系統(tǒng)。機器人還應(yīng)配備可充電電池組以為嵌入式計算機、傳感器、驅(qū)動電機等提供電能。
全自主足球機器人比賽的特點是:不允許在比賽場地的正上方或其它非機器人本體上設(shè)置全局視覺系統(tǒng),而是將攝像機安裝在機器人的本體上,這樣攝像機只能提供比賽場地的部分信息,機器人需要不斷地將攝像機鏡頭進行搖動及俯仰,必要時還應(yīng)扭轉(zhuǎn)車體來搜尋需要的信息。
目前的足球機器人多采用現(xiàn)成的單板機 (如PC104)再配以圖像采集卡、無線通信網(wǎng)卡、電機驅(qū)動卡等板卡乜味實現(xiàn)。該方法無法獲得主板和配套板卡的硬件原理圖和主板 BIOS、板卡驅(qū)動程序等詳細資料,因此不但體積大,而且由于硬件和驅(qū)動軟件的限制很難達到足球機器人的最佳速度要求,同時可靠性也不高。而自行開發(fā)足球機器人全套控制系統(tǒng)的底層硬件和底層控制軟件,雖然其自由度和靈活性高,但工作量很大。本文介紹了基于 0v7620圖像傳感器的足球機器人視覺系統(tǒng)。
2 Robosot視覺子系統(tǒng)原理圖 1所示是一個嵌入式視覺子系統(tǒng)的硬件框圖。圖中,安裝在機器人上的cmos圖像傳感器把“球場”信息轉(zhuǎn)換成電信號,并經(jīng)視頻采集芯片轉(zhuǎn)化為數(shù)字信號后在 FleA中進行底層數(shù)據(jù)處理,然后在其管理下送入 SRAM幀存儲器。DSP在讀取 SRAM 存儲器中的數(shù)據(jù)并進行高層處理后把處理結(jié)果通過DSP的MeBSP口傳送給決策子系統(tǒng)。當與決策系統(tǒng)連線小于 15米時,可利用 McBSP口模擬出 RS232信號以實現(xiàn)通信;而當距離較大時,則可采用 RS422或采用無線通信方式。
自主式足球機器人視覺系統(tǒng)硬件框圖
2.1圖像傳感器選擇
CCD攝像器件以其光照靈敏度高、噪聲低、像元尺寸小等優(yōu)點,一直主宰著圖像傳感器市場。與此相反,cmos圖像傳感器過去由于存在靈敏度低、信噪比小、像元尺寸大等缺點而一直無法和CCD技術(shù)抗衡。但是,隨著 cmos大規(guī)模集成電路技術(shù)的不斷發(fā)展,這些缺點已逐漸被克服。而 cmos器件所具有的集成度高、制造成本低、單一電源供電(3.3V或5v)、功耗低和像素缺陷低等優(yōu)點也使其非常適合于自主式移動足球機器人的視覺系統(tǒng)。本系統(tǒng)采用的是Omnivision公司推出的 cmos彩色圖像傳感器0v7620,該傳感器的最大分辨率為 664&TImes;492。它不但能工作在逐行掃描方式下,也能工作在隔行掃描方式下。0v7620可通過 I℃總線配置片內(nèi)寄存器,以使其輸出RGB原始數(shù)據(jù)。系統(tǒng)加電復(fù)位后,先由單片機的I/0口產(chǎn)生 I℃總線信號來對 0v7620工作寄存器進行初始化,然后 OV7620即可開始按要求輸出圖像信號,包括行同步信號HREF、場同步信號VSYNC、像素時鐘信號PCLK和數(shù)字圖像信號。
2.2 時序控制及圖像預(yù)處理
OV7620輸出的同步及圖像數(shù)據(jù)信號接至CPLD/Flea芯片后,即可在此進行底層預(yù)處理,同時也在其控制下將該信號存人幀存儲器 SARM中。
Flea芯片選用 Ahem公司的 EPFIOKIO來接收行同步信號 HREF、場同步信號VSYNC、像素時鐘信號 PCLK及圖像數(shù)據(jù)信號,同時產(chǎn)生 SRAM地址信號及寫信號。此外,還可在 FPGA的控制下,對視頻數(shù)據(jù)進行預(yù)處理或直接存人SRAM幀存儲器。FPGA處理完一場或一幀數(shù)據(jù)即通知 DSP讀取數(shù)據(jù)。tms320vc5416利用讀語句從 SRAM 中獲得視頻數(shù)據(jù),并將處理出的機器人(小車)和球的位置、速度和方向信息經(jīng) DSP的McBSP口傳給決策系統(tǒng)。
2.3 幀存儲器選擇
視頻高速緩存方案通常有三種。
第一種是雙口RAM方式。雙口RAM具有兩套獨立的數(shù)據(jù)、地址和控制總線,因而可從兩個端口同時讀寫而互不干擾,并可將視頻數(shù)據(jù)從一個端口寫入而由DSP(或其他處理器)從另一端口讀出。雙口RAM能達到很高的傳輸速度,并且具有隨機存取的優(yōu)點,缺點是大容量的高速雙口RAM很難買到且價格昂貴,并且要占用大量的 FPGA引腳。
第二種是 FIFO先進先出方式。FIFO存儲器就象數(shù)據(jù)管道一樣,數(shù)據(jù)從管道的一側(cè)流人,從另一側(cè)流出,先進入的數(shù)據(jù)先流出。FIFO具有兩套數(shù)據(jù)線而無地址線,可在其一端寫操作而在另一端進行讀操作。數(shù)據(jù)在其中順序移動,因而能夠達到很高的傳輸效率,且由于省去了地址線而有利于 PCB板布線。缺點是只能順序讀寫數(shù)據(jù),因而顯得比較呆板,而且大容量的高速 FIFO多采用動態(tài) RAM技術(shù)來刷新控制電路。
第三種是高速 SRAM切換方式。高速 SRAM只有一套數(shù)據(jù)、地址和控制總線,可以通過三態(tài)緩沖門分別接到視頻采樣和 DSP上。進行視頻采樣時 ,可將SRAM的數(shù)據(jù)、地址和控制總線切換到采樣電路并由采樣電路控制,而 DSP的數(shù)據(jù)、地址和控制總線相對 SRAM處于高阻態(tài)而不起作用;當視頻采樣結(jié)束后,SRAM的數(shù)據(jù)、地址和控制總線又切換到 DSP 一 側(cè),以便 DSP進行讀寫。而此時采樣電路所控制的數(shù)據(jù)、地址和控制總線又相對 SRAM處于高阻態(tài)而不起作用。這種方式的優(yōu)點是 SRAM可隨機存取,同時較大容量的高速 SRAM容易得到,且價格適中,缺點是切換控制電路比較復(fù)雜,且只能由視頻采樣和 DSP分時讀寫。為此,可引入雙體存儲交替訪問的方案,即再增加一片SRAM幀存儲器以構(gòu)成雙體存儲區(qū)。這樣,兩芯片便可交替采樣并與 DSP交換數(shù)據(jù),從而實現(xiàn)采樣與 DSP讀取數(shù)據(jù)的同時進行。
綜合考慮以上三種高速緩存方案的性能、價格和方便性,本設(shè)計選用第三種方案并選用一片IS61LV25616芯片來實現(xiàn)。
2.4視頻處理 DSP
視頻處理選用TI公司的 tms320vc5416來讀取SRAM中的視頻數(shù)據(jù),并通過軟件計算出機器人及球的位置、方向和速度,再把這些數(shù)據(jù)傳送到?jīng)Q策系統(tǒng)。tms320vc5416的時鐘速率可達 160MIPS,并且有先進的指令系統(tǒng),在 FPGA的“協(xié)作”下 ,每秒可保證處理 l0幀 (20場)以上的視頻數(shù)據(jù),因而可確保比賽的實時性。DSP在系統(tǒng)上電之后,其內(nèi)部的Bootloader程序首先運行,同時將存儲于片外 FLASH 的程序和表格送到片內(nèi) RAM中運行。這樣每秒可處理20幀以上的視頻數(shù)據(jù)。
2.5 單片機
單片機選用可在外部擴展 FLASH ROM 的AT89C51/AT89C52。該單片機有三個作用:OV7620的控制、FPGA的配置及 DSP的啟動。由于 EPF10K10在工作期間將配置數(shù)據(jù)保存在SRAM中,而SRAM是易丟失的。因此,SRAM單元必須在器件加電后裝人配置數(shù)據(jù),且在配置完成后將其存儲器和 I/O引腳初始化。初始化后,器件即可進人用戶模式并開始系統(tǒng)運行。在開發(fā)調(diào)試階段,可通過下載電纜對器件進行配置,而當整個系統(tǒng)設(shè)計完成后,便可利用單片機系統(tǒng)對其進行配置。這樣,固化在單片機系統(tǒng)中的數(shù)據(jù)就可在系統(tǒng)上電時對 FPGA芯片進行配置。
3 軟件原理及調(diào)試由于 OV7620輸出的是 RGB信號 ,因此可直接利用此信號進行圖像分割。但 RGB空間各分量具有很高的相關(guān)性,而顏色相近點的分散分布也不適于機器人足球系統(tǒng)。為此,可采用具有明確物理意義的HSI空間。該空間模型中的 H為色調(diào),對應(yīng)于光的主波長;S為飽和度,對應(yīng)于顏色中摻和白光的程度;I為光強度,對應(yīng)于光的明亮程度。HSI空間模型以 H 為主要分割參數(shù),但當 I較小時,H的值趨向于不確定,因而此時 H不能作為唯一的識別依據(jù) ,而應(yīng)把 I 也作為識別依據(jù)。實現(xiàn)時,可用下面公式將 RGB空間變換到 HSI空間。
由于上述運算中有反三角函數(shù),因而很難用FPGA實現(xiàn)。為此,在不影響識別結(jié)論的前提下,可利用下列簡化公式來計算 H和 I:
FPGA使用的開發(fā)軟件為 MAX+PLUSI。該軟件是一個集設(shè)計輸人、編譯、仿真和編程為一體的超級集成環(huán)境。FPGA的設(shè)計有 4個基本階段:設(shè)計輸人 、設(shè)計編譯、設(shè)計驗證和器件編程。設(shè)計時應(yīng)首先根據(jù)系統(tǒng)的邏輯功能生成頂層結(jié)構(gòu)圖,然后分成幾個小模塊進行下一級設(shè)計。接下來可由上而下分析其邏輯功能,并從底層進行設(shè)計編譯,再對每一級進行波形驗證。當最后的頂層模塊的邏輯功能在波形仿真中滿足系統(tǒng)時序要求時,即可進行器件編程。
用FPGA實現(xiàn) RGB空間到 HIS空間的轉(zhuǎn)換,并進行色標圖像分割以及色標及機器人中心的計算時,其數(shù)據(jù)處理量雖然遠小于FPGA處理的數(shù)據(jù)量,但算法本身比較復(fù)雜,因而可用 DSP完成。初始調(diào)試時,應(yīng)先盡量減少 FPGA的運算量 ,然后把運算任務(wù)交給DSP。當DSP中的算法經(jīng)實踐檢驗成熟后,便可將其移植到 FPGA中,以進一步提高整個系統(tǒng)的速度。
4 結(jié)論本文討論的嵌人式視覺系統(tǒng)方案綜合運用了cmos圖像傳感器、FPGA、高速SRAM、數(shù)字信號處理器及單片機等先進電子技術(shù),充分發(fā)揮了 FPGA的快速并行處理能力,同時利用了DSP強大靈活的數(shù)值運算能力。目前,本系統(tǒng)已應(yīng)用到某足球機器人系統(tǒng)中,具有很強的實用性。但該系統(tǒng)僅實現(xiàn)了軟硬件的初步研制與開發(fā)。進一步的FPGA圖像預(yù)處理算法及視覺系統(tǒng)的變焦距問題還沒有考慮,因而還有許多工作要做。