【技術(shù)領(lǐng)域】
本發(fā)明屬于數(shù)控加工技術(shù)領(lǐng)域,具體是涉及一種nurbs曲線直接插補(bǔ)柔性加減速控制方法。
背景技術(shù):
非均勻有理b樣條(non-uniformrationa1b-spline,nurbs)曲線具有良好的形狀表達(dá)能力,在汽車、飛機(jī)、造船等型面零件造型設(shè)計和加工制造方面應(yīng)用越來越廣,已成為step-nc中表達(dá)自由曲線曲面的唯一形式。以nurbs形式表示的加工文件代碼簡練,而且沒有精度損失,其代碼量只有傳統(tǒng)nc代碼的
數(shù)控機(jī)床在加工過程中,當(dāng)遇到啟動、停止或段間轉(zhuǎn)接時,如果速度變化太大,有可能對機(jī)床本身產(chǎn)生較大沖擊,引起電機(jī)震蕩和失步等,將對加工精度造成影響,甚至危害機(jī)床壽命。通常做法是在機(jī)床啟動、停止及段間轉(zhuǎn)接時對速度進(jìn)行控制,即進(jìn)行加減速處理。啟動階段是通過增大進(jìn)給脈沖頻率使機(jī)床加速進(jìn)給,機(jī)床停止階段是通過降低進(jìn)給脈沖頻率,使機(jī)床進(jìn)行減速直至速度為零。速度規(guī)劃好壞對于機(jī)床運動的平滑性起到關(guān)鍵作用,對于實現(xiàn)高速高精加工意義重大。
常見的加減速控制方法有:直線加減速法、指數(shù)加減速法等。直線加減速方法計算復(fù)雜度不高,容易實現(xiàn),其速度控制過程是根據(jù)時間按比例對速度進(jìn)行調(diào)整,但該方法平滑性較差。指數(shù)加減速方法實現(xiàn)也簡單,它是根據(jù)指數(shù)規(guī)律來調(diào)整進(jìn)給速度,其平滑性較好。但是這兩種方法在加速開始階段和減速結(jié)束階段都會存在速度突變,導(dǎo)致加速度不連續(xù),從而對機(jī)床產(chǎn)生較大沖擊,影響零件的加工質(zhì)量,以及機(jī)床的使用壽命。
采用傳統(tǒng)直線和指數(shù)加減速方法,已不能滿足加工零件日趨復(fù)雜、加工零件精度不斷提高的要求,為了適應(yīng)現(xiàn)代數(shù)控加工工件的復(fù)雜多變性,保證工件的加工精度和機(jī)床的使用壽命,柔性加減速算法也越來越受到青睞。一方面,柔性加減速可以根據(jù)加工運動的最大速度、輸出脈沖頻率等,構(gòu)造合適的加減速特性曲線;另一方面,柔性加減速在控制系統(tǒng)中采用特殊方法來實現(xiàn)多變的加減速曲線,相比較于傳統(tǒng)加減速方法其速度過度更為平順。
當(dāng)采用高速切削加工nurbs曲線曲面時,由于曲率的存在,必然會引起較大的速度波動。若加速度過大,超過機(jī)床進(jìn)給系統(tǒng)動態(tài)剛度的設(shè)計承受能力,就會給整個加工系統(tǒng)、加工過程和零件的加工質(zhì)量造成嚴(yán)重影響。因此,必須設(shè)計良好的柔性加減速控制方法,控制加速度、加加速度變化模式,實現(xiàn)速度的平滑處理。
中國發(fā)明專利201410177337.x公開了一種速度敏感點分段nurbs曲線的s型加減速控制插補(bǔ)算法,是將各分段曲線閉區(qū)間利用步驟(5-1)中s型加減速控制方法根據(jù)插補(bǔ)周期t分別對加速和減速階段進(jìn)行速度規(guī)劃,得到各分段曲線在每一個插補(bǔ)周期內(nèi)的進(jìn)給速度,將獲得的進(jìn)給速度代入預(yù)插補(bǔ)公式計算出插補(bǔ)點參數(shù)u,再將插補(bǔ)點參數(shù)u代入nurbs曲線的矩陣表達(dá)式,得到各插補(bǔ)點的坐標(biāo)值。采用s曲線加減速控制方法其加加速度為常數(shù)值,即為最大加加速度j,加速度變化是一階線性變化。因此,對于加加速度最大階躍為2j,這勢必對機(jī)床造成較大沖擊。
常見的加減速控制方法有:直線加減速法、指數(shù)加減速法等。直線加減速方法計算復(fù)雜度不高,容易實現(xiàn),其速度控制過程是根據(jù)時間按比例對速度進(jìn)行調(diào)整,但該方法平滑性較差。指數(shù)加減速方法實現(xiàn)也簡單,它是根據(jù)指數(shù)規(guī)律來調(diào)整進(jìn)給速度,其平滑性較好。但是這兩種方法在加速開始階段和減速結(jié)束階段都會存在速度突變,導(dǎo)致加速度不連續(xù),從而對機(jī)床產(chǎn)生較大沖擊,影響零件的加工質(zhì)量,以及機(jī)床的使用壽命。
采用傳統(tǒng)直線和指數(shù)加減速方法,已不能滿足加工零件日趨復(fù)雜、加工零件精度不斷提高的要求,為了適應(yīng)現(xiàn)代數(shù)控加工工件的復(fù)雜多變性,保證工件的加工精度和機(jī)床的使用壽命,柔性加減速算法也越來越受到青睞。一方面,柔性加減速可以根據(jù)加工運動的最大速度、輸出脈沖頻率等,構(gòu)造合適的加減速特性曲線。另一方面,柔性加減速在控制系統(tǒng)中采用特殊方法來實現(xiàn)多變的加減速曲線,相比較于傳統(tǒng)加減速方法其速度過度更為平順。
s型加減速方法是一種柔性加減速方法,但是其加加速度為常數(shù)值,加加速度最大階躍為2倍最大加加速度,這會對機(jī)床造成較大的沖擊。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于提供一種nurbs曲線直接插補(bǔ)柔性加減速控制方法,不僅實現(xiàn)速度平滑控制,而且使得加速度的規(guī)劃也是平滑的,從而減小對機(jī)床造成的沖擊,避免引起電機(jī)震蕩和失步等,可以提高加工精度,延遲機(jī)床壽命。
本發(fā)明是這樣實現(xiàn)的:
一種nurbs曲線直接插補(bǔ)柔性加減速控制方法,該方法包括如下步驟:
步驟(1)、讀取加工代碼文件,提取出nurbs曲線相關(guān)參數(shù);
步驟(2)、對nurbs曲線進(jìn)行預(yù)處理,獲得nurbs曲線幾何特征;
步驟(3)、采用柔性加減速方法獲得符合機(jī)床加減速特性的插補(bǔ)點。
進(jìn)一步地,所述步驟(1),具體包括:
cnc解釋器程序讀取用戶輸入的以nurbs曲線表述的加工代碼文件,獲取nurbs曲線次數(shù)p,控制點pi(i=0,1,…,n),及其對應(yīng)的權(quán)因子wi(i=0,1,…,n)相關(guān)參數(shù),由nurbs曲線表達(dá)式,構(gòu)成出代加工nurbs曲線,nurbs曲線表達(dá)式為:
式中由解釋器程序從加工代碼文件讀取的參數(shù)有:pi-控制點信息,wi-權(quán)因子信息,p-nurbs曲線次數(shù);
式中ni,p(u)為p次規(guī)范b樣條基函數(shù),可由下式遞推計算:
其中,u={u0,u1,...,un+p+1}稱為節(jié)點矢量,u是nurbs曲線的自變量。
進(jìn)一步地,所述步驟(2)具體包括:
掃描曲線,獲得曲線速度敏感區(qū)集合u,
其中f為機(jī)床指令速度;
進(jìn)而,對曲線所有速度敏感區(qū)進(jìn)行處理,得到曲線各速度敏感區(qū)速度極小值點集合
進(jìn)而,由速度極小值點可以將曲線分成若干曲線段,其集合表述為:
l={li}。
進(jìn)一步地,所述步驟(3)具體包括:
對曲線段進(jìn)行柔性加減速控制,得到每個插補(bǔ)周期對應(yīng)插補(bǔ)點,即獲得滿足柔性加減速情況下的各插補(bǔ)點的參數(shù)矢量,再由nurbs曲線定義式求出插補(bǔ)點對應(yīng)的各軸坐標(biāo);
柔性加減速分為五段,分別為加加速、減加速、勻速、加減速、減減速。
其中加速度變化為呈現(xiàn)二階曲線變化,加加速度變化呈現(xiàn)一階曲線變化;
令加加速度為j,加速度為a、速度為v,令加速開始時刻為t0,加加速階段完成時刻為t1,持續(xù)時間為t1;減加速階段完成時刻為t2,持續(xù)時間為t2;勻速階段完成時刻為t3,持續(xù)時間為t3;加減速階段完成時刻為t4,持續(xù)時間為t4;減減速階段完成時刻為t5,持續(xù)時間為t5。各階段完成時刻與持續(xù)時間關(guān)系為:
由上式可得各個階段加加速度j(t)、加速度a(t)和速度v(t)計算方程;
令加加速度變化直線曲率為k,則加加速度方程可表示為:
通過對加加速度積分可得加速度方程為:
對加速度積分可得速度方程為:
其中:
對速度進(jìn)行積分可得位移為:
其中s1,s2,s3,s4,s5由下式求出:
本發(fā)明的優(yōu)點在于:柔性加減速控制方法,加加速度變化呈一階直線型曲線變化,加速度變化呈二階曲線型變化,加加速度最大階躍為最大加加速度值,不僅實現(xiàn)速度平滑控制,而且使得加速度的規(guī)劃平滑,從而減小對機(jī)床造成的沖擊,避免引起電機(jī)震蕩和失步等,因此可以提高加工精度,延遲機(jī)床壽命。本發(fā)明的柔性加減速方法加加速度變化呈一階線性變化,加速度變化呈二階曲線型變化,加加速度最大階躍為j,對機(jī)床造成的沖擊比現(xiàn)有技術(shù)減小了一倍。通過求取每個插補(bǔ)周期加加速度、加速度、速度及位移,最后得到插補(bǔ)點參數(shù)u及其坐標(biāo)值,而現(xiàn)有技術(shù)是通過(5-1)計算速度值后,再代入預(yù)插補(bǔ)公式計算出插補(bǔ)點參數(shù)u,再將插補(bǔ)點參數(shù)u代入nurbs曲線的矩陣表達(dá)式,得到各插補(bǔ)點的坐標(biāo)值,實現(xiàn)過程不一樣。
【附圖說明】
下面參照附圖結(jié)合實施例對本發(fā)明作進(jìn)一步的描述。
圖1是本發(fā)明的控制方法系統(tǒng)框圖。
圖2是本發(fā)明的控制方法模式圖。
圖3是本發(fā)明的控制方法流程圖。
【具體實施方式】
本發(fā)明為一種nurbs曲線直接插補(bǔ)柔性加減速控制方法。在該方法中,cnc解釋器程序讀取用戶輸入的以nurbs曲線表述的加工代碼文件,獲取nurbs曲線次數(shù)p,控制點pi(i=0,1,…,n),及其對應(yīng)的權(quán)因子wi(i=0,1,…,n)等相關(guān)參數(shù),由nurbs曲線表達(dá)式,構(gòu)成出代加工nurbs曲線;掃描曲線,獲得曲線速度敏感區(qū)集合,進(jìn)而,對曲線所有速度敏感區(qū)進(jìn)行處理,得到曲線各速度敏感區(qū)速度極小值點集合,然后由速度極小值點將曲線分成若干曲線段;對曲線段進(jìn)行柔性加減速控制,得到每個插補(bǔ)周期對應(yīng)插補(bǔ)點,即獲得滿足柔性加減速情況下的各插補(bǔ)點的參數(shù)矢量,再由nurbs曲線定義式求出插補(bǔ)點對應(yīng)的各軸坐標(biāo)。
圖1是本發(fā)明的一種nurbs曲線直接插補(bǔ)柔性加減速控制方法系統(tǒng)框圖。其中詳細(xì)展示了一種nurbs曲線直接插補(bǔ)柔性加減速控制方法所包括的五個部分,其中每個部分產(chǎn)生的結(jié)果作為下一個部分?jǐn)?shù)據(jù)處理的對象。
第一個部分cnc解釋器程序讀取用戶輸入的以nurbs曲線表述的零件加工代碼文件,讀取出nurbs曲線相關(guān)參數(shù),構(gòu)造出要加工的nurbs曲線;第二部分,掃描曲線,識別出加工速度低于指令速度的曲線部分作為速度敏感區(qū),得到曲線速度敏感區(qū)集合;第三部分,掃描曲線速度敏感區(qū)集合,得到每個速度敏感區(qū)速度極小值點,構(gòu)成速度極小值點集合;第四部分,以速度極小值點加上曲線首尾端點,對nurbs曲線分段,得到分段曲線集;第五部分,對曲線段進(jìn)行柔性加減速處理,獲得滿足機(jī)床加減速性能的插補(bǔ)點,并由nurbs定義式得到各插補(bǔ)點坐標(biāo)值。
圖2是一種nurbs曲線直接插補(bǔ)柔性加減速控制方法模式圖。其中詳細(xì)展示了柔性加減速控制方法時間、速度、加速度、加加速度、位移等的變化規(guī)律。
圖2中,柔性加減速模式分為五段,分別為加加速、減加速、勻速、加減速、減減速。其中加速度變化為呈現(xiàn)二階曲線變化,加加速度變化呈現(xiàn)一階曲線變化。
圖2中,t0為加加速階段時刻,t1為加加速階段完成時刻,t2為減加速階段完成時刻,t3為勻速階段完成時刻,t4為加減速階段完成時刻,t5為減減速階段完成時時刻;t1為加加速時長,t2為減加速時長,t3為勻速階段時長,t4為加減速時長,t5為減減速階段時長;v0為加加速階段速率,v1為加加速階段結(jié)束時速率,v2為減加速階段結(jié)束時速率,v3為勻速階段結(jié)束時速率,v4為加減速階段結(jié)束時速率,v5為減減速階段結(jié)束時速率;
令其加加速度為,加速度為、速度為,各階段時間設(shè)置為:
由上式可得各個階段加加速度j(t)、加速度a(t)和速度v(t)計算方程。
令加加速度變化直線曲率為k,則加加速度方程可表示為:
通過對加加速度積分可得加速度方程為:
對加速度積分可得速度方程為:
其中:
對速度進(jìn)行積分可得位移為:
其中s1,s2,s3,s4,s5由下式求出:
圖3是本發(fā)明的一種nurbs曲線直接插補(bǔ)柔性加減速控制方法流程圖。其中詳細(xì)展示了柔性加減速控制方法具體實現(xiàn)步驟,包含讀取系統(tǒng)最大進(jìn)給速度等相關(guān)參數(shù),讀取曲線段數(shù)據(jù),計算當(dāng)前插補(bǔ)時間、插補(bǔ)加加速度、插補(bǔ)加速度,并得到當(dāng)前插補(bǔ)速度,進(jìn)而獲得當(dāng)前插補(bǔ)周期位移值,然后再求得位移距離所對應(yīng)的插補(bǔ)點參數(shù)矢量,并進(jìn)一步獲得插補(bǔ)點的坐標(biāo)值。
圖3中流程圖步驟包括:
柔性加減速模塊讀取系統(tǒng)參數(shù),包括最大進(jìn)給速度v、機(jī)床最大允許加速度a、機(jī)床最大允許加加速度j、插補(bǔ)周期值t以及柔性加減速k值;進(jìn)入步驟2。
柔性加減速模塊讀取曲線段li,并得到該曲線段參數(shù)矢量區(qū)間[us,ue],進(jìn)入步驟3。
計算當(dāng)前插補(bǔ)時間t,t=t+t,開始時t=0,t為插補(bǔ)周期值,進(jìn)入步驟4。
根據(jù)柔性加減速模式,由時間t和k值計算當(dāng)前插補(bǔ)時刻的加加速度值,進(jìn)入步驟5。
根據(jù)柔性加減速模式,由當(dāng)前插補(bǔ)時刻加加速度值,時間t和機(jī)床運行最大加速度值,計算當(dāng)前插補(bǔ)時刻的加速度值,進(jìn)入步驟6。
根據(jù)柔性加減速模式,由當(dāng)前插補(bǔ)時刻加速度值,時間t,計算當(dāng)前插補(bǔ)時刻的速度值,進(jìn)入步驟7。
根據(jù)柔性加減速模式,由當(dāng)前插補(bǔ)時刻速度值、加速度值、時間t,計算當(dāng)前插補(bǔ)位移值,進(jìn)入步驟8。
根據(jù)插補(bǔ)位移值得的當(dāng)前插補(bǔ)點參數(shù)矢量,進(jìn)入步驟9。
根據(jù)nurbs曲線定義式,由當(dāng)前插補(bǔ)點參數(shù)矢量計算插補(bǔ)點的坐標(biāo)值,進(jìn)入步驟10。
如果曲線段處理完畢,則退出,否則繼續(xù)執(zhí)行步驟3。
本發(fā)明的柔性加減速控制方法,加加速度變化呈一階直線型曲線變化,加速度變化呈二階曲線型變化,加加速度最大階躍為最大加加速度值,速度和加速度變化更加平緩,從而減小對機(jī)床造成的沖擊,避免引起電機(jī)震蕩和失步等,因此可以提高加工精度,延遲機(jī)床壽命。
以上所述僅為本發(fā)明的較佳實施用例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。