一種離散刀具軌跡的曲線擬合方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)控加工領(lǐng)域,更具體地,涉及一種離散刀具軌跡的曲線擬合方法。
【背景技術(shù)】
[0002] 在計算機輔助制造及數(shù)控加工領(lǐng)域中,離散刀具軌跡可以用B樣條曲線進行擬 合,然后進行質(zhì)量檢測,使得擬合的曲線能夠滿足加工要求,如果擬合的曲線質(zhì)量不符合加 工要求,則重新進行擬合,以免影響加工質(zhì)量。擬合樣條曲線的質(zhì)量檢測主要包括兩個方 面:檢測擬合樣條與離散刀具軌跡組成的折線段之間的弦高差是否滿足精度要求,以及檢 測擬合樣條的曲率和弧長是否滿足光順性要求。
[0003] 擬合樣條與離散刀具軌跡組成的折線段之間的弦高差一般用Hausdorff距離來 計算,但由于直接計算Hausdorff距離計算量大,計算緩慢,不適用于高速高精數(shù)控加工。 在非專利文獻《基于NURBS曲線擬合的刀具路徑優(yōu)化方法》、《數(shù)控加工中的連續(xù)多段直線 軌跡B-Spline擬合》和《數(shù)控加工中連續(xù)微線段軌跡的B樣條曲線擬合》中,均采用下列方 法:首先等分參數(shù)區(qū)間,然后計算B樣條上等分點處的弦高差,最后計算所有弦高差的最大 值。該方法無法遍歷B樣條曲線上所有點,只能通過提高離散密度而提高計算精度;當離散 稀疏時,計算精度則很低。因此需要一種計算速度快且計算精確的弦高差檢測方法。
[0004] 在擬合樣條的質(zhì)量檢測中,除了檢測弦高差,擬合曲線的光順性也是一個很重要 的檢測指標。光順性良好是指曲率光順,不存在打折、波動、尖點和多余拐點的情況。在現(xiàn) 有技術(shù)中通常通過判斷曲線的曲率上是否具有連續(xù)性作為判斷光順性的指標,例如非專 利文獻《CATIA中曲線、曲面的光順性檢查及修形處理的方法》(中國航空學(xué)會總體分會幾 何設(shè)計分會學(xué)術(shù)交流會,2004)中,以及非專利文獻《曲面光順性的檢查及改進方法》(重慶 理工大學(xué)學(xué)報(自然科學(xué)版)2010,24(1))。然而,曲線的打折現(xiàn)象無法通過該方法檢測, 如圖1所示,虛線為離散刀具軌跡,圓點為離散刀具軌跡的數(shù)據(jù)點,光滑實線為擬合的B樣 條曲線,曲線出現(xiàn)了打折現(xiàn)象,但曲率變化均勻,而擬合樣條的弧長明顯超過了折線段的弦 長,在加工中會導(dǎo)致刀具磨損且加工質(zhì)量變差。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種離散刀具軌跡的曲線擬 合方法,其目的在于通過采樣點將所述擬合曲線劃分為多個采樣區(qū)間,并分別對不同采樣 區(qū)間的誤差和光順性進行檢測,從而擬合出一條滿足弦高差要求和光順性要求的曲線。
[0006]為實現(xiàn)上述目的,按照本發(fā)明的一個方面,首先根據(jù)離散刀具軌跡建立擬合曲線, 其次通過采樣點將所述擬合曲線劃分為多個采樣區(qū)間,并通過計算多個采樣區(qū)間內(nèi)的最大 弦高差,以及離散刀具軌跡到擬合曲線的最近距離,從而判斷所述擬合曲線是否超過加工 系統(tǒng)的誤差閾值,以及所述擬合曲線的光順性是否滿足加工系統(tǒng)的要求,然后根據(jù)判斷結(jié) 果對擬合曲線進行調(diào)整,最終建立具有滿足加工系統(tǒng)誤差以及光順性要求的軌跡曲線。
[0007] 優(yōu)選地,所述離散刀具軌跡的曲線擬合方法的具體步驟如下:
[0008] (1)根據(jù)離散刀具軌跡V(u),建立B樣條曲線c(t),其中,所述離散刀具軌跡V(u) 為N個數(shù)據(jù)點V,依次組成的N-1條線段,j為1到N的整數(shù),所述線段的索引依次為1至 N-1;
[0009] (2)對所述B樣條曲線c(t)采樣,使得所述B樣條曲線c(t)上每個節(jié)點區(qū)間都至 少有一個采樣點,得到Μ個采樣點c(tj,i為1到Μ的整數(shù);
[0010] (3)在1~Μ之間遍歷i,計算c(ti)到離散刀具軌跡的弦高差Bi,所述c(ti)在 所述離散刀具軌跡上的投影點V(Ul),以及所述投影點V(Ul)所在線段的索引A1;
[0011] (4)在1~M-1之間遍歷i,判斷采樣區(qū)間(ca^c^J))內(nèi)是否存在弦高差大 于bjpb1+1,且可能超過誤差閾值u。的點,并根據(jù)判斷結(jié)果計算采樣區(qū)間[calcar)]內(nèi) 的最大弦尚差Η;;
[0012] 同時在1~N之間遍歷j,計算數(shù)據(jù)點V,jB樣條曲線c(t)的最近距離G
[0013] (5)如果所述B樣條曲線c(t)不存在系統(tǒng)誤差點,進入步驟(6);否則重新建立B 樣條曲線c(t),返回步驟(2);
[0014] (6)判斷所述B樣條曲線c(t)是否符合加工系統(tǒng)的光順性要求,是則重新建立B 樣條曲線c(t),返回步驟(2),否則離散刀具軌跡的擬合結(jié)束。
[0015] 作為進一步優(yōu)選地,所述步驟(2)的具體方法為:
[0016] S21.根據(jù)B樣條曲線c(t)的參數(shù)區(qū)間[ts,tj,得到Μ個采樣點c^),
為1到Μ的整數(shù);
[0017]S22.遍歷c(t)的節(jié)點區(qū)間,判斷當前節(jié)點區(qū)間的采樣點個數(shù),如果個數(shù)為0,則在 當前節(jié)點區(qū)間插入采樣點,令Μ=M+1,直至所有節(jié)點區(qū)間都至少有一個采樣點;
[0018] S23.對所有采樣點重新排序得到c(tj,i為1到Μ的整數(shù)。
[0019] 作為進一步優(yōu)選地,在所述步驟(2)中,2Ν彡Μ彡3Ν。
[0020] 作為進一步優(yōu)選地,所述步驟(3)具體為:
[0021] S31.令i= 1,將caj的候選區(qū)間設(shè)置為所述離散刀具軌跡起始的2個~4個 連續(xù)線段組成的線段軌跡;
[0022] S32.找出所述候選區(qū)間中離(3?)距離最近的線段,令該線段的索引為心, 在該線段上的投影點為與該線段的距離為caj的弦高差b1;
[0023]S33.如果所述投影點V(Ul) #V^VN,且所述投影點V(Ul)位于所述候選區(qū)間的 兩端時,將所述c(tj的候選區(qū)間重新設(shè)置為包括所述投影點V(Ul)在內(nèi)的2個~4個連續(xù) 線段組成的線段軌跡,且使得所述投影點V(Ul)不位于所述候選區(qū)間的兩端,返回S32;否 則進入S34;
[0024]S34.i乒M,則i=i+Ι,進入S35,否則進入步驟⑷;
[0025]S35.當Ai1或N-1時,設(shè)置caj的候選區(qū)間J的候選區(qū)間相同,否則 將caj的候選區(qū)間設(shè)置為包括所述c(tu)的投影點V(Ull)的2個~4個連續(xù)線段組成 的線段軌跡,且使得所述投影點V(Ul ^不位于所述候選區(qū)間的兩端,進入S32。
[0026] 作為進一步優(yōu)選地,在所述步驟⑷中,還包括判斷所述采樣區(qū)間 ((caicad)內(nèi)是否存在打折現(xiàn)象:如果4>a1+1,貝ij所述采樣區(qū)間((caicad)內(nèi) 存在打折現(xiàn)象;
[0027] 在所述步驟(5)中,所述B樣條曲線c(t)不存在系統(tǒng)誤差點,且沒有存在打折現(xiàn) 象的采樣區(qū)間,進入步驟(6);否則重新建立B樣條曲線c(t),返回步驟(2)。
[0028] 作為進一步優(yōu)選地,所述步驟(4)中最大弦高差私的計算方法具體為:
[0029] S411.令
j為1到N的整數(shù);
[0030] 令i= 1 ;
[0031] S412.如果Ai>Ai+1,記錄采樣區(qū)間((c(ti),c(ti+1))內(nèi)存在打折現(xiàn)象或令嘸= max(Bi,Bi+1),進入S416 ;
[0032] 如果A1=A1+1,則進入S413 ;
[0033] 否則進入S414;
[0034] S413.將 弧長參數(shù)化為h(l),le(11;11+1),其中,1JP11+1 分別對應(yīng)tJP t1+1的弧長參數(shù);
[0035] 如果h' (υΧ),!!,(11+1)〈0,
[0036] 且h(li+1) + (li_li+1)V(li+1)或h(I;) + (li+1_li)V(1J中任意一項超過誤差閾 值U。,
[0037] 則嘸=maxf(t,A;),cG(ti,ti+1);
[0038] 否則max(B〇Bi+1);
[0039] 進入S416 ;
[0040] S414.令F(t) =min[f(t,A;),f(t,Ai+1),· · ·f(t,Ai+1)];
[0041] hi=maxF(t),te(ti;ti+1);
[0042] 如果Ai+1 =Ai+1,進入S415,否則max(B;,Bi+1,hj,進入S416 ;
[0043] S415.計算。匕)到線段^;+11^.+2的距離a以及c(ti+1)到線段的距離 b,若所述距離a和所述距離b的最大值max(a,b)大于誤差閾值U。,則Η; =max(B;,Bi+1,hj;
[0044] 否貝丨J,嘸=max?i,Bi+1);
[0045] S416.i乒M-l,則i=i+1,返回S412 ;否則最大弦高差嘸的計算結(jié)束。
[0046] 作為進一步優(yōu)選地,所述步驟(4)中最近距離G,的計算方法具體為:
[0047] S421.令j= 1,g(t,j) = (c(t)_V.j)Xc' ⑴;
[0048] S422.如果j= 1,令c(tp)為B樣條曲線c(t)的起始點,否則令c(tp)為離所述 數(shù)據(jù)點V,前端最近的投影點對應(yīng)的采樣點;
[0049] 如果j=N,令c(tq)為B樣條曲線c(t)的終止點,否則令c(tq)為離所述數(shù)據(jù)