本發(fā)明屬于伺服系統(tǒng)控制領(lǐng)域,是一種基于IPSO的擴展隱式廣義預(yù)測的伺服系統(tǒng)位置的控制方法。
背景技術(shù):伺服系統(tǒng)在許多方面有著廣泛的用途,如數(shù)控機床,機器人。對伺服系統(tǒng)的精確控制不僅關(guān)系到產(chǎn)品的質(zhì)量,更是保障生產(chǎn)效果。因此研究伺服系統(tǒng)的控制具有非常強的現(xiàn)實意義。自從Richalct等人提出來了大范圍預(yù)測控制概念以來,人們對于預(yù)測控制的研究一直進行著,在Richalct基礎(chǔ)上clarke等人提出來了廣義預(yù)測控制自校正器,該算法以carima模型為基礎(chǔ),采用了長時段的優(yōu)化性能指標(biāo),結(jié)合辨識和自校正機制,具有較強的魯棒性和模型要求低等特點,并具有廣泛的適用范圍。在檢索文獻及專利中也有不少關(guān)于廣義預(yù)測算法。如基于廣義預(yù)測控制優(yōu)化的水箱液位控制方法(公開號:CN104076831A),其特點是采集各時刻水箱液位的高度和入水閥門開度的數(shù)據(jù),根據(jù)采集的數(shù)據(jù),基于廣義預(yù)測優(yōu)化控制算法辨識計算當(dāng)前時刻入水閥門的PID參數(shù),根據(jù)當(dāng)前時刻如水閥門的PID控制器參數(shù),控制入水閥門開度,進而控制水箱液位。該算法依舊采用傳統(tǒng)廣義預(yù)測控制,利用最小二乘法進行辨識,并且在模型構(gòu)建上忽略了系統(tǒng)非線性。
技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提供自動控制技術(shù)領(lǐng)域中的一種基于IPSO的擴展隱式廣義預(yù)測的伺服系統(tǒng)位置的控制方法。本發(fā)明的目的是這樣實現(xiàn)的:基于IPSO的擴展隱式廣義預(yù)測的伺服系統(tǒng)位置的控制方法,述方法包括:(1)采集各時刻的伺服系統(tǒng)的位置的數(shù)據(jù);(2)根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型;(3)根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識(4)根據(jù)當(dāng)前的伺服系統(tǒng)的位置,進行伺服系統(tǒng)的位置控制;使之按照預(yù)定的軌跡進行運動;(5)進入下一個時刻返回步驟(1);所述根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型具體包括如下步驟:根據(jù)丟番圖預(yù)測方程可得n個并列預(yù)報器為y(k),u(k),dnl(k),f(k)分別表示系統(tǒng)的輸出、輸入,系統(tǒng)的非線性部分和開環(huán)預(yù)測向量;y(k+n)=gn-1Δu(k)+…+g0Δu(k+n-1)+f(k+n)+dnl(k+n)令X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],θ(k)=[gn-1,gn-1,…,g0,f(k+n)]T,y(k+n)=X(k)θ(k)+dnl(k+n)輸出預(yù)測值為y(k+n/k)=X(k)θ(k)+dnl(k+n)或y(k/k-n)=X(k-n)θ(k)+dnl(k)輔助模型最小二乘法的遞推式為式中,λ1為遺忘因子,0<λ1<1,所得θ(k)的估計值g0,g1,…,gn-1和f(k+n),k時刻n步估計值算出:式中,X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],Δu(k),Δu(k+1),…,Δu(k+n-1)根據(jù)誤差校正得:式中,p為模型時域長度(p≥n),h2,h3,…,hp為誤差校正系數(shù);為預(yù)測誤差,h2=h3=…=hp=1;由f與Y0的等價性,得到下一時刻的預(yù)測向量f為所述根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識的步驟是:非線性只與輸入量有關(guān),即dnl=au(k)b,適應(yīng)值函數(shù)為Xi=(xi1,xi2,...,xiD)為第i個粒子的D維位置矢量,由于未知數(shù)只有a和b,那么粒子的位置的維數(shù)為2,即D=2,根據(jù)輔助模型最小二乘法辨識得到的參數(shù)θ(k),然后計算Xi當(dāng)前的適應(yīng)值函數(shù),在每次迭代中,粒子更新自身的速度和位置;其中:i=1,2,…,N;j=1,2,…,D;N為粒子個數(shù),n是迭代次數(shù),w為慣性權(quán)重;r1和r2為均勻分布在(0,l)中的隨機數(shù);C1和C2為學(xué)習(xí)因子,通常取為2,是第i個粒子在第j維中第n個位置迭代,pij是第i個粒子在第j維迄今為止搜索到最佳位置,pgj是粒子在第j維迄今為止搜索到全局最佳位置,是在第n次迭代中第i個粒子在第j維的速度;進行更新粒子的自身最佳位置和全局最佳位置:式中,J(·)為適應(yīng)值函數(shù),pgj=minJ(pij)i=1,2...N慣性權(quán)重w更新:式中,因此每個粒子的速度迭代:式中,C1C2為常數(shù),rand(·)為隨機數(shù),當(dāng)?shù)竭_閾值時或者達到迭代步數(shù)時,退出計算,輸出最優(yōu)位置,然后再進行滾動優(yōu)化。本發(fā)明的有益效果在于:本發(fā)明公開的自動控制技術(shù)領(lǐng)域中的一種基于IPSO的擴展隱式廣義預(yù)測的伺服系統(tǒng)位置的控制方法,能夠滿足實際工業(yè)過程的需要。附圖說明圖1是本發(fā)明的流程圖。圖2是基于改進粒子群(IPSO)的隱式廣義預(yù)測自校正控制的輸出曲線和規(guī)劃曲線。具體實施方式下面結(jié)合附圖對本發(fā)明做進一步描述:本發(fā)明的步驟(1)采集各時刻的伺服系統(tǒng)的位置的數(shù)據(jù);(2)根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型;(3)根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識(4)根據(jù)當(dāng)前的伺服系統(tǒng)的位置,進行伺服系統(tǒng)的位置控制;使之按照預(yù)定的軌跡進行運動;進入下一個時刻返回步驟(1);根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型具體包括如下步驟:根根據(jù)丟番圖預(yù)測方程可得n個并列預(yù)報器為y(k),u(k),dnl(k),f(k)分別表示系統(tǒng)的輸出、輸入,系統(tǒng)的非線性部分和開環(huán)預(yù)測向量。由式(19)最后的一個方程得:y(k+n)=gn-1Δu(k)+…+g0Δu(k+n-1)+f(k+n)+dnl(k+n)(20)令X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],θ(k)=[gn-1,gn-1,…,g0,f(k+n)]T,則式(20)可寫為y(k+n)=X(k)θ(k)+dnl(k+n)(21)輸出預(yù)測值為y(k+n/k)=X(k)θ(k)+dnl(k+n)或y(k/k-n)=X(k-n)θ(k)+dnl(k)(22)輔助模型最小二乘法的遞推式為式中,λ1為遺忘因子,0<λ1<1。利用公式(23)(24)(25)所得θ(k)的估計值g0,g1,…,gn-1和f(k+n)。k時刻n步估計值可以由式(26)算出:式中,X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],Δu(k),Δu(k+1),…,Δu(k+n-1)用相應(yīng)點上的控制增量代替。根據(jù)誤差校正得:式中,p為模型時域長度(p≥n),h2,h3,…,hp為誤差校正系數(shù);為預(yù)測誤差,在這里取h2=h3=…=hp=1。由f與Y0的等價性,利用式(28)可得到下一時刻的預(yù)測向量f為根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識的步驟是:假設(shè)非線性只與輸入量有關(guān),即dnl=au(k)b。適應(yīng)值函數(shù)為Xi=(xi1,xi2,...,xiD)為第i個粒子的D維位置矢量。由于未知數(shù)只有a和b,那么粒子的位置的維數(shù)為2,即D=2。根據(jù)輔助模型最小二乘法辨識得到的參數(shù)θ(k),然后計算Xi當(dāng)前的適應(yīng)值函數(shù)。在每次迭代中,粒子利用式(29)和式(30)來更新自身的速度和位置。其中:i=1,2,…,N;j=1,2,…,D;N為粒子個數(shù),n是迭代次數(shù),w為慣性權(quán)重;r1和r2為均勻分布在(0,l)中的隨機數(shù);C1和C2為學(xué)習(xí)因子,通常取為2。是第i個粒子在第j維中第n個位置迭代,pij是第i個粒子在第j維迄今為止搜索到最佳位置,pgj是粒子在第j維迄今為止搜索到全局最佳位置,是在第n次迭代中第i個粒子在第j維的速度。式(31)中利用人工設(shè)置的最大飛行速度都對微粒的速度進行了限制。用式(32)進行更新粒子的自身最佳位置和全局最佳位置:式中,J(·)為適應(yīng)值函數(shù)。pgj=minJ(pij)i=1,2...N(33)慣性權(quán)重w更新如式(15)所示:式中,因此每個粒子的速度迭代如式(16)所示:式中,C1C2為常數(shù),rand(·)為隨機數(shù)。當(dāng)?shù)竭_閾值時或者達到迭代步數(shù)時,退出計算,輸出最優(yōu)位置,然后再進行滾動優(yōu)化。本發(fā)明的步驟采集各時刻的伺服系統(tǒng)的位置的數(shù)據(jù);根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型;根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識根據(jù)當(dāng)前的伺服系統(tǒng)的位置,進行伺服系統(tǒng)的位置控制;使之按照預(yù)定的軌跡進行運動;進入下一個時刻返回步驟(1);根據(jù)采集的數(shù)據(jù)利用輔助模型最小二乘法辨識當(dāng)前時刻伺服系統(tǒng)的隱式廣義預(yù)測模型具體包括如下步驟:根根據(jù)丟番圖預(yù)測方程可得n個并列預(yù)報器為y(k),u(k),dnl(k),f(k)分別表示系統(tǒng)的輸出、輸入,系統(tǒng)的非線性部分和開環(huán)預(yù)測向量。由式(18)最后的一個方程得:y(k+n)=gn-1Δu(k)+…+g0Δu(k+n-1)+f(k+n)+dnl(k+n)(38)令X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],θ(k)=[gn-1,gn-1,…,g0,f(k+n)]T,則式(19)可寫為y(k+n)=X(k)θ(k)+dnl(k+n)(39)輸出預(yù)測值為y(k+n/k)=X(k)θ(k)+dnl(k+n)或y(k/k-n)=X(k-n)θ(k)+dnl(k)(40)輔助模型最小二乘法的遞推式為式中,λ1為遺忘因子,0<λ1<1。利用公式(41)(42)(43)所得θ(k)的估計值g0,g1,…,gn-1和f(k+n)。k時刻n步估計值可以由式(44)算出:式中,X(k)=[Δu(k),Δu(k+1),…,Δu(k+n-1),1],Δu(k),Δu(k+1),…,Δu(k+n-1)用相應(yīng)點上的控制增量代替。根據(jù)誤差校正得:式中,p為模型時域長度(p≥n),h2,h3,…,hp為誤差校正系數(shù);為預(yù)測誤差,在這里取h2=h3=…=hp=1。由f與Y0的等價性,利用式(46)可得到下一時刻的預(yù)測向量f為根據(jù)采集的數(shù)據(jù)以及辨識出來的隱式廣義預(yù)測模型的預(yù)測輸出值利用粒子群算法進行系統(tǒng)模型的非線性部分的辨識的步驟是:假設(shè)非線性只與輸入量有關(guān),即dnl=au(k)b。適應(yīng)值函數(shù)為Xi=(xi1,xi2,...,xiD)為第i個粒子的D維位置矢量。由于未知數(shù)只有a和b,那么粒子的位置的維數(shù)為2,即D=2。根據(jù)輔助模型最小二乘法辨識得到的參數(shù)θ(k),然后計算Xi當(dāng)前的適應(yīng)值函數(shù)。在每次迭代中,粒子利用式(47)和式(48)來更新自身的速度和位置。其中:i=1,2,…,N;j=1,2,…,D;N為粒子個數(shù),n是迭代次數(shù),w為慣性權(quán)重;r1和r2為均勻分布在(0,l)中的隨機數(shù);C1和C2為學(xué)習(xí)因子,通常取為2。是第i個粒子在第j維中第n個位置迭代,pij是第i個粒子在第j維迄今為止搜索到最佳位置,pgj是粒子在第j維迄今為止搜索到全局最佳位置,是在第n次迭代中第i個粒子在第j維的速度。式(49)中利用人工設(shè)置的最大飛行速度都對微粒的速度進行了限制。用式(50)進行更新粒子的自身最佳位置和全局最佳位置:式中,J(·)為適應(yīng)值函數(shù)。pgj=minJ(pij)i=1,2...N(51)慣性權(quán)重w更新如式(15)所示:式中,因此每個粒子的速度迭代如式(53)所示:式中,C1C2為常數(shù),rand(·)為隨機數(shù)。當(dāng)?shù)竭_閾值時或者達到迭代步數(shù)時,退出計算,輸出最優(yōu)位置,然后再進行滾動優(yōu)化。步驟(4)中的伺服系統(tǒng)的位置控制步驟如下:擴展的輸出如式(55)所示:式中,ΔU=[Δu(k),Δu(k+1),…,Δu(k+n-1)]T,dnl是系統(tǒng)的非線性影響量,它將對系統(tǒng)產(chǎn)生額外的干擾,增加了非線性量,那么基于擴展非線性模型廣義預(yù)測模型控制法的適應(yīng)值函數(shù)如式(56)J=(Y+dnl-W)T(Y+dnl-W)+λΔUYΔU(56)t時刻伺服系統(tǒng)的位置輸入變量u(t)=u(t-1)+GTG+λI(W-f-dnl)(57)