陳振煒,李艷林,陰雷鳴,朱進全
(濟南邦德激光股份有限公司,濟南 250000)
插補運算過程中,為提升加工效率,利用速度前瞻技術[1-2]使得程序段與程序段之間銜接速度不為零;而一般速度規劃與插補計算的都是程序段的切向速度,故在銜接過程中,因為加工軌跡的轉向或者程序段之間的曲率不連續,會產生突變的轉向加速度[3-4],從而使得加工過程中產生機床振動。目前國內外對于插補中結合濾波的算法研究成果豐富,于東等[5]提出一種結合濾波技術以及直線加減速規劃的方法,在傳統的直線加減速后面串聯一個滑動濾波器,通過滑動濾波器來解決加速度跳變問題,但解決的問題是單獨程序段通過直線加減速時,直線加減速算法本身在單個程序段進行加減速時存在的加速度突變問題。楊東升等[6]提出的基于前瞻-濾波的加減速算法,提高了加工速度,有效解決了運動中震動的問題,但未考慮段與段的銜接位置速度轉向帶來的加速度突變。高敏等[7]提出的數字卷積加減速算法,通過對固定速度進行兩次卷積,實現高柔性S形加速度曲線。李冬冬等[8]利用FIR濾波器,對速度和加速度濾波進行三次濾波,生成平滑的高階參考軌跡,通過調節進給脈沖的重疊時間,精確控制拐角輪廓誤差。LUIGI等[9]提出一種FIR濾波器生成高階軌跡的基本方法。CHEN等[10]提處一種FIR濾波方法能減小刀具震動。以上方法皆未討論如何使用濾波器處理銜接段之間加速度突變的問題處理。
為解決程序段之間的銜接處的加速度突變問題。本文在數控機床XY工作臺下,使用S形加減速插補方法,在此基礎上提出一種適用于插補的濾波處理方法,該方法能有效解決程序段銜接處加速度突變問題。通過對整個運動段進行速度濾波是提升加工運動平穩特性的方法之一,將數控系統各個單軸速度量低通濾波,消除其高頻成分,使得各個單軸速度曲線變得平滑,加速度變得連續,從而抑制機床震動。本文提供一種各個軸位置點實現速度濾波的方法,通過將各個單軸的插補位置直接輸入低通濾波器濾波器分別進行濾波,濾波輸出的各個單軸的點作為最終輸出軸的位置點,以此達到速度濾波效果。在插補之后進行濾波,會使得運動段在銜接處以及圓弧段上產生一定輪廓誤差,本文還分析了濾波產生的輪廓誤差進行控制的方法;并且對濾波后產生的進給量過小問題進行分析并做補償處理。
主要分析對單軸進行濾波時FIR濾波器滿足的條件。首先分析濾波器的原理,記濾波器系數為h(n),假設離散輸入信號為x(n),輸出信號為y(n),則有濾波器輸出值為:
y(n)=x(n)*h(n)
(1)
式中:*表示卷積運算。
典型的FIR濾波器單位樣值響應如圖1所示,對于FIR數字濾波器,單位樣值響應的系數值就是FIR濾波器的系數值。在加工圖形時,對各個軸速度進行濾波,假定在一個周期內只有單位速度信號為1 mm/s,系統插補周期為1 ms,則在該周期加工時,加工所經過的直線距離為0.001 mm,當經過FIR濾波器濾波后,其輸出的速度波形形狀同樣如圖1所示,即將單位速度信號展開。若濾波器響應有負值,則表明速度出現負值,在一維加工過程中會產生反向加工,二維加工過程中可能會產生不必要的振蕩波紋或螺旋線,這是加工過程不允許的。

