国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

NURBS及其偏移曲線的插補方法

2022-04-19 03:33:30馬虎亮王燕青楊勝強呂明
機械科學與技術 2022年3期
關鍵詞:補點樣條控制點

馬虎亮,王燕青,楊勝強,呂明

(太原理工大學 機械與運載工程學院, 太原 030024)

NURBS(非均勻有理B樣條)曲線目前作為自由曲線的通用表達方式,由于其靈活性、易操作性等優(yōu)點被廣泛應用在機械設計領域[1]。NURBS曲線相對于一般直線、圓弧等常用曲線和Bezier、B樣條等控制曲線相對復雜,計算效率不高。因此,NURBS曲線的插補計算也成為機械加工領域的重點和難點之一。

NURBS曲線的插補計算主要有3種方法:使用遞推公式的直接計算法、矩陣法和De-Boor算法。學者們從不同的角度進行了研究:文獻[2-4]分別引入Newton-Rapson、Runge-Kutta和牛頓迭代法來計算下一步的插補點;孔祥宏等[5]利用遞推公式的顯示方程改進計算過程;馮高杰等[6]用分段插補來調(diào)節(jié)加減速的自適應插補算法;王國勛等[7]提出了基于矩陣法的插補點快速求導方法。上述方法中NURBS曲線求解插補點的過程相對于一般曲線來說還是過于復雜,求取參數(shù)較多,計算量較大,并且對于樣條曲線的刀補軌跡計算沒有深入分析。

當前對于NURBS曲線的加工主要采用周期采樣法,通過上位機粗插補和下位機精插補的結(jié)合提高加工精度,上位機根據(jù)采用周期采集曲線上的點。文獻[8-11]研究了NURBS曲線插補中上位機實現(xiàn)加減速控制的方法。這些方法使用曲線上的點的數(shù)量較少,總的計算量不大,具有很高的速度控制功能,但精度較低,不適用與對精度要求高的場合。文獻[12-15]是學者們采用插補或者補償?shù)确椒▽τ诓煌瑧脠龊蠝p小誤差所做的探索。

本文提出的參數(shù)跟蹤法是一種通用曲線插補方法,應用在NURBS曲線的插補計算中,可以在保證精度的前提下減少計算量。首先介紹了參數(shù)跟蹤法的基本原理,然后將其應用到NURBS曲線的插補計算中,隨后將其擴展到曲線的刀具補償和處理過程,最后研究了NURBS曲線的坐標補償方法。

1 參數(shù)跟蹤法的基本原理和計算過程

參數(shù)跟蹤法以曲線的參數(shù)方程為研究對象,首先確定各個軸的參數(shù)表達式并進行歸一化處理,使參數(shù)u的取值范圍限制在[0,1],然后以曲線的導矢為依據(jù),對下一步的插補點進行計算,得到下一步插補點的坐標和當前步的插補結(jié)果,最后循環(huán)計算至終點。參數(shù)跟蹤法得到的結(jié)果屬于脈沖增量式,即單步插補結(jié)果是各個軸單步運動,插補精度高。

1.1 參數(shù)跟蹤法的方程

參數(shù)跟蹤法首先用到曲線的參數(shù)方程,表達式為

式中u為曲線的參數(shù),u∈[0,1]。

對于參數(shù)范圍不在[0,1]的參數(shù)曲線,需要對其參數(shù)值進行歸一化,并且對參數(shù)方程進行調(diào)整。

在計算下一個插補點時,需要使用曲線的參數(shù)微分方程,即

1.2 下一個插補點的計算

所有針對NURBS曲線的插補計算都是參數(shù)u從0到1的過程,每步插補計算參數(shù)的增加值稱為跨步步長 Δu。不同的插補方法計算得到的跨步步長不同。根據(jù)二階泰勒公式曲線任意點的坐標計算公式為

式中u0為對應參考點的參數(shù)值。在脈沖增量式的插補運算中,各軸的單個脈沖增量為 Δl,因此取Δl=f(u)?f(u0); Δl的取值通常可以達到 0.1 ~ 1 μm,這樣導致 Δu=u?u0,因此略去高階導數(shù),只使用一次項,得到

把各軸的微分方程代入式(4)計算可以得到各個軸的跨步步長,但由于各個軸的導數(shù)不同,因此各軸對應的 Δu也不同,這里取多個 Δu的最小值為跨步步長。再根據(jù)u=u0+Δu得到下一個插補點的參數(shù)值并可以計算各軸坐標值。

