常雪蓮
(煙臺汽車工程職業學院,山東 煙臺 264000)
隨著汽車制造領域的飛速發展,使汽車制造領域逐漸走向智能化、自動化。傳統汽車制造領域主要采用人工方式完成生產,但是汽車生產線的熱處理設備長期處于高溫環境下,工作環境溫度過高,可使作業人員易出現疲勞狀態,具有生產效率低、質量較差等缺陷,如何實現熱處理爐的自動化控制成為亟待解決的問題。為此本研究采用高柔性化、高自由度的六軸機器人代替傳統人工作業,將其應用于熱處理爐的自動化控制中,有利于提高汽車行業的整體經濟效益。
六軸機器人對圖像的處理包括6個步驟:圖像的采集、預處理、分割、描述、識別以及結果輸出,本研究主要對六軸機器人圖像的預處理步驟和分割步驟進行分析。通過對圖像進行預處理和分割,有利于提高六軸機器人對圖像處理的精準度。
熱處理爐的工作現場環境較差,通常處于高溫狀態,采用六軸機器人對處于高溫火焰噴射的爐門進行圖像采集,可直接造成圖像出現質量問題,該方式采集的圖像在背景與目標邊緣方面較為模糊。為保證六軸機器人采集圖像的質量,本研究對采集的圖像進行預處理。圖像預處理實際上是預先對圖像進行變換,以此實現抑制或者濾去采集圖像過程中存在的噪音點,最大限度地強化圖像的輪廓邊界,全部操作執行完畢后,即可得到質量較好的圖像[1]。
圖像預處理包含濾波和銳化兩個步驟,對圖像進行濾波處理時,可選用一種快速算法。快速中值濾波算法與傳統的中值濾波算法進行對比可知,快速中值濾波算法對圖像進行預處理時,充分考慮了相鄰兩個濾波窗口信號數據的相關性,為有效提高圖像處理的運算效率,該算法采用比較的方式取代傳統算法的排序運算。將該算法應用于熱處理爐的自動控制中,有利于提高熱處理爐的控制效果。
快速中值濾波算法對圖像進行預處理的基本步驟為:首先假設圖像像素的長度為L,建立中值濾波窗口,該窗口為2N+2,移動步長為2;其次,每次中值濾波窗口出現移動現象時,應立即計算窗口內前2N+1個像素的灰度中值M1,再計算中值濾波窗口內后2N+1個像素的灰度中值M2;最后采用灰度中值M1和M2替代窗口內N和N+1位置上的灰度值[2]。
中值濾波窗口以移動步長為2不斷向后滑動,直至經歷整幅圖像后,停止對圖像的預處理。通過對圖像進行中值濾波處理后,有利于提高圖像的平滑和保護邊緣的效果。通常情況下,六軸機器人對圖像的細節要求較低,僅采用一次快速中值濾波操作即可滿足熱處理爐的自動化控制要求。
六軸機器人采集圖像預處理的第二步為銳化,銳化實際上是從圖像中檢出目標的邊緣。邊緣檢測的原理為:將邊緣灰度幅度微分不連續性原理作為核心,采用各種線性、非線性邊緣增強算子方法對六軸機器人采集的圖像進行卷積。圖像銳化處理的計算量較大,不適用于六軸機器人的系統,本研究為滿足熱處理爐自動化控制的實時性要求,選用Sobel算子以及一個3×3的鄰域,例如:
(1)
該鄰域中的A點位處理點,經過處理點的直線包括4條,每條直線可將鄰域中剩余的像素劃分為兩部分,每部分包含3個像素,可將其稱之為子鄰域,每個像素的計算次數為4次,將4個差值的最大絕對值替代中心像素A[3]。
采用快速中值濾波算法對圖像進行預處理,可有效滿足微分轉換為差分運算后的方向性要求,同時可大大簡化運算過程。通過Sobel算子銳化后的圖像具有邊界清晰、細節強化等優勢。
六軸機器人采集圖像預處理完畢后,需要對目標和背景進行分割。圖像的分割方法是確定閾值T,若灰度值大于T,可稱之為目標;若灰度值小于T,則可稱之為背景。閾值確定的方法為視覺圖像分割的關鍵,對閾值方法進行選擇時,應充分結合不同的應用角度,并按照像素的灰度值分布情況和像素領域的平均灰度值分布構成的直方圖實現閾值的分割。當圖像的信噪處于較低狀態時,可直接造成退選哪個的錯誤分割,該方式有利于降低圖像分割錯誤的可能性。本研究為最大限度地縮短圖像分割運算時間,選用二維熵閾值分割快速算法作為圖像分割的核心算法。六軸機器人采集圖像時,易使圖像出現同態性。圖像同態性指的是:圖像目標和背景處的像素灰度值和領域平均灰度值之間較為接近。當圖像像素的灰度值和鄰域平均灰度值之間的差異性較大時,為使目標類和背景類的后驗熵最大,可選擇二維熵閾值(S,T)作為目標與背景分割的閾值[4]。
快速二維熵閾值分割算法對圖像進行分割操作的基本步驟為:首先,對圖像各個像素點的鄰域平均灰度值進行計算,將數值作為主要依據,以此建立二維灰度直方圖;其次,初始化max=0,Pst(s,t)=0,Hst(0,t)=0,t∈[0,L],并計算出最佳閾值矢量S和T。兩個類的熵定義為
(2)
本研究為得到全局最優結果,將判別函數作為主要依據,并采用窮舉搜索法對閾值矢量(S,T)進行計算,判別函數為
H(S,T)=max(min{H0(s,t),H1(s,t)})
(3)
式中,s=1,2,…,L;t=1,2,…,L。
最后按照二維閾值化函數實現圖像的分割,其公式為
(4)
在確定圖像的閾值T后,即可對圖像進行二值化處理。當像素值小于T的灰度值時,可將像素值記作b0;當像素值等于或大于T的灰度值時,可將像素值記作b1。通過對圖像進行二值化處理,即可得到含托架輪廓的二值圖像。采用快速二維熵閾值分割算法對閾值矢量(S,T)的熵進行計算時,其關鍵在變頻數之和為相加(減)。因此,對每個閾值矢量(S,T)進行計算時,為最大限度地提高計算速度,應降低計算的復雜性,由O(L4)減少到O(L2)[5]。
為進一步對圖像進行數學描述,提取圖像所表示物體的面積、周長、質心等幾何特征。描述圖像特征的方法主要包括兩種:行程碼法、鏈碼法,本研究采用行程碼法實現特征的描述,該方法可用于計算圖像的面積、質心等特征,具有計算量小、速度快等優勢。
行程碼方法的圖像描述過程為:采用逐行(列)的方法對二值圖像進行掃描,假設背景點為0,物體點為1,當該方法從背景點掃描到物體點時,即可對一個行程段的開始進行標明,并將坐標記作Xi和Yi,直至行程碼法重新掃描到背景點時,可認為該行程段為結束狀態,此時物體點為1的像素長度為Li。無限循環該過程,直至一幅圖像成功轉換為行程段碼的集合,即可結束該行程。每個行程段均包含三個數據:Xi、Yi、Li[6]。
采用行程碼對物體的純面積進行計算時,可將每個行程段碼的長度相加,其公式為
A=∑Li
(5)
通常情況下,可選擇物體面積的中心點替代物體在圖像中的位置,面積中心實際上指的是:當單位面積質量處于恒定狀態時,相同形狀圖像的質心即為面積中心,該面積中心可通過計算物體的一階矩Mx和My獲取。采用行程碼方法獲取Mx和My的數值時,每個行程段均對應一個ΔMx和ΔMy,其公式為
(6)
一階矩Mx和My的公式為
Mx=∑ΔMx,My=∑ΔMy
(7)
質心坐標為
X0=My/A,Y0=Mx/A
(8)
式中:X0和Y0為中心點的坐標。
六軸機器人事故性疊放圖像及行程碼表示如圖1所示[7]。當六軸機器人的齒輪疊放在輥道上時推動熱處理爐,推動現象如圖1(a)所示,可直接造成六軸機器人出現故障現象。本研究為避免六軸機器人出現故障問題,在操作六軸機器人之前,對六軸機器人的齒輪疊放狀態進行事故判別。判別方法包括兩種:方法一,通過計算物體的二階矩,判斷物體的實際“方向”;方法二,行程碼法。方法一在實際操作過程中對計算積分和投影三角函數的要求較高,具有計算量過大、操作繁瑣等缺陷。為此選用行程碼法對機器人托架的疊放狀態進行判斷,如圖1(b)和圖1(c)。當六軸機器人因齒輪疊放在輥道上而出現故障現象時,可與正常疊放狀態的行程碼進行比較,有利于迅速判別故障的發生,并將故障信息上傳至系統內部。

