李甍材,趙東標,馮勝利
(南京航空航天大學 機電學院,南京 210016)
NURBS曲線擁有良好的局部控制能力和形狀表達性能,被廣泛用于自由曲線和曲面的構(gòu)造中。國內(nèi)外許多學者對NURBS曲線插補進行了大量研究,其中一個主要方向是插補中的加減速規(guī)劃問題。
常見的加減速模型有直線型、三角函數(shù)型、指數(shù)型和S型。其中,S型加減速以其良好的柔性在NURBS曲線插補中被廣泛運用[1-2]。從本質(zhì)上講,S型加減速是一種多項式方程的加減速,因此可以通過改進速度方程得到效率或柔性等方面更優(yōu)的改進S型加減速模型。例如,Luo等[3]設(shè)計了一種加加速度連續(xù)且正負上限不同的改進S型加減速模型以提高柔性;趙國勇等[4]設(shè)計了一種使加加速度連續(xù)的七段式三次多項式速度方程;冷洪濱等[5]、Zhang等[6]等簡化S型加減速,設(shè)計了另一種三段式三次多項式的速度方程,在保證加速度曲線連續(xù)的同時以最大加加速度值開始與結(jié)束加減速,減少計算量并縮短了加工時間;Zhu等[7]提出一種分數(shù)冪多項式的速度控制策略來實現(xiàn)加加速度連續(xù);王允森等[8]設(shè)計了四次多項式的速度方程更柔性地實現(xiàn)加加速度連續(xù),緩解高速加工中的沖擊;Li等[9]在四次多項式速度規(guī)劃基礎(chǔ)上加入濾波器進一步實現(xiàn)了加速度、加加速度的平滑和沖擊的減小。石川等[10]根據(jù)加減速軌跡段的特征歸納了8種S型曲線加減速形式,潘海鴻等[11]則更細致全面地分為17種加減速類型。
因為加加速度的連續(xù)和加工效率的提高往往存在沖突,單獨一種改進的S型加減速只能做到一個方面的優(yōu)化。因此,本文設(shè)計了一種兼顧加加速度連續(xù)和加工效率提高的新改進S型加減速模型,再通過與另外兩種分別在加工柔性或加工效率上改進的S型加減速靈活組合,最大程度地發(fā)揮3種改進S型加減速的優(yōu)點,實現(xiàn)加加速度連續(xù)的同時提高加工效率。同時,因為通過速度敏感點分段規(guī)劃的加減速算法往往疏于對段間過渡的優(yōu)化,本文設(shè)計了一種分段間速度平滑算法。先將加減速狀態(tài)類型簡化為4種,再根據(jù)不同加減速類型適當合并前后段曲線一起進行速度規(guī)劃,最終減小了速度曲線的波動,極大地提高了合并前因分段距離限制的加工速度,實現(xiàn)加工柔性與加工效率的進一步提升。
為保證加工質(zhì)量,先求取自適應(yīng)速度作為后續(xù)速度規(guī)劃的最大速度上限,使得任意點處速度值滿足最大弓高誤差emax、最大進給速度Vmax、最大法向加速度ANmax以及最大加加速度Jmax的約束[12-13]。
(1)
式(1)中的曲率半徑ρi與曲率k(ui)成反比,因此可知在曲率極大值處自適應(yīng)速度需要減小。但是一條NURBS曲線往往有多個曲率極大值點,并不是所有曲率極大值點處的最終自適應(yīng)速度都是由曲率決定。例如曲率極大值點的曲率值很小時,它的自適應(yīng)速度是由最大進給速度來約束的。因此本文通過式(2)篩選出真正由曲率決定自適應(yīng)速度的曲率極大值點,稱為速度敏感點[14],并以速度敏感點為界將NURBS曲線進行分段加減速規(guī)劃[15-16]。
(2)
以圖1為例,A、F為曲線首末兩點,速度為0。以B、C、D、E這4個速度敏感點為界,曲線分為5段。為保證加工質(zhì)量,應(yīng)在速度敏感點前減速以滿足自適應(yīng)速度要求;為提高加工效率,則需在速度敏感點后盡可能地加速。因此對于單獨一段曲線,往往由加速和減速兩個過程組成,但有時由于曲線段長度限制可能出現(xiàn)純加速和純減速的情況,此時應(yīng)根據(jù)實際情況調(diào)整速度敏感點處的速度。本文的加減速算法將基于此曲線分段方式進行。
圖1 基于速度敏感點的NURBS曲線分段加減速Fig. 1 Segmental acceleration and deceleration of NUBRS curve based on velocity sensitive points
為了兼顧加加速度連續(xù)和加工效率,本文構(gòu)造了一種新的S型加減速模型,如圖2所示。該加減速模型保持加加速度連續(xù),并通過在加減速中以最大加加速度起始與結(jié)束的方式實現(xiàn)加工效率的提高。
圖2 改進S型加減速模型Fig. 2 Improved S-type acceleration and deceleration model
該模型加減速公式的推導如下:
以加速段為例,將減速段視為反向加速。加加速度曲線有兩個要求:一是以最大加加速度開始并以0加加速度結(jié)束使得加加速度能在勻速時保持連續(xù);二是加速段的加加速度積分最終為0以保證加速度在加速結(jié)束時重新歸0。于是加速段的加加速度曲線如圖3所示,分為一段加加速和兩段加減速。
圖3 加速段的加加速度曲線Fig. 3 Jerk curve of acceleration section
(3)
(4)
V(t)=
(5)
單獨一種改進S型加減速無法同時在柔性和效率的提升上都做到最優(yōu)。因此需要結(jié)合其他的改進S型加減速模型分情況使用來突出各自的優(yōu)點。
本文選擇了兩種已有的改進S型加減速與上節(jié)本文設(shè)計的改進S型加減速模型進行組合。一種是由文獻[4]簡化得來的三段式加減速,它具有連續(xù)的加加速度,但是加工效率有所減低;另一種是文獻[5-6]中的三段式加減速,它以最大加加速度起始與結(jié)束,提高了加工效率,但在勻速時出現(xiàn)加加速度的躍變。如圖4所示,為區(qū)分這3種加減速,根據(jù)它們加加速度曲線的形狀,分別稱它們?yōu)閃型、N型與V型加減速。且以加速段為例,可以將3種模型加速前后速度和位移的變化總結(jié)如表1所示。
圖4 3種S型加減速模型Fig. 4 Three S-shaped acceleration and deceleration models
表1 3種S型加減速模型加速段結(jié)束時的速度位移變化Tab. 1 The velocity and displacement changes at the end of the acceleration segment for the three models
基于預(yù)處理的結(jié)果,NURBS曲線被速度敏感點分成了許多段。本文將每一段曲線加減速過程分為:加速段、勻速段和減速段,并根據(jù)加減速過程中這3部分的缺失情況將每段加減速形式分為4種類型:加速減速型、加速勻速減速型、純加速型和純減速型。
根據(jù)表1可知:V型加減速加工效率最高,但勻速時出現(xiàn)加加速度階躍;W型加工效率次之,但能在勻速時保證加加速度連續(xù);N型首末加加速度為0,加工效率最差,但能實現(xiàn)純加、減速前后的柔性過渡。因此在保證加加速度連續(xù)的前提下,速度規(guī)劃在曲線分段未出現(xiàn)勻速時使用V型;當出現(xiàn)勻速或純加速、純減速時使用W型;而N型加工效率低,只用在純加速后一分段的加速段或純減速前一分段的減速段中,以保證前后分段的加加速度連續(xù)。
基于以上加減速策略,從加減速狀態(tài)判斷和速度修正兩部分對一段曲線加減速規(guī)劃的具體推導如下:
1) 加減速狀態(tài)判斷。因為V型加減速效率最高,優(yōu)先使用,所以每次加減速模型都從V型加減速開始判斷。下面以加速段和減速段模型均是V型加減速為例,設(shè)曲線長度為L,首末速度為vs和ve,最大速度為vmax。由表1中V型加減速的速度變化得
(6)
同理,將ve替換成vmax或?qū)s替換成vmax可分別得到a+max與a-max,其中,“+”為加速度,“-”為減速度。再根據(jù)表1中V型加減速的位移變化,求得V型加減速模型下4種加減速狀態(tài)的判斷依據(jù)如下:
(1) 純加速型
(2) 純減速型
(3) 加速減速型
(4) 加速勻速減速型
若加減速模型不為V型,也可以類比上面方法根據(jù)表1數(shù)據(jù)進行加減速狀態(tài)的判斷。
2) 速度修正。根據(jù)曲線段的以下3種不同加減速狀態(tài)類型對速度進行修正。
(1) 純加速或純減速型。先將加減速模型修正為W型。加減速狀態(tài)若為純加速型,需要修改末尾速度;若為純減速型則修改起始速度。
以純加速為例,根據(jù)表1中W型加減速的速度位移變化,利用vs和L可以求出ve。將位移公式化簡可得
(7)
令
(8)
根據(jù)Cardan公式可解得
(9)
因此求得
(10)
此時應(yīng)更新后一段的起始速度并將它的加速段模型修正為N型。同理,當加減速狀態(tài)為純減速型時,則更新前一段的末尾速度并將減速段加減速模型修正為N型,此時因為改變了前一段速度規(guī)劃的末尾速度參數(shù),還需要進行回溯規(guī)劃。
(2) 加速減速型。因加減速距離限制,最大速度達不到自適應(yīng)預(yù)處理的vmax,所以通過二分法求取新的速度最大值。
(3) 加速勻速減速型。由于勻速段出現(xiàn),若加速或減速段模型為V型則需要改為W型重新進行加減速狀態(tài)判斷,然后根據(jù)新的加減速狀態(tài)調(diào)整速度。若加、減速段模型皆不為V型則直接按照相應(yīng)模型進行速度計算。
基于3種S型加減速組合的加減速規(guī)劃流程如圖5所示。
圖5 基于3種S型加減速組合的加減速規(guī)劃流程圖Fig. 5 Acceleration and deceleration planning flow chart based on three S-type acceleration and deceleration combinations
以往分段規(guī)劃的加減速算法,往往只注重分段內(nèi)部的加減速設(shè)計,忽視了曲線分段數(shù)過多,加速減速頻繁的問題。特別是曲線曲率變化趨勢頻繁改變處容易出現(xiàn)許多細小弧長的加減速分段,不僅降低了加工效率而且增大加工時對機床的沖擊。為此本文針對加減速分段過多,對分段間連接進行速度平滑規(guī)劃,采用一定算法適當?shù)睾喜⑶昂蠖吻€后,再一起進行速度規(guī)劃,可以有效地減小微小分段數(shù)量,提高加工效率和柔性。
4種加減速狀態(tài)中,因加工長度受限導致的純加速、純減速,是影響加減速平滑的最主要因素,因此本文針對純加速、純減速段從以下3種情形進行分析處理,最終實現(xiàn)曲線段間加減速的平滑。
1) 連續(xù)出現(xiàn)純加速或純減速
將連續(xù)的純加速段或純減速段合并為一段曲線,一起進行速度規(guī)劃。因為曲線分段減少,不需要頻繁多段地加速或減速,速度曲線得到平滑且能提高合并前因分段距離限制的加工速度。以連續(xù)純加速為例,平滑示意圖如圖6a)所示。
2) 純加速緊接純減速
合并這兩段曲線,歸做加速減速形式處理,這樣可以將合并前純加、減速的W型模型修改為V型模型,提高加工效率,平滑后如圖6b)所示。
3) 單獨的純加速或純減速
對于單獨的純加速或純減速(可以是情形一合并得到的),可以嘗試將純加速合并到后一段曲線的加速段中,或?qū)⒓儨p速合并到前一段曲線的減速段中來一起進行速度規(guī)劃。如圖6c)所示,純加速、加速勻速減速和純減速組成的3段曲線被合并為一段。
圖6 平滑前后的速度位移曲線Fig. 6 Smoothed velocity displacement curve
合并曲線規(guī)劃能提高因分段距離限制的速度,但也可能導致速度超限的情況出現(xiàn)。如圖7所示,本文以自適應(yīng)速度作為速度上限,合并平滑后在圓圈處出現(xiàn)了速度超限的情況。
圖7 合并曲線段后的速度超限Fig. 7 Speed overrun after merging curve segments
因此每次合并都需要記錄下曲線段分段處即速度敏感點的位置及自適應(yīng)速度,并在合并速度規(guī)劃中,判斷各個速度敏感處是否出現(xiàn)速度超限。
若出現(xiàn)速度超限,對于情形一,通過二分法求取合適的最大速度vmax來滿足每個速度敏感點處的速度限制。對于情形二,因為需要減小最大速度,所以會出現(xiàn)勻速段,加減速模型又修改回W型,因此取消合并重新各自進行速度規(guī)劃。情形三比較特殊,分兩種情況討論:①若合并后是加速減速形式,先判斷是否需要修改加減速模型,最后以二分法找出合適的最大速度,以滿足合并前所有速度敏感點處的速度限制。②若合并后是加速勻速減速型,此時若為滿足所有速度敏感點處的速度限制,修正后的勻速段速度將遠比合并前小,極大增大了加工時長,因此取消合并重新各自進行速度規(guī)劃。
合并后判斷各速度敏感點速度是否超限的具體方法如下:
首先根據(jù)加減速模型和表1數(shù)據(jù),判斷速度敏感點位置Lcheck在速度規(guī)劃中屬于加速、勻速還是減速階段。若為勻速段,直接比較速度敏感點限制速度vcheck與vmax來進行速度超限判斷;若不為勻速段,先根據(jù)表1和表2數(shù)據(jù)判斷vcheck在實際加減速規(guī)劃中屬于加速段或減速段中的哪一細分階段;再通過Cardan公式求取vcheck在實際加減速規(guī)劃中對應(yīng)的位置Lreal,比較Lcheck與Lreal即可判斷在速度敏感點處是否超限。W型和N型加減速加速段的3個細分階段速度變化Δv與位移變化ΔL,如表2所示。
表2 W型和N型加減速各加速階段的速度與位移變化Tab. 2 Velocity and displacement changes in each acceleration phase of W type and N type acceleration and deceleration
以加速、減速段皆為W型加減速模型和加速勻速減速的加減速狀態(tài)為例,對一個速度敏感點的處理給出數(shù)學推導:
設(shè)加速、減速段最大加速度分別為a+max,a-max,曲線段首末速度分別為vs,ve,最大加加速度為Jmax,vcheck、Lcheck分別為速度敏感點的速度上限和位置。根據(jù)表1可得速度敏感點Lcheck所處的加減速階段,即:
(11)
假設(shè)處于加速階段,則根據(jù)表2的數(shù)據(jù)進一步判斷vcheck在加速階段中的具體階段,即:
(12)
假設(shè)處于第1階段,則通過Cardan公式計算出加速過程中達到vcheck時的Lreal。若Lcheck≤Lreal,則速度在Lcheck處未出現(xiàn)速度超限;若Lcheck>Lreal,則出現(xiàn)速度超限。其他處于勻速或減速各階段的超限判斷可以根據(jù)上述方法進行類推。V型加減速加速段只有一個階段,它的速度位移變化如表1所示。而3種模型的減速段速度位移變化則可以視為反向加速來計算。
將曲線段間的速度平滑與基于3種S型加減速組合的加減速規(guī)劃結(jié)合得到了本文完整的速度規(guī)劃算法。為驗證算法的有效性,選取蝴蝶型NURBS曲線進行仿真加工[16]。其中插補周期為1ms,最大速度240mm/s,最大法向加速度4 900mm/s2,最大加加速度48 000mm/s3,最大弓高誤差0.001mm。
如圖8所示,在蝴蝶的頭尾部和翅膀的下方存在許多曲率突變的微小弧段,這些地方加減速時極易出現(xiàn)純加速或純減速,而本文速度規(guī)劃算法中的速度平滑部分即在這些地方發(fā)揮作用。本文基于3種S型加減速組合的改進S型加減速在加入段間平滑前后對比如圖9和圖10所示。
圖8 蝴蝶型NURBS曲線Fig. 8 Butterfly-shaped NURBS curve
圖9 有無段間平滑的改進S型加減速速度位移曲線Fig. 9 Improved S-shaped acceleration and deceleration velocity displacement curves with and without inter-segment smoothing
圖10 有無段間平滑的改進S型加減速速度時間曲線Fig. 10 Improved S-shaped acceleration and deceleration speed time curves with and without inter-segment smoothing
由圖9可知:基于3種S型加減速組合的加減速算法在加入分段間速度平滑后,消除了許多微小弧段的加速減速波動,且沒有出現(xiàn)速度超限的情況。曲線分段由原來的26段變?yōu)?4段,因此整體速度曲線更加平滑。由圖10可知:曲線段合并后一起進行速度規(guī)劃使得合并處的速度相比原來有所提升,最終縮短了整體的加工時間。加工時間由原來的3.435 8s縮減到3.068 7s,加工效率提高了10.68%。
3種S型加減速組合的加減速算法與分段間速度平滑結(jié)合得到本文完整的速度規(guī)劃算法。將其與S型加減速算法進行仿真比較。
如圖11所示,與S型加減速相比,本文算法在加加速度上,保證了加加速度連續(xù)不階躍;在加速度方面,本文算法波動幅度明顯小于S型加減速,且因合并曲線段使得整體波動頻率有所降低,從26段減少為14段;從速度曲線還可以看出本文算法的加工時間與S型加減速相差甚小。本文算法為3.068 7s,S型加減速為3.033 7s。若對V型和N型加減速進行同樣仿真可得:V型加減速3.322 9s,N型加減速3.562 1s。相比其他3種加減速,本文算法在加工效率上明顯優(yōu)于V型和N型算法,幾乎追平S型加減速。此外本文算法整體的速度曲線更加平滑,沒有許多微小的波動。提高加工效率的同時擁有更好的加工柔性。
圖11 加減速仿真比較圖Fig. 11 Comparison of acceleration and deceleration simulation
除了加工效率,加工精度也是評價速度規(guī)劃算法好壞的一個重要指標。在實際NURBS曲線插補過程中是以微直線代替曲線所以存在弓高誤差。此外,步長與參數(shù)u沒有直接的計算關(guān)系,速度規(guī)劃的速度只能作為理想速度來進行參數(shù)預(yù)估,且插補周期是固定離散的,使得實際步長與理想步長存在偏差,用速度波動率來表示。因此,本文對速度波動率和弓高誤差這兩個精度指標進行插補實驗比較。
由圖12和圖13可知:本文算法的弓高誤差與S型算法變化趨勢相似但處處小于S型算法,速度波動率則明顯小于S型算法。將相關(guān)參數(shù)進行統(tǒng)計處理可得表3,通過對比可知本文算法在加工精度上要明顯優(yōu)于S型算法。
圖12 弓高誤差圖Fig. 12 Diagram of arch height error
圖13 速度波動率Fig. 13 Volatility of velocity
表3 弓高誤差和速度波動率統(tǒng)計表Tab. 3 Chord error and speed fluctuation statistical table
總體上,相關(guān)結(jié)果表明了本文速度規(guī)劃算法能在加工中全程保持加加速度連續(xù),并通過合并微小分段,提升加工速度的同時減少速度的頻繁波動。相比傳統(tǒng)S型加減速,本文速度規(guī)劃算法同時兼顧了加工柔性和加工效率,且加工精度有所提高。
1) 本文設(shè)計了一種兼顧加加速度連續(xù)和加工效率提高的新改進S型加減速模型,并選取了另外兩種分別在這兩方面進行單一改進的S型加減速模型。針對純加速、純減速、加速減速和加速勻速減速4種不同的加減速狀態(tài),通過3種加減速模型的合理組合,發(fā)揮各自優(yōu)點,在保持加加速度連續(xù)的同時盡可能地提高加工效率,使得加減速綜合性能獲得提升。
2) 針對大部分基于曲線分段規(guī)劃的加減速算法缺少對曲線分段間連接優(yōu)化的問題,設(shè)計了一種分段間的速度平滑算法。將其與本文設(shè)計的S型加減速組合算法相結(jié)合再運用到速度規(guī)劃中。通過合并純加速、純減速段到前后曲線段,再對合并曲線進行速度規(guī)劃,使得整體曲線分段減少,加減速更加平滑、加工效率明顯提高。最后驗證了本文算法能兼顧加工柔性和加工效率且在加工精度上具有一定的優(yōu)越性。