胡建晨,王 勇,丁寶蒼
(西安交通大學電子信息與工程學院,陜西西安 710049)
模型預測控制(model predictive control,MPC)是在工業(yè)過程中得到高度認可并廣泛應用的控制方法[1-2],其具有在滿足操作變量(manipulated variable,MV)和狀態(tài)約束的情況下在線優(yōu)化的能力.通常,工業(yè)過程中應用的MPC具有遞階結構,上層實時優(yōu)化(real time optimization,RTO)決定目標理想值(xt,ut)并將其傳遞給中間層,中間層穩(wěn)態(tài)目標計算(steady state target calculation,SSTC)以跟蹤上層RTO給定的目標理想值為性能指標,通過多目標協(xié)調優(yōu)化得到穩(wěn)態(tài)目標值,下層MPC跟蹤穩(wěn)態(tài)目標值得到控制作用[3-6].上層RTO通常采用穩(wěn)態(tài)非線性模型(工作在小時/天級別),中間層SSTC通常采用穩(wěn)態(tài)線性模型(工作在分鐘級別),下層MPC 采用動態(tài)線性模型(工作在秒級別).通常,綜合考慮了SSTC的MPC算法被稱為雙層結構MPC,簡稱雙層MPC.雙層MPC采用的線性模型可通過將非線性模型在平衡點附近線性化得到,或在工程中直接通過辨識方法得到.當系統(tǒng)具有模型不確定性時,傳統(tǒng)工業(yè)預測控制方法上層優(yōu)化層和下層控制層采用的模型不一致性會導致它們的穩(wěn)態(tài)增益不同,而帶來靜差[7-8].
一般的非線性模型可被描述成線性參數(shù)時變(linear parameter varying,LPV)模型,即非線性系統(tǒng)動態(tài)特性可以被一組局部線性模型包含,在不同的操作條件下系統(tǒng)可在不同的局部線性模型之間切換[9-10].對于具有模型不確定性的系統(tǒng),通常假設其具有多胞不確定性,這即是說LPV模型參數(shù)屬于由局部線性模型描述的多胞內.多胞描述模型已經(jīng)過學者們多年研究,基于線性矩陣不等式(linear matrix inequality,LMI)框架下給出了具有代表性的理論成果[11-16].而對于具有遞階結構的雙層MPC,關于多胞描述模型的研究甚少.
考慮具有模型不確定性的系統(tǒng),采用多胞描述模型代替在平衡點附近工作的線性模型.本文同時考慮狀態(tài)不可測情形,需要通過可測系統(tǒng)輸出來估計狀態(tài)的實時值,利用狀態(tài)的估計值對系統(tǒng)未來狀態(tài)做預報.由于采用了多胞描述模型,每時刻狀態(tài)預測方程中的參數(shù)由多胞頂點值構成,對未來狀態(tài)的估計是關于未來多胞頂點狀態(tài)預測值的凸組合.文獻[17]通過構造參數(shù)依賴的頂點控制作用及狀態(tài)預測方程,給出了開環(huán)狀態(tài)反饋單層MPC控制方案.本文通過構造類似的參數(shù)依賴頂點控制作用及狀態(tài)預測方程,給出了啟發(fā)式開環(huán)輸出反饋雙層MPC方案,其中包含了SSTC層及動態(tài)控制層的設計.由于模型系數(shù)實時值未知,在SSTC層穩(wěn)態(tài)目標值通常無法滿足穩(wěn)態(tài)LPV方程,因而在SSTC層穩(wěn)態(tài)目標值應滿足某個非線性方程.本文方案利用由SSTC層穩(wěn)態(tài)目標值及多胞頂點值構成的穩(wěn)態(tài)預測方程計算得到頂點穩(wěn)態(tài)目標值,下層動態(tài)控制通過跟蹤頂點穩(wěn)態(tài)目標值優(yōu)化得到控制作用并實施當前時刻第一步控制作用.上下層模型具有較好的一致性可以實現(xiàn)無靜差.
現(xiàn)有的SSTC層雖有一些采用非線性模型,然而多數(shù)仍采用線性模型(SSTC優(yōu)化問題求解得到的穩(wěn)態(tài)目標變化速度不能過慢).因方案采用多胞描述模型,多個局部穩(wěn)態(tài)線性模型并不能保證穩(wěn)態(tài)目標值有解,文獻[18]在SSTC層通過在穩(wěn)態(tài)LPV模型中引入人工干擾從而保證了穩(wěn)態(tài)目標值有解,同時在SSTC優(yōu)化問題中懲罰人工干擾的幅值來保證解的唯一性,最終可得到最優(yōu)穩(wěn)態(tài)目標值與對應的人工干擾.本文利用文獻[18]的穩(wěn)態(tài)目標計算思路對SSTC層采用的穩(wěn)態(tài)多胞描述模型引入人工干擾,同時對動態(tài)模型也引入人工干擾用來達到穩(wěn)態(tài)預測方程和動態(tài)預測方程的統(tǒng)一,基于此改進控制方案.該方案上下層均采用具有人工干擾的多胞描述模型,同樣可保證無靜差.不同于文獻[17-18]中求解min-max優(yōu)化問題得到控制作用,本文方案采用二次性能指標,優(yōu)化問題均可轉化為二次規(guī)劃(quadratic programming,QP)問題求解.
本文規(guī)劃如下:第2章介紹多胞描述模型并引入?yún)?shù)依賴的頂點控制作用;第3章通過引入動態(tài)及穩(wěn)態(tài)預測方程從而提出啟發(fā)式開環(huán)輸出反饋雙層MPC整體方案;第4章基于引入人工干擾的多胞描述模型介紹改進的控制方案;第5章進行仿真驗證;第6章小結全文.本文主要符號見表1.
表1 本文符號Table 1 The notations in this paper
考慮如下的離散時間多胞描述模型:
其中:u∈Rm為控制輸入,x∈Rn為系統(tǒng)狀態(tài),y∈Rr為系統(tǒng)輸出.通??紤]如下的輸入和狀態(tài)約束:
其中存在系數(shù)ωl(k)使得
令凸包
凸包的頂點值[Al|Bl|Cl]通常已知/給定,一般假設ωl(k)的實時值未知/不可測,這即是說LPV模型參數(shù)[A(k)|B(k)|C(k)]的實時值未知/不可測.假設狀態(tài)x(k)不可測(或并非所有x(k)可測),輸出y(k)的實時值可測,可采用如下觀測器估計狀態(tài)實時值:
注意到采用式(3)-(4)進行狀態(tài)估計時,當前觀測器系數(shù)已確定、輸出y(k)可測、估計狀態(tài)(k)已知,下一時刻的估計狀態(tài)(k+1)可通過狀態(tài)觀測器得到,但未來時刻的狀態(tài)(k+1+i),?i ≥1是不可知的,需要通過動態(tài)方程進行狀態(tài)預測得到.
令控制時域與預測時域為N,采用文獻[17]中的方法定義依賴于多胞頂點值的未來時刻頂點控制作用u(k|k),ul0(k+1|k),···,ulN?2···l0(k+N?1|k),?lj∈{1,···,L},j∈{0,···,N?2},使其滿足狀態(tài)方程
其中:i∈{1,···,N?1},lj∈{1,···,L},j∈{0,···,N?1}.式中l(wèi)i?1···l0(k+i|k),i∈{1,···,N}為頂點狀態(tài)預測值.未來真實控制作用u(k+i|k),?i>0依賴于多胞系數(shù),是未知/不可測的,可表示為
則未來時刻狀態(tài)預測可寫為向量形式
對于一般基于線性模型的預測控制方案中,優(yōu)化問題懲罰預測狀態(tài)和未來控制作用與穩(wěn)態(tài)值的差值.對于本文考慮的具有模型不確定性的系統(tǒng)來說,多胞描述模型中的參數(shù)ω(k)未知,這意味著準確的系統(tǒng)狀態(tài)未知.當預測時域N增加,每一個時刻的未知參數(shù)如式(10)中所示取過去時刻所有ω(k)的乘積,這便會導致隨著預測時域N的增加,未來狀態(tài)的不確定性指數(shù)增加.為了解決這個問題,本文引入頂點控制作用從而使得頂點預測狀態(tài)跟蹤其頂點穩(wěn)態(tài)值,這樣便可處理預測模型中不確定參數(shù)ω(k)的影響,由式(8)-(9)可推導得到基于頂點狀態(tài)的穩(wěn)態(tài)預測方程以及動態(tài)預測方程
式(13)-(14)中Q1,l0,R0,Q2,l1,l0,R1,l0,···,QN,lN?1···l0,RN?1,lN?2···l0為非負加權陣.以頂點控制作用為決策變量,優(yōu)化問題可構造為如下QP問題:
上一章介紹的開環(huán)輸出反饋預測控制方案在SSTC層穩(wěn)態(tài)目標滿足某個非線性方程,而在一般的SSTC模塊,考慮到計算時間通常工作在分鐘級,通常采用線性模型.而針對多胞描述模型,線性穩(wěn)態(tài)方程xss(k)=Alxss(k)+Bluss(k),l=1,2,···,L,通常不能被滿足,文獻[18]給出了一種引入人工干擾的方法使得SSTC模塊可以直接采用多胞描述模型,引入人工干擾dl∈Rn使得多胞描述模型穩(wěn)態(tài)方程變?yōu)?/p>
其中:AlI,?l∈{1,2,···,L}.由于人工干擾的引入,方程(18)中變量數(shù)L+2大于方程數(shù)L,則此方程有解,且滿足方程(18)的穩(wěn)態(tài)目標解xss(k)和uss(k)不唯一,在SSTC優(yōu)化問題中需要同時以dl(k)為決策變量.由于dl(k)為人為引入的干擾,需要在SSTC性能指標中加入使得其幅值最小化.SSTC優(yōu)化問題可有多種多樣的構造方法,可能包含多優(yōu)先級和軟約束放松,整體解決方案見文獻[20]所示,本文不再贅述.
注1在一般的SSTC層中,通過優(yōu)化問題得到穩(wěn)態(tài)目標xss和uss.在本文構造的SSTC優(yōu)化問題中,進一步得到滿足式(18)的dl(k).人工干擾dl(k)為引入的決策變量.也可以看作是穩(wěn)態(tài)偏置項(見文獻[18]).它的主要用途是使得基于多胞描述模型的穩(wěn)態(tài)方程(18)有解而引入的自由度.否則,方程(18)無法保證有解.
由于引入了人工干擾,多胞描述模型(1)變?yōu)?/p>
每個時刻求解如下二次規(guī)劃問題并且取第1步u?(k|k)送入實際系統(tǒng):
考慮文獻[21]中不含干擾項的非線性CSTR模型:
采用文獻[21]中的處理辦法可得到多胞描述模型,式(1)中參數(shù)為
輸入與輸出約束為|u|≥10 和|y|≥10,狀態(tài)約束|x1|≥0.5.
取初始狀態(tài)x(0)=[0.2?8]T,y(0)=3.3,目標理想值ut=2.5,xt=[?0.04 2.37]T,L0=[1 1]T,N=3,Q=10,R=1,采用本文第3章介紹的算法,在SSTC層采用穩(wěn)態(tài)非線性模型,在每一時刻解優(yōu)化問題(15)-(17),仿真結果如圖1-3所示,可以看到控制作用和系統(tǒng)狀態(tài)很好地跟蹤了可達目標理想值,上下層的模型一致性保證了無靜差.
圖1 狀態(tài)x1(k)響應(第3章算法)Fig.1 Response of state x1(k)(algorithm in Chapter 3)
圖2 狀態(tài)x2(k)響應(第3章算法)Fig.2 Response of state x2(k)(algorithm in Chapter 3)
圖3 輸入信號u(k)響應(第3章算法)Fig.3 Response of input signal u(k)(algorithm in Chapter 3)
采用本文第4章介紹的算法,引入了人工干擾,在SSTC層采用線性模型,仿真結果如圖4-6所示,可以看到控制作用和系統(tǒng)狀態(tài)跟蹤上層穩(wěn)態(tài)目標值,同樣保證了無靜差.
圖5 狀態(tài)x1(k)響應(第4章算法)Fig.5 Response of state x1(k)(algorithm in Chapter 4)
圖6 狀態(tài)x2(k)響應(第4章算法)Fig.6 Response of state x2(k)(algorithm in Chapter 4)
本文給出了基于多胞描述模型的啟發(fā)式開環(huán)輸出反饋預測控制的兩種解決方案,通過引入頂點控制作用得到頂點狀態(tài)預測方程,優(yōu)化問題跟蹤穩(wěn)態(tài)目標的頂點值得到控制作用.第3章介紹的方案適用于穩(wěn)態(tài)目標值滿足某個非線性方程.第4章介紹的方案適用于穩(wěn)態(tài)目標值滿足引入人工干擾的線性方程.兩種方案均通過仿真驗證了其可行性和有效性.由于采用多胞描述模型,計算量相比于一般的工業(yè)預測控制稍大.