王慶陽,張秀珩
(沈陽理工大學(xué)機械工程學(xué)院,沈陽 110159)
隨著人力成本的不斷上漲,自動化技術(shù)以其高效率、低成本的特點,越來越受到人們的青睞,大量企業(yè)引入數(shù)控機床、工業(yè)機器人等自動化設(shè)備甚至智能化設(shè)備。在中國經(jīng)濟轉(zhuǎn)型升級的過程中,自動化、智能化必不可少,機器視覺作為該領(lǐng)域的產(chǎn)物,具有非常重要的地位和極大的發(fā)展?jié)摿Α?/p>
目前,國內(nèi)壓縮機市場并沒有專門針對壓縮機氣閥安裝的裝配機器人。沈陽某公司在該領(lǐng)域內(nèi)研究深入,能生產(chǎn)多種介質(zhì)工藝壓縮機和空氣壓縮機,但在氣閥的裝配工作流程中依然使用人工裝配。由于氣閥裝配的作業(yè)空間狹小,工作環(huán)境復(fù)雜,因此在人工裝配過程中經(jīng)常會遇到很多問題甚至安全隱患?;谝陨锨闆r,考慮到若能使用工業(yè)機器人進行壓縮機氣閥裝配,則能事半功倍。
本文采用基于Canny算子的邊緣檢測技術(shù)結(jié)合OpenCV圖像處理技術(shù),解決了機器人在進行氣閥抓取過程中對氣閥邊緣輪廓的視覺識別問題[1]。
往復(fù)式壓縮機使用氣閥控制氣體進出氣缸,進氣端和出氣端分別采用進氣閥和出氣閥控制氣體的進出,是往復(fù)式壓縮機氣體進出的關(guān)鍵部件。本文的研究對象2D-90壓縮機進氣閥是一種網(wǎng)狀自動閥,其結(jié)構(gòu)由螺母、墊片、閥座、閥片、彈簧和閥蓋組成[2],如圖1所示。
圖1 氣閥結(jié)構(gòu)圖
圖2 氣閥輪廓識別流程
裝配時需將氣閥整體放入壓縮機的氣閥孔中,氣閥孔與氣閥為間隙配合,作業(yè)空間很小。采用機器人裝配時,需要使機器人自動且正確抓取氣閥,以保證后續(xù)工作,因此對氣閥進行準(zhǔn)確地輪廓識別與定位至關(guān)重要。
本文采用埃斯頓工業(yè)機器人對2D-90壓縮機進行氣閥裝配。使用CCD(Charge Coupled Device)相機采集圖像,由于CCD相機具有體積小、抗震性強、便于安裝等特點,被廣泛應(yīng)用于機器人視覺行業(yè),其技術(shù)成熟,配套設(shè)施完善,易在市場上購得。為得到清晰的氣閥輪廓圖像,便于機器人識別,采集圖像后還需對所采集的圖像進行圖像預(yù)處理,之后對處理過的圖像進行輪廓提取和位置識別,整體過程如圖2所示。
圖像預(yù)處理是機器視覺中必不可少的部分。在圖像采集過程中會有光照、電信號等外界因素的干擾,導(dǎo)致采集到的圖像中包含噪聲,對圖像識別產(chǎn)生干擾,因此無論用何種算法進行圖像識別,都必須先對采集到的圖像進行圖像預(yù)處理。圖像預(yù)處理不僅對識別效果有所幫助,而且經(jīng)過合適的方法,處理過的圖像會被濾除掉更多的無用信息,使其能夠表達圖像特征的有用信息占比更大,同時圖像處理速度更快[3]。因此,必須對圖像進行圖像預(yù)處理,以保證圖像識別的速度和效果。本文針對2D-90往復(fù)壓縮機氣閥形狀特點,設(shè)計了如圖3所示的圖像預(yù)處理流程[4]。
經(jīng)過圖像預(yù)處理后,將得到氣閥圖像的二值圖,如圖4所示。二值圖邊緣特征明顯,便于Canny算子進行氣閥邊緣輪廓提取[5-6]。
圖3 圖像預(yù)處理流程
圖4 二值圖
Canny算子是John Canny[7]于1986年在其發(fā)表的論文中首次提及的邊緣檢測算子,該算子檢測性能較好,應(yīng)用范圍廣。圖像信號函數(shù)與圖像像素點存在一定關(guān)系,圖像邊緣像素點即是圖像信號函數(shù)的極大值點。Canny算子使用該理論進行圖像的邊緣檢測,包括以下4步。
(1)高斯濾波。目前各種針對于邊緣檢測的算法大都出自于對圖像強度進行微分處理,但導(dǎo)數(shù)對噪聲很敏感,因此在進行微分操作前需要先進行濾波,Canny算子中采用高斯濾波來提高邊緣檢測性能。將原始數(shù)據(jù)與高斯模板進行卷積操作,以消除噪聲,但高斯濾波后得到的圖像與原圖像相比有輕微模糊。
(2)計算梯度方向和幅值。用一階差分來近似圖像灰度值的梯度,得到x、y兩方向上的偏導(dǎo)數(shù)矩陣,令一對卷積陣列分布作用于相應(yīng)的水平和垂直方向。其中用到如下Sobel模板:
式中:Gx為x方向掩碼模板;Gy為y方向掩碼模板;K為鄰域標(biāo)記矩陣。依上述模板,計算圖像梯度幅值和方向為:
(3)非極大值抑制。尋找像素點局部最大值,背景像素點由非極大值點所對應(yīng)的灰度值確定,采用局部最優(yōu)值方法判定一點是否為邊緣點,抑制非極大值點信息,突出邊緣點。使用此方法可去除大多數(shù)非邊緣點。
如圖5所示,對點c進行非極大值抑制,以點c為中心,找出點c附近8個鄰域方向的灰度值,比較判斷點c是否為其中最大的點。a、b方向是點c梯度方向,也是其局部最大值所在。比較點c與梯度方向的交點a、b的灰度值大小,若點c的灰度值最大,則點c為局部灰度值最大點,判定為邊緣點。
(4)雙閾值法求解圖像邊緣。設(shè)定高閾值a和低閾值b,若某像素幅值在a之上,則該像素判定為邊緣像素,予以保留;若某像素幅值在b之下,則該像素不是邊緣像素,予以剔除;若某像素幅值在a與b之間,則僅當(dāng)該像素與高于a的像素相互連接時被認定為邊緣像素,予以保留。
經(jīng)Canny算子作用后,將提取到氣閥邊緣輪廓,如圖6所示。
圖5 局部最大值判斷
圖6 Canny算子邊緣識別
采用霍夫圓變換對圖像輪廓進行識別[8],并在霍夫變換代碼中加入圓心計算方式[9],使其能返回圓心坐標(biāo)值,結(jié)果如圖7所示。
實驗對象為2D-90往復(fù)式壓縮機網(wǎng)狀進氣閥,實驗所用機器人為南京某公司生產(chǎn)的ER30六自由度工業(yè)機器人,使用ThinkPad S430計算機,軟件平臺為Visual Studio 2017配合OpenCV 3.4.1,在以上硬件和軟件條件下進行實驗,如圖8所示。
圖7 霍夫圓識別
圖8 實驗對象
將CCD相機安裝在機械臂前端的相機支架上,在進行相機標(biāo)定后采集氣閥圖像,隨后開始圖像預(yù)處理。處理過程中經(jīng)直方圖分析和實際效果對比,設(shè)定閾值為149。在該灰度值基礎(chǔ)上進行二值化操作,結(jié)果如圖9所示;再對其進行圖像填充處理,得到邊緣特征明顯的二值圖,效果如圖10所示。
圖9 二值化
圖10 圖像填充
對圖10采用Canny算子邊緣檢測,結(jié)果如圖11所示。分別使用Laplace算子、Prewitt算子和Roberts算子對相同氣閥進行邊緣檢測[10]。
圖11 Canny檢測
圖12 Laplace檢測
圖13 Prewitt檢測
圖14 Roberts檢測
實驗結(jié)果可以看出,Laplace算子檢測出的輪廓線很粗,定位精度低,而Prewitt算子雖比Laplace算子效果好一些,但仍不如Canny算子的檢測結(jié)果精確,且二者對噪聲都比較敏感,抗噪能力低,實際效果并不好,如圖12~13所示。Roberts算子的檢測精度要比Laplace和Prewitt算子好很多,但其135°對角方向的邊緣輪廓有斷點,如圖14~15所示。以上3種算法檢測出的邊緣輪廓均不理想。在Canny算子的檢測結(jié)果中,圖像邊緣線準(zhǔn)確且平滑,定位精度高,邊緣線沒有斷點且對噪聲的抑制效果很好。因此,相較而言,Canny算子是最佳選擇。
圖15 Roberts檢測局部圖
使用霍夫圓變換對檢測結(jié)果進行定位分析[11-12],并返回圓心坐標(biāo)值,成功抓取氣閥,如圖16~17所示。圖18所示為正在實驗的全景圖。
圖16 Hough圓識別
圖17 抓取氣閥
圖18 實驗全景圖
(1)本文通過對基于OpenCV圖像處理技術(shù)的應(yīng)用,使用Canny算子邊緣檢測技術(shù)成功提取氣閥輪廓。
(2)經(jīng)實驗證明,本文所用方法在輪廓的連續(xù)性、對噪聲的抑制以及定位精度方面都優(yōu)于傳統(tǒng)方法。
(3)使用帶有圓心計算方式的霍夫圓變換,直接返回圓心坐標(biāo),使檢測結(jié)果更加清楚直觀。
使用該方法所提取到的輪廓圖像成功為機器人識別壓縮機氣閥提供了視覺引導(dǎo),其精度滿足實際作業(yè)要求。