耿浩 高鵬 羅奕
摘 要: 為了解決醫(yī)用試紙生產(chǎn)過程中紙張表面瑕疵(紙病)不易識別的問題,通過分析人工檢測方法和紙病的主要特點,設(shè)計一種基于NJ控制器的醫(yī)用試紙紙病檢測系統(tǒng)。給出該系統(tǒng)是由視覺檢測模塊和動作標(biāo)記模塊組成,介紹視覺檢測所采用的基本方法并給出視覺檢測的效果圖,說明視覺坐標(biāo)系和運動標(biāo)記坐標(biāo)系的對應(yīng)關(guān)系。設(shè)計的運動控制程序?qū)崿F(xiàn)了對醫(yī)用試紙表面紙病的有效識別和時時標(biāo)記。該系統(tǒng)經(jīng)過多次調(diào)試后,在紙速度不超過3 m/s,寬幅200 mm時,能實現(xiàn)對醫(yī)用試紙表面1 mm及以上寬度的亮斑和暗斑的有效檢測并標(biāo)記。
關(guān)鍵詞: 醫(yī)用試紙; 紙?。?NJ控制器; 視覺檢測; 運動控制; 動作標(biāo)記
中圖分類號: TN06?34; TP23 文獻標(biāo)識碼: A 文章編號: 1004?373X(2018)18?0028?04
A medical test paper disease detection system based on NJ controller
GENG Hao, GAO Peng, LUO Yi
(School of Mechanical and Electrical Engineering, Guilin University of Electronic Technology, Guilin 541004, China)
Abstract: A medical test paper disease detection system based on NJ controller was designed by analyzing the main characteristics of the manual detection method and paper disease, so as to resolve the problem of recognition difficulty of flaws on paper surface (paper disease) in the production process of the medical test paper. The system is composed of the visual inspection module and action marking module. The basic method used in visual inspection is introduced, and the effect image of the visual inspection is presented. The corresponding relationship between the visual coordinate system and the motion marking coordinate system is given. The designed motion control program implements effective recognition and all?time marking of paper diseases on the medical test paper surface. After several times of debugging, the system can realize effective detection and marking of bright spots and dark spots of 1 mm and above on the medical test paper surface when the paper speed is no larger than 3 m/s, and the paper width is 200 mm.
Keywords: medical test paper; paper disease; NJ controller; visual inspection; motion control; action marking
醫(yī)用試紙是將生化試劑固定在試紙上,用以檢驗人體生化物質(zhì),進而對某些病癥進行初篩,因其操作簡單、方便,且有一定的準(zhǔn)確性,深受不少消費者的青睞[1]。醫(yī)用試紙對紙張的質(zhì)量要求遠遠高于普通的紙張,用到貼片加工技術(shù)的醫(yī)用試紙都會有如圖1所示的生產(chǎn)過程,生產(chǎn)中都會通過人工對紙張進行嚴(yán)格的檢查,主要檢查紙張表面大于1 mm的透光點和暗點。
傳統(tǒng)的人工檢測紙病方法不論是速度還是準(zhǔn)確度都已不能滿足目前的生產(chǎn)需要。醫(yī)用試紙紙病檢測要求檢測和標(biāo)記同步進行,以適應(yīng)下一步剔除的需求,對控制器的要求較高。因此本系統(tǒng)選擇NJ系列控制器,該控制器是歐姆龍公司推出的新一代集運動控制、PLC、視覺控制于一體的控制器[2]。NJ系列控制器內(nèi)置EtherCAT和EtherNet/IP端口,可以與該平臺中同樣具有EtherCAT接口的設(shè)備組網(wǎng),其擴展性更好,不會丟信號,控制精度高[3]。NJ的編程軟件為Sysmac Studio,該軟件模型遵循IEC61131?3標(biāo)準(zhǔn),采用區(qū)別于以往PLC的變量編程系統(tǒng),更接近C語言的編程系統(tǒng),編程語言有梯形圖、ST、功能塊,通過功能塊進行伺服的控制,極大提高編程效率[4]。
1 系統(tǒng)總體結(jié)構(gòu)和硬件組成
1.1 系統(tǒng)結(jié)構(gòu)
醫(yī)用試紙紙病檢測系統(tǒng)由視覺檢測部分、動作標(biāo)記和人機交互界面三部分組成。其中視覺檢測作為整個系統(tǒng)的輸入部分,通過采集圖像和算法處理得到紙病的具體坐標(biāo)位置;NJ控制器獲取視覺部分的坐標(biāo)位置后進行數(shù)據(jù)分析和坐標(biāo)轉(zhuǎn)換,控制伺服電機在相應(yīng)的位置進行標(biāo)記;標(biāo)記模塊的動作部分是XY絲杠滑臺裝置,精確度較高,制動迅速,紙張速度由變頻器來控制;通過觸摸屏界面對系統(tǒng)主要參數(shù)進行修改和調(diào)試。具體系統(tǒng)結(jié)構(gòu)如圖2所示。
1.2 硬件選型
根據(jù)紙病檢測的要求,需要的視野為200 mm,精度為0.2 mm,由相機精度計算公式:
精度=視野(長或?qū)挘孪鄼C像素(長或?qū)挘?/p>
計算得最終需要1 000像素,可以選擇200萬像素(1 600×1 200)FZ?SC2M相機,視覺模塊選用FH?1050?10的視覺處理器,該視覺控制從圖像輸入、處理、傳輸速度上完全滿足系統(tǒng)的要求;動作標(biāo)記部分需要3臺伺服電機,2個伺服驅(qū)動器和1個變頻器;綜上考慮外設(shè)情況選用NJ301?1200核心控制器,其最多可控8軸同步、具有3 ns單步指令速度、42 ns的數(shù)字指令速度,完全可以滿足系統(tǒng)控制需求。系統(tǒng)硬件結(jié)構(gòu)和網(wǎng)絡(luò)拓補圖如圖3所示。
1.3 通信連接
NJ控制器與PC機、觸摸屏是通過EtherNet/IP總線聯(lián)接組成上位機系統(tǒng);NJ通過EtherCAT總線與視覺處理器、伺服驅(qū)動器、變頻器聯(lián)接組成下位機系統(tǒng);視覺處理器通過相機總線與工業(yè)相機相連;伺服驅(qū)動器、變頻器通過動力電纜、編碼器線與各伺服電機相連。
Fig. 3 Hardware structure and network topology of system
2 視覺檢測部分
2.1 視覺坐標(biāo)系校準(zhǔn)
視覺坐標(biāo)系的校準(zhǔn)主要是確定現(xiàn)實世界坐標(biāo)和像素坐標(biāo)之間的一一對應(yīng)關(guān)系,通過對相機建立針孔模型可知,這種對應(yīng)關(guān)系是由相機內(nèi)部的6個參數(shù)決定[5]。假設(shè)6個參數(shù)為A,B,C,D,E,F(xiàn),其轉(zhuǎn)換公式如下:
式中:[X,Y]為像素坐標(biāo);[X′,Y′]為現(xiàn)實世界坐標(biāo)。由公式可得需要三對相互對應(yīng)的像素坐標(biāo)和現(xiàn)實世界坐標(biāo)可以求得A,B,C,D,E,F(xiàn)六個參數(shù)的值。選用10×10的平面靶進行標(biāo)定,這樣的平面靶標(biāo)易制作,且準(zhǔn)確性較高[6]。在確定了像素坐標(biāo)與世界坐標(biāo)的關(guān)系后,由于相機安裝位置固定,所以相機在世界坐標(biāo)中的絕對位置得到確定。
2.2 視覺原理
視覺檢測部分利用平滑處理、邊緣強調(diào)、Prewitt算子邊緣檢測和形狀搜索4種算法,能夠準(zhǔn)確地獲取紙病的位置,并將坐標(biāo)數(shù)據(jù)傳送給NJ控制器,4種算法如下:
1) 圖像平滑處理能有效地降低圖像噪聲。通過實驗選用中值濾波作為平滑處理算法,它的基本原理是把數(shù)字圖像中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點[7]。該方法是用某種結(jié)構(gòu)的二維滑動模板將板內(nèi)像素按照像素值的大小進行排序,生成單調(diào)上升(或下降)的為二維數(shù)據(jù)序列。二維中值濾波輸出為:
式中:[f(x,y)],[g(x,y)]分別為原始圖像和處理后圖像;[W]為3×3的二維鄰域模板。
2) 邊緣強調(diào)是為了消除圖像平滑處理所帶來的圖像邊緣和圖像輪廓模糊的問題。文中邊緣強調(diào)所采用的是空域方法中的梯度法,圖像的梯度模值包含了邊界及細節(jié)信息。梯度模算子用于計算梯度模值,通常認為它是邊界提取算子,具有極值性、位移不變性和旋轉(zhuǎn)不變性。對于原圖像離散函數(shù)[f(j,k)],求梯度定義式如下:
式中,[G([f(j,k)])]代表梯度的模。
3) Prewitt 邊緣檢測算子是一種一階微分算子邊緣檢測,利用像素點上下、左右鄰點灰度差,在邊緣處達到極值檢測邊緣,對噪聲具有平滑作用[8]。其原理是在圖像空間利用兩個方向模板與圖像進行鄰域卷積來完成的,其模板為:
這兩個模板一個檢測水平邊緣,一個檢測垂直邊緣。圖像中的每個點都用這兩個模板進行卷積,然后求出兩個卷積中較大的一個作為輸出。Prewitt 算子求梯度的表達式為:
式中:[Gx]和[Gy]分別為 Prewitt 算子2個模板的卷積;[M∞]為應(yīng)用 Prewitt 算子求出的梯度值。求出梯度后,可設(shè)定一個常數(shù)T,當(dāng)[M∞]>T 時,標(biāo)出該點為邊界,其像素值設(shè)為255,其他的設(shè)定為 0。
4) 形狀搜索算法首先需要選擇合適的基準(zhǔn)圖像作為模型;然后進行整個區(qū)域的粗略搜索,大致確定相似模型的位置;之后進一步搜索模型周圍,確定圖像的相似度,形狀搜索是將輪廓信息作為圖像圖案進行處理[9]。經(jīng)過上述算法處理的結(jié)果如圖4所示,可以看到不論是黑斑還是亮斑,形狀搜索都進行了有效標(biāo)記。
2.3 視覺處理結(jié)果
對視覺處理器進行編程,調(diào)用前文所述的視覺處理模塊后,可以看到圖4的處理結(jié)果。圖中顯示的是從1 ~4 mm的透光和黑斑紙??;前兩幅圖是紙病處理后的結(jié)果圖像;第三幅圖是Prewitt邊緣檢測算子檢測的結(jié)果圖,兩種紙病的邊緣被清晰的檢測出來;圖中顯示調(diào)用形狀搜索算法后,所有的紙病都會被有效的識別,并得出其對應(yīng)的坐標(biāo)位置且會以Y軸升序排坐標(biāo)數(shù)據(jù);最后調(diào)用數(shù)據(jù)傳輸模塊,將每次獲取到的坐標(biāo)傳遞給NJ控制器。
3 運動控制部分
3.1 系統(tǒng)坐標(biāo)系建立
動作標(biāo)記部分通過設(shè)定伺服旋轉(zhuǎn)1周滑臺的實際進給,確定與世界坐標(biāo)的一一對應(yīng)關(guān)系。在二維滑臺4個角布置好限位開關(guān),在絲杠中部安裝非接觸式的常開接近開關(guān)作為近原點信號。通過Sysmac編程軟件設(shè)置伺服電機為“近原點輸入 OFF 動作”的原點接近方式,系統(tǒng)上電后在各種狀態(tài)下都可以進行原點自動搜索,其具體動作情況如圖5所示,由此可以確定動作標(biāo)記部分在現(xiàn)實世界中的絕對位置。在視覺坐標(biāo)系與動作標(biāo)記坐標(biāo)系相對于世界坐標(biāo)確定的情況下,整個系統(tǒng)坐標(biāo)得以確定。
3.2 NJ運動控制編程
首先進行系統(tǒng)初始化程序。在主要周期任務(wù)中,添加伺服鎖定程序段、原點搜索程序段、變頻器控制程序段、點動控制程序段、停止功能程序段、故障恢復(fù)程序段,實現(xiàn)系統(tǒng)的基本手動功能。在Sysmac中二維滑臺的兩臺伺服電機控制抽象XY兩軸,將兩軸合并添加為XY_GROUP軸組,對軸組的控制簡化了控制模型,動作同步性提高了滑臺穩(wěn)定性。
在自動控制程序中,先創(chuàng)建隊列數(shù)據(jù)結(jié)構(gòu)LREAL類型的X_POS[100],Y_POS[100]和MOVE_TIME[100]數(shù)組,分別存放XY軸的動作序列和動作時間間隔。伺服使能完成后觸發(fā)相機拍照,之后從NJ的數(shù)據(jù)緩存區(qū)取出數(shù)據(jù),通過檢查坐標(biāo)位置判斷是否在合理的區(qū)間內(nèi),經(jīng)過坐標(biāo)轉(zhuǎn)換后得到XY坐標(biāo)和時間間隔數(shù)據(jù),調(diào)用StackPush功能塊,將視覺轉(zhuǎn)化后的數(shù)據(jù)進行入隊操作。通過是否是第一次動作和上一次動作是否完成兩個標(biāo)志,調(diào)用StackFIFO功能塊進行出隊操作,獲取坐標(biāo)后運行到指定位置,延時等待到紙病到達坐標(biāo)點,觸發(fā)標(biāo)記動作,并置位上一個動作完成標(biāo)志。彈出下一個數(shù)據(jù)并比較兩坐標(biāo)位置差,若XY方向間隔太小則丟棄數(shù)據(jù),因紙病裁除時有容錯,若彈出時發(fā)現(xiàn)隊列計數(shù)器為零,則將第一次動作標(biāo)志置位,以保證下一次有數(shù)據(jù)時,數(shù)據(jù)能夠順利出隊。具體程序流程如圖6所示。
通過實驗驗證標(biāo)記模塊能夠準(zhǔn)確對紙病進行標(biāo)記。
3.3 觸摸屏編程
上位機采用OMRON NS8?TV01B?V2觸摸屏;人機交互界面主要包括運行界面、手動操作、參數(shù)設(shè)置和歷史記錄等多個畫面[10]。主界面顯示當(dāng)前系統(tǒng)的一些主要參數(shù),參數(shù)設(shè)置對系統(tǒng)主要參數(shù)進行設(shè)定;歷史記錄界面可以查詢紙病的具體位置,結(jié)合瑕點數(shù)量可以判定紙張質(zhì)量,及時作出生產(chǎn)計劃調(diào)整。觸摸屏界面如圖7所示。
4 結(jié) 論
醫(yī)用試紙紙病檢測系統(tǒng)以NJ301?1200為核心控制器,以FH?1050?10視覺控模塊和動作模塊作為輔助控制單元,通過設(shè)計視覺算法,能夠準(zhǔn)確地獲取紙病位置;通過隊列據(jù)結(jié)構(gòu)和定時器的配合設(shè)計動作控制算法,有效地處理了延時動作序列;通過人機界面,能夠?qū)ο到y(tǒng)進行參數(shù)設(shè)置和狀態(tài)監(jiān)控。該系統(tǒng)經(jīng)過多次調(diào)試后,在紙速度不超過3 m/s,寬幅為200 mm時能實現(xiàn)對醫(yī)用試紙表面1 mm及以上寬度的亮斑和暗斑的有效檢測并標(biāo)記。整個系統(tǒng)能準(zhǔn)確快速地實現(xiàn)紙病檢測及標(biāo)記,其速度和精度都能滿足生產(chǎn)的需要,大幅地提高醫(yī)用試紙的生產(chǎn)效益。
參考文獻
[1] 王黎洋.醫(yī)用試紙?不出家門辨疾病[N].生命時報,2014?07?25(19).
WANG Liyang. Medical test paper: no need to leave home for disease identification [N]. Life times, 2014?07?25 (19).
[2] OMRON Corporation. Machine automation controller NJ?series motion control: instructions reference manual [EB/OL]. [2015?01?17]. http://www.docin.com/p?1027293518.html.
[3] OMRON Corporation. Machine automation controller NJ?series CPU unit built?in EtherCAT port: users manual [EB/OL]. [2013?06?22]. http://www.docin.com/p?669224074.html.
[4] 彭瑜,何衍慶.IEC 61131?3編程語言及應(yīng)用基礎(chǔ)[M].北京:機械工業(yè)出版社,2009.
PENG Yu, HE Yanqing. Programming language and application basis of IEC 61131?3 [M]. Beijing: China Machine Press, 2009.
[5] 馬頌德,張正友.計算機視覺:計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
MA Songde, ZHANG Zhengyou. Computer vision?fundamentals of computational theory and algorithms [M]. Beijing: Science Press, 1998.
[6] ZHANG Z. A flexible new technique for camera calibration [J].IEEE transaction on pattern analysis and machine intelligence, 2000, 22(11): 1330?1334.
[7] GONZALEZ R C, WOODS R E. Digital image processing [M]. 2nd ed. New Jersey: Prentice Hall, 2002.
[8] 張學(xué)蘭,李軍,辛培紅,等.基于Prewitt算子與形態(tài)學(xué)的紙病圖像檢測方法[J].紙和造紙,2012,31(8):25?28.
ZHANG Xuelan, LI Jun, XIN Peihong, et al. Paper defect detection based on Prewitt operator and mathematical morphology [J]. Paper and paper making, 2012, 31(8): 25?28.
[9] 歐姆龍株式會社.圖像傳感器FH/FZ5系列圖像處理系統(tǒng)[EB/OL].[2017?12?15].https://download.csdn.net/download/weixin_39674545/10159332.
OMRON Corporation. FH/FZ5 series: vision system processing item function reference manual [EB/OL]. [2017?12?15]. https://download.csdn.net/download/weixin_39674545/10159332.
[10] 韓兵.觸摸屏技術(shù)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2008.
HAN Bing. Touch screen technology and application [M]. Beijing: Chemical Industry Press, 2008.