(遼寧工業(yè)大學(xué) 機械工程與自動化學(xué)院,遼寧 錦州 121001)
隨著工業(yè)機器人的應(yīng)用與發(fā)展,工業(yè)機器人在實際生產(chǎn)得到了廣泛的應(yīng)用,機器人的應(yīng)用不僅保障人身安全、降低生產(chǎn)成本,而且極大地提高了生產(chǎn)效率。熱軋板坯的生產(chǎn)過程中,受到原材料、生產(chǎn)工藝以及其他因素的影響會造成熱軋板坯在生產(chǎn)過程中出現(xiàn)裂紋、劃痕和氧化皮等表面缺陷,如果在熱軋板坯生產(chǎn)過程中不發(fā)發(fā)現(xiàn)并加以停止,會導(dǎo)致帶有缺陷的產(chǎn)品大量生產(chǎn),不僅浪費了資源,而且影響企業(yè)信譽。目前國內(nèi)熱軋板坯缺陷檢測大多數(shù)還是采用人工檢測的方法對熱軋板坯進行取樣抽檢,人工檢測存在很大的安全隱患,而且存在檢測效率低,準確度不高等問題,嚴重影響企業(yè)生產(chǎn)效率和質(zhì)量[1]。
本文針對天鋼聯(lián)合特鋼鋼廠的實際生產(chǎn)問題,設(shè)計了基于ABB 機器人熱軋板坯在線檢測系統(tǒng)。該系統(tǒng)采用ABB 機器人和CCD 相機相結(jié)合,機器人帶動CCD 相機采集完圖像后,帶動相機撤出高溫區(qū)域?qū)崿F(xiàn)自動冷卻,不僅解決了安全性不高和冷卻性能復(fù)雜等問題,同時也解決CCD 相機成像范圍有限的問題。相對于其他的檢測方法,該方法精確度高、更靈活,屬于真正的非接觸的無損檢測。
本系統(tǒng)硬件設(shè)備主要包括ABB 公司IRB 4600工業(yè)機器人、IRC5 機器人控制柜、線陣CCD 相機、紅外光源設(shè)備、光電傳感器,工業(yè)計算機以及相機的夾具等。熱軋板坯輥道運動過程中伴隨著震動劇烈,嚴重影響圖像采集質(zhì)量。因此,本系統(tǒng)采用以機器人運動代替熱軋板坯軌道運動的方式完成CCD 相機對熱軋板坯表面的圖像采集。將CCD 相機通過夾具安裝至IRB4600 機器人上,輔助光源采用紅外光源。ABB 機器人運動穩(wěn)定,精度較高,保證圖像采集質(zhì)量。ABB 機器人檢測系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 ABB 機器人檢測系統(tǒng)結(jié)構(gòu)
該系統(tǒng)軟件部分主要包括:圖像處理軟件OpenCV,機器人運行程序以及用C#開發(fā)上位機界面程序。
首先采用 PC SDK(software development kit)在上位機上設(shè)計 ABB 工業(yè)機器人的操作界面,實現(xiàn)本地和遠程程序的變量同步,然后在以 TCP/IP 協(xié)議與 ABB 機器人控制柜通信[2],直接通過以太網(wǎng)對遠程端的機器人進行控制和管理,通過上位機獲取或設(shè)置機器人的robtarget 或path 信息,搭配socket 可以實現(xiàn)上位機控制機器人運行[3]。將OpenCV 圖像處理軟件安裝到同一臺工業(yè)計算機上,并將OpenCV 圖像處理程序封裝到一個DLL,然后用上位機界面調(diào)用這個DLL,實現(xiàn)ABB 機器人與圖像處理信息的數(shù)據(jù)連接,從而實現(xiàn)ABB 機器人、上位機、OpenCV 圖像處理程序信息通訊如圖2 通訊原理圖所示。
圖2 通訊原理圖
天鋼熱軋板坯在生產(chǎn)過程中,存在有氧化層、裂紋和劃傷等主要表面缺陷。氧化層、劃傷分布于熱軋板坯表面,而裂紋則處于板坯內(nèi)部,所以氧化層和劃傷的溫度相對于裂紋的溫度較低,3 種缺陷在紅外光的照射下對紅外光的反射程度不同,在圖像上所呈現(xiàn)的灰度值不同。結(jié)合缺陷的形狀特征,最終將熱軋板坯的表面缺陷識別出來[4]。
將識別出來的表面缺陷根據(jù)其形狀特征進行分類,并對其缺陷的特征信息進行統(tǒng)計和分析[5],利用OpenCV 相應(yīng)的API 函數(shù)分別求出劃傷的長度、氧化層的面積以及裂紋的長度和面積,將統(tǒng)計結(jié)果與預(yù)先設(shè)定的閾值進行對比,若果缺陷的大小超出設(shè)定閾值,該熱軋板坯就可以判定為合格產(chǎn)品,否則則判定為不良產(chǎn)品,重新鑄造。本設(shè)計根據(jù)天鋼實際生產(chǎn)過程,設(shè)計方案如圖3 所示:
圖3 熱軋板坯檢測系統(tǒng)設(shè)計方案圖
CCD 相機對圖像的采集是由機器人帶動相機的運動來完成的,鋼廠生產(chǎn)熱軋板坯有不同的型號,型號的不同導(dǎo)致熱軋板坯的長度和寬度各不相同,因此需要對機器人的路徑進行規(guī)劃。
當光電傳感器觸發(fā),機器人帶動CCD 相機對板坯進行圖像的采集,板坯具體位置根據(jù)板坯圖像區(qū)域鎖定來實現(xiàn)的,所以需要對機器人的路徑進行自主規(guī)劃,即通過上位機將板坯的位置信息傳遞給ABB 機器人Path 程序中的Step 變量。調(diào)整機器人的位置信息。
2) 為了衡量算法的優(yōu)劣性,分別計算比較Digits數(shù)據(jù)集、Plant數(shù)據(jù)集、Posture數(shù)據(jù)集上K-Means聚類、Spectral聚類、AP聚類和IOCAP聚類的平均ACC指標、Purity指標和NMI指標.實驗中,每個算法執(zhí)行25次,并取3個指標的平均值.
圖4 機器人運動仿真圖
計算機對圖像的識別與處理需要一定的時間,因此應(yīng)調(diào)整機器人的運動速度,如果速度過快,影響系統(tǒng)穩(wěn)定,圖像的采集造成缺失,速度太慢又會嚴重影響企業(yè)的生產(chǎn)效率,根據(jù)天鋼的實際生產(chǎn)過程,最終機器人掃描速度定位1 500 mm/s。機器人運動主要Movel 和MoveJ 指令來完成。如圖4 所示的機器人運動仿真圖
由圖1~圖3 可知CCD 相機通過網(wǎng)線將圖像傳輸?shù)焦I(yè)計算機,然后進行圖像處理。采用不同的圖像處理算法會產(chǎn)生不同的處理效果,板坯不同缺陷如圖5~圖7 所示。由板坯不同缺陷圖可知,劃傷呈線狀,氧化層成魚鱗狀分布,而裂紋的灰度值最高。本算法根據(jù)不同缺陷在紅外光線的光源照射下在圖像所呈現(xiàn)的灰度值不同以及板坯缺陷灰度值和缺陷形狀的特點本文對板坯缺陷設(shè)計如圖8 所示的板坯表面缺陷檢測算法流程圖。
圖5 劃痕缺陷圖
圖6 裂紋缺陷圖
圖7 氧化層缺陷圖
(1)首先對采集到的圖像進行濾波處理,由于生產(chǎn)工藝和現(xiàn)場環(huán)境的影響,采集到的圖像一般伴隨著噪音的存在,眼睛幾乎無法分辨,如果不對圖形進行降噪處理,會對后期圖像處理帶來很大影響,甚至?xí)绊憴z測結(jié)果。常見的噪音有椒鹽噪聲、高斯噪聲等,對于圖像受哪種噪音影響,可以對沒有缺陷的板坯圖像進行灰度直方圖統(tǒng)計,如圖9 所示,由灰度直方圖可知噪音的類型成高斯分布,因此采用3x3 模板進行高斯濾波。
圖8 熱軋板坯表面缺陷檢測算法流程圖
Mat gaosi;
GaussianBlur(src,gaosi,Size(3,3),3,3);
圖9 板坯無缺陷灰度直方圖
(2)背景在圖像檢測處理的過程中會占用很多時間,影響圖像處理速度,機器人定位同樣需要板坯的位置信息。由板坯無缺陷灰度直方圖可知,圖像背景區(qū)域的灰度等級明顯低于板坯的灰度級,對圖像進行閾值處理,此時熱軋板坯與背景處于不同灰度等級,為避免邊緣影響,對該圖像進行Hough檢測如圖10,板坯鎖定區(qū)域所示,表1 為板坯區(qū)域坐標4 個頂點坐標。
表1 板坯區(qū)域坐標
圖10 板坯鎖定區(qū)域
(3)根據(jù)氧化層、裂紋、劃傷在紅外光的照射下圖像灰度值的不同[6],劃傷灰度值低于氧化層,裂紋的灰度值最高,在對表面缺陷識別之前,必須將三者分開。對板坯不同缺陷的灰度直方圖進行局部灰度直方圖統(tǒng)計處理如圖11。由局部灰度直方圖氧化層灰度峰值在65 而劃傷灰度峰值在55,峰值差約為10 個灰度等級。
圖11 局部灰度直方圖
圖12 閾值分割結(jié)果
對板坯進行預(yù)處理后,板坯缺陷已經(jīng)被分割出來,根據(jù)熱軋板坯表面缺陷的不同形狀特征采用不同的圖像識別方法,對圖像的特征信息進行識別和統(tǒng)計。
2.4.1 氧化層、裂紋識別
氧化層賦予板坯的表面,由氧化層的光強分布特征,使得部分氧化層沒有被涵蓋進去,容易致使氧化層被劃分入裂紋。同時由于裂紋光強和形狀分布特征,會導(dǎo)致一部分裂紋較大的板坯缺陷被誤識別為氧化層。為了保證識別的準確度,分別對兩種缺陷類型進行形態(tài)學(xué)操作,對氧化層進行腐蝕處理,讓氧化層邊緣充分包含進來。對裂紋進行膨脹處理,防止較大的裂紋被誤識別為氧化層。
利用OpenCV 的findcontours()函數(shù)對其進行輪廓發(fā)現(xiàn),然而氧化層分布散亂,由于氧化層灰度等級較低,因此對其圖像像素進行取反處理,可對其面積進行求和處理并求出其最大輪廓長度。并對裂紋最大輪廓統(tǒng)計其面積和長度。如表2。
表2 缺陷面積和長度
圖13 Hough 直線檢測結(jié)果
2.4.2 劃傷識別
經(jīng)過圖像的閾值處理后劃傷的灰度級最低,如圖12b 所示,劃傷呈線性分布,因此本文采用Hough直線檢測的方法對其進行劃傷檢測[9],并統(tǒng)計劃傷數(shù)量,檢測結(jié)果如圖13 所示。
2.4.3 決策判斷
對劃傷、氧化層和裂紋的識別結(jié)果進行統(tǒng)計和分析。對統(tǒng)計結(jié)果與預(yù)先設(shè)定的閾值進行對比[10],對超出閾值板坯進行剔除和重新鑄造。
在鋼坯生產(chǎn)過程中,該檢測系統(tǒng)的使用對象主要是一線的生產(chǎn)工人,所以上位機界面設(shè)計的主要特點是需要,界面簡潔、調(diào)整的參數(shù)要少、容易操作易操作。
本設(shè)計上位機界面的開發(fā)采用C#語言,其主要功能用于顯示鋼坯表面缺陷類型、種類等主要相關(guān)信息,以及實現(xiàn)ABB 機器人,上位機的通訊功能。
本系統(tǒng)基于機器視覺在線檢測系統(tǒng),將ABB機器人遠程操縱系統(tǒng)和視覺識別系統(tǒng)進行結(jié)合,大大提高了鋼廠生產(chǎn)效率,降低生產(chǎn)成本,提高生產(chǎn)安全性,缺陷識別率達到95%,提高了產(chǎn)品質(zhì)量。