趙煥宇 / 大連市計(jì)量檢定測試所
基于LabVIEW的水平儀自動(dòng)檢測裝置
趙煥宇 / 大連市計(jì)量檢定測試所
結(jié)合步進(jìn)電機(jī)驅(qū)動(dòng)與圖像處理技術(shù),設(shè)計(jì)了一種基于LabVIEW和NI Vision的水平儀自動(dòng)檢測裝置。采用高清攝像頭讀取目標(biāo)圖像信息,利用圖像處理的方法實(shí)現(xiàn)圖像的去噪與目標(biāo)定位,實(shí)現(xiàn)微米級的分辨力,檢測系統(tǒng)自動(dòng)給出檢測結(jié)果報(bào)表。利用LabVIEW的圖形化語言,實(shí)現(xiàn)了軟件設(shè)計(jì)的快速開發(fā),降低了軟件開發(fā)的難度。通過對圖像采集系統(tǒng)及步進(jìn)電機(jī)驅(qū)動(dòng)電路的大量實(shí)驗(yàn),證明了設(shè)計(jì)方法可靠實(shí)用,提高了檢測效率,系統(tǒng)各個(gè)模塊配合良好,可以準(zhǔn)確可靠地得到檢測數(shù)據(jù),在實(shí)際工作中得到了很好的驗(yàn)證。
水平儀檢測;視覺處理;LabVIEW;NI Vision
目前國內(nèi)計(jì)量檢定機(jī)構(gòu)大都使用杠桿螺絲副式水平儀檢定裝置檢定氣泡式水平儀分度線示值誤差。檢定時(shí)通過人工轉(zhuǎn)動(dòng)手輪帶動(dòng)杠桿螺絲副使工作臺產(chǎn)生微小傾角變化,通過人工判斷水泡分度線誤差。近年來,國內(nèi)相關(guān)生產(chǎn)廠家也對水平儀檢定器產(chǎn)品進(jìn)行了不同程度的技術(shù)改進(jìn),用光柵尺和數(shù)顯裝置替代了微分筒讀數(shù),既消除了檢定過程中機(jī)械部分螺紋回程誤差,又可以很大程度提高讀數(shù)準(zhǔn)確度,但卻未能在根本上消除完全憑主觀判斷水泡與分度線相對位置所帶來的(因檢定人員個(gè)體判定標(biāo)準(zhǔn)差異導(dǎo)致檢測結(jié)果的)重復(fù)性誤差;同樣也無法解決要對分度線逐一靜止檢定,工作效率較低等諸多問題[1]。
本文所闡述的水平儀自動(dòng)檢測裝置是針對現(xiàn)有水平儀檢定裝置進(jìn)行自動(dòng)化和智能化的技術(shù)改造,以步進(jìn)電機(jī)代替人工為系統(tǒng)提供勻速可控轉(zhuǎn)動(dòng),利用高清鏡頭進(jìn)行圖像采集和處理,替代人眼觀測。采用NI公司的LabVIEW軟件和NI Vision模塊開發(fā)上位機(jī)軟件系統(tǒng),對校準(zhǔn)數(shù)據(jù)進(jìn)行量化分析,實(shí)現(xiàn)試驗(yàn)過程動(dòng)態(tài)連續(xù)檢測,能夠大大提高檢定系統(tǒng)準(zhǔn)確度和工作效率。
系統(tǒng)由計(jì)算機(jī)作為上位機(jī)、步進(jìn)電機(jī)控制及脈沖數(shù)據(jù)采集、圖像采集三部分組成,如圖1所示。步進(jìn)電機(jī)配合減速器對水平儀檢定器的手輪施加勻速轉(zhuǎn)動(dòng),被檢水平儀的氣泡會隨水平儀檢定器工作面的均勻傾斜變化向一側(cè)做勻速運(yùn)動(dòng),在氣泡頂端勻速通過每條被檢刻線并與之相切時(shí),圖像采集系統(tǒng)對應(yīng)進(jìn)行識別,計(jì)算機(jī)同時(shí)對步進(jìn)電機(jī)控制模塊發(fā)送讀取脈沖命令,上位機(jī)對信號間隔內(nèi)步進(jìn)電機(jī)脈沖數(shù)作出統(tǒng)計(jì),與系統(tǒng)存儲的標(biāo)準(zhǔn)值比較,輸出檢定結(jié)果,以及形成數(shù)據(jù)報(bào)表。整個(gè)檢定過程操作人員只需將被檢水平儀置于工作臺上,對檢測裝置進(jìn)行初始設(shè)置。啟動(dòng)系統(tǒng)后,就不再需要人工介入,檢定系統(tǒng)將自動(dòng)完成對全部刻線的檢定并輸出檢定結(jié)果。
圖1 系統(tǒng)示意圖
2.1 圖像采集和處理
為了更有效地獲取圖像中有效的信息,機(jī)器視覺檢測系統(tǒng)往往需要對采集到的圖像進(jìn)行一定的預(yù)加工,其中包括連續(xù)圖像的獲取、對圖像的預(yù)處理、以及根據(jù)處理后的圖像進(jìn)行分析。圖像獲取是通過攝像頭獲取水平儀玻璃管中液泡實(shí)時(shí)運(yùn)動(dòng),圖像質(zhì)量的好壞直接影響將要根據(jù)此圖像進(jìn)行的自動(dòng)檢測,所以選擇了1080 P高清工業(yè)鏡頭作為圖像采集硬件。考慮到連續(xù)采集,將一些初始化操作提取出來,在每次連續(xù)采集開始時(shí),僅作一次初始化,可以提高程序的工作效率。利用NI Vision連續(xù)圖像的采集程序,如圖2所示。
圖2 利用NI Vision連續(xù)圖像的采集程序
2.2 圖像的理解與識別
本系統(tǒng)的控制信息以及檢測數(shù)據(jù)都是根據(jù)攝像頭采集到的圖像數(shù)據(jù)進(jìn)行的,能否得到良好的圖像直接關(guān)系到系統(tǒng)的性能,所以對圖像預(yù)處理是非常必要的,目的就是去除圖像噪聲干擾,恢復(fù)圖像的本來面目,真實(shí)可靠的圖像是數(shù)據(jù)檢測和系統(tǒng)控制的前提。根據(jù)本檢測系統(tǒng)的特點(diǎn),需要對原始圖像作濾波、平滑、銳化、增強(qiáng)處理等[2]。
檢測目標(biāo)的確定,亦即關(guān)注區(qū)ROI的設(shè)定。在機(jī)器視覺系統(tǒng)設(shè)計(jì)中,是從關(guān)注區(qū)中提取測量指標(biāo)而不是從整個(gè)圖像中提取。因?yàn)楸鞠到y(tǒng)設(shè)計(jì)思路是攝像頭和待檢水平儀始終處于相對靜止,待處理的圖像中被測物體始終保持在相同的位置和方向,唯一的變化是水平儀液泡隨水平儀檢定器手輪旋轉(zhuǎn)而運(yùn)動(dòng),所以直接定義了關(guān)注區(qū)ROI,如圖3所示。
圖3 設(shè)置ROI后在圖像中的實(shí)際效果
為了獲取水平儀分度以及液泡頂端坐標(biāo)。調(diào)用BuildKernel.VI和Convolute.VI,其中BuildKernel.VI創(chuàng)建所需要的算子,Convolute.VI使用線性的濾波器進(jìn)行濾波處理,這兩個(gè)函數(shù)配合使用,通過設(shè)置BuildKernel.VI,選擇Gradient變換突出待測目標(biāo),然后調(diào)用NI Vision函數(shù)中的IMAQ LineProfile.VI,獲取ROI直線上的像素值[3],以數(shù)組的形式返回直線上分布的像素大小,將其輸進(jìn)波形顯示控件,形成一個(gè)最大值是255、最小值為0的波形圖。尖峰的位置坐標(biāo)就是玻璃管分度和液泡頂端的位置坐標(biāo),可以通過算法程序得到像素?cái)?shù)組值的最大值以及與其對應(yīng)的索引坐標(biāo),就可以確定水平儀玻璃管分度和液泡頂端位置坐標(biāo)。顯示效果如圖4所示。
圖4 原始圖像和對應(yīng)的波形坐標(biāo)
在系統(tǒng)的硬件設(shè)計(jì)時(shí),將攝像頭固定在水平儀檢定器的平臺上,當(dāng)步進(jìn)電機(jī)帶動(dòng)檢定器手輪轉(zhuǎn)動(dòng)時(shí),通過鏡頭采集的圖像畫面中,玻璃管分度相對鏡頭靜止,只有液泡相對于鏡頭在運(yùn)動(dòng),因此怎樣判斷圖像中哪個(gè)是液泡波峰哪個(gè)是分度波峰很重要。在系統(tǒng)開始檢測工作之前,首先通過調(diào)節(jié)檢定器手輪,使水平儀玻璃管液泡右側(cè)頂端處于玻璃管中間位置,然后取得分度的坐標(biāo)值,稱為固定坐標(biāo)值。開始檢定后,隨著手輪的旋轉(zhuǎn),通過程序設(shè)定使液泡首先往屏幕一側(cè)運(yùn)動(dòng),取得一組包括活動(dòng)坐標(biāo)在內(nèi)的位置坐標(biāo)數(shù)組,通過查找數(shù)組相同元素的方法,取得多余的那個(gè)元素的數(shù)組索引,進(jìn)而通過索引值對應(yīng)的活動(dòng)波峰坐標(biāo)。無論是玻璃管分度坐標(biāo)還是液泡頂端坐標(biāo),因?yàn)槎际侨∽砸粭l水平ROI直線上,所以y坐標(biāo)都是相同的,只有x坐標(biāo)不同,其相對位置也就是x坐標(biāo)位置。
取得了液泡頂端的位置坐標(biāo)索引,這個(gè)索引加1就是其右側(cè)固定分度位置的坐標(biāo)索引,當(dāng)液泡右側(cè)x坐標(biāo)減液泡頂端x坐標(biāo),差值等于一個(gè)固定值時(shí),就認(rèn)為液泡與玻璃管分度線相切。經(jīng)過大量實(shí)驗(yàn),得出當(dāng)這個(gè)像素差值小于等于4時(shí),就是相切。同理,當(dāng)液泡往相反側(cè)運(yùn)動(dòng)時(shí),上述過程同樣可以完成。
2.3 數(shù)據(jù)的存儲和報(bào)表處理
利用LabVIEW數(shù)據(jù)庫工具包LabSQL只能操作而不能創(chuàng)建數(shù)據(jù)庫,所以必須借助第三方數(shù)據(jù)庫管理系統(tǒng),本軟件系統(tǒng)選擇了Access來創(chuàng)建數(shù)據(jù)庫。首先創(chuàng)建一個(gè)DBdata.mdb數(shù)據(jù)庫文件,然后建立數(shù)據(jù)庫鏈接,LabSQL與數(shù)據(jù)庫之間是通過ODBC連接的,用戶需要在ODBC中制定數(shù)據(jù)源名稱和驅(qū)動(dòng)程序。所以在利用LabSQL編程之前,先要在Windows操作系統(tǒng)中的ODBC數(shù)據(jù)源中創(chuàng)建一個(gè)DSN(Data Source Name,數(shù)據(jù)源名)。LabSQL與數(shù)據(jù)庫之間的連接是建立在DSN基礎(chǔ)之上的。流程如圖5所示。
圖5 LabSQL與數(shù)據(jù)庫連接框圖
連接上數(shù)據(jù)庫就可以利用LabSQL工具對數(shù)據(jù)庫進(jìn)行操作了,數(shù)據(jù)庫的操作主要是創(chuàng)建記錄、添加記錄、刪除數(shù)據(jù)、歷史記錄查詢、提取數(shù)據(jù)等操作。
報(bào)表生成是測試系統(tǒng)普遍要求的一項(xiàng)基本功能。LabVIEW的NI報(bào)表工具包封裝了Word和Excel對象,可以創(chuàng)建復(fù)雜的報(bào)表。本系統(tǒng)的所有測試數(shù)據(jù)都存入Access數(shù)據(jù)庫中,通過調(diào)用數(shù)據(jù)庫中數(shù)據(jù)生成后續(xù)工作需要的校準(zhǔn)記錄以及證書等。
通過比對的方法完成系統(tǒng)性能測試。采用傳統(tǒng)方法進(jìn)行檢測的數(shù)據(jù)與本系統(tǒng)測試數(shù)據(jù)進(jìn)行對比試驗(yàn),驗(yàn)證系統(tǒng)工作情況及性能,分析測量數(shù)據(jù)及測量過程,找到影響測量不確定度的因素并加以改進(jìn)。使用分度值為0.005 mm/m的水平儀檢定器校準(zhǔn)一臺分度值為0.02 mm/m的水平儀,傳統(tǒng)方法與改造后的裝置取得的數(shù)據(jù)分析如圖6所示。分析兩種方法取得的數(shù)據(jù)可以看出,傳統(tǒng)方法因檢定人員個(gè)體判定標(biāo)準(zhǔn)差異,導(dǎo)致校準(zhǔn)結(jié)果的重復(fù)性誤差一致性較差;同樣也無法解決要對分度線逐一靜止檢定、工作效率較低等諸多問題。
水平儀自動(dòng)檢測裝置取得的數(shù)據(jù)一致性較好,而且只要驅(qū)動(dòng)步進(jìn)電機(jī)脈沖數(shù)足夠多,裝置的準(zhǔn)確度也會得到相應(yīng)提高,能對校準(zhǔn)結(jié)果量化分析,實(shí)現(xiàn)試驗(yàn)過程動(dòng)態(tài)連續(xù)檢測,大大提高了檢定系統(tǒng)準(zhǔn)確度和工作效率。
圖6 傳統(tǒng)方法、自動(dòng)檢測數(shù)據(jù)分析
水平儀自動(dòng)檢測裝置綜合運(yùn)用視覺處理技術(shù),結(jié)合LabVIEW相關(guān)工具軟件,其中包括NI Vision、LabSQL、報(bào)表工具包,研制成功的水平儀自動(dòng)檢測裝置達(dá)到了預(yù)期的設(shè)計(jì)效果,能夠滿足水平儀校準(zhǔn)規(guī)范對檢測標(biāo)準(zhǔn)裝置的要求,節(jié)省了人力的同時(shí)也提高了檢測結(jié)果的客觀性和精確性,研究成果具有較好的應(yīng)用價(jià)值,在計(jì)量檢測行業(yè)中有很好的應(yīng)用前景。
[1] 賀凱琴.水平儀的調(diào)修及保養(yǎng)[J].中國計(jì)量,2005,5:57-58.
[2] 趙國政.步進(jìn)電機(jī)的構(gòu)造及控制技術(shù)解析[J].硅谷,2011,2: 46-47.
[3] 王慶有.圖像傳感器應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社, 2006.
[4] 王建民,浦昭邦,劉國棟.提高圖像測量系統(tǒng)精度的細(xì)分算法的研究[J].光學(xué)精密工程,1998 ,6(4): 44-50.
[5] 美國國家儀器有限公司. LabVIEW TOOL BOX [M] .Texas: 美國國家儀器有限公司,2011, 8.
[6] 陳志坤,馬曉峰.基于LabVIEW的圖像檢測系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)[J].河北理工學(xué)院學(xué)報(bào), 2003, 25(3): 40-45.
[7] Labviewfunction and VI reference manual [ Z] . USA : NI Inst ru2ment, 1996.
[8] 李瑞,周冰,胡仁喜. LabVIEW 2009中文版虛擬儀器從入門到精通[M]. 北京:機(jī)械工業(yè)出版社,2010.
[9] 楊樂平,李海濤,楊磊. LabVIEW程序設(shè)計(jì)與應(yīng)用,2版)[M]. 北京:電子工業(yè)出版社,2005.
LabVIEW-based development in automatic calibrators for the levels
Zhao Huanyu
(Dalian Institute of Measurement and Testing)
In this paper, by used stepper motor driver and image processing technology, a automatically calibrators for the levels designed, it based on LabVIEW and Ni Vision's. High de fi nition camera to read the target image information, the use of image processing methods to achieve image denoising and targeting to achieve micron-level resolution, detection system automatically gives the test results report. Use LabVIEW graphical language to achieve a rapid development of software designed to reduce the difficulty of software development. Through the image acquisition system and stepper motor drive circuit a lot of experiments, proved reliable and practical design methods to improve the detection ef fi ciency of each module with a good system, you can get accurate and reliable test data,and it has been proved in practical work.
levels calibration; vision processing; LabVIEW; NI Vision