1. 引言
機器人視覺伺服系統(tǒng)是機器人領(lǐng)域中的重要研究方向,,起源于80年代初,隨著計算機技術(shù),、圖像處理技術(shù),、控制理論的發(fā)展,取得了很大進步,,有一些系統(tǒng)已投入使用,。視覺伺服跟通常所說的機器視覺有所不同,視覺伺服是利用機器視覺的原理,,進行圖像的自動獲取分析,,從直接得到的圖像處理反饋信息中,快速進行圖像處理,,在盡量短的時間內(nèi)給出反饋信號,,構(gòu)成機器人的位置閉環(huán)控制,實現(xiàn)對機器人的控制,。正是由于系統(tǒng)以實現(xiàn)某種控制為目的,,所以視覺伺服系統(tǒng)中的圖像處理過程必須快速準(zhǔn)確。本文主要針對機器人視覺伺服系統(tǒng)要求快速準(zhǔn)確的特點,,為滿足項目研究的需要,,討論研究了基于DSP的圖像反饋機器人視覺伺服技術(shù)。
2 . 系統(tǒng)工作原理及硬件構(gòu)成
基于圖像的視覺伺服直接計算圖像誤差,,產(chǎn)生控制信號,,并變換到機器人運動空間,驅(qū)動機械手,,完成伺服任務(wù),。該方法對標(biāo)定誤差和空間模型誤差不敏感。
對于機器人視覺伺服系統(tǒng),實時性問題一直是一個難以解決的重要問題,。圖像采集速度較低以及圖像處理需要較長時間會給系統(tǒng)帶來明顯的時滯;此外視覺信息的引入也明顯增大了系統(tǒng)的計算量,。而圖像處理速度是影響視覺伺服系統(tǒng)實時性的主要瓶頸之一,。
實時圖像處理設(shè)計的難點是如何在有限的時間內(nèi)完成對大量圖像數(shù)據(jù)的處理。從人的視覺理論分析,,只有圖像處理系統(tǒng)的處理速度達每秒25幀以上時才能達到實時的效果,,即要求實時圖像處理系統(tǒng)必須在40ms內(nèi)完成對一幀l圖像的運算處理,才能保證圖像的實時性,。為了達到該處理速度,,我們采用了基于DSP的圖像視覺伺服方式,其結(jié)構(gòu)如圖1所示,。
圖1基于DSP的圖像反饋機器人視覺伺服結(jié)構(gòu)圖
2.1 WTC6201PA板簡介
本文選用了聞亭公司的WTC6201PA板,,其板上硬件組成如圖2所示。
圖2 WTC6201PA板硬件組成
WTC6201PA板屬于EVM板中的一種,,它采用了TI公司的DSP器件TMS320C6201芯片,。TMS320C6201芯片的最高時鐘頻率為200MHZ,每個時鐘周期最多可以執(zhí)行8條指令,,從而實現(xiàn)16000MIPS的定點運算能力,,它具有如下主要特點:
· 采用了修正的哈佛總線結(jié)構(gòu),獨立的程序總線,、數(shù)據(jù)總線和DMA總線使得取指,、讀寫數(shù)據(jù)和DMA操作可以并行。
· 采用流水線處理,,使兩個或多個不同的操作可以重疊執(zhí)行,,提高了程序執(zhí)行速度。
· 具有高性能的外部存儲器擴展接口EMIF,,可以直接與同步突發(fā)靜態(tài)存儲器SBSRAM,、同步動態(tài)存儲器SDRAM連接,,用于大容量,、高速存儲;還包括直接異步存儲器接口,可與靜態(tài)存儲器SRAM,、只讀存儲器EPROM連接,,用于小容量的數(shù)據(jù)存儲和程序存儲;芯片內(nèi)部集成的64K程序存儲器可配置成 CASHE,以提高程序執(zhí)行效率,。
· 16位主機口能夠和其它CPU的存儲區(qū)以及外圍電路進行通信,。且多通道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é)議,,主機可訪問DSP的所有資源,,用戶可通過主機加載程序。WTC6201PA板提供了 Win98和NT下的驅(qū)動軟件及DSP的應(yīng)用軟件(APIs),,利用這個硬件平臺和底層軟件庫,,用戶可以很容易的進行軟件開發(fā)。
2.2系統(tǒng)硬件實現(xiàn)
我們選用了WTC6201PA板上的TMS320C6201芯片,、FPGA,、SBSRAM、SDRAM,、雙口RAM,、PCI總線、JTAG接口等硬件資源作為視覺圖像處理單元,,和PC主控機,、圖像采集卡、CCD攝像機和機器人控制系統(tǒng)組成系統(tǒng),,原理框圖如圖3所示,。
圖3系統(tǒng)原理框圖
系統(tǒng)工作過程如下:
CCD攝像機輸出標(biāo)準(zhǔn)制式的全電視信號,其中包含著圖像信號,、復(fù)合同步信號,、行、場消隱信號,、槽脈沖和前后均衡脈沖等七種信號,。本系統(tǒng)采用了北京大恒公司的DH-PCI-H圖像采集卡來實現(xiàn)視頻信號的預(yù)處理。CCD攝像機將視頻數(shù)據(jù)輸入到圖像采集卡,,圖像采集卡按照設(shè)定的窗口位置,、大小和方式采集視頻數(shù)據(jù),采集的數(shù)據(jù)存儲在計算機的內(nèi)存中,。圖像傳輸由圖像卡控制的,,無需CPU參與,圖像傳輸速度可達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è)置芯片的自舉方式,,加載過程采用主機(HPI)引導(dǎo)方式。外部主機通過主機口初始化CPU的存儲空間,,主機完成所有的初始化后,,將主機口控制寄存器中的DSPINT位設(shè)置為1,結(jié)束引導(dǎo)過程,。CPU退出復(fù)位狀態(tài),,開始執(zhí)行地址0處的指令。
系統(tǒng)上電后,,主機經(jīng)HPI口對系統(tǒng)初始化,,主要完成對各寄存器的設(shè)置,包括EMIF,、中斷,、DMA等相關(guān)的寄存器初始化操作等。主機向HPI控制寄存器的DSPINT位寫1觸發(fā)DSP運行,,系統(tǒng)進入等待狀態(tài),。CCD攝像機實時采集圖像,經(jīng)圖像采集卡處理后存儲到主機內(nèi)存,。PC機內(nèi)存緩沖區(qū)一幀存滿,,向 DSP發(fā)中斷信號,DSP應(yīng)答后,,通過PCI總線將圖像數(shù)據(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為可編程邏輯器件,,具有很強的細粒度并行處理和多級流水線處理能力,但其內(nèi)部有限的邏輯資源使之不適合實現(xiàn)復(fù)雜邏輯運算,。因此我們采用FPGA作為協(xié)處理器來完成底層操作,,再由DSP完成高層操作,兩種操作可以采用流水線的方式并行運行,共同完成高速圖像處理,。從FPGA到DSP之間的圖像數(shù)據(jù)傳輸使用雙端口RAM,。處理完一幀圖像后,DSP向主機發(fā)信息,,主機應(yīng)答后,,將圖像處理結(jié)果經(jīng)PCI總線傳輸至PC 機內(nèi)存,PC機再將位置偏差數(shù)據(jù)信號送至伺服控制系統(tǒng),,完成伺服任務(wù),。
3 圖像雅可比矩陣
對于圖像反饋機器人視覺伺服系統(tǒng)控制機構(gòu),圖像雅可比矩陣是很關(guā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é)論
本文分析了機器人視覺伺服系統(tǒng)的基本原理,,并設(shè)計了基于TMS320C6201和可編程邏輯器件FPGA協(xié)處理結(jié)構(gòu)的視覺系統(tǒng),實現(xiàn)了圖像采集和圖像目標(biāo)的實時處理,。在實驗室中我們利用所設(shè)計的視覺系統(tǒng)構(gòu)建了實驗平臺,,通過實驗驗證了所設(shè)計的視覺系統(tǒng)滿足機器人視覺伺服系統(tǒng)的實時要求。
本文作者創(chuàng)新點:對于機器人視覺伺服系統(tǒng),實時性問題一直是一個難以解決的重要問題,。本文創(chuàng)新采用TMS320C6201芯片來實現(xiàn)機器人視覺伺服的圖像處理,,并采用FPGA協(xié)處理,提高了圖像處理速度,,實驗驗證了所設(shè)計系統(tǒng)滿足機器人視覺伺服的實時要求,具有廣泛的工業(yè)應(yīng)用前景,。
參考文獻:
[1] 付京遜,岡薩雷斯R C, LRR C S G.機器人學(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] 林靖,陳輝貴,,王月娟,,等.機器人視覺伺服系統(tǒng)的研究[J].控制理論與應(yīng)用.2000,17(4): 476-481
[6] 楊延西,劉丁,,閏振杰.圖像反饋機器人視覺伺服系統(tǒng)仿真[J].系統(tǒng)仿真學(xué)報,,2003, 15 (12) :1737-1744.
[7] 應(yīng)家駒,何永強.基于DSP和FPGA的超大視場紅外目標(biāo)檢測圖像處理系統(tǒng)設(shè)計[J],,微計算機信息,,2006,,3(2):161-162.