張乾 杜向陽 王飛
摘 ?要: 在機(jī)械加工過程中,每個(gè)機(jī)床對零件進(jìn)行一道或幾道工序的加工。為了提高生產(chǎn)效率,降低工人的勞動(dòng)強(qiáng)度,提高智能化生產(chǎn)程度,使用美國NI公司所開發(fā)的LabVIEW軟件為開發(fā)環(huán)境,用Vision Assistant和IMAQ Vision的圖像處理工具包,設(shè)計(jì)了一套可以識(shí)別不同工序下零件狀態(tài)的系統(tǒng)。首先對不同工序下零件的狀態(tài)進(jìn)行收集,通過圖像預(yù)處理、分類器的配置、訓(xùn)練及評價(jià)得到包含一個(gè)具有零件特征向量值及零件名稱的分類器,然后將訓(xùn)練所得的分類器運(yùn)用到零件分類的過程中。實(shí)驗(yàn)證明了這種方法具有很高的精度,該方法可以用于生產(chǎn)過程中不同工序下零件的識(shí)別問題,應(yīng)用該方法可以有效降低工人的勞動(dòng)強(qiáng)度。
關(guān)鍵詞:機(jī)器視覺;零件分類;圖像預(yù)處理;LabVIEW
中圖分類號(hào):TP391????文獻(xiàn)標(biāo)識(shí)碼:ADOI:10.3969/j.issn.1003-6970.2019.09.038
本文著錄格式:張乾,杜向陽,王飛. 基于LabVIEW的零件分類系統(tǒng)[J]. 軟件,2019,40(9):168-171
Parts Classification System Based on LabVIEW
ZHANG Qian,?DU Xiang-yang,?WNAG Fei
(School of mechanical and automotive engineering,Shanghai University of Engineering Science,Shanghai 201620,China)
【Abstract】: In the process of machining,?each machine tool processes parts in one or more process. In order to improve the production efficiency in the production process,?reduce the labor intensity of labor workers and improve the level of intelligence in the production process,?using the Vision Assistant and IMAQ Vision image processing kits in LabVIEW software developed by American NI company as the development platform which system can recognize the state of parts in different working procedures.?First we should collected the state of parts in different processes,through image preprocessing、classifier configure、training and evaluation,a classifier containing part feature vector value and part name is obtained,then applied the trained classifier in the process of parts classification.Experiments show that this method has high precision,?and it?can be used to identify parts in different processes in the production process,?and the application?of this method can effectively reduce the labor intensity of workers.
【Key words】: Machine vision;?Part classification;?Image preprocessing;?LabVIEW
在工業(yè)生產(chǎn)過程中,機(jī)械臂起著十分重要的作用。傳統(tǒng)的機(jī)械臂只能夠按照編程的方式來對固定位置的貨物進(jìn)行抓取和運(yùn)輸[1]。采用機(jī)器視覺對物體進(jìn)行定位,將定位信息傳遞給機(jī)械臂,實(shí)現(xiàn)對機(jī)械臂的運(yùn)動(dòng)控制,使機(jī)械臂的智能化程度大大提 ??高[2],從而降低了工人的勞動(dòng)強(qiáng)度。
隨著我國經(jīng)濟(jì)的快速發(fā)展,我國的制造業(yè)規(guī)模在不斷地?cái)U(kuò)大[3],制造精度有了提高,產(chǎn)品數(shù)量有了顯著增加。在傳統(tǒng)的機(jī)械零件加工領(lǐng)域,由于每個(gè)機(jī)床都只能加工零件的一道工序或幾道工序,加工后的零件還需要進(jìn)入到下一個(gè)環(huán)節(jié)進(jìn)行更深一步的加工,在每一步的加工過程中,都會(huì)涉及到搬運(yùn)的問題。為了減輕工人搬運(yùn)工件到指定機(jī)床的工作強(qiáng)度[4],提高生產(chǎn)效率,促進(jìn)機(jī)器視覺在生產(chǎn)生活中的應(yīng)用[5],因此,設(shè)計(jì)了一套可以在生產(chǎn)線中進(jìn)行零件分類的系統(tǒng)。該系統(tǒng)是基于LabVIEW為開發(fā)環(huán)境進(jìn)行設(shè)計(jì)的,當(dāng)檢測到零件屬于這個(gè)工步應(yīng)該加工時(shí)的狀態(tài)時(shí),利用機(jī)械臂將零件放入機(jī)床進(jìn)行加工。實(shí)驗(yàn)證明該系統(tǒng)可以準(zhǔn)確的識(shí)別零件,可以應(yīng)用到零件加工的過程中去。
基于LabVIEW的零件分類系統(tǒng)是由光源、工業(yè)相機(jī)、圖像采集卡、PLC、機(jī)械臂以及PC機(jī)等幾方面組成[6]。系統(tǒng)的工作過程如下面描述所示:首先通過工業(yè)相機(jī)獲取圖像,并將所獲得的圖像經(jīng)由圖像采集卡傳送給PC機(jī)進(jìn)行灰度化和二值化處理,然后將采集到的相同的同一零件在同一工序下的圖片通過收集、訓(xùn)練得到一個(gè)分類器,并將分類器的運(yùn)算結(jié)果應(yīng)用到零件的目標(biāo)檢測過程中,通過機(jī)械臂將檢測到的零件放進(jìn)機(jī)床進(jìn)行加工。其需要分類的圖片如圖1所示,圖1左邊是初步加工的車輪的照片,圖1右邊是經(jīng)過鏜孔后的車輪的照片。
1.1系統(tǒng)工作原理
當(dāng)系統(tǒng)開始工作的時(shí)候,系統(tǒng)首先由工業(yè)相機(jī)將零件圖像轉(zhuǎn)換為電信號(hào),通過數(shù)據(jù)采集卡將圖像的電信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)來進(jìn)行處理。通過計(jì)算機(jī)確定出要加工零件的具體位置,使用工業(yè)以太網(wǎng)將物體所在的位置信息發(fā)送給PLC,PLC通過發(fā)送控制指令從而驅(qū)動(dòng)機(jī)械臂[7]進(jìn)行抓取零件的工作。其系統(tǒng)工作原理如圖2所示。
1.2軟件開發(fā)平臺(tái)
系統(tǒng)采用美國NI公司開發(fā)的LabVIEW為開發(fā)環(huán)境,通過視覺處理模塊對所要處理的圖片進(jìn)行圖像的采集、處理、識(shí)別、定位。使用LabVIEW所帶的運(yùn)動(dòng)控制模塊發(fā)送指令給PLC,并通過PLC控制機(jī)械臂運(yùn)動(dòng)抓取所需加工的零件。
2.1圖像預(yù)處理
由于在進(jìn)行圖像獲取的時(shí)候,圖像是由型號(hào)為MER-500-7UM-L的大恒工業(yè)相機(jī)獲取。在進(jìn)行機(jī)加工的過程中,存在著被加工零件會(huì)把一些鐵屑帶出來或者傳送帶上有一些雜質(zhì),不便于后續(xù)零件分類器的特征值提取以及零件的識(shí)別。為了便于后續(xù)工作可以正常進(jìn)行,利用被加工零件相對于鐵屑或者雜質(zhì)的面積比較大,利用面積特征(IMAQ Particle Filter 3)去除掉那些鐵削或雜質(zhì),其處理前和處理后的效果圖如圖3所示。
2.2 圖像特征的提取
為了獲取圖像的特征,首先將經(jīng)過處理好的圖像載入到Vision Assistant中的圖像處理環(huán)節(jié)中去。為了使圖像的對比度變的更好,使用NI Vision Assistant中的Grayscale模塊中的Lookup Table函數(shù)來改善圖像的對比度和亮度。其經(jīng)過改善后的圖像效果如圖4所示。
為了獲得被加工零件的特征,拍攝了零件在不同位置時(shí)的形態(tài),這樣可以更好的提取零件的特征。將經(jīng)過預(yù)處理的圖像放在文件夾中,通過NI Vision Assistant中Acquire Image載入要處理的圖像。
在進(jìn)行零件特征提取之前,需要對圖像進(jìn)行進(jìn)一步的預(yù)處理[8]。為了便于框選出所需要處理的零件,LabVIEW中的Vision Assistant模塊提供了六種方式,分別是長方形、旋轉(zhuǎn)長方形、橢圓形、環(huán)形、多邊形及自定義選擇框。為了減少在識(shí)別過程中圖像的處理量,在進(jìn)行圖像特征提取之前,需要對圖像進(jìn)行二值化處理,通過實(shí)驗(yàn)7種二值化方法比較得出用Clustering這種方法效果較好,圖片處理效果如圖5所示。
由于零件的亮度要高于背景的亮度,所以Look For中尋找的是Bright Objects。而Reject Objects Touching ROI的選中則是為了方便選中要訓(xùn)練的物體。在對零件進(jìn)行訓(xùn)練的時(shí)候需要采集大量樣本,在預(yù)處理的右側(cè)有Add Sample(添加樣本)和Add Class(添加類),方便了樣本的收集,其訓(xùn)練過程的預(yù)處理如圖6所示。
經(jīng)過預(yù)處理的圖片,需要對其進(jìn)行分類訓(xùn)練,NI Vision Assistant為訓(xùn)練提供了三種方法,分別是Nearest Neighbor(最鄰近法)、K-Nearest Neighbor(K-臨近法)[9-10]、Minimum Mean Distance(最小平均距離)。在訓(xùn)練過程中,經(jīng)過比較可以得出K-Nearest Neighbor(K-臨近法)的效果比較好。同時(shí),為了實(shí)時(shí)驗(yàn)證其訓(xùn)練效果的好壞,在Classi fication Results中可以看到訓(xùn)練效果的好壞(訓(xùn)練效果的最高得分是1000),而下面的Distances代表的是歐氏距離,在圖7的歐氏距離為0,說明其有較好的訓(xùn)練效果。
為了方便在以后的訓(xùn)練過程中可以利用所收 集圖片以及特征,將這些特征文件以.clf文件格式 保存。
2.3零件的識(shí)別與跟蹤
零件的識(shí)別是指系統(tǒng)可以根據(jù)零件的特征給零件貼上對應(yīng)的標(biāo)簽。而零件的跟蹤則是指在獲得零件的第一幀圖像的時(shí)候,其可以估計(jì)在后續(xù)過程中零件出現(xiàn)的位置,確定零件的運(yùn)動(dòng)方向,從而便于機(jī)械手臂抓取物體[11]。
對于在柔性車間的生產(chǎn)流水線上,其傳送帶的速度都是恒定的。針對當(dāng)機(jī)械臂把零件放在傳送帶上可能造成零件位置的移動(dòng),進(jìn)行了一系列的驗(yàn)證。通過實(shí)驗(yàn)可知,即使零件的位置是不固定的,由于所采樣本的數(shù)量較多,零件的樣本特征被較好的提取出來了,該系統(tǒng)仍然能夠準(zhǔn)確地識(shí)別出零件以及定位出零件的位置,右邊的數(shù)據(jù)在800分以上,說明其有良好的分類效果,其效果圖如圖8所示。
當(dāng)檢測到物體的時(shí)候,計(jì)算機(jī)通過TCP通訊將信息傳送給PLC,然后PLC通過控制機(jī)械臂從而完成零件的抓取和放置。
以兩個(gè)工步臨近的零件作為實(shí)驗(yàn)對象,在保障所選用的機(jī)械臂、計(jì)算機(jī)、PLC以及傳送帶的材質(zhì)和零件的材質(zhì)不變的情況下,實(shí)驗(yàn)結(jié)果如表1所示。
在實(shí)驗(yàn)過程中,可以計(jì)算出其綜合準(zhǔn)確率達(dá)到87.5%。但是在其中出現(xiàn)一些誤差,研究發(fā)現(xiàn)實(shí)驗(yàn)出現(xiàn)誤差的原因是實(shí)驗(yàn)過程中相機(jī)的魯棒性較差,容易受到環(huán)境的影響。
參考文獻(xiàn)