徐佰溫,唐 偉
(山東大學(xué) 機械工程學(xué)院,濟南 250061)
Pythagorean-Hodograph曲線插補及其G代碼編程的實現(xiàn)
徐佰溫,唐 偉
(山東大學(xué) 機械工程學(xué)院,濟南 250061)
對Pythagorean-Hodograph(PH)曲線與數(shù)控加工相關(guān)的優(yōu)點進行了研究,給出了PH曲線的構(gòu)造方法,分析了PH曲線插補技術(shù)和其G代碼編程的必要性和可行性,在傳統(tǒng)G代碼編程的基礎(chǔ)上,介紹了一種PH曲線插補G代碼編程實現(xiàn)的方法,編寫了兩個PH曲線插補G代碼程序,可以看出該G代碼編程可以和直線或圓弧插補G代碼混合使用,擴充了傳統(tǒng)G代碼的使用范圍,和通常的直線或圓弧分段逼近插補相比,其在精確性、高效性、傳輸數(shù)據(jù)量、靈活性方面具有明顯的優(yōu)勢,為開發(fā)具有PH樣條插補功能的數(shù)控系統(tǒng)提供了參考。
PH曲線;G 代碼;CNC 插補
在計算機數(shù)控系統(tǒng)中,復(fù)雜曲線曲面零件加工一直是研究的重點,樣條曲線插補算法是高性能數(shù)控系統(tǒng)實現(xiàn)復(fù)雜軌跡生成的重要基礎(chǔ)[1]。中低端數(shù)控機床大多僅具有直線和圓弧插補功能,其編程量大,加工精度低;高檔數(shù)控機床通常具有樣條插補功能,但也存在一些不足。現(xiàn)廣泛使用的NURBS和B樣條曲線插補有兩個最基本的限制[2]:①刀心軌跡為非有理的,在CAD系統(tǒng)中需近似處理;②進給速度沿曲線的弧長不能精確計算。在高精數(shù)控加工中,易影響加工質(zhì)量。而PH曲線的出現(xiàn),完美的解決了上述不足。
PH曲線是一類特殊的構(gòu)造曲線,可看作滿足特定條件的Bézier曲線,由于具有了特別的代數(shù)結(jié)構(gòu)形式,使得它具有一般自由曲線不可比擬的優(yōu)點。在數(shù)控加工中,PH曲線的弧長和偏置曲線可被精確計算,能夠準確方便的實現(xiàn)刀具半徑補償。在不同的加工場合,可根據(jù)需要選擇不同進給速度函數(shù),實現(xiàn)恒速或變速下的實時插補處理,國內(nèi)一些高校對此進行了各自的研究[3-6]。
PH曲線可以和現(xiàn)存CAD系統(tǒng)的Bézier /B樣條兼容,如果PH曲線插補的G代碼程序可以和傳統(tǒng)的G代碼配合使用,則可以極大擴展G代碼程序的使用范圍。
PH曲線是一種特殊的構(gòu)造曲線,由美國學(xué)者R.T.Farouki[7]于1990年提出。
1.1 定義
對一條多項式參數(shù)曲線 r(ξ)=(x(ξ),y(ξ)),如果存在一個多項式σ(ξ),使得
x′2(ξ)+y′2(ξ)=σ2(ξ)
(1)
則稱r(ξ)為PH曲線。
其中多項式參數(shù)曲線的參數(shù)導(dǎo)數(shù)分量滿足:
x′(ξ)=w(ξ)(u2(ξ)-v2(ξ))
y′(ξ)=2w(ξ)u(ξ)v(ξ)
(2)
w(ζ)、u(ζ)、v(ζ)為關(guān)于ζ的實多項式。
PH曲線由于滿足(1)式這種特殊的代數(shù)結(jié)構(gòu)形式,隨后逐步被廣泛應(yīng)用于自由曲線曲面加工中的刀具軌跡規(guī)劃,機器人的路徑規(guī)劃,汽車外形設(shè)計,實體造型和圖形學(xué)等各個領(lǐng)域中[8]。
1.2 構(gòu)造方法
根據(jù)PH曲線的定義,利用Bézier伯恩斯坦系數(shù)可求出u(ζ)和v(ζ),則PH曲線即可確定。3次PH曲線不能實現(xiàn)C2的插值,沒有拐點,在實際應(yīng)用中受到很多限制。5次PH曲線具備普通三次多項式曲線的設(shè)計能力,可實現(xiàn)任意端點及其導(dǎo)數(shù)的Hermite插值,實際應(yīng)用中較多。9次PH曲線的計算量較大,適用于特殊工業(yè)設(shè)計場合,如凸輪設(shè)計中。
下面以五次PH曲線的構(gòu)造為例說明。
設(shè)PH曲線的次數(shù)為λ+2u+1
其中:
λ=deg(w(ξ)),u=max{deg(u(ξ)),deg(v(ξ))}
構(gòu)造五次PH曲線時,u(ζ)和v(ζ)的次數(shù)為2,其Bernstein-Bézier形式表示為:
u(ξ)=u0(1-ξ)2+2u1(1-ξ)ξ+u2ξ2
v(ξ)=v0(1-ξ)2+2v1(1-ξ)ξ+v2ξ2
代入PH曲線的定義式,求得控制頂點[9]:
其中,p0為任意已知點。
則五次PH-Bézier曲線可表示為:
p(ξ)=p0b0.5(ξ)+p1b1.5(ξ)+p2b2.5(ξ)+p3b3.5(ξ)+p4b4.5(ξ)+p5b5.5(ξ),可簡寫為:
式中,B為五次Bemstein系數(shù)。參數(shù)速度為:
其Bernstein系數(shù)為:
弧長多項式表示為:
其Bernstein系數(shù)為:
s0=0
取ε∈[0,1]時,它的總弧長s為:
通常是將ξ(t)在t=(k-1)Δt處做泰勒級數(shù)展開,得:
公式右邊都是在ξ=ξk-1點取值。
以最簡單的恒速插補為例,說明求參數(shù)值的方法。
對于恒速插補,設(shè):
V=V0,s(ξk)=kΔs0,Δs0=V0Δt
可由牛頓迭代法求出參數(shù)ξk
上式中,初始值為:
其中,σ(ξk-1)是前一步的收斂值。
G代碼,又稱G編程語言,是最為廣泛使用的NC編程語言,是使機床或數(shù)控系統(tǒng)建立起某種加工方式的指令[10]。主要在計算機輔助制造中用于控制自動機床。PH曲線與現(xiàn)存的CAD系統(tǒng)的Bézier/B樣條曲線兼容,為PH曲線插補提供了可行性。傳統(tǒng)G代碼程序段結(jié)構(gòu)清晰,方便靈巧,易于理解使用。為PH曲線使用G代碼編程提供了良好的基礎(chǔ)。
PH曲線伯恩斯坦系數(shù)轉(zhuǎn)換的計算過程由CAD系統(tǒng)完成,PH曲線的次數(shù)、終點坐標、伯恩斯坦系數(shù)等信息,在編寫G代碼程序段中指定。
根據(jù)我國JB/T3208—1999《數(shù)控機床穿孔帶程序段格式中的準備功能G和輔助功能M代碼》,代碼G05暫未指定功能,這里采用G05程序塊中的字指定了PH曲線的幾何信息和進給速度,見表1。
表1 PH曲線G代碼坐標字的地址符含義
對部分程序字進一步的說明如下:
A,B,C,D,E:用于定義PH曲線的形狀,若H為5,用到A,B,C三個數(shù)值;若H為9,需要用到A,B,C,D,E五個數(shù)值。P,Q,R,S,T用法與之相同。
F:指定進給速度函數(shù)的形式;
U,V,W:給出不同進給速度形式下的相關(guān)值。如:
F0:恒速進給,U速度值。
F1:進給速度與弧長成線性關(guān)系,U起點速度,V終點速度。
F2:進給速度與弧長成二次多項式關(guān)系,U起點速度,V終點速度。
F3:恒定材料去除率進給,U標稱進給速度,V刀具半徑,W切削深度。
F4:沿某一偏置曲線的恒速進給,U速度值,V偏置距離。
PH曲線G代碼可以和通常的直線圓弧插補G代碼混合使用,以下舉兩個工件加工的例子來說明PH曲線G代碼的緊湊靈活性。例子中的坐標值為十進制,單位為BLU(基本長度單位),進給速度值單位為BLU/分鐘。這里取1BLU=0.01mm。多項式u(ζ)、v(ζ)系數(shù)為十進制,保留三位小數(shù)以確保精度。假定工件的起始位置在(0,0)。
4.1 五次PH曲線變速進給
以下為5次PH曲線G代碼段,進給速度樣式為3。
N05 G05 F3 U30000 V635 W476
N10 G05 H5 X5080 Y0
N15 G05 A130.712 B-51.811 C138.385
N20 G05 P-69.955 Q128.872 R-29.367
N05程序塊中的“F3”表示按照恒定材料去除率進給,標稱進給速度U=30000BLU/min(5mm/s),刀具半徑V=635BLU(6.35mm),切削深度W=476BLU(4.76mm)。N10程序塊中“H5”表示為5次PH曲線,“X5080 Y0”表示終點坐標為(5080,0)。N15程序塊中A,B,C為u(ζ)的伯恩斯坦系數(shù)。N20程序塊中P,Q,R為v(ζ)的伯恩斯坦系數(shù)。
圖1 實例:恒定材料去除率進給,上圖為刀具運動軌跡,下圖為實際進給速度
從圖1可以看出,實際進給速度隨加工軌跡的曲率的變化而自動改變,凸起的部分進給速度增加,而凹陷的部分進給速度會放慢,以達到恒材料去除率切削的目的。其它進給速度函數(shù)形式,可以通過改變F后面的數(shù)值來實現(xiàn),如:
N05 G05 F1 U24000 V36000
表示進給速度為弧長的線性函數(shù),進給速度由4mm/s線性增加至6mm/s。
4.2 PH曲線凸輪設(shè)計
PH曲線插補在設(shè)計和制造凸輪方面體現(xiàn)了巨大的優(yōu)勢。對于一個“駐留—上升—駐留—返回”形式的平面凸輪,凸輪的分度曲線由兩段指定半徑和跨越角度的圓弧,以及以某種方式連接它們的兩段光滑曲線構(gòu)成;該光滑曲線可采用9次PH曲線實現(xiàn)[11]。
圖2 凸輪分度曲線組成
假設(shè)圖2所示為凸輪分度曲線,它是實際的凸輪形狀偏移一個從動件半徑距離的偏置曲線。這里假設(shè)刀具半徑等于從動件半徑,則這里的分度曲線和希望的刀具路徑重合。工件程序路徑包含兩段9次PH曲線(上升和返回弧)和4段圓弧(考慮到象限的問題,兩駐留弧各分為兩段)。
N05 G03 X2694 Y1116 I0 J3810 F24000
N10 G05 H9 X1796 Y5606 F0 U24000
N15 G05 A68.432 B78.556 C12.213 D36.348 E23.463
N20 G05 P28.345 Q46.970 R81.956 S58.111 T56.645
N25 G03 X0 Y6350 I1796 J1796
N30 G03 X-1796 Y5606 I0 J2540
N35 G05 H9 X-2694 Y1116
N40 G05 A-23.463 B-36.348 C-12.213 D-78.556 E-68.432
N45 G05 P56.645 Q58.111 R81.956 S46.970 T28.345
N50 G03 X0 Y0 I2694 J2694
這里特別需要提出的是:PH曲線凸輪及其分度曲線都是有理的,可以精確表示,從而克服了G代碼中用直線或圓弧近似逼近表示的不足,既減少了編程工作量,又提高了加工精度。
PH曲線由于其特殊的結(jié)構(gòu)形式,具有一系列與數(shù)控加工相關(guān)的優(yōu)點,為開發(fā)具有PH樣條插補功能的數(shù)控系統(tǒng)提供了必要性和可行性。在傳統(tǒng)G代碼編程的基礎(chǔ)上,本文給出了PH樣條插補G代碼編程的方法,從兩個實例可以看出,其具有緊湊靈活,簡潔高效的特點,為開發(fā)PH樣條插補功能的數(shù)控系統(tǒng),提供了一些參考。
[1] 王允森,蓋榮麗,孫一蘭,等.基于牛頓迭代法的NURBS曲線插補算法[J].組合機床與自動化加工技術(shù),2013(4):17.
[2] Rida T Farouki, Jairam Manjunathaiah, Guo-Feng Yuan. International Journal of Machine Tools & Manufacture[J].1999,39: 123-142.
[3] 郭揚清.基于PH曲線的速度規(guī)劃和誤差估算方法的研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[4] 龔志丹.PH曲線運動軌跡規(guī)劃算法的研究與實現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[5] 蔡志娟.基于PH樣條的五軸數(shù)控插補技術(shù)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2010.
[6] 王磊.Pythagorean Hodograph曲線及其插補技術(shù)的研究[D].濟南:山東大學(xué),2009.
[7] Rida T Farouki, Sakkalis T. Pythagorean Hodograph[J].IBM Journal of Research and Development,1990,34(5):736-752.
[8] 王國瑾,汪國昭,鄭建民.計算機輔助幾何設(shè)計[M].北京:高等教育出版社,2001.
[9] 馬元魁. Pythagorean-Hodograph曲線的理論及應(yīng)用研究[D].西安:西北大學(xué),2005.
[10] 趙玉剛,宋現(xiàn)春.數(shù)控技術(shù)[M].北京:機械工業(yè)出版社,2003.
[11] R T Farouki, S Jee, J Manjunathaiah. Design of rational cam profiles with Pythagorean-Hodograph curves[J]. Mechanism and Machine Theory, 1998,33:669-682.
(編輯 李秀敏)
Pythagorean-hodograph Curves Interpolation and Associated G Codes Programming Implementation
XU Bai-wen,TANG Wei
(School of Mechanical Engineering, Shandong University, Jinan 250061, China)
The advantages of the Pythagorean-Hodograph(PH) curve associated with CNC machining is discussed, the construction method of PH curve is given. We analyze the PH curve interpolation technology and the necessity and fesibility of its G code programming. Based on the traditional G code programming, we introduce a method of PH curve interpolation G code programming, then write two PH curve interpolation G code programs for example, It can be seen that the proposed codes are compatible with ‘ordinary’ G codes, and can be regarded as its extension. Compared to the customary approach of using piecewise-linear/circular approximations, The above technologies and methods offer significant improvement in the accuracy, efficiency, data volume, and flexibility of the part programming and machining for free-form shapes, and may provide a reference for the development of the CNC system with the function of PH curve interpolation.
pythagorean-hodograph curves; G codes; CNC interpolators
1001-2265(2017)01-0102-03
10.13462/j.cnki.mmtamt.2017.01.028
2016-03-08
徐佰溫(1983—),男,山東聊城人,山東大學(xué)碩士研究生,研究方向為智能制造系統(tǒng)與數(shù)控技術(shù),(E-mail)sdu200@163.com;通訊 作者:唐偉(1962—),男,濟南人,山東大學(xué)機械工程學(xué)院副教授,研究方向為數(shù)控技術(shù)和逆向工程,(E-mail)tangw@sdu.edu.cn。
TH166;TG659
A