基于DSP的機器人視覺伺服系統(tǒng)研究
我們選用了WTC6201PA板上的TMS320C6201芯片、FPGA、SBSRAM、SDRAM、雙口RAM、PCI總線、JTAG接口等硬件資源作為視覺圖像處理單元,和PC主控機、圖像采集卡、CCD攝像機和機器人控制系統(tǒng)組成系統(tǒng),原理框圖如圖3所示。
圖3 系統(tǒng)原理框圖
系統(tǒng)工作過程如下:
CCD攝像機輸出標準制式的全電視信號,其中包含著圖像信號、復(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)系:
評論