《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CPLD的服務(wù)機(jī)器人的視覺系統(tǒng)設(shè)計(jì)
基于CPLD的服務(wù)機(jī)器人的視覺系統(tǒng)設(shè)計(jì)
摘要: 本文研究基于服務(wù)機(jī)器人的單目視覺系統(tǒng),。它處理的是二維圖像,是基于對無遮擋物體顏色和形狀的識別以及3D目標(biāo)物體的平動跟蹤,。
Abstract:
Key words :

隨著計(jì)算機(jī)科學(xué)和自動控制技術(shù)的發(fā)展,,越來越多的不同種類的智能機(jī)器人出現(xiàn)在工廠、生活當(dāng)中,,機(jī)器人視覺系統(tǒng)作為智能機(jī)器人系統(tǒng)中一個重要的子系統(tǒng),,也越來越受到人們的重視。它涉及了圖像處理,、模式識別和視覺跟蹤等領(lǐng)域,。不同種類的機(jī)器人由于工作的重點(diǎn)不一樣,它的視覺系統(tǒng)在軟件或硬件上都有著細(xì)微的差別,。本文研究基于服務(wù)機(jī)器人的單目視覺系統(tǒng),。它處理的是二維圖像,是基于對無遮擋物體顏色和形狀的識別以及3D目標(biāo)物體的平動跟蹤,。

視覺系統(tǒng)是一個非常復(fù)雜的系統(tǒng),,它既要做到圖像的準(zhǔn)確采集還要做到對外界變化反應(yīng)的實(shí)時性,,同時還需要對外界運(yùn)動的目標(biāo)實(shí)時跟蹤,。因此,視覺系統(tǒng)對硬件和軟件系統(tǒng)都提出了較高的要求,。目前比較流行的足球機(jī)器人技術(shù),,它的視覺系統(tǒng)屬于比較典型的快速識別和反應(yīng)類型。一般情況下,,它是通過彩色標(biāo)志定標(biāo)的方法來達(dá)到對隊(duì)員和目標(biāo)的識別,,以及通過擴(kuò)展卡爾曼濾波器的預(yù)測功能來實(shí)現(xiàn)對目標(biāo)的跟蹤功能。在硬件上,,采用一個現(xiàn)成的攝像機(jī)來實(shí)現(xiàn)一個機(jī)器人的圖像采集系統(tǒng),。

本系統(tǒng)在設(shè)計(jì)上采用CMOS圖像傳感器代替CCD類型傳感器進(jìn)行采集圖像,,DSP處理芯片TMS320VC5509A進(jìn)行圖像處理以及作為CPU控制,在設(shè)計(jì)過程中,,為了直觀顯現(xiàn)機(jī)器人視覺系統(tǒng)識別和跟蹤的效果,專門采用了一個TFT格式的液晶來直觀顯示,。軟件上,,采用了一部分足球機(jī)器人的視覺技術(shù)來達(dá)到對目標(biāo)的快速識別,通過全局的特征矩構(gòu)建的雅可比矩陣達(dá)到對目標(biāo)的自適應(yīng)跟蹤,。

1 硬件部分設(shè)計(jì)

圖1為系統(tǒng)硬件電路的功能模塊框圖,。

 

http://www.21ic.com/d/file/201212/8ebc9b161a846e5f08d995e332a478bf.jpg

 

1.1 圖像采集

視覺鏡頭把外部的圖像信息成像在圖像傳感器的面陣單元上。目前流行的圖像傳感器有面陣CCD(Charged Coupled Device,,電荷耦合器件)型和面陣CMOS兩種,。相比較CCD型的圖像傳感器,,CMOS圖像傳感器的有源像素單元為每一個像素提供了放大器,只需一個單供電低邏輯電平電壓,,功耗只相當(dāng)于CCD的十分之一,。CMOS圖像傳感器內(nèi)部集成了A/D轉(zhuǎn)換部分,直接輸出數(shù)字信號,?;谶@些因素,本系統(tǒng)采用了Omnivision公司推出的CMOS彩色圖像傳感器OV7635,。