圖1 典型的FIR低通濾波器單位樣值響應
綜上所述,本文規定濾波器系數全為正值。同時,加工長度要前后一致,故濾波器系數和必須為1,即需要將濾波器為歸一化。同時規定使用的FIR濾波器為線性相位濾波器,也即是其濾波器系數對稱。
假設濾波器長度為M,則在濾波過程中,當第i個速度值進行濾波時,可以計算濾波后的位置點,有如下關系:
當i≤M時,有:
(2)
式中:Ts為插補周期,(P0,P1,…,PM,…)為插補序列,Pi為當前插補周期插補點,Pi-1為前一個周期的插補點,(α0,α1,…,αM)為濾波器系數,(Q0,Q1,…,QM,…)為濾波器輸出點。將上式展開并處理,即有:
Qi=P0+α0(Pi-P0)+α1(Pi-1-P0)+…+
αi-1(P1-P0)+αi(P0-P0)+…+αM(P0-P0)=
α0Pi+α1Pi-1+…+αi-1P1+αiP0+…+αMP0
(3)
同理,當i≥M+1時,有:
Qi=P0+α0(Pi-P0)+α1(Pi-1-P0)+…+
αM-1(Pi-M+1-P0)+αM(Pi-M-P0)=
α0Pi+α1Pi-1+…+αM-1Pi-M+1+αMPi-M
(4)
綜合上述分析得出一個重要結論,在進行插補后,對各個單軸速度進行濾波,可以通過直接對各個軸位置點進行濾波卷積運算實現。利用濾波器輸入數據與濾波器系數卷積,得到濾波器輸出點,在濾波起始位置,以及濾波終止位置需要對濾波進行如下操作:假設用一個隊列存儲需要與濾波器卷積的數據,稱為濾波數據點隊列,該隊列長度與濾波器長度一致。初始化時將濾波數據點隊列全部初始化為運動段起始點,然后將粗插補點逐個壓入濾波輸入數據點隊列運算,在插補結束時,將最后一個插補點重復壓入濾波數據點隊列運算,直到隊列全部變為最后一個插補點即濾波結束。
分析濾波器階數、濾波器中心頻率以及拐角處的速度對輪廓軌跡誤差的影響,加工最大速度為500 mm/s,加工加速度為10 000 mm/s2,最大加減速時間為50 ms,插補周期為1 ms。圖中選用漢寧窗,設定拐角銜接處速度為200 mm/s,如圖2a所示,分析程序段之間銜接的夾角為直角時輪廓誤差隨著濾波器階數以及中心頻率的變化,圖2a中可以發現,隨著濾波器截止頻率的增加,拐角誤差并未產生任何變化,表明濾波器的截止頻率對拐角誤差無影響。同時隨著濾波器階數的增加,拐角誤差逐漸增大,同時若要求加工過程中不會產生過沖現象,則濾波器的系數則必須大于零,此時經過計算得到濾波器階數與濾波器的截止頻率限制區間如圖2a漸變區域所示,該區域為參數可選區間,空白部分表示在該區間的參數會使得濾波器階躍響應產生過沖,從而影響加工。該結論可以擴展到任意類型的程序段銜接的誤差規律中,即對于任意的程序段銜接,經過FIR低通濾波器濾波后,濾波器的中心頻率對拐角誤差無影響,濾波器的階數與拐角誤差正相關,并且濾波器可選參數區間類似于圖2a中所示的漸變區域。圖2b為選定FIR濾波器為漢寧窗,濾波器中心頻率為20 Hz時,拐角大小為π/50時,拐角速度以及濾波器階數對拐角誤差的影響,分析可知,隨著拐角速度的增加,拐角誤差逐漸增加。

(a) 拐角誤差隨著濾波階數、濾波截止頻率的變化 (b) 拐角誤差隨著濾波階數、拐角速度的變化
分析圓弧曲線誤差隨著濾波器階數以及拐角速度的變化,選定FIR濾波器為漢寧窗,濾波器中心頻率為20 Hz,圓弧半徑為50 mm,圖3a為直線與圓弧相切時的曲線誤差,因為直線相切,誤差主要由加工圓弧時曲線誤差引起,此時隨著濾波階數的增加曲線誤差逐漸增加,濾波階數一定時銜接處的速度對曲線誤差的影響較小。圖3b為圓弧與圓弧夾角為π/2時,總的輪廓誤差隨著拐角速度的變化,分析可知,隨著拐角速度的增加,軌跡誤差呈現折線形式,表明在拐角速度較小時,曲線誤差為輪廓誤差的主要因素。隨著拐角速度的增加,拐角誤差的影響超過曲線誤差,此時由拐角誤差為輪廓誤差主要因素。

