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

?

適用于高速高精加工的橢圓弧平滑壓縮插補(bǔ)算法

2018-03-27 03:30:38吳文江陳淥萍韓文業(yè)
關(guān)鍵詞:弧段弧長(zhǎng)橢圓

李 浩,吳文江,陳淥萍,韓文業(yè),郭 安

1(中國(guó)科學(xué)院大學(xué),北京 100049) 2(中國(guó)科學(xué)院沈陽(yáng)計(jì)算技術(shù)研究所 高檔數(shù)控國(guó)家工程研究中心, 沈陽(yáng) 110168) 3(沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司, 沈陽(yáng) 110168) 4(工業(yè)和信息化部計(jì)算機(jī)與微電子發(fā)展研究中心 中國(guó)軟件評(píng)測(cè)中心,北京 100048)

1 引 言

橢圓是圓錐曲線中的一種,其擁有幾何形式,能夠被精確地表示.由于橢圓弧長(zhǎng)的計(jì)算涉及到橢圓積分問(wèn)題,且其原函數(shù)不能用有限形式表示,所以無(wú)法直接對(duì)橢圓進(jìn)行精確插補(bǔ).又因其具有較強(qiáng)的工程實(shí)用性,國(guó)內(nèi)外的學(xué)者對(duì)此進(jìn)行了廣泛的研究.

蘇[1]等提出了映射法,將橢圓映射到某一平面,使其投影為圓,通過(guò)對(duì)圓進(jìn)行插補(bǔ),然后利用坐標(biāo)變換得到橢圓上的插補(bǔ)點(diǎn).胡[2]等推導(dǎo)出,在弧長(zhǎng)增量相對(duì)橢圓周長(zhǎng)非常小的情況下,下一插補(bǔ)點(diǎn)與當(dāng)前插補(bǔ)點(diǎn)和離心角增量的關(guān)系.上述方法雖簡(jiǎn)單可行,但都存在輪廓誤差和速度波動(dòng)無(wú)法控制的問(wèn)題.于[3]等提出了等誤差方法,雖然提高了橢圓的加工精度,但仍無(wú)法有效地控制速度波動(dòng).因此大量學(xué)者對(duì)數(shù)值方法進(jìn)行了研究,通過(guò)較為精確地推導(dǎo)出插補(bǔ)點(diǎn)與弧長(zhǎng)的關(guān)系,來(lái)有效地降低速度波動(dòng),如胡[4]提出的冪級(jí)數(shù)展開法、Toshio[5]提出的半?yún)?shù)和雙參數(shù)轉(zhuǎn)換法、John[6]提出的經(jīng)驗(yàn)參數(shù)迭代法和Toshio[7]提出的逆橢圓積分法,這些方法因涉及到多次迭代與復(fù)雜數(shù)值計(jì)算,實(shí)時(shí)性較差,所以均無(wú)法應(yīng)用于數(shù)控系統(tǒng).

隨著設(shè)計(jì)和制造技術(shù)的發(fā)展,越來(lái)越多的人使用計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)來(lái)進(jìn)行復(fù)雜零部件的設(shè)計(jì),然后利用計(jì)算機(jī)輔助制造(CAM)系統(tǒng)將CAD設(shè)計(jì)的自由曲線或曲面,在設(shè)定的最大輪廓誤差范圍內(nèi),用微小直線段去逼近,從而生成由大量指令點(diǎn)構(gòu)成的數(shù)控加工程序[8].

通過(guò)對(duì)微小直線段進(jìn)行數(shù)控加工[9,10],可以不用考慮復(fù)雜的橢圓弧長(zhǎng)計(jì)算問(wèn)題.但由于加速度和加加速度的頻繁變化,會(huì)引起機(jī)床的震動(dòng),降低加工的效率和質(zhì)量.而現(xiàn)在對(duì)于微小線段高速加工的研究主要分為兩種方法.一種是在相鄰微小線段的拐角處插入過(guò)渡樣條曲線[11].如Zhang等[12]提出通過(guò)在拐角處插入三次參數(shù)樣條曲線的方法,提高拐角處的速度,從而提高加工效率.但由于插補(bǔ)點(diǎn)在直線段和過(guò)渡樣條曲線段上的循環(huán)出現(xiàn),使得插補(bǔ)步長(zhǎng)不一致,從而導(dǎo)致加工速度的波動(dòng),如果指令點(diǎn)越密集,速度的波動(dòng)就會(huì)越頻繁.另一種則是通過(guò)插值或者逼近的方式將離散的指令點(diǎn)擬合成平滑的加工路徑[13].例如Zhang[14]提出利用二次Bézier曲線將連續(xù)微小線段擬合成光滑的樣條曲線,通過(guò)樣條插補(bǔ)來(lái)實(shí)現(xiàn)對(duì)自由曲線的高速高精加工.雖然擬合方式能較好地逼近原設(shè)計(jì)曲線,但由于擬合曲線較復(fù)雜,無(wú)法精確計(jì)算插補(bǔ)步長(zhǎng)對(duì)應(yīng)的插補(bǔ)參數(shù),導(dǎo)致加工速度波動(dòng),降低了加工精度.

