王卓然,何小妹
(中國航空工業(yè)集團公司北京長城計量測試技術(shù)研究所,北京 100095)
在航空發(fā)動機葉片的測量中,常用坐標測量機來完成葉片型面的測量[1]。葉片型面測量的實質(zhì)是對復(fù)雜曲面的測量,在測量過程中采用矢量化測量,即沿著法矢方向進行接觸式測量。坐標機得到的葉片點云對應(yīng)測頭球心的坐標,但與實際需要的接觸點坐標之間存在誤差。該誤差的引入對后續(xù)擬合等數(shù)據(jù)處理存在影響。因此,需要進行測頭半徑補償,以抵消實際軌跡與測量軌跡之間的差異。
目前,坐標測量機廣泛采用一種二維在線自動補償方法,即在測量時,將測量點和測頭半徑的關(guān)系都簡單處理成存在偏移,從而自動完成數(shù)據(jù)的測頭半徑補償[2]。對一些由規(guī)則形狀組成的表面的測量,如平面等,該補償方法是準確的。但對于復(fù)雜曲面,如發(fā)動機葉片曲面,測量方向和測量點的法矢有可能不一致,用此補償方法進行補償會造成補償誤差[3]。另外,還可根據(jù)已知的解析函數(shù)表達式,利用對函數(shù)表達式求導(dǎo)數(shù),得出各測量點處的法向矢量[4]。但是由于在實際葉片測量中,葉片曲面較為復(fù)雜,且函數(shù)表達式多數(shù)為未知量,所以此方法并不適用于葉片測量中的測頭半徑補償[5]。
為了彌補現(xiàn)有方法存在的計算過程繁瑣、效率低下的缺點,并解決在復(fù)雜曲面補償中存在的內(nèi)部程序處理時間較長和補償精度不理想等問題,本文在現(xiàn)有算法的基礎(chǔ)上,提出了一種快速測頭半徑補償算法。該算法能夠在保證補償精度的情況下,最大限度地提升計算效率,從而更高效地應(yīng)用于實際測量中。
為分析測頭半徑補償原理,首先闡述測頭半徑引入誤差的原因。在測量葉片時得到的球心軌跡與葉片曲面的表面距離為測頭半徑。測量過程中,球心與接觸面軌跡如圖1所示。測頭與被測葉片曲面接觸時,球心在被測點的法線上,而被測點一定在球心軌跡面經(jīng)過球心點的法線上。
圖1 球心與接觸面軌跡示意圖Fig.1 Trajectory of center of the sphere and the contact surface
坐標測量機在對曲線、曲面進行測量時,所給出的是測頭球心的軌跡,并不是實際接觸點的坐標。所以,此時得到測量結(jié)果與實際存在偏差。在對類似航空發(fā)動機葉片的精確測量中,該誤差是無法忽略的。通過對測頭半徑的補償,得到更精準的點云數(shù)據(jù),為之后的曲面擬合等高精度數(shù)據(jù)處理打下基礎(chǔ)。
為實現(xiàn)測頭半徑補償,必須知道被測曲面與測頭接觸點處的法矢。所以,測頭半徑補償?shù)暮诵膯栴}就是確定被測曲面接觸點處的法矢。
補償原理是根據(jù)數(shù)學方法,求取測頭中心點坐標沿測量方向的法矢量。在得到的法矢量的基礎(chǔ)上,通過增加或減少測頭半徑的長度,得到實際測量點處的坐標。具體用公式可以表述為:以接觸點處的法矢n近似代替被測葉片曲面實際接觸點處被測曲面的法矢。實際接觸點qi,j的計算公式為:
式中:r為測頭半徑,被測曲面為凸曲面時,取“+”號;被測曲面為凹曲面時,取“-”號。在此方法中,選取符號為“-”。
實際的葉片型面測量中,往往采用掃描方式。具體過程為:將測頭移動至初始測量點,保持某一坐標值不變(比如z軸),移動測頭使其在相應(yīng)平面(XOY)內(nèi)掃描直至邊界點。然后,通過改變z軸坐標,按同樣掃描方法掃描不同高度的曲線,直至遍布整個待測曲面。
曲線補償具體過程如下。
在葉片測量中,坐標機得到曲線上的n個測量點。將曲線上得到的3個連續(xù)測量點設(shè)為P1、P2、P3,從而得到 3 個點坐標,分別為 P1(x1,y1)、P2(x2,y2)、P3(x3,y3)。測頭半徑補償原理如圖2所示。
圖2 測頭半徑補償原理圖Fig.2 Pinciple of probe radius compensation
由于坐標機在對葉片測量的過程中得到的點云數(shù)據(jù)量很大,所以3個連續(xù)點的曲線段很小,可以理解為一段小圓弧上的臨近點。P1、P2、P3滿足圓方程:
式中:(x,y)為接觸點坐標。
對該方程進行求解,得到P1、P2、P3所在小圓弧的圓心坐標O(m,n)和圓的半徑r。連接P2點和O點,線段P2O為P1、P2、P3所在小圓弧的法向線段。以P2為圓心,作一個半徑等于測頭半徑R的圓,與線段P2O相交于點。
根據(jù)空間內(nèi)不共面的4個點,能確定一個球,且該球面唯一。在坐標機測量點P的周圍一個非常小的區(qū)域內(nèi),可以近似地認為這一小塊曲面是一個球面。在這個確定的球面上,所有點的法矢量都可以認為是球面上點與球心連線的方向。所以,這里根據(jù)被測量曲面上不共面的4個點來求解此微小區(qū)域的法矢。由于在葉片測量中,點云數(shù)據(jù)量密集,所以可以認為所選4個相鄰點無限趨近。此時,所確定的球面法矢也可以認為是測量點處法矢。以下從數(shù)學的角度來闡述該方法的實現(xiàn)過程。
測量得到不同z值下的點云數(shù)據(jù)。根據(jù)測量的方向,把數(shù)據(jù)視為一個i行j列的數(shù)組。若要對其中某點Pi,j進行補償,則可以取 Pi,j-1、Pi,j、Pi,j+1、Pi+1,j4 個點。曲面補償原理如圖3所示。
圖3 曲面補償原理圖Fig.3 Principle of curved surface compensation
當選取4點構(gòu)成的曲面趨近于無限小時,將其近似認為一個球面。將4個點構(gòu)成球面的球心坐標設(shè)為Oi,j,確定的法矢為 Pi,j、Oi,j這 2 點的連線。根據(jù)法矢方向,將測量點在空間內(nèi)移動一個測頭半徑的長度,以解算實際點坐標。法矢量為:
通過對上述數(shù)值進行單位化處理,即可得到被測點的單位法向矢量。補償后,所求得的實際接觸點Pi,j的坐標為:
式中:O(x0,y0,z0)為球心點坐標。
根據(jù)補償后的點擬合而成的曲面,即為被測葉片的實際曲面。
判斷測頭半徑補償方法是否較其他方法存在優(yōu)勢,主要從補償精度和補償所耗時間兩個方面入手。補償精度主要指補償后數(shù)據(jù)的真實度。補償所耗時間則是在需要補償大量點云數(shù)據(jù)的情況下,補償程序的運行時間。理想的情況是在耗費很少運行時間的同時保證補償?shù)母呔取5?,在實際測量中,高精度往往意味著耗費較長的時間。
為了對該方法進行精度分析,在Matlab中編寫程序,以實現(xiàn)本文所提出的補償方法。利用本文提出的補償方法,進行測頭半徑補償?shù)姆抡嬖囼灐?/p>
仿真試驗具體過程為:從坐標機測量得到點云數(shù)據(jù)中截取121個連續(xù)點。測量使用的坐標機測頭半徑為0.2 mm。運行程序得到實際接觸葉片曲面的點坐標。求出每一個補償?shù)玫降膶嶋H接觸點與理論值的差值。將坐標機測量點進行仿真,得到的實際接觸點坐標與接觸點坐標理論值 Q(rn,sn,tn),并進行比對,n=1,2,…,120。分別求,并求出最大值。此時,根據(jù)測量原理,z'值不變。補償結(jié)果為:x=rn-=0.000 677 696,y=(sn-)max=8.248 79e-05。
通過比較2種方法的補償結(jié)果,可以看出,本文所提出的快速補償方法與其他算法的誤差非常小,幾乎可以忽略不計,從而驗證了本方法能夠保證精度。
補償所耗時間可以用方法的計算量來表征,計算量越大,補償耗時越多;反之亦然[6-9]。在本文所述方法中,補償數(shù)據(jù)的計算主要有求解圓或球的特征點、與直線的交點組成,根據(jù)點云數(shù)據(jù)的具體數(shù)目來決定循環(huán)的次數(shù),得到總的計算量。本文方法即使在大量點云數(shù)據(jù)的情況下,計算量也是非常少的。
如果在實際測量中需要更高的精度,可以提高點云數(shù)據(jù)的采集密度,通過更密集的數(shù)據(jù)來獲取更高的精度;同時,也可以通過插補點的方法來得到更高的精度,但插補過程會占用一定時間。
綜上所述,本文所提出方法能夠在補償耗時較少,即補償效率盡可能高的情況下,保持很好的補償精度。在實際葉片測量的測頭半徑補償中,本文所提出的方法由于計算時間較少,對于提高葉片測量的效率具有重要意義。而與常用的存在原理誤差的在線補償法相比,本文方法的精度有顯著提高,所以廣泛適用于航空發(fā)動機葉片測量的坐標機測頭半徑補償。
本文所提出的半徑補償方法,能夠有效解決現(xiàn)有方法無法同時保證精度與補償時間的問題。通過仿真試驗結(jié)果可知,本文方法在計算速度快的同時,能夠保證精度。該方法在葉片測量中具有很強的實用性,并對下一步葉片曲線、曲面擬合的精確度的提升具有重要意義,可以廣泛應(yīng)用于發(fā)動機葉片或其他復(fù)雜零件的測量。