1.3 插補過程

參數(shù)跟蹤法的運算流程如圖1所示。

圖1 參數(shù)跟蹤法的運算流程

參數(shù)跟蹤法的運算流程具體步驟如下:

步驟1 參數(shù)跟蹤法在獲取到曲線幾何信息后,設置初始參數(shù)u=0,初始點坐標Q(xs,ys)。

步驟2 根據(jù)曲線參數(shù)微分方程式(4)求出各軸關于參數(shù)的導數(shù),按照式(4)計算出各軸參數(shù)差值取最小值為跨步步長 Δu,更新參數(shù)值u=(u0+Δu)。計算新點的坐標Q(xm,ym),然后根據(jù)新舊坐標的差值ΔQ(Δx,Δy)得到插補結(jié)果。插補結(jié)果多為單步和雙步。

步驟3 循環(huán)步驟2 ,直到u=1,曲線到達終點。

由于每次獲取插補結(jié)果都是以參數(shù)值對應點的坐標為目標,故名其為參數(shù)跟蹤法。參數(shù)跟蹤法每次插補目標都為曲線上的值,完成插補后的坐標誤差都在單步之內(nèi)。計算過程簡單,只需要使用參數(shù)方程及其一階導數(shù)。

2 NURBS 曲線的參數(shù)跟蹤法計算

NURBS曲線的表達式符合參數(shù)跟蹤法的計算要求,并且參數(shù)范圍是[0,1],不需要進行歸一化處理。參數(shù)跟蹤法可以用于NURBS曲線的插補計算。

2.1 NURBS曲線的計算基礎

參數(shù)跟蹤法的插補過程需要計算曲線上的點和導矢。NURBS曲線上點的表達式為

式中:wi為權因子;Pi為曲線的控制點;Ni,k(u)為與u相關的基函數(shù)。從式(5)來看,分子A(u)可以等同加權控制點wiPi的B樣條曲線表達式,分母W(u)可以等同為權因子wi的B樣條表達式。因此,NURBS曲線的計算可以轉(zhuǎn)換為加權控制點的計算結(jié)果除以權因子的B樣條函數(shù)計算結(jié)果。使用De-Boor算法可以快速計算B樣條曲線上的點。

NURBS曲線上各點的導矢計算式為

式中:A′(u) 為A(u)的的導數(shù),即加權控制點wiPi的B樣條函數(shù)導數(shù);W′(u) 為W(u)的導數(shù),即權因子wi的B樣條函數(shù)導數(shù)。

式(6)是由式(5)對參數(shù)u進行求導所得,C(u)和W(u)在式(5)中已算出。

根據(jù)B樣條曲線的性質(zhì),p次B樣條曲線的導矢等于p?1次B樣條曲線,其控制點表達式為

式中ui為對應的節(jié)點向量。將加權控制點wiPi和權因子wi代入可求得p?1次B樣條曲線的控制點,再對節(jié)點向量進行對應處理即可計算得到A′(u)和W′(u),最后根據(jù)式(6)得到 NURBS 曲線的任意點的導矢值。

2.2 參數(shù)跟蹤法計算NURBS曲線實例

以NURBS曲線實例來說明NURBS的參數(shù)跟蹤插補方法的計算過程。三次NURBS曲線的控制點和權因子如表1 所示。節(jié)點向量V=[0, 0, 0, 0,0.143, 0.286, 0.429, 0.571, 0.714, 0.857, 1, 1, 1, 1],單個脈沖增量為 1 μm。

表1 NURBS 曲線控制點和權因子

NURBS曲線的插補計算過程:

步驟1 設定P1(0.5,1.0)為初始點,且u=0;

步驟2 根據(jù)式(7)計算當前點的導矢,得到dx/du和 dy/du的值,令 dx=dy=0.001 mm,計算X軸和Y軸對應的du,取較小值為跨步步長 Δu。然后更新參數(shù)u的值,根據(jù)式(6)計算當前點坐標,最后根據(jù)當前點坐標得到當前步的插補結(jié)果。

步驟3 判斷u是否等于1,等于1結(jié)束,小于1循環(huán)步驟2。

插補結(jié)果共6402步,插補結(jié)果如圖2a)中所示,圖2b)為插補結(jié)果的局部放大圖。從圖中可以看出,插補結(jié)果精度高,沒有累積誤差。

圖2 NURBS 曲線插補結(jié)果

3 恒定刀具補償?shù)牟逖a計算