橢圓弧是一種不能被直接精確快速插補(bǔ)的圖形.在離散小線段的形式下采用樣條插補(bǔ)方式,可以避免復(fù)雜的橢圓弧長(zhǎng)計(jì)算,但會(huì)存在計(jì)算精度和效率的問(wèn)題.所以,基于以上研究和分析,本文提出了一種適用于高速高精加工的橢圓弧平滑壓縮插補(bǔ)算法.

2 橢圓弧平滑壓縮插補(bǔ)算法

本文算法的基本思想是:從由離散小線段構(gòu)成的加工路徑中識(shí)別出連續(xù)微小線段加工區(qū)域,然后尋找到型值點(diǎn),通過(guò)控制擬合誤差,將指令點(diǎn)指定的折線加工路徑轉(zhuǎn)化為平滑的二次有理Bézier曲線加工路徑.然后,根據(jù)樣條曲線的特征識(shí)別出橢圓弧段,將有理形式轉(zhuǎn)換為幾何形式,同時(shí)合并相鄰的橢圓弧段.最后,通過(guò)在幾何形式的橢圓弧上進(jìn)行插補(bǔ),實(shí)現(xiàn)高速高精加工.

該算法采用預(yù)處理方式,其由7個(gè)部分組成:加工區(qū)域的識(shí)別、型值點(diǎn)的選取、型值點(diǎn)的擬合、橢圓弧的識(shí)別、幾何形式的轉(zhuǎn)換、橢圓弧段的合并和橢圓弧的插補(bǔ),其中加工區(qū)域的識(shí)別主要是從加工路徑中尋找可以擬合的連續(xù)區(qū);型值點(diǎn)的選取則是尋找連續(xù)區(qū)中的曲率極值點(diǎn)和拐點(diǎn);型值點(diǎn)的擬合用于將連續(xù)區(qū)內(nèi)的折線加工路徑轉(zhuǎn)化成光滑的樣條曲線;橢圓弧的識(shí)別用于識(shí)別樣條曲線中的橢圓弧段;幾何形式的轉(zhuǎn)換是將橢圓弧段的有理表示形式轉(zhuǎn)換為幾何表示形式;橢圓弧段的合并用于合并已識(shí)別出的相鄰橢圓弧段;橢圓弧的插補(bǔ)用于對(duì)幾何形式的橢圓弧進(jìn)行插補(bǔ)計(jì)算.

圖1 連續(xù)微小線段驗(yàn)證Fig.1 Continuous micro-line verification

2.1 加工區(qū)域的識(shí)別

平滑壓縮算法并非針對(duì)所有的G01段,只有連續(xù)的微小線段才適合于擬合為Bézier曲線.以雙弓高誤差為判斷依據(jù),從由大量微小線段構(gòu)成的加工路徑中識(shí)別出連續(xù)微小線段加工區(qū)域.如圖1所示Pi-1、Pi和Pi+1為順序的三個(gè)指令點(diǎn)l1、l2,為小線段的段長(zhǎng),θ為小線段間的拐角,雙弓高誤差可由式(1)和(2)得到.

δ1=R(1-cosφ1)

(1)

δ2=R(1-cosφ2)=R(1-cos(π-θ-φ1))

(2)

(3)

(4)

如果δ1或δ2大于設(shè)定的最大弓高誤差值δmax,則Pi為斷點(diǎn);若兩個(gè)相鄰的斷點(diǎn)間存在指令點(diǎn),那么兩個(gè)斷點(diǎn)連同它們之間的指令點(diǎn)就構(gòu)成了一個(gè)連續(xù)微小線段加工區(qū)域.

2.2 型值點(diǎn)的選取

為了減少對(duì)連續(xù)微小線段加工區(qū)域的擬合次數(shù)、增加程序段的壓縮量,通過(guò)如下三個(gè)步驟來(lái)選取型值點(diǎn).

