張 輝,潘 新,李海偉,杜 杰,羅志光,郭飛燕
(1. 航空工業(yè)沈陽飛機工業(yè)(集團)有限公司,沈陽 110850;2. 北京科技大學(xué),北京 100083)
標(biāo)準(zhǔn)件是構(gòu)成飛機結(jié)構(gòu)及系統(tǒng)的基礎(chǔ)零件,其數(shù)量多、應(yīng)用范圍廣,必須具有良好的質(zhì)量一致性和可靠性,并經(jīng)過有效的試驗驗證,才能保證飛機裝配的精度和服役的可靠性。而實現(xiàn)高精度裝配的前提是需要有高精度的連接孔。就目前的制孔技術(shù)而言,由于锪窩深度的不穩(wěn)定,存在部分锪窩超差和需要人工補锪的現(xiàn)象。為了制造高質(zhì)量的裝配孔,需要對锪窩孔的制孔質(zhì)量進行檢測。然而,傳統(tǒng)的塞規(guī)、止規(guī)等接觸式檢測方法需要將塞規(guī)等插入連接孔中,不僅檢測精度低,而且在測量時容易劃傷孔壁表面,造成不可修復(fù)的損傷。同時,長時間使用也會使得塞規(guī)和止規(guī)等產(chǎn)生磨損,導(dǎo)致檢測結(jié)果不準(zhǔn)確。因此,需要尋求新的檢測方式來實現(xiàn)锪窩孔制孔質(zhì)量的高精度檢測。
目前應(yīng)用最為廣泛的檢測方法為視覺檢測。視覺檢測技術(shù)能夠有效替代人眼作業(yè),尤其是在零件質(zhì)量檢測中得到了廣泛應(yīng)用[1–3]。視覺檢測算法具有非接觸式、高精度等特征,在結(jié)構(gòu)的特征檢測中得到了越來越廣泛的應(yīng)用[4–5]。畢運波等[6]提出了一種基于視覺測量的沉頭孔垂直度檢測方法,并將其在機器人自動化制孔設(shè)備上進行了驗證。勾江洋等[7]設(shè)計開發(fā)了一套在機視覺檢測系統(tǒng),在五軸數(shù)控機床上進行了應(yīng)用驗證。唐君萍等[8]設(shè)計并開發(fā)了一套用于飛機復(fù)雜零件上大量小尺寸導(dǎo)孔的快速檢測系統(tǒng),并在多軸數(shù)控機床上進行了驗證。Lee等[9]提出了一種三維激光視覺圓孔檢測技術(shù),取得了較好的檢測效果。然而,激光視覺技術(shù)容易受到外界環(huán)境光的干擾。Moru等[10]提出了一種檢測齒輪尺寸的機器視覺算法,并基于算法開發(fā)了圖像處理系統(tǒng)以實現(xiàn)測量和檢測功能。Zhu等[11]利用機器視覺方法建立了機器人鉆削中鉆頭與工件的相對誤差模型,并提出一種垂直度和距離控制方法。陳璐[12]和張曉林[13]等基于改進的Zernike方法實現(xiàn)了圓孔邊緣亞像素級別的視覺檢測;謝俊[14]和陳怡然[15]等針對傳統(tǒng)測量方法在圓形零件尺寸測量時效率低、一致性差及同心度參數(shù)不易測量的問題,提出了基于機器視覺的尺寸測量算法。
上述研究開發(fā)的視覺設(shè)備多用于機床或機器人的末端執(zhí)行器上。但存在以下3個限制因素。 (1)檢測時,通常需要調(diào)整機器人末端執(zhí)行器到達指定的位姿。機器人本身定位精度較低,同時懸臂梁結(jié)構(gòu)的剛度較低,進行檢測時很容易產(chǎn)生定位偏差,導(dǎo)致檢測結(jié)果不準(zhǔn)確。 (2)受限于機器人或機床的工作位置,航空結(jié)構(gòu)件的某些位置導(dǎo)致機器人或機床無法達到,難以完成檢測任務(wù)。 (3)為了防止碰撞干涉,光源與待測孔之間通常存在一定的距離,檢測結(jié)果容易受到外界環(huán)境光的影響。因此,急需開發(fā)一種便攜式的視覺檢測設(shè)備,既能滿足航空結(jié)構(gòu)制孔質(zhì)量的高精度檢測,又能滿足難到達區(qū)域的檢測需求,同時保證檢測結(jié)果不受外界環(huán)境光的影響。
本文提出了一種面向航空锪窩孔制孔質(zhì)量的手持式視覺檢測方法。對圖像處理整體流程、孔徑檢測原理和锪窩深度檢測原理進行了闡述。設(shè)計了一種手持式的視覺檢測設(shè)備,并在航空結(jié)構(gòu)件上進行了應(yīng)用驗證。
本文锪窩孔亞像素檢測算法共分為圖像處理、孔徑檢測和锪窩深度檢測3個部分。圖像處理部分主要是對視覺相機拍攝到的原始圖像進行預(yù)處理??讖綑z測部分主要是通過亞像素級別的像素統(tǒng)計識別圓孔長短軸,進而計算長短軸。锪窩深度檢測是在孔徑檢測的基礎(chǔ)上,通過三角函數(shù)關(guān)系計算標(biāo)準(zhǔn)孔锪窩深度。本文提出的锪窩孔亞像素檢測算法流程如圖1所示。
圖1 锪窩孔亞像素檢測算法流程圖Fig.1 Flow chart of sub-pixel detection algorithm of countersink hole
利用高精度視覺相機獲取到锪窩孔的原始圖片后,需要進行一系列的圖像處理操作,獲取锪窩孔的圓周輪廓。原始圖像處理的整體流程如圖2所示。首先對原始圖像(圖2(a))進行閾值化處理,初步確定锪窩孔內(nèi)外圓的輪廓。設(shè)置固定的灰度閾值,將大于閾值的像素點的灰度值設(shè)置為255(白色),將小于閾值的像素點的灰度值設(shè)置為0(黑色),使圖像只剩下黑白二色(圖2(b))。其次通過高斯濾波操作,去掉二值化圖像中存在的噪聲。由于二值化處理化的圖像有較多的噪聲,因此選擇Sobel算子對輪廓邊緣進行初步的識別,其對于灰度漸變和噪聲較多的圖像處理效果較好。
圖2 圖像處理整體流程Fig.2 Overall flow of image processin
獲取到圓孔的邊緣輪廓后,即可對孔徑進行檢測??讖綑z測的原理為通過雙重循環(huán)遍歷邊緣輪廓點之間的距離,進而確定出輪廓的長短軸,是一種亞像素級別的檢測算法。
首先確定邊緣輪廓上任意兩點之間的計算方式,如式(1)所示。
式中,i和j為邊緣輪廓上的任意兩點; (xi,yi)、(xj,yj)為這兩點的坐標(biāo);m為邊緣輪廓像素點的總數(shù)。
其次,開始第1層循環(huán)遍歷,計算經(jīng)過點1的長軸的像素個數(shù)。如圖3(a)所示,首先確定邊緣上的一個像素點,并將其下標(biāo)設(shè)置為1,沿逆時針方向計算其與所有輪廓點之間的距離d1i,即為第1層循環(huán)遍歷。需要注意的是圖3(a)僅給出了O1點與7個邊緣點之間距離的示意,實際的邊緣輪廓上有m個像素點,需要計算O1點與所有邊緣點之間的距離。在此之后,計算經(jīng)過第1個像素點的距離的最大值,即為通過點1的長軸距離,如式(2)所示。
圖3 孔徑檢測原理Fig.3 Aperture detection principle
然后,沿逆時針方向依次選擇邊緣像素點i,再次計算邊緣像素點i與所有其他邊緣點j之間的距離dij,即為第2層循環(huán)。如圖3(b)所示為30°角時的邊緣點距離遍歷示意圖。與第1點的計算方式相同,通過第i點的距離最大值dimax即為第i點的長軸距離,如式(3)所示。
通過所有點的長軸計算完成之后,取所有點長軸距離的最大值,即為待檢測圓孔的長軸距離dL,如式(4)所示。
取長軸中心的坐標(biāo)為圓心的位置,再次統(tǒng)計所有大致經(jīng)過圓心的距離長度,其中最短的距離即為短軸dS。根據(jù)實際距離對視覺相機進行標(biāo)定,可以得到一個像素所代表的實際距離dcali。將橢圓長軸距離dL和短軸距離dS分別與標(biāo)定距離dcali相乘,可以獲得實際的長軸距離dLR和短軸距離dSR,如式(5)所示。
最后對長軸實際距離dLR和短軸實際距離dSR取平均,即可得到待測圓孔的孔徑,如式(6)所示。
锪窩深度的檢測原理建立在孔徑檢測原理之上,如圖4所示。
圖4 锪窩深度檢測原理Fig.4 Countersink hole depth detection principle
首先通過孔徑檢測原理,分別計算出內(nèi)橢圓長軸距離dLIn、內(nèi)橢圓短軸距離dSIn、外橢圓長軸距離dLOut、外橢圓短軸距離dSOut。
其次,將外橢圓長軸距離的一半減去內(nèi)橢圓長軸距離的一半可以獲得兩個橢圓在長軸方向的水平距離差s1,如式(7)所示。
再利用已知的刀具锪窩角度θ,由三角函數(shù)關(guān)系的轉(zhuǎn)換關(guān)系,可以獲得相應(yīng)的長軸方向的锪窩深度信息h1,如式(8)所示。
同理,將外橢圓短軸像素個數(shù)的一半減去內(nèi)橢圓短軸像素個數(shù)的一半可以獲得兩個橢圓在短軸方向的水平距離差s2,如式(9)所示。
同理,再利用三角函數(shù)關(guān)系,可以獲得相應(yīng)的短軸方向的锪窩深度信息h2,如式(10)所示。
最后,將長短軸方向的锪窩深度信息進行取平均處理,可以獲得最終的锪窩深度信息,如式(11)所示。
為了實現(xiàn)锪窩孔質(zhì)量的視覺檢測,本文首先對手持式視覺檢測的原理進行了設(shè)計,包括機械結(jié)構(gòu)設(shè)計、硬件系統(tǒng)設(shè)計和軟件系統(tǒng)設(shè)計。
手持式視覺檢測設(shè)備的內(nèi)部結(jié)構(gòu)設(shè)計如圖5所示。整體結(jié)構(gòu)通過6個連接孔實現(xiàn)密封功能,既方便拆卸,又能阻隔實際操作環(huán)境中的細(xì)小灰塵。內(nèi)部設(shè)計有排線固定器,方便機身內(nèi)部走線,便于日后維修保養(yǎng)。采用兩向翻轉(zhuǎn)式,使得機身側(cè)面的觸摸屏可以多角度翻轉(zhuǎn)并懸停。內(nèi)部采用絲杠導(dǎo)軌滑塊,通過步進電機轉(zhuǎn)動帶動滑塊前后移動實現(xiàn)相機的自動對焦。
圖5 手持式檢測設(shè)備內(nèi)部設(shè)計圖Fig.5 Internal design drawing of hand-held detection equipment
手持式視覺檢測設(shè)備整體效果如圖6所示。整體結(jié)構(gòu)采用電鉆造型,在檢測時將設(shè)備與待測孔進行貼合,能夠有效避免外界環(huán)境光的影響。基于人機工程學(xué)思想,握把角度與槍體呈70°,使用時更為舒適方便,有助于提高工作效率。側(cè)邊LCD顯示屏可觸控、可反轉(zhuǎn),在開機使用時點擊屏幕上相應(yīng)的按鍵,即可實現(xiàn)對應(yīng)的測量功能。使用完畢后LCD屏幕可以翻轉(zhuǎn)收起靠近設(shè)備本體,方便存放。
圖6 手持式視覺檢測設(shè)備整體效果Fig.6 Overall effect of hand-held visual inspection equipment
硬件系統(tǒng)組成及電路連接原理如圖7所示。硬件系統(tǒng)整體分為微型電腦模塊、機械模塊和視覺檢測模塊。
圖7 硬件系統(tǒng)組成及電路連接原理Fig.7 Hardware system composition and circuit connection principle
微型電腦模塊是整個設(shè)備的核心,用于控制視覺相機、步進電機等結(jié)構(gòu)??刂破鞑捎?.5寸J3160 X86工控主板。搭載四核處理器,主頻1.6 GHz,睿頻2.24 GHz,功率6 W。配備聯(lián)想ST900 128GB M.2 2242型固態(tài)硬盤,讀寫速度均達500 MB/s以上。觸摸屏選用Pocketlcd 5.5寸1080P觸摸液晶屏。電源輸入為Tpye–C(5~5.5 V,2 A),視頻信號輸入支持Micro USB和HDMI,屏幕刷新率為60 Hz。基于微型電腦運轉(zhuǎn)所需電壓,選用12 V鋰電池,容量約4500 mAh。
機械模塊包括步進電機和導(dǎo)軌。步進電機采用28步進電機,工作電壓12 V,額定電流0.6 A,轉(zhuǎn)矩0.07 N·m,步距角1.8°。導(dǎo)軌最大負(fù)載小于2.5 kg,精度大于0.1 mm,有效行程為10~300 mm。
視覺檢測模塊包括視覺相機、鏡頭和光源。視覺相機型號為Basler acA4024–29 μm,水 平/垂 直 分 辨率 為4024 px×3036 px,幀 速 率31 FPS,額定功率3 W。采用Moritex公司生產(chǎn)的ML–MC35HR工業(yè)鏡頭,固定焦距35 mm,工作距離51~139.8 mm,光圈范圍3.6~16,TV畸變率小于0.05,重量約73 g。采用東莞銳視光電科技有限公司生產(chǎn)的半球形積分光源,額定電壓24 V、功率11 W、有效工作距離10~50 mm。
電池模組直接對微型電腦、電機控制器和光源進行供電。由于光源要求電壓為24 V,因此在電池和光源之間添加12 V/24 V轉(zhuǎn)換器。微型電腦與工業(yè)相機之間通過USB 3.0進行連接,同時實現(xiàn)供電和通信。微型電腦與觸摸顯示屏之間通過USB 3.0和HDMI進行連接,其中HDMI用于實現(xiàn)界面的顯示,USB用于實現(xiàn)觸摸操作。微型電腦和電機控制器通過RS485進行通信。電機控制器與步進電機之間進行4線制連接。
考慮到本裝置所選微型電腦的性能和裝置對人機交互界面的需求,電腦系統(tǒng)選用Ubuntu 18.04.5 Desktop(64–bit)。該系統(tǒng)對于硬件的性能要求較低,滿足本裝置所選微型電腦的要求,并且可以提供圖形界面,方便開發(fā)人員和使用人員操作。軟件系統(tǒng)架構(gòu)如圖8所示。軟件的底層驅(qū)動程序包括相機底層驅(qū)動程序和電機底層驅(qū)動程序?;诘讓域?qū)動程序,編寫相機應(yīng)用程序和電機應(yīng)用程序。應(yīng)用程序算法包括圖像處理算法和自動對焦算法。由于視覺相機人機界面二次開發(fā)支持C++,圖像后期處理算法也支持C++,因此選擇C++作為軟件的開發(fā)語言。開發(fā)平臺選用QT5,QT5在嵌入式和桌面應(yīng)用中有較多的應(yīng)用,所寫程序在不同平臺上具有較高的通用性,使用C++在QT5中進行軟件開發(fā)較為方便。此外,該開發(fā)軟件在人機交互界面的制作上具有較大的優(yōu)勢。
圖8 軟件架構(gòu)設(shè)計Fig.8 Software architecture design
本設(shè)備設(shè)計的功能有: (1)實時顯示相機所采集的圖像; (2)通過觸摸屏上的按鈕操作相機,拍攝所需圖像; (3)通過按鈕操作裝置,對所拍攝的圖像進行處理識別; (4)通過按鈕操作裝置,實現(xiàn)相機的自動對焦; (5)在界面上顯示圖像的處理結(jié)果。因此本設(shè)備的人機交互界面包括7個部分(圖9),分別為圖像顯示窗口、拍攝按鈕、圖像識別按鈕、圖像顯示按鈕、自動對焦按鈕、關(guān)機按鈕和處理結(jié)果顯示窗口。
圖9 人機交互界面Fig.9 Human computer interaction interface
圖像實時顯示窗口的主要功能有: (1)未對相機進行操作時,實時顯示相機采集圖像; (2)對相機執(zhí)行拍攝命令后,顯示拍攝圖像; (3)執(zhí)行圖像處理算法后,在窗口顯示處理后的圖像。處理信息顯示窗口主要用于顯示圖像識別結(jié)果信息,具體包括: (1)連接孔中心點位置,長短軸長度,連接孔擬合橢圓的角度; (2)锪窩輪廓中心點位置,長短軸長度,锪窩輪廓擬合橢圓的角度。圖像處理按鈕用于調(diào)用圖像處理算法,該算法提取相機拍攝圖像,并對圖像進行檢測識別,將檢測結(jié)果輸出至處理信息顯示窗口。自動對焦按鈕用于調(diào)用步進電機的應(yīng)用程序和自動對焦算法,實現(xiàn)工業(yè)相機的自動對焦。由于不同使用場景下測量人員按壓力量不同,以及被測材料的剛度差異和材料的反光性影響,相機與試件表面的最佳對焦位置產(chǎn)生微小變化,因此為保證測量精度,需在不同場景下對相機進行對焦校準(zhǔn)。圖像顯示按鈕用于將裝置轉(zhuǎn)化為圖像實時顯示的狀態(tài),并在圖像實時顯示窗口中顯示采集圖像。相機拍攝按鈕用于調(diào)用工業(yè)相機的應(yīng)用程序。關(guān)機按鈕用于向相機、電機和微型電腦發(fā)送關(guān)機命令。
按照第2節(jié)的手持式設(shè)備檢測原理,完成了設(shè)備的軟硬件集成。通過3D打印技術(shù)完成了設(shè)備外殼制造。打印完成后,對設(shè)備外殼進行了噴漆處理。將微型電腦模塊、步進電機、導(dǎo)軌、光源、電池等硬件設(shè)備與打印好的設(shè)備外殼進行組裝,實現(xiàn)硬件系統(tǒng)的集成,在此基礎(chǔ)上運行軟件系統(tǒng),實現(xiàn)軟件系統(tǒng)的調(diào)試。軟硬件集成后的手持式視覺檢測設(shè)備實物如圖10所示。
圖10 手持式視覺檢測設(shè)備Fig.10 Hand-held visual inspection equipment
本文所提手持式視覺檢測設(shè)備檢測流程如圖11所示。首先將本文設(shè)備垂直貼緊待測試件。其次,調(diào)整檢測設(shè)備位置,使待測孔圖像處于顯示屏正中間。然后,通過光源調(diào)節(jié)旋鈕,緩慢地調(diào)整光源亮度,使待測孔周圍處于全白狀態(tài),待測孔內(nèi)部處于全黑狀態(tài),即邊緣輪廓分明。最后,在軟件上進行拍攝、自動對焦和圖像識別等操作,即可通過提出的檢測算法對孔徑和锪窩深度進行檢測。
圖11 手持式視覺檢測系統(tǒng)構(gòu)成Fig.11 Composition of hand-held visual inspection system
在完成軟硬件集成后,將所開發(fā)的手持視覺檢測設(shè)備及檢測算法進行驗證。孔徑檢測試驗件如圖12所示。首先通過本文的手持式檢測設(shè)備對孔徑進行檢測。為了減少偶然性誤差,對每個孔進行3次測量,取平均,將平均值作為最終的孔徑標(biāo)稱值。然后,采用第三方檢測公司西安航天計量測試研究所(該研究所已通過中國合格評定國家認(rèn)可委員會(CNAS)認(rèn)可和國防科技工業(yè)實驗室認(rèn)可委員會(DILAC)認(rèn)可,具備第三方檢測認(rèn)證資格)的高精度三坐標(biāo)測量機對待測孔進行再次測量,將其測量結(jié)果作為實測值。本文采用的三坐標(biāo)測量機的測量范圍為0~1000 mm,最大測量誤差為±(1.5 +L/350) μm。
圖12 孔徑檢測試驗件Fig.12 Aperture test piece
同樣地,采用本文開發(fā)的視覺檢測設(shè)備對窩深進行檢測。窩深檢測試驗件如圖13所示。與孔徑檢測流程相同,將3次測量結(jié)果的平均值作為最終的锪窩深度標(biāo)稱值。然后采用高精度三坐標(biāo)測量機對窩深進行再次測量,將其結(jié)果作為實測值。
圖13 窩深檢測試驗件Fig.13 Test piece for dimple depth detection
通過本文手持式檢測設(shè)備獲得的孔徑檢測結(jié)果如圖14所示。采用本文手持式孔徑檢測方法得到的孔徑結(jié)果誤差分布相對均勻,其中孔徑檢測結(jié)果的最大誤差為0.0017 mm,在試驗允許誤差范圍內(nèi)。上述結(jié)果表明,本文方法在孔徑檢測方面的一致性較好。
圖14 孔徑檢測結(jié)果Fig.14 Aperture test results
為了驗證本文孔徑檢測結(jié)果的準(zhǔn)確性,將本文所測孔徑標(biāo)稱值與第三方檢測的實測值進行對比,對比結(jié)果如表1所示。經(jīng)過西安航天計量測試研究所的檢測認(rèn)證,標(biāo)稱值和實測值的正負(fù)誤差絕對值之和為0.009 mm,孔徑的整體檢測精度優(yōu)于0.01 mm。
表1 孔徑檢測標(biāo)稱值與實測值對比結(jié)果 Table 1 Comparison results of nominal value and measured value of aperture detection mm
通過本文手持式檢測設(shè)備獲得的锪窩深度檢測結(jié)果如圖15所示。本文手持式锪窩深度檢測方法得到的锪窩深度結(jié)果誤差分布也相對均勻,其中锪窩深度檢測結(jié)果的最大誤差為0.0022 mm,也在試驗允許誤差范圍內(nèi)。上述結(jié)果表明,本文方法在锪窩深度檢測方面的一致性同樣較好。
圖15 锪窩深度檢測結(jié)果Fig.15 Dimple depth test results
同理,為了驗證本文锪窩深度檢測結(jié)果的準(zhǔn)確性,將本文所測锪窩深度標(biāo)稱值與第三方檢測的實測值進行對比,對比結(jié)果如表2所示。經(jīng)過西安航天計量測試研究所的檢測認(rèn)證,標(biāo)稱值和實測值的正負(fù)誤差絕對值之和為0.067 mm,窩深的整體檢測精度優(yōu)于0.1 mm。
表2 锪窩深度檢測標(biāo)稱值與實測值對比結(jié)果Table 2 Comparison results of nominal value and measured value of dimple depth detection mm
綜上所述,本文所提手持式檢測方法的孔徑檢測精度優(yōu)于0.01 mm,锪窩深度檢測精度優(yōu)于0.1 mm。
本文面向航空結(jié)構(gòu)锪窩孔的裝配質(zhì)量,提出了一種手持式視覺檢測方法。對锪窩孔的圖像處理流程、孔徑檢測原理和锪窩深度檢測原理進行了闡述。對手持式視覺檢測設(shè)備的機械結(jié)構(gòu)、硬件系統(tǒng)和軟件系統(tǒng)進行了設(shè)計。在航空結(jié)構(gòu)試驗件上對本文方法的有效性和精度進行了驗證。本文主要結(jié)論如下。
(1)本文方法測量得到的孔徑標(biāo)稱值和三坐標(biāo)測量機測量得到的實測值之間正負(fù)誤差絕對值之和為0.009 mm,孔徑精度的整體測量精度優(yōu)于0.01 mm。
(2)本文方法測量得到的锪窩深度標(biāo)稱值和三坐標(biāo)測量機測量得到的實測值之間正負(fù)誤差絕對值之和為0.067 mm,锪窩深度的整體測量精度優(yōu)于0.1 mm。
(3)本文設(shè)計的手持式視覺檢測設(shè)備檢測精度高、應(yīng)用范圍廣且不受環(huán)境光的影響,在復(fù)雜的裝配現(xiàn)場環(huán)境中能夠?qū)崿F(xiàn)高效應(yīng)用。此外,本文設(shè)計的手持式視覺檢測設(shè)備還能推廣應(yīng)用到汽車、高鐵等行業(yè)的連接孔質(zhì)量檢測中。
盡管本文提出了一種便攜式的高精度視覺檢測設(shè)備,然而本文研究仍然具有一定的局限性。由于本文算法在計算孔徑長軸和短軸時,需要對所有像素點之間的距離進行驗證,結(jié)果的處理存在數(shù)秒延遲,因此在后續(xù)研究中還需要對檢測算法進一步優(yōu)化,提高檢測效率。另外,本文提出的方法及開發(fā)的設(shè)備在平面或微曲率情況下具有良好的精度,但不適用于較大曲率的面。