數(shù)控加工中NURBS曲線的獲得方式有兩種方式,一種是在機械設計中直接使用NURBS曲線進行的設計,另外一種是通過測量曲面,然后使用NURBS曲線進行擬合得到的結(jié)果。兩種方式得到的數(shù)據(jù)信息都包含了控制點、節(jié)點矢量和權因子,但都是屬于加工前的軌跡信息,在實際加工中需要轉(zhuǎn)換為加工軌跡。通常在加工中使用固定刀具加工NURBS曲線,因此加工軌跡與結(jié)果曲線相差一個刀具半徑。

3.1 恒定刀具補償?shù)挠嬎氵^程

曲線具有凹凸性,其刀具補償為曲線各點沿法線方向偏移后的軌跡。根據(jù)補償方向可分為左刀補和右刀補。NURBS曲線為參數(shù)表達式,因此曲線導矢方向與法線方向垂直,由于參數(shù)跟蹤插補方法中包含了對導矢的求值,因此利用導矢求解左右刀補后的位置。如圖3所示,根據(jù)參數(shù)微分方程可以求解曲線上點M的導矢(x′,y′)。左刀補為導矢方向逆時針旋轉(zhuǎn)90°,右刀補為導矢方向順時針旋轉(zhuǎn)90°。計算時相應的XY軸分量進行旋轉(zhuǎn)即可。

圖3 導矢與刀補關系圖

曲線上對應點的刀具中心位置計算公式為

式中:r為刀具補償值;x′、y′ 為曲線當前點的導矢分量;l為導矢長度值,為符號,左刀補時取上方符號,右刀補時取下方符號。

3.2 插補結(jié)果后處理

刀具軌跡是曲線偏移后的結(jié)果,由于曲線的凹凸性,使其偏移曲線的長度有所增減。偏向凸的一側(cè)曲線長度增加,數(shù)據(jù)點增多;偏向凹的一側(cè)曲線長度減少,數(shù)據(jù)點減少。這是偏移曲線的特點之一。

直線、圓弧和圓錐曲線等幾何元素在偏移時只考慮單個凹凸性。NURBS曲線由于其靈活性,可將多種曲線的特征包含在一條曲線中,因此其偏移后的軌跡可能既包含凹曲線也包含凸曲線的偏移結(jié)果。NURBS曲線偏移量較小時點不會重合,但偏移量如果過大時,偏移線會出現(xiàn)重合和交叉,這就是曲線偏移的自相交現(xiàn)象,應用在加工中導致發(fā)生過切。曲線自相交現(xiàn)象如圖4a)和圖4b)所示。

圖4 偏移曲線的“打結(jié)”現(xiàn)象

處理NURBS曲線偏移的數(shù)學方法比較復雜,需要重新取型值點再反算控制點,計算過程復雜,而且在打結(jié)處,通常處理方式是打斷曲線從而生成多個曲線。

本文提供了一種處理偏移曲線出現(xiàn)自相交現(xiàn)象的面向插補結(jié)果的處理辦法——坐標消結(jié)法。坐標消結(jié)法是利用了插補結(jié)果具有確定精度坐標的特性:凡是打結(jié)必然會有重合點。坐標消結(jié)法利用包含了坐標值的插補結(jié)果,首先遍歷插補點得到相同坐標的序號集合,然后對序號集合進行合并處理,最后在插補結(jié)果中去除打結(jié)段。

圖4a)為最常見的交點情況,曲線只有一個交點的情況處理比較簡單,記錄A點和B點的序號去掉中間段即可。圖4b)中重復點為一段曲線,點的序號從前到后一次為A→B→C→D,A和C共點、B和D共點,去除時需要保留AB段。圖4c)和圖4d)是去除自相交部分的曲線。

圖5中補償曲線是原有NURBS曲線使用3.1節(jié)的方法偏移0.3 mm后的插補結(jié)果,顯示其中有兩處自相交。在遍歷插補點后得到的相同坐標的序號集合數(shù)量為16組,如表2中所示,需要對其進行合并處理。使用坐標消除法對插補結(jié)果處理后,需要消除的兩段為 3 90→565和 3 634→4185共728步。插補結(jié)果步數(shù)從7218步減少到6490步。處理后結(jié)果如圖5中處理曲線所示,去除掉偏移曲線的兩個結(jié),加工中不會產(chǎn)生過切現(xiàn)象。圖5中所示處理曲線為便于觀察縱坐標上移1 mm,可以看到坐標消結(jié)法去除了偏移曲線的交叉部分。

