張 弛, 陳錦昌, 申藝杰
(1.華南理工大學設計學院,廣東 廣州 510006;2.華南理工大學機械與汽車工程學院,廣東 廣州 510640)
在數控加工中,刀具的路徑一般為直線和圓弧,所以大多數數控機床只能實現直線插補和圓弧插補。在加工帶有曲線輪廓的工件時,按照刀具的路徑特點,需要把曲線轉化為由直線或圓弧組成的樣條以方便刀具的加工。進行直線插補時由于刀具在每個插補段都要經歷加速、勻速、減速和停頓,使加工時間延長且產生過多的振動和磨損,而使用圓弧插補能實現勻速加工且加工曲線光滑還能減少加工時間提高效率,因此,使用圓弧逼近來代替曲線更為有利[1-2]。圓弧逼近一般分為單圓弧逼近和雙圓弧逼近。單圓弧逼近具有使用圓弧數少連續性好等優點,但同時穩定性差、缺乏靈活性,不能處理有拐點的情況;雙圓弧逼近則具有較高的靈活性和穩定性,更加適用于曲線輪廓工件的數控加工[3]。
本文主要研究雙圓弧對曲線的逼近及其優化設計,運用VB編程實現了曲線輪廓工件的雙圓弧擬合以及擬合誤差的分析計算,使用隨機數和判斷函數實現了簡單的雙圓弧擬合優化設計,求出可行的擬合參數。對影響誤差的因數進行了討論。并按照所得結論在優化雙圓弧算法[4]基礎上對算法進行了改進。
雙圓弧的擬合方法常用的有3種:第1種是以三角形的內心作為雙圓弧的聯接點,稱為內心法。第2種是將雙圓弧的聯接點選在樣條曲線上,稱為交點法。第3種方法是采用改變雙圓弧聯接點的切線斜率使雙圓弧曲線與樣條曲線之間的法向誤差達到最小,又稱優化雙圓弧擬合。內心法計算簡便,但誤差不易控制在允許范圍內;交點法的誤差較小,但是由于要解四次非線性方程,計算復雜;優化雙圓弧計算簡便,線性,穩定性好,十分適于運用到數控加工。本文以優化雙圓弧作為曲線輪廓工件加工時擬合算法,并通過調節分段數和每段聯接點斜率來減小誤差,達到擬合的優化設計。為了找出較適合的斜率,將使用隨機數生成斜率值并計算相應的誤差,通過誤差與最大允許誤差的比較選出適合的斜率。
設由測量或實驗所得的一組離散有序的點列Pti(xi,yi)(i=1,2,…,n)形成一條樣條曲線,稱目標曲線。設目標曲線相鄰兩個節點為Pti、Pti+1(i=1,2,…,n),現在不妨在曲線上取兩點來做研究。設已知兩節點坐標為P1(x1,y1),P2(x2,y2),經過P1、P2點的曲線切線斜率為T1、T2(圖1),并設T1>T2,兩切線的交點為P3,設ΔP1P3P2三邊長a=,b=、c=,若已經取定一數值TN(T1>TN>T2)作為雙圓弧擬合公切點的切線斜率,則有

圖1 優化雙圓弧擬合基本原理
(1)過1P作斜率為TN的直線交P23P于P4,此時我們可以求出已知量d=、e=;
(2)假設已經找到雙圓弧公切點P5及公切線P6P7,注意P6∈P1P3、P7∈P2P3,則有關系P6P7//P1P4,下面我們確定P6,進而確定P5的位置;
(3)設m=,由關系P6P7//P1P4,由文獻[4]有設n=,易得
當d>e時有m>0,可在P6P7上求得符合條件的公切點P5點,上式成立。當d<e時則有m<0,這時P6在P1P3的延長線上,無法求出公切點P5。此時應該取P2為基點,過P2點作斜率為TN的直線,同理相反方向作圖即可。若T1<TN<T2,出現d<e的情況同理。
(4)設O1、O2分別為兩個圓弧的圓心,r1、r2為兩圓弧的半徑。有O1P1⊥P1P3、O2P2⊥P2P3、O1P5⊥P6P7。且有P1P6=P6P5、P5P7=P7P2,從而可以作出雙圓弧。
按照以上結果,將優化雙圓弧擬合算法作為曲線擬合時求解的數學模型。應用VB編寫雙圓弧擬合計算子函數,函數需要5個已知變量,在代碼中命名如下:兩個節點的坐標值(x1,y1)、(x2,y2)及對應的切矢ks和ke,TN值則由聯接點切線與節點連線的夾角rr=∠P3P1P2來間接表示。函數運行后返回輸出對應兩圓弧的圓心坐標、聯接點坐標和圓弧半徑,在代碼中表示為xo1,yo1,xo2,yo2,xn,yn,r1,r2。另外,函數中定義數組x(i)、y(i)用來存儲曲線上每段圓弧端點的坐標值,用于函數中的計算及雙圓弧曲線的繪制。函數名:Function shuangyuanhu(x1,y1,x2,y2,ks,ke,rr,xo1,yo1,xo2,yo2,xn,yn,r1,r2)。再通過圓弧繪制命令:Call draw_Arc(x(i),y(i),xn,yn,xo1,yo1)Call draw_Arc(xn,yn,x(i+1),y(i+1),xo2,yo2)繪制兩段圓弧即可實現曲線輪廓工件的雙圓弧擬合。
曲線輪廓工件雙圓弧擬合分析誤差時,計算原曲線和雙圓弧擬合曲線之間的法向誤差:
以每相鄰兩型值點為一個單元進行討論,可在型值點間取10個等分點,若等分點在以O1為圓心的圓弧上時,法向誤差為

