挑戰:
基于機器視覺技術,設計出一套高效、可靠的彈簧自動檢測系統,使之能夠代替操作人員繁瑣的勞動。該系統在實現準確識別缺陷與精確測量尺寸的同時,還應滿足實時性、可靠性、便于維護等要求。
?
?
解決方案:
系統的硬件部分主要基于線掃描影像系統。運動機構配合線陣相機采集彈簧展開圖像后,經NI PCI-1428圖像采集卡送入計算機進行處理。軟件部分則以LabVIEW為開發平臺,結合IMAQ、SQL Toolkit等開發包在短時間內開發彈簧自動檢測系統,檢測彈簧表面缺陷及尺寸(包括彈簧自由長度、線徑、節距及有效圈數)。
引言
彈簧表面質量檢測是彈簧加工的重要環節。檢測時,人們通過各種試驗方法對彈簧的性能進行測定,從而把彈簧的質量定量數值化,為企業的質量管理與追蹤提供正確的評定依據。彈簧的成品檢驗主要包括對彈簧的外觀檢測、尺寸檢測、負荷檢測等內容,這里我們主要完成對彈簧的外觀檢測和尺寸檢測(包括彈簧長度、線徑、線徑間距和有效圈數)。
國內現有的彈簧檢測方法一般是人工用游標卡尺等工具目測,這種方法不僅效率低,而且誤差大。有些公司也從國外進口先進設備進行彈簧自動檢測,這一方面大大增加了生產成本,另一方面設備的維護也很困難。針對以上不足,自主開發基于機器視覺的彈簧自動檢測系統具有十分重要的意義。該系統主要基于NI公司的LabVIEW圖形編程環境進行開發,界面簡潔友好,方便檢測人員操作。對于同一規格的彈簧,系統在得到彈簧的所有數據后與對應標準值進行比對,對彈簧進行分類。實驗結果表明,相比傳統的人工檢測方法,該方法檢測速度快,精度更高,可靠性更強。
一. 彈簧檢測平臺硬件構成
1.1檢測系統的組成部分
彈簧自動檢測系統的硬件構成如圖1所示,彈簧水平置于白色旋轉軸上,由步進馬達驅動軸轉動。PLC除了負責發出脈沖驅動馬達旋轉外,也將此脈沖作為外部觸發信號接入圖像采集卡,以保證采集到等比例的圖像。相機采用德國Basler公司的線陣相機系列Basler L101k-2k,配合NI公司的PCI-1428圖像采集卡一起完成圖像的采集工作。采集的彈簧展開圖如圖1所示。相機采集完一幀彈簧的展開圖后,經圖像采集卡送入計算機進行處理。計算機主要完成硬件的配置及初始化、圖像處理、數據分析與保存等功能。經圖像處理得到彈簧表面缺陷和尺寸的關鍵參數后,計算機將其與對應規格的彈簧標準庫信息進行比對,以標識不合格彈簧。
圖 1 彈簧自動檢測系統示意圖
1.2線陣相機與采集卡的配合
線陣相機的取像原理與面陣不同,它每次只采集一行圖像,只有在鏡頭與被拍攝物體之間存在相對運動時才能采完一幀完整的二維影像。圖2中,縱向為線陣傳感器的方向,其分辨率由線陣CCD決定;橫向表示相機的掃描方向,其分辨率由步進電機的最小步距決定。電機運動速度過大,圖像會被壓縮,如圖2(b)所示;速度太小,圖像則會被拉伸,如圖2(c)。
圖 2 運動速度不同時的對應成像效果
為了得到等比例的圖像,設置相機工作于外部邊沿觸發模式,如圖3。在這種模式下,相機的線掃率完全由外部信號的頻率決定,兩者關系公式:線掃率=1/外部信號頻率。NI公司的PCI-1428圖像采集卡提供了四對外部觸發端口(分別從Trig_(0)到Trig_(3),輸入信號類型為TTL電平),支持線陣相機的外同步取像模式。將PLC發出的脈沖接入PCI-1428采集卡的任一外部觸發端口,這樣就實現了馬達轉速與線掃率之間的對應。MAX(Measurement & Automation Explorer)是NI公司開發出來方便用戶對各種硬件進行設置和測試的軟件。在MAX中,可以根據需要配置采集卡的基本參數,如取像模式,圖像大小,觸發信號的類型等。
圖 3 外部邊沿觸發模式(ExSync,Edged-controlled Mode)
二. 彈簧檢測部分的關鍵模塊
彈簧自動檢測系統的軟件部分采用NI公司的LabVIEW圖形編程語言開發。LabVIEW直觀的圖標操作、高效的多線程并行處理以及方便的模塊化特性使得程序的開發周期大大縮短,程序執行效率高且擴展能力強,便于隨時查錯和修改。彈簧檢測部分的流程如圖4所示,程序主要由幾個功能模塊組成:彈簧標準庫更新、圖像采集、圖像處理以及數據分析處理模塊。
圖 4 圖像處理主程序流程
2.1 彈簧標準庫
在本系統中,彈簧的規格是以彈簧的外徑尺寸來區分的。彈簧標準庫中包含兩類信息:不同規格彈簧的標定信息和對應的標準尺寸。相機位置固定后,圖像X方向單位象素表示的實際尺寸是不變的,而Y方向的實際尺寸△Li與彈簧外徑成正比。因此,我們需要事先知道△Li,才能得到彈簧的實際尺寸值。由于標準庫不可能已經包含所有規格彈簧的信息,系統還添加了標準庫的擴展功能,檢測人員可以隨時擴充標準庫信息。
圖 5 添加標定庫信息部分
2.2 圖像采集
對于線陣圖像的外部觸發取像,IMAQ提供了兩種基本觸發模式:可變高度采集(Variable Height Acquisition)和線觸發采集(Trigger Each Line)。本文采用兩種采集方式相結合的方法。因為待測彈簧外徑大小可變,VHA采集模式可以適應變高度的圖像采集,Trigger Each Line模式則保證了相機的線掃率與馬達速度同步。
圖 6 圖像采集子VI
開始采集前,應先做這幾步工作:
(1)IMAQ Init函數對采集卡進行初始化;
(2)在IMAQ Configure List函數對緩沖單元進行配置。這里每個單元要在For循環內單獨開辟空間;
(3)設置觸發類型為Trigger Each Line。要注意的是,使用VHA模式前應在MAX中預先設置好圖像的最大高度Height(本應用中設置該值為1000),相機采集完1000行圖像后就會自動停止采集。
2.3 圖像處理
對于機器視覺領域,NI提供了自動檢測視覺生成器NI Vision Builder AI和Vision Assistant軟件輔助圖像處理。在它們交互式菜單驅動的環境下,用戶無需編程,即可簡便的進行機器視覺應用開發。此外,Vision Builder和Assistant還可以自動生成LabVIEW或者C代碼,這在很大程度上簡化了編程的工作,同時也為開發平臺的擴展提供了可能。
Image Mask屏蔽
對于彈簧表面缺陷的檢測,我們感興趣的只是彈簧線表面的信息,因此,可以利用Image Mask把背景、彈簧線間隙等部分屏蔽。Image Mask函數有兩種方式進行屏蔽,一是直接在圖像上選擇ROI區(可以為矩形、橢圓等);另一種方法則是導入已有的mask圖像。根據圖像特點,這里選擇第二種方法。
為了得到彈簧線ROI區域,首先用類內方差法對彈簧原始灰度圖進行二值化,然后用Fill Holes函數填充彈簧表面缺陷區域,得到無損的彈簧二值圖,最后對整幅圖進行腐蝕即可得到所需的mask文件。在圖7中可看到,如果最后不對圖像進行腐蝕的話將會有彈簧線邊緣存在,這對我們分析表面缺陷是無意義的。得到了彈簧輪廓的mask圖像后,在Image Mask函數中導入此文件,即可得到僅包含表面缺陷的灰度圖。
?
圖 7 未經腐蝕和經過腐蝕后的mask圖像對比
顆粒過濾與分析
對剩下的ROI部分用閾值法二值化,得到包含表面缺陷和噪聲的二值圖像。經腐蝕膨脹后,用Particle Filter函數過濾掉可疑微小顆粒,即得到彈簧表面缺陷的圖像。利用Particle Analysis函數得到顆粒的面積大小,經標定信息換算得到表面缺陷的實際面積。Particle Analysis函數提供了近百種顆粒參數的結果,包括顆粒的個數、周長、方向等等。
2.4 利用SQL Toolkit訪問數據庫
LabVIEW SQL Toolkit(又被稱作為LabVIEW Database Connectivity Toolset)是用于數據庫訪問的附加工具包,它集成了一系列的高級功能模塊,這些模塊封裝了大多數的數據庫操作和一些高級的數據庫訪問功能,支持ODBC的本地或遠程數據庫。該工具包對數據庫的訪問可以通過udl文件,也可以通過直接訪問數據庫文件的形式,方便了單機文件的發布與應用。該庫分為通用VI與高級VI,在處理一般的數據庫問題時,使用通用VI能夠快速實現數據庫的查詢存儲等基本功能。而高級功能如:帶參數查詢,調用存儲過程等則可以使用高級VI來相應的實現。總體而言,在檢測系統中能夠結合LabVIEW SQL Toolkit進行數據庫的操作,提高了編程的快速原型化。
2.5 數據分析與測試結果
圖8是彈簧自動檢測系統的主界面。主程序主要實現彈簧的檢測、歷史數據查詢及標準庫更新的功能。為了方便檢測人員操作,界面設計盡量簡單。為了測試算法的穩定性與準確性,我們用一組10個表面帶缺陷的彈簧進行檢測,結果如圖9所示。結果表明,彈簧尺寸的檢測精度完全符合要求,偏差基本在±0.2mm以內,對同一個彈簧重復檢測的準確率為100%。
圖 8 檢測程序運行主界面
圖 9 樣本缺陷彈簧測試結果
三. 結論
在彈簧的質量檢測過程中引入機器視覺,和原人工檢測系統相比,其優勢體現在:
● 檢測精度高。人工檢測彈簧的要求誤差為±0.5mm以內,而視覺檢測的尺寸能夠實現檢測誤差在±0.1mm以內;
● 檢測速度快。人工檢測一個彈簧的時間大概為3s,該系統檢測時間為1s;
● 人工檢測有情緒,且人眼易于疲勞,不易保持檢測效果;然而視覺檢測效果穩定,對同一個彈簧重復檢測的準確率為100%,而且可 24 小時不停檢測。
現在機器視覺在工業上的應用越來越廣泛,但國內結合線掃描系統,將機器視覺用于彈簧檢測方面的應用尚為空白。由于筆者經驗尚淺,整個系統的開發過程遇到了很多問題,從方案的選擇、硬件系統的搭建到圖像處理算法的研究都花費了不少的精力和時間。事實證明,選擇LabVIEW作為開發平臺是明智的。它簡便易學、功能強大,豐富的實例庫、完善周到的網絡支持,都使得整個開發可以著重于算法的設計,無需在程序的編寫方面花費太多時間。機器視覺是一種通用性很強的技術,相關技術一致,應用差異明顯是各種機器視覺應用系統的顯著特點。因此,該系統的開發對于機器視覺在其他領域的應用也有一定的參考意義。
評論
查看更多