1)將連續(xù)加工區(qū)域的開始點(diǎn)和結(jié)束點(diǎn),即斷點(diǎn),標(biāo)記為型值點(diǎn).

2)將局部曲率最大值點(diǎn)標(biāo)記為型值點(diǎn).

如圖1所示,三個(gè)指令點(diǎn)的坐標(biāo)為Pi-1(xi-1,yi-1)、Pi(xi,yi)和Pi+1(xi+1,yi+1),由式(5)可以計(jì)算出離散指令點(diǎn)Pi的曲率值[15],其中ΔPi-1PiPi+1為帶符號(hào)的三角型面積.

(5)

(6)

假設(shè)kl為Pi左邊的局部曲率最小值,kr為Pi右邊的局部曲率最小值,如果滿足下面兩個(gè)條件,則Pi為局部曲率最大值點(diǎn),如圖2所示.

1)|ki|>|kl|并且|ki|>|kr|

2)|ki|-|kl|≥δf或者|ki|-|kr|≥δf,δf為設(shè)定的最大曲率差值.

圖2 局部曲率最大值Fig.2 Local curvature maximum

3)將加工路徑彎曲方向改變的點(diǎn),即拐點(diǎn),標(biāo)記為型值點(diǎn).

利用第(2)步計(jì)算出的指令點(diǎn)曲率值進(jìn)行判斷,如果ki-1ki>0并且kiki+1<0,則Pi為拐點(diǎn).

2.3 型值點(diǎn)的擬合

假設(shè)連續(xù)微小線段加工區(qū)域中有n個(gè)型值點(diǎn),為了達(dá)到平滑壓縮加工路徑的目的,使用n-1段二次有理Bézier曲線對(duì)其進(jìn)行擬合.

二次有理Bézier曲線的定義為

(7)

其中,Pi=(xi,yi,zi)為控制點(diǎn),wi是標(biāo)量,為權(quán)因子,u為參變量,且u∈[0,1].P0P1P2構(gòu)成了曲線的控制多邊形,如圖3所示.

圖3 二次有理Bézier曲線Fig.3 Quadric rational Bézier curve

本文采用標(biāo)準(zhǔn)型的二次有理Bézier曲線,取w0=w1=1,w1>0,標(biāo)準(zhǔn)型的二次有理Bézier曲線為式(8)所示

(8)

由圖3可知,當(dāng)給定首末端點(diǎn)P0和P2,以及這兩點(diǎn)處的切線方向T0和T2時(shí),可以很容易地通過(guò)直線[P0,T0]和[P2,T2]的交點(diǎn)得到P1,再給定一點(diǎn)P就能唯一確定該曲線,因而確定了w1.

將所求的曲線看成是由點(diǎn)P0,P1和P2確定的拋物線的投影,P1為投影中心.如圖3所示,將直線段[P0,P2]投影到要求的曲線上,則點(diǎn)P和Q為相對(duì)應(yīng)的投影點(diǎn).令w1=0,得到直線段L(u)=[P0,P2],即

(9)

L(u)是點(diǎn)P0和P2的凸組合,因此|P0Q|和|QP2|的比值為u2:(1-u)2,從而推出

(10)

(11)

將u和P帶入式(8),得到w1,從而得到所求曲線.

(12)

假定型值點(diǎn)Qi與Qj之間由指令點(diǎn)Qi+1,Qi+2,…,Qj-2與Qj-1指定的折線加工路徑組成,且型值點(diǎn)切矢已知,則型值點(diǎn)Qi與Qj之間的擬合詳細(xì)步驟如下所述.

1)構(gòu)造以P0=Qi,P1和P2=Qj為控制點(diǎn)的擬合曲線,使其分別插值于Qk(k=i+1,…,j-1).這將產(chǎn)生中間的權(quán)值wk及相應(yīng)的肩點(diǎn)坐標(biāo)sk=wk/(1+wk);

2)通過(guò)對(duì)sk求平均值得到逼近曲線的肩點(diǎn)坐標(biāo),即

(13)

則中間的權(quán)值為w=s/(1-s);

3)根據(jù)P0,P1,P2和w即可確定型值點(diǎn)Qi與Qj之間的擬合曲線.

2.3.1 型值點(diǎn)處切矢的計(jì)算

由于數(shù)控加工程序中并不提供指令點(diǎn)處的切矢量,但可以通過(guò)型值點(diǎn)以及它周圍的四個(gè)指令點(diǎn)來(lái)計(jì)算型值點(diǎn)處的切矢量.如圖4所示,Qi為型值點(diǎn),Qi-2、Qi-1、Qi+1、Qi+2為它周圍的四個(gè)指令點(diǎn),Qi的單位切矢表達(dá)式如下

