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