楊世忠,邢麗娟
青島理工大學 信息與控制工程學院,山東 青島266520
魯棒模型預測控制(Robust Model Predictive Control,RMPC)由于能顯式地表示系統的模型不確定性和輸入輸出約束,實現系統的穩定控制,被廣泛應用于各種系統控制中[1-4]。在RMPC中,如何更好地減小由于系統的參數的不確定對系統控制造成的影響,減小系統的在線計算量,實現系統的快速穩定控制,是科研人員一直關注的重點。
魯棒模型預測控制將系統模型的不確定性用多胞體描述,離線時優化出一系列嵌套橢圓集序列,在線時根據狀態變量在橢圓集序列中的位置得到系統的控制律,這種基于離線嵌套橢圓集RMPC已經取得了許多研究成果[5-6]。文獻[7]針對系統狀態的多組一維子空間,運用常規離線魯棒預測控制生成多組橢圓不變集序列,在線時尋求當前狀態所處最大橢圓不變集,通過簡單的融合計算得到對應的控制律。文獻[8]離線構造一系列橢圓集來描述多步可行區域,每個橢圓集的平衡點根據上一個橢圓來選取,再根據在線計算合適的輸入使系統穩定,采用逐步倒退計算的方法確保迭代的可行性和穩定性,減少了計算負擔。文獻[9]針對一類具有多胞不確定性的線性參數變化系統,通過求解線性矩陣不等式,構造了一個收縮的橢圓集序列,優化了離線不變橢圓集的數量,實現了系統控制的快速穩定控制。由于系統的輸入輸出約束一般采用不等式的形式給出,采用離線嵌套橢圓集的RMPC 的初始可行域較小,算法保守,因此,采用一系列嵌套多面體集的離線算法開始廣泛應用于RMPC 中[10-12]。文獻[13]離線時構建多面體不變集,在線時每一個采樣時刻確定包含當前狀態的最小多面體不變集,通過計算與相鄰兩個多面體不變集的位置關系得到狀態反饋控制律。文獻[13]離線時選取一系列收斂于原點的離散狀態來計算相應的狀態反饋控制律,并構造各多面體不變量集。在線時,通過確定當前測量狀態可以嵌入的最小多面體不變量集來確定系統的控制律。文獻[14]提出了一種基于魯棒一步集的Tube不變集魯棒模型預測控制方法,采用多面體不變集離線設計方法得到基于多面體不變集序列的擴展終端約束集,通過引入魯棒一步集并借助Tube 不變集控制策略,設計了基于魯棒一步集的魯棒模型預測控制方法。文獻[15]考慮了離散時間的不確定分段仿射系統,提出了一種基于檢測狀態空間區域的可達性的多面體RMPC 算法,保證系統狀態從最大集驅動到目標區域,減少了在線計算量。文獻[16]中的RMPC 算法針對線性變參數系統,離線時構造了與嵌套多面體不變集相關聯的控制律序列,在線時經過線性插值的方法確定系統的實時控制律。應當看到,以上多面體不變集是在系統多胞體結構不變的基礎上由輸入輸出約束來確定的,由此產生的多面體也具有一定的保守性,而采用未知但有界誤差估計,用數據驅動的策略可以更好地估計不確定性多面體。文獻[17]采用未知但有界誤差估計的方法,提出了一種不確定多胞體的遞推估計RMPC,在每個采樣周期對多胞體結構進行更新,改善了系統的控制效果,但由于該算法采用在線優化的方式,造成系統在線運算負擔較重。
在以上文獻的基礎上,為適應狀態變量的變化對多胞體結構的影響,減少在線運算量,提高控制的精確性,采用如下設計方法:將控制算法分為離線算法和在線算法兩個部分,離線算法根據系統狀態變量的變化,得到相應的可變參數多胞體結構,并將其轉化為便于優化運算的狀態空間多胞體形式,構建一系列離線嵌套多面體不變集。在線算法根據狀態變量在嵌套多面體不變集中的位置,結合可變多胞體結構,采用線性插值的優化方式得到系統的實際控制律,以實現系統的快速穩定控制。
給定一個線性變參數系統:
其中,x(k )∈Rn為系統狀態變量;u(k )∈Rm為系統控制輸入;y(k )∈Rny為系統輸出。
由于系統(1)的參數可變,所以狀態方程系數矩陣A,B 具有不確定性,可用凸多胞體約束來表示:
這樣,狀態方程系數矩陣A,B 可表示為:
同時考慮系統(1)的輸入、輸出約束:
對上述線性變參數系統,采用最小最大優化方式:
選擇李亞普諾夫函數:
使系統(1)滿足不等式:
由公式(8)推導出J∞()k 的上界γ,則有:
設系統的狀態反饋律為F,則有:
令F=YQ-1,則公式(6)的優化可采用以下線性矩陣不等式的形式:
其中,公式(11)是優化目標,公式(12)是系統狀態變量的橢圓集約束,公式(13)是李亞普諾夫穩定的條件,公式(14)和(15)是輸入、輸出約束。
在常規的算法中,多胞體結構是固定的。設計的目的是在離線算法中考慮系統狀態變量的變化而導致的多胞體結構的變化,并根據變化的多胞體結構構建嵌套多面體不變集。在線時根據狀態變量在嵌套多面體不變集的位置,同時考慮多胞體結構的變化,通過線性插值的方法得到系統的實時控制律。
由于系統的狀態變量在不斷的改變,系統的多胞體結構也會相應發生變化,為了能根據狀態變量的變化而得到相應變化的多胞體結構,采用未知但有界誤差的方式來對多胞體進行估計。由于直接由未知但有界誤差的方式得到的可變參數多胞體不方便進一步優化運算,所以需要將可變參數多胞體轉化為適合于線性矩陣不等式優化的狀態方程系數矩陣多胞體的形式。因此,設計思路是首先通過未知但有界誤差估計的形式得到線性可變參數多胞體,然后,再經過變換得到狀態方程系數矩陣多胞體,以便采用線性矩陣不等式進行優化。
由于多胞體結構是由系統(1)狀態方程系統矩陣中的可變參數決定,為了體現可變參數和系統可測量的變量的關系,系統(1)需要轉換成未知但有界誤差描述模型:
其中,z(k )∈Rs為系統可測量變量,φ(k )∈Rr為系數矩陣,θ ∈Rr×s為系統的不確定參數,e()k 為有界誤差,滿足:
由公式(16)、(17)可得:
將公式(16)表示為空間集合的形式:
設系統(1)的可變參數的初始多胞體為Ωθ1,依次第i 個可變參數多胞體為Ωθi。這樣在計算離線的第i個可變參數多胞體結構可采用以下公式:
由公式(21)可以看到,當系統的狀態發生變化時可變參數多胞體的結構會發生變化,因此在實際的控制過程中考慮多胞體結構變化對系統的影響,有利于實現系統的穩定控制,減少由于多胞體固定不變帶來的保守性。由于魯棒模型預測控制算法優化時采用的是狀態方程系數矩陣,因此,需要將得到的可變參數多胞體結構化成狀態方程系數矩陣多胞體的形式。
對應系統(1)的狀態方程系數矩陣A,B 因包含未知參數導致其具有不確定性,根據公式(16)可知θ 是A、B 中的不確定參數變量。若,結合公式(2)可以得到系統的可變參數和狀態方程系數矩陣的關系:
其中,Aθ=0、Bθ=0是A、B 中令θ=0 得到的矩陣,jA、jB 是A、B 減去Aθ=0、Bθ=0后以對應每個不確定參數變量的系數矩陣。
為減少在線運算量,采用離線算法得到一系列基于可變多胞體結構的多面體不變集和相應的控制律。在離線算法中,首先通過給定一系列狀態變量,結合多胞體結構的改變,優化得到一系列控制律;然后依據優化出的控制律,根據系統的輸入輸出約束得到相應的一系列多面體集。
算法1 對于系統(1)和輸入輸出約束(4)、(5),設定有界誤差界限emin、emax,根據系統(1)參數可變范圍得到可變參數初始多胞體為Ωθ1。給定L 個逐漸向平衡點靠攏的狀態變量xi,令i=1。
(1)若i=1,將xi代入式(11)~(15)優化得到系統的控制律Fi;若i >1,轉到(2)。
(2)根據已得到的控制律Fi-1和當前的給定狀態變量xi得到系統的輸入輸出等相關變量,將系統(1)轉化為未知有界誤差描述模型(16)。
(3)由公式(19)、(20)得到當前的可變參數變量空間集合Hup、Hdown。
(4)由公式(21)得到第i 個可變參數多胞體Ωθi。
(5)由公式(22)計算系統狀態方程系數矩陣的多胞體,代入公式(13)和(15),再優化式(11)~(15)得到控制律Fi。
(6)令i=i+1,若i ≤L,返回(1);否則,算法結束。
算法1首次計算控制律時,采用的是系統的可變參數初始多胞體,在此基礎上通過不斷優化得到L 個不同結構的可變參數多胞體,經過變換得到不同結構的狀態方程系數矩陣多胞體,并求解出相應的控制律。然后,通過算法2得到離線嵌套多面體不變集。
算法2 對于系統(1)和輸入輸出約束(4)、(5),通過設定的狀態變量xi,由算法1 得到L 個狀態方程系數矩陣多胞體和控制律Fi。
(1)令i=1,m=1。根據輸入輸出約束,設對于每個xi和控制律Fi對應的多面體不變集為Si={x|Mix ≤di},其中:
(2)取( Mi,di)的m 行,采用系統狀態方程系數矩陣多胞體進行優化求解:
若Wi,m>0,說明原來的不變集需要添加約束Mi,m( Aj+BjFi)x ≤di,m,則:
(3)令m=m+1,如果m 不大于( Mi,di)的行數,返回步驟(2)。
(4)令i=i+1,如果i ≤N,返回步驟(1);否則算法結束。
離線算法2中,對于嵌套多面體不變集的優化求解過程中,對于給定的不同狀態變量,都采用相應多胞體結構進行優化,這樣更符合系統控制的實際情況。
采用離線算法中得到系統的可變多胞體結構、相應的控制律和嵌套多面體不變集,使得在線運算時只需要根據狀態變量在嵌套多面體不變集中的位置,通過插值優化就可得到系統的實際控制律,減少了系統的在線運算量。
在線算法根據系統狀態變量的當前值x(k)在嵌套多面體不變集中的位置,尋找狀態變量處在哪兩個多面體不變集之間,并通過由離線算法得到的控制律進行線性插值優化得到實時控制律[18]。在計算的過程中,需要考慮多胞體結構的變化。
算法3 對于系統(1)和輸入輸出約束(4)、(5),由離線算法得到L 個離線多面體不變集及相應的控制律和狀態方程系數矩陣多胞體結構。
(1)根據當前狀態變量x(k),尋找其所處的最小多面體不變集Si。
(2)若i <L,進行以下優化問題的求解:
(3)若i=L,則u(k)=FLx(k )。
(4)將u(k )代入系統(1),實現對系統的穩定控制。
在算法3中,λFi+(1 -λ )Fi+1是采用線性插值計算得到的實時控制律,Fi和Fi+1是狀態變量所處的最小多面體集和下一個更小的多面體集對應的控制律。得到實時控制律后,由公式(10)確定系統的輸入量,實現系統的穩定控制。
定理1 對于線性變參數系統(1),滿足輸入輸出約束(4)、(5),若系統初始狀態變量x1∈S,S 為多面體集,則算法3可以保證閉環系統的漸近穩定。
證明由于算法3是在可變多胞體結構的基礎上進行的,首先說明由可變參數多胞體轉換的狀態方程系數矩陣多胞體的嵌套關系。設在離線算法相鄰的兩個θ的多胞體為Ωθi和Ωθ(i+1),由公式(21)可知Ωθ(i+1)?Ωθi,根據凸多胞體理論有:
根據公式(22),設與之對應的狀態方程系數矩陣多胞體為Ωi和Ωi+1。根據公式(22)和(25)可得:
即Ωi+1?Ωi。這說明在狀態方程系數矩陣多胞體集合也是嵌套的。
下面說明系統的穩定性,對于x1∈S,不失一般性,設k 時刻有x(k )∈Si,且,選擇李亞普諾夫函數如公式(7),則,根據公式(8)可知Vi( x( k +1) )<Vi( x(k ));由于Si+1?Si,Ωi+1?Ωi,則Vi+1( x( k +1) )<Vi( x( k +1) )。綜上可得Vi+1( x( k +1) )<Vi( x(k )),即V( k+1) <V(k ),由此可知,算法3 可以保證閉環系統的漸近穩定。
以經典角度定位系統為例,系統由電動機驅動的在平面原點的旋轉天線組成。控制問題是使用輸入電壓的電機令天線旋轉,使其始終指向平面上運動物體的方向。以天線的角度位置和天線的角速度為狀態變量,天線的運動可以用下列離散時間方程來描述:
輸入約束條件:
參數變化范圍:
系統的初始值為x(0)=[0.05;0]。
現在的RMPC為減少在線計算量,都采用離線算法和在線算法的方式,離線算法得到嵌套多面體不變集和對應的控制律,完成大部分運算量,這樣在線算法的計算量就會大大減少。仿真對比也采用這種方式進行比較,對系統(26)采用可變多胞體結構的多面體不變集RMPC 和常規的多面體不變集RMPC[14]之間進行仿真比較。
根據公式(16),將系統(26)轉換成未知有界誤差描述模型:
由公式(28)可得系統(29)的可變參數初始多胞體Ωθ1為:
狀態方程系數矩陣初始多胞體Ω1為:
常規的RMPC 中多胞體為Ω1,在整個控制過程中保持不變。
對于系統(26),由公式(22)可知,關于可變參數多胞體和狀態方程系數矩陣多胞體的轉化系數矩陣為:
離線算法選擇5個狀態變量,如下所示:
根據算法1,設置e(k)的極值為0.003,得到關于系統可變參數的5個多胞體,如圖1所示。
圖1 可變參數多胞體結構
由圖1可以看到,當系統的狀態變量逐漸趨于平衡點時,可變參數的多胞體結構也在不斷減小,是一個嵌套的多胞體集。對于常規的多面體不變集RMPC,可變參數多胞體結構如圖1 中的多胞體1,在控制過程中不發生變化。
由算法1可以得到相應的控制律F:
采用同樣的給定狀態變量值,給出常規多面體不變集RMPC離線算法得到的控制律F′:
比較兩種控制律,可以看到,當狀態變量趨于穩定點時,控制律作用是逐漸增大的。另外,由于在第一個控制律求解時,兩種算法的狀態方程系數矩陣初始多胞體是相同的,所以兩種算法的第一個控制律是相等的。由于可變多胞體結構更符合實際的控制過程,所以得到的其他4個控制律都大于多胞體不變時得到的控制律。通過算法2 離線得到可變多胞體結構的嵌套多面體不變集,如圖2所示。
圖2 可變多胞體結構的嵌套多面體不變集
在線仿真時,將算法3 實現的控制過程和文獻[14]中常規控制過程進行比較。兩種算法得出的控制仿真圖如圖3、圖4所示。
圖3 可變多胞體結構的RMPC算法
比較圖3、圖4 可以看到,采用可變多胞體結構的RMPC算法,狀態變量變化快,在第12個采樣周期就可以達到穩態點;而采用常規RMPC 算法時,狀態變量需要30個采樣周期才趨于穩定點。采用可變多胞體結構的RMPC算法,控制量較大,對系統的作用強,在第8個采樣周期控制量達到穩態點;而采用常規RMPC 算法,控制量較小,對系統的作用較弱,需要24個采樣周期控制量才趨于穩定點。
圖4 常規RMPC算法
仿真結果表明,采用可變多胞體結構的RMPC算法時,由于多胞體結構可以隨著狀態變量的變化而進行調整,在狀態變量趨于穩定點時,控制律的作用也不斷增大,這樣,系統控制量作用增強,加快了系統趨于穩定的速度,因此,系統響應的快,穩定性好。
對于線性變參數系統,提出可變多胞體結構的多面體不變集魯棒模型預測控制優化算法。采用多胞體的未知有界誤差估計的方法,將線性變參數系統狀態方程轉換成未知有界誤差描述模型。離線時,通過未知有界誤差描述模型和一系列給定的狀態變量,得到關于可變參數的多胞體結構,并構建嵌套多面體不變集序列。在線時,根據測量到的狀態變量在系列多面體不變集的位置,考慮可變多胞體結構,通過線性插值的優化方式得到實際控制律。算法考慮了多胞體結構的變化對系統控制的影響,增強了系統的控制作用,實現了系統的快速穩定控制。通過仿真比較驗證了算法的有效性,為線性變參數系統的魯棒預測控制提供了一種可行的控制方法。