摘要:主要介紹了機(jī)器視覺(jué)的測(cè)量原理及其在尺寸測(cè)量上的應(yīng)用,系統(tǒng)通過(guò)運(yùn)動(dòng)控制卡驅(qū)動(dòng)伺服滑臺(tái),帶動(dòng)產(chǎn)品運(yùn)動(dòng),在運(yùn)動(dòng)中通過(guò)CCD相機(jī)將被測(cè)目標(biāo)轉(zhuǎn)成圖像信號(hào)而送至影像處理卡。PC對(duì)經(jīng)初步處理的信號(hào)進(jìn)行各種運(yùn)算來(lái)抽取目標(biāo)特征,進(jìn)而轉(zhuǎn)化成尺寸測(cè)量數(shù)據(jù)。
關(guān)鍵詞:機(jī)器視覺(jué);CCD;相機(jī);影像處理卡;運(yùn)動(dòng)控制卡;測(cè)量
Abstract: The paper presents the principle of the PC-based machine vision systems and the application in range measurement. The images of the measured objects are taken by a CCD camera, and then sent to the vision card .The features of object are extracted by processing the information of images by a pc, and the final range data is obtained from these features.
Key words: Machine vision; CCD; Camera; Vision card; Motion card; Measurement
1 前言
在電子行業(yè)日新月異飛速發(fā)展的情況下,電子連接器的發(fā)展也一日千里,日益呈精巧化發(fā)展。如SMD類產(chǎn)品(如IC及連接器等)的平面度(coplanarity)一般為0.08mm~0.1mm,其間距(pitch)也由2.54mm發(fā)展到0.6mm、0.5mm甚至0.4mm。再如PC主板中CPU連接器(Socket)也由PGA發(fā)展成BGA封裝。而其生產(chǎn)過(guò)程中零件及成品的尺寸測(cè)量的在線測(cè)量用傳統(tǒng)方式已無(wú)法勝任,采用機(jī)器視覺(jué)測(cè)量漸漸被業(yè)界所接受,本文即就機(jī)器視覺(jué)在電子連接器生產(chǎn)中在線尺寸測(cè)量的具體應(yīng)用做一詳細(xì)介紹。
2 機(jī)器視覺(jué)原理及特點(diǎn)
所謂機(jī)器視覺(jué),就是用機(jī)器代替人眼來(lái)做測(cè)量及判斷。具體來(lái)講,是指通過(guò)鏡頭將被測(cè)目標(biāo)轉(zhuǎn)化為圖像信號(hào),投射至影像接受器件(一般為CCD元件)上再通過(guò)計(jì)算機(jī)進(jìn)行分析處理。CCD是英文(Charge Coupling Device)的縮寫,其中文含義為電荷耦合組件。當(dāng)不同強(qiáng)度的光線照射在CCD表面,CCD即發(fā)生光電效應(yīng),產(chǎn)生對(duì)應(yīng)分布的電荷量。通過(guò)模數(shù)轉(zhuǎn)換即可得到對(duì)應(yīng)的數(shù)字量。由于一般均采用8位模數(shù)轉(zhuǎn)換,則最低強(qiáng)度光線(黑)到最高強(qiáng)度光線(白)分成256等分(0~255),專業(yè)術(shù)語(yǔ)稱之為灰階或灰度。
當(dāng)外部影像通過(guò)鏡頭投影到一塊由很多CCD組成陣列的元件板上,每個(gè)CCD即可分到該影像的一部分。這樣計(jì)算機(jī)通過(guò)A/D轉(zhuǎn)換,讀取所有CCD的數(shù)據(jù),從而就可得到一幅完整的影像。由于CCD陣列有很多種組合,如:512*480、640*480、800*600、1024*768等等,專業(yè)術(shù)語(yǔ)稱之為解析度。其中每個(gè)CCD稱為一個(gè)像素(pixel)。當(dāng)CCD陣列已固定,如采用800*600 CCD,一幅影像即被分成800*600等份。當(dāng)計(jì)算機(jī)從CCD端取得一幅影像,即根據(jù)系統(tǒng)的灰階設(shè)定,通過(guò)二值化處理,得出影像的輪廓。即可得出指定部位輪廓的像素位置差,根據(jù)以標(biāo)準(zhǔn)量塊對(duì)每像素對(duì)應(yīng)尺寸進(jìn)行標(biāo)定,得出換算系數(shù)。從而可得出指定測(cè)量的尺寸數(shù)值。
機(jī)器視覺(jué)系統(tǒng)的特點(diǎn)是測(cè)量精確、穩(wěn)定、快速、可大幅度提高生產(chǎn)的柔性及自動(dòng)化程度以提高生產(chǎn)效率,且易于實(shí)現(xiàn)信息集成,是實(shí)現(xiàn)計(jì)算機(jī)集成制造的核心技術(shù)之一。如在一些不適合人工作業(yè)的危險(xiǎn)環(huán)境;在當(dāng)前大批量工業(yè)自動(dòng)生產(chǎn)過(guò)程中,用人工檢查產(chǎn)品質(zhì)量效率過(guò)低且精度不高;和其他一些人工視覺(jué)難以滿足要求的場(chǎng)合,機(jī)器視覺(jué)正在迅速取代人工視覺(jué)。事實(shí)上,也正因如此,在世界上現(xiàn)代自動(dòng)化生產(chǎn)過(guò)程中,機(jī)器視覺(jué)已經(jīng)廣泛用于工況監(jiān)控,成品檢驗(yàn)及其他質(zhì)量控制等領(lǐng)域。在我國(guó),這種應(yīng)用也逐漸被認(rèn)知,對(duì)機(jī)器視覺(jué)的需求也越來(lái)越多。
3 系統(tǒng)技術(shù)方案簡(jiǎn)述
本系統(tǒng)整體技術(shù)方案為:在自動(dòng)流水線上,由自動(dòng)機(jī)械手A將被測(cè)產(chǎn)品從包裝盤中用真空吸盤吸取,放置在測(cè)量承座上。由伺服滑臺(tái)帶動(dòng)向前運(yùn)動(dòng),每運(yùn)動(dòng)到一個(gè)測(cè)量位置,即通過(guò)PC觸發(fā)CCD相機(jī)取像,取像結(jié)束,伺服滑臺(tái)又運(yùn)動(dòng)到下一個(gè)測(cè)量位置,同時(shí)即對(duì)取得影像進(jìn)行處理,待全部圖像取完即測(cè)量完成。系統(tǒng)根據(jù)設(shè)定的規(guī)格判別產(chǎn)品的PASS/FAIL,如為PASS則由自動(dòng)機(jī)械手B將其取放至下一個(gè)工位;如為FAIL則由該機(jī)械手將其取放至不良品放置盒以等待處理。其系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)框圖
4 系統(tǒng)硬件架構(gòu)
系統(tǒng)主要包括CCD相機(jī)、鏡頭、光源、PC(含影像處理卡及運(yùn)動(dòng)控制卡) 、伺服執(zhí)行機(jī)構(gòu)等。其主要架構(gòu)可分為影像測(cè)量及位置控制兩大部分。
4.1 影像測(cè)量部分
(1) CCD相機(jī)
CCD相機(jī)結(jié)構(gòu)基本上與普通相機(jī)差異不大,其中最重要的不同在于普通相機(jī)的感光元件是膠卷,而CCD相機(jī)的是CCD元件。根據(jù)CCD元件結(jié)構(gòu)不同,大致可分為線陣CCD相機(jī)及面型CCD相機(jī),而線型CCD又可分單溝道線陣CCD和雙溝道線陣CCD,面陣CCD根據(jù)排列方式可分幀轉(zhuǎn)移、隔列轉(zhuǎn)移、線轉(zhuǎn)移及全幀轉(zhuǎn)移等方式;根據(jù)CCD元件辨別色彩能力分黑白型CCD相機(jī)及彩色CCD相機(jī)。在工業(yè)控制領(lǐng)域用途最廣的是面型CCD相機(jī)(黑白型)。
當(dāng)使用普通相機(jī)在拍攝快速運(yùn)動(dòng)的物體時(shí),圖像容易模糊,這要求相機(jī)縮短曝光時(shí)間即提高快門速度。在CCD相機(jī)中,可通過(guò)電子快門來(lái)實(shí)現(xiàn)。CCD相機(jī)控制每個(gè)像素的電荷積累時(shí)間,以控制入射光在CCD芯片上的作用時(shí)間,也即只將某一段時(shí)間產(chǎn)生的電荷作為圖像信號(hào)輸出,而其他時(shí)間產(chǎn)生的電荷則排放掉不予使用。這樣,就等效于縮短存儲(chǔ)電荷時(shí)間,相當(dāng)于縮短光線照射在CCD上的時(shí)間,如同加了快門一樣,這就是電子快門的工作原理。
本系統(tǒng)中采用日本日立公司KP-F3W黑白模擬CCD相機(jī),該相機(jī)內(nèi)置1/3英寸CCD,其最大像素為699(橫)*503(縱),其有效像素為647(橫)*485(縱)。其電子快門速度為1/16000,1/8000,1/4000,1/2000,1/1000,1/500,1/200可選。
(2) 鏡頭
鏡頭的選擇對(duì)系統(tǒng)來(lái)說(shuō)也很重要。普通攝像鏡頭的最小工作距離約為500mm左右,但在工業(yè)機(jī)器視覺(jué)測(cè)量,一般要求工作距離都較小,常為30mm~100mm之間。所以在使用中要采用近攝頭鏡。簡(jiǎn)單的近攝鏡頭是在普通鏡頭和CCD相機(jī)之間加入一個(gè)接圈,使CCD可以位于鏡頭的像方聚焦面之外一段距離,從而可以攝取到較近距離目標(biāo)的像,但它受到圖像清晰度的限制。一般在要求較高的機(jī)器視覺(jué)系統(tǒng)中均采用專用的近攝鏡頭。
首先,鏡頭的成像面一定要與CCD相機(jī)相匹配。CCD芯片一般有1/3英寸、1/2英寸、2/3英寸等等。鏡頭的成像面不可小于CCD芯片,當(dāng)然也不要過(guò)大。另外如焦距、景深、視野和最小工作距離等也很重要。所有的這些選擇,并沒(méi)有一成之規(guī),只能根據(jù)實(shí)際情況來(lái)決定,如每幅圖像所需覆蓋的有效工作范圍、系統(tǒng)的允許空間、被測(cè)物體是否凹凸不平等。一般來(lái)說(shuō),選擇鏡頭盡可能選擇最小工作距離較小,視野較大,且景深較大同時(shí)鏡頭本身的畸變最小。
(3) 光源
一個(gè)穩(wěn)定可靠的處理系統(tǒng),不能僅局限于在實(shí)驗(yàn)室里獲得一時(shí)性的優(yōu)質(zhì)影像,重要的是在實(shí)際的生產(chǎn)現(xiàn)場(chǎng)持續(xù)獲得高質(zhì)量,高對(duì)比度的影像。因?yàn)榕c實(shí)驗(yàn)室不同,生產(chǎn)現(xiàn)場(chǎng)環(huán)境條件會(huì)出現(xiàn)各種變化如環(huán)境光線的變化,被測(cè)物體表面狀況,材質(zhì)和傾斜角度,被測(cè)產(chǎn)品種類的更換等。為保證系統(tǒng)的穩(wěn)定性,提高照明光源的品質(zhì)是至關(guān)重要的。據(jù)有關(guān)統(tǒng)計(jì),機(jī)器視覺(jué)系統(tǒng)不穩(wěn)定的因素60%以上來(lái)自光源的選用不當(dāng)或打光方式有誤。然而,適合于各行各業(yè)的萬(wàn)能通用光源是不存在的。以業(yè)界觀念來(lái)看,適合的就是最好的。實(shí)際在選光源時(shí),一般根據(jù)實(shí)際情況和經(jīng)驗(yàn)決定選擇哪一類光源,最好能在決定前先多試用幾種以觀察效果。
常見(jiàn)的光源有白燈、鹵素?zé)簟ED光源、熒光燈。而現(xiàn)在LED光源在機(jī)器視覺(jué)上應(yīng)用越來(lái)越廣。LED光源主要有以下特點(diǎn):使用壽命長(zhǎng),反應(yīng)時(shí)間短,有紅、綠、藍(lán)等顏色可選。選好光源后,一定要注意周圍環(huán)境光源對(duì)系統(tǒng)的影響,盡可能將測(cè)量裝置用不透明的防護(hù)罩以防干擾。
本系統(tǒng)采用打正光方式,主光源為常見(jiàn)的紅光環(huán)形LED光源,再輔45。平板式光源以加強(qiáng)影像對(duì)比度,如圖2所示。
圖2 系統(tǒng)光源結(jié)構(gòu)圖
(4) 影像處理裝置
一般機(jī)器視覺(jué)系統(tǒng)采用基于單獨(dú)控制器方式或基于PC-BASE影像處理卡方式。二者各有所長(zhǎng),前者簡(jiǎn)單易用,體積較小,在機(jī)器視覺(jué)行業(yè)應(yīng)用十分廣泛;后者應(yīng)用較復(fù)雜繁瑣,但因基于PC的強(qiáng)大數(shù)據(jù)處理功能及網(wǎng)絡(luò)能力,且價(jià)格較低,于近年來(lái)發(fā)展迅速,前景可觀。
本影像處理系統(tǒng)采用凌華科技股份有限公司(ADLINK,以下簡(jiǎn)稱凌華公司)代理的EureSys Domino Lota影像卡。該卡為32 BIT PCI總線,支持DMA工作方式,內(nèi)置8Bit 32MHz A/D轉(zhuǎn)換器和8M板上緩存,同時(shí)支持2通道模擬CCD相機(jī)輸入。
4.2 位置控制部分
因本測(cè)量系統(tǒng)的位置控制如前所述,即為采用運(yùn)動(dòng)控制卡驅(qū)動(dòng)伺服電機(jī),帶動(dòng)工作滑臺(tái)運(yùn)動(dòng)。運(yùn)動(dòng)控制卡采用凌華公司(ADLINK)的PCI-8132,該卡為2軸步進(jìn)/伺服運(yùn)動(dòng)控制卡。同樣為32 Bit PCI總線,采用脈沖輸出工作方式,輸出最大頻率可達(dá)2.4MHz。可同時(shí)控制2軸電機(jī)進(jìn)行直線/圓弧插補(bǔ)。因本部分只需進(jìn)行點(diǎn)對(duì)點(diǎn)直線運(yùn)動(dòng),結(jié)構(gòu)相對(duì)較為簡(jiǎn)單,其他部分則不再詳細(xì)介紹。
5 系統(tǒng)軟件結(jié)構(gòu)
本系統(tǒng)軟件采用Windows 2000環(huán)境下Visual Basic 6.0作為開發(fā)平臺(tái),以eVISION 7.0和凌華公司所提供的運(yùn)動(dòng)控制卡動(dòng)態(tài)鏈接庫(kù)文件(*.DLL)為基礎(chǔ)開發(fā)而成的。
本系統(tǒng)軟件為適應(yīng)被測(cè)產(chǎn)品的多樣性,采用了參數(shù)化教導(dǎo)測(cè)量模式。在新建一個(gè)測(cè)量模式時(shí),系統(tǒng)根據(jù)使用者的設(shè)定,以測(cè)量畫面為單位,記錄下每個(gè)畫面的圖像處理參數(shù)和運(yùn)動(dòng)控制參數(shù)而存儲(chǔ)為測(cè)量參數(shù)文件。系統(tǒng)啟動(dòng)后,根據(jù)使用者要求調(diào)用指定的參數(shù)文件,取得各項(xiàng)參數(shù),自動(dòng)進(jìn)行測(cè)量。
系統(tǒng)軟件同樣可分影像處理部分及位置控制部分。
在影像處理軟件部分,由于EureSys Domino Lota影像卡可提供動(dòng)態(tài)連接庫(kù)文件(.DLL文件)和ActiveX控件(Evison.ocx)。在本系統(tǒng)設(shè)計(jì)時(shí)采用了ActiveX控件(Evison.ocx)。該控件功能十分強(qiáng)大,與系統(tǒng)接口方便易懂。以下就部分程序代碼做一說(shuō)明。
影像處理卡初始化子程序:
Dim ImageSizeX As Long
Dim ImageSizeY As Long
'設(shè)定系統(tǒng)信號(hào)輸入架構(gòu)為可同時(shí)接受2支CCD Camera
EConfiguration1.SetParamNm "BoardTopology", "1_1"
'設(shè)定系統(tǒng)CCD Camera的影像輸入通道為Y channel
ECamera1.Mpf = "ALPHA_Y"
'設(shè)定系統(tǒng)所使用的CCD Camera的參數(shù)文件,以使影像處理卡同CCD Camera有效通信
ECamera1.SetParamNm "CamFile", "KP-F3W_P60SA"
'讀取CCD Camera 的實(shí)際取像尺寸大小
ImageSizeX = ECamera1.GetParamNm("ImageSizeX
ImageSizeY = ECamera1.GetParamNm("ImageSizeY")
'設(shè)定顯示畫面的尺寸大小與實(shí)際CCD Camera 取像尺寸大小相同
EBW8Image1.SetSize ImageSizeX, ImageSizeY
'設(shè)定Camera1的取像Buffer為 EBW8Image1
ECamera1.Cluster = EBW8Image1
ECamera1.SetParamNm "SignalEnable", "Filled"
'設(shè)定Trigger模式
ECamera1.SetParamNm "TrIgMode", "IMMEDIATE"
'設(shè)定連續(xù)取像
ECamera1.SetParamNm "GrabCount", -1
ECamera1.SetParamNm "ChannelState", "Active"
'畫面刷新
EBW8Image1.Refresh
在影像處理軟件中,取得影像后需要對(duì)其進(jìn)行一定的前置處理,如增益調(diào)整、光線補(bǔ)償、銳化、邊緣提取等處理后才能得到一幅較好的影像以利后段測(cè)量。另外,實(shí)際上由于產(chǎn)品在裝夾過(guò)程中無(wú)法保證每次裝夾位置完全一致,為避免裝夾所造成測(cè)量誤差,需要對(duì)影像采用位置補(bǔ)償處理。
為降低系統(tǒng)處理工作量,減少不必要的處理時(shí)間。系統(tǒng)可以通過(guò)在顯示圖像上設(shè)定檢測(cè)區(qū)域,在該區(qū)域即進(jìn)行處理,區(qū)域外則不處理,從而大大節(jié)省了處理時(shí)間。在檢測(cè)區(qū)域通過(guò)圖像灰階變化而識(shí)別為邊緣,同時(shí)加以過(guò)濾,以避免影像中某些亮點(diǎn)對(duì)測(cè)量造成誤判。
以下以采集測(cè)量邊緣上的點(diǎn)坐標(biāo)數(shù)值給出子程序范例:
Dim i As Byte
Dim j As Byte
Dim SamplingPoint As Byte
Dim CenterX, CenterY As Single
'畫面刷新
EBW8Image1.Refresh
'讀取需要采集的點(diǎn)的數(shù)量
SamplingPoint = CCDMeasureParameter.FormROINumber(CurrentSetForm)
For j = 1 To SamplingPoint
If CCDMeasureParameter.FormROIArray(CurrentSetForm, j) Then
CCDEPointGauge(1).Load "D:\CCD自動(dòng)機(jī)\" & CurrentSetForm & j & ".ccd", False
CenterX = CCDEPointGauge(1).CenterX
CenterY = CCDEPointGauge(1).CenterY
For i = 2 To SamplingPoint
CCDEPointGauge(i).Load "D:\CCD自動(dòng)機(jī)\" & CurrentSetForm & j & ".ccd", False
CCDEPointGauge(i).SetDragable False, False
CCDEPointGauge(i).SetResizable False, False
CCDEPointGauge(i).SetRotatable False, False
CCDEPointGauge(i).SetCenter CenterX + (i - 1) * CCDMeasureParameter.FormROIDistance(CurrentSetForm) * 100, CenterY
Next
For i = 1 To SamplingPoint
CCDEPointGauge(i).Measure EBW8Image1.object
Next
End If
Next
值得注意的是,測(cè)量所返回的數(shù)據(jù)并不是實(shí)際的尺寸值,而是像素。要得到最后的實(shí)際尺寸數(shù)據(jù),需要對(duì)其進(jìn)行標(biāo)定。標(biāo)定的方法為:取一個(gè)標(biāo)準(zhǔn)尺寸的工件,放在系統(tǒng)進(jìn)行多次測(cè)量,去除變異的數(shù)據(jù)然后取平均值,其與實(shí)際尺寸相比較即為標(biāo)定轉(zhuǎn)換系數(shù)。系統(tǒng)在運(yùn)算時(shí),用像素值除以該系數(shù)即為測(cè)量的尺寸值。
在伺服控制軟件部分中,由于PCI-8132運(yùn)動(dòng)控制卡提供動(dòng)態(tài)鏈接庫(kù)文件,能方便地與VB開發(fā)環(huán)境相結(jié)合,系統(tǒng)可調(diào)用動(dòng)態(tài)鏈接庫(kù)文件中的函數(shù)來(lái)直接操作,以進(jìn)行原點(diǎn)回歸、直線運(yùn)動(dòng)及快速返回等。
6 結(jié)語(yǔ)
本機(jī)器視覺(jué)測(cè)量系統(tǒng)現(xiàn)應(yīng)用于手機(jī)連接器自動(dòng)生產(chǎn)線的在線測(cè)量,能對(duì)多種產(chǎn)品的二維尺寸如間距(PITCH)、長(zhǎng)度、寬度、位置等進(jìn)行快速在線測(cè)量。其CCD像素基本測(cè)量精度為0.01mm,通過(guò)軟件細(xì)分,實(shí)際測(cè)量精度可達(dá)0.003~0.005mm。經(jīng)過(guò)一年多的實(shí)際上線運(yùn)行,證明該測(cè)量系統(tǒng)運(yùn)行穩(wěn)定,測(cè)量結(jié)果精確可靠,有效地保證了產(chǎn)品品質(zhì),取得良好的經(jīng)濟(jì)效益。
參考文獻(xiàn):
[1] 王慶有. CCD應(yīng)用技術(shù)[M]. 天津大學(xué)出版社,2000.