1. 引言
機(jī)器人視覺伺服系統(tǒng)是機(jī)器人領(lǐng)域中的重要研究方向,起源于80年代初,隨著計算機(jī)技術(shù)、圖像處理技術(shù)、控制理論的發(fā)展,取得了很大進(jìn)步,有一些系統(tǒng)已投入使用。視覺伺服跟通常所說的機(jī)器視覺有所不同,視覺伺服是利用機(jī)器視覺的原理,進(jìn)行圖像的自動獲取分析,從直接得到的圖像處理反饋信息中,快速進(jìn)行圖像處理,在盡量短的時間內(nèi)給出反饋信號,構(gòu)成機(jī)器人的位置閉環(huán)控制,實現(xiàn)對機(jī)器人的控制。正是由于系統(tǒng)以實現(xiàn)某種控制為目的,所以視覺伺服系統(tǒng)中的圖像處理過程必須快速準(zhǔn)確。本文主要針對機(jī)器人視覺伺服系統(tǒng)要求快速準(zhǔn)確的特點,為滿足項目研究的需要,討論研究了基于DSP的圖像反饋機(jī)器人視覺伺服技術(shù)。
2 . 系統(tǒng)工作原理及硬件構(gòu)成
基于圖像的視覺伺服直接計算圖像誤差,產(chǎn)生控制信號,并變換到機(jī)器人運(yùn)動空間,驅(qū)動機(jī)械手,完成伺服任務(wù)。該方法對標(biāo)定誤差和空間模型誤差不敏感。
對于機(jī)器人視覺伺服系統(tǒng),實時性問題一直是一個難以解決的重要問題。圖像采集速度較低以及圖像處理需要較長時間會給系統(tǒng)帶來明顯的時滯;此外視覺信息的引入也明顯增大了系統(tǒng)的計算量。而圖像處理速度是影響視覺伺服系統(tǒng)實時性的主要瓶頸之一。
實時圖像處理設(shè)計的難點是如何在有限的時間內(nèi)完成對大量圖像數(shù)據(jù)的處理。從人的視覺理論分析,只有圖像處理系統(tǒng)的處理速度達(dá)每秒25幀以上時才能達(dá)到實時的效果,即要求實時圖像處理系統(tǒng)必須在40ms內(nèi)完成對一幀l圖像的運(yùn)算處理,才能保證圖像的實時性。為了達(dá)到該處理速度,我們采用了基于DSP的圖像視覺伺服方式,其結(jié)構(gòu)如圖1所示。
[align=center]
圖1 基于DSP的圖像反饋機(jī)器人視覺伺服結(jié)構(gòu)圖[/align]
2.1 WTC6201PA板簡介
本文選用了聞亭公司的WTC6201PA板,其板上硬件組成如圖2所示。
[align=center]
圖2 WTC6201PA板硬件組成[/align]
WTC6201PA板屬于EVM板中的一種,它采用了TI公司的DSP器件TMS320C6201芯片。TMS320C6201芯片的最高時鐘頻率為200MHZ,每個時鐘周期最多可以執(zhí)行8條指令,從而實現(xiàn)16000MIPS的定點運(yùn)算能力,它具有如下主要特點:
· 采用了修正的哈佛總線結(jié)構(gòu),獨立的程序總線、數(shù)據(jù)總線和DMA總線使得取指、讀寫數(shù)據(jù)和DMA操作可以并行。
· 采用流水線處理,使兩個或多個不同的操作可以重疊執(zhí)行,提高了程序執(zhí)行速度。
· 具有高性能的外部存儲器擴(kuò)展接口EMIF,可以直接與同步突發(fā)靜態(tài)存儲器SBSRAM、同步動態(tài)存儲器SDRAM連接,用于大容量、高速存儲;還包括直接異步存儲器接口,可與靜態(tài)存儲器SRAM、只讀存儲器EPROM連接,用于小容量的數(shù)據(jù)存儲和程序存儲;芯片內(nèi)部集成的64K程序存儲器可配置成CASHE,以提高程序執(zhí)行效率。
· 16位主機(jī)口能夠和其它CPU的存儲區(qū)以及外圍電路進(jìn)行通信。且多通道DMA控制器可在沒有CPU參與的情況下完成映射存儲空間中的數(shù)據(jù)搬移,從而減輕CPU的工作量。
同時板上配置了高速同步存儲器SBSRAM(128K×32Bit)和SDRAM(4M×32bit),兩路A/D轉(zhuǎn)換器,大容量的FPGA器件和外部I/O接口,板上還提供了一個McBSP接口,兼容5V TTL電平,方便用戶與外部系統(tǒng)通信。WT6201PA板滿足PCI Local Bus Revision 2.1 協(xié)議,主機(jī)可訪問DSP的所有資源,用戶可通過主機(jī)加載程序。WTC6201PA板提供了Win98和NT下的驅(qū)動軟件及DSP的應(yīng)用軟件(APIs),利用這個硬件平臺和底層軟件庫,用戶可以很容易的進(jìn)行軟件開發(fā)。
2.2 系統(tǒng)硬件實現(xiàn)
我們選用了WTC6201PA板上的TMS320C6201芯片、FPGA、SBSRAM、SDRAM、雙口RAM、PCI總線、JTAG接口等硬件資源作為視覺圖像處理單元,和PC主控機(jī)、圖像采集卡、CCD攝像機(jī)和機(jī)器人控制系統(tǒng)組成系統(tǒng),原理框圖如圖3所示。
[align=center]
圖3 系統(tǒng)原理框圖[/align]
系統(tǒng)工作過程如下:
CCD攝像機(jī)輸出標(biāo)準(zhǔn)制式的全電視信號,其中包含著圖像信號、復(fù)合同步信號、行、場消隱信號、槽脈沖和前后均衡脈沖等七種信號。本系統(tǒng)采用了北京大恒公司的DH-PCI-H圖像采集卡來實現(xiàn)視頻信號的預(yù)處理。CCD攝像機(jī)將視頻數(shù)據(jù)輸入到圖像采集卡,圖像采集卡按照設(shè)定的窗口位置、大小和方式采集視頻數(shù)據(jù),采集的數(shù)據(jù)存儲在計算機(jī)的內(nèi)存中。圖像傳輸由圖像卡控制的,無需CPU參與,圖像傳輸速度可達(dá)40MB/S。
設(shè)置圖像采集卡的采集方式是25幀/s連續(xù)采集,則采集一幀的時間為40ms,每一幀圖像由奇偶兩場組成,場頻為50HZ,即一場掃描時間為20ms。圖像采集大小為512×512像素,量化為8bit,256灰度級,則一幀圖像的數(shù)據(jù)量為512×512×8bit=256KB。圖像數(shù)據(jù)存儲方式為隔行存放,即奇、偶場的圖像數(shù)據(jù)交叉存放,組成一幀完整圖像函數(shù)。
C6201由BOOTMODE[4:0]設(shè)置芯片的自舉方式,加載過程采用主機(jī)(HPI)引導(dǎo)方式。外部主機(jī)通過主機(jī)口初始化CPU的存儲空間,主機(jī)完成所有的初始化后,將主機(jī)口控制寄存器中的DSPINT位設(shè)置為1,結(jié)束引導(dǎo)過程。CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。
系統(tǒng)上電后,主機(jī)經(jīng)HPI口對系統(tǒng)初始化,主要完成對各寄存器的設(shè)置,包括EMIF、中斷、DMA等相關(guān)的寄存器初始化操作等。主機(jī)向HPI控制寄存器的DSPINT位寫1觸發(fā)DSP運(yùn)行,系統(tǒng)進(jìn)入等待狀態(tài)。CCD攝像機(jī)實時采集圖像,經(jīng)圖像采集卡處理后存儲到主機(jī)內(nèi)存。PC機(jī)內(nèi)存緩沖區(qū)一幀存滿,向DSP發(fā)中斷信號,DSP應(yīng)答后,通過PCI總線將圖像數(shù)據(jù)從主機(jī)內(nèi)存經(jīng)HPI口傳輸?shù)絎TC6201PA板片外SDRAM。DSP控制波門范圍內(nèi)圖像數(shù)據(jù)以DMA方式傳輸?shù)絻?nèi)部數(shù)據(jù)存儲器。由于DSP為指令結(jié)構(gòu)處理芯片,具有可編程性好、可以處理大量復(fù)雜指令(由程序RAM地址空間的大小決定)等優(yōu)點,但相對FPGA而言其處理速度比較慢;而FPGA為可編程邏輯器件,具有很強(qiáng)的細(xì)粒度并行處理和多級流水線處理能力,但其內(nèi)部有限的邏輯資源使之不適合實現(xiàn)復(fù)雜邏輯運(yùn)算。因此我們采用FPGA作為協(xié)處理器來完成底層操作,再由DSP完成高層操作,兩種操作可以采用流水線的方式并行運(yùn)行,共同完成高速圖像處理。從FPGA到DSP之間的圖像數(shù)據(jù)傳輸使用雙端口RAM。處理完一幀圖像后,DSP向主機(jī)發(fā)信息,主機(jī)應(yīng)答后,將圖像處理結(jié)果經(jīng)PCI總線傳輸至PC機(jī)內(nèi)存,PC機(jī)再將位置偏差數(shù)據(jù)信號送至伺服控制系統(tǒng),完成伺服任務(wù)。
3 圖像雅可比矩陣
對于圖像反饋機(jī)器人視覺伺服系統(tǒng)控制機(jī)構(gòu),圖像雅可比矩陣是很關(guān)鍵的,它描述了機(jī)器人空間中的運(yùn)動與圖像特征空間中的運(yùn)動之間的關(guān)系:
式 (2),(4)是圖像雅可比矩陣的兩種表示形式,是基于圖像反饋的視覺跟蹤研究的基礎(chǔ)。需要指出的是,為了確保得到唯一的圖像特征矢量,圖像特征空間維數(shù)應(yīng)該大于或等于位姿空間維數(shù)(n≧m)。
計算圖像雅可比矩陣的方法有在線估計法、經(jīng)驗方法和學(xué)習(xí)方法。在線估計法通過動態(tài)估算得到圖像雅可比矩陣;經(jīng)驗法可以通過標(biāo)定或先驗?zāi)P椭R得到圖像雅可比矩陣;學(xué)習(xí)方法主要可以利用離線示教和神經(jīng)網(wǎng)絡(luò)方法得到雅可比矩陣。
結(jié)論
本文分析了機(jī)器人視覺伺服系統(tǒng)的基本原理,并設(shè)計了基于TMS320C6201和可編程邏輯器件FPGA協(xié)處理結(jié)構(gòu)的視覺系統(tǒng),實現(xiàn)了圖像采集和圖像目標(biāo)的實時處理。在實驗室中我們利用所設(shè)計的視覺系統(tǒng)構(gòu)建了實驗平臺,通過實驗驗證了所設(shè)計的視覺系統(tǒng)滿足機(jī)器人視覺伺服系統(tǒng)的實時要求。
本文作者創(chuàng)新點:對于機(jī)器人視覺伺服系統(tǒng),實時性問題一直是一個難以解決的重要問題。本文創(chuàng)新采用TMS320C6201芯片來實現(xiàn)機(jī)器人視覺伺服的圖像處理,并采用FPGA協(xié)處理,提高了圖像處理速度,實驗驗證了所設(shè)計系統(tǒng)滿足機(jī)器人視覺伺服的實時要求,具有廣泛的工業(yè)應(yīng)用前景。
參考文獻(xiàn):
[1] 付京遜,岡薩雷斯R C, LRR C S G.機(jī)器人學(xué)[M].北京:中國電子科學(xué)技術(shù)出版社1989.
[2] S Hutchinson, G D Hager, P I Corke . A tutorial on visual servo control[J]. IEEE Trans. Robotics Automation, 1996,12(5): 650-670
[3] 任麗香,馬淑芬,李方慧.TMS320C6000系列DSPs的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2000
[4] TMS320C62xx peripherals reference guide[Z].Texas Instruments Incorporated, 1999
[5] 林靖,陳輝貴,王月娟,等.機(jī)器人視覺伺服系統(tǒng)的研究[J].控制理論與應(yīng)用.2000,17(4): 476-481
[6] 楊延西,劉丁,閏振杰.圖像反饋機(jī)器人視覺伺服系統(tǒng)仿真[J].系統(tǒng)仿真學(xué)報,2003, 15 (12) :1737-1744.
[7] 應(yīng)家駒,何永強(qiáng).基于DSP和FPGA的超大視場紅外目標(biāo)檢測圖像處理系統(tǒng)設(shè)計[J],微計算機(jī)信息,2006,3(2):161-162.