OV7635的分辨力為640X480,,能輸出3種格式的8位數(shù)據(jù):YCbCr4:2:2模式、RGB4:2:2模式和RGB原始數(shù)據(jù)模式,。輸出VGA格式最大可達(dá)到30fps(fps:每秒幀數(shù)),。能工作在逐行掃描下和隔行掃描下。OV7635有主模式和從模式兩種工作模式,。在主模式下,,同步信號和時鐘不由外圍設(shè)備控制。在從模式下,,OV7635的場同步信號VSYNC,,行同步信號HREF以及系統(tǒng)的晶振頻率XCLK均由外部設(shè)備控制。本系統(tǒng)采用的是主模式,。OV7635通過I2C總線配置片內(nèi)寄存器,,使其輸出原始數(shù)據(jù)。系統(tǒng)上電復(fù)位后,,由DSP芯片的I2C總線信號對CMOS寄存器初始化,。然后OV7635就按要求輸出圖像信號。包括行同步信號HREF,,場同步信號VSYNC,,像素時鐘信號PCLK,數(shù)字圖像信號,。

1.2 液晶顯示

為了很直觀的看到視覺系統(tǒng)對人的識別和跟蹤效果,,采用了一片INNOLUX公司的PT035TN01液晶顯示屏。為了不增加對DSP的負(fù)擔(dān),,同時也為了實(shí)時看到對外界目標(biāo)物體的跟蹤效果,,液晶顯示的數(shù)據(jù)不經(jīng)由DSP,直接通過傳感器OV7635輸出的圖像數(shù)據(jù)信號和CPLD控制時序來進(jìn)行顯示,。PT035TN01是3.5英寸TFT格式的液晶,,分辨力為320×3(RGB)×240,液晶IF1,、IF2兩輸入控制腳對輸入的數(shù)據(jù)格式進(jìn)行選擇:串行RGB格式,、CCIR601格式,、CCIR656格式。液晶的掃描模式有4種,。本視覺系統(tǒng)采用的輸入數(shù)據(jù)格式是CCIR601格式,,掃描模式為由上到下和左到右的掃描模式。

在CCIR601格式下,,圖像傳感器輸出的像素時鐘PCLK通過CPLD二分頻作為液晶的工作時鐘,,圖像傳感器輸出的行同步信號HREF經(jīng)過CPLD的處理后作為液晶的行同步信號HIS,這樣,,在CPLD控制下,,圖像傳感器OV7635輸出的數(shù)據(jù)信號送入液晶中進(jìn)行顯示。

1.3 時序控制

OV7635輸出的場同步信號VSYNC,,行同步信號HREF以及像素時鐘信號PCLK接至CPLD芯片,,產(chǎn)生控制信號把OV7635輸出的數(shù)據(jù)信號存入FIFO幀存儲器AL422B中,以及產(chǎn)生液晶的時鐘和行同步信號控制液晶的顯示,。CPLD采用了ALTERA公司的EPM7064芯片,。在CPLD中完成了對FIFO的寫控制、通知DSP讀信號,、液晶的時鐘信號的產(chǎn)生等功能,。

CPLD接收場同步信號VSYNC,此信號的下降沿表示圖像傳感器輸出一幀的開始,,此時CPLD產(chǎn)生WRST負(fù)脈沖復(fù)位FIFO的寫指針,。場同步信號VSYNC下降沿后,,判斷行同步信號HREF的上升沿到來,,接著利用像素時鐘信號PCLK作為寫時鐘WCK將圖像數(shù)據(jù)直接存儲到FIFO中,當(dāng)存到一定的數(shù)后,,就及時發(fā)信號給DSP,,以便DSP讀取數(shù)據(jù),本系統(tǒng)采用的是一個中斷INT0來通知DSP,。此時DSP可以讀數(shù)據(jù)也可以不讀,,視處理的速度來定。讀數(shù)據(jù)時,,可利用RD和片選,,產(chǎn)生RCK信號。DSP讀取的速度不能太快,,以讀取速度小于寫速度為原則,。

