一、无约束MPC
- 考虑如下控制系统:
{ x k + 1 = A x k + B u k y k = C x k \begin{cases} x_{k+1}=Ax_k+Bu_k\\ y_k=Cx_k\\ \end{cases} {xk+1=Axk+Bukyk=Cxk
- MPC原理:根据当前系统状态预测未来系统输入及系统输出,步骤如下:
y k + 1 ∣ k = C A x k + C B u k y k + 2 ∣ k = C A x k + 1 ∣ k + C B u k + 1 ∣ k y k + 3 ∣ k = C A x k + 2 ∣ k + C B u k + 2 ∣ k ⋮ y k + n ∣ k = C A x k + n − 1 ∣ k + C B u k + n − 1 ∣ k ⋮ y k + 2 ∣ k = C A x k + 1 ∣ k + C B u k + 1 ∣ k = C A 2 x k + C A B u k + C B u k + 1 ∣ k y k + 3 ∣ k = C A x k + 2 ∣ k + C B u k + 2 ∣ k = C A ( A x k + 1 + B u k + 1 ) + C B u k + 2 ∣ k = C A 2 x k + 1 + C A B u k + 1 + C B u k + 2 ∣ k = C A 2 ( A x k + B u k ) + C A B u k + 1 + C B u k + 2 ∣ k = C A 3 x k + C A 2 B u k + C A B u k + 1 + C B u k + 2 ∣ k . y k + n ∣ k = C A n x k + ∑ i = 0 n − 1 C A i B u k + n − 1 − i = C A n x k + ∑ i = 0 n − 1 C A n − i − 1 B u k + i Y k = [ y k + 1 ∣ k y k + 2 ∣ k y k + 3 ∣ k ⋯ y k + n ∣ k ] T = [ C A C A 2 ⋮ C A n ] x k + [ l C B 0 0 ⋯ C A B C B 0 ⋯ ⋮ ⋮ ⋮ ⋱ C A n − 1 B C A n − 2 B ⋯ ⋯ 0 0 ⋮ C B ] [ u k u k + 1 ∣ k ⋮ u k + n − 1 ∣ k ] = F x k + G U k 预测时域 ⩽ 控制时域成本函数 J k = ( F x k + G U k − R k ) T Q ( F x k + G U k − R k ) + U k T R U k 无约束优化问题: J k ′ = 0 , J k ′ ′ > 0 设成本函数: V k = ( F p × 1 x k + G p × p U k − R k ) T Q ( F p × 1 x k + G p × p U k − R k ) + U k T R U k 其中 Q = d i a g ( ξ 1 ) , R = d i a g ( ξ 2 ) 让 Q f = d i a g ( ξ 1 ) , R f = d i a g ( ξ 2 ) 得: V k = [ ( F p × 1 x k + G p × p U k − R k ) Q f U k R f ] [ Q f ( F p × 1 x k + G p × p U k − R k ) R f U k ] [ Q f ( F p × 1 x k + G p × p U k − R k ) R f U k ] = [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] V k = ( [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] ) T ( [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] ) d V k d U k = [ Q f G p × p R f ] T ( [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] ) + ( [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] ) T [ Q f G p × p R f ] = 2 [ Q f G p × p R f ] T ( [ Q f G p × p R f ] U k + [ Q f ( F p × 1 x k − R k ) 0 ] ) d 2 V k d U k 2 = 2 [ Q f G p × p R f ] T [ Q f G p × p R f ] > 0 得最优控制系列: U k = ( [ Q f G p × p R f ] [ Q f G p × p R f ] ) − 1 [ Q f G p × p R f ] [ Q f ( R k − F p × 1 x k ) 0 ] = ( G p × p T Q G p × p + R ) − 1 G p × p Q ( R k − F p × 1 x k ) 令 K m p c = [ 1 , 0 ⋯ 0 ] ( G p × p T Q G p × p + R ) − 1 G p × p Q 得到当前的控制量(即把控制系列的第一个控制量作用于系统) u k = K m p c ( R k − F p × 1 x k ) \\ y_{k+1|k}=CAx_k+CBu_k \\ \\ \\ y_{k+2|k}=CAx_{k+1|k}+CBu_{k+1|k} \\ y_{k+3|k}=CAx_{k+2|k}+CBu_{k+2|k} \\ \vdots \\ y_{k+n|k}=CAx_{k+n-1|k}+CBu_{k+n-1|k} \\ \vdots \\ y_{k+2|k}=CAx_{k+1|k}+CBu_{k+1|k}=CA^2x_k+CABu_k+CBu_{k+1|k} \\ y_{k+3|k}=CAx_{k+2|k}+CBu_{k+2|k}=CA\left( Ax_{k+1}+Bu_{k+1} \right) +CBu_{k+2|k}=CA^2x_{k+1}+CABu_{k+1}+CBu_{k+2|k} \\ =CA^2\left( Ax_k+Bu_k \right) +CABu_{k+1}+CBu_{k+2|k}=CA^3x_k+CA^2Bu_k+CABu_{k+1}+CBu_{k+2|k}. \\ y_{k+n|k}=CA^nx_k+\sum_{i=0}^{n-1}{CA^iBu_{k+n-1-i}}=CA^nx_k+\sum_{i=0}^{n-1}{CA^{n-i-1}Bu_{k+i}} \\ Y_k=\left[ y_{k+1|k}\,\,y_{k+2|k}\,\,y_{k+3|k}\cdots y_{k+n|k} \right] ^T=\left[ \begin{array}{c} CA\\ CA^2\\ \vdots\\ CA^n\\ \end{array} \right] x_k+\left[ \begin{matrix}{l} CB& 0& 0& \cdots\\ CAB& CB& 0& \cdots\\ \vdots& \vdots& \vdots& \ddots\\ CA^{n-1}B& CA^{n-2}B& \cdots& \cdots\\ \end{matrix}\begin{array}{c} 0\\ 0\\ \vdots\\ CB\\ \end{array} \right] \left[ \begin{array}{c} u_k\\ u_{k+1|k}\\ \vdots\\ u_{k+n-1|k}\\ \end{array} \right] \\ =Fx_k+GU_k \\ \text{预测时域}\leqslant \text{控制时域成本函数}J_k=\left( Fx_k+GU_k-R_k \right) ^TQ\left( Fx_k+GU_k-R_k \right) +{U_k}^TRU_k \\ \text{无约束优化问题:}{J_k}^{'}=0\text{,}{J_k}^{''}>0 \\ \text{设成本函数:}V_k=\left( F_{p\times 1}x_k+G_{p\times p}U_k-R_k \right) ^TQ\left( F_{p\times 1}x_k+G_{p\times p}U_k-R_k \right) +{U_k}^TRU_k \\ \text{其中}Q=\mathrm{diag}\left( \xi _1 \right) ,R=\mathrm{diag}\left( \xi _2 \right) \\ \text{让}Q_f=\mathrm{diag}\left( \sqrt{\xi _1} \right) ,R_f=\mathrm{diag}\left( \sqrt{\xi _2} \right) \\ \text{得:}V_k=\left[ \left( F_{p\times 1}x_k+G_{p\times p}U_k-R_k \right) Q_f\,\,U_kR_f \right] \left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k+G_{p\times p}U_k-R_k \right)\\ R_fU_k\\ \end{array} \right] \\ \left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k+G_{p\times p}U_k-R_k \right)\\ R_fU_k\\ \end{array} \right] =\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \\ V_k=\left( \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \right) ^T\left( \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \right) \\ \frac{dV_k}{dU_k}=\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] ^T\left( \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \right) +\left( \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \right) ^T\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] \\ =2\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] ^T\left( \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] U_k+\left[ \begin{array}{c} Q_f\left( F_{p\times 1}x_k-R_k \right)\\ 0\\ \end{array} \right] \right) \,\, \\ \frac{d^2V_k}{{dU_k}^2}=2\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] ^T\left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] >0 \\ \text{得最优控制系列:}U_k=\left( \left[ Q_fG_{p\times p}\,\,R_f \right] \left[ \begin{array}{c} Q_fG_{p\times p}\\ R_f\\ \end{array} \right] \right) ^{-1}\left[ Q_fG_{p\times p}\,\,R_f \right] \left[ \begin{array}{c} Q_f\left( R_k-F_{p\times 1}x_k \right)\\ 0\\ \end{array} \right] \\ =\left( G_{p\times p}^{T}QG_{p\times p}+R \right) ^{-1}G_{p\times p}Q\left( R_k-F_{p\times 1}x_k \right) \\ \text{令}K_{mpc}=\left[ 1\text{,}0\cdots \,\,0 \right] \left( G_{p\times p}^{T}QG_{p\times p}+R \right) ^{-1}G_{p\times p}Q \\ \text{得到当前的控制量(即把控制系列的第一个控制量作用于系统)}u_k=K_{mpc}\left( R_k-F_{p\times 1}x_k \right) \\ yk+1∣k=CAxk+CBukyk+2∣k=CAxk+1∣k+CBuk+1∣kyk+3∣k=CAxk+2∣k+CBuk+2∣k⋮yk+n∣k=CAxk+n−1∣k+CBuk+n−1∣k⋮yk+2∣k=CAxk+1∣k+CBuk+1∣k=CA2xk+CABuk+CBuk+1∣kyk+3∣k=CAxk+2∣k+CBuk+2∣k=CA(Axk+1+Buk+1)+CBuk+2∣k=CA2xk+1+CABuk+1+CBuk+2∣k=CA2(Axk+Buk)+CABuk+1+CBuk+2∣k=CA3xk+CA2Buk+CABuk+1+CBuk+2∣k.yk+n∣k=CAnxk+i=0∑n−1CAiBuk+n−1−i=CAnxk+i=0∑n−1CAn−i−1Buk+iYk=[yk+1∣kyk+2∣kyk+3∣k⋯yk+n∣k]T=⎣⎢⎢⎢⎡CACA2⋮CAn⎦⎥⎥⎥⎤xk+⎣⎢⎢⎢⎡lCBCAB⋮CAn−1B0CB⋮CAn−2B00⋮⋯⋯⋯⋱⋯00⋮CB⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡ukuk+1∣k⋮uk+n−1∣k⎦⎥⎥⎥⎤=Fxk+GUk预测时域⩽控制时域成本函数Jk=(Fxk+GUk−Rk)TQ(Fxk+GUk−Rk)+UkTRUk无约束优化问题:Jk′=0,Jk′′>0设成本函数:Vk=(Fp×1xk+Gp×pUk−Rk)TQ(Fp×1xk+Gp×pUk−Rk)+UkTRUk其中Q=diag(ξ1),R=diag(ξ2)让Qf=diag(ξ1),Rf=diag(ξ2)得:Vk=[(Fp×1xk+Gp×pUk−Rk)QfUkRf][Qf(Fp×1xk+Gp×pUk−Rk)RfUk][Qf(Fp×1xk+Gp×pUk−Rk)RfUk]=[QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0]Vk=([QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0])T([QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0])dUkdVk=[QfGp×pRf]T([QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0])+([QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0])T[QfGp×pRf]=2[QfGp×pRf]T([QfGp×pRf]Uk+[Qf(Fp×1xk−Rk)0])dUk2d2Vk=2[QfGp×pRf]T[QfGp×pRf]>0得最优控制系列:Uk=([QfGp×pRf][QfGp×pRf])−1[QfGp×pRf][Qf(Rk−Fp×1xk)0]=(Gp×pTQGp×p+R)−1Gp×pQ(Rk−Fp×1xk)令Kmpc=[1,0⋯0](Gp×pTQGp×p+R)−1Gp×pQ得到当前的控制量(即把控制系列的第一个控制量作用于系统)uk=Kmpc(Rk−Fp×1xk)
- 闭环状态方程
x k + 1 = A x k + B K m p c ( R k − F p × 1 x k ) x k + 1 = ( A − B K m p c F p × 1 ) x k + B K m p c R k x_{k+1}=Ax_k+BK_{mpc}\left( R_k-F_{p\times 1}x_k \right) \\ x_{k+1}=\left( A-BK_{mpc}F_{p\times 1} \right) x_k+BK_{mpc}R_k xk+1=Axk+BKmpc(Rk−Fp×1xk)xk+1=(A−BKmpcFp×1)xk+BKmpcRk
- 稳定性分析
-
单位圆法:
-
即 ∣ λ max ( A − B K m p c F p × 1 ) ∣ < 1 |\lambda _{\max}\left( A-BK_{mpc}F_{p\times 1} \right) | <\,\,1 ∣λmax(A−BKmpcFp×1)∣<1时,闭环系统是稳定的。
-
二、约束MPC
约束条件在实际控制系统中是无可避免的,一般表现为状态约束和控制约束。
-
优化问题:
u k ∗ = min V k u k s . t . { u k ϵ [ u min , u max ] y k ϵ [ y min , y max ] u_{k}^{*}=\underset{u_k}{\min V_k} \\ s.t.\begin{cases} u_k\epsilon \left[ u_{\min},u_{\max} \right]\\ y_k\epsilon \left[ y_{\min},y_{\max} \right]\\ \end{cases} uk∗=ukminVks.t.{ukϵ[umin,umax]ykϵ[ymin,ymax] -
对于上述的优化问题是无法求得解析解的,因此就无法跟无约束优化MPC一样得到闭环系统的表达式,显然也就不法用系统矩阵的特征值在单位圆内的方法求得闭环系统的稳定性。
-
稳定性讨论:Lyapunov稳定性是建立在时间无穷的基础上的。在MPC中,尽管通过每个采样时刻的优化,滚动向前优化可以使得时间趋近于无穷,但讨论MPC的稳定性问题时,每个采样时刻优化问题的的最优解并不能引出闭环系统的稳定性。原因如下:假设k时刻优化问题有最优解,记为 Δ U k ∗ = [ Δ u ∗ ( k ∣ k ) Δ u ∗ ( k + 1 ∣ k ) ⋮ Δ u ∗ ( k + m − 1 ∣ k ) ] \varDelta U_{k}^{*}=\left[ \begin{array}{c} \varDelta u^*\left( k|k \right)\\ \varDelta u^*\left( k+1|k \right)\\ \vdots\\ \varDelta u^*\left( k+m-1|k \right)\\ \end{array} \right] ΔUk∗=⎣⎢⎢⎢⎡Δu∗(k∣k)Δu∗(k+1∣k)⋮Δu∗(k+m−1∣k)⎦⎥⎥⎥⎤ 相应的优化目标函数值为: J k ∗ = ∑ i = 0 p ∥ y c ∗ ( k + i ∣ k ) ∥ Q i 2 + ∑ i = 0 m − 1 ( ∥ Δ u ∗ ( k + i ∣ k ) ∥ S i 2 + ∥ u ( k + i ∣ k ) ∥ R i 2 ) \text{相应的优化目标函数值为:}J_{k}^{*}=\sum_{i=0}^p{\left\| y_{c}^{*}(k+i\mid k) \right\| _{Q_i}^{2}}+\sum_{i=0}^{m-1}{\left( \left\| \Delta u^*(k+i\mid k) \right\| _{S_i}^{2}+\parallel u(k+i\mid k)\parallel _{R_i}^{2} \right)} 相应的优化目标函数值为:Jk∗=i=0∑p∥yc∗(k+i∣k)∥Qi2+i=0∑m−1(∥Δu∗(k+i∣k)∥Si2+∥u(k+i∣k)∥Ri2)在k+1时刻,约束优化问题也有最优解 Δ U k + 1 ∗ \varDelta U_{k+1}^{*} ΔUk+1∗优化值为 J k + 1 ∗ J_{k+1}^{*} Jk+1∗
但没有保证 J k + 1 ∗ ⩽ J k ∗ J_{k+1}^{*}\leqslant J_{k}^{*} Jk+1∗⩽Jk∗
这样就有可能导致当 k ⟶ ∞ 时, J k ∗ ⟶ ∞ ,导致 y ( ∞ ) ⟶ ∞ k\longrightarrow \infty \text{时,}J_{k}^{*}\longrightarrow \infty \text{,导致}y\left( \infty \right) \longrightarrow \infty k⟶∞时,Jk∗⟶∞,导致y(∞)⟶∞因此,每个采样时刻优化问题的的最优解并不能引出闭环系统的稳定性
显然,由于约束条件的存在,一般情况下,不法得到约束优化问题的解析解,也即不能得到如无约束一样得到 K m p c K_{mpc} Kmpc的表达式。因此,需要采用数值优化的方法求解约束优化问题。 -
约束求解问题:一般为二次规划问题(QP问题): min z z T H z − g T z , C z ⩾ b \underset{z}{\min}z^THz\,\,-\,\,g^Tz\,\, , Cz\geqslant b\,\, zminzTHz−gTz,Cz⩾b因此可以把优化问题和约束转化为标准的QP问题
-
无论是控制约束还是输出约束都是一种非线性特性,因此,约束预测控制的闭环系统是非线性的。
-
约束稳定性方法:
- 终端等式法:在预测时域的终端加一个输出的等式约束,即使系统在预测时域的终端达到稳定输出。
- 终端等式法:与终端等式法一样,在预测时域的终端加一个输出的不等式约束,把系统在预测时域的终端约束在稳定点领域内
2.1 不等式约束
- 优化问题可行解:
- 满足约束条件
- 目标函数的值有界
- 稳定性分析:由于稳定性分析是建立在无限时域上的,因此可以在预测终端增加一个终端等式约束(稳定状态),那么预测时域之外的控制就可以全部取0,这样优化问题就可以从有限时域到无限时域。
优化问题: V k = ∑ j = 0 p − 1 ( ∥ C x k + j ∣ k − y k + j r ∥ ε 1 2 + ∥ u k + j ∣ k ∥ ε 1 2 ) u k ∗ = a r g min u k V k s . t . { ( i ) u k ϵ [ u , u ˉ ] ( i i ) x k ∣ k = x k ( i i i ) y k + p = C x k + p = y k + p r 终端等式约束 ( i v ) x k + j ∣ k = A x k + j − 1 ∣ k + B u k + j − 1 假设 K 时刻有最优解: u k ∗ = { u k ∣ k ∗ u k + 1 ∣ k ∗ ⋯ u k + p − 1 ∣ k ∗ } , y k ∗ = { y k ∣ k ∗ y k + 1 ∣ k ∗ ⋯ y k + p − 1 ∣ k ∗ y k + p r } 此时优化问题的值为: V k ∗ k + 1 时刻, y k + p + 1 ∣ k ∗ = y k + p + 1 r , u k + p ∣ k + 1 = u k + p ∣ k ∗ 0 则 k + 1 时刻可以选择如下控制输入: u k + 1 = { u k + 1 ∣ k ∗ u k + 2 ∣ k ∗ ⋯ u k + p − 1 ∣ k ∗ 0 } , y k + 1 = { y k + 1 ∣ k ∗ y k + 2 ∣ k ∗ ⋯ y k + p − 1 ∣ k ∗ y k + p r y k + p + 1 r } 优化问题的值: V k + 1 = ∑ j = 0 p − 1 ( ∥ C x k + 1 + j ∣ k + 1 − y k + j + 1 r ∥ ε 1 2 + ∥ u k + j + 1 ∣ k + 1 ∥ ε 1 2 ) = ∑ j = 1 p ( ∥ C x k + j ∣ k − y k + j r ∥ ε 1 2 + ∥ u k + j ∣ k ∥ ε 1 2 ) = V k ∗ − ( ∥ C x k ∣ k − y k r ∥ ε 1 2 + ∥ u k ∣ k ∥ ε 1 2 ) ⩽ V k ∗ 故 u k + 1 是可行解,优化解的值好于可行解的值 因此 V k + 1 ∗ ⩽ V k + 1 ⩽ V k ∗ ,所以系统是渐进稳定的 \text{优化问题:}V_k=\sum_{j=0}^{p-1}{\left( \left\| Cx_{k+j|k}-\,\,y_{k+j}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j|k} \right\| _{\varepsilon _1}^{2} \right)} \\ u_{k}^{*}=\underset{u_k}{arg\,\,\min}V_k \\ s.t.\begin{cases} \left( i \right) u_k\epsilon \left[ u,\bar{u} \right]\\ \left( ii \right) x_{k|k}=x_k\\ \left( iii \right) y_{k+p}=Cx_{k+p}=y_{k+p}^{r}\,\,\text{终端等式约束}\\ \left( iv \right) x_{k+j|k}=Ax_{k+j-1|k}+Bu_{k+j-1}\\ \end{cases} \\ \text{假设}K\text{时刻有最优解:}u_{k}^{*}=\left\{ u_{k|k}^{*}\,\,u_{k+1|k}^{*}\,\,\cdots \,\,u_{k+p-1|k}^{*} \right\} , y_{k}^{*}=\left\{ y_{k|k}^{*}\,\,y_{k+1|k}^{*}\,\,\cdots y_{k+p-1|k}^{*}\,\,y_{k+p}^{r} \right\} \\ \text{此时优化问题的值为:}V_{k}^{*} \\ \\ k+1\text{时刻,}y_{k+p+1|k}^{*}=y_{k+p+1}^{r},u_{k+p|k+1}=u_{k+p|k}^{*}0 \\ \text{则}k+1\text{时刻可以选择如下控制输入:}u_{k+1}=\left\{ u_{k+1|k}^{*}\,\,u_{k+2|k}^{*}\cdots \,\,u_{k+p-1|k}^{*}\,\,0 \right\} ,y_{k+1}=\left\{ y_{k+1|k}^{*}\,\,y_{k+2|k}^{*}\cdots y_{k+p-1|k}^{*}\,\,y_{k+p}^{r}\,\,y_{k+p+1}^{r} \right\} \\ \\ \text{优化问题的值:}V_{k+1}=\sum_{j=0}^{p-1}{\left( \left\| Cx_{k+1+j|k+1}-\,\,y_{k+j+1}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j+1|k+1} \right\| _{\varepsilon _1}^{2} \right)} \\ \\ =\sum_{j=1}^p{\left( \left\| Cx_{k+j|k}-\,\,y_{k+j}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j|k} \right\| _{\varepsilon _1}^{2} \right)}=V_{k}^{*}-\left( \left\| Cx_{k|k}-\,\,y_{k}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k|k} \right\| _{\varepsilon _1}^{2} \right) \leqslant V_{k}^{*} \\ \text{故}u_{k+1}\text{是可行解,优化解的值好于可行解的值} \\ \text{因此}V_{k+1}^{*}\leqslant V_{k+1}\leqslant V_{k}^{*}\text{,所以系统是渐进稳定的} \\ \\ 优化问题:Vk=j=0∑p−1(∥∥Cxk+j∣k−yk+jr∥∥ε12+∥∥uk+j∣k∥∥ε12)uk∗=ukargminVks.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧(i)ukϵ[u,uˉ](ii)xk∣k=xk(iii)yk+p=Cxk+p=yk+pr终端等式约束(iv)xk+j∣k=Axk+j−1∣k+Buk+j−1假设K时刻有最优解:uk∗={uk∣k∗uk+1∣k∗⋯uk+p−1∣k∗},yk∗={yk∣k∗yk+1∣k∗⋯yk+p−1∣k∗yk+pr}此时优化问题的值为:Vk∗k+1时刻,yk+p+1∣k∗=yk+p+1r,uk+p∣k+1=uk+p∣k∗0则k+1时刻可以选择如下控制输入:uk+1={uk+1∣k∗uk+2∣k∗⋯uk+p−1∣k∗0},yk+1={yk+1∣k∗yk+2∣k∗⋯yk+p−1∣k∗yk+pryk+p+1r}优化问题的值:Vk+1=j=0∑p−1(∥∥Cxk+1+j∣k+1−yk+j+1r∥∥ε12+∥∥uk+j+1∣k+1∥∥ε12)=j=1∑p(∥∥Cxk+j∣k−yk+jr∥∥ε12+∥∥uk+j∣k∥∥ε12)=Vk∗−(∥∥Cxk∣k−ykr∥∥ε12+∥∥uk∣k∥∥ε12)⩽Vk∗故uk+1是可行解,优化解的值好于可行解的值因此Vk+1∗⩽Vk+1⩽Vk∗,所以系统是渐进稳定的
2.2 不等式约束
-
等式约束是在约束优化问题中加入终端等式约束,使得预测控制闭环系统内部稳定。然而加入终端等式约束会带来如下问题:
- 易引起优化问题的不可行
- 导致较小的稳定域
- 在数值计算不易实现
-
因此,在约束优化问题中引入较宽松的不等式约束 x ( k + m ) ε Ω x\left( k+m \right) \,\,\varepsilon \,\,\varOmega x(k+m)εΩ,其中 Ω \varOmega Ω 是平衡点的一个邻域。这种方法的基本出发点是在平衡点的邻域内可以用无约束线性反馈来控制系统。对于一个线性系统而言,如果(A,B)是可稳的,则必存在一个状态反馈u=Kx 使得(A+Bk)是渐进稳定的。而且,由函数的连续性可知必存在一个平衡点的邻域 Ω \varOmega Ω ,使得系统满足控制约束和输出约束,即
u min ⩽ K x ⩽ u max y min ⩽ C x ⩽ y max u_{\min}\leqslant Kx\,\,\leqslant \,\,u_{\max} \\ y_{\min}\leqslant Cx\,\,\leqslant \,\,y_{\max} umin⩽Kx⩽umaxymin⩽Cx⩽ymax
并且还需要满足 ( A + B K ) x ε Ω \left( A+BK \right) x\,\,\varepsilon \,\,\varOmega (A+BK)xεΩ -
稳定性分析
优化问题: V k = ∑ j = 0 p − 1 ( ∥ C x k + j ∣ k − y k + j r ∥ ε 1 2 + ∥ u k + j ∣ k ∥ ε 1 2 ) + ∥ x ( k + p ∣ k ) ∥ m 2 u k ∗ = a r g min u k V k s . t . { ( i ) u k ϵ [ u , u ˉ ] ( i i ) x k ∣ k = x k ( i i i ) y k + p ε Ω 终端不等式约束 ( i v ) x k + j ∣ k = A x k + j − 1 ∣ k + B u k + j − 1 假设 K 时刻有最优解: u k ∗ = { u k ∣ k ∗ u k + 1 ∣ k ∗ ⋯ u k + p − 1 ∣ k ∗ } , y k ∗ = { y k ∣ k ∗ y k + 1 ∣ k ∗ ⋯ y k + p − 1 ∣ k ∗ Ω } 此时优化问题的值为: V k ∗ 则 k + 1 时刻可以选择如下控制输入: u k + 1 = { u k + 1 ∣ k ∗ u k + 2 ∣ k ∗ ⋯ u k + p − 1 ∣ k ∗ K x ∗ ( k + p ∣ k ) } 因为 x ∗ ( k + p ∣ k ) ε Ω ,所以有 K x ∗ ( k + p ∣ k ) ϵ [ u , u ˉ ] , 输入满足约束 因为: x ( k + p + 1 ∣ k + 1 ) = ( A + B K ) x ∗ ( k + p ∣ k ) ε Ω ,输出满足约束 优化问题的值: V k + 1 = ∑ j = 0 p − 1 ( ∥ C x k + 1 + j ∣ k + 1 − y k + j + 1 r ∥ ε 1 2 + ∥ u k + j + 1 ∣ k + 1 ∥ ε 1 2 ) + ∥ x ( k + 1 + p ∣ k + 1 ) ∥ m 2 = ∑ j = 1 p ( ∥ C x k + j ∣ k − y k + j r ∥ ε 1 2 + ∥ u k + j ∣ k ∥ ε 1 2 ) = V k ∗ − ( ∥ C x k ∣ k − y k r ∥ ε 1 2 + ∥ u k ∣ k ∥ ε 1 2 ) ⩽ V k ∗ 故 u k + 1 是可行解,优化解的值不会差于可行解的值 因此 V k + 1 ∗ ⩽ V k + 1 ⩽ V k ∗ ,所以系统是渐进稳定的 \text{优化问题:}V_k=\sum_{j=0}^{p-1}{\left( \left\| Cx_{k+j|k}-\,\,y_{k+j}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j|k} \right\| _{\varepsilon _1}^{2} \right)}+\left\| x\left( k+p|k \right) \right\| _{m}^{2} \\ u_{k}^{*}=\underset{u_k}{arg\,\,\min}V_k \\ s.t.\begin{cases} \left( i \right) u_k\epsilon \left[ u,\bar{u} \right]\\ \left( ii \right) x_{k|k}=x_k\\ \left( iii \right) y_{k+p}\,\,\varepsilon \,\,\varOmega \,\,\text{终端不等式约束}\\ \left( iv \right) x_{k+j|k}=Ax_{k+j-1|k}+Bu_{k+j-1}\\ \end{cases} \\ \text{假设}K\text{时刻有最优解:}u_{k}^{*}=\left\{ u_{k|k}^{*}\,\,u_{k+1|k}^{*}\,\,\cdots \,\,u_{k+p-1|k}^{*} \right\} , y_{k}^{*}=\left\{ y_{k|k}^{*}\,\,y_{k+1|k}^{*}\,\,\cdots y_{k+p-1|k}^{*}\,\,\varOmega \right\} \\ \text{此时优化问题的值为:}V_{k}^{*} \\ \\ \\ \text{则}k+1\text{时刻可以选择如下控制输入:}u_{k+1}=\left\{ u_{k+1|k}^{*}\,\,u_{k+2|k}^{*}\cdots \,\,u_{k+p-1|k}^{*}\,\,Kx^*\left( k+p|k \right) \right\} \\ \text{因为}x^*\left( k+p|k \right) \,\,\varepsilon \,\,\varOmega \text{,所以有}Kx^*\left( k+p|k \right) \epsilon \left[ u,\bar{u} \right] ,\text{输入满足约束} \\ \text{因为:}x\left( k+p+1|k+1 \right) =\left( A+BK \right) x^*\left( k+p|k \right) \varepsilon \,\,\varOmega \text{,输出满足约束} \\ \text{优化问题的值:}V_{k+1}=\sum_{j=0}^{p-1}{\left( \left\| Cx_{k+1+j|k+1}-\,\,y_{k+j+1}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j+1|k+1} \right\| _{\varepsilon _1}^{2} \right)}+\left\| x\left( k+1+p|k+1 \right) \right\| _{m}^{2} \\ =\sum_{j=1}^p{\left( \left\| Cx_{k+j|k}-\,\,y_{k+j}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k+j|k} \right\| _{\varepsilon _1}^{2} \right)}=V_{k}^{*}-\left( \left\| Cx_{k|k}-\,\,y_{k}^{r} \right\| _{\varepsilon _1}^{2}+\left\| u_{k|k} \right\| _{\varepsilon _1}^{2} \right) \leqslant V_{k}^{*} \\ \text{故}u_{k+1}\text{是可行解,优化解的值不会差于可行解的值} \\ \text{因此}V_{k+1}^{*}\leqslant V_{k+1}\leqslant V_{k}^{*}\text{,所以系统是渐进稳定的} \\ \\ \\ 优化问题:Vk=j=0∑p−1(∥∥Cxk+j∣k−yk+jr∥∥ε12+∥∥uk+j∣k∥∥ε12)+∥x(k+p∣k)∥m2uk∗=ukargminVks.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧(i)ukϵ[u,uˉ](ii)xk∣k=xk(iii)yk+pεΩ终端不等式约束(iv)xk+j∣k=Axk+j−1∣k+Buk+j−1假设K时刻有最优解:uk∗={uk∣k∗uk+1∣k∗⋯uk+p−1∣k∗},yk∗={yk∣k∗yk+1∣k∗⋯yk+p−1∣k∗Ω}此时优化问题的值为:Vk∗则k+1时刻可以选择如下控制输入:uk+1={uk+1∣k∗uk+2∣k∗⋯uk+p−1∣k∗Kx∗(k+p∣k)}因为x∗(k+p∣k)εΩ,所以有Kx∗(k+p∣k)ϵ[u,uˉ],输入满足约束因为:x(k+p+1∣k+1)=(A+BK)x∗(k+p∣k)εΩ,输出满足约束优化问题的值:Vk+1=j=0∑p−1(∥∥Cxk+1+j∣k+1−yk+j+1r∥∥ε12+∥∥uk+j+1∣k+1∥∥ε12)+∥x(k+1+p∣k+1)∥m2=j=1∑p(∥∥Cxk+j∣k−yk+jr∥∥ε12+∥∥uk+j∣k∥∥ε12)=Vk∗−(∥∥Cxk∣k−ykr∥∥ε12+∥∥uk∣k∥∥ε12)⩽Vk∗故uk+1是可行解,优化解的值不会差于可行解的值因此Vk+1∗⩽Vk+1⩽Vk∗,所以系统是渐进稳定的