代小林,何永琦,謝俊翔,劉柏君
(電子科技大學(xué),四川成都 611731)
圓光柵是一種角度反饋元件。安裝偏斜[1]、偏心[2]以及光柵環(huán)的局部形變會(huì)導(dǎo)致圓光柵產(chǎn)生額外的測(cè)量誤差。這使得圓光柵的實(shí)際反饋精度小于出廠時(shí)標(biāo)定的系統(tǒng)精度。為提高圓光柵的角度反饋精度,需要使用高精度儀器測(cè)得多組不同位置處的圓光柵測(cè)角誤差,通過(guò)一定的算法對(duì)誤差進(jìn)行擬合,然后采用軟件或者硬件方法對(duì)反饋角度進(jìn)行補(bǔ)償。
針對(duì)圓光柵測(cè)角誤差擬合問(wèn)題,國(guó)內(nèi)外學(xué)者采用了各類擬合策略,如線性插值、多項(xiàng)式擬合、諧波擬合等數(shù)值擬合算法以及神經(jīng)網(wǎng)絡(luò)擬合算法等。文獻(xiàn)[3]首先對(duì)測(cè)角誤差作快速傅里葉變換,通過(guò)分析測(cè)角誤差的頻譜圖找到占主要成分的諧波分量,從而確定測(cè)角誤差的長(zhǎng)周期成分,再采用智能算法求解諧波分量的幅值和相位。文獻(xiàn)[4]使用非線性最小二乘法對(duì)諧波補(bǔ)償模型中的各諧波分量的幅值和相位進(jìn)行求解,并選擇其中特定階數(shù)的諧波分量作為擬合模型。文獻(xiàn)[5]首先使用MATLAB觀測(cè)了不同階數(shù)多項(xiàng)式擬合曲線的效果,取置信區(qū)間范圍較小時(shí)的階數(shù)作為擬合多項(xiàng)式的階數(shù),補(bǔ)償效果比較顯著。
多項(xiàng)式作為一種數(shù)值補(bǔ)償方法,其形式簡(jiǎn)單,整體擬合效果較好,但不能保證單點(diǎn)擬合精度。針對(duì)多項(xiàng)式擬合方法的不足,本文提出了一種自適應(yīng)分段的多項(xiàng)式擬合算法。采取自適應(yīng)分段的策略,將整個(gè)擬合區(qū)間分成不同長(zhǎng)度的小區(qū)間,保證各點(diǎn)擬合精度的前提下在每個(gè)區(qū)間上用不同階次的多項(xiàng)式進(jìn)行擬合。
對(duì)于給定的離散數(shù)據(jù)點(diǎn)(xi,yi),i=1,2,…,m,求:
φ(x)=a0+a1x+a2x2+…+anxn
(1)
使得式(2)達(dá)到最小的問(wèn)題,稱為多項(xiàng)式的最小二乘法擬合問(wèn)題[6]。
(2)
對(duì)于所有數(shù)據(jù)點(diǎn)x1,x2,…,xm,m≥2,設(shè)定區(qū)間[x1,xm]上的擬合多項(xiàng)式階次為n,即擬合函數(shù)為
(3)
式中φk=xk。
令:
(4)
聯(lián)立這m個(gè)等式,得方程組:
(5)
矩陣符號(hào)記為:
Φa=y
(6)
若m>n+1,則方程組中方程數(shù)大于未知數(shù)個(gè)數(shù),方程組為超定方程組,求取最小二乘解為
a=(ΦTΦ)-1ΦTy
(7)
假設(shè)ΦTΦ可逆,此時(shí)便得到針對(duì)于區(qū)間[x1,xm]的n階多項(xiàng)式擬合表達(dá)式:
(8)
采用多項(xiàng)式擬合,如果擬合階次過(guò)低,則曲線不能很好地反映數(shù)據(jù)的變化趨勢(shì),擬合精度較低;如果擬合階次過(guò)高,容易過(guò)擬合且?guī)?lái)計(jì)算的復(fù)雜度[7]。在對(duì)精度要求高的情況下,如轉(zhuǎn)臺(tái)圓光柵的標(biāo)定問(wèn)題中,通常對(duì)每個(gè)點(diǎn)的擬合精度限定在角秒級(jí)。雖然多項(xiàng)式擬合整體擬合效果較好,但個(gè)別點(diǎn)的擬合誤差卻依然可能不滿足精度要求[8]。針對(duì)此問(wèn)題,提出了一種基于最小二乘法的自適應(yīng)分段多項(xiàng)式擬合。
該方法根據(jù)最大擬合誤差與區(qū)間長(zhǎng)度的變化關(guān)系,設(shè)計(jì)了一種自適應(yīng)區(qū)間增長(zhǎng)策略;指定各待擬合區(qū)間的最高擬合階數(shù),按照自適應(yīng)增長(zhǎng)策略增加擬合區(qū)間大小,逐一使用多項(xiàng)式對(duì)區(qū)間進(jìn)行最小二乘擬合,以不超過(guò)最大允許擬合誤差的區(qū)間作為分段區(qū)間,之后針對(duì)此區(qū)間降低多項(xiàng)式階數(shù),得到在滿足擬合誤差的前提下,最小的多項(xiàng)式擬合階次。最終形成圓光柵的測(cè)角誤差模型。具體步驟為:
步驟1:圓光柵測(cè)角誤差采集
步驟1.1:通過(guò)激光自準(zhǔn)儀和23面棱體采集10組圓光柵測(cè)角誤差。
步驟1.2:對(duì)測(cè)得的10組測(cè)角誤差數(shù)據(jù)取均值,考慮鏡面誤差后得到圓光柵待擬合測(cè)角誤差。
步驟2:誤差擬合。確定分段區(qū)間,確定各分段區(qū)間多項(xiàng)式擬合階次。
步驟2.1:首先確定各點(diǎn)最大允許擬合誤差εmax,各區(qū)間最高允許擬合階次n;
步驟2.2:在待擬合區(qū)間中按式(9)增加擬合數(shù)據(jù)點(diǎn)。
(9)
式中:i為第一個(gè)數(shù)據(jù)點(diǎn);α、β、γ為函數(shù)參數(shù),根據(jù)數(shù)據(jù)點(diǎn)大小和分布調(diào)整;σmax為各點(diǎn)最大擬合誤差,初始值為0。
初始擬合時(shí)保證數(shù)據(jù)點(diǎn)個(gè)數(shù)超過(guò)最高允許多項(xiàng)式的階次或者已經(jīng)選擇到最后一個(gè)待擬合數(shù)據(jù)點(diǎn)。
使用最小二乘法對(duì)該待擬合數(shù)據(jù)組成的區(qū)間進(jìn)行n階多項(xiàng)式擬合。
步驟2.3:計(jì)算在n階多項(xiàng)式擬合下,各點(diǎn)最大擬合誤差σmax。判斷是否滿足σmax≤εmax,若滿足條件,轉(zhuǎn)步驟2.2,若不滿足,j回退到上一值,則表示i和j組成的待擬合區(qū)間為在n階多項(xiàng)式擬合下最大的擬合區(qū)間。
步驟2.4:針對(duì)數(shù)據(jù)點(diǎn)區(qū)間i~j,分別用n-1,n-2,…,1階多項(xiàng)式進(jìn)行擬合,找到滿足條件σmax≤εmax的最低多項(xiàng)式階次p。
步驟2.5:得到分段區(qū)間i~j,及此區(qū)間上的擬合多項(xiàng)式階次p。若還有剩余未擬合區(qū)間,轉(zhuǎn)至步驟2.2。
步驟2.6:得到所有分段區(qū)間及區(qū)間對(duì)應(yīng)多項(xiàng)式擬合表達(dá)式。
步驟3:誤差補(bǔ)償
步驟3.1:將得到的分段擬合多項(xiàng)式模型寫進(jìn)軟件當(dāng)中,確定反饋角度與誤差補(bǔ)償?shù)年P(guān)系。
步驟3.2:測(cè)得圓光柵反饋角度之后,將角度帶入到寫好的分段多項(xiàng)式模型代碼中,計(jì)算得到誤差補(bǔ)償值,將誤差補(bǔ)償值與反饋角度相加,得到該反饋角度標(biāo)定后的值。
式(9)所示的函數(shù)為柯西累積分布函數(shù),函數(shù)原點(diǎn)附近增長(zhǎng)較快,其后增長(zhǎng)趨于緩慢。其累積分布函數(shù)圖像如圖1所示。
圖1 柯西累積分布函數(shù)
函數(shù)原型為
(10)
式中:自變量x為各點(diǎn)最大擬合誤差;i和j分別為區(qū)間起點(diǎn)和終點(diǎn);a為j的變化范圍;γ為j-i隨x變化的速率;β為j的初始值;
本節(jié)通過(guò)設(shè)計(jì)標(biāo)定實(shí)驗(yàn),對(duì)所提出的自適應(yīng)分段多項(xiàng)式擬合方法進(jìn)行實(shí)驗(yàn)分析。
實(shí)驗(yàn)依托某研究所自行研制的高精度三軸轉(zhuǎn)臺(tái),如圖2所示,轉(zhuǎn)臺(tái)共有3個(gè)回轉(zhuǎn)框,分別稱為內(nèi)框、中框、外框。每個(gè)框安裝有圓光柵角度測(cè)量裝置。本實(shí)驗(yàn)采用中框轉(zhuǎn)軸的圓光柵作為實(shí)驗(yàn)對(duì)象,如圖3所示,中框關(guān)節(jié)處安裝多個(gè)讀數(shù)頭,使用RESM系列圓光柵編碼器。
圖2 高精度三軸轉(zhuǎn)臺(tái)
圖3 圓光柵安裝
實(shí)驗(yàn)使用PCIE-2011板卡對(duì)編碼器反饋數(shù)據(jù)進(jìn)行采集。
利用激光自準(zhǔn)儀和24面棱體,對(duì)單個(gè)讀數(shù)頭的圓光柵測(cè)角數(shù)據(jù)進(jìn)行角度定位精度校準(zhǔn)。實(shí)驗(yàn)共測(cè)得10組數(shù)據(jù),對(duì)每組數(shù)據(jù)進(jìn)行處理后取均值,得到圓光柵測(cè)角誤差。由于24面棱體本身存在鏡面誤差,因此在測(cè)得圓光柵的測(cè)角誤差后需要考慮24面棱體的鏡面誤差,即
Δθ=Δθ′+Δα
(11)
式中:Δθ′為測(cè)得的圓光柵測(cè)角誤差;Δa為鏡面誤差。
考慮鏡面誤差后得到圓光柵測(cè)角誤差如表1所示。
表1 圓光柵測(cè)角誤差
取γ=0.78,a=30,β=6,為控制擬合表達(dá)式計(jì)算量和復(fù)雜度,選取任意區(qū)間上的擬合最大階次p=6,任一點(diǎn)擬合最大誤差εmax=1″。由于設(shè)定最高階次為6,因此區(qū)間長(zhǎng)度初始可設(shè)為8,即初始區(qū)間起點(diǎn)i=1,初始區(qū)間終點(diǎn)j=i+p+1=8,之后j按照規(guī)律自適應(yīng)調(diào)整,x為區(qū)間上各點(diǎn)擬合最大誤差。得到分段多項(xiàng)式擬合表達(dá)式為
(12)
算法擬合曲線如圖4所示。
圖4 基于最小二乘法的自適應(yīng)分段多項(xiàng)式誤差擬合曲線
將上述擬合模型進(jìn)行軟件實(shí)現(xiàn),對(duì)圓光柵反饋角度進(jìn)行角度補(bǔ)償。之后再次用光管加24面棱體測(cè)得的標(biāo)定后誤差如圖5所示。
圖5 標(biāo)定后測(cè)角誤差曲線
圖5中,標(biāo)定后最大擬合誤差為0.83″。進(jìn)一步分析算法的補(bǔ)償效果,計(jì)算標(biāo)定后誤差平均值(絕對(duì)值)、峰峰值、標(biāo)準(zhǔn)差。如表2所示。
表2 補(bǔ)償算法效果分析
針對(duì)圓光柵測(cè)角誤差標(biāo)定問(wèn)題,本文提出了一種基于最小二乘法的自適應(yīng)分段多項(xiàng)式擬合方法。根據(jù)各點(diǎn)的最大擬合誤差,提出了擬合區(qū)間隨最大擬合誤差自適應(yīng)增長(zhǎng)的策略,在得到符合精度要求的擬合區(qū)間后進(jìn)一步縮小擬合階數(shù),找到此區(qū)間的最小擬合階數(shù),降低計(jì)算復(fù)雜度。之后通過(guò)實(shí)驗(yàn)采集得到圓光柵測(cè)角誤差,用算法對(duì)測(cè)角誤差進(jìn)行擬合,并經(jīng)過(guò)軟件補(bǔ)償。擬合結(jié)果表明本文提出的方法不僅擬合精度更高,計(jì)算過(guò)程相對(duì)簡(jiǎn)單,且易于軟硬件實(shí)現(xiàn)。