一種空間橢圓弧插補方法
2023-05-06 21:09:51
一種空間橢圓弧插補方法
【專利摘要】一種空間橢圓弧插補方法,它有六大步驟:步驟1,定義空間橢圓弧插補代碼格式;步驟2,解碼獲取空間橢圓弧插補數據信息;步驟3,計算插補圓心角;步驟4,插補參數增量計算;步驟5,插補點計算;步驟6,插補終點判斷。本發明適用於任意起終點、任意空間平面的橢圓弧插補。橢圓弧的空間位置以及插補方向由橢圓弧的長軸方向向量以及短軸方向向量決定,並規定繞兩個方向向量的向量積的逆時針方向插補。本發明無需進行插補象限判斷,方法流程清晰簡單,易於實現。
【專利說明】一種空間橢圓弧插補方法
【技術領域】
[0001]本發明涉及一種空間橢圓弧插補方法,屬於數控加工【技術領域】。
【背景技術】
[0002]在數控加工中,經常涉及空間圓弧或橢圓弧的加工問題。空間圓弧插補是空間自由曲線曲面加工的重要方法,許多學者研究使用連續微小圓弧段形成的圓弧樣條來逼近空間自由曲線曲面,相比於傳統的微小空間直線段逼近,能大大降低代碼的數量,提高逼近精度。圓弧是橢圓弧的特殊情況,相對來說空間圓弧插補更容易實現,但是在許多情況下,採用空間橢圓弧逼近空間自由曲線曲面能得到更好的效果,因此有必要研究一種空間橢圓弧的插補方法。而在已有的公開的文獻中,大多採用坐標變換及三角函數計算來實現空間橢圓弧的插補,這些方法通常計算量大,過程複雜,難以在數控系統中實現。
[0003]為了實現空間橢圓弧插補,首先需要重新定義空間橢圓弧插補代碼格式以形成一種通用統一的標準。然後,需要一種精確的插補點計算方法使生成的插補點都精確的位於被插補橢圓弧上,同時確保相鄰插補點的距離滿足指令插補步長要求。最後,需要一種準確的終點判斷方法以及時結束插補任務,避免欠插補和過插補現象。
【發明內容】
[0004]本發明針對以上問題,提供了一種空間橢圓弧插補方法。該插補方法能根據給定的橢圓弧起點、終點以及橢圓弧長軸與短軸的方向向量完成任意空間平面內的橢圓弧插補。
[0005]本發明通過以下技術方案實現,方法流程如圖1,具體步驟如下:
[0006]步驟1,定義空間橢圓弧插補代碼格式:
[0007]本發明採用的空間橢圓弧插補代碼格式為:
[0008]G03.1 X(U)_Y(V)_Z(W)_I_J_K_AL_BL_AX_AY_AZ_BX_BY_BZ_F_
[0009]X,Y,Z為終點絕對值坐標;
[0010]U,V,W為終點相對坐標(相對於起點);
[0011]I,J,K為中心相對坐標(相對於起點);
[0012]AL, BL為橢圓弧長軸長與短軸長;
[0013]AX,AY,AZ為橢圓長軸方向矢量;
[0014]BX,BY,BZ為橢圓短軸方向矢量;
[0015]F為進給速度;
[0016]規定插補方向為繞橢圓弧所在平面法矢(AX,AY, AZ) X (BX, BY, BZ)逆時針插補。
[0017]步驟2,解碼獲取空間橢圓弧插補數據信息:
[0018]令空間橢圓弧插補的起點為(xs,ys,zs),即前一段代碼插補的終點,為已知;
[0019]若讀取的空間橢圓弧插補代碼為:
[0020]G03.1Xxe Yye Zze Iic Jjc Kkc ALa BLb AXAx AYAy AZAz BXBx BYBy BZBz Ff
[0021]則橢圓弧插補的終點為(xe,ye, Ze);中心為(xc, yc, Zc) = (xs+ic, ys+jc, zs+kc);長軸長為a,短軸長為b ;長軸方向向量為A 二 (Ax, Av, AJ,短軸方向向量為1 B -(Ay, Ay, AJ ;
[0022]最大進給速度為f ;各個數據信息表示如圖2中所示。
[0023]步驟3,計算插補圓心角:
[0024]計算起點向量為Vs = (Xs-Xc, ys-yc, zs-zc),終點向量為 Ve = (xe-xc, ye-yc, ze-zc),橢圓弧所在平面法矢可以計算為M = 計算起點向量、終點向量與法矢的混合積為
((V V V)
(vs, Ve, N) = O,則圓弧插補圓心角 Θ: arccos? 若
KkJ
(/}/ Y ) \
(Vs, Ve, N)彡0,則圓弧插補圓心# = 21-_arccos N-計算符號「(.,.,.)」為三個向
V )
量的混合積計算,計算符號「X」為兩個向量的向量積計算,計算符號「〈.,.>」表示兩個向量的數量積計算。
[0025]步驟4,插補參數增量計算:
[0026]若第i個插補周期的插補點為Xi = (Xi, Yi, Z1),中心為C = (X。,y。,zc),由指令速
?j:
φ% H?^
度、加速度與加加速度決定的指令插補步長為Li,則插補參數增量為:—μ [ I: 6其Φ '.M1=, R2 = I Ix1-Cl I。計算符號「〈.,.>」表示
ΓI H J H Ili J
兩個向量的數量積計算,計算符號「I I.11」表示向量的三維歐幾裡德模長計算。
[0027]步驟5,插補點計算:
[0028]令當前插補點為(Xi, Ji, Z1),下一個插補點為(xi+1, yi+1, zi+1),按如下計算:
[0029]係數Atl?A8計算:
t AxBh2-AxBit1 ,AMh1 -AJiM2
「00301 為; I—I;-.!? -? = 卜II 一I
Pr, HIM- Hl.ΑΛ Ir — A.Jita: A B%h: —.<!.B az A_Bvbz — Α.,Βμ1
[。。31]為=FIPIh、為=.RPh — PIPh
,Αβ 著甚 ΑΒβ1 , Αββ-Λβ/' j AM2-ABm2
_2]為=—=
[0033]係數B。?B8計算:
[0034]H = (A0A4Ag-A0A5A7-A1 A3A8+A1A5A6+A2A3A7-A2A4A6) h3
[0035]+ (A1A3-A0A4-A0A^A2A6-A4AjA5A7) h2+ (A0+A4+A8) h—I
P l為為 + 為為 +《為 + 為}/? ? 1-f /Ii^IhΒ (~^為為 +■為Λ
LUUobj杉q _~, …T19 …Tt
HHH
[0037]
B 為為+ 4 為鋒B _ 為為 + 為為)A2+(4ι + 4).Λ?4 B _ (? 為為+ 4為.)Α2 ? 為A
Gt —.1....................................................................................................9 ?Λ —..............................................................................................................................................? Gx —....................................................................................................JHHH.「00381 B — (~為為十 44,Vt2 -Aft g — |ζ4Λj4A二4* Β — (—44 + 44V1.1+(4+^)*-1
6—H, 7—HH
插補點計算:
[0039]xi+1 = xc+ (X1-Xc) (B0+A0B0h+A3B1h+A6B2h)
[0040]+ (Yj-Yc) (B1+A1B0h+A4B1h+A7B2h)
[0041 ] +(Z1-Zc) (Bg+AgBgh+AgBjh+AgBgh)
[0042]yi+1 = yc+ (X1-Xc) (B3+AQB3h+A3B4h+A6B5h)
[0043]+ (Yj-Yc) (B4+A1B3h+A4B4h+A7B5h)
[0044]+(Z1-Zc) (B5+A2B3h+A5B4h+A8B5h)
[0045]zi+1 = zc+ (X1-Xc) (B6+A0B6h+A3B7h+A6B8h)
[0046]+(Y1-Yc) (B^AiBgh+A^^+A^gh)
[0047]+(Z1-Zc) (B8+A2B6h+A5B7h+A8B8h)
[0048]計算得到的(xi+1,yi+1,zi+1)即為插補點,通過伺服位置控制實現插補,同時也以(xi+1, yi+1, zi+1)按照上述計算方法遞推下一個插補點。
[0049]步驟6,插補終點判斷:
[0050]計算兩個向量:Vi=(Xi u -jc,Z1-zc), Vm ={xm u, —yc、zM-ze、? 則圓
?___、
心角增量為M= arccos?更新剩餘插補圓心角Θ = Θ-Λ Qi,若Θ >0,則返回
UMIIK-1J
步驟4繼續插補;否則,插補結束。
[0051]根據以上步驟,本發明的一種空間橢圓弧插補方法適用於任意起終點、任意空間平面的橢圓弧插補。橢圓弧的空間位置以及插補方向由橢圓弧的長軸方向向量以及短軸方向向量決定,並規定繞兩個方向向量的向量積的逆時針方向插補。本發明具有以下優點:
[0052]1.通用性。由橢圓弧的長軸方向向量以及短軸方向向量決定了橢圓弧的空間位置以及插補方向,可以完成任意空間橢圓弧的插補。
[0053]2.高精度。經過理論驗證,由步驟5計算出的插補點都能保證精確的位於被插補橢圓弧上,因此插補點的徑向誤差為O。且通過步驟4計算的插補參數增量能達到0.1%以下的相對速度誤差,插補精度高。
[0054]3.高效性。本發明在計算插補點時僅存在簡單的四則運算,避免了三角函數的計算,只在參數增量計算時涉及開方計算,因此插補計算效率高,計算速度快。
[0055]4.簡便性。本發明無需進行插補象限判斷,方法流程清晰簡單,易於實現。
【專利附圖】
【附圖說明】
[0056]圖1是本發明方法流程圖;
[0057]圖2是本發明橢圓弧插補代碼定義的數據信息圖。
[0058]圖3是實施示例插補結果圖;
[0059]圖4是實施示例插補過程中的速度誤差曲線。
[0060]符號說明:
[0061]圖2中(xs, ys, zs)為橢圓弧插補起點;
[0062]圖2中(xe,ye, ze)為橢圓弧插補終點;
[0063]圖2中(xc, yc, zc)為橢圓弧插補中心;
[0064]圖2中AL、BL分別為橢圓弧長軸長與短軸長;
[0065]圖2中分別為橢圓弧長軸方向向量與短軸方向向量。
【具體實施方式】
[0066]下面結合附圖對本發明實施示例作詳細說明。以一個整橢圓為插補對象,實施流程圖如圖1所示,有以下具體步驟:
[0067]步驟1,定義空間橢圓弧插補代碼格式:
[0068]以一個長軸長為50,短軸長為30,長軸方向方向量為(3,4,O),短軸方向向量為(-4,3,O),橢圓中心在原點(0,0,0)的橢圓為插補對象。定義橢圓弧插補起點與終點均為(30,40,O),即長軸的一個端點,插補進給速度為100mm/S,G代碼格式為:
[0069]G03.1 X30 Y40 ZO 1-30 J-40 KO AL50 BL30 AX3 AY4 AZO BX-4 BY3 BZO FlOO
[0070]步驟2,解碼獲取空間橢圓弧插補數據信息:
[0071]由G代碼解碼獲得圓弧插補數據信息為:
[0072]橢圓弧終點:(xe,ye, ze) = (30, 40, O)
[0073]橢圓弧中心:(xc,yc, zc) = (O, O, O)
[0074]橢圓弧長軸長:a = 50
[0075]橢圓弧短軸長:b = 30
[0076]橢圓弧長軸方向向量:2 = (3,4,0)
[0077]橢圓弧短軸方向向量:5 = (-4,3,0)
[0078]插補最大進給速度:f = 10mm/s
[0079]各信息代表如圖2所示。
[0080]步驟3,計算插補圓心角:
[0081]計算起點向量為Vs= (30,40,O),終點向量為Ve = (30,40,O),橢圓弧所在平面法矢可以計算為N = A>^B = (0,0,25),計算起點向量、終點向量與法矢的混合積為(Vs, Ve, N)
(
=〈(VsX Ve), N〉= O,則圓弧插補圓心沒=2貧-arccos ■■■■■■工=2π。計算符號「(.,.,.),,
為三個向量的混合積計算,計算符號X為兩個向量的向量積計算,計算符號「〈.,.>」表示兩個向量的數量積計算。
[0082]步驟4,插補參數增量計算:
[0083]若第i個插補周期的插補點為Xi = (Xi, Yi, Zi),中心為C = (X。,y。,z。),令由指令速度、加速度與加加速度決定的指令插補步長為Li = 0.1mm,即以恆速插補,貝U插補參數增 , L (■% — * ft 一.- β
量為: 9/? il 4
,2 (Ix^c iSi ι?/χ, ^αβ))2
[0084]其中:馬^1.+^y、*"^I , R2 = I X1-C I。計算符號
γ I Irl J ( Irll ,
「〈.,.>」表示兩個向量的點積計算,計算符號「 11.11 」表示向量的三維歐幾裡德模長計笪
[0085]步驟5,插補點計算:
[0086]令當前插補點為(Xi, Yi, Z1),下一個插補點為(xi+1, yi+1, zi+1),按如下計算:
[0087]係數Atl?A8計算:
「 ^, — ΛχΒβ^Α_Β^ A BJi ^ A Β>α: — ArBjr
[0088]鳥-ρρμ、為-ρρμ.2一 ριρμ
一 AvBJr — AfBjr — ArBJy — ArBjt1 — Λβτ1χ - ArBji2
[0089]4= ρριμ、為=—.悶,—,4= pip μ.AcBJr-A.Bjr Λ ArBtbl-A:B}M2 A,B,h: - A.Bjr
[0090]4= ριρμ' 、為=—一Pll^—一,4=.ρρμ;
[0091]係數B。?B8計算:
[0092]H = (A0A4Ag-A0A5A7-A1 A3A8+A1A5A6+A2A3A7-A2A4A6) h3
[0093]+ (A1A3-A0A4-A0AdA2A6-A4A^A5A7) h2+ (A。+A4+A8) h—I
「00941 B 二 ++ (為 + 矣)h ~ ? g ξ (一為為+為為β 《一為為+為為 ~為:A
L 」 O JJ-1 TT2 Tjr
M HIi
[0095]
ο — (—4為 + 4為)-為A 0 _ (―44+為4講—+(4、+ 為)義_?β — (―4為 + 4為詩——為A
■O-1 '' $ 1j', iJe'
HH'H
[0096]
ο — (—Α兒十為4,B 一 (—-K + 4為)A~ —為"s ? 4ι4ι + 4為》^ + (4> + 4i )A -1
^H7HiH
插補點計算:
[0097]xi+1 = xc+ (X1-Xc) (Bo+AoBoh+AgB^+AgB^)
[0098]+ (γ±_γε) (B^A^gh+A^^+A^h)
[0099]+(Z1-Zc) (B2+A2B0h+A5B1h+A8B2h)
[0100]yi+1 = yc+(X1-Xc) (B3+A0B3h+A3B4h+A6B5h)
[0101]+(Y1-Yc) (B4+A1B3h+A4B4h+A7B5h)
[0102]+(Z1-Zc) (B5+A2B3h+A5B4h+A8B5h)
[0103]zi+1 = zc+ (X1-Xc) (B6+A0B6h+A3B7h+A6B8h)
[0104]+ (Y1-Yc) (B^A^gh+A^^+A^gh)
[0105]+(Z1-Zc) (B8+A2B6h+A5B7h+A8B8h)
[0106]令i = 0時,插補點為橢圓弧起點(30,40,O),通過步驟4與步驟5計算得到的插補點如下:
[0107]
iXyz
03040O
129.9198335240.05977764 O
229.8393353940.11910959 O
329.7585081240.17799404 O
429.6773542440.23642924 O
529.5958763140.29441345 O
629.5140769240.351945 O
729.4319587~40.40902224 O
829.3495242740.46564358 O
929.2667763140.52180748 O
1029.1837175140.57751241 O
Tl29.1003505840.6327569~O
1229.0166782740.68753955 O
1328.9327033440.74185896 O
1428.8484285740.79571381 O
1528.7638567640.8491028~O
1628.6789907440.90202469 O
1728.5938333540.95447827 O
1828.5083874641.0064624~O
1928.4226559341.05797596 O
【權利要求】
1.一種空間橢圓弧插補方法,其特徵在於:該方法具體步驟如下: 步驟1,定義空間橢圓弧插補代碼格式: 採用的空間橢圓弧插補代碼格式為:
G03.1 X(U)_Y(V)_Z(W)_I_J_K_AL_BL_AX_AY_AZ_BX_BY_BZ_F_ X,Y,Z為終點絕對值坐標; U, V, W為相對於起點的終點相對坐標; I,J,K為相對於起點的中心相對坐標; AL, BL為橢圓弧長軸長與短軸長; AX, AY, AZ為橢圓長軸方向矢量; BX, BY, BZ為橢圓短軸方向矢量; F為進給速度; 規定插補方向為繞橢圓弧所在平面法矢(AX,AY,AZ) X (BX, BY, BZ)逆時針插補; 步驟2,解碼獲取空間橢圓弧插補數據信息: 令空間橢圓弧插補的起點為(xs,ys,zs),即前一段代碼插補的終點,為已知; 若讀取的空間橢圓弧插補代碼為:
G03.1Xxe Yye Zze Iic Jjc Kkc ALa BLb AXAx AYAy AZAz BXBx BYBy BZBz Ff
則橢圓弧插補的終點為(xe, ye, ze);中心為(xc, yc, zc) = (xs+ic, ys+jc, zs+kc);長軸長為a,短軸長為b ;長軸方向向量為』=(Ax,Jr, ),短軸方向向量為5 = (K, ); 最大進給速度為f ; 步驟3,計算插補圓心角:計算起點向量為 Vs = (xs-xc,ys-yc, Zs-Zc),終點向量為 Ve = (xe-xc, ye-yc, ze-zc),橢圓弧所在平面法矢計算為N = AxB ,計算起點向量、終點向量與法矢的混合積為(Vs, Ve, N) =〈 (VsX Ve),N〉,若(Vs, Ve, N) > O,則圓弧插補圓心角 # = arccosj^^Pj ;若
((V ,V(Vs,Ve,N)彡0,則圓弧插補圓心-- = 2ι-arccos丨^計算符號「(.,.,.)」為三個向
、R—)量的混合積計算,計算符號「X」為兩個向量的向量積計算,計算符號「〈.,.>」表示兩個向量的數量積計算; 步驟4,插補參數增量計算: 若第i個插補周期的插補點為Xi = (Xi, Yi, Zi),中心為C = (xc, yc, zc),由指令速度、
I加速度與加加速度決定的指令插補步長為Li,則插補參數增量為:1R ? Isi ,其中:
"I I/,X1 ?C,I "2 ZjT- ?Cjb\IP I u ^ 1j c* ^ 1j p _ IIy c I I '_l λ*α* ?.u ^、」 卞 丁.-π-: Avλ, = J-T ————— I 十丁........................:........................,尺2 — I I 入i一。I I ;? 異付萬.,.少衣不網 I IL r J [ B J向量的數量積計算,計算符號「 11.11 」表示向量的三維歐幾裡德模長計算; 步驟5,插補點計算: 令當前插補點為(Xi, Yi, Zi),下一個插補點為(xi+1, yi+1, zi+1),按如下計算: 係數Aci?A8計算: t AJih1 - AJijr t, ABfi1-AtBrO1
AJiJr.....ArBrU2 Λ,ΒΛ1 ~ Ai Jlu' AJih2....Ax Bjr
IrIIrIr HIHh Inlnr 係數B。?B8計算:
H — (A0A4A8-A0A5A7-A1A3A^A1A5AaA2A3A7-A2A4A6) h
+ (A1A3-A0A4-A0A8+A2A6-A4A8+A5A7) h2+ (A0+A4+A8) h-1
O 一 (—44 土4為妒―+ (4 + 4;)々—裡 O — (-A2A7 + 44)/Γ 一 Β 一 (-A1^ + A:A4)h~ — AJt JJfifJJff?JJH兩.0H1H-H &— ?~~ΛΛ + AiAVr ~A:h p 一 <~~4)4 + 44Vr 十?4! + AV1 —1 & 一 (-A2A3 + AiiA^fr — Aji O-X 一, Oa —, Se 一3H4Il5H B — (―K+ 44),Γ — 4/1- ο — (—44+ 4 為)—為 & !> —(―為為)Zr+(4+」4)々—I #3 -.............................................................................................................................................................................- 4 jO_ee ―?...................................................................................................................................................................................................................................................? #J..............................................................................................................................................................................................................................................?U1U8H 插補點計算:
xi+1 = Xc+ (X1-Xc) (Bo+AoBoh+AgBih+AgB^)
+ (Y1-Yc) (B1+A1B0h+A4B1h+A7B2h)
+ (Z1-Zc) (Bg+AgBgh+AgBjh+AgBgh)
yi+i = Yc+ (X1-Xc) (B3+A0B3h+A3B4h+A6B5h)
+ (Y1-Yc) (B4+A1B3h+A4B4h+A7B5h)
+ (Z1-Zc) (B5+A2B3h+A5B4h+A8B5h)
zi+1 = zc+ (X1-Xc) (B6+A0B6h+A3B7h+A6B8h)
+ (Y1-Yc) (B7+A1B6h+A4B7h+A7B8h)
+ (Z1-Zc) (B8+A2B6h+A5B7h+A8Bgh) 計算得到的(xi+1,yi+1,zi+1)即為插補點,通過伺服位置控制實現插補,同時也以(xi+1, yi+1, zi+1)按照上述計算方法遞推下一個插補點; 步驟6,插補終點判斷:
計算兩個向量:Vi = (X1-Xl^yi U -zjf Vhl = {xhl - λ;., Jiil ->ν?ζ(Ι) —zj,貝丨J圓心角
(ψγ-)增量為Aq=ITCCOS>更新剩餘插補圓心角0 = Θ-Λ Qi,若Θ >0,則返回步驟4繼續插補;否則,插補結束。
【文檔編號】G05B19/41GK104133423SQ201410339105
【公開日】2014年11月5日 申請日期:2014年7月16日 優先權日:2014年7月16日
【發明者】劉強, 劉煥, 周勝凱, 李傳軍 申請人:北京航空航天大學