鄔再新,張萬軍,胡赤兵,張 峰
(1. 蘭州理工大學 數(shù)字制造技術(shù)與應(yīng)用省部共建教育部重點實驗室,蘭州 730050;2. 蘭州理工大學 機電工程學院,蘭州 730050;3. 蘭州瑞豐工貿(mào)有限公司,蘭州 730050)
目前只有極少數(shù)FANUC、Siemens、三菱等數(shù)控系統(tǒng)支持NURBS插補,而絕大多數(shù)數(shù)控系統(tǒng)支持直線、圓弧或拋物線等插補[1]。于是研究NURBS插補方法在開放的CNC系統(tǒng)中就顯得十分必要,CNC系統(tǒng)中添加NURBS曲線插補[2],通常使用參數(shù)遞推方法插補。對NURBS曲線插補參數(shù)遞推一階、兩階求解(導數(shù))比較麻煩,加工誤差較大。本文給出一種NURBS曲線修正的插補算法,該算法可以提高加工精度、實現(xiàn)高效率的加工。
NURBS曲線一分段的矢值有理多項式函數(shù),其表達式為:
式中wi為權(quán)因子(i=0, 1, …, n),vi分別控制頂點相聯(lián)系(i=1, …, n),Bi, k(u)為k次樣條基函數(shù)。一條NURBS曲線由它的幾何三要素定義控制頂點、權(quán)因子和節(jié)點矢量等構(gòu)成。
NURBS曲線用控制點、權(quán)因子和節(jié)點矢量來表達曲線信息。減少了精度損失,可用CNC原理上的最小步長(由系統(tǒng)插補周期確定的進給弦長)來逼近輪廓,獲得最高的逼近NURBS曲線插補的精度。參數(shù)作為NC系統(tǒng)程序的一部分,由CNC系統(tǒng)內(nèi)部進行實時計算生成NURBS曲線[5],就可以滿足NURBS實時性。
為減少NURBS曲線插補中實時計算的工作量,可把不需要在實時插補中進行的所有操作(如控制頂點、權(quán)因子、節(jié)點矢量等)放在插補預處理中完成,降低實時插補的計算復雜程度,提高插補計算的速度[4]。
本算法采用快速遞推的近似算法來預估新插補點。以對時間的二階差分代替微分[6],即:
代入二階泰勒級數(shù)展開式
然后將估計參數(shù)u′i+1代入曲線方程可得預估插補點 p′i+1及預估插補點對應(yīng)的進給步長 Δl′i=p (ui+1)-p (ui) 得到該插補周期增量值,但是由求解比較麻煩,故而采用修正法對其改進。
2.3.1 滿足插補前修正各軸控制的關(guān)系式[8]
利用樣條曲線構(gòu)造方法,產(chǎn)生一條空間n階導數(shù)連續(xù)的自由曲線。該空間自由曲線第i段為:
滿足如下條件:
2.3.2 參數(shù)插補過程中滿足的算法條件
利用式(1)求方程pi(u)得一階導數(shù)、兩階導數(shù)建立關(guān)于參數(shù)u 的方程。令V0=p0,Vn+2=pn:
式中“×、空格”,分別表示有數(shù)值、零。通過曲線參數(shù)化求解(同樣可建立兩階參數(shù)方程可求出解)、改變“×”的值(含參數(shù)u)、反算控制點,完成整過插補。
筆者提出的NURBS曲線修正算法插補流程圖如圖1所示。
圖1 NURBS曲線修正算法流程圖
在NURBS曲線插補的過程中,首先設(shè)置插補實時滿足的條件參數(shù)遞推和NURBS曲線求導(一階、兩階),判斷在插補中是否從在常量進行預處理,從而實現(xiàn)插補。同時,在插補的過程中要使誤差(弓高)在一定范圍內(nèi),完成插補。筆者給出的插補算法實現(xiàn)簡圖,如圖2所示。
圖2 NURBS曲線插補算法實現(xiàn)簡圖
在插補中為了保證插補精度,要使插補曲線與NURBS曲線的弓高誤差在規(guī)定的精度范圍之內(nèi),如圖3所示。
圖3 NURBS曲線誤差分析
圓弧插補時的逼近誤差e與插補周期T、進給速度F以及該曲線在逼近處的的曲率半徑ρ的關(guān)系為:
因為△l=FT,代入上式有:
當 e= eh,Δli= Δl時,由式(3)得:
可見在整個插補的過程中,若T越長,或F越大,或ρ越小,則插補誤差越大。在實際的數(shù)控系統(tǒng)中,通過對F進行限制來保證e在允許的范圍內(nèi)。NURBS曲線模擬(近似)誤差e與實際誤差MN如圖4所示:
圖4 NURBS曲線近似誤差與實際誤差
根據(jù)計算由圖4列出eh的關(guān)系式:
弓高誤差和實際誤差相比較小,只在曲線拐點的地方有較小的影響。因此在一般情況下可忽略,說明曲線實際控制與模擬控制相吻合。
上述算法在matlab7.0上進行驗證,利用不同控制點的坐標(x, y),節(jié)點、權(quán)因子、次數(shù)等,以X軸的控制位置和Y軸的控制位置作出實際輪廓控制位置和插補控制位置的NURBS曲線插補運算仿真圖。驗證曲線實際控制與模擬控制,如圖5所示。
圖5 曲線實際控制與模擬曲線插補
本文建立的NURBS曲線插補修正算法通過在matlab7.0上,模擬曲線實際控制與模擬控制相吻合,從而驗證該算法是正確的,達到參數(shù)修正的目的。該算法不僅滿足加工精度方面的要求,同時滿足了加工實時性要求。
[1] 張林驛, 楊濤, 肖田園, 等. 網(wǎng)絡(luò)化制造環(huán)境下的資源發(fā)現(xiàn)研究[J]. 計算機集成制造系統(tǒng)—CIMS2003,9(1):47-51.
[2] 王永紅. NURBS曲線數(shù)控插補算法研究[J]. 機械制造與研究, 2010. 39(4): 55-56.
[3] 施法中. 計算機輔助幾何設(shè)計與非均勻有理B樣條[M].北京: 高等教育出版社, 2001.
[4] 高成秀, 劉在德. NURBS曲線插補算法的研究[J]. 制造業(yè)自動化, 2006, 28(8): 27-28.
[5] 鄔再新, 王佳, 唐翠萍. NURBS曲線的平滑自適應(yīng)插補算法研究[J]. 科學技術(shù)與工程, 2010(2): 1054-1056.
[6] 謝黎明, 鄭威, 靳嵐, 沈浩. 基于NURBS插補算法的嵌入式數(shù)控系統(tǒng)的研究與開發(fā)[J]. 制造技術(shù)與機床, 2008(7): 152-154.
[7] Jingchun Feng,Yuhao Li,Yuhan Wang,et al.Design of a realtime adaptive NURBS interpolator with axis acceleration limit[J] . Int J Adv Manuf Technol, 2009,09:327-341.
[8] MY Cheng,MC Tsai,JC Kuo. Real-time NURBS command generators for CNC servo controllers[J]. International journal of Machine Tools and Manufacture, 2002,42: 801-813.