蘇 軍,林偉生
(廣州數(shù)控設備有限公司,廣東 廣州 510000)
數(shù)控系統(tǒng)的加減速控制一般分為前加減速控制和后加減速控制,兩者各有優(yōu)缺點,都被廣泛的采用。前加減速控制是在插補前進行加減速計算,能較好的保證加工精度,但為避免段尾出現(xiàn)速度階躍,一般是在段末速度減到零,由此影響了加工效率[1];而通常解決這一矛盾的方法是以連續(xù)多段為研究對象,根據(jù)線段長度、段間角度等幾何關(guān)系;根據(jù)指令速度約束、加速度約束等運動學關(guān)系,來進行速度規(guī)劃[2],從而在保證沒有精度損失的前提下提高加工效率,即通常所說的前瞻控制技術(shù)(look-ahead)[3]。但look-ahead計算復雜,運算量較大,對數(shù)控系統(tǒng)的硬件平臺和軟件架構(gòu)提出了比較嚴苛的要求,對經(jīng)濟型數(shù)控系統(tǒng)而言,其開發(fā)和應用成本較大,并不適用[4]。因此,筆者提出一種經(jīng)濟型數(shù)控系統(tǒng)應用前加減速控制時,以較小的加工精度損失來換取段與段之間不減速到零,以盡量高的速度平滑過渡的算法。
筆者提出的算法原理是先根據(jù)當前段及其后續(xù)移動段的幾何關(guān)系和運動學限制等條件,計算出當前段段末允許通過的最大速度,然后對當前段以線性前加減速的方式進行速度規(guī)劃,以不到位的方式犧牲部分插補精度獲取段與段之間的平滑過渡。
圖1 段間速度矢量
因此約束條件如下:
(1) 段間速度矢量只是方向變化,速度值不變,即:
(2) 所有的速度不能超過指令速度Fcmd,即:
(3) 段間合成速度變化量小于合成最大加速度:
|Vst(i)-Ved(i-1)|≤Amax
(4) 段間各軸速度變化量小于各軸加速度限制:
(5) 當前段的段末速度作為下一段起始速度加減速至下一段段末速度所需要的長度值不能大于下一段的線段長度值,即:
本文采用指定加速度值的線性加減速方法來規(guī)劃當前段的速度,下面以圖1中的第i段為研究對象來進行分析說明。
2.2.1線性加減速速度模型
給定起點速度Vst,設置速度Vset,終點速度Ved,加速度a,線段長度L, 計算出速度曲線在升速,勻速,減速各區(qū)間的時間T1、T2、T3,如圖2所示。式(1)給出速度模型的計算關(guān)系[5]:
(1)
圖2 線性前加減速度模型
2.2.2插補不到位修正算法
由圖2可知,整個加減速的總時間為T=T1+T2+T3。由于采用線性前加減速速度規(guī)劃有起點速度Vst和終點速度Ved,因此T值基本不可能是插補周期的整數(shù)倍,對T值進行圓整,有上取整Ta=[T]上取整和下取整Tb=[T]下取整,由此會造成段間過渡時出現(xiàn)過切和欠切兩種不到位的情況。將不到位引起的誤差控制在允許的范圍內(nèi),使段間平滑過渡。
線性不到位插補算法,在計算段間總插補時間時不對其進行整數(shù)化處理,可以使插補速度不會產(chǎn)生突變,在段間過渡時將插補時間余量舍棄或補足為一個周期時間,因此造成在段間會有欠切或過切的情況,可以通過計算得出因此而產(chǎn)生的精度誤差。誤差分析示意圖如圖3所示。
圖3 過切和欠切誤差分析示意圖
由圖3可以看出,過切時插補誤差為:
(2)
欠切時插補誤差為:
(3)
err=abs(L-spl)×sin (π-θ);
令Δd=abs(L-spl),則有插補誤差為:
err=Δd×sin (π-θ)
(4)
由式(4)可知,對于給定的兩段線段,sin (π-θ)為一定值,即誤差正比于Δd。根據(jù)加減速算法,分別計算欠切與過切產(chǎn)生的精度誤差來確定采用哪一種方式進行不到位插補。
本文提出的算法已應用在自主研發(fā)的CNC數(shù)控系統(tǒng)上,使用LabVIEW記錄CNC的插補輸出數(shù)據(jù),對比分析使用不到位插補算法前后的輪廓軌跡誤差變化以及速度和加速度特性。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是目前國際上應用最廣的虛擬儀器開發(fā)環(huán)境之一,主要應用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)顯示等領(lǐng)域,具有強大的數(shù)據(jù)可視化分析和儀器控制能力。在數(shù)控系統(tǒng)產(chǎn)品開發(fā)中已有多年的應用經(jīng)驗,因此數(shù)據(jù)的采集和分析是可靠,可信的。
O0072號測試程序如下:
O0072(測試程序)
N0000 G01 X26.0847 Z50.1191 F3000
N0001 G01 X20 Z55
N0002 G01 X20 Z90
N0003 G01 X20.3806 Z91.9134
N0004 G01 X21.4645 Z93.5355
N0005 G01 X23.0866 Z94.6194
N0006 G01 X25 Z95
N0007 G01 X41.4236 Z95
N0008 G01 X42.9234 Z99.3929
N0009 G01 X44.4705 Z107.128
N0010 G01 X45.0108 Z115.329
N0011 G01 X45.0365 Z115.603
N0012 G01 X45.6176 Z120.389
N0013 G01 X45.9061 Z121.559
N0014 G01 X47.6158 Z126.067
N0015 G01 X48.176 Z127.135
N0016 G01 X50.9149 Z131.103
N0017 G01 X51.7142 Z132.005
N0018 G01 X55.3231 Z135.202
N0019 G01 X56.3151 Z135.887
N0020 G01 X60.5843 Z138.128
N0021 G01 X61.7113 Z138.555
N0022 G01 X66.3927 Z139.709
N0023 G01 X67.5893 Z139.854
N0024 G01 X72.4107 Z139.854
N0025 G01 X73.6073 Z139.709
N0026 G01 X78.2887 Z138.555
N0027 G01 X79.4157 Z138.128
N0028 G01 X83.6849 Z135.887
N0029 G01 X84.6769 Z135.202
N0030 G01 X88.2858 Z132.005
N0031 G01 X89.0851 Z131.103
N0032 G01 X91.824 Z127.135
N0033 G01 X92.3842 Z126.067
N0034 G01 X94.0939 Z121.559
N0035 G01 X94.3824 Z120.389
N0036 G01 X94.9635 Z115.603
N0037 G01 X94.9892 Z115.329
N0038 G01 X95.5295 Z107.128
N0039 G01 X97.0766 Z99.3929
N0040 G01 X98.5764 Z95
N0041 G01 X115 Z95
N0042 G01 X116.913 Z94.6194
N0043 G01 X118.536 Z93.5355
N0044 G01 X119.619 Z91.9134
N0045 G01 X120 Z90
N0046 G01 X120 Z55
N0047 G01 X119.683 Z53.2485
N0048 G01 X118.773 Z51.7189
N0049 G01 X117.384 Z50.6052
N0050 G01 X115.694 Z50.0484
N0051 G01 X113.915 Z50.1191
N0052 G01 X70 Z59.878
N0053 G01 X26.0847 Z50.1191
N0054 M30
圖4為LabVIEW采集數(shù)控系統(tǒng)執(zhí)行O0072號G代碼程序插補輸出數(shù)據(jù)繪制的軌跡圖,白色細實線為理論軌跡,白色粗實線為到位插補軌跡,白色虛線為不到位插補軌跡。其中標注位置是上表CNC程序N0011段,該程序段線段長度比較短,能比較好的反映出到位插補和不到位插補的優(yōu)劣。
圖4 O0072G代碼程序軌跡圖
4.2.1輪廓誤差分析
對圖4進行對比,可看出到位插補軌跡(實線)和不到位插補軌 跡(虛線)基本和理論軌跡吻合,體現(xiàn)了前加減速控制的精度高,輪廓誤差小的特點,但對圖4進行放大分析后,可看出在線段較短的地方有差異。如在程序的N0011段,不到位插補是有輪廓誤差的,圖5是N0011段的局部放大圖。
在G代碼程序N0011段,即由點(45.0108,115.329)到點(45.0365,115.603),到位插補軌跡(實線)與理論軌跡基本重合,而由于線段很短,不到位插補軌跡(虛線)在點(45.0365,115.603)產(chǎn)生了輪廓誤差,合成方向LabVIEW測量誤差值err約為0.98 μm。
圖5 N0011段輪廓誤差放大圖
4.2.2運動特性分析
由以上分析,不到位插補時在G代碼程序的N0011段產(chǎn)生了輪廓誤差,按本文設計原理,犧牲一定輪廓誤差換取加工的效率。如圖6速度分析圖,圖7加速度分析圖所示,不到位插補的速度和加速度特性要優(yōu)于到位插補。
圖6 速度分析圖
圖6為運行O0072號程序速度分析圖的一部分。通過N0011段時的速度曲線表明,不到位插補的速度(實線)高于到位插補的速度(虛線)。不到位插補的運行效率更高。
圖7為運行O0072號程序加速度分析圖的一部分。通過N0011段時的加速度曲線表明,不到位插補的加速度(實線)低于到位插補的加速度(虛線)。不到位插補的加速度更小,機床沖擊更小。
綜上所述,測試表明基于前加減速的不到位插補算法相對于傳統(tǒng)的到位插補算,通過犧牲一定輪廓精度誤差,換取較高的加工速度并降低機床的振動,從而獲得更優(yōu)的加工運動特性。
圖7 加速度分析圖
主要介紹了一種基于前加減速控制的線性插補算法,該算法以不到位的插補方式,犧牲一定的插補精度而獲取段間平滑的過渡,在精度可控的前提下提高了運行速度,進而提高了加工效率;同時由于有效的減少了計算復雜度和計算量,從而降低了應用該算法對數(shù)控系統(tǒng)硬件平臺和軟件架構(gòu)的要求,使其可移植性和適用性范圍大大增強。試驗測試表明該算法有效、可靠與設計初衷相符。
參考文獻:
[1] 李 斌,李 曦.數(shù)控技術(shù)[M].武漢:華中科技大學出版社,2010.
[2] 彭芳瑜,李 黎.連續(xù)小支線段高速高精插補中的動力學約束條件[J].計算機輔助設計與圖形學學報,2006,18(12):1812-1816.
[3] Kim Dong-Il, Song Jin-Il, Kim Sungkwun. Dependence of Machining Accuracy on Acceleration/Deceleration and Interpolation Methods in CNC Machine Tools[J]. Industry Applications Society Annual Meeting, 1994(3):1898-1905.
[4] 葉佩青,趙慎良.微小直線段的連續(xù)插補控制算法研究[J].中國機械工程,2004,15(15):1354-1356.
[5] 付 科.速度控制的前加減速控制算法研究[J].航空計算技術(shù),2008(5):29-32.
[6] 李因鵬,王孫安.指數(shù)加減速的改進算法[J].機床與液壓,2006,40(1):39-40.
[7] 湯智斌,唐小琦.數(shù)控高速高精運動控制方法的研究[J].制造技術(shù)與機床,2003(3):30-36.
[8] 張得禮,周來水.數(shù)控加工運動的平滑處理[J].航空學報,2006(1):125-130.