作爲一種在有限時域內進行滾動優化求解的控制算法,模型預測控制(Model Predictive Control,MPC)的穩定性更引入關注。自從上世紀80年代後期MPC在工業界的成功應用倒逼學術界進行理論研究後,關於MPC的穩定性逐漸得到了證明並出現了在不同基礎上的思路,本文主要講述其中採用添加終端約束(terminal constraints)的方法。參考內容是Maciejowski的Predictive control: with constraints這本書。
這裏考慮一個一般性的被控對象的模型:
x(k+1)=f(x(k),u(k))
在每個週期的控制作用是通過求解下面這個優化命題得到的:
V(k)=∑i=1Nℓ(x^(k+i|k),u^(k+i−1|k))
這裏
ℓ(x,u)≥0 ,
ℓ(x,u)=0 當且僅當
x=0 且
u=0 。同時我們在這裏加上終端約束:
x^(k+N|k)=0
在這裏爲了簡明起見,我們令控制時域和預測時域都相等且爲
N . 同時要說明的是,這裏的
u 和
x 都是帶有約束的,即:
u^(k+i|k)∈U,x^(k+i|k)∈X
其中
U 和
X 都是包含原點的非空集合。同時我們假設
u=0 和
x=0 是系統的一個平衡狀態(equilibrium condition),即
0=f(0,0) 。並且在每個時刻求解得到的最優序列:
{u0(k+i|k):i=0,...,N−1} 中,只有第一個控制作用
u0(k|k) 被施加到對象上。
在如上所述的情況下,如果我們再假設每個週期的優化命題都有可行解且能求解得到全局最優,那麼我們可以認定系統在 u=0 和 x=0 處是穩定的。
證明如下:
這裏穩定性的證明採用了控制理論中傳統的Lyapunov穩定性證明,即就是找到系統的一個Lyapunov函數,該函數正定而其倒數負定(即函數值遞減)。這裏的思路就是以每個週期的優化命題目標函數的最優值(即 V0(k) )作爲Lyapunov函數。V0(k) 的正定性在前面的假設中已經有所說明。現在需要證明的就是其倒數的負定性,即 V0(k+1)≤V0(k) 。
與其他的穩定性證明方法相同,我們在這裏假設模型是無偏的,且不考慮噪聲的干擾。因此預測得到的系統狀態與實際對象的狀態一致,即如果 u(k+i)=u^(k+i|k) ,則 x(k+i)=x^(k+i|k) 。於是有:
V0(k+1)=minu∑i=1Nℓ(x(k+i+1),u(k+i))=minu{∑i=1Nℓ(x(k+i),u(k+i−1))−ℓ(x(k+1),u(k))+ℓ(x(k+1+N),u(k+N))}=−ℓ(x(k+1),u(k))+minu{∑i=1Nℓ(x(k+i),u(k+i−1))+ℓ(x(k+1+N),u(k+N))}≤−ℓ(x(k+1),u0(k))+V0(k)+minu{ℓ(x(k+1+N),u(k+N))}
相對於原書中關於上式的推導,我在不等號前添加了一步以更大程度上便於理解,能把 −ℓ(x(k+1),u(k)) 一項從優化命題中提出來是因爲原優化命題的決策變量 u 是從 k+1 時刻開始的,因此 u(k) 的取值並不影響優化命題的結果。
在上式的基礎上,因爲我們已經添加了終端約束,即 x^(k+N|k)=0 ,因此我們可以保證上式中的
minu{ℓ(x(k+1+N),u(k+N))}=0
同時因爲
ℓ(x(k+1),u(k))≥0 ,因此我們就證明了
V0(k+1)≤V0(k) 。所以
V0(k) 是原系統的一個Lyapunov函數,原系統在原點處的Lyapunov穩定性可以得到證明。
□
關於MPC穩定性的證明和Lyapunov函數的意義,可以參考朱豫才老師的一篇博文:李雅普諾夫穩定性理論之批判。
Ref.
Maciejowski, J. M. (2002). Predictive control: with constraints. Pearson education.