在對液晶的邏輯時序控制上,由于圖像輸出的信號是640×480的像素,,而液晶的顯示為320×240的格式,。所以利用CPLD把圖像傳感器輸入的像素時鐘信號PCLK進(jìn)行二分頻產(chǎn)生液晶的時鐘信號控制液晶的顯示,,同時對行同步信號進(jìn)行隔行有效從而達(dá)到液晶對圖像的顯示。CPLD中的程序編寫用的采用了硬件描述語言VHDL,,在QUARTUSⅡ軟件平臺上進(jìn)行編寫的,。由于在選用芯片時采用的是EPM7064S系列的44腳PLCC封裝的,只能工作在5V電壓情況下,,其輸出的高電平信號是5V,,必須通過處理才能接入系統(tǒng)中工作在3。3V狀態(tài)下的芯片器件,。

1.4 幀存儲器選擇

幀存儲器有需要外部提供地址線的RAM和不需要外部提供地址線的FIFO,,為了簡化CPLD的設(shè)計(jì)。采用了FIFO的幀存儲器,。FIFO又可以分為基于動態(tài)存儲的DRAM和基于靜態(tài)的SRAM,。基于靜態(tài)SRAM的優(yōu)點(diǎn)是不需要刷新電路,,但容量小,,需要多片才能存儲一幀數(shù)據(jù);基于DRAM的優(yōu)點(diǎn)是容量大,只需一片就能存儲一幀數(shù)據(jù),,缺點(diǎn)是必須有刷新電路,。本設(shè)計(jì)中采用的是Averlogic公司的大容量FIFO動態(tài)存儲芯片AL422B。其刷新電路比較簡單,,僅需WCK或RCK提供大于1M的不間斷脈沖即可,。AL422B的存儲容量為3MB,由于系統(tǒng)一幀的信息通常包含640×480個彩色像素,,每個像素占用2個字節(jié),,可存儲1幀圖像的完整信息,其工作頻率可達(dá)50MHz,。

1.5 視頻處理DSP

在選用DSP時,,在兼顧處理速度,存儲容量,,現(xiàn)有條件下的加工工藝水平,,以及性價比方面,選用了TI公司的144腳封裝的TMS320VC5509A,,此芯片的最高工作頻率可達(dá)到200MHz,,具有很高的處理速度。

DSP收到來自CPLD的讀通知信號后開始讀取AL422B中的視頻數(shù)據(jù),。為了方便處理數(shù)據(jù),,在DSP外圍擴(kuò)展了一個的SDRAM。芯片采用的是HYNIX公司的HY57V161610E,,此芯片的存儲容量為1M×16bits,。

當(dāng)DSP上電復(fù)位后,,通過采樣GPIO0~GPIO3的狀態(tài),根據(jù)采樣的狀態(tài)來進(jìn)行什么樣方式的程序裝載,。本系統(tǒng)的采用外接的flash存儲芯片的SPI口對DSP進(jìn)行程序裝載,,接著通過DSP的I2C口對圖像傳感器進(jìn)行寄存器初始化。圖像傳感器開始輸出信號,。整個系統(tǒng)開始進(jìn)入工作,。

DSP作為高速的處理器,主要用于圖像的處理,。由于本視覺系統(tǒng)要完成識別和跟蹤功能,,數(shù)據(jù)的處理量是很大的。在完成圖像處理的同時,,DSP也作為控制器使用完成對控制器的控制,,從而構(gòu)成視覺跟蹤系統(tǒng)。

2 軟件部分設(shè)計(jì)

由于本系統(tǒng)采用的是顏色和形狀相結(jié)合的辦法對無遮擋目標(biāo)物體的識別,。為了達(dá)到機(jī)器人實(shí)時快速的目的,,在軟件方法上,主要采用了目前常用的足球機(jī)器人的顏色識別方法,,目前比較常見是基于閾值向量的顏色判斷法,。下面簡述顏色識別原理。

