一種基於子空間辨識的工業數據驅動預測控制方法與流程
2023-05-13 17:09:06
本發明工業控制技術領域,特別涉及一種工業數據驅動預測控制方法,可以應用於工業過程控制,如造紙、食品加工、石油、化工、電力等行業。
背景技術:
預測控制是20世紀70年代產生於工業過程控制領域的一類算法,具有深刻的工程背景和理論意義,並且在系統控制中得到了廣泛的應用。傳統的工業預測控制都是採用輸入輸出模型,包括參數模型和非參數模型。但是為了進一步提高控制性能和控制精度,學術界和工業界普遍認為應該採用狀態空間模型,這樣近些年所發展起來的現代濾波理論和控制器設計方法就可以發揮作用,而且實際工業過程中往往只有可測輸入輸出數據已知,模型結構先驗知識較少,很難得到輸入輸出模型。子空間模型辨識方法自從20世紀90年代初提出以來就獲得了廣泛的關注並得到了迅速發展,在理論和應用上都取得了很多成果。子空間辨識方法利用過程輸入輸出數據可以直接得到狀態空間形式的模型,辨識過程的中間結果直接用於預測模型輸出,所以這種方法可以和預測控制結合,組成直接數據驅動的預測控制策略,簡稱數據驅動預測控制。
目前在工業過程控制領域,pid控制仍廣泛應用,這是因為pid控制算法是對人的簡單而有效操作方式的總結與模仿,足以維護一般工業過程的平穩操作與運行。但被控過程具有很強的非線性時變特性及存在約束的情況時,就會使得控制效果不太理想,這都是pid控制難以解決的問題。
技術實現要素:
本發明的目的是提供一種控制精度高、簡化計算、實用性好的基於子空間辨識的工業數據驅動預測控制方法,以克服在存在非線性時變、約束情況下的工業過程控制中,傳統的pid控制方法存在控制精度不高、產品產率低、消耗大等不足的問題。
本發明基於子空間辨識的工業數據驅動預測控制方法,其特徵在於:包括以下步驟:
(1)、預測模型輸出的求取,根據子空間模型辨識的方法來獲得用預測增量所表示的預測輸出,具體如下:
在子空間辨識法中根據已測得的輸入uk∈rm,輸出yk∈rl的數據建立hankel矩陣up和uf,yp和yf;預測輸出的最優預測值由下式表示:其中lw和lu為預測模型參數矩陣;通過如下的qr分解:
其中r為上三角陣,q為正交矩陣,lw和lu由r陣計算求得;為了消除穩態誤差,把積分作用引入預測控制器中,得到用預測增量表示的預測輸出:
其中yk=[ykyk…yk]t,和直接從lw和lu中得出:
其中il為l階單位陣,im為m階單位陣,l為預測時域,m為控制時域;
(2)、針對非線性時變特性,採用在線遞推辨識模型的自適應預測控制方法,並通過比較更新前後預測輸出與過程輸出的預測誤差來決定是否更新預測模型,具體如下:
假設k+1時刻一組新的輸入輸出數據向量為:
將新得到的數據添加到r陣的最後一列,通過一系列givens變換求得如下的下三角陣:
其中p=p1,p2,…,p3l為一系列givens變換陣,λ為遺忘因子;通過數值計算可得到更新後的預測模型參數矩陣l′w和l′u,加入積分作用後可直接求出和
採用未更新模型計算如下數值:
其中yk+1為k+1時刻的過程輸出,為在k時刻對k+1時刻的預測輸出,δyp,k=[δyk-l+1,…,δyk]t,δup,k=[δuk-l,…,δuk-1]t,δuf,k=[δuk|k,…,δuk+m-1|k]t。
採用更新後的模型計算如下數值:
其中為在k時刻對k+1時刻的預測輸出;
當ess1≤ess2時,預測模型不變;當ess1>ess2時,預測模型更新;
(3)、約束的處理,針對系統中存在的物理約束,採取標準二次規劃問題求解,並採用拉格郎日函數形式來降低求解的計算量,具體如下:
針對預測控制過程的如下約束:
其中uk/m=cuk-1+sδuk/m,式中的c和s分別為
將約束合併為一個矩陣不等式的形式:
其中
在每一時刻在線求解目標函數j時採取標準二次規劃形式,每一時刻求解的二次規劃為:
其中
其中
用如下的qp問題來求解:
約束條件為:
為了降低qp問題求解的計算量,採用拉格郎日函數形式把求解變量δuf變為拉格郎日變量η,以減少qp優化問題中變量的大小;採用如下的拉格郎日加權係數:
其中n為拉格郎日多項式的階次;將δuf轉換為如下的拉格郎日多項式形式:
δuf=φη(18)
其中
將式(18)代入目標函數j中,得到:
其中代入約束,式(15)和式(16)變為如下的qp問題求解:
約束條件為:
求解得出η,控制增量序列δuf=φη,將控制增量序列的第一個值作為過程的輸入增量,經過計算得到k時刻的輸入uk/m;在線測量新的輸入輸出數據,並將數據代入步驟(2)的在線遞推方法中,在線更新r陣,得出新的預測模型參數矩陣l′w和l′u,通過判斷預測誤差來決定是否更新預測模型;最後再進行約束的qp問題求解,求出下一時刻的控制輸入。
本發明的有益效果:
本發明基於子空間辨識的工業數據驅動預測控制方法,其針對實際工業過程中的輸入輸出數據,利用子空間辨識的方法直接得到預測輸出,不採用任何傳統模型,無需事先假設模型階次和結構,實用性好;其採用在線遞推辨識算法來解決實際工業過程中的非線性時變問題,採取二次規劃(qp)優化來處理約束,具有控制精度高、簡化了計算等優點。
附圖說明
圖1為基於子空間辨識的工業數據驅動預測控制方法的流程圖。
具體實施方式
下面結合實施例對本發明作進一步描述。
本實施例基於子空間辨識的工業數據驅動預測控制方法,包括以下步驟:
1)、預測模型輸出的求取;考慮如下的離散線性時不變系統:
其中輸入uk∈rm,輸出yk∈rl,狀態xk∈rn。噪聲序列{ek}為零均值高斯白噪聲,其方差矩陣為a、b、c、d、k為相應維數的矩陣。
根據輸入uk(k=1,2,…,2i+j-1)的數據建立i行j列hankel矩陣up和uf:
其中,p和f分別代表「過去」和「未來」;類似地,可以根據輸出yk的數據建立hankel矩陣yp和yf、根據測量噪聲ek的數據建立hankel矩陣ep和ef。
由式(1)迭代可以得到預測輸出:
yf=γxf+huf+hsef(4)
其中,γ為廣義可觀測矩陣,h和hs為下三角矩陣,xf=[xixi+1…xi+j-1]為未來的狀態序列,在這裡i取為預測時域l。
根據式(4)得到線性最優預測輸出為了採用子空間辨識法表達為:
其中wp為過去的輸入輸出數據矩陣,即lw、lu為子空間矩陣,是要從hankel數據矩陣中辨識得到的,其中最簡單的方法就是最小二乘方法:
問題(5)-(6)的解是從列空間yf到wp和uf的列空間的正交投影:
通過如下的qr分解:
其中r為上三角陣,q為正交矩陣,可實施正交投影(7)。令
其中上角標表示moore-penrose廣義逆。則得到:
按照matlab的書寫習慣,a(:,c:d)表示a的第c列到第d列上的元素組成的矩陣。
為了消除穩態誤差,把積分作用引入預測控制器中,可以得到用預測增量表示的預測輸出:
其中yk=[ykyk…yk]t,和可以直接從lw和lu中得出:
其中m為控制時域,il為l階單位陣,im為m階單位陣。
2)、針對非線性時變特性,採用在線遞推辨識模型的自適應預測控制策略,假設k+1時刻一組新的輸入輸出數據向量為:
將新得到的數據添加到r陣的最後一列,通過一系列givens變換求得如下的下三角陣:
其中p=p1,p2,…,p3l為一系列givens變換陣,λ為遺忘因子。通過數值計算可得到更新後的預測模型參數矩陣l′w和l′u,加入積分作用後可直接求出和利用遺忘因子來減弱過去的數據對辨識結果的影響,但為了減少噪聲和脈衝形式的擾動對辨識模型的影響,以達到更好的控制精度,引入檢查模型的精確性策略,通過比較更新前後預測輸出與過程輸出的預測誤差來決定是否更新預測模型。
採用未更新模型計算如下數值:
其中yk+1為k+1時刻的過程輸出,為在k時刻對k+1時刻的預測輸出,δyp,k=[δyk-l+1,…,δyk]t,δup,k=[δuk-l,…,δuk-1]t,δuf,k=[δuk|k,…,δuk+m-1|k]t。
採用更新後的模型計算如下數值:
其中為在k時刻對k+1時刻的預測輸出。
當ess1≤ess2時,預測模型不變。當ess1>ess2時,預測模型更新。
3)、約束的處理;預測控制的一個重要特色就是它的處理物理約束的能力。在石油、化工等實際的工業過程中,為了滿足產品的純度及操作的可行性等要求,普遍存在著帶約束的情形。一般的預測控制過程約束如下:
其中uk=cuk-1+sδuk,式中的c和s分別為
這些約束可以合併為一個矩陣不等式的形式:
其中
在每一時刻在線求解預測控制目標函數j時採取標準二次規劃(qp)形式,每一時刻求解的二次規劃為:
其中
其中
這個問題可以用如下的qp問題來求解:
約束條件為:
為了降低qp問題求解的計算量,採用拉格郎日函數形式把求解變量δuf變為拉格郎日變量η,以減少qp優化問題中變量的大小。採用如下的拉格郎日加權係數:
其中n為拉格郎日多項式的階次。將δuf轉換為如下的拉格郎日多項式形式:
δuf=φη(27)
其中
將式(27)代入目標函數j中,得到:
其中代入約束,式(24)和(25)變為如下的qp問題求解:
約束條件為:
對於qp優化問題求解,如不採用拉格郎日多項式,需要求解δuf∈r(im)×1(i為模型的矩陣形式的階次),採用拉格郎日多項式,則只需優化η∈r(nm)×1(n為拉格郎日多項式的階次)。n<i,系統的計算量因此而顯著減小。
求解得出η,控制增量序列δuf=φη,將控制增量序列的第一個值作為過程的輸入增量,經過計算得到k時刻的輸入uk。在線測量新的輸入輸出數據,將這些數據代入前面所述的在線遞推方法中,在線更新r陣,得出新的預測模型參數矩陣l′w和l′u,通過判斷預測誤差來決定是否更新預測模型。最後再進行約束的qp問題求解,即可求出下一時刻的控制輸入。
本實施例基於子空間辨識的工業數據驅動預測控制方法,其針對實際工業過程中的輸入輸出數據,利用子空間辨識的方法直接得到預測輸出,不採用任何傳統模型,無需事先假設模型階次和結構,實用性好;其採用在線遞推辨識算法來解決實際工業過程中的非線性時變問題,採取二次規劃(qp)優化來處理約束,具有控制精度高、簡化了計算等優點。
最後說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的宗旨和範圍,其均應涵蓋在本發明的權利要求範圍當中。