圖1 六軸機器人事故性疊放圖像及行程碼表示
熱處理爐在實際運行過程中,可將爐門到輥道上齒輪中心的距離定義為固定值。因此,采用六軸機器人對圖像進行處理時,可實現三維圖像到二維圖像的簡化。視場系統與六軸機器人系統之間的坐標轉換實際上是二維空間的線性映射。
六軸機器人坐標系統可對圖像進行預先標定,為確定圖像在視場坐標系中的位置,可將視場系統內已知的固定點作為參照物,以此確定圖像的實際位置。本研究選用熱處理爐爐門上直接分布的三個角點作為參照物點,并測算三個角點在六軸機器人坐標系統的坐標,三個角點的坐標分別為:(Xr1,Yr1)、(Xr2,Yr2)、(Xr3,Yr3)。
三個角點在圖像中的坐標分別為:(Xv1,Yv1)、(Xv2,Yv2)、(Xv3,Yv3)。
視場系統與六軸機器人系統之間的坐標轉換關系為線性變換,變換的最終結果為
(9)
通過式(9),即可得到視場系統與六軸機器人系統坐標之間的線性映射常數,將得到的線性映射常數作為主要依據,求出托架中心線和齒輪中心在機器人坐標系中的位置[8]。
六軸機器人視覺系統的瓶頸為計算機處理速度,為最大限度地提高計算機的處理速度,可采用隔點隔行采樣方法。但是該方法可直接造成圖像的質量出現問題。熱處理爐自動化控制系統中全部程序均采用BorlandC++語言和匯編語言完成編寫,通過對系統程序進行優化,可將定位的誤差控制在2 mm之內,其定位時間不超過2 s,符合熱處理爐自動化控制系統的要求。
由于熱處理爐的工作現場環境較差,通常處于高溫狀態,采用六軸機器人對處于高溫火焰噴射的爐門進行圖像采集,可直接造成圖像出現質量問題,該方式采集的圖像在背景與目標邊緣方面較為模糊。為保證六軸機器人采集圖像的質量,采用快速中值濾波算法對圖像進行預處理,可有效滿足微分轉換為差分運算后的方向性要求,同時可大大簡化運算過程,有利于提高機器人的控制精度。通過Sobel算子銳化后的圖像具有邊界清晰、細節強化等優勢,通過對系統程序進行優化,可將定位的誤差控制在2 mm之內,其定位時間不超過2 s,符合熱處理爐自動化控制系統的要求。