表2 插補結(jié)果中相同坐標點集合

圖5 NURBS 刀具補償插補結(jié)果后處理

4 線性刀具補償插補計算

恒定刀具補償一般應用在銑削等加工刀具磨損量很小的場合。在電火花加工中電極隨著加工時間是有損耗的,而且加工某些材料損時電極損耗量是非??捎^的,此時就需要對電極進行補償。由于電極損耗量在相同加工條件下是固定的,因此可以將補償隨加工時間進行線性變換。線性補償?shù)挠嬎愎綖?/p>

式中:r0為固定刀具補償值,mm;k為電極補償系數(shù),mm/步;n為加工步數(shù);r為刀具補償值,mm。

由于插補過程是按照周期內(nèi)步數(shù)來進行衡量的,因此電極的補償系數(shù)需要轉(zhuǎn)換成與步數(shù)相關。將式(8)中的補償半徑用式(9)計算,即可得到變補償?shù)那€插補結(jié)果。取k=?0.000 04 mm/步,通過計算得到的插補結(jié)果如圖6所示。曲線插補從左側(cè)開始補償值為0.3 mm,到右側(cè)結(jié)束時根據(jù)式(9)計算變?yōu)?.04 mm,工具電極損耗得到補償。

圖6 NURBS 曲線線性補償圖

5 坐標補償插補計算

在加工過程中,由于機床和刀具由于移動和受力等原因會在加工中產(chǎn)生振動,導致加工NURBS曲線時出現(xiàn)周期性或非周期性的坐標漂移現(xiàn)象,這是由于加工運動產(chǎn)生的坐標誤差。坐標誤差最終會反應加工后的曲線上,這種誤差可以通過三坐標測量儀等輪廓測量裝置測量。

坐標誤差可以通過坐標補償技術進行消減。具體辦法是通過試加工得到曲線,再通過測量輪廓和目標曲線進行比較得到坐標誤差表。再對坐標誤差表進行多項式擬合,將擬合后的坐標公式與NURBS曲線的插補點坐標相加來消除坐標誤差。

如圖7所示,實際曲線表示加工后的曲線,與目標曲線有坐標誤差,誤差值擬合曲線為式(10),是一條4次多項式曲線。在計算出NURBS曲線x坐標后,可以通過式(10)計算出坐標誤差的y坐標值,與曲線的y坐標值相加,最后再進行刀具補償。機補曲線是實際曲線經(jīng)過坐標補償?shù)玫降那€,與目標曲線重合。刀補曲線是機補曲線的刀具補償插補結(jié)果。

圖7 坐標補償與刀補軌跡

6 結(jié)論

參數(shù)跟蹤法可以簡潔有效地對NURBS及其偏移曲線進行插補。NURBS曲線在加工中出現(xiàn)的誤差也可以利用多種補償方法進行消除,從而提高NURBS曲線的加工精度。參數(shù)跟蹤法對于NURBS曲線的計算方法可以擴展到其他類型的參數(shù)曲線,具有簡化插補計算和提高插補效率的作用。

猜你喜歡
補點樣條控制點
等弦分割采樣的球面插補算法研究
心房顫動射頻消融術中肺靜脈電隔離后補點消融位置及其補點消融數(shù)量分析
一元五次B樣條擬插值研究
一種戰(zhàn)時人力資源補充分析方法
甘肅科技(2021年16期)2021-10-17 17:15:40
增強型地面數(shù)字電視補點器的探討和研究
世界家苑(2020年4期)2020-06-30 14:28:36
三次參數(shù)樣條在機床高速高精加工中的應用
NFFD控制點分布對氣動外形優(yōu)化的影響
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡與日本人口預測
軟件(2017年6期)2017-09-23 20:56:27
基于樣條函數(shù)的高精度電子秤設計
基于風險管理下的項目建設內(nèi)部控制點思考
郴州市| 调兵山市| 南木林县| 潼关县| 梅州市| 德化县| 固原市| 华蓥市| 藁城市| 吴江市| 洛阳市| 内江市| 梁河县| 永仁县| 龙里县| 贺兰县| 保定市| 舞钢市| 大田县| 临漳县| 彭水| 贞丰县| 冷水江市| 安达市| 哈巴河县| 罗山县| 麦盖提县| 高安市| 沙田区| 西昌市| 兴隆县| 永城市| 宽甸| 高唐县| 石柱| 延吉市| 昌江| 凤山市| 黎平县| 当阳市| 滨海县|