李 浩 吳文江 韓文業(yè) 郭 安
1.中國科學(xué)院大學(xué),北京,100049 2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所高檔數(shù)控國家工程研究中心,沈陽,110168 3.沈陽高精數(shù)控智能技術(shù)股份有限公司,沈陽,110168
速度規(guī)劃是高檔數(shù)控系統(tǒng)運(yùn)動軌跡控制的關(guān)鍵技術(shù)之一,是評價(jià)數(shù)控系統(tǒng)性能的重要指標(biāo),直接影響數(shù)控機(jī)床的加工效率和加工質(zhì)量。高速、高質(zhì)量加工對數(shù)控機(jī)床的加減速控制能力提出了更高的要求,一方面要求刀具能夠在最短的時(shí)間內(nèi),從當(dāng)前位置點(diǎn)精確地移動到下一位置點(diǎn);另一方面要求在刀具移動的過程中,保證數(shù)控機(jī)床平穩(wěn)運(yùn)行,避免因超過機(jī)床最大加減速能力而引起沖擊、失步、超程或振動。
在對離散小線段進(jìn)行加工時(shí),如果以較高的速度通過相鄰小線段間的拐角,可能會因?yàn)槌鲵?qū)動軸最大加速度而引起機(jī)床振動,降低加工質(zhì)量。最簡單的解決方法是將連續(xù)小線段的起始和終止速度設(shè)置為零,但驅(qū)動軸的頻繁起停會引起機(jī)床振動,影響加工質(zhì)量,同時(shí)也會降低加工效率。彭芳瑜等[1]、黃昕等[2]在滿足輪廓誤差、機(jī)床加減速性能和最大加速度等約束條件下,通過計(jì)算相鄰小線段拐角處所允許的最大速度,實(shí)現(xiàn)加工路徑間的連續(xù)轉(zhuǎn)接,因此,如何在滿足輪廓誤差和機(jī)床動態(tài)性能等的前提下,盡可能提高加工速度是數(shù)控系統(tǒng)速度規(guī)劃技術(shù)的重要研究內(nèi)容。
近年來,國內(nèi)外學(xué)者針對速度規(guī)劃技術(shù)做了大量研究,常見的規(guī)劃方式有直線加減速控制方法[3]和指數(shù)加減速控制方法[4]。這兩種方式控制簡單,計(jì)算量小,但存在加速度頻繁突變的情況,導(dǎo)致機(jī)床振動。ERKORKMAZ等[5]提出S型曲線加減速控制算法,將加速度的變化率限制在某一范圍內(nèi),來減小對機(jī)床的沖擊,但加加速度依然存在突變。冷洪濱等[6]采用三次多項(xiàng)式曲線替代S型曲線進(jìn)行速度規(guī)劃,在加減速過程中實(shí)現(xiàn)了加加速度的連續(xù),但加減速的開始和結(jié)束處仍然存在加加速度突變的情況。為此,一些研究人員提出四次多項(xiàng)式型[7-8]、五次多項(xiàng)式型[9-11]和三角函數(shù)型加減速算法[12-15],以進(jìn)一步提高控制柔性,實(shí)現(xiàn)速度、加速度和加加速度的平滑控制。但上述方法的實(shí)現(xiàn)過程比較復(fù)雜,涉及到多個(gè)參數(shù),需要大量的時(shí)間進(jìn)行數(shù)值計(jì)算。這些算法多采用離線的方式進(jìn)行速度規(guī)劃,在加工過程中,當(dāng)加工參數(shù)發(fā)生改變時(shí),數(shù)控機(jī)床無法及時(shí)地做出響應(yīng),并不能很好地滿足實(shí)際加工需求。
本文在上述研究工作的基礎(chǔ)上,提出了一種實(shí)時(shí)柔性加減速控制算法。首先,在自適應(yīng)前瞻處理中,確定離散小線段拐角處允許通過的最大速度,并保證小線段兩端速度的可達(dá)性;然后,通過采用預(yù)測校正的方式,實(shí)時(shí)計(jì)算下一插補(bǔ)周期的進(jìn)給速度,實(shí)現(xiàn)速度和加速度的連續(xù)變化、加加速度的有界變化。同時(shí),如果在加工過程中機(jī)床參數(shù)或狀態(tài)發(fā)生了改變,動態(tài)修調(diào)模塊能在滿足柔性加減速控制的條件下,對當(dāng)前前瞻結(jié)果和速度規(guī)劃結(jié)果做出調(diào)整,從而使得進(jìn)給速度可及時(shí)地進(jìn)行響應(yīng)。
高檔數(shù)控系統(tǒng)中,前瞻是實(shí)現(xiàn)高速高精加工不可或缺的功能,它的主要任務(wù)是確定加工路徑中相鄰小線段拐角處的最大進(jìn)給速度,保證小線段兩端速度的可達(dá)性,實(shí)現(xiàn)最優(yōu)速度規(guī)劃,提高加工效率。
前瞻處理算法由前瞻緩沖區(qū)的創(chuàng)建、拐角最大速度的計(jì)算、加減速可行性判斷、前瞻終止條件、前瞻初始化組成。
圖1所示為前瞻處理算法所采用的前瞻緩沖區(qū),該緩沖區(qū)能夠存儲N條小線段。本算法使用小線段數(shù)組micro_lines[N]來表示該前瞻緩沖區(qū),其中小線段的數(shù)據(jù)結(jié)構(gòu)如下:
structMICRO_LINE//記錄小線段信息
{
doubles[]; //記錄起點(diǎn)坐標(biāo)
doublee[]; //記錄終點(diǎn)坐標(biāo)
doublel; //記錄段長
doublevs; //記錄初速度
doubleve; //記錄末速度
doublevs_max; //記錄起點(diǎn)拐角最大速度
doubleve_max; //記錄終點(diǎn)拐角最大速度
};
圖1 前瞻緩沖區(qū)Fig.1 Look-ahead buffer
為提高數(shù)控系統(tǒng)的加工效率,需要在滿足伺服系統(tǒng)最大加速度和系統(tǒng)最大輪廓誤差的條件下,計(jì)算相鄰小線段拐角處的最大進(jìn)給速度。
以XY二維空間為例,如圖2所示,AB和BC為由兩條小線段表示的連續(xù)加工路徑,加工方向?yàn)锳→B→C。
圖2 拐角最大速度的計(jì)算Fig.2 Maximum velocity calculation of corner
假設(shè)加工過程中系統(tǒng)允許的最大輪廓誤差為ε,伺服系統(tǒng)為不產(chǎn)生跟隨誤差的理想系統(tǒng),X軸、Y軸方向上所允許的最大加速度分別為aX_max、aY_max,插補(bǔ)周期為T,則拐角∠ABC處所允許的最大加工速度為[16]
式中,α為向量AB與X軸正向之間的夾角;β為向量BC與X軸正向之間的夾角;θ為向量AB與向量BC之間的夾角。
XYZ三維空間中拐角最大速度的計(jì)算方法與XY二維空間的情況類似,假設(shè)加工路徑如圖2所示,則拐角∠ABC處所允許的最大加工速度為
式中,α1為向量AB與XY平面的夾角;β1為向量AB在XY平面上的投影與X軸正向之間的夾角;α2為向量BC與XY平面的夾角;β2為向量BC在XY平面上的投影與X軸正方向之間的夾角;aZ_max為伺服系統(tǒng)在Z軸方向上所允許的最大加速度。
為了確定小線段拐角處的最終速度,需要進(jìn)行加減速可行性判斷,其處理步驟如下。
(1)假設(shè)當(dāng)前小線段的數(shù)組下標(biāo)為q,系統(tǒng)最大進(jìn)給速度為F。如果q>N,結(jié)束加減速可行性判斷;否則,令當(dāng)前小線段終點(diǎn)處的拐角限制速度v_min=min(micro_lines[q].ve_max,F),其中,micro_lines[q].ve_max為當(dāng)前小線段的末速度。
(2)如果micro_lines[q].vs
(3)正向加速可行性判斷。按圖3所示的加速度曲線進(jìn)行加速,計(jì)算加速距離l′。如果l′>micro_lines[q].l,則末速度不可達(dá),反求出能夠加速到的最大速度ve′,令micro_lines[q].ve=micro_lines[q+1].vs=ve′;否則,令micro_lines[q].ve=v_min,micro_lines[q+1].vs=v_min;結(jié)束加減速可行性判斷。
圖3 加速度曲線圖Fig.3 Acceleration curve
(4)反向加速可行性判斷。按圖3所示的加速度曲線進(jìn)行反向加速,計(jì)算加速距離l′。如果l′ ①如果r≤1,結(jié)束加減速可行性判斷。 ②如果micro_lines[r].vs>micro_lines[r].ve,按圖3所示的加速度曲線進(jìn)行反向加速,計(jì)算加速距離l′,進(jìn)入步驟③;否則,結(jié)束加減速可行性判斷。 ③如果l′>micro_lines[q].l,則初速度不可達(dá),求出能夠加速到的最大速度vs′,并令micro_lines[r].vs=vs′,micro_lines[r-1].ve=vs′,r←r-1,進(jìn)入步驟①;否則,結(jié)束加減速可行性判斷。 假設(shè)當(dāng)前小線段的數(shù)組下標(biāo)為q,v′為計(jì)算得到的當(dāng)前小線段末速度,如果v′≥micro_lines[q].ve,則本次前瞻處理結(jié)束。 當(dāng)數(shù)控系統(tǒng)讀入NC數(shù)控加工文件后,需要進(jìn)行前瞻初始化,其處理步驟如下: (1)向前瞻緩沖區(qū)中讀入N條小線段,將首段的初速度和末段的末速度設(shè)置為零,即micro_lines[1].vs=micro_lines[N].ve=0。 (2)按照1.2節(jié)所述方法,計(jì)算前瞻緩沖區(qū)中N個(gè)小線段拐角處的最大進(jìn)給速度。 (3)按照1.3節(jié)所述方法,對前瞻緩沖區(qū)中的N個(gè)小線段進(jìn)行加減速可行性判斷,確定每個(gè)拐角處的最終速度。 前瞻處理算法的流程如圖4所示,其處理步驟如下: 圖4 前瞻處理流程圖Fig.4 Look-ahead proccessing flow chart (1)數(shù)控系統(tǒng)讀入NC數(shù)控加工文件后,進(jìn)行前瞻初始化。 (2)進(jìn)入第2節(jié)預(yù)測校正實(shí)時(shí)速度規(guī)劃算法,對前瞻緩沖區(qū)中的首段進(jìn)行實(shí)時(shí)速度規(guī)劃。 (3)如果存在后續(xù)小線段,則向前瞻緩沖區(qū)隊(duì)尾讀入一條小線段,令micro_lines[N].ve=0,micro_lines[N].ve_max=0,計(jì)算前瞻緩沖區(qū)內(nèi)第N-1段和第N段拐角處的最大進(jìn)給速度vt,并令micro_lines[N].vs_max=micro_lines[N-1].ve_max=vt。然后,令q=N,按1.3節(jié)所述方法,進(jìn)行加減速可行性判斷。 (4)如果前瞻緩沖區(qū)內(nèi)沒有小線段,則結(jié)束前瞻處理;否則,進(jìn)入步驟(2)。 預(yù)測校正實(shí)時(shí),速度規(guī)劃算法利用前瞻處理,以預(yù)測的方式,計(jì)算下一插補(bǔ)周期進(jìn)給速度,并依據(jù)機(jī)床動態(tài)性能,校正下一插補(bǔ)周期的速度、加速度和加加速度,然后預(yù)測柔性速度規(guī)劃的可行性,根據(jù)預(yù)測結(jié)果來確定下一步操作,如進(jìn)行加速插補(bǔ)一步處理、加速處理或減速處理。該算法能夠?qū)崿F(xiàn)進(jìn)給速度的實(shí)時(shí)計(jì)算,并保證速度曲線光滑、加速度曲線連續(xù)、加加速度曲線有界。該算法由預(yù)測減速、加速和減速三個(gè)模塊組成,其算法流程如圖5所示。 圖5 速度規(guī)劃算法流程圖Fig.5 Velocity planning algorithm flow chart 加工過程中,速度、加速度和加加速度的突變會對機(jī)床造成沖擊,引起振動。因此,在速度規(guī)劃時(shí),需要尋找減速點(diǎn),提前進(jìn)行減速,保證各驅(qū)動軸不超過其最大加減速能力。 假設(shè)系統(tǒng)最大進(jìn)給速度為F,各個(gè)驅(qū)動軸的最大加速度為A,最小加速度為-A,最大加加速度為J,最小加加速度為-J,插補(bǔ)周期為T,當(dāng)前插補(bǔ)周期的速度、加速度和加加速度分別為vi、ai、ji,末速度為ve,剩余距離為L。經(jīng)過預(yù)測減速處理后,其速度和加速度曲線如圖6所示,B-C為加加速階段;B-C1為勻加速階段;C1-D為減加速階段,加速度從最大值減小到零;D-E-F-G為減速階段,加速度先減小到最小值,然后增大,當(dāng)加速度增大為零時(shí),達(dá)到末速度;具體的預(yù)測減速處理流程如下。 (1)假設(shè)當(dāng)前插補(bǔ)周期的速度、加速度和加加速度分別為vi、ai、ji,剩余距離為L,以最大加加速度J預(yù)加速一個(gè)插補(bǔ)周期,如圖6中B-C段所示,則下一插補(bǔ)周期的速度vi+1、加速度ai+1、加加速度ji+1和所走過的距離Li+1分別為 根據(jù)機(jī)床動態(tài)性能限制,需要對運(yùn)動參數(shù)進(jìn)行校正,以保證機(jī)床各驅(qū)動軸不超過其設(shè)置的最大加速度和加加速度,其流程如圖7所示。 如果vi+1>F,則將下一插補(bǔ)周期的運(yùn)動參數(shù)校正為 (a)加速度曲線 (b)速度曲線圖6 預(yù)測減速處理速度、加速度曲線圖Fig.6 Velocity and acceleration curves of predict-decelerating 圖7 運(yùn)動參數(shù)校正Fig.7 Motion parameters correcting 如果ai+1>A,則將下一插補(bǔ)周期的運(yùn)動參數(shù)修改為 (2)如圖6中C1-D段所示,從C1處開始,以最小加加速度-J進(jìn)行加速,直到加速度減小為零。則t2處的速度vj和減加速階段所走過的距離Lj分別表示為 如果vj>F,則結(jié)束當(dāng)前預(yù)測減速處理,進(jìn)入2.2節(jié)的加速處理模塊。 (3)如圖6中D-E-F-G段所示,從D處開始,進(jìn)行減速,直到速度減小為末速度ve。在減速過程中,其加加速度為 (1) 對式(1)按時(shí)間t進(jìn)行積分,可以得到加速度: (2) 由圖6可知,在t3時(shí)刻,加速度達(dá)到了最小值-A,在t5時(shí)刻,加速度為零,根據(jù)式(2)可得 T2=T4=A/J 對式(2)按時(shí)間t進(jìn)行積分,可以得到速度: (3) 從圖6可知,在t5時(shí)刻,速度為ve,根據(jù)式(3)可得 對式(3)按時(shí)間t進(jìn)行積分,可以得到位移: (4) 根據(jù)式(4),在t5時(shí)刻可以求得減速階段所走的距離Lk: 由圖6可知,D-E-F-G段加速度曲線如果沒有勻減速階段E-F,即如圖8中D-E/F-G段所示,減速階段所走的距離Lk可表示為 圖8 無勻減速階段的加速度曲線圖Fig.8 Acceleration curve without uniform decelerating phase 判斷按照預(yù)測減速處理方式走過的距離是否超過剩余距離,如果Li+1+Lj+Lk>L,則結(jié)束當(dāng)前預(yù)測減速處理,進(jìn)入2.2節(jié)的加速處理模塊;否則,將減速信息存儲到變量dec_info中,其數(shù)據(jù)結(jié)構(gòu)如下: structDEC_INF//記錄減速信息 { doublemin_a; //記錄最小加速度 doublevs; //記錄減速開始速度 doubleve; //記錄減速結(jié)束速度 doublet2; //記錄減減速時(shí)間 doublet3; //記錄勻減速時(shí)間 doublet4; //記錄加減速時(shí)間 }; (4)按照計(jì)算得到的下一插補(bǔ)周期的數(shù)據(jù)(速度vi+1、加速度ai+1、加加速度ji+1和剩余距離L)進(jìn)行插補(bǔ),然后,將當(dāng)前插補(bǔ)周期數(shù)據(jù)設(shè)置為vi=vi+1,ai=ai+1,ji=ji+1,L←L-Li+1,最后,進(jìn)入步驟(1)。 在預(yù)測減速處理過程中,如果進(jìn)給速度超過限制值或無法減速到末速度,需要從當(dāng)前位置{vi,ai,ji,L}立即以最小加加速度-J進(jìn)行加速插補(bǔ),直到加速度減小為零,避免因各驅(qū)動軸超出最大加減速能力而對機(jī)床造成沖擊,降低加工質(zhì)量。因此,按照以下步驟進(jìn)行插補(bǔ),保證速度限制條件和末速度的可達(dá)性,以及柔性控制的可行性,其加速度曲線如圖9中的B-D1段所示。 圖9 加速處理加速度曲線圖Fig.9 Acceleration curve of accelerating phase (2)根據(jù)下式計(jì)算下一插補(bǔ)點(diǎn)坐標(biāo): (3)如果p 加速處理結(jié)束后,需要進(jìn)行減速處理,即在最短的時(shí)間內(nèi),將進(jìn)給速度減速到末速度,同時(shí)保證刀具達(dá)到當(dāng)前加工段的終點(diǎn)。按照以下步驟進(jìn)行插補(bǔ),其加速度曲線如圖10所示。 圖10 減速處理加速度曲線圖Fig.10 Acceleration curve of decelerating phase (1)假設(shè)以vi勻速一個(gè)插補(bǔ)周期,如圖10中B-C段所示,勻速的距離L′=viT。 (2)如圖10中C-D-E-F段所示,進(jìn)行減速,直到速度減小到末速度ve,可得減速階段所走的距離: 由圖10可知,C-D-E-F段加速度曲線如果沒有勻減速階段D-E,即如圖11中C-D/E-F段所示,減速階段所走的距離可表示為 圖11 無勻減速段加速度曲線圖Fig.11 Acceleration curve of no -uniform decelerating phase (4)按變量dec_info進(jìn)行減速插補(bǔ),然后結(jié)束當(dāng)前減速處理。 機(jī)床加工過程中,可能會依據(jù)加工需要進(jìn)行倍率修調(diào),即調(diào)整最大進(jìn)給速度,這會對當(dāng)前速度規(guī)劃結(jié)果和前瞻處理結(jié)果產(chǎn)生影響。在保證各驅(qū)動軸最大加減速能力和柔性控制的前提下,快速地響應(yīng)倍率修調(diào),需要對當(dāng)前速度規(guī)劃結(jié)果和前瞻處理結(jié)果進(jìn)行調(diào)整。 在第1節(jié)的前瞻處理中,拐角限制速度v_min為拐角最大進(jìn)給速度ve_max和系統(tǒng)最大進(jìn)給速度F中的較小者,而拐角最終速度ve根據(jù)v_min來確定。因此,當(dāng)修調(diào)倍率,增大最大進(jìn)給速度,即F增大時(shí),已完成的前瞻處理結(jié)果會受到影響,其動態(tài)修調(diào)方法如下: (1)如果ve=F且F (2)逆向依次對前瞻緩沖區(qū)中所有因F增大而被修改了拐角限制速度的拐角所在的直線段進(jìn)行反向加速可行性判斷,直至它們滿足前瞻終止條件。 (3)結(jié)束當(dāng)前對最大進(jìn)給速度進(jìn)行增大的處理,進(jìn)入第3.3節(jié),并進(jìn)行當(dāng)前插補(bǔ)段調(diào)整處理。 當(dāng)修調(diào)倍率,減小最大進(jìn)給速度時(shí),假設(shè)最大進(jìn)給速度F減小為F′時(shí),由于拐角最終速度為拐角最大進(jìn)給速度ve_max和系統(tǒng)最大進(jìn)給速度F中的較小者,所以,所有大于F′的拐角最終速度會因此降低,但拐角最終速度的降低不會對已完成的前瞻處理結(jié)果產(chǎn)生影響。因此,對前瞻緩沖區(qū)中所有拐角最終速度ve大于F′的拐角,在將其拐角最終速度修改為F′后,進(jìn)入第3.3節(jié),進(jìn)行當(dāng)前插補(bǔ)段調(diào)整處理。 如果當(dāng)前插補(bǔ)段的拐角最終速度被修改,需要對當(dāng)前速度規(guī)劃結(jié)果和前瞻處理結(jié)果進(jìn)行再次調(diào)整,其動態(tài)修調(diào)方法如下。 (1)對于當(dāng)前插補(bǔ)段,如果其處于預(yù)測減速處理階段,則進(jìn)入步驟(2);如果其處于減速處理階段或者處于加速處理階段,待加速處理結(jié)束后,進(jìn)入步驟(3)。 (2)使用新的末速度micro_lines[1].ve,按照圖6中C1-D-E-F-G段所示的加速度曲線,從當(dāng)前速度進(jìn)行加減速,如果能夠達(dá)到新的末速度,結(jié)束動態(tài)修調(diào)處理;否則,計(jì)算能夠達(dá)到的最大末速度ve′,令micro_lines[1].ve=micro_lines[2].vs=ve′,然后,從前瞻緩沖區(qū)中的第二段開始,按照1.3節(jié)所述的加減速可行性判斷方法,進(jìn)行正向加速可達(dá)性判斷處理,直至滿足前瞻終止條件,結(jié)束動態(tài)修調(diào)處理。 (3)使用新的末速度micro_lines[1].ve,按照圖6中D-E-F-G段所示的加速度曲線,從當(dāng)前速度進(jìn)行減速,如果能夠達(dá)到新的末速度,結(jié)束動態(tài)修調(diào)處理;否則,計(jì)算能夠達(dá)到的最大末速度ve′,令micro_lines[1].ve=micro_lines[2].vs=ve′,然后,從前瞻緩沖區(qū)中的第二段開始,按照1.3節(jié)所述的加減速可行性判斷方法,進(jìn)行正向加速可達(dá)性判斷處理,直至滿足前瞻終止條件,結(jié)束動態(tài)修調(diào)處理。 為了驗(yàn)證該實(shí)時(shí)柔性加減速控制算法的正確性和有效性,在1.66 GHz的Intel Atom N450 CPU,512 MB內(nèi)存,以及RTLinux實(shí)時(shí)操作系統(tǒng)作為軟硬件環(huán)境下進(jìn)行仿真試驗(yàn)。為了與本文所提出的算法形成對比,將實(shí)時(shí)直線加減速控制算法稱為傳統(tǒng)算法。 設(shè)定系統(tǒng)的插補(bǔ)周期T=2 ms,X軸、Y軸的最大加加速度J=50 m/s3,最大加速度A=1 m/s2,最大進(jìn)給速度F=0.1 m/s,最大輪廓誤差ε=0.01 mm。實(shí)驗(yàn)中輸入的初始加工路徑如圖12所示,該加工路徑是按照0.01 mm的精度,由3個(gè)順序相連的橢圓弧離散成的210段小線段連接成的。 圖12 加工路徑Fig.12 Machining trajectory 使用本文算法對圖12中的軌跡進(jìn)行加工,表1所示為相同加工軌跡和機(jī)床參數(shù)條件下,采用不同前瞻段數(shù)N時(shí),前瞻處理所需計(jì)算時(shí)間,表中數(shù)據(jù)為對加工軌跡進(jìn)行若干次實(shí)驗(yàn)后得到的平均值。由表1可知,本文算法在前瞻初始化階段,需要相對較長的時(shí)間進(jìn)行計(jì)算,但該階段不需要保證處理的實(shí)時(shí)性。在后續(xù)的前瞻過程中,由于不需要前瞻到首段,前瞻效率得到提高,處理時(shí)間與前瞻段數(shù)的相關(guān)性變小,且遠(yuǎn)小于T=2 ms,因此,本文算法能夠滿足數(shù)控加工的實(shí)時(shí)性要求。 表1 前瞻處理算法計(jì)算時(shí)間 令前瞻段數(shù)N=100,使用本文算法和傳統(tǒng)算法分別對圖12中的軌跡進(jìn)行加工,當(dāng)達(dá)到A點(diǎn)和B點(diǎn)時(shí)調(diào)整倍率,使最大進(jìn)給速度分別為3F/2和F/2,得到的輪廓誤差、速度、加速度、加加速度曲線。 對加工生成的插補(bǔ)數(shù)據(jù)進(jìn)行處理分析,計(jì)算由相鄰插補(bǔ)點(diǎn)構(gòu)成的小線段到原始曲線的最遠(yuǎn)距離,可以得到輪廓誤差曲線,如圖13所示,兩種算法的輪廓誤差都被控制在ε=0.01 mm以內(nèi),滿足加工精度的要求。 圖13 輪廓誤差曲線Fig.13 Contour error curves 由圖14可知,本文算法與傳統(tǒng)算法的加工時(shí)間分別為1.56 s和1.64 s,且本文算法的速度曲線更加光滑。在加工過程中,當(dāng)調(diào)整倍率時(shí),兩種算法都能對進(jìn)給速度做出快速響應(yīng)。當(dāng)加工到A點(diǎn)后,因?yàn)樽畲筮M(jìn)給速度增大,當(dāng)前進(jìn)給速度小于限制值3F/2,為提高加工效率,系統(tǒng)立即進(jìn)行加速;當(dāng)?shù)竭_(dá)B點(diǎn)后,由于最大進(jìn)給速度減小,當(dāng)前進(jìn)給速度大于限制值F/2,則立即進(jìn)行減速。 圖14 速度曲線Fig.14 Velocity curves 加工過程中的加速度和加加速度曲線如圖15、圖16所示,傳統(tǒng)算法在加速或減速階段的開始和結(jié)束處,存在加速度階躍、加加速度突變的現(xiàn)象,而且加加速度會超過系統(tǒng)設(shè)置的最大值J,引起機(jī)床的振動,對機(jī)床和加工零件造成損壞。本文算法的加速度曲線是連續(xù)的,不存在突變,且加加速度是有界的,具有較好的柔性,避免對機(jī)床產(chǎn)生較大的沖擊,保證機(jī)床的平穩(wěn)運(yùn)行。 圖15 加速度曲線Fig.15 Acceleration curves 圖16 加加速度曲線Fig.16 Jerk curves 因此,本文算法在實(shí)現(xiàn)實(shí)時(shí)柔性加減速控制的同時(shí),支持動態(tài)修調(diào),有助于機(jī)床的平穩(wěn)運(yùn)行和加工質(zhì)量的提高,滿足實(shí)際加工的需求。 基于自適應(yīng)前瞻和預(yù)測校正的實(shí)時(shí)柔性加減速控制算法可提高離散小線段的加工速度和加工質(zhì)量,實(shí)現(xiàn)加工路徑的高速高質(zhì)量加工。與傳統(tǒng)的速度規(guī)劃算法相比,該算法使用S型加減速曲線,使加工過程中的速度曲線光滑、加速度曲線連續(xù)、加加速度曲線有界,保證了數(shù)控系統(tǒng)的柔性控制,有助于機(jī)床的平穩(wěn)運(yùn)行和加工質(zhì)量的提高。該算法采用前瞻和預(yù)測校正的方式,實(shí)時(shí)地計(jì)算下一插補(bǔ)周期的進(jìn)給速度,實(shí)現(xiàn)了實(shí)時(shí)最優(yōu)速度規(guī)劃,提高了加工效率。動態(tài)修調(diào)處理在滿足柔性加減速控制的條件下,對當(dāng)前前瞻結(jié)果和速度規(guī)劃結(jié)果做出調(diào)整,從而使得進(jìn)給速度及時(shí)地進(jìn)行響應(yīng),滿足實(shí)際加工的需求。1.4 前瞻終止條件
1.5 前瞻初始化
1.6 前瞻處理
2 預(yù)測校正實(shí)時(shí)的速度規(guī)劃算法
2.1 預(yù)測減速處理
2.2 加速處理
2.3 減速處理
3 動態(tài)修調(diào)處理算法
3.1 增大最大進(jìn)給速度
3.2 減小最大進(jìn)給速度
3.3 當(dāng)前插補(bǔ)段調(diào)整
4 仿真試驗(yàn)分析
5 結(jié)論