圖4 型值點(diǎn)處切矢的計(jì)算Fig.4 Tangent vector of reference point

(14)

Vi=(1-αi)qi+αiqi+1

(15)

qi=Qi-Qi-1

(16)

(17)

由于計(jì)算公式中未使用參數(shù)u,所求的單位切矢只能被看作切矢的方向.將下式帶入式(14)~(17),即可得到T0,T1和Tn-1,Tn.

q0=2q1-q2

(18)

q-1=2q0-q1

(19)

qn+2=2qn+1-qn

(20)

qn+1=2qn-qn-1

(21)

2.3.2 加工精度控制

雖然曲線段經(jīng)過(guò)型值點(diǎn)Qi與Qj,但不能保證它到Qi與Qj之間的所有指令點(diǎn)的距離都滿足最大擬合誤差.因此,將Qi與Qj之間的所有指令點(diǎn)投影到擬合的曲線上,檢查它們的偏差是否都在允許的誤差范圍內(nèi),即小于等于系統(tǒng)設(shè)定的最大輪廓誤差δc,如果滿足誤差要求,進(jìn)行下一段的曲線擬合;否則,將偏差最大的指令點(diǎn)設(shè)置為新的型值點(diǎn),用新的型值點(diǎn)重新進(jìn)行曲線擬合,再次檢驗(yàn)擬合精度,重復(fù)這個(gè)過(guò)程,直至滿足誤差要求.

2.4 橢圓弧的識(shí)別

由于標(biāo)準(zhǔn)型的二次有理Bézier曲線只有一個(gè)權(quán)因子,其表達(dá)能力比非有理形式的Bézier曲線強(qiáng),可以表達(dá)多種曲線,如圖5所示,當(dāng)01時(shí),曲線為雙曲線.

圖5 不同w1定義的曲線Fig.5 Curves defined by w1

假設(shè)Ci(u)為加工路徑中某段的標(biāo)準(zhǔn)型二次有理Bézier曲線,如果其權(quán)值,0

2.5 幾何形式的轉(zhuǎn)換

如果Ci(u)為加工路徑中某段的標(biāo)準(zhǔn)型二次有理Bézier曲線,且其對(duì)應(yīng)于一個(gè)橢圓弧段,如圖6所示.

根據(jù)Ci(u)可得到該橢圓弧段的起點(diǎn)坐標(biāo)p_start和終點(diǎn)坐標(biāo)p_end.由Lee[16]的推導(dǎo)可知,該橢圓弧段的中心坐標(biāo)為

圖6 橢圓弧段幾何信息的計(jì)算Fig.6 Calculation of geometric information of elliptical arcs

P1+ε(S+T)

(22)

S=P0-P1

(23)

T=P2-P1

(24)

(25)

(26)

其中,P0、P1和P2為Ci(u)的控制點(diǎn),w1為權(quán)值.

該橢圓弧段的長(zhǎng)、短半徑分別為

(27)

(28)

假設(shè)λ2>λ1>0,且是以下二次方程的根

2δλ2-(kη+4β)λ+2(k-1)=0

(29)

(30)

(31)

β=S·T

(32)

該橢圓弧段長(zhǎng)軸上的兩個(gè)點(diǎn)為

q1=P1+(ε+r1x0)S+(ε+r1y0)T

(33)

q2=P1+(ε-r1x0)S+(ε-r1y0)T

(34)

根據(jù)q1、q2,可以得到長(zhǎng)軸的斜率kl,和長(zhǎng)軸與x軸正半軸的夾角d_kl;以長(zhǎng)軸為x′軸,短軸為y′軸建立局部坐標(biāo)系,利用q1、q2、中心坐標(biāo)、起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),求得相對(duì)于局部坐標(biāo)系x′正半軸的起始角度d_start、終點(diǎn)角度d_end和橢圓弧的方向turn.

當(dāng)連續(xù)微小線段加工區(qū)域完成橢圓弧的識(shí)別和幾何形式轉(zhuǎn)換后,會(huì)得到一個(gè)橢圓弧段數(shù)組Ellipse_Arcs[ ],其中橢圓弧段的數(shù)據(jù)結(jié)構(gòu)如下:

structEllipse_Arc_INF//橢圓弧段幾何信息

