李錢寬 張永林
(江蘇科技大學(xué) 鎮(zhèn)江 212003)
高速、高精、高質(zhì)量的復(fù)雜曲線曲面加工技術(shù)在航空航天、精密儀器等行業(yè)中有著非常重要的國(guó)家戰(zhàn)略意義[1]。NURBS(Non-Uniform Rational BSplines)曲線在復(fù)雜工件幾何形狀的描述和控制上具有優(yōu)異的表現(xiàn)能力。隨著工件型面復(fù)雜度和加工精度需求的提高,傳統(tǒng)直線插補(bǔ)的方法已經(jīng)無法滿足加工要求,NURBS 曲線直接插補(bǔ)是目前最有效的解決方法[2~3]。
目前,NURBS 曲線插補(bǔ)中應(yīng)用最廣泛的是Taylor級(jí)數(shù)展開法[4~5],此方法雖然可直接得到插補(bǔ)點(diǎn)參數(shù),但在計(jì)算時(shí)需要求取插補(bǔ)曲線的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),計(jì)算繁雜,影響算法的實(shí)時(shí)性;而且截?cái)嗾`差較大,當(dāng)増加保留項(xiàng)數(shù)時(shí),可降低截?cái)嗾`差,但計(jì)算量會(huì)大幅增大。
為解決這種問題,國(guó)內(nèi)外學(xué)者提出基于“預(yù)估-校正”的新算法[6~10],通過二階Taylor 展開法或Adams 微分方程預(yù)估插補(bǔ)點(diǎn)參數(shù),進(jìn)而計(jì)算實(shí)際步長(zhǎng)與理想步長(zhǎng)間偏差,以降低該步長(zhǎng)偏差為目標(biāo),迭代反饋校正參數(shù)值,使實(shí)際加工步長(zhǎng)與理想值間偏差小于設(shè)定的約束極限。
為了提高NURBS 曲線插補(bǔ)參數(shù)計(jì)算的準(zhǔn)確性,降低插補(bǔ)過程中的速度波動(dòng),本文在以上研究的基礎(chǔ)上提出了一種基于Adams-Bashforth-Moulton(以下稱ABM)預(yù)估-校正的NURBS 插補(bǔ)算法。通過分析NURBS 曲線插補(bǔ)算法的原理,首先考慮插補(bǔ)速度規(guī)劃,在弓高誤差和進(jìn)給方向加速度的約束下計(jì)算期望步長(zhǎng);然后在插補(bǔ)速度波動(dòng)的約束下利用Adams-Bashforth-Moulton 預(yù)估校正法得到下一點(diǎn)插補(bǔ)參數(shù)。最后使用Matlab 仿真平臺(tái)進(jìn)行了仿真實(shí)驗(yàn)。
一條有n+1 個(gè)控制點(diǎn)的k次NURBS 曲線的有理分式定義為
插補(bǔ)過程中不僅需要對(duì)誤差進(jìn)行控制,還需要保證插補(bǔ)速度的平穩(wěn)性。NURBS 曲線插補(bǔ)進(jìn)給速度vi主要受到以下條件約束:最大弓高誤差emax、最大法向加速度aNmax、最大法向加加速度JNmax及指令速度Fmax[13]。
1)弓高誤差條件約束
采用圓弧近似法計(jì)算弓高誤差。如圖,首先計(jì)算當(dāng)前插補(bǔ)點(diǎn)Qi處的曲率半徑ρi,計(jì)算公式為
2)機(jī)床動(dòng)力學(xué)參數(shù)條件約束
設(shè)插補(bǔ)點(diǎn)Qi處的曲率半徑為ρi,給定最大的法向加速度aNmax,最大法向加加速度JNmax,則在法向加速度和加加速度約束下,插補(bǔ)點(diǎn)Qi處的最大進(jìn)給速度分別為
基于Adams-Bashforth-Moulton 法預(yù)估校正算法預(yù)估下一點(diǎn)插補(bǔ)參數(shù)。結(jié)合了顯式的四步四階Adams-Bashforth 方法和隱式的三步四階Adams-Moulton方法進(jìn)行預(yù)估計(jì)算,方法如下[14]:
由于同階的隱式方法比顯式方法的截?cái)嗾`差更小,所以使用式(3)計(jì)算ui+1能獲得更準(zhǔn)確的計(jì)算結(jié)果。
計(jì)算中,先按照式(5)進(jìn)行一次預(yù)估,然后再代入式(6)進(jìn)行一次校正,從而得到較為精確的預(yù)估值u?i+1。
得到預(yù)估值后對(duì)其進(jìn)行校正,以預(yù)估步長(zhǎng)和期望步長(zhǎng)之差為指標(biāo)。校正之前依次計(jì)算期望步長(zhǎng)和預(yù)估步長(zhǎng),計(jì)算預(yù)估步長(zhǎng)采用預(yù)處理矩陣法[15],計(jì)算期望步長(zhǎng)采用速度約束進(jìn)行規(guī)劃。
根據(jù)以上計(jì)算得到的當(dāng)前點(diǎn)插補(bǔ)最大進(jìn)給速度和插補(bǔ)周期可以得到預(yù)估插補(bǔ)步長(zhǎng)Li=viT,構(gòu)造關(guān)于插補(bǔ)點(diǎn)參數(shù)的速度波動(dòng)函數(shù)[15]:
ui+1,k是第k次迭代之后的計(jì)算參數(shù)值,ui+1,0=u?i+1。為盡可能提高計(jì)算效率,使用Steffensen 法簡(jiǎn)化求導(dǎo)[16],用差商形式替代導(dǎo)數(shù)得到插補(bǔ)參數(shù)迭代計(jì)算式為
為驗(yàn)證本文所提出的插補(bǔ)算法的有效性和準(zhǔn)確性,采用Matlab 平臺(tái)對(duì)NURBS 曲線進(jìn)行仿真分析。為體現(xiàn)本文算法的優(yōu)越性,在仿真中與傳統(tǒng)基于Taylor 展開式及文獻(xiàn)[7]所提的NURBS 曲線插補(bǔ)算法進(jìn)行對(duì)比分析。仿真曲線參數(shù)如表1 所示,曲線軌跡如圖1所示。
表1 NURBS曲線參數(shù)
圖1 插補(bǔ)曲線軌跡
設(shè)定的曲線插補(bǔ)參數(shù)如表2所示。
表2 曲線插補(bǔ)參數(shù)
選定速度波動(dòng)率ε作為算法的評(píng)價(jià)標(biāo)準(zhǔn),分別采用二階Taylor 展開法、文獻(xiàn)[8]中提出的Hamming預(yù)估法和本文所提算法進(jìn)行仿真對(duì)比,采用本文的迭代方法,仿真結(jié)果如圖2~圖4所示。
圖2 二階Taylor展開法速度波動(dòng)率
圖3 Hamming預(yù)估法速度波動(dòng)率
圖4 本文ABM預(yù)估法速度波動(dòng)率
可見三種方法的速度波動(dòng)率都被控制在限定值以內(nèi)。為了較好的分析,采用速度波動(dòng)率平均值作為直觀的評(píng)價(jià)指標(biāo)[17]。
n為插補(bǔ)周期數(shù),各方法結(jié)果為表3所示。
表3 各方法速度波動(dòng)率平均值
由結(jié)果可知,本文提出的算法相較于二階Taylor 展開法和文獻(xiàn)[8]所提算法在速度波動(dòng)率控制方面具有更優(yōu)越的表現(xiàn)。
本研究提出了基于Adams-Bashforth-Moulton法的插補(bǔ)參數(shù)預(yù)估校正算法。該算法首先進(jìn)行插補(bǔ)速度規(guī)劃,在弓高誤差和進(jìn)給加速度的約束下計(jì)算期望步長(zhǎng);基于Adams-Bashforth-Moulton預(yù)估校正法得到下一點(diǎn)插補(bǔ)參數(shù)預(yù)估值,并在速度波動(dòng)控制下采用Newton-Rapson 迭代法進(jìn)行插補(bǔ)參數(shù)校正得到最終參數(shù)值。
仿真結(jié)果表明,預(yù)估參數(shù)計(jì)算精度高,插補(bǔ)準(zhǔn)確性高,在速度波動(dòng)率控制方面具有更好的效果。