李國龍,李國勇
(太原理工大學(xué) 信息工程學(xué)院,太原030024)
機械加工通過對工件的幾何參數(shù)進行改造能夠有效的提高社會生產(chǎn)效率從而產(chǎn)生更大的經(jīng)濟效益,因此研究機械加工尺寸的預(yù)測控制顯得尤為重要。機械加工過程中對加工尺寸進行檢測和控制能夠有效的保證零件加工尺寸的精度,其首要條件是建立適當(dāng)?shù)哪P蛯庸こ叽绲淖兓闆r進行準(zhǔn)確的描述和預(yù)測,而通過廣義預(yù)測控制中的多步預(yù)測,使系統(tǒng)根據(jù)以往尺寸的輸入,輸出數(shù)據(jù)和已選定的未來尺寸輸入值,不斷的預(yù)測未來尺寸的輸出值從而克服系統(tǒng)的不確定性以及增強系統(tǒng)的魯棒性。但是GPC 中所選的參數(shù)與工程實際要求的指標(biāo)聯(lián)系不夠緊密,并且對于隨機突發(fā)的干擾不能達到實時的控制效果。PI 型廣義預(yù)測控制能夠有效提高實時跟蹤性,改善系統(tǒng)的控制品質(zhì),結(jié)合兩種控制技術(shù)的優(yōu)勢可以產(chǎn)生控制效果更加符合實際要求的PI 型廣義預(yù)測控制。然而加工過程中各種因素的機理非常復(fù)雜,并且加工過程受到很多實際條件的約束,在控制系統(tǒng)中存在了約束,勢必會對控制量求解帶來難度,使問題復(fù)雜,計算量加大,影響了算法的性能,再加之PI 型廣義預(yù)測控制的比例因子和積分因子整定比較困難,所以對其參數(shù)整定就有十分重要的意義。文獻[2]利用遺傳算法優(yōu)化整定PI 型廣義預(yù)測控制的參數(shù),但并沒有考慮實際尺寸加工過程對控制作用的約束,文獻[3]在PI 型廣義預(yù)測控制的基礎(chǔ)上,使用lagrange 乘子法處理PI 型廣義預(yù)測控制輸入輸出的約束條件,但并沒有考慮PI 型廣義預(yù)測控制參數(shù)整定困難的問題。本文在PIGPC 算法的基礎(chǔ)上引入MATLAB 最優(yōu)工具箱中求解非線性規(guī)劃問題的fmincon 函數(shù)處理機械加工尺寸過程中的約束條件,再通過粒子群算法對其比例因子和積分因子進行優(yōu)化整定,并通過MATLAB 仿真實驗從而獲得更有效的控制策略,從而提高加工零件的質(zhì)量。
預(yù)測控制中的預(yù)測模型是一個基礎(chǔ)的模型,主要是被用來描述系統(tǒng)的動態(tài)變化。將通過在線測量獲得的加工尺寸數(shù)據(jù)序列作為一個時間序列,采用適當(dāng)?shù)脑诰€建模方法建立起相應(yīng)的模型,該預(yù)測模型能夠根據(jù)系統(tǒng)以往的加工尺寸數(shù)據(jù)預(yù)測出之后的尺寸數(shù)據(jù)。該預(yù)測模型將PID 的反饋結(jié)構(gòu)和GPC 的預(yù)測功能相結(jié)合,其設(shè)計基于下面的CARMA 模型。
A(z-1)、B(z-1)、C(z-1)分別是na、nb和nc階的z-1的多項式;y(k)、u(k)和ω(k)分別表示尺寸輸出、輸入和噪聲序列;Δ=1- z-1;
式中
PI 型廣義預(yù)測控制所采用的目標(biāo)函數(shù)為:
其中,{yr(k + j)}是設(shè)定的尺寸輸出值;{y∧(k +j)}為預(yù)測向前第j步的尺寸預(yù)測值,Nμ表示輸出控制時域,輸出的預(yù)測時域為Ny;λ>0 為控制加權(quán)因子,Kp,Ki為比例因子及積分因子。
在目標(biāo)函數(shù)中加入后一項為了使過于劇烈的控制增量得到壓制,其目的是為了避免系統(tǒng)超出限制范圍并且抑制劇烈振蕩。
為了獲得尺寸輸出y(k)的向前多步預(yù)測值,求解如下丟番圖方程:
其中j =1,2,…,N,系數(shù)項Ej、Fj、Gj、Hj都是Z-1的多項式。
由式(1)、(3)可求得k +j時刻尺寸預(yù)測值的輸出為:
式中,GNy中Z-1項的系數(shù)為gi。
目標(biāo)函數(shù)式(2)的向量形式為:
式(6)中,
1.2.1 控制對象的約束條件
在實際生產(chǎn)中對于尺寸的輸入輸出有一定的限制,一般主要有如下三種約束情況,即控制增量約束,控制量約束和輸出約束。
控制量增量約束:
控制量幅值約束:
輸出量約束:
上式中,
帶約束條件的PI 型廣義預(yù)測控制問題,可以歸結(jié)為在滿足(7),(8),(9)三個約束條件下,使目標(biāo)函數(shù)(6)達到最小。
1.2.2 非線性規(guī)劃
非線性規(guī)劃中的目標(biāo)函數(shù)和約束條件至少有一個是未知量的非線性函數(shù),其主要研究一個n元實函數(shù)在一組等式或不等式的約束條件下的極值問題。因此上述問題可以轉(zhuǎn)化為求解非線性規(guī)劃問題進而求得目標(biāo)函數(shù)(6)在約束條件下的最小值,進而求得帶約束的PI 型廣義預(yù)測控制的控制律。
非線性規(guī)劃的形式可以表達如下:
其中,設(shè)計變量x =[x1,x2,…xn]T是n維歐式空間Rn的向量,f(x)為(6)式中的目標(biāo)函數(shù),hi(x)=0,gj(x)≤0 為式(7),(8),(9)的約束條件。
求解該非線性規(guī)劃問題,通過使用MATLAB 最優(yōu)化工具箱中的fmincon 函數(shù),其搜索在約束條件下非線性多元函數(shù)的最小值是從一個預(yù)估值開始的。其形式可以表示如下:
上式中,x、b、beq、lb和ub是矢量;A和Aeq為矩陣;c(x)和cep(x)返回矢量的函數(shù);f(x)、c(x)和cep(x)是非線性函數(shù)。
帶約束的PI 型廣義預(yù)測控制存在著比例因子、積分因子整定的困難,所以對其參數(shù)優(yōu)化整定顯得非常重要,在計算智能領(lǐng)域,粒子群算法是一種針對群體的智能優(yōu)化算法。該算法通過個體之間的協(xié)作來尋找最優(yōu)解的進化計算技術(shù),用于解決復(fù)雜系統(tǒng)的優(yōu)化問題,算法簡單且容易實現(xiàn)。該算法最早是在1995 年由Kennedy 和Ebennedy 共同提出的,其主要是根據(jù)人工生命和演化計算理論。PSO 算法是通過觀察鳥類的捕食行為發(fā)現(xiàn),鳥通過跟蹤其周圍有限數(shù)量的同伴從而使整個鳥的群體保持在一個中心控制范圍中,其表明簡單規(guī)則的相互作用可以引起復(fù)雜的全局行為。鳥類只有在離食物最近的鳥的附近范圍內(nèi)尋找才能最快速的找到食物。PSO 算法就是根據(jù)鳥類尋找食物的方法得到的啟發(fā),依次來解決求解最優(yōu)解的問題,算法中每個粒子都有可能解決這個問題,并且每個粒子的適應(yīng)度值都是由適應(yīng)度函數(shù)決定的。其中粒子的速度決定粒子的距離和移動方向的,根據(jù)其他粒子的移動經(jīng)驗該速度不斷的進行動態(tài)的調(diào)整,從而使個體粒子在整個可解空間中尋求到最優(yōu)解。
粒子群算法初始化的一群粒子中每個粒子的特征是用位置,速度和適應(yīng)度值三個指標(biāo)表示的,粒子的優(yōu)劣是由適應(yīng)度值的好壞決定的,適應(yīng)度值的求解是通過計算適應(yīng)度函數(shù)得到的??臻g中粒子的運動,更新個體極值位置時取決于個體極值Pbest和群體極值Gbest。個體極值Pbest表示個體有經(jīng)歷的所有位置中最優(yōu)的那個位置。粒子每變化一次位置要通過適應(yīng)度函數(shù)計算一次該位置的適應(yīng)度值,而為了獲得個體極值Pbest及群體極值Gbest的位置,可以通過將新粒子的適應(yīng)度值和個體極值,群體極值的適應(yīng)度值做比較得出。粒子就是根據(jù)這兩個極值不斷更新自己的速度和位置。
式中,w為慣性權(quán)重;d =1,2…,D;D表示一個粒子的總維數(shù),根據(jù)具體的優(yōu)化問題而定;i =1,2,…,n;n表示粒子的總個數(shù);n為當(dāng)前迭代次數(shù);Vid為粒子的速度;c1,c2是非負(fù)的常數(shù),稱為加速度因子;r1,r2是分布于[0,1]區(qū)間的隨機數(shù)。為降低粒子搜索的盲目性,一般將其位置和速度限制在一定的區(qū)間[- Xmax,Xmax]。
慣性權(quán)重體現(xiàn)的是粒子繼承先前速度的能力,Shi.Y 指出較大的慣性權(quán)值能夠獲得較好的全局搜索能力,而要想獲得較好的局部搜索則需要較小的慣性權(quán)值[8]。為了使算法同時具有較強的局部搜索能力和全局搜索能力,線性遞減慣性權(quán)重被提出,即:
其中,初始慣性權(quán)重為wstart;wend為迭代至最大次數(shù)時的慣性權(quán)重;k為當(dāng)前迭代代數(shù);Tmax為最大迭代代數(shù)。通常而言,慣性權(quán)值wstart =0.9 ,wend =0.4 時算法性能最好。這樣,隨著迭代的進行,慣性權(quán)重由0.9 逐漸遞減至0.4,迭代初期較大的慣性權(quán)重是為了使算法的全局搜索能力較強,為了獲得更加精確的局部搜索能力可以使迭代后期的慣性權(quán)重較小。
應(yīng)用粒子群算法整定帶約束條件的PI 型廣義預(yù)測控制問題歸根到底是一個優(yōu)化問題,是通過求Kp,Ki從而求得目標(biāo)函數(shù)(6)的最小值,故采用目標(biāo)函數(shù)(6)做為PSO 算法的適應(yīng)度函數(shù)。
PI 型廣義預(yù)測控制在實際應(yīng)用中存在著復(fù)雜多樣的約束條件,只有當(dāng)目標(biāo)函數(shù)可微時,才能求解約束的二次規(guī)劃,且只能獲得局部最優(yōu)解。而PSO 算法不要求目標(biāo)函數(shù)以及約束條件可微,便能快速的求得全局最優(yōu)解,所以將PSO 算法與具有PI 廣義預(yù)測控制相互結(jié)合,能夠很好的解決在約束條件下被控對象很難獲得準(zhǔn)確參數(shù)以及收斂速度慢的問題。
粒子群算法整定帶約束的PI 型廣義預(yù)測控制的比例因子、積分因子算法如下:選取性能指標(biāo)式(6)為PSO 算法的適配值評價函數(shù);比例,積分因子Kp,Ki可認(rèn)為是PSO 算法的尋優(yōu)目標(biāo);粒子的種群為待求解的集合;根據(jù)PSO 算法的原理,首先初始化粒子的位置和速度,評價每個粒子的適配值,得到個體最優(yōu)值Pbest和種群的最優(yōu)值Gbest和此時粒子的位置,利用式(10)、(11)對粒子位置Xt和慣性權(quán)值w進行迭代更新,并重新計算每個粒子的適配度值。如果滿足算法的結(jié)束條件,具有最小適配值的粒子的位置就是所要求最佳Kp,Ki。
該算法的流程圖如下:
圖1 PSO 算法優(yōu)化參數(shù)流程圖
首先獲得m(視具體情況取值)個加工尺寸檢測數(shù)據(jù),,加工開始后對式(3)中的參數(shù)進行非線性最小二乘估計,然后按式(4)求取y∧(k +j),之后每增加一個數(shù)據(jù),進行一次上述過程,從而得到各時刻超前j步預(yù)測的加工尺寸數(shù)據(jù)序列;當(dāng)所得的數(shù)據(jù)量達到m(視具體情況取值)時,每次新得一個尺寸數(shù)據(jù)就丟棄一個最老的數(shù)據(jù),使在線預(yù)測的數(shù)據(jù)量始終為m。為了將控制性能的指標(biāo)達到最優(yōu),通過非線性規(guī)劃處理機械尺寸預(yù)測過程中輸入輸出的約束條件,再通過粒子群算法對該算法中的參數(shù)Kp,Ki進行優(yōu)化整定。其整個算法的流程圖如下:
圖2 PSO-NP 優(yōu)化PI 型廣義預(yù)測控制
選取仿真的機械加工系統(tǒng)為:y(k)=0.3y(k -2)+0.3y(k -2)u(k -2)+0.5u(k -1),帶約束的廣義PI 廣義預(yù)測控制的預(yù)測長度Ny =3,控制長度Nu =2,控制加權(quán)系數(shù)λ=1,初始比例、積分因子Kp =9,Ki =3,設(shè)置對象的輸入輸出為的約束為-0.3 ≤Δu(k)≤0.3,-1≤u(k)≤1,0 ≤y(t)≤2.5;粒子群算法整定Kp,Ki,學(xué)習(xí)因子c1= c2=2,慣性權(quán)重根據(jù)式(12)確定。
仿真結(jié)果如下:
圖3 PSOPIGPC 與GAPIGPC 優(yōu)化參數(shù)后對比輸出
圖4 未對算法中參數(shù)進行優(yōu)化整定的仿真
圖5 對參數(shù)進行優(yōu)化整定后的本文算法仿真
通過圖3 的仿真結(jié)果可以看出,用粒子群算法取代文獻[2]中的遺傳算法優(yōu)化參數(shù),可以有效減少系統(tǒng)的超調(diào),縮短調(diào)整時間,從而達到更好的控制效果。通過圖4 和圖5 中輸出量跟蹤曲線的比較可以看出,本文算法相比于文獻[3]中未對參數(shù)進行優(yōu)化的算法具有更好的跟蹤性能和適應(yīng)能力,輸出的波動更小,通過圖4,圖5 中控制量曲線的對比,對帶約束的PI 型廣義預(yù)測的參數(shù)進行優(yōu)化整定后,控制量變化更加緩和并且減少了因模型失配引起的控制量振蕩。
本文將工程中廣泛應(yīng)用的PI 控制技術(shù)與廣義預(yù)測相結(jié)合應(yīng)用到機械尺寸加工過程中,通過粒子群算法對其進行參數(shù)的優(yōu)化整定從而達到良好的控制效果,通過仿真可以看出本文算法能夠更加保證零件的加工質(zhì)量,且本文算法策略便于實施,可應(yīng)用于數(shù)控機床或自動化生產(chǎn)線上。
[1]李國勇. 智能預(yù)測控制及其MATLAB 實現(xiàn)(第2 版)[M].北京:電子工業(yè)出版社,2010.
[2]仉寶玉.肖軍.基于GA 參數(shù)優(yōu)化整定的PI 型廣義預(yù)測控制[J].科學(xué)技術(shù)與工程,2011,11(2):367 -370.
[3]滕達,于佐軍,趙繼偉.帶約束的PI 型廣義預(yù)測控制[J].青島科技大學(xué)學(xué)報,2012,33(5):495 -499.
[4]陳進東,王鮮芳,潘豐. 基于PSO 滾動優(yōu)化的LS-SVM 預(yù)測控制[D]. 無錫:江南大學(xué),2009.
[5]李明.詳解MATLAB 在最優(yōu)化計算中的應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[6]張強,李少遠.基于遺傳算法的約束廣義預(yù)測控制[J].上海交通大學(xué)學(xué)報,2004,38(9):1562 -1566.
[7]楊春,李國勇.基于RBF 神經(jīng)網(wǎng)絡(luò)的PI 型廣義預(yù)測控制[D].中國科技論文在線,2013.
[8]徐青鶴,劉士榮,呂強. 一種改進的粒子群算法[D]. 杭州:杭州電子科技大學(xué)自動化研究所,2008.
[9]李旭芳,王士同. 一種自適應(yīng)粒子群算法[D]. 無錫:江南大學(xué),2009.
[10]龔立雄,萬勇,侯智,等.基于雙隱曾L-M 算法的BP 神經(jīng)網(wǎng)絡(luò)機械加工誤差預(yù)測控制模型[D]. 重慶:重慶理工大學(xué),2013.