(a) 直線與圓弧銜接輪廓誤差 (b) 圓弧與圓弧銜接輪廓誤差
定量分析如何通過參數的約束限制曲線誤差以及拐角誤差。在插補后對各軸進行速度濾波,使得圓弧以及拐角處產生輪廓誤差;為將誤差限制在預設范圍內,本文使用的方法是,在速度規劃時,提前通過軌跡誤差計算拐角銜接處的速度限制以及圓弧的最大速度限制,再進行速度規劃,從而達到控制濾波帶來的拐角誤差與曲線誤差的目的,下面來分別分析濾波器產生的拐角誤差與曲線誤差的與速度規劃的關系。本方法基于S形加減速算法進行計算,其他類型的加減速算法可以類比得到。
首先分析濾波對圓弧曲線誤差的影響,濾波器的奇偶性對誤差影響較小,在此只對偶數階濾波器進行分析,對于假設某一段圓弧的在做插補后起點到終點的插補點的位置為:
P=(P0,P1,…,PN,…,P2N)
(5)
長度為2N+1 。
假定濾波器系數為α=(α0,α1,…,α2N),則通過濾波之后得到的新的插補點為:
Q=(Q0,Q1,…,Q2N,…,Q4N)
(6)

圖4 圓弧曲線誤差
δs=|Q2N-PN|
(7)
式中:δs為曲線誤差,濾波后得到的點為:
(8)
根據式(8),此時:

(9)
式中:
Pi+P2N-i-2PN=2R(1-cosθi)e
(10)
式中:i∈(0,1,…,N-1),R為圓弧曲率半徑,e為PN指向圓心的單位向量,θi為Pi與PN所夾圓心角。
定義:
(11)
式中:v為圓弧最大速度,Ts為插補周期。
將式(10)和式(11)代入式(9),可以得到誤差為:
(12)
于是,在速度規劃時,圓弧最大速度有:
(13)
綜上所述,通過S形加減速進行插補時,若給定曲線誤差δs,圓弧半徑R,插補周期Ts,濾波器系數α,濾波器階數2N, 即可以在速度規劃階段通過式(13)限制圓弧最大速度,從而使得濾波后誤差不會超過限制。
再分析濾波對拐角誤差的影響,在此給出特定條件下的誤差分析表達式,本文分析拐角誤差時,使用的程序段軌跡皆為直線段,并且使用S形加減速,當銜接的程序段為其他類型時,可以近似的用本文分析的拐角誤差替代。與圓弧曲線誤差分析一致,如圖5所示,此時定義誤差:
δc=|Q2N-PN|
(14)
則有:
(15)
在滿足S形加減速條件下,此時規定在拐角處產生誤差拐角誤差時處于S形加減速的第一階段,即此時有:
(16)
式中:TA為最大加減速時間,Ts為插補周期。
此時有誤差:
δc=|Q2N-PN|=
(17)
式中:當拐角速度為零時,可知:
(18)
式中:amax為最大加速度,β為直線的夾角,d為直線角平分線PN指向Q2N的單位向量。
當拐角處速度為零時,根據式(17)和式(18)可得:
(19)
然后分析,當拐角速度不為零時,拐角誤差的表達式,則此時拐角速度不為零,式(18)變為:
(20)
式中:J為加加速度。
于是有一般拐角誤差為:
(21)
此時,在速度規劃中通過誤差對拐角處規劃速度進行限制,即有:
(22)
綜上所述,通過S形加減速進行插補時,若給定拐角誤差δc,插補周期Ts,拐角處夾角β,濾波器系數α,濾波器階數2N,即可以在速度規劃階段通過式(22)限制拐角處速度,從而使得濾波后拐角誤差不會超過限制。其中要求其濾波器階數滿足式(16)。同時分析可知,拐角處通過濾波后,會產生最小拐角誤差,即給定的拐角誤差必須必最小拐角誤差大。
在濾波過程中,因為在程序段的起始以及末尾處的速度較小,此時經過濾波之后會產生大量的速度較小的值,當該段速度小于伺服驅動最小脈沖長度時,電機不會產生運動,造成刀具在該處停留時間過長產生大量延時,一方面降低的加工效率,另外一方面,在某一點切削時間過長對于零件成形的質量造成影響。為提升系統性能,必須對程序段進行濾波的起始位置以及尾部位置進行處理。
先分析插補序列,假設有插補序列為(P0,P1,…,PN,…),濾波器系數為(α0,α1,…,αN),濾波后得到的點為(Q0,Q1,…,QN,…),于是輸出第一個點的位置為:
Q0=P0
(23)
速度濾波后,輸出的第二個點位置:
Q1=P0+α0(P1-P0)
(24)
分析極端情況,即當初始速度為零,初始加速度為零時,使用S形加減速,此時,假設處在加加速階段,分析第一個點:
(25)
式中:amax為最大加速度,Ts為插補周期,TA為最大加減速時間,于是:
(26)

