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