{

doublecenter[2]; //中心坐標(biāo)

doubler_l; //長(zhǎng)半徑

doubler_s; //短半徑

doublep_start[2]; //起點(diǎn)坐標(biāo)

doublep_end[2]; //終點(diǎn)坐標(biāo)

doubled_start; //起點(diǎn)角度

doubled_end; //終點(diǎn)角度

doubleturn; //橢圓弧的方向

intkl; //長(zhǎng)軸的斜率

doubled_kl; //長(zhǎng)軸與x正半軸的夾角

};

2.6 橢圓弧的合并

為了提高橢圓弧加工的效率和精度,將連續(xù)微小線段加工區(qū)域內(nèi)的橢圓弧段合并,如果相鄰的橢圓弧段具有相同的中心center、長(zhǎng)半徑r_l、短半徑r_s、方向turn、長(zhǎng)軸與x正半軸的夾角d_kl,并且上一橢圓弧段的終點(diǎn)坐標(biāo)p_endi-1與下一橢圓弧段的起點(diǎn)坐標(biāo)p_starti相等,則它們屬于同一橢圓弧上連續(xù)的橢圓弧段,通過(guò)修改上一橢圓弧段的終點(diǎn)角度d_endi-1和終點(diǎn)坐標(biāo)p_endi-1將它們合并為一個(gè)橢圓弧段.重復(fù)上述步驟,直至橢圓弧段不能再合并.

2.7 橢圓弧的插補(bǔ)

2.7.1 橢圓弧長(zhǎng)計(jì)算

圖7 區(qū)域及變量劃分Fig.7 Region and variable partitions

(35)

根據(jù)高斯勒讓德求積公式[17],可將上式轉(zhuǎn)換為

(36)

(37)

其它象限x或y為變量的情況,其弧長(zhǎng)的推導(dǎo)方法相同.

2.7.2 弧長(zhǎng)與變量的關(guān)系

2)根據(jù)公式(36)計(jì)算y0、y1、y2和y3到橢圓弧的起點(diǎn)y0的弧長(zhǎng),s0、s1、s2、s3.

3)將(s0,y0)、(s1,y1)、(s2,y2)和(s3,y3)代入如下三次多項(xiàng)式中進(jìn)行插值,求得多項(xiàng)式的系數(shù),即得到弧長(zhǎng)與變量的關(guān)系.

y=a0+a1s+a2s2+a3s3,s∈[s0,s3]

(38)

其它象限x或y為變量的情況,其弧長(zhǎng)與變量關(guān)系的推導(dǎo)方法相同.

2.7.3 橢圓弧實(shí)時(shí)插補(bǔ)

為了保證算法的實(shí)時(shí)性,對(duì)上述過(guò)程采用預(yù)處理方式.當(dāng)加工程序讀入數(shù)控系統(tǒng)后,對(duì)整個(gè)G01段進(jìn)行處理,提前將加工路徑中所有橢圓弧段的弧長(zhǎng)與其參數(shù)關(guān)系進(jìn)行計(jì)算并保存下來(lái).在預(yù)處理結(jié)束后,再進(jìn)行加工,直接利用計(jì)算好的弧長(zhǎng)與參數(shù)關(guān)系實(shí)現(xiàn)實(shí)時(shí)插補(bǔ).即在插補(bǔ)過(guò)程中,只需要7次浮點(diǎn)運(yùn)算和5次加法運(yùn)算,就能計(jì)算出第i個(gè)插補(bǔ)周期插補(bǔ)點(diǎn)坐標(biāo)(xi,yi),其具體步驟如下所示.

圖8 橢圓弧平滑壓縮算法流程圖Fig.8 Flow chart of the proposed algorithm

假定插補(bǔ)周期為T,P0(xi-1,yi-1)和si-1分別為第i-1個(gè)插補(bǔ)周期的插補(bǔ)點(diǎn)坐標(biāo)與弧長(zhǎng),第i個(gè)插補(bǔ)周期的進(jìn)給速度為vi-1,則弧長(zhǎng)增量為Δs=vi-1T,第i個(gè)插補(bǔ)周期的弧長(zhǎng)為si=si-1+Δs,將si代入弧長(zhǎng)與變量的關(guān)系中,得到對(duì)應(yīng)變量xi或yi的值,再將其代入橢圓方程中,從而求得第i個(gè)插補(bǔ)周期的插補(bǔ)點(diǎn)坐標(biāo)P(xi,yi).

2.8 算法流程

整個(gè)橢圓弧平滑壓縮插補(bǔ)算法采用預(yù)處理方式,其流程如圖8所示.