(27)
分析可知,在加工開始階段,此時有幾個脈沖周期刀具不動直到插補速度足夠大,電機才能開始運動。此時需要丟棄一個周期內進給長度小于伺服一個脈沖長度的插補位置點,即稱為通過濾波器進行延時補償。
濾波補償分為在濾波開始時以及濾波即將結束時進行,如圖6所示, 假設用一個隊列存儲需要與濾波器卷積的數據,稱為濾波數據點隊列,該隊列長度與濾波器長度一致。在濾波起始階段,當插補點壓入隊列時并不進行濾波運算,也不輸出濾波點,直到壓入隊列的插補點為第(N+1)/2個時,才開始將第一次卷積運算,并將濾波點輸出,以后每個周期都進行濾波輸出。在濾波結束階段,當插補結束時,將最后一個插補點重復壓入濾波數據點隊列運算,當壓入的最后一個插補點的次數達到(N+1)/2次時,直接結束濾波運算。其中(N+1)/2為N+1的1/2并向下取整的整數。

圖6 延時補償原理
為進一步理解補償作用,給出補償效果示意圖如圖7所示,坐標(29.191,92.235)的位置為速度為零的點,在此處開始加減速。此時如果不存在濾波補償,插補點在坐標(29.191,92.235)處聚集,此時影響加工質量與加工效果,當加上濾波補償之后,此時可知插補點變少并且分散,從而提升了加工效率并且提升加工質量。

圖7 濾波補償前后軌跡對比放大圖
分析可知,在濾波過程中,其濾波的算法流程如圖8所示。其具體算法步驟為:

圖8 濾波插補算法流程圖
步驟1:初始化程序段參數;
步驟2:在速度規劃時,通過濾波的曲線誤差限制圓弧的最大速度,通過濾波的拐角誤差限制程序段之間的銜接速度,并進行速度規劃;
步驟3:通過S形加減速進行插補;
步驟4:將插補的位置點輸入濾波器進行濾波。
為了進一步說明本文方法,下面給出一組參數進行分析,假設加工G代碼為:
G0 X0 Y0 F150000
G1 X5 Y0 F120000
G1 X5 Y3
G1 X0 Y3
G1 X0 Y0
其他部分參數設置如下:插補周期:0.001 s,最大加速度:10 000 mm/s2,最大速度:200 mm/s。如圖9可知,濾波后軌跡閉合,與濾波前軌跡在起點位置,終點位置以及直線處重合,在拐角處有一定的誤差。該誤差可通過濾波限速控制。表明通過對插補點直接進行濾波,起始位置以及終止位置不會產生偏差,在直線處,軌跡不會產生偏差。