若等分點在以O2為圓心的圓弧上時

設允許的最大誤差為Δ允,當ΔX<Δ允時,雙圓弧合格,反之則不合格[5]。若雙圓弧不合格要改變TN值重新擬合直到雙圓弧合格為止。
例:用數控車床加工某回轉體工件時,設工件的母曲線方程為二次方程y=0.213157×x-0.50216×10-3×x2其中x∈(0,170)。
這里不妨先按步長為10,各段雙圓弧的TN值為隨機生成的方案進行擬合。運用編寫的程序畫出雙圓弧擬合曲線圖如圖2所示。

圖2 雙圓弧擬合實例
在VB的窗口中繪制法向誤差圖表,以x值為橫坐標,每組雙圓弧對應的最大誤差值為縱坐標,畫出誤差分布如圖3所示,并在圖中標出允許誤差值Δ允,令Δ允=0.007μm。圖3可以直觀地觀察雙圓弧曲線各部分誤差情況。

圖3 誤差分布圖
誤差分布圖顯示出這次的擬合有4段曲線是不合格的,要重新選擇每段的TN值,并重新擬合。設置誤差判斷條件,當誤差不滿足條件時重新生成TN值,如此重復循環,直到法向誤差符合要求為止。擬合優化程序框圖如圖4所示。

圖4 擬合優化程序框圖
進行TN值的重選和雙圓弧曲線再擬合就可以得出基本符合要求的雙圓弧擬合曲線如圖5所示。

圖5 重選TN值后的誤差分布圖
運用重選TN值求解雙圓弧曲線計算量大且常會出現難以收斂導致程序無限循環的問題。因此應該從誤差的規律入手尋求更簡單高效的擬合方案。
上例是以步長為10這一條件為前提進行研究的,所以TN值成為影響曲線擬合精度的唯一變量。但由于雙圓弧擬合曲線的形狀是由各段基點位置及其TN值共同決定的,所以對雙圓弧擬合方案求最優解將是一個多元非線性問題。這里我們將問題簡化,固定其中一部分條件研究其他條件對雙圓弧擬合的影響。
這里先固定各節點位置,以便直觀的研究TN值對擬合誤差的影響。由圖1可見端點及其對應的切矢固定時,取不同TN值將獲得不同的擬合曲線,在ΔP1P3P2包圍的區域內有無數解。
不妨分別按照P1P2斜率和黃金分割率來確定TN值來觀察擬合效果。
(1)平行弦法確定TN值
平行弦法是指取TN值等于P12P斜率,這時點4P與2P重合,直線P6P7平行于直線P12P。圖6(a)為上例曲線采用平行弦法雙圓弧擬合時得出的結果。該曲線使用平行弦法擬合的最大法向誤差為1.96E-6mm,情況比較理想。
(2)黃金分割法確定TN值
在T1,T2間按黃金分割率0.618取值作為TN值,圖6(b)為上例雙圓弧擬合時得出的結果。

