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