圖9 濾波前后軌跡對比圖
如圖10所示,觀察對比濾波前后X軸速度以及Y軸速度,可知不平滑處的速度通過濾波后速度變得平滑,而總的加工時間略有增加。

(a) X軸速度 (b) Y軸速度
如圖11所示,在濾波前加速度有幾個突變的點,即對應于軌跡的拐角處,此時該突變點會給機床造成瞬時沖擊,使機床產生震動,通過濾波之后,運動段之間的加速度突變被消除,機床柔性沖擊得以消減。經過低通濾波后,在對直線加工時,會平滑加工的速度曲線,使得機床運動更加柔和,并且能展開突變的加速度分量,減緩機床運動對機床的沖擊,減小了機床震動發生的可能,但會產生拐角誤差。在對圓弧進行加工時,平滑效果不大,會產生曲線誤差。

(a) X軸加速度 (b) Y軸加速度
如圖12所示,觀察濾波前后的路程-速度關系圖可知,在該G代碼參數情況下,經過濾波后,在速度最小處,即是拐角處,速度得到一定提升。同時濾波前的距離-速度圖橫坐標能達到16 mm,而濾波后橫坐標,即距離小于16 mm,表明濾波后總加工長度變小,其原因在于拐角處的內縮,導致濾波后的加工長度略小于濾波前的總長度,但通過限速拐角誤差可以控制在限定范圍內。

圖12 濾波前后路程-速度關系圖
下面再給出另一組參數討論誤差控制效果,其加工假設加工G代碼為:
G00 X0 Y0
G01 X5 Y10
G01 X10 Y0
其他部分參數設置如下:插補周期:0.001 s,最大加速度:10 000 mm/s2,最大速度:200 mm/s,拐角精度:0.01 mm。濾波器使用FIR布萊克曼窗函數濾波器,階數為15階。
如圖13所示,在誤差限制條件為0.01 mm時,未采用誤差控制時,實際加工軌跡與未加濾波時的軌跡拐角處誤差約為0.02 mm,超過了給定的誤差限制,使用誤差控制后,最終插補濾波后得到拐角的限制精度為0.01 mm,達到給定拐角精度要求。

圖13 未濾波軌跡、濾波未采用誤差控制軌跡以及濾波采用誤差控制軌跡拐角對比
再給出一組圓弧的G代碼,對比圓弧誤差控制效果,如下:
G00 X0 Y0
G02 X20 Y0 I10 J0
G02 X0 Y0 I-10 J0
其他部分參數設置如下:插補周期:0.001 s,最大加速度:10 000 mm/s2,最大速度:200 mm/s,曲線精度:0.05 mm。濾波器使用FIR布萊克曼窗函數濾波器,階數為15階。
如圖14所示。在誤差限制條件為0.05 mm時,在做誤差控制時,實際加工軌跡與未加濾波時的軌跡拐角處誤差約為0.25 mm,超過了給定的誤差限制,使用誤差控制后,最終插補濾波后得到拐角的限制精度為0.05 mm,達到給定拐角精度要求。
首先,根據直接將各個軸的插補點位置作為濾波器輸入,計算結果是位置點,作為濾波輸出,即達到對各個軸的速度進行濾波的效果,簡化了速度濾波計算流程。通過濾波后,使得機床運動平緩,消除了機床柔性沖擊,抑制機床震動,提高機床加工穩定性以及加工精度;其次,采用本文中針對速度濾波給定誤差限制速度的方法有效解決了濾波后產生的誤差精度不可控的問題;最后,通過濾波脈沖補償之后,此時在準停點密集的點位被減少,提升了系統加工效率,提升系統性能。
通過在插補過程中加入對軸的濾波流程,在滿足給定誤差的要求下,提升的機床運動的平滑性,提高了加工質量。下一步將針對五軸的軸關節濾波及相應的誤差控制開展研究。