首先,讀入一系列指令點(diǎn),通過(guò)連續(xù)微小線段判斷條件,識(shí)別出連續(xù)加工區(qū)域.在連續(xù)區(qū)域內(nèi),根據(jù)指令點(diǎn)的曲率,尋找型值點(diǎn).然后,將相鄰型值點(diǎn)間折線加工路徑擬合為平滑的二次有理Bézier曲線加工路徑,并檢驗(yàn)每個(gè)指令點(diǎn)的擬合誤差,將誤差最大的點(diǎn)添加為新的型值點(diǎn),重新進(jìn)行擬合;如果都滿足誤差要求,從擬合曲線中識(shí)別出橢圓弧,并將其轉(zhuǎn)換為幾何形式;最后,將轉(zhuǎn)換后的橢圓弧段與相鄰的橢圓弧段合并.如果還有未擬合的型值點(diǎn),則選取下一個(gè)型值點(diǎn)繼續(xù)擬合,否則,計(jì)算橢圓弧段的弧長(zhǎng)與變量的關(guān)系,然后判斷是否還有未處理的指令點(diǎn),如果有,重復(fù)上述操作直至最后一個(gè)指令點(diǎn).

3 試驗(yàn)驗(yàn)證

為了驗(yàn)證該橢圓弧平滑壓縮插補(bǔ)算法的正確性和有效性,本文使用了由沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司自主研發(fā)的開放式四軸可控三軸聯(lián)動(dòng)數(shù)控系統(tǒng)GJ301,如圖9所示,該系統(tǒng)采用工業(yè)級(jí)PC硬件平臺(tái),以及RTLinux實(shí)時(shí)操作系統(tǒng).在驗(yàn)證過(guò)程中,為了與本文所提出的算法形成對(duì)比,將通過(guò)在小線段拐角處插入五次樣條曲線的插補(bǔ)方法[11]稱為傳統(tǒng)算法.

圖9 GJ301數(shù)控系統(tǒng)Fig.9 GJ301 NC System

設(shè)定系統(tǒng)的插補(bǔ)周期為2ms,x、y軸的最大加速度為A= 2000mm/s2,進(jìn)給速度為F= 3000mm/min,雙弓高誤差為δmax= 0.01mm,最大曲率差值為δf= 0.0005mm-1,輪廓誤差為δc= 0.01mm,試驗(yàn)中輸入的初始加工路徑如圖10所示,該加工路徑是按照0.001mm的精度將三個(gè)順序相連的橢圓弧離散成211段小線段所生成的.

圖10 加工路徑Fig.10 Machining trajectory

由圖11和圖12的對(duì)比可以看出,傳統(tǒng)算法在小線段的每個(gè)拐角處插入過(guò)渡曲線,平滑加工路徑,提高加工速度,而本文的算法可以識(shí)別出所有的橢圓弧段并以三條曲線表示,加工路徑的壓縮比達(dá)到了70.3:1,同時(shí)具有較好的光滑性.

圖11 傳統(tǒng)算法拐角插入過(guò)渡曲線Fig.11 Inserttransitioncurveatthecorner圖12 本文算法橢圓弧識(shí)別Fig.12 Recognizeellipsearc

加工過(guò)程中的速度曲線如圖13、圖14所示,傳統(tǒng)算法和本文算法的速度曲線形狀相同,但傳統(tǒng)算法存在拐角,且加工時(shí)間分別為3.6s和3.464s.將勻速段放大后發(fā)現(xiàn),傳統(tǒng)算法存在頻繁的波動(dòng),而本文算法的波動(dòng)不明顯.

圖13 傳統(tǒng)算法加工的速度曲線Fig.13 Speed curve of traditional algorithm

圖14 本文算法加工的速度曲線Fig.14 Speed curve of proposed algorithm

計(jì)算輪廓誤差,即由相鄰插補(bǔ)點(diǎn)構(gòu)成的小線段到原始(CAD)橢圓弧的最遠(yuǎn)距離,如圖15和圖16所示,傳統(tǒng)算法和本文算法的輪廓誤差均小于系統(tǒng)設(shè)置的最大值,但采用傳統(tǒng)算法加工時(shí),插補(bǔ)點(diǎn)位于小線段或過(guò)渡曲線上,產(chǎn)生的最大誤差值個(gè)數(shù)較多,且平均誤差值為0.0041mm,而本文算法生成的擬合曲線能夠精確地表示橢圓弧,并且與原始(CAD)橢圓弧重合,使得插補(bǔ)點(diǎn)位于原始(CAD)橢圓弧上,其平均誤差僅為5.6773x10-5mm,精度更高.對(duì)于系統(tǒng)中設(shè)置的雙弓高誤差δmax= 0.01mm和輪廓誤差δc= 0.01mm,僅用于連續(xù)微小線段加工區(qū)域的識(shí)別與曲線擬合,雖然CAM編程相對(duì)于原始(CAD)橢圓弧存在0.001mm的誤差,且擬合橢圓弧相對(duì)于CAM編程存在0.01mm的擬合誤差,但這些誤差主要是折線到曲線的最大距離,又因?yàn)閿M合橢圓弧與原始(CAD)橢圓弧重合,且插補(bǔ)點(diǎn)位于擬合橢圓弧,而不是折線,所以本文算法能夠在進(jìn)給速度為3000mm/min的條件下,達(dá)到E-5mm量級(jí)的加工精度.

