葉衡, 謝明紅
(華僑大學(xué) 機(jī)電及自動(dòng)化學(xué)院, 福建 廈門361021)
大多數(shù)數(shù)控機(jī)床只具有直線和圓弧插補(bǔ)功能,隨著加工零件曲面曲線的日益復(fù)雜,直接描述零件輪廓已不太可能.目前,數(shù)控機(jī)床在加工零件時(shí),先由計(jì)算機(jī)輔助制造(CAM)軟件將工件的復(fù)雜輪廓曲線逼近成大量連續(xù)且短小的微線段,這些線段的長(zhǎng)度通常為0.1~1.0 mm.采用傳統(tǒng)的加減速與插補(bǔ)算法時(shí),數(shù)控機(jī)床將每段微線段內(nèi)獨(dú)立加減速,起始點(diǎn)速度設(shè)置為零,機(jī)床在每段加工軌跡內(nèi)頻繁啟停,極大限制了機(jī)床能達(dá)到的進(jìn)給速度,使機(jī)床各軸的加減速能力無法得到充分利用,同時(shí),機(jī)床的頻繁啟停會(huì)造成震動(dòng)與沖擊,降低工件的加工質(zhì)量.為了解決這些問題,國(guó)內(nèi)外學(xué)者進(jìn)行了大量的研究[1-3].較為常用的前瞻算法的核心是加減速算法和拐點(diǎn)處的速度約束.王耀庭等[4]提出一種基于直線加減速方式的高速嵌入式數(shù)控系統(tǒng)速度前瞻算法,但直線加減速方式柔性差,對(duì)機(jī)床仍有沖擊.鐘前進(jìn)等[5]研究S曲線加減速,并將其用于數(shù)控系統(tǒng),提高了數(shù)控加工的速度和柔性,但該方法計(jì)算復(fù)雜,不利于實(shí)時(shí)處理.司慧曉等[6]將完整的S曲線加減速進(jìn)行簡(jiǎn)化.
目前,具有前瞻功能的數(shù)控機(jī)床大多采用固定段數(shù)的前瞻方式,前瞻段數(shù)達(dá)數(shù)千甚至上萬,極大地占用數(shù)控系統(tǒng)的內(nèi)存資源,降低處理效率.因此,王海濤[7]根據(jù)加工軌跡拐角的大小區(qū)分前瞻區(qū)間,自適應(yīng)地調(diào)整前瞻段數(shù)[7],但其速度敏感點(diǎn)的識(shí)別方式仍可能使前瞻段數(shù)過多.許東偉[8]提出一種以最大速度減速至零走過的段數(shù)區(qū)分前瞻區(qū)間的方法,可縮短前瞻區(qū)間,但在敏感點(diǎn)為零時(shí),該方法的速度規(guī)劃無法達(dá)到最優(yōu).基于此,本文提出一種連續(xù)微線段柔性加減速自適應(yīng)前瞻規(guī)劃算法.
圖1 簡(jiǎn)化的S曲線加減速Fig.1 Simplified S-curve acceleration and deceleration
直線加減速[9]柔性較差,而完整的S曲線加減速則計(jì)算復(fù)雜[10].簡(jiǎn)化的S曲線加減速,如圖1所示.圖1中:s為位移;v為進(jìn)給速度;a為加速度;r為加加速度;R為加加速度最大值;-A為系統(tǒng)允許反向進(jìn)給加速度的最大值;A為系統(tǒng)允許進(jìn)給加速度的最大值.簡(jiǎn)化的S曲線加減速分為加加速段T1、減加速段T2、勻速段T3、加減速段T4、減減速段T5等5個(gè)時(shí)間段[11].
由于電機(jī)在加加速段與減加速段的加加速度絕對(duì)值相等,故有
T1=T2=R/A.
(1)
同理,有
T4=T5=R/A.
(2)
故有
T1=T2=T4=T5.
(3)
數(shù)控系統(tǒng)允許進(jìn)給速度最大值vmax及R,A是確定的,故S曲線加減速過程可確定.在完整的S曲線加減速中,加加速度r為
(4)
式(4)中:t1~t5為各階段的時(shí)間節(jié)點(diǎn).
加速度函數(shù)a(t)、進(jìn)給速度函數(shù)v(t)和位移函數(shù)s(t)可通過積分得到,即
(5)
(6)
(7)
式(5)~(7)中:ti為時(shí)間節(jié)點(diǎn);τi表示以ti-1為起點(diǎn)的時(shí)間.
刀具起始點(diǎn)速度均為0(圖1),可以達(dá)到系統(tǒng)允許的加速度和速度,其加加速度r越大,達(dá)到系統(tǒng)允許最大加速度的時(shí)間T1越小,柔性越差;反之,柔性越好.
在實(shí)際加工中,因各段軌跡長(zhǎng)度限制,進(jìn)給速度不一定可以達(dá)到vmax,且電機(jī)在加工軌跡的起始點(diǎn)速度不一定為0.設(shè)起始速度為vs,終點(diǎn)速度為ve,可達(dá)到的最大速度為vm.當(dāng)vs 1) 2段加減速(圖2(a)).只有T1,T2或T4,T5段;vs>ve同理. 2) 完整加減速(圖2(b)).當(dāng)vm=vmax時(shí),具有完整的加減速過程,T1=T2,T4=T5;vs>ve同理. 3) 4段加減速(圖2(c)).當(dāng)vm (a) 2段加減速 (b) 完整加減速 (c) 4段加減速圖2 段內(nèi)實(shí)際加減速情況Fig.2 Actual acceleration and deceleration within segment 設(shè)軌跡長(zhǎng)度為L(zhǎng);電機(jī)從vs加速到vmax,刀具所走過的位移為L(zhǎng)ac;電機(jī)從vmax減速到ve,刀具所走過的位移為L(zhǎng)de;電機(jī)從vs加速或減速到ve,刀具所走過的位移為l.由式(4)~(7)可得 (8) (9) 假設(shè)vs>ve(vs (10) 當(dāng)L>Lac+Lde時(shí),加工軌跡長(zhǎng)度足夠電機(jī)加速到vmax;當(dāng)l (11) 傳統(tǒng)方法無法精確求解vm,有的文獻(xiàn)采用牛頓迭代法,但該法迭代次數(shù)過多,計(jì)算過程相對(duì)耗時(shí).因此,采用二分法求解,設(shè)定誤差范圍為0.1,則有 (12) Li段與Li+1段的交點(diǎn)為Pi,刀具的運(yùn)動(dòng)方向?yàn)镻i-1→Pi→Pi+1.刀具在Pi-1的速度為vi-1,在Pi的速度為vi,在Pi+1的速度為vi+1.在Li段,刀具在點(diǎn)Pi的進(jìn)給速度為vA,方向由Pi-1指向Pi;在Li+1段,刀具在點(diǎn)Pi的進(jìn)給速度為vB,方向由Pi指向Pi+1.在機(jī)床加工中,設(shè)定刀具在Pi處的速度大小相等,方向發(fā)生了改變,|vA|=|vB|;vA與vB的夾角為α,線段Li與Li+1的夾角為β.拐點(diǎn)示意圖,如圖3所示. 1) 拐角角度對(duì)速度的約束.因?yàn)榈毒咴邳c(diǎn)Pi的速度發(fā)生變化,且速度改變發(fā)生在1個(gè)插補(bǔ)周期內(nèi),所以刀具在拐點(diǎn)Pi處產(chǎn)生加速度atrans.為避免對(duì)機(jī)床產(chǎn)生沖擊,應(yīng)使atrans不超過機(jī)床允許的最大加速度amax. 設(shè)插補(bǔ)周期為Ts,則atrans滿足 (13) 由此可得 (14) 式(13),(14)中:Δv為速度變化量;vtrans為拐角角度的約束速度. 拐角角度的速度約束,如圖4所示.圖4中:vtrans,m拐角角度的最大約束速度. 圖3 拐點(diǎn)示意圖 圖4 拐角角度的速度約束Fig.3 Diagram of corner point Fig.4 Speed constraint of corner angle 2) 微線段長(zhǎng)度對(duì)速度的約束.刀具運(yùn)動(dòng)的方向?yàn)镻i-1→Pi→Pi+1,vi-1 Ⅰ)vi受Li長(zhǎng)度的影響.若Li>Lac,則刀具有足夠的加工長(zhǎng)度,刀具在點(diǎn)Pi的速度不受Li長(zhǎng)度的限制,即 vi=vmax. (15) 若Li (16) 刀具由vi-1加速到vi的過程由T1,T2組成,令T1=T2=tm.由式(4)~(7)可得 (17) 通過卡丹公式求解一元三次方程,可得 (18) 式(18)中:p=2vi-1/R;q=-Li-1/R. 由式(4)~(7)可得 (19) 由此可得 (20) Ⅱ)vi受Li+1長(zhǎng)度的影響.同理可得 (21) 式(21)中:p=2vi+1/R;q=-Li+1/R. 圖5 拐角速度突變示意圖Fig.5 Diagram of abrupt change of corner speed 前瞻的主要任務(wù)是預(yù)先獲取一定數(shù)量的加工軌跡信息,并對(duì)其進(jìn)行速度規(guī)劃.當(dāng)其他條件不變時(shí),前瞻段數(shù)越多,則速度規(guī)劃效果越優(yōu).目前,具有前瞻功能的機(jī)床常用的方式是每次前瞻一定數(shù)量的軌跡段或規(guī)劃所有的軌跡段,但這種做法緩沖區(qū)占用的內(nèi)存較大,且固定段數(shù)的前瞻不適應(yīng)加工軌跡間速度變化的要求.此外,因?yàn)楣战墙嵌鹊南拗疲行┕战翘幍乃俣葮O低,甚至減速為0,這些拐角兩端加工軌跡處的速度不會(huì)相互影響,所以將兩端處軌跡結(jié)合前瞻沒有意義.為解決這些問題,采用識(shí)別速度敏感點(diǎn)的方法分割前瞻區(qū)間,實(shí)現(xiàn)自適應(yīng)動(dòng)態(tài)前瞻. 拐角速度突變示意圖,如圖5所示.圖5中:vA,x,vB,x分別為vA,vB在x軸上的分量;vA,y,vB,y分別為vA,vB在y軸上的分量.當(dāng)拐角β<90°時(shí),刀具在拐點(diǎn)Pi的速度在y軸的分量方向在一個(gè)周期內(nèi)發(fā)生逆向突變,此時(shí),y軸電機(jī)需要在非0速度下進(jìn)行反轉(zhuǎn),對(duì)電機(jī)沖擊較大,故此點(diǎn)速度極低.將此點(diǎn)設(shè)為速度敏感點(diǎn),相鄰敏感點(diǎn)之間的加工軌跡為一個(gè)獨(dú)立前瞻區(qū)間. 傳統(tǒng)的前瞻算法將敏感點(diǎn)的速度設(shè)置為0,這種做法雖然可避免電機(jī)在非0速度下進(jìn)行反轉(zhuǎn),但會(huì)降低加工效率,且造成機(jī)床頻繁啟停,從而引入其他加工誤差.因此,假定刀具從敏感點(diǎn)運(yùn)動(dòng)到下一點(diǎn)時(shí),其速度可以減小為0,根據(jù)拐角角度和敏感點(diǎn)后一段加工軌跡長(zhǎng)度的限制,計(jì)算敏感點(diǎn)安全加工速度,可得 (22) 式(22)中:vlim為敏感點(diǎn)的安全過渡速度;Lnext為敏感點(diǎn)后一段加工軌跡長(zhǎng)度. 完成對(duì)加工軌跡的獨(dú)立前瞻區(qū)間分段后,需要對(duì)區(qū)間內(nèi)的軌跡段進(jìn)行速度規(guī)劃,結(jié)合前推法和回溯法[12-18]提出前瞻規(guī)劃策略.設(shè)現(xiàn)有一個(gè)獨(dú)立前瞻區(qū)間,拐點(diǎn)分別為Pi-1~Pi+5;軌跡段分別為L(zhǎng)i~Li+5;設(shè)αn為點(diǎn)Pn處拐角,n=i-1,i,…,i+5;由Sif判斷點(diǎn)Pn是否敏感點(diǎn),若為Y,表示是敏感點(diǎn),若為N,表示非敏感點(diǎn);vtrans_n為點(diǎn)Pn處拐角限制的最大速度(式(14));vpre_n為點(diǎn)Pn前一段加工軌跡長(zhǎng)度限制的最大速度(式(20));vnext_n為點(diǎn)Pn后一段加工軌跡長(zhǎng)度限制的最大速度(式(21));vn為點(diǎn)Pn的最優(yōu)最大速度.前瞻前將每點(diǎn)的速度初始化,即vn=0,Sif為N.前瞻規(guī)劃策略有以下6個(gè)步驟. 步驟1從插補(bǔ)軌跡第1段開始,依次計(jì)算每個(gè)拐角αn.當(dāng)αn<90°時(shí),將Sif設(shè)置為Y;否則,設(shè)置為N.將2個(gè)相鄰Sif標(biāo)志為Y的點(diǎn)之間的軌跡段設(shè)置為1個(gè)獨(dú)立區(qū)間.從第1個(gè)獨(dú)立前瞻區(qū)間開始前瞻. 步驟2根據(jù)式(22)計(jì)算終點(diǎn)Pn處的最優(yōu)最大速度vn=vlim,n=i+5. 步驟3令n=n-1,若n=i-1,開始步驟5;否則,向前讀取下一點(diǎn)Pn,分別計(jì)算vtrans_n,vnext_n.如果vtrans_n>vnext_n,則vn=vnext_n,重復(fù)該步驟;如果vtrans_n 步驟4若vi>vi+1,結(jié)束該步驟;否則,計(jì)算vpre_i+1.判斷是否vpre_i+1>vi+1,若是,則結(jié)束該步驟;否則,vi+1=vpre_i+1且i=i+1,重復(fù)該步驟,直至vpre_i+1>vi+1,開始步驟3. 步驟5令n=n+1,若n=i+5,結(jié)束該步驟;否則,向后讀取下一點(diǎn)Pn,計(jì)算vpre_n.若vpre_n>vnext_n,結(jié)束該步驟;若vpre_n 步驟6該前瞻區(qū)間結(jié)束,判斷是否前瞻完成,若完成,則結(jié)束前瞻;否則,讀取下一前瞻區(qū)間,轉(zhuǎn)入步驟2. 適用于連續(xù)微線段加工的新型前瞻規(guī)劃算法(文中前瞻規(guī)劃算法)采用先回溯再前推的方法,避免前瞻緩沖區(qū)過大的問題,且進(jìn)一步優(yōu)化敏感點(diǎn)的速度,使其不為0,可提高加工效率. 實(shí)驗(yàn)平臺(tái)包括硬件平臺(tái)和軟件平臺(tái).硬件平臺(tái)由空氣開關(guān)、電源、工控機(jī)(上位機(jī))、CX5020型下位機(jī)(德國(guó)倍福自動(dòng)化有限公司)、伺服電機(jī)、伺服驅(qū)動(dòng)器等通過導(dǎo)線和通信線(雙絞線)進(jìn)行連接.實(shí)驗(yàn)硬件平臺(tái),如圖6所示.軟件平臺(tái)的開發(fā)環(huán)境采用基于Windows系統(tǒng)的Visual Studio,編程語言采用面向Windows的Visial C++.采用EtherCAT總線技術(shù)實(shí)現(xiàn)與伺服驅(qū)動(dòng)器的實(shí)時(shí)通信,由數(shù)控系統(tǒng)計(jì)算插補(bǔ)點(diǎn),發(fā)送插補(bǔ)周期給伺服驅(qū)動(dòng)器,進(jìn)而驅(qū)動(dòng)電機(jī),通過編碼器采集速度. 微線段的加工軌跡,如圖7所示.設(shè)機(jī)床最大允許加速度為8 000 mm·s-2,最大允許加加速度為80 000 mm·s-3,插補(bǔ)周期Ts=1 ms.在不同機(jī)床允許的最大速度(vmax分別為600,800 mm·s-1)下,分別采用傳統(tǒng)規(guī)劃算法、其他前瞻規(guī)劃算法和文中前瞻規(guī)劃算法進(jìn)行對(duì)比實(shí)驗(yàn).其他前瞻規(guī)劃算法與文中前瞻規(guī)劃算法銜接點(diǎn)(拐角點(diǎn))的速度,如表1所示. 圖6 實(shí)驗(yàn)硬件平臺(tái) 圖7 微線段的加工軌跡Fig.6 Experimental hardware platform Fig.7 Machining trace of micro line 表1 前瞻規(guī)劃算法銜接點(diǎn)的速度Tab.1 Junction points speed of look-ahead planning algorithm 當(dāng)vmax=800 mm·s-1時(shí),傳統(tǒng)規(guī)劃算法的插補(bǔ)輸出情況,如圖8所示.圖8中:v,vx,vy分別為傳統(tǒng)規(guī)劃算法的插補(bǔ)輸出速度(進(jìn)給速度)及其在x,y軸上的分量;a,ax,ay分別為插補(bǔ)輸出加速度(進(jìn)給加速度)及其在x,y軸上的分量. (a) 插補(bǔ)輸出速度及其分量 (b) 插補(bǔ)輸出加速度及其分量圖8 傳統(tǒng)規(guī)劃算法的插補(bǔ)輸出情況Fig.8 Interpolation output situation of traditional planning algorithm 由圖8可知:采用傳統(tǒng)規(guī)劃算法進(jìn)行加減速插補(bǔ)時(shí),刀具在各銜接點(diǎn)的速度降為0,各微線段內(nèi)獨(dú)立加減速.因?yàn)槲⒕€段長(zhǎng)度限制,刀具在各段內(nèi)可達(dá)到的最大進(jìn)給速度很小,加速度波動(dòng)較大,機(jī)床加工效率低下,電機(jī)在拐角處頻繁啟停造成機(jī)床震動(dòng),影響工件加工質(zhì)量. 當(dāng)vmax=800 mm·s-1時(shí),其他前瞻規(guī)劃算法的插補(bǔ)輸出情況,如圖9所示.由圖9可知:其他前瞻規(guī)劃算法通過設(shè)置拐點(diǎn),將加工軌跡分為獨(dú)立區(qū)間,并在獨(dú)立區(qū)間內(nèi)獨(dú)立加減速,相較于傳統(tǒng)規(guī)劃算法,可實(shí)現(xiàn)獨(dú)立區(qū)間內(nèi)的連續(xù)速度規(guī)劃,提高加工效率,減少電機(jī)啟停的次數(shù),提高機(jī)床的加工精度,但仍不能保證在銜接點(diǎn)處的速度均大于0.電機(jī)對(duì)機(jī)床仍有沖擊,不利于機(jī)床進(jìn)一步提高速度和精度. (a) 插補(bǔ)輸出速度及其分量 (b) 插補(bǔ)輸出加速度及其分量圖9 其他前瞻規(guī)劃算法的插補(bǔ)輸出情況Fig.9 Interpolation output situation of other look-ahead planning algorithm 當(dāng)vmax=800 mm·s-1時(shí),文中前瞻規(guī)劃算法的插補(bǔ)輸出情況,如圖10所示.由圖10可知:采用文中前瞻規(guī)劃算法對(duì)加工軌跡進(jìn)行規(guī)劃時(shí),除起點(diǎn)和終點(diǎn)外,銜接點(diǎn)速度均大于0,且段內(nèi)可達(dá)到的進(jìn)給速度明顯增大,加工效率較高,加速度波動(dòng)小,機(jī)床不容易產(chǎn)生沖擊. (a) 插補(bǔ)輸出速度及其分量 (b) 插補(bǔ)輸出加速度及其分量圖10 文中前瞻規(guī)劃算法的插補(bǔ)輸出情況Fig.10 Interpolation output situation of proposed look-ahead planning algorithm 表2 3種規(guī)劃算法的輸出結(jié)果Tab.2 Output results of three algorithms 3種規(guī)劃算法的輸出結(jié)果,如表2所示.由表2可知:相較于傳統(tǒng)規(guī)劃算法和其他前瞻規(guī)劃算法,文中前瞻規(guī)劃算法可以縮短加工時(shí)間.當(dāng)vmax=600 mm·s-1時(shí),文中前瞻規(guī)劃算法的加工效率比傳統(tǒng)規(guī)劃算法提高了28.6%,比其他前瞻規(guī)劃算法提高了8.7%;當(dāng)vmax=800 mm·s-1時(shí),文中前瞻規(guī)劃算法的加工效率比傳統(tǒng)規(guī)劃算法提高了29.8%,比其他前瞻規(guī)劃算法提高了13.7%. 提出一種適用于連續(xù)微線段加工的新型前瞻規(guī)劃算法,采用簡(jiǎn)化的S曲線加減速,減少計(jì)算時(shí)間,通過識(shí)別速度敏感點(diǎn)自適應(yīng)調(diào)整前瞻區(qū)間,解決了傳統(tǒng)前瞻算法前瞻段數(shù)過多的問題;進(jìn)一步優(yōu)化前瞻區(qū)間的終點(diǎn)速度,使其大于0.相較于其他算法,文中前瞻規(guī)劃算法可進(jìn)一步提高銜接點(diǎn)速度、加工平穩(wěn)性及加工效率.2 自適應(yīng)前瞻速度規(guī)劃
2.1 拐點(diǎn)處速度約束
2.2 自適應(yīng)前瞻分段規(guī)劃
2.3 前瞻速度規(guī)劃
3 實(shí)驗(yàn)驗(yàn)證
3.1 實(shí)驗(yàn)平臺(tái)的搭建
3.2 連續(xù)微線段的取樣驗(yàn)證
4 結(jié)束語