蘇 軍,林偉生
(廣州數(shù)控設(shè)備有限公司,廣東 廣州 510000)
數(shù)控系統(tǒng)的加減速控制一般分為前加減速控制和后加減速控制,兩者各有優(yōu)缺點(diǎn),都被廣泛的采用。前加減速控制是在插補(bǔ)前進(jìn)行加減速計(jì)算,能較好的保證加工精度,但為避免段尾出現(xiàn)速度階躍,一般是在段末速度減到零,由此影響了加工效率[1];而通常解決這一矛盾的方法是以連續(xù)多段為研究對(duì)象,根據(jù)線段長(zhǎng)度、段間角度等幾何關(guān)系;根據(jù)指令速度約束、加速度約束等運(yùn)動(dòng)學(xué)關(guān)系,來(lái)進(jìn)行速度規(guī)劃[2],從而在保證沒(méi)有精度損失的前提下提高加工效率,即通常所說(shuō)的前瞻控制技術(shù)(look-ahead)[3]。但look-ahead計(jì)算復(fù)雜,運(yùn)算量較大,對(duì)數(shù)控系統(tǒng)的硬件平臺(tái)和軟件架構(gòu)提出了比較嚴(yán)苛的要求,對(duì)經(jīng)濟(jì)型數(shù)控系統(tǒng)而言,其開發(fā)和應(yīng)用成本較大,并不適用[4]。因此,筆者提出一種經(jīng)濟(jì)型數(shù)控系統(tǒng)應(yīng)用前加減速控制時(shí),以較小的加工精度損失來(lái)?yè)Q取段與段之間不減速到零,以盡量高的速度平滑過(guò)渡的算法。
筆者提出的算法原理是先根據(jù)當(dāng)前段及其后續(xù)移動(dòng)段的幾何關(guān)系和運(yùn)動(dòng)學(xué)限制等條件,計(jì)算出當(dāng)前段段末允許通過(guò)的最大速度,然后對(duì)當(dāng)前段以線性前加減速的方式進(jìn)行速度規(guī)劃,以不到位的方式犧牲部分插補(bǔ)精度獲取段與段之間的平滑過(guò)渡。
圖1 段間速度矢量
因此約束條件如下:
(1) 段間速度矢量只是方向變化,速度值不變,即:
(2) 所有的速度不能超過(guò)指令速度Fcmd,即:
(3) 段間合成速度變化量小于合成最大加速度:
|Vst(i)-Ved(i-1)|≤Amax
(4) 段間各軸速度變化量小于各軸加速度限制:
(5) 當(dāng)前段的段末速度作為下一段起始速度加減速至下一段段末速度所需要的長(zhǎng)度值不能大于下一段的線段長(zhǎng)度值,即:
本文采用指定加速度值的線性加減速方法來(lái)規(guī)劃當(dāng)前段的速度,下面以圖1中的第i段為研究對(duì)象來(lái)進(jìn)行分析說(shuō)明。
2.2.1線性加減速速度模型
給定起點(diǎn)速度Vst,設(shè)置速度Vset,終點(diǎn)速度Ved,加速度a,線段長(zhǎng)度L, 計(jì)算出速度曲線在升速,勻速,減速各區(qū)間的時(shí)間T1、T2、T3,如圖2所示。式(1)給出速度模型的計(jì)算關(guān)系[5]:
(1)
圖2 線性前加減速度模型
2.2.2插補(bǔ)不到位修正算法
由圖2可知,整個(gè)加減速的總時(shí)間為T=T1+T2+T3。由于采用線性前加減速速度規(guī)劃有起點(diǎn)速度Vst和終點(diǎn)速度Ved,因此T值基本不可能是插補(bǔ)周期的整數(shù)倍,對(duì)T值進(jìn)行圓整,有上取整Ta=[T]上取整和下取整Tb=[T]下取整,由此會(huì)造成段間過(guò)渡時(shí)出現(xiàn)過(guò)切和欠切兩種不到位的情況。將不到位引起的誤差控制在允許的范圍內(nèi),使段間平滑過(guò)渡。
線性不到位插補(bǔ)算法,在計(jì)算段間總插補(bǔ)時(shí)間時(shí)不對(duì)其進(jìn)行整數(shù)化處理,可以使插補(bǔ)速度不會(huì)產(chǎn)生突變,在段間過(guò)渡時(shí)將插補(bǔ)時(shí)間余量舍棄或補(bǔ)足為一個(gè)周期時(shí)間,因此造成在段間會(huì)有欠切或過(guò)切的情況,可以通過(guò)計(jì)算得出因此而產(chǎn)生的精度誤差。誤差分析示意圖如圖3所示。
圖3 過(guò)切和欠切誤差分析示意圖
由圖3可以看出,過(guò)切時(shí)插補(bǔ)誤差為:
(2)
欠切時(shí)插補(bǔ)誤差為:
(3)
err=abs(L-spl)×sin (π-θ);
令Δd=abs(L-spl),則有插補(bǔ)誤差為:
err=Δd×sin (π-θ)
(4)
由式(4)可知,對(duì)于給定的兩段線段,sin (π-θ)為一定值,即誤差正比于Δd。根據(jù)加減速算法,分別計(jì)算欠切與過(guò)切產(chǎn)生的精度誤差來(lái)確定采用哪一種方式進(jìn)行不到位插補(bǔ)。
本文提出的算法已應(yīng)用在自主研發(fā)的CNC數(shù)控系統(tǒng)上,使用LabVIEW記錄CNC的插補(bǔ)輸出數(shù)據(jù),對(duì)比分析使用不到位插補(bǔ)算法前后的輪廓軌跡誤差變化以及速度和加速度特性。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是目前國(guó)際上應(yīng)用最廣的虛擬儀器開發(fā)環(huán)境之一,主要應(yīng)用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)顯示等領(lǐng)域,具有強(qiáng)大的數(shù)據(jù)可視化分析和儀器控制能力。在數(shù)控系統(tǒng)產(chǎn)品開發(fā)中已有多年的應(yīng)用經(jīng)驗(yàn),因此數(shù)據(jù)的采集和分析是可靠,可信的。
O0072號(hào)測(cè)試程序如下:
O0072(測(cè)試程序)
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為L(zhǎng)abVIEW采集數(shù)控系統(tǒng)執(zhí)行O0072號(hào)G代碼程序插補(bǔ)輸出數(shù)據(jù)繪制的軌跡圖,白色細(xì)實(shí)線為理論軌跡,白色粗實(shí)線為到位插補(bǔ)軌跡,白色虛線為不到位插補(bǔ)軌跡。其中標(biāo)注位置是上表CNC程序N0011段,該程序段線段長(zhǎng)度比較短,能比較好的反映出到位插補(bǔ)和不到位插補(bǔ)的優(yōu)劣。
圖4 O0072G代碼程序軌跡圖
4.2.1輪廓誤差分析
對(duì)圖4進(jìn)行對(duì)比,可看出到位插補(bǔ)軌跡(實(shí)線)和不到位插補(bǔ)軌 跡(虛線)基本和理論軌跡吻合,體現(xiàn)了前加減速控制的精度高,輪廓誤差小的特點(diǎn),但對(duì)圖4進(jìn)行放大分析后,可看出在線段較短的地方有差異。如在程序的N0011段,不到位插補(bǔ)是有輪廓誤差的,圖5是N0011段的局部放大圖。
在G代碼程序N0011段,即由點(diǎn)(45.0108,115.329)到點(diǎn)(45.0365,115.603),到位插補(bǔ)軌跡(實(shí)線)與理論軌跡基本重合,而由于線段很短,不到位插補(bǔ)軌跡(虛線)在點(diǎn)(45.0365,115.603)產(chǎn)生了輪廓誤差,合成方向LabVIEW測(cè)量誤差值err約為0.98 μm。
圖5 N0011段輪廓誤差放大圖
4.2.2運(yùn)動(dòng)特性分析
由以上分析,不到位插補(bǔ)時(shí)在G代碼程序的N0011段產(chǎn)生了輪廓誤差,按本文設(shè)計(jì)原理,犧牲一定輪廓誤差換取加工的效率。如圖6速度分析圖,圖7加速度分析圖所示,不到位插補(bǔ)的速度和加速度特性要優(yōu)于到位插補(bǔ)。
圖6 速度分析圖
圖6為運(yùn)行O0072號(hào)程序速度分析圖的一部分。通過(guò)N0011段時(shí)的速度曲線表明,不到位插補(bǔ)的速度(實(shí)線)高于到位插補(bǔ)的速度(虛線)。不到位插補(bǔ)的運(yùn)行效率更高。
圖7為運(yùn)行O0072號(hào)程序加速度分析圖的一部分。通過(guò)N0011段時(shí)的加速度曲線表明,不到位插補(bǔ)的加速度(實(shí)線)低于到位插補(bǔ)的加速度(虛線)。不到位插補(bǔ)的加速度更小,機(jī)床沖擊更小。
綜上所述,測(cè)試表明基于前加減速的不到位插補(bǔ)算法相對(duì)于傳統(tǒng)的到位插補(bǔ)算,通過(guò)犧牲一定輪廓精度誤差,換取較高的加工速度并降低機(jī)床的振動(dòng),從而獲得更優(yōu)的加工運(yùn)動(dòng)特性。
圖7 加速度分析圖
主要介紹了一種基于前加減速控制的線性插補(bǔ)算法,該算法以不到位的插補(bǔ)方式,犧牲一定的插補(bǔ)精度而獲取段間平滑的過(guò)渡,在精度可控的前提下提高了運(yùn)行速度,進(jìn)而提高了加工效率;同時(shí)由于有效的減少了計(jì)算復(fù)雜度和計(jì)算量,從而降低了應(yīng)用該算法對(duì)數(shù)控系統(tǒng)硬件平臺(tái)和軟件架構(gòu)的要求,使其可移植性和適用性范圍大大增強(qiáng)。試驗(yàn)測(cè)試表明該算法有效、可靠與設(shè)計(jì)初衷相符。
參考文獻(xiàn):
[1] 李 斌,李 曦.數(shù)控技術(shù)[M].武漢:華中科技大學(xué)出版社,2010.
[2] 彭芳瑜,李 黎.連續(xù)小支線段高速高精插補(bǔ)中的動(dòng)力學(xué)約束條件[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),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ù)插補(bǔ)控制算法研究[J].中國(guó)機(jī)械工程,2004,15(15):1354-1356.
[5] 付 科.速度控制的前加減速控制算法研究[J].航空計(jì)算技術(shù),2008(5):29-32.
[6] 李因鵬,王孫安.指數(shù)加減速的改進(jìn)算法[J].機(jī)床與液壓,2006,40(1):39-40.
[7] 湯智斌,唐小琦.數(shù)控高速高精運(yùn)動(dòng)控制方法的研究[J].制造技術(shù)與機(jī)床,2003(3):30-36.
[8] 張得禮,周來(lái)水.數(shù)控加工運(yùn)動(dòng)的平滑處理[J].航空學(xué)報(bào),2006(1):125-130.