楊亮亮 許守金 史偉民 葛宏偉
1.浙江省現(xiàn)代紡織裝備技術(shù)重點實驗室,杭州,3100182.浙江理工大學(xué),杭州,310018
基于牛頓迭代法的S形加減速時間算法研究
楊亮亮1,2許守金1,2史偉民1,2葛宏偉1,2
1.浙江省現(xiàn)代紡織裝備技術(shù)重點實驗室,杭州,3100182.浙江理工大學(xué),杭州,310018
S形加減速控制涉及求解多元高次方程或者不等式,且要求求解出來的最終解是非負(fù)數(shù),為此根據(jù)時間最優(yōu)原則和速度、加速度的限制條件,把S形加減速控制中所涉及的五元非線性方程組分解為2個二元非線性方程組和1個一元線性方程。采用牛頓迭代法和迭代修正的方式逐步求解出符合要求的加減速時間,進而求出速度曲線,進行插補運算。仿真與實驗結(jié)果證明,該算法簡明高效、運行穩(wěn)定,能夠滿足高速高精數(shù)控要求。
S形加減速控制;五元非線性方程;牛頓迭代法;時間最優(yōu)原則
數(shù)控機床的進給速度與加工精度、生產(chǎn)率以及工件表面粗糙度有著密切關(guān)系,因此進給速度應(yīng)該穩(wěn)定、可靠[1]?,F(xiàn)在較為流行的加減速控制是S形加減速控制,相比直線型加減速和指數(shù)型加減速控制,S形加減速控制有速度曲線光滑、均勻、運動平穩(wěn)、無沖擊等優(yōu)勢[2]。S形加減速控制能較好地實現(xiàn)機床各軸的平滑啟停和速度切換,可做到無加速的突變,能夠較好地減小機床的運動沖擊和振蕩,從而有效提高工件的加工質(zhì)量,特別適用于高速高精加工[3]。
一般的S形速度曲線是關(guān)于時間的多項式,其位移曲線的最大階次可以是3、4、5。高階的曲線可以獲得高階的連續(xù)導(dǎo)數(shù),但計算量也會更大[4]。應(yīng)用中,大于3階的位移曲線對加工精度影響不明顯,實際上最為常用的是限制加加速度的2階S形速度曲線即3階位移曲線。一般情況下,始末速度不為零的S形加減速曲線包含5個時間未知量,加速度曲線最多會有十幾種變化情形[5],又涉及多元非線性方程,計算比較繁瑣,沒有統(tǒng)一的公式解法。在加減速時間規(guī)劃中,這5個時間未知量不能為負(fù)數(shù),這使得求解S形加減速控制的各階段時間尤為復(fù)雜[6]。
穆海華等[7]研究了點對點運動三階軌跡輪廓可能存在的情形并建立三個約束基準(zhǔn)用來預(yù)判以上情形,給出了一種三階點對點軌跡規(guī)劃的通用算法。該算法處理了實際應(yīng)用中存在的各種情形,具有極強的靈活性和可靠性,但這種規(guī)劃方法加減速模式分類復(fù)雜、運算繁瑣、不易理解。郭新貴等[8]研究了一種柔性加減速算法,采用三角函數(shù)構(gòu)造加減速曲線,從而使得機床運行具有柔性。雖然三角函數(shù)加減速規(guī)律可以實現(xiàn)平滑運動,由于三角函數(shù)的計算復(fù)雜,需要事先對其進行處理,并且要將其作為樣板以數(shù)表的形式存放于內(nèi)存,通過查表的方式實現(xiàn),這給實際應(yīng)用帶來了諸多不便。徐瑞民[9]總結(jié)了利用牛頓迭代法求解二元非線性方程組根的計算方法,并通過軟件仿真驗證該算法的可行性,但是該算法只是針對數(shù)學(xué)問題,沒有考慮怎么求得非負(fù)數(shù)的收斂值,因此不能完全適用于運動控制領(lǐng)域。
為此,本文根據(jù)時間最優(yōu)原則并考慮速度、加速度限制的S形加減速時間算法,把S形加減速控制中所涉及的五元非線性方程組分解為2個二元非線性方程組和1個一元線性方程,采用牛頓迭代法和迭代修正的方式逐步求解出符合要求的加減速時間,進而求出速度曲線,進行插補運算。
圖1中,tj1為加加速時間(減加速時間),ta1為勻加速時間,tv1為勻速時間,tj2為加減速時間(減減速時間),ta2為勻減速時間。
圖1 完整的加速度變化曲線
始末速度不為零的S形加減速控制包含7個速度變化段:加加速段、勻加速段、減加速段、勻速段、加減速段、勻減速段和減減速段。其中,加加速段與減加速段的時間相同,加減速段與減減速段的時間相同。始末速度與加減速時間的關(guān)系為
(1)
式中,j為加加速度;vs為初始速度;ve為末速度。
位移s與加減速時間的關(guān)系為
(2)
1.1時間最優(yōu)化下的加速度變化時間
式(1)、式(2)有5個未知量,但是只有2個方程,直接根據(jù)方程無法得到確切的加減速時間。從實際情況考慮,總是希望在滿足加工精度要求下,最大限度地提高生產(chǎn)率。根據(jù)經(jīng)驗可知,一段位移如果想在最短的時間內(nèi)移動完畢,不考慮限制因素,它的移動方案應(yīng)該是從開始一直以最大的加速度進行加速移動,移動一段時間后,再以最大的加速度進行減速移動,到達(dá)終點時恰好速度減為零,這種移動方案用時最短,這種滿足最高效率的算法稱為時間最優(yōu)算法[10]。用到數(shù)控機床上就是只有加加速段、減加速段、加減速段和減減速段,不存在其他速度變化段,加速度變化如圖2所示??紤]到機床系統(tǒng)的動力學(xué)因素,這種加工模式無法實現(xiàn)[11],但是可以先求出加速度的變化時間,再考慮限制條件。因此先令ta1=ta2=tv1=0,求tj1、tj2值。
圖2 不考慮加速度、速度限制的加速度變化曲線
由式(1)、式(2)可得關(guān)于速度和位移的二元三次方程組:
(3)
1.1.1加速度變化時間的牛頓迭代算法
無法通過現(xiàn)成的公式得到二元三次方程組的準(zhǔn)確解,但可采用牛頓迭代法求出它的收斂值,進而求出方程組的解,首先把式(3)構(gòu)造成2個函數(shù):
(4)
(5)
求式(4)、式(5)的一階偏導(dǎo)數(shù)并構(gòu)成矩陣A:
(6)
求得偏導(dǎo)數(shù)矩陣A的逆矩陣A-1,計算tj1、tj2的迭代初值。好的迭代初值能加快收斂,節(jié)省計算時間,由于tj1、tj2在很多情形下相差不大,且迭代初值也不需要太精確,因此把tj1、tj2看作相等的值tj,根據(jù)式(3)可得tj計算公式:
再把tj賦值給tj10、tj20后,并代入式(4)~式(6)計算出第一次迭代值tj11、tj21:
(7)
式中,tj10為tj1的迭代初值;tj20為tj2的代初值;tj1 i、tj2 i分別為tj1、tj2第i次迭代值。
利用計算出的迭代值計算迭代精度:
P=(tj11-tj10)2+(tj21-tj20)2
(8)
判斷精度是否滿足要求,如果不滿足則把計算出的tj11、tj21值作為迭代值,代入式(4)~式(8)進行第二次迭代計算。反復(fù)進行迭代計算,直到計算出滿足精度要求的迭代值。如果迭代始終無法收斂,則迭代次數(shù)達(dá)到設(shè)定值就停止迭代,進行后面的計算。
加減速控制涉及的是時間分配問題,如果最終收斂值是一組負(fù)數(shù)解,考慮到關(guān)于始末速度和位移所組成的方程組的復(fù)雜性,此時取最接近收斂值的一組正數(shù)解作為方程組的最終解。通過上述過程就能得到初步滿足要求的tj1、tj2。
1.1.2加速度變化時間的迭代修正
速度、加速度必須滿足機械系統(tǒng)動力學(xué)約束條件,即需要考慮速度、加速度的限制條件。首先考慮速度約束,由于最大速度出現(xiàn)在減加速段結(jié)束時,因此根據(jù)牛頓迭代法求出的收斂值必須與所允許的最長加速度時間進行對比,取其中的較小值作為tj1,計算公式如下:
再考慮加速度約束要求,加速度最大值出現(xiàn)在加加速度段結(jié)束時,根據(jù)前面求出的tj1的值必須滿足加速度的約束要求,與機械系統(tǒng)所允許的最長加速時間進行對比,取其中的較小值,計算公式如下:
tj1←min(tj1,am/j)
由式(3)可得,tj1改變時,相應(yīng)地tj2也需要重新計算,計算公式如下:
把tj2與允許的最長加速度時間進行對比,取其中的較小值,計算公式如下:
tj2←min(tj2,am/j)
這樣就求出滿足速度和加速度限制要求的tj1、tj2。
用迭代法求出的最優(yōu)解存在誤差,為了減小誤差,提高準(zhǔn)確度,需要根據(jù)始末速度限制條件和位移限制條件對求出的tj1、tj2再次進行迭代修正??紤]到計算出的時間必須滿足加速度和速度的限制要求,則進行第二次迭代修正時,時間值tj1、tj2只能減少不能增加。速度誤差Pv的計算公式如下:
(9)
設(shè)定精度Pv>P說明tj1取得值較大,tj1相應(yīng)地減少一個伺服周期Ts后,再代入式(9)進行計算比較,如果還不滿足要求,則繼續(xù)減少,一直減少到滿足要求為止。如果tj1減到零時也無法滿足要求,則退出循環(huán)。Pv<-P說明tj2取得值較大,tj2相應(yīng)地減少一個伺服周期Ts后,再代入式(9)進行計算比較,一直減少到滿足要求為止,如果tj2減到零時也無法滿足要求,則退出循環(huán)。
根據(jù)位移限制條件進行判斷,對求出的tj1、tj2,進行迭代修正。計算公式如下:
(10)
其中,Ps為根據(jù)規(guī)劃的時間計算得到的位移值和實際位移值之差。Ps>0說明規(guī)劃出來的軌跡長度大于實際的長度,這不符合要求,必須減少規(guī)劃的時間,tj1應(yīng)減少一個伺服周期,tj2相應(yīng)地也要改變,由式(3)可得tj2的計算公式:
把重新計算得到tj1、tj2代入式(10),計算位移誤差Ps并進行比較,如果不滿足要求則重復(fù)此過程。Ps<0說明按照tj1、tj2進行軌跡規(guī)劃的位移量小于實際的位移,則結(jié)束迭代修正過程。
通過牛頓迭代和迭代修正的方法就求出了滿足要求、誤差減到最小的tj1、tj2。
1.2最優(yōu)時間下的勻加速時間
通過式(10)可知,最終求出的tj1、tj2能滿足速度和加速度的限制要求,但一般無法運行完期望規(guī)劃的軌跡長度,即只有加加速段、減加速段、加減速段、減減速段的S形加減速控制無法滿足所需要位移要求,S形加減速控制還存在勻加速段、勻減速段和勻速段,根據(jù)時間最優(yōu)原則令tv1=0,此時S形加減速控制的加速度變化如圖3所示。由式(1)、式(2)可得關(guān)于始末速度和位移限制方程組:
圖3 不考慮勻速段的加速度變化示意圖
根據(jù)1.1節(jié)中的牛頓迭代和迭代修正理論可以求出滿足要求、誤差減到最小的ta1、ta2。
1.3最優(yōu)時間下的勻速時間
S形加減速控制涉及7個速度變化段、5個時間量,通過上述過程,4個滿足要求的時間參數(shù)tj1、tj2、ta1、ta2已經(jīng)求出,關(guān)于tv1的方程是一元一次方程,必有一個解。由位移與加減速時間的關(guān)系方程(式(2))可得關(guān)于tv1的方程:
(11)
通過式(11)可以求出tv1。至此,一段軌跡的加減速變化時間都已經(jīng)求出,根據(jù)加減速變化時間,可以得到此軌跡的速度曲線。根據(jù)求出的速度曲線以及起始點,進行插補運算計算出中間點的坐標(biāo)值,根據(jù)坐標(biāo)值變化向相應(yīng)坐標(biāo)輸出脈沖信號,控制各執(zhí)行元件的進給速度、進給方向和進給位移量等,進而完成工件的加工任務(wù)。
2.1對運算速度進行驗證
為驗證本論文算法的運算速度,用MATLAB進行編程仿真,編程思路如圖4所示。給定限制條件:起始速度vs=0.06 m/s,末速度ve=0.03 m/s,加加速度j=25 m/s3,伺服周期Ts=1 ms,最大限制加速度am=5 m/s2,最大限制速度vm=0.8 m/s,把位移量作為唯一變量,位移量s從0.005 m到500 m進行等間距取值,統(tǒng)計取不同的位移值時MATLAB軟件仿真完成所需要的時間,仿真結(jié)果如圖5所示。
圖4 S形加減速控制時間計算流程圖
圖5 仿真運算時間隨著位移變化曲線
通過圖5可以看出,位移s=0.05 m時所需要的運算時間最短,隨著位移的增加,求解時間都小于1 ms,這說明本文算法夠滿足高速的加工要求,能有效提高數(shù)控系統(tǒng)的穩(wěn)定性和效率。
2.2對軌跡規(guī)劃精度進行驗證
上述實例沒有對本算法的軌跡規(guī)劃精度進行考慮,為了進一步驗證本算法的可行性,在自行開發(fā)的“計算機+運動控制卡”架構(gòu)的直線伺服系統(tǒng)上運行圖6所示的樣條曲線,直線伺服系統(tǒng)為2個直線電動機構(gòu)成的X-Y運動平臺,2個直線電動機均為Baldor公司的LMCF02C-HCO,伺服驅(qū)動器為Baldor公司的FMH2A03TR-EN23。把本算法編進運動控制卡中進行插補控制,直線伺服系統(tǒng)平臺如圖7所示。
圖6 樣條曲線
圖7 直線伺服系統(tǒng)試驗臺
圖8 弓高誤差效果圖
圖9 加速度變化圖
圖10 速度變化圖
給定限制條件:加加速度j=25 m/s3,伺服周期Ts=1 ms,最大限制加速度am=5 m/s2,最大限制速度vm=0.8 m/s,允許的弓高誤差為0.1 μm,采用周期為1 ms。最終運行的弓高誤差效果如圖8所示,加速度、速度隨著插補時間變化如圖9、圖10所示,可以看出本算法能完全滿足加工精度的要求。
(1)本文提出了一種S形加減速時間計算方法,根據(jù)時間最優(yōu)原則以及加速度、速度限制條件,把加減速控制方法所涉及的十幾種加速度變化模式簡化為3種加速度變化模式,避免了復(fù)雜、繁瑣的計算,降低了理解難度。
(2)提出的算法利用牛頓迭代理論對S形加減速控制方法所涉及的五元非線性方程組進行求解,并根據(jù)加減速時間的實際意義,對迭代值進行迭代修正,使得計算結(jié)果的切實可行。
(3)本論文算法在求解時,所需要的計算時間更短,精度更高,求出的時間能很好地滿足加工要求,減少了機床運動的沖擊和振蕩,特別適合高速高精加工,提高了機床的加工精度和效率。
[1]黃艷,李家霽,于東,等.CNC系統(tǒng)S型曲線加減速算法的設(shè)計與實現(xiàn)[J].制造技術(shù)與機床,2005(3):55-58.
Huang Yan,Li Jiaqi,Yu Dong,et al.Design and Implementation of S_shape Acceleration and Deceleration Algorithm on CNC System[J].Manufacturing Technology and Machine Tool,2005(3):55-58.
[2]羅鈞,汪俊,劉學(xué)明,等.基于S型加減速的自適應(yīng)前瞻NURBS曲線插補算法[J].計算機集成制造系統(tǒng),2013,19(1):55-59.
Luo Jun,Wang Jun,Liu Xueming,et al.Adaptive NURBS Interpolation Algorithm with Look-ahead Function Based on S-shape Acceleration Deceleration[J].Computer Integrated Manufacturing Systems,2013,19(1):55-59.
[3]Ren Kun,Fu Jianzhong,Chen Zichen.Motion Velocity Smooth Link in High Speed Machining[J].Chinese Journal of Mechanical Engineering,2007,20(2):17-20.
[4]喬志峰. 適用于復(fù)雜形面加工的多軸運動控制系統(tǒng)設(shè)計理論與方法研究[D].天津:天津大學(xué),2012.
[5]潘海鴻,楊微,陳琳,等.全程S曲線加減速控制的自適應(yīng)分段NURBS曲線插補算法[J].中國機械工程,2010,21(2):190-195.Pan Haihong,Yang Wei,Chen Lin,et al.Adaptive Piecewise NURBS Curve Interpolator Algorithm for Entireness Process S-curve ACC/DEC Control[J].China Mechanical Engineering,2010,21(2):190-195.[6]南京工程學(xué)院.運動控制系統(tǒng)S曲線加減速的實現(xiàn)方法:中國,201310683011.X[P].2014-04-09.
[7]穆海華,周云飛,嚴(yán)思杰,等.超精密點對點運動三階軌跡規(guī)劃精度控制[J].機械工程學(xué)報,2008,44(1):126-127.
Mu Haihua,Zou Yunfei,Yan Sijie,et al.Precision Control of Third-order Profile Planning for High Accuracy Point-to-point Motion System[J].Journal of Mechanical Engineering,2008,44(1):126-127.
[8]郭新貴,李從心.一種新型柔性加減速算法[J].上海交通大學(xué)學(xué)報,2003,37(2):205-207.
Guo Xingui,Li Congxin.A New Flexible Acceleration and Deceleration Algorithm[J].Journal of Shanghai Jiaotong University,2003,37(2):205-207.
[9]徐瑞民.二元非線性方程組求根的牛頓迭代[J].山東輕工業(yè)學(xué)院學(xué)報,2009,23(4):90-91.
Xu Ruimin.Newton’s Method for the Nonlinear Function of Two Independent Variables[J].Journal of Shan Dong Institute of Light Industry,2009,23(4):90-91.
[10]孫玉娥,林滸,李建偉.面向高速加工的樣條曲線實時插補算法[J].機械工程學(xué)報,2011,47(3):186-191.
Sun Yue,Lin Hu,Li Jianwei.Spline Real-time Interpolation Algorithm for High-speed Machining[J].Journal of Mechanical Engineering,2011,47(3):186-191.[11]羅福源,游有鵬,尹涓.NURBS曲線S型加減速雙向?qū)?yōu)插補算法研究[J].機械工程學(xué)報,2012,48(5):147-155.
Luo Fuyuan,You Youpeng,Yin Juan.Research on the Algorithm of NURBS Curve Bidirectional Optimization Interpolation with S-type Acceleration and Deceleration Control[J].Journal of Mechanical Engineering,2012,48(5):147-155.
(編輯張洋)
Research on Algorithm of S_shape Acceleration and Deceleration Time Based on Newton Iterative Method
Yang Liangliang1,2Xu Shoujin1,2Shi Weimin1,2Ge Hongwei1,2
1.Zhejiang Provincial Key Lab of Modern Textile Machinery & Technology,Hangzhou,310018 2.Zhejiang Sci-Tech University,Hangzhou,310018
Due to S_shape acceleration and deceleration control involved solving multiple high-order equation or inequality,and the final solution was non negative,so that it was difficult to calculate.Therefore nonlinear equations of five independent variables of S_shape acceleration and deceleration control were decomposed into two nonlinear equations of two independent variables and a linear equation according to time optimal principle and the constraints of speed,acceleration.The final solutions were obtained by Newton iterative method and the iterative correction method then the velocity curve and interpolation algorithm were found.The simulation and experiments were presented to prove that the algorithm is simplicity,stable operation and the ability to meet the requirements of high speed and high precision of computer numerical control.
S_shape acceleration and deceleration control;nonlinear equations of five independent variables;Newton iterative method;time optimal principle
2014-09-19
國家自然科學(xué)基金資助項目(51305404);國家科技支撐計劃資助項目(2013BAF05B01)
TP391< class="emphasis_italic">DOI
:10.3969/j.issn.1004-132X.2015.07.010
楊亮亮,男,1978年生。浙江理工大學(xué)機械與自動控制學(xué)院講師、博士。主要研究方向為高速高精運動控制、數(shù)控技術(shù)、發(fā)表論文20余篇。許守金,男,1989年生。浙江理工大學(xué)機械與自動控制學(xué)院碩士研究生。史偉民,男,1965年生。浙江理工大學(xué)機械與自動控制學(xué)院教授、博士。葛宏偉,男,1990年生。浙江理工大學(xué)機械與自動控制學(xué)院碩士研究生。