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