2.1 色彩空間選擇

對于采用基于彩色圖像分割的方法識別目標(biāo)時,,首先要選擇合適的顏色空間,,常用的顏色空間有RGB、YUV,、HSV,、CMY等。顏色空間的選擇直接影響到圖像分割和目標(biāo)識別的效果,。

RGB:是最常用的顏色空間,,其中亮度等于R,、G,、B3個分量之和。RGB顏色空間是不均勻的顏色空間,,兩個顏色之間的知覺差異與空間中兩點(diǎn)間的歐氏距離不成線性比例,,而且R、G,、B值之間的相關(guān)性很高,,對同一顏色屬性,在不同條件(光源種類,、強(qiáng)度和物體反射特性)下,,RGB值很分散,,對于識別某種特定顏色,很難確定其閾值和其在顏色空間中的分布范圍,。因此通常會選擇能從中分離出亮度分量的顏色空間,,其中最常見的是YUV和HSV顏色空間。

HSV:接近人眼感知色彩的方式,,H為色調(diào)(Hue),,S為色飽和度(Saturation),V為亮度(Value),。色調(diào)H能準(zhǔn)確地反映顏色種類,,對外界光照條件變化敏感度低,但是H和S均為R,、G,、B的非線性變換,存在奇異點(diǎn),,在奇異點(diǎn)附近即使R,、G、B的值有很小變化也引起變換值有很大的跳動,。

YUV:RGB顏色空間線性變化為的亮度-色彩空間,。是為了解決彩色電視機(jī)與黑白電視機(jī)的兼容問題而提出的。Y表示亮度(Luminance),,UV用來表示色差(Chrominance),。YUV表示法的重要性是它的亮度信號(Y)和色度信號(U、V)是相互獨(dú)立的,。所謂色差是指基色信號中的3個分量信號(即R,、G、B)與亮度信號之差,。

因此,,針對以上原因,本系統(tǒng)在采用的是YUV色彩空間,。

YUV格式與RGB存在如下關(guān)系:

http://www.21ic.com/d/file/201212/0e43f39a1f10d49813ea590883ca388c.jpg

2.2 閾值確定和色彩判斷

在確定閾值時,,首先通過采集樣本進(jìn)行訓(xùn)練,從而得到預(yù)定的幾種顏色在YUV空間的分量的上下閾值,,如圖2所示,。

http://www.21ic.com/d/file/201212/b52eb481e2221614f1505d256b74f620.jpg

當(dāng)一個待判定的像素在色彩空間中的位置落在這個長方體中時,就認(rèn)為該像素屬于要找的顏色,,從而完成對圖像顏色的識別,。在Y空間中,Y值表示亮度,因它的變化很大,,所以只考慮了U和V的值,,在進(jìn)行顏色判斷時,首先分別建立U,、V的閾值向量,。

由于在系統(tǒng)中圖像傳感器的數(shù)字信號是8位,即1Byte,,共255Byte,,系統(tǒng)最多能判定8種顏色。在顏色識別后進(jìn)行圖像分割,,在圖像分割中采用了種子填充算法,,其整個種子的填充是和像素點(diǎn)的顏色同時進(jìn)行的,一開始不是對所有的像素進(jìn)行處理,,而是分塊進(jìn)行的,,本系統(tǒng)采用的塊是32×24像素,這樣計(jì)算量大大減小,。當(dāng)中心點(diǎn)是所要識別的顏色時,,就以這個點(diǎn)為種子向四周擴(kuò)散,并判定周圍像素點(diǎn)的顏色,,直到填滿整個塊,。在這過程中,同時對目標(biāo)進(jìn)行形狀識別,。本系統(tǒng)采用了基于全局的特征向量的識別算法來進(jìn)行識別,。同時也為構(gòu)建雅可比矩陣得到需要的矩特征量。圖3為圖像識別分割流程圖,。

