姜春英,閆子龍,袁睿斌,張 渝,楊時敏
(1.沈陽航空航天大學(xué) 機電工程學(xué)院,沈陽 110136;2.上海航天化工應(yīng)用研究所,湖州 313002)
固體推進劑是一種具有特定性能的含能復(fù)合材料,是導(dǎo)彈、空間飛行器等各類固體發(fā)動機的動力源[1]。通過在固體推進劑藥柱內(nèi)埋金屬絲,可增加燃燒速率,達到提高總壓的目的[2]。該類包覆藥柱通常均勻內(nèi)埋6根銀絲[3],為了增大燃面,縮短燃面爬升坡段,需要在藥柱端面上沿銀絲方向進行鉆孔處理[4]。
鉆孔的傳統(tǒng)操作為人工手鉆,由于藥柱屬于易燃品,所以鉆孔過程具有一定的危險性;藥柱端面的銀絲不易觀察,使得人工手鉆耗時較長,且質(zhì)量一致性差,嚴(yán)重影響了藥柱整形的加工效率與整形的精度和質(zhì)量[5]。為確保整形精度和質(zhì)量,保證操作人員的生命安全,有必要利用自動化操作手段取代傳統(tǒng)的鉆孔操作環(huán)節(jié);而如何對藥柱端面的銀絲位置進行準(zhǔn)確識別,引導(dǎo)鉆頭進行精確鉆孔對能否實現(xiàn)自動化鉆孔操作起著決定性作用。
國內(nèi)外關(guān)于藥柱端面銀絲位置識別的研究相對較少,國內(nèi)楊時敏等提出了一種圖像特征點篩選提取的方法對藥柱端面銀絲位置進行識別定位[4]。本文采用機器視覺的方法[6],根據(jù)圖片特征生成自適應(yīng)感興趣區(qū)域,通過旋轉(zhuǎn)搜索模板比較相關(guān)性與滑動窗口的離散度準(zhǔn)確識別各個銀絲的位置。
藥柱端面如圖1所示,圖中黑色箭頭所指的亮點即為其中一根銀絲的位置,每個藥柱均布有6根銀絲,大致成正六邊形分布。對于同一型號的藥柱,雖然銀絲分布形狀大致相同,但由于藥柱生產(chǎn)過程會使銀絲位置產(chǎn)生一定的偏差,所以鉆孔加工前,需要對每個銀絲位置進行準(zhǔn)確識別。
圖1 藥柱端面圖
根據(jù)銀絲與藥本體灰度值對比度的差異,對圖片進行降噪濾波處理,生成自適應(yīng)感興趣區(qū)域后,通過旋轉(zhuǎn)生成的搜索模板比較相關(guān)性后,對銀絲所在的子區(qū)域進行粗定位,最后在子區(qū)域內(nèi)進行窗口滑動比較離散度找到銀絲位置,定位算法整體流程如圖2所示。
藥柱端面的平整度、殘留的銀絲碎屑、光照環(huán)境的變化均會對銀絲位置的準(zhǔn)確識別產(chǎn)生較大的干擾,選用高斯函數(shù)對圖片進行平滑降噪處理[7]。采用的高斯函數(shù)如式(1)所示。圖3為感興趣區(qū)域內(nèi)像素值的三維表示,其中高度信息代表像素值大小。從圖3可看出,濾波后圖片相比濾波前趨于平滑,便于后續(xù)處理。
(1)
式中σ為高斯曲線的標(biāo)準(zhǔn)差,影響圖像的平滑程度。
圖2 定位流程圖
(a)濾波前 (b)濾波后(σ=1)
根據(jù)藥柱端面銀絲的分布規(guī)律設(shè)定感興趣區(qū)域為圓環(huán),如圖4(a)所示。在感興趣區(qū)域內(nèi)尋找銀絲,一方面排除了圖像中的其他干擾點,提高了銀絲位置識別的準(zhǔn)確度;另一方面減小了尋找面積,加快了處理速度[8]。藥柱每次被氣動夾爪夾緊后,在視場內(nèi)會有一定的偏移,設(shè)定固定位置的感興趣區(qū)域在偏移過大時,將會使得銀絲越界,如圖4(b)中方形框所示,該銀絲將不會被識別出。通過生成自適應(yīng)感興趣區(qū)域,提高了識別的準(zhǔn)確性。
(a)環(huán)形感興趣區(qū)域圖 (b)銀絲越界圖
自適應(yīng)感興趣區(qū)域的生成分為以下5個步驟:
(1)設(shè)置自適應(yīng)閾值。通過分析圖片特征,由于藥柱邊緣與藥柱表面灰度值有較大的差別,取藥柱表面的灰度均值作為分割的閾值,將藥柱表面區(qū)域與其周圍區(qū)域區(qū)分開,為步驟3輪廓提取做準(zhǔn)備。由于光照等因素的影響,藥柱端面的灰度值有一定的波動,使得設(shè)置固定的閾值缺乏適應(yīng)性,需根據(jù)每幅圖片特征生成自適應(yīng)閾值。在取得正常圖片的情況下,視場中心一直位于藥柱端面上,將視場中心作為閾值計算方框的中心,計算方框內(nèi)的像素均值T作為閾值,通過多次處理得到,方框的邊長可設(shè)定為50~100個像素。
(2)閾值分割。根據(jù)式(2)利用閾值T將圖片分割為二值圖如圖5(a)所示[9]。
(2)
式中f(m,n)為像素坐標(biāo)系下(m,n)處閾值分割后像素值;p(m,n)為像素坐標(biāo)系下(m,n)處原圖像素值。
(3)提取藥柱輪廓。通過邊界追蹤算法找出閾值分割后的二值圖中的各個輪廓[10],各個輪廓所圍的區(qū)域如圖5(b)所示;最大的輪廓即為藥柱端面輪廓,該輪廓所圍的區(qū)域的二值圖如圖5(c)所示。
(4)尋找藥柱端面中心。對步驟3提取出的藥柱端面輪廓二值圖,求出輪廓的外切矩形如圖5(c)所示,矩形對角線的交點即為所求的中心。取輪廓半徑為矩形長寬均值的一半繪制藥柱的輪廓圖如圖5(d)中紅色圓所示。
(5)生成感興趣區(qū)域。根據(jù)步驟4找到的藥柱端面的中心生成感興趣區(qū)域如圖5(d)所示。對于同一型號的藥柱,銀絲分布在一定半徑范圍內(nèi)波動,根據(jù)該型號藥柱銀絲分布半徑,設(shè)置感興趣區(qū)域使得銀絲位于圓環(huán)中間。感興趣區(qū)域過大,將會引入過多干擾;感興趣區(qū)域過小,由于銀絲位置波動可能越界。圓環(huán)內(nèi)外徑可根據(jù)各個型號藥柱銀絲波動大小適當(dāng)調(diào)整。
為了尋找銀絲點所在的位置,對圓環(huán)感興趣區(qū)域進行細(xì)分。細(xì)分份數(shù)過小時,后續(xù)算法生成的模板值過小,子區(qū)域相關(guān)性區(qū)別小,容易受干擾的影響;細(xì)分份數(shù)過大時,耗時較長。
本文算法所用藥柱直徑為65 mm,通過多次測試,細(xì)分份數(shù)在區(qū)間[300,900]時,相關(guān)性區(qū)別較大且耗時短。本次算法將感興趣區(qū)域細(xì)分為600份如式(3)所示,對細(xì)分的每一份生成方形子區(qū)域,子區(qū)域如圖6所示。為了方便坐標(biāo)計算,后續(xù)算法均為以圖像坐標(biāo)系下x軸正方向為起點。
(3)
式中θi為細(xì)分后位置i的角度。
(a)閾值分割圖 (b)輪廓尋找圖
(c)輪廓提取圖 (d)感興趣區(qū)域生成圖
圖6 感興趣區(qū)域細(xì)分圖
根據(jù)1.2節(jié)找到的感興趣區(qū)域中心,生成的方形子區(qū)域的數(shù)學(xué)表示如式(4):
(4)
式中a、R、r、x、y、xi、yi分別為子區(qū)域邊長、感興趣區(qū)域圓環(huán)的外圓半徑、感興趣區(qū)域圓環(huán)的內(nèi)圓半徑、感興趣區(qū)域圓環(huán)中心的x坐標(biāo)、感興趣區(qū)域圓環(huán)中心的y坐標(biāo)、細(xì)分的位置i處子區(qū)域中心的x坐標(biāo)、細(xì)分的位置i處子區(qū)域中心的y坐標(biāo)。
對于細(xì)分后的子區(qū)域,無銀絲的區(qū)域像素值分布比較均勻,即離散度較小,而有銀絲的區(qū)域,像素值會有較大的波動,即離散度較大。采用式(5)進行細(xì)分后各個子區(qū)域的離散度計算,感興趣區(qū)域細(xì)分后的離散度圖如圖7所示。
(5)
式中μ、δ、M×N分別為像素值的均值、像素值的離散度、圖像的大小。
圖7 離散度圖
對感興趣區(qū)域細(xì)分處理后,進行銀絲的粗定位。根據(jù)子區(qū)域離散度的分布情況生成搜索模板,通過旋轉(zhuǎn)搜索模板比較相關(guān)性找到銀絲所在子區(qū)域的位置。
由圖7可知,離散度值近似矩形波。銀絲所在的子區(qū)域,離散度較大,將會出現(xiàn)波峰。對感興趣區(qū)域進行細(xì)分后,銀絲會位于多個子區(qū)域內(nèi),形成離散度圖內(nèi)的脈沖寬度,當(dāng)銀絲位于子區(qū)域中間時,對應(yīng)于一半脈沖寬度的位置。由于銀絲大致成正六邊形分布,設(shè)定周期為100時,在各個周期內(nèi)均會有一個脈沖寬度,所以每個周期內(nèi)都可找到一個銀絲的位置。
根據(jù)感興趣區(qū)域細(xì)分后的離散度分布情況,提出了一種旋轉(zhuǎn)搜索模板的方法,根據(jù)式(6)生成周期為100的搜索模板,如圖8所示。
(6)
式中 定義“/”為相除取整運算,k、i、t、Ti分別為細(xì)分值映射在一個周期內(nèi)的值、細(xì)分的位置值、周期數(shù)、模板值。
圖8 搜索模板圖
生成搜索模板后,旋轉(zhuǎn)搜索模板對銀絲位置進行尋找,根據(jù)離散度的分布,在一個周期內(nèi)旋轉(zhuǎn)搜索模板得到一個銀絲子區(qū)域位置后即可得到其余銀絲的子區(qū)域位置。根據(jù)式(7)將搜索模板進行逆時針旋轉(zhuǎn),即在一個周期內(nèi)將模板向左依次移動一個細(xì)分值(旋轉(zhuǎn)的方向可任意,本文通過逆時針旋轉(zhuǎn))。
(7)
每次旋轉(zhuǎn)搜索模板后,與1.3節(jié)得到的細(xì)分時各個子區(qū)域的離散度值相乘,得到銀絲位置的相關(guān)性如式(8):
(8)
式中Vj為第j次旋轉(zhuǎn)時銀絲位置的相關(guān)性。
在模板旋轉(zhuǎn)過程中,當(dāng)模板的峰值位于各個周期內(nèi)一半脈沖寬度的位置時,相關(guān)性將會最大,如式(9)所示。旋轉(zhuǎn)一個周期得到的銀絲位置相關(guān)性如圖9所示,圖中所標(biāo)記的相關(guān)性最大的位置即為所求。
P=j{maxVj},(j=0~99)
(9)
式中P為相關(guān)性最大時搜索模板旋轉(zhuǎn)的次數(shù)。
圖9 銀絲位置相關(guān)性圖
根據(jù)搜索模板的特性,在一個周期內(nèi),峰值的位置與起點的位置相差π/6,即找到的最大相關(guān)性的位置與銀絲所在的方形區(qū)域相位差為π/6,根據(jù)式(10)、式(4)可得到第一個銀絲所在的子區(qū)域的位置:
(10)
式中β0為第一個銀絲所在的子區(qū)域的角度。
得到第一個銀絲所在子區(qū)域的位置后,由式(11)、式(4)可得到其余5根銀絲所在子區(qū)域的位置,6根銀絲粗定位后的子區(qū)域如圖10所示。
(11)
圖10 粗定位位置圖
粗定位找到銀絲所在的子區(qū)域后,需要在子區(qū)域內(nèi)精定位找到銀絲的準(zhǔn)確位置。粗定位找到的其中一個子區(qū)域如圖11(a)所示。
由于車刀的磨損,藥柱端面車削時可能會出現(xiàn)銀絲殘留的情況如圖11(b)所示。出現(xiàn)銀絲殘留時,銀絲將會沿著車刀運動的方向彎折約90°緊貼在藥柱端面,由于銀絲的彎折使得光線基本上沿平行于藥柱端面的方向反射,很少反射到相機CCD(圖像傳感器)靶面,由圖11(b)中箭頭所指的位置可看到,銀絲根部的像素值將會特別小。
在粗定位的子區(qū)域圖中可看到有銀絲的位置與沒有銀絲的位置像素值有較大的差別,可在子區(qū)域內(nèi)直接通過像素值的大小判斷銀絲所在位置,這種方法對于銀絲完全切斷的藥柱適用,但對于有銀絲殘留的藥柱,銀絲在藥柱端面為一長線。因此,無法確定銀絲根部位置,將會產(chǎn)生較大的定位誤差。
由于銀絲出現(xiàn)彎折時銀絲根部與銀絲的像素值有較大的差別,即離散度較大,而且對于粗定位的子區(qū)域圖,在沒有銀絲的位置像素值分布均勻,即離散度較小,在有銀絲的位置灰度值有較大的跳動,即離散度較大,所以通過判斷離散度即可得到銀絲的位置。
(a)粗定位銀絲子區(qū)域圖 (b)銀絲未完全切斷圖
在精定位到的155×155子區(qū)域內(nèi),建立11×11的窗口在子區(qū)域內(nèi)滑動,根據(jù)式(5)計算每次滑動時窗口內(nèi)的離散度,離散度最大的位置即為銀絲所在的位置。精定位找到的銀絲位置如圖12所示。
圖12 銀絲精定位圖
自動藥柱整形系統(tǒng)中,藥柱端面銀絲位置識別視覺部分如圖13所示,由以下三部分組成:圖像的獲取、圖像的處理和分析、與PLC(可編程邏輯控制器)進行通訊。
圖13 藥柱端面銀絲識別視覺系統(tǒng)
圖像的獲取設(shè)備由高分辨率CCD黑白相機和環(huán)形光源組成,通過采用500萬像素的CCD黑白工業(yè)相機提高采集的圖像的質(zhì)量[11],亮度均勻的環(huán)形光源增強銀絲與藥柱端面的對比度[12],便于對銀絲的位置進行識別;圖像的處理與分析在PC中VC++(Microsoft Visual C++)環(huán)境下進行;PC與PLC通過OPC(OLE for Process Control)進行通訊。在自動藥柱整形系統(tǒng)到達藥柱端面銀絲識別工位后,PLC發(fā)出定位拍照指令,相機采集到藥柱端面圖后在PC上進行處理,分析得到各個銀絲的位置,將位置發(fā)送給PLC的同時發(fā)出定位完成指令,PLC收到定位完成指令后根據(jù)處理得到的銀絲位置執(zhí)行鉆孔工位開始鉆孔。
為了驗證銀絲位置識別算法的準(zhǔn)確性,在藥柱整形加工系統(tǒng)上進行位置識別與鉆孔實驗。對設(shè)備相機進行手眼標(biāo)定,并計算確定其坐標(biāo)系和加工系統(tǒng)末端坐標(biāo)系之間的關(guān)系后,對同一型號藥柱經(jīng)多次車削獲得的藥柱端面圖像進行位置識別、鉆孔[13]。
銀絲位置被準(zhǔn)確識別后,將會引導(dǎo)設(shè)備進行鉆孔操作,圖14左右兩側(cè)為2次鉆孔實驗的圖片。
(b)銀絲位置識別圖
(c)鉆孔圖
去除由于車削問題使得部分銀絲未能露出的圖片,進行了2組實驗,每組實驗進行30次車削鉆孔即每組對180個銀絲進行位置識別與鉆孔。表1為實驗的統(tǒng)計數(shù)據(jù),其中正確鉆孔的實現(xiàn)主要取決于視覺識別精度、手眼標(biāo)定精度、機械系統(tǒng)精度三方面。嚴(yán)格控制三方面精度,其中視覺識別精度<0.2 mm、手眼標(biāo)定精度<0.1 mm、機械系統(tǒng)精度<0.02 mm,能夠保證銀絲的定位精度控制在0.4 mm以內(nèi)。通過實驗與數(shù)據(jù)統(tǒng)計可得到,鉆孔成功率大于所要求的99%,藥柱端面銀絲位置識別算法可實現(xiàn)對藥柱端面銀絲位置的準(zhǔn)確識別,滿足自動化所需工藝過程連續(xù)的批量生產(chǎn)需求。
對藥柱端面銀絲識別1次得到各個銀絲的位置,并引導(dǎo)整形加工系統(tǒng)鉆孔為一連續(xù)的過程,而工人手鉆需要對每個銀絲重復(fù)進行位置對準(zhǔn)。實測表明,銀絲自動識別與鉆孔的工序過程與人工操作相比,效率提升5倍。
表1 鉆孔成功率
本文提出了一種基于離散度的藥柱端面銀絲位置視覺識別方法,根據(jù)圖片特征生成自適應(yīng)感興趣區(qū)域后,采用旋轉(zhuǎn)搜索模板比較相關(guān)性的方法粗定位銀絲子區(qū)域位置,通過比較滑動窗口的離散度的方法精定位到銀絲的位置。實驗表明,該方法識別率大于所要求的99%,可快速準(zhǔn)確實現(xiàn)銀絲位置的識別,滿足自動化批量生產(chǎn)的需求。