圖15 傳統(tǒng)算法加工的輪廓誤差Fig.15 Contour error of traditional algorithm

圖16 本文算法加工的輪廓誤差Fig.16 Contour error of proposed algorithm

4 結(jié) 語(yǔ)

1)本文提出的橢圓弧平滑壓縮插補(bǔ)算法采用預(yù)處理方式,不僅能夠識(shí)別出數(shù)控加工程序中的橢圓弧,而且還能以橢圓弧的幾何表示形式進(jìn)行插補(bǔ).

2)與傳統(tǒng)的樣條插補(bǔ)方法相比,提出的橢圓弧平滑壓縮插補(bǔ)算法能夠精確地識(shí)別并表示加工軌跡中的橢圓弧,提高了加工路徑的壓縮量和橢圓弧的加工質(zhì)量,又因?yàn)楸疚挠脦缀涡问降臋E圓弧進(jìn)行插補(bǔ),能夠精確地計(jì)算出弧長(zhǎng)對(duì)應(yīng)的插補(bǔ)參數(shù),降低了計(jì)算的復(fù)雜度和加工中速度的頻繁波動(dòng),提高了加工效率.

3)本文提出的橢圓弧平滑壓縮插補(bǔ)算法主要適用于在離散小線段形式下,橢圓弧部分的高速高精加工.

[1] Su Ai-lin,Zhang Chun-lei,Zhao Xue-feng,et al.A new method of ellipse interpolation-mapping method [J].Journal of Sichuan Union University,1999,3(1):110-113.

[2] Hu Chi-bing,Cao Liang-wei,Yan Lin.An improved algorithm of elliptic interpolation [J].Journal of Lanzhou University of Technology,2007,33(6):33-35.

[3] Yu Guang-wei,Zhao Yu-gang,Zhang Jian.Study of algorithm and path simulation by equal-error method to approach elliptical arc with beeline [J].Journal of Shandong University of Technology,2010,24(1):90-92.

[4] Hou Zhi-qun.Setting-up and practice of equal segmental arc of ellipse curve points [J].Surveying and Mapping of Geology and Mineral Resources,2001,1(4):14-16.

[5] Fukushima T.Precise and fast computation of a general incomplete elliptic integral of second kind by half and double argument transformations [J].Journal of Computational and Applied Mathematics,2011,235(14):4140-4148.

[6] Boyd J P.Numerical,perturbative and chebyshev inversion of the incomplete elliptic integral of the second kind [J].Applied Mathematics and Computation,2012,218(13):7005-7013.

[7] Fukushima T.Numerical inversion of a geVneral incomplete elliptic integral [J].Journal of Computational and Applied Mathematics,2013,237(1):43-61.

[8] Gai Rong-li,Wang Yun-sen,Sun Yi-lan,et al.Survey on spline curve interpolation methods [J].Journal of Chinese Computer System,2012,33(12):2744-2749.

[9] Tian Jun-feng,Lin Hu,Yao Zhuang,et al.Study on S-shape curve acceleration and deceleration control fast planning on CNC system [J].Journal of Chinese Computer System,2013,34(1):168-172.

[10] Sun Shu-jie,Lin Hu,Zheng Liao-mo,et al.Algorithm of adaptive NURBS interpolation points calculation [J].Journal of Chinese Computer System,2014,35(4):895-899.

[11] Zhang Xiao-hui,Yu Dong,Yang Dong-sheng,et al.Corner curve transition interpolation algorithm for high speed machining of micro-line segment [J].Journal of Mechanical Engineering,2010,46(19):183-191.

[12] Zhang L B,You Y P,He J,et al.The transition algorithm based on parametric spline curve for high-speed machining of continuous short line segments [J].International Journal of Advanced Manufacturing Technology,2011,52(1):245-254.