http://www.21ic.com/d/file/201212/b6953979d16cdb5e2d3c41d42b233f0c.jpg

2.3 視覺跟蹤軟件原理

當(dāng)目標(biāo)物體被識別以后,,視覺系統(tǒng)將調(diào)整鏡頭使目標(biāo)位于視野的中心。一旦物體運(yùn)動,,視覺系統(tǒng)將進(jìn)行對目標(biāo)物體的跟蹤,。

在機(jī)器人視覺跟蹤系統(tǒng)上,采用無定標(biāo)的視覺跟蹤系統(tǒng),。無定標(biāo)的視覺跟蹤不需要事先對攝像鏡頭進(jìn)行定標(biāo),,而是應(yīng)用自適應(yīng)控制方面的原理,在線的實(shí)時調(diào)整圖像雅可比矩陣,。通過二維的圖像特征信息反饋,,這種方式對攝像機(jī)模型誤差和機(jī)器人模型誤差、圖像誤差,、圖像噪聲不敏感。基于圖像跟蹤的視覺跟蹤控制系統(tǒng),,如圖4,。

 

http://www.21ic.com/d/file/201212/f4b82a09e01d9e6a3fe17f3996ebe0e5.jpg

 

控制量c為機(jī)器人頭部的控制系統(tǒng)。首先把目標(biāo)放在機(jī)器人視野的前方采集到期望的圖像,,從期望圖像中抽取期望的特征集,,作為視野跟蹤控制系統(tǒng)的期望輸入,從而完成任務(wù)需要的視野特征集定義,。在實(shí)時控制系統(tǒng)中,,由機(jī)器人的圖像傳感器獲取實(shí)時采樣圖像,從中獲取實(shí)時特征集,,這樣構(gòu)成一個視野反饋,,引導(dǎo)機(jī)器人完成跟蹤任務(wù)。區(qū)別于圖像的簡單幾何特征,,本系統(tǒng)選用的視覺特征集為全局的圖像描述—圖像矩,。

根據(jù)矩特征變化量與相對位姿變化量之間的關(guān)系矩陣,即圖像雅可比矩陣,,然后利用推導(dǎo)的圖像雅可比矩陣,,設(shè)計(jì)了視覺跟蹤控制器,完成系統(tǒng)對3D目標(biāo)物體的平動跟蹤,。

3 實(shí)驗(yàn)結(jié)果

圖5為DSP為clkout腳輸出波形,,表明DSP的內(nèi)部時鐘電路工作正常。圖6的圖像傳感器輸出數(shù)據(jù)波形證明了圖像傳感器工作正常,。圖7的DSP采集到的圖像數(shù)據(jù),,可以確定整個圖像采集硬件電路工作正常。

 

http://www.21ic.com/d/file/201212/dc97e31e5d7fb0871828d59faa705374.jpg

 
http://www.21ic.com/d/file/201212/e6b28a07f82634d1005fa90a822d54b0.jpg

4 結(jié) 論

針對服務(wù)機(jī)器人的視覺系統(tǒng),,本文通過構(gòu)建它的硬件系統(tǒng)和軟件系統(tǒng)完成了整個系統(tǒng)的設(shè)計(jì),。在硬件系統(tǒng)上,,采用了CMOS圖像傳感器,,CPLD時序控制,,異步動態(tài)FIFO的數(shù)據(jù)緩存,,以及高速DSP處理器構(gòu)成了一個典型的圖像采集系統(tǒng),,并調(diào)試輸出了圖像信號,。在軟件設(shè)計(jì)上,,采用了足球機(jī)器人的彩色識別和彩色分割識別技術(shù)去完成視覺系統(tǒng)快速準(zhǔn)確的識別,采用基于動態(tài)的工作方式以及采用基于圖像的雅可比矩陣的控制原理,,去實(shí)現(xiàn)自適應(yīng)補(bǔ)償跟蹤控制系統(tǒng),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。