圖6 不同TN值對應的誤差分布圖
TN值確定了雙圓弧擬合曲線的形狀,進而決定了誤差的分布。在確定基點的情況下,調節TN值可以減小誤差。
(1)減少分段數,增大步長
將上例中步長10,改為步長19進行雙圓弧擬合,為了減小其他變量的影響,TN按照平行弦法取值,所得結果如圖7(a)與圖6(a)比較可知雙圓弧擬合的誤差增大,超出了允許值。
(2)增加分段數,減小步長
將上例步長改為步長15.4mm進行雙圓弧擬合,TN按照平行弦法取值,所得結果如圖7(b),與圖6(a)比較,誤差減小,擬合精確度提高,法向誤差降低為6.89E-06mm,剛好達到要求。

圖7 改變步長時誤差分布圖
經過多次改變步長獲得多組誤差分布圖后發現步長15.4mm是臨界步長,相應分段數為11段。當所選步長小于15.4mm時雙圓弧曲線都能滿足要求。
比較圖6(a)和圖7(a)時可以發現,盡管所取的分段數不同,其誤差曲線波動趨勢基本相似。這是由于采用平行弦法確定TN值時,雙圓弧擬合曲線將只由兩節點及其切矢決定,也就是說此時擬合誤差將只受節點選取的影響。
改變步長就相當于改變了節點的選取。通過減小步長來減小誤差雖然效果明顯,但是常常會引起大部分曲線段精度過高同時過小的步長會使分段數增多。在具體的曲線擬合中,對于給定的誤差,往往要求用盡量少的圓弧段數[6],因此單純通過減小步長來控制誤差不一定是可取的。
結合平行弦法和改變步長的方法來進行優化,在采用平行弦確定各段TN值的前提下,根據曲線的擬合誤差分布情況來重新規劃各分段所使用的步長,使擬合曲線的最大誤差值低于允差的同時避免出現精度過高的情況并降低分段數。步長規劃算法:
設第i段的兩個基點為Pti、Pti+1(i=1,2,…,n)。兩點間的步長為Li測得滿足擬合條件的臨界步長Lc以及能使大部分曲線段不合格的較大步長Lb,Li的取值范圍為Lc<Li<Lb。則兩基點的坐標為:

擬合曲線時,比較該段雙圓弧曲線擬合的最大法向誤差,當最大法向誤差Δmax>Δ允時,選用更小的Li重新擬合。當最大法向誤差Δmax過小時則增大Li,這樣將使Li自動向理想值逼近,直到雙圓弧曲線符合要求為止并繼續擬合下一段曲線。步長規劃的程序框圖如圖8所示。

圖8 步長規劃程序框圖
該程序運行后將自動生成各分段的步長并繪出相應的雙圓弧曲線。
對于上例中的曲線,按照第三部分的實驗結果,Lc取13mm,Lb取20mm。
運行程序生成各段步長14.11,14.62,15.21…19.39,共生成10段。擬合曲線誤差如圖9所示。

圖9 上例改進的擬合誤差分布圖
與圖7(a)的情況相比,分段數同為10段,采用變化步長的擬合曲線沒有超出允差。最大誤差為:6.77E-06mm。誤差較之前分布更加均勻且沒有出現精度過高問題。
實驗證明規劃步長擬合法可以用較少的分段數擬合出符合允差的雙圓弧擬合曲線,計算量少,更易于實現工件的輪廓曲線的加工。
本文運用VB實現優化雙圓弧算法的計算機模型,對擬合誤差進行了計算和分析。討論了影響擬合誤差的因素,并在此基礎上提出了雙圓弧擬合的改進算法,通過步長規劃方法改進雙圓弧曲線的擬合,保證了較低的計算量、較少的步長以及允許的加工精度,使擬合曲線的獲得更簡化,更有利于計算機的編程和硬件實現。
[1]沈紀桂.數控加工圓弧擬合的優化方法[J].機械工程學報,1997,(6): 64-69.
[2]蘇步青,劉鼎元.計算幾何[M].上海: 上海科學出版社,1981: 195-203.
[3]丁克會,席平原,周紅斌.參數方程曲線的最優逼近算法及實現[J].機械傳動,2008,(6): 57-59.
[4]沈紀桂,方志梅,李凌豐.優化雙圓弧擬合[J].工程圖學學報,1995,(1): 53-56.
[5]郭文蘭,張 彤.曲線方程的雙圓弧擬合算法及實現[J].哈爾濱理工大學學報,2004,9(6): 87-89.
[6]虞銘財,楊勛年,汪國昭.整體最優雙圓弧擬合[J].高校應用數學學報A輯,2004,19(2): 225-232.