[13] Zhang Xiao-hui,Yu Dong,Hong Hai-tao,et al.Research on smooth compression interpolation algorithm in CNC machining [J].Journal of Mechanical Engineering,2011,47(5):156-169.

[14] Zhang M,Yan W,Yuan C M,et al.Curve fitting and optimal interpolation on CNC machines based on quadratic B-splines [J].Science China Information Sciences,2011,54(7):1407-1418.

[15] Yang Z Y,Shen L Y,Yuan C M,et al.Curve fitting and optimal interpolation for CNC machining under confined error using quadratic B-splines [J].Computer-Aided Design,2015,66 (7):62-72.

[16] Farin G E.Geometric modeling:algorithms and new trends [M].Society for Industrial and Applied Mathematics(SIAM),1987.

[17] Yin Chen-chen,Wu Wen-jiang.A new ellipse interpolation method based on arc length [J].Modular Machine Tool & Automatic Manufacturing Technique,2012,4(1):1-4.

附中文參考文獻(xiàn):

[1] 蘇愛林,張春雷,趙雪峰,等.橢圓插補(bǔ)的新方法-映射法[J].四川聯(lián)合大學(xué)學(xué)報(bào),1999,3(1):110-113.

[2] 胡赤兵,操良偉,閆 琳.一種橢圓插補(bǔ)的改進(jìn)算法[J].蘭州理工大學(xué)學(xué)報(bào),2007,33(6):33-35.

[3] 于光偉,趙玉剛,張 鍵.橢圓弧等誤差直線擬合的算法研究與軌跡仿真[J].山東理工大學(xué)學(xué)報(bào),2010,24(1):90-92.

[4] 侯至群.等弧長(zhǎng)橢圓曲線點(diǎn)的放樣與實(shí)踐[J].地礦測(cè)繪,2001,1(4):14-16.

[8] 蓋榮麗,王允森,孫一蘭,等.樣條曲線插補(bǔ)方法綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(12):2744-2749.

[9] 田軍鋒,林 滸,姚 壯,等.數(shù)控系統(tǒng)S型曲線加減速快速規(guī)劃研究[J].小型微型計(jì)算機(jī)系統(tǒng),2013,34(1):168-172.

[10] 孫樹杰,林 滸,鄭飂默,等.計(jì)算復(fù)雜度自適應(yīng)的NURBS曲線插補(bǔ)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(4):895-899.

[11] 張曉輝,于 東,楊東升,等.面向微線段高速加工的拐角曲線過(guò)渡插補(bǔ)算法[J].機(jī)械工程學(xué)報(bào),2010,46(19):183-191.

[13] 張曉輝,于 東,洪海濤,等.數(shù)控加工中的平滑壓縮插補(bǔ)算法研究[J].機(jī)械工程學(xué)報(bào),2011,47(5):156-169.

[17] 殷晨晨,吳文江.基于弧長(zhǎng)的橢圓插補(bǔ)新算法[J].組合機(jī)床與自動(dòng)化加工技術(shù),2012,4(1):1-4.

猜你喜歡
弧段弧長(zhǎng)橢圓
一種航天測(cè)控冗余跟蹤弧段處理方法
上海航天(2024年1期)2024-03-08 02:52:28
求弧長(zhǎng)和扇形面積的方法
基于改進(jìn)弧段切點(diǎn)弦的多橢圓檢測(cè)
Heisenberg群上由加權(quán)次橢圓p-Laplace不等方程導(dǎo)出的Hardy型不等式及應(yīng)用
三角函數(shù)的有關(guān)概念(弧長(zhǎng)、面積)
面向工業(yè)復(fù)雜場(chǎng)景的合作靶標(biāo)橢圓特征快速魯棒檢測(cè)
例談橢圓的定義及其應(yīng)用
三角函數(shù)的有關(guān)概念(弧長(zhǎng)、面積)
一道橢圓試題的別樣求法
橢圓的三類切點(diǎn)弦的包絡(luò)
井冈山市| 宣化县| 常山县| 湖南省| 河源市| 常宁市| 陵川县| 定结县| 荥阳市| 周至县| 三江| 新河县| 呼玛县| 宜阳县| 苗栗县| 农安县| 石阡县| 会东县| 大理市| 新丰县| 潜山县| 股票| 日土县| 平武县| 深水埗区| 阿图什市| 芦山县| 蕉岭县| 榆社县| 武汉市| 陇川县| 康保县| 洪雅县| 辽宁省| 儋州市| 卓资县| 清远市| 湘西| 木里| 商洛市| 紫金县|