張 輝,余厚云,李克斌
(南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210016)
為了提高燃油效率,實(shí)現(xiàn)節(jié)能減排的目標(biāo),汽車制造企業(yè)紛紛采用發(fā)動(dòng)機(jī)渦輪增壓技術(shù)[1-2]。渦輪殼作為其中的主要零部件,其表面質(zhì)量直接影響渦輪增壓器的裝配精度和密封性,進(jìn)而影響發(fā)動(dòng)機(jī)的工作性能。目前,渦輪殼表面質(zhì)量檢測(cè)以人工目視為主,受檢測(cè)人員視覺疲勞等主觀因素影響,很容易產(chǎn)生漏檢或誤檢等現(xiàn)象,造成產(chǎn)品質(zhì)量問題,而且人工檢測(cè)效率低,勞動(dòng)成本高。隨著近年來機(jī)器視覺技術(shù)的迅猛發(fā)展,機(jī)器視覺檢測(cè)在目標(biāo)識(shí)別、定位以及表面質(zhì)量檢測(cè)等領(lǐng)域應(yīng)用十分廣泛。這種非接觸檢測(cè)手段不會(huì)對(duì)零件表面造成二次傷害,而且檢測(cè)精度和效率均優(yōu)于人工檢測(cè)。
表面質(zhì)量檢測(cè)是工業(yè)檢測(cè)極其重要的組成部分,涉及電子[3]、鋼板[4-5]、零件[6-7]和印刷等諸多行業(yè)[8]。北京科技大學(xué)高效軋制國家工程研究中心提出了一種熱軋帶鋼表面缺陷檢測(cè)方法,該方法用綠色激光線光源作照明,通過窄帶濾色鏡濾除鋼板表面的輻射光,提高了缺陷對(duì)比度[9]。張學(xué)武等人[10]使用Gaussian金字塔分解和Gabor濾波器提取缺陷圖像特征,基于視覺仿生機(jī)理進(jìn)行銅帶表面缺陷檢測(cè),實(shí)現(xiàn)缺陷的正確分類。目前基于機(jī)器視覺的產(chǎn)品表面質(zhì)量檢測(cè)在理論研究和實(shí)際應(yīng)用方面均取得了可喜的成果。但同時(shí),對(duì)于例如渦輪殼等這些外形復(fù)雜的零件來說,需要設(shè)置多個(gè)視覺檢測(cè)工位,并且裝夾和運(yùn)動(dòng)機(jī)構(gòu)復(fù)雜,增加了檢測(cè)時(shí)間和系統(tǒng)復(fù)雜程度??紤]到機(jī)械臂在現(xiàn)代工業(yè)制造中早已大量使用[11-12],高度靈活性和很強(qiáng)的適應(yīng)能力使其可以實(shí)現(xiàn)非常復(fù)雜的路徑規(guī)劃。將機(jī)械臂引入機(jī)器視覺系統(tǒng)中,可以使視覺系統(tǒng)實(shí)現(xiàn)大范圍多姿態(tài)的圖像采集,極大提高了視覺系統(tǒng)的柔性,解決了復(fù)雜結(jié)構(gòu)機(jī)械零件的表面質(zhì)量檢測(cè)問題。
如圖1所示,基于機(jī)械臂的渦輪殼產(chǎn)品表面質(zhì)量視覺檢測(cè)系統(tǒng)主要由零件裝夾工作臺(tái)、機(jī)械臂、視覺系統(tǒng)和工控機(jī)組成。檢測(cè)時(shí)將渦輪殼零件通過夾具安裝在旋轉(zhuǎn)工作臺(tái)上,然后啟動(dòng)系統(tǒng)軟件,檢測(cè)系統(tǒng)控制機(jī)械臂和旋轉(zhuǎn)工作臺(tái)運(yùn)動(dòng)到各個(gè)檢測(cè)工位,二者到達(dá)檢測(cè)工位后,系統(tǒng)控制相機(jī)采集渦輪殼表面圖像,并對(duì)其進(jìn)行一系列圖像處理,判斷渦輪殼表面是否存在缺陷,并將結(jié)果反饋給用戶。
圖1 渦輪殼表面質(zhì)量視覺檢測(cè)系統(tǒng)硬件組成
如圖2所示,渦輪殼零件表面質(zhì)量檢測(cè)的對(duì)象主要包括出氣口端、中間殼端和襯套孔端等處的機(jī)加工表面,需要檢測(cè)的缺陷最小尺度為0.3 mm。經(jīng)計(jì)算,本系統(tǒng)選用大恒MER-503-20GM-P型工業(yè)相機(jī),其分辨率為2448×2048,在視場(chǎng)覆蓋完整被測(cè)端面的前提下能夠滿足檢測(cè)精度要求。
在機(jī)器視覺系統(tǒng)中,常用的光照補(bǔ)償方式有背景光補(bǔ)償和前景光補(bǔ)償2種。背景光補(bǔ)償是將相機(jī)和光源置于被測(cè)對(duì)象的兩側(cè),可以很好地反映被測(cè)對(duì)象的輪廓特征。前景光補(bǔ)償則是將相機(jī)和光源置于被測(cè)對(duì)象的同側(cè),用于被測(cè)對(duì)象表面特征的檢測(cè)。前景光補(bǔ)償方式又分為高角度光補(bǔ)償和低角度光補(bǔ)償,根據(jù)光學(xué)反射原理,在檢測(cè)機(jī)械零件機(jī)加工表面的磕碰、凹坑等缺陷時(shí)適合采用高角度光補(bǔ)償方式。如圖3所示,光線投射到正常表面時(shí)會(huì)發(fā)生鏡面反射,遇到磕碰等缺陷時(shí)會(huì)向四周散射,因此表面缺陷在圖像中呈現(xiàn)出亮度較暗的區(qū)域,從而很好地凸顯缺陷特征。
圖4 工作臺(tái)檢測(cè)工位分布
本系統(tǒng)使用機(jī)械臂帶動(dòng)相機(jī)和光源運(yùn)動(dòng),由于被測(cè)零件尺寸并不大,因此選用了ABB六軸機(jī)械臂IRB 1600。該型號(hào)機(jī)械臂可持重10 kg,軌跡半徑達(dá)1.2 m,重復(fù)定位精度為0.05 mm,能夠滿足系統(tǒng)使用要求。
零件裝夾工作臺(tái)由直徑為344 mm的轉(zhuǎn)臺(tái)和夾具組成,共設(shè)置3個(gè)工位。工作臺(tái)初始位置為A工位,順時(shí)針轉(zhuǎn)120°為B工位,再次間隔120°為C工位,分布位置如圖4所示。3個(gè)工位分別完成不同的檢測(cè)任務(wù),其中系統(tǒng)在A工位檢測(cè)襯套孔端面,在B工位檢測(cè)出氣口端面,在C工位檢測(cè)中間殼端面。
本系統(tǒng)在Windows開發(fā)環(huán)境下,以Qt Creator作為軟件開發(fā)平臺(tái),使用高級(jí)程序設(shè)計(jì)語言C++開發(fā)系統(tǒng)的控制程序和檢測(cè)程序。為了提高檢測(cè)效率,本系統(tǒng)設(shè)計(jì)了2個(gè)線程,如圖5所示,主線程控制系統(tǒng)的運(yùn)動(dòng)流程,子線程負(fù)責(zé)運(yùn)算圖像檢測(cè)程序,并將運(yùn)算結(jié)果返回給主線程,最后主線程將結(jié)果反饋給用戶。
圖5 系統(tǒng)雙線程運(yùn)行流程圖
系統(tǒng)檢測(cè)界面如圖6所示,共包括3個(gè)結(jié)果顯示區(qū),左側(cè)為襯套孔檢測(cè)結(jié)果,中間為出氣口端檢測(cè)結(jié)果,右側(cè)為中間殼端檢測(cè)結(jié)果。
圖6 檢測(cè)系統(tǒng)界面
在渦輪殼產(chǎn)品檢測(cè)車間,由于受到外界光的影響以及設(shè)備振動(dòng)、電磁干擾等的作用,會(huì)不可避免地使渦輪殼表面的原始圖像存在噪聲[13]。為了降低噪聲對(duì)特征識(shí)別的影響,提高后續(xù)圖像處理和分析的有效性和可靠性,首先需要對(duì)原始圖像進(jìn)行濾波。
圖像濾波可分為線性濾波和非線性濾波[14-15]這2種。線性濾波常用算法有均值濾波[16]、高斯濾波,線性濾波具有低通性,在去噪聲的同時(shí)也使得邊緣模糊,會(huì)影響后續(xù)邊緣的準(zhǔn)確提取。而非線性濾波在去除脈沖噪聲、椒鹽噪聲的同時(shí)又能保留邊緣細(xì)節(jié),因此本文選用了非線性濾波。中值濾波就是一種典型的非線性濾波器[17-18],其基本思想是用像素點(diǎn)鄰域灰度的中值來代替該像素點(diǎn)的灰度值,可以有效地抑制噪聲和保留邊緣特征[19]。
本文使用中值濾波、均值濾波和高斯濾波處理添加椒鹽噪聲的圖像(見圖7),處理結(jié)果如圖8所示,結(jié)果顯示,均值濾波和高斯濾波使圖像的邊界不清晰,影響后續(xù)的輪廓提取,濾波效果遠(yuǎn)不如中值濾波。
圖7 添加椒鹽噪聲的圖像
(a) 中值濾波結(jié)果
(b) 均值濾波結(jié)果
(c) 高斯濾波結(jié)果圖8 各濾波結(jié)果對(duì)比
為了減小非檢測(cè)區(qū)域?qū)u輪殼表面質(zhì)量檢測(cè)的影響,首先在原始圖像中提取檢測(cè)區(qū)域。精確提取檢測(cè)區(qū)域可以減少圖像處理時(shí)間,提高檢測(cè)精度。以圖9所示的渦輪殼出氣口端表面缺陷檢測(cè)為例,其檢測(cè)區(qū)域?yàn)?個(gè)環(huán)形區(qū)域。首先提取圖像中的輪廓信息,然后根據(jù)輪廓信息擬合出各環(huán)形區(qū)域的邊界,最后根據(jù)邊界信息獲取檢測(cè)區(qū)域。
(a) 渦輪殼零件圖像二值化結(jié)果
(b) 渦輪殼零件主要輪廓層次結(jié)構(gòu)局部放大圖圖9 渦輪殼零件主要輪廓層次結(jié)構(gòu)
在圖9中存在比較明顯的8個(gè)連通區(qū)域,其中連通區(qū)域S2~S7包括內(nèi)邊界和外邊界,S1只包括內(nèi)邊界,S8只包括外邊界。其中,輪廓提取采用的是SATOSHI SUZUKI提出的具有拓?fù)浣Y(jié)構(gòu)的邊界追蹤算法[20],該算法通過提取連通區(qū)域的內(nèi)外邊界,將各個(gè)輪廓?jiǎng)澐值讲煌膶哟巍?duì)渦輪殼出氣口端提取輪廓的結(jié)果如圖10所示。
圖10 渦輪殼圖像輪廓提取結(jié)果
接下來根據(jù)輪廓大小,采用最小二乘法[21-22]擬合各環(huán)形區(qū)域的輪廓圓,表1中給出了它們的擬合圓心和半徑。
表1 環(huán)形區(qū)域輪廓圓擬合結(jié)果 單位:像素
輪廓圓心半徑B1(1346,1021)948.2B2(1346,1018)802.3B3(1345,1022)773.8B4(1346,1019)708.6B5(1347,1018)697.7B6(1347,1017)659.1
根據(jù)表1中的圓心和半徑,提取3個(gè)環(huán)形區(qū)域設(shè)計(jì)掩模圖像。采用掩模圖像截取渦輪殼出氣口端原始圖像,得到表面缺陷檢測(cè)的檢測(cè)區(qū)域。通過與原始圖像對(duì)比,可以看出檢測(cè)區(qū)域提取準(zhǔn)確,零件缺陷保留完好。圖11為出氣口端掩模圖像,圖12為出氣口端區(qū)域圖像。
圖11 出氣口端掩模圖像
圖12 出氣口端區(qū)域圖像
檢測(cè)區(qū)域確定后,需要在該區(qū)域內(nèi)查找是否存在缺陷特征。如存在,則將其分割出來,并測(cè)量其尺寸。本文分別檢測(cè)3個(gè)環(huán)形連通區(qū)域內(nèi)是否存在子輪廓,并設(shè)定子輪廓的面積閾值,當(dāng)子輪廓面積大于該閾值時(shí)判定其為缺陷,同時(shí)根據(jù)提取出的輪廓將目標(biāo)缺陷分割出來。本系統(tǒng)檢測(cè)的精度為0.3 mm,根據(jù)檢測(cè)精度要求,反復(fù)試驗(yàn)測(cè)量,得到缺陷最佳面積閾值為20,當(dāng)輪廓面積閾值大于20時(shí),即判定該零件不合格。如圖13所示,分割出的缺陷1和缺陷2的面積分別為322 pixel2和379 pixel2。當(dāng)閾值減小時(shí),會(huì)造成系統(tǒng)的誤檢,如圖14所示,會(huì)將小于0.3 mm的微小細(xì)節(jié)判定為缺陷。表面缺陷視覺檢測(cè)圖像處理流程如圖15所示。
圖13 檢測(cè)結(jié)果
圖14 閾值減小時(shí)檢測(cè)結(jié)果
圖15 圖像處理流程
機(jī)械臂控制系統(tǒng)主要由工控機(jī)和機(jī)器人控制器組成。系統(tǒng)啟動(dòng)時(shí),工控機(jī)和控制器通過TCP/IP通信建立連接。其中控制器作為服務(wù)器,在工控機(jī)訪問時(shí),返回機(jī)械臂當(dāng)前所在位置。同時(shí),控制器接收工控機(jī)發(fā)出的指令,控制機(jī)械臂運(yùn)動(dòng)到指定工位。
ABB機(jī)械臂控制器提供了豐富的通信接口,可實(shí)現(xiàn)外部信號(hào)對(duì)機(jī)械臂的控制。常見的通信方式有標(biāo)準(zhǔn)通信I/O板卡、現(xiàn)場(chǎng)總線和Socket通信,其中Socket通信基于TCP/IP協(xié)議,使用Socket編程實(shí)現(xiàn)上位機(jī)與控制器的通信[23],因此本文選用了Socket通信方式,其通信流程如圖16所示。通信時(shí)首先為控制器和工控機(jī)創(chuàng)建Socket對(duì)象,控制器作為服務(wù)器監(jiān)聽通信接口,當(dāng)客戶端(工控機(jī))發(fā)來請(qǐng)求信號(hào)時(shí),二者建立連接,進(jìn)行數(shù)據(jù)和指令傳輸。Socket連接的操作界面如圖17所示,用戶輸入機(jī)械臂的IP地址和端口號(hào)后,點(diǎn)擊“連接”按鈕創(chuàng)建連接。機(jī)械臂默認(rèn)IP地址為192.168.125.1,默認(rèn)端口號(hào)為1025。
圖16 機(jī)械臂-工控機(jī)通信流程
圖17 Socket連接界面
圖18 機(jī)械臂-轉(zhuǎn)臺(tái)運(yùn)動(dòng)控制流程
本系統(tǒng)通過機(jī)械臂帶動(dòng)相機(jī)、轉(zhuǎn)臺(tái)帶動(dòng)零件的同步運(yùn)動(dòng)方式實(shí)現(xiàn)各檢測(cè)工位的圖像采集,因此需要規(guī)劃好機(jī)械臂和轉(zhuǎn)臺(tái)的運(yùn)動(dòng)軌跡,才能使系統(tǒng)安全高效地工作。轉(zhuǎn)臺(tái)初始位置為A工位,機(jī)械臂初始位置為安全位置。系統(tǒng)啟動(dòng)后,工控機(jī)發(fā)送信號(hào)到控制器,控制機(jī)械臂從安全位置移動(dòng)到A工位;機(jī)械臂到達(dá)A工位后,返回信號(hào)到工控機(jī);工控機(jī)收到信號(hào)后控制相機(jī)采集圖像,圖像采集完成后,工控機(jī)調(diào)用子線程處理圖像,同時(shí)發(fā)送信號(hào)給控制器,控制機(jī)械臂運(yùn)動(dòng)到安全位置;機(jī)械臂返回安全位置后,工控機(jī)控制轉(zhuǎn)臺(tái)運(yùn)動(dòng)到B工位。B、C工位與A工位類似,此處不再贅述,機(jī)械臂與轉(zhuǎn)臺(tái)運(yùn)動(dòng)控制流程如圖18所示。
采用本系統(tǒng)對(duì)某型號(hào)渦輪殼產(chǎn)品的出氣口端、中間殼端和襯套孔端面這3處機(jī)加工表面進(jìn)行表面質(zhì)量檢測(cè)試驗(yàn)。本文統(tǒng)計(jì)了550個(gè)渦輪殼零件的檢測(cè)結(jié)果,其中漏檢零件2個(gè),誤檢零件5個(gè),部分檢測(cè)結(jié)果如表2所示。
表2 某型號(hào)渦輪殼產(chǎn)品表面質(zhì)量檢測(cè)試驗(yàn)結(jié)果
試驗(yàn)結(jié)果顯示,本系統(tǒng)對(duì)渦輪殼出氣口端的平均檢測(cè)時(shí)間約為1.7 s,中間殼端的平均檢測(cè)時(shí)間約為1.4 s,襯套孔端面的平均檢測(cè)時(shí)間約為1.3 s。表面缺陷漏檢率為0.4%,誤檢率為0.9%,能夠檢測(cè)出的最小缺陷尺寸為0.3 mm。以上各項(xiàng)技術(shù)指標(biāo)均達(dá)到了工業(yè)現(xiàn)場(chǎng)使用要求,并且檢測(cè)正確率和檢測(cè)效率都有了明顯提升。
本文針對(duì)渦輪殼零件表面質(zhì)量檢測(cè)存在的檢測(cè)精度和效率低、勞動(dòng)強(qiáng)度大等問題,提出了基于機(jī)械臂的機(jī)器視覺檢測(cè)方法,實(shí)現(xiàn)了復(fù)雜外形渦輪殼零件的表面質(zhì)量檢測(cè)。根據(jù)渦輪殼表面的圖像特征,采用圖像濾波、特征提取和分割等圖像處理技術(shù),開發(fā)出一套完整的渦輪殼產(chǎn)品表面質(zhì)量視覺檢測(cè)系統(tǒng)。試驗(yàn)結(jié)果表明,本系統(tǒng)單工位平均檢測(cè)時(shí)間小于2 s,漏檢率僅為0.4%,檢測(cè)精度和效率均滿足工程應(yīng)用要求,本系統(tǒng)為大尺寸復(fù)雜外形產(chǎn)品的表面質(zhì)量檢測(cè)提供了有效手段。