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