MPC稳定性分析

一、无约束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+1k=CAxk+CBukyk+2k=CAxk+1k+CBuk+1kyk+3k=CAxk+2k+CBuk+2kyk+nk=CAxk+n1k+CBuk+n1kyk+2k=CAxk+1k+CBuk+1k=CA2xk+CABuk+CBuk+1kyk+3k=CAxk+2k+CBuk+2k=CA(Axk+1+Buk+1)+CBuk+2k=CA2xk+1+CABuk+1+CBuk+2k=CA2(Axk+Buk)+CABuk+1+CBuk+2k=CA3xk+CA2Buk+CABuk+1+CBuk+2k.yk+nk=CAnxk+i=0n1CAiBuk+n1i=CAnxk+i=0n1CAni1Buk+iYk=[yk+1kyk+2kyk+3kyk+nk]T=CACA2CAnxk+lCBCABCAn1B0CBCAn2B0000CBukuk+1kuk+n1k=Fxk+GUk预测时域控制时域成本函数Jk=(Fxk+GUkRk)TQ(Fxk+GUkRk)+UkTRUk无约束优化问题:Jk=0Jk>0设成本函数:Vk=(Fp×1xk+Gp×pUkRk)TQ(Fp×1xk+Gp×pUkRk)+UkTRUk其中Q=diag(ξ1),R=diag(ξ2)Qf=diag(ξ1 ),Rf=diag(ξ2 )得:Vk=[(Fp×1xk+Gp×pUkRk)QfUkRf][Qf(Fp×1xk+Gp×pUkRk)RfUk][Qf(Fp×1xk+Gp×pUkRk)RfUk]=[QfGp×pRf]Uk+[Qf(Fp×1xkRk)0]Vk=([QfGp×pRf]Uk+[Qf(Fp×1xkRk)0])T([QfGp×pRf]Uk+[Qf(Fp×1xkRk)0])dUkdVk=[QfGp×pRf]T([QfGp×pRf]Uk+[Qf(Fp×1xkRk)0])+([QfGp×pRf]Uk+[Qf(Fp×1xkRk)0])T[QfGp×pRf]=2[QfGp×pRf]T([QfGp×pRf]Uk+[Qf(Fp×1xkRk)0])dUk2d2Vk=2[QfGp×pRf]T[QfGp×pRf]>0得最优控制系列:Uk=([QfGp×pRf][QfGp×pRf])1[QfGp×pRf][Qf(RkFp×1xk)0]=(Gp×pTQGp×p+R)1Gp×pQ(RkFp×1xk)Kmpc=[100](Gp×pTQGp×p+R)1Gp×pQ得到当前的控制量(即把控制系列的第一个控制量作用于系统)uk=Kmpc(RkFp×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(RkFp×1xk)xk+1=(ABKmpcFp×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(ABKmpcFp×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(kk)Δu(k+1k)Δu(k+m1k) 相应的优化目标函数值为: 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=0pyc(k+ik)Qi2+i=0m1(Δu(k+ik)Si2+u(k+ik)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+1Jk
    这样就有可能导致当 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\,\, zminzTHzgTz,Czb因此可以把优化问题和约束转化为标准的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=0p1(Cxk+jkyk+jrε12+uk+jkε12)uk=ukargminVks.t.(i)ukϵ[u,uˉ](ii)xkk=xk(iii)yk+p=Cxk+p=yk+pr终端等式约束(iv)xk+jk=Axk+j1k+Buk+j1假设K时刻有最优解:uk={ukkuk+1kuk+p1k},yk={ykkyk+1kyk+p1kyk+pr}此时优化问题的值为:Vkk+1时刻,yk+p+1k=yk+p+1r,uk+pk+1=uk+pk0k+1时刻可以选择如下控制输入:uk+1={uk+1kuk+2kuk+p1k0},yk+1={yk+1kyk+2kyk+p1kyk+pryk+p+1r}优化问题的值:Vk+1=j=0p1(Cxk+1+jk+1yk+j+1rε12+uk+j+1k+1ε12)=j=1p(Cxk+jkyk+jrε12+uk+jkε12)=Vk(Cxkkykrε12+ukkε12)Vkuk+1是可行解,优化解的值好于可行解的值因此Vk+1Vk+1Vk,所以系统是渐进稳定的

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} uminKxumaxyminCxymax
    并且还需要满足 ( 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=0p1(Cxk+jkyk+jrε12+uk+jkε12)+x(k+pk)m2uk=ukargminVks.t.(i)ukϵ[u,uˉ](ii)xkk=xk(iii)yk+pεΩ终端不等式约束(iv)xk+jk=Axk+j1k+Buk+j1假设K时刻有最优解:uk={ukkuk+1kuk+p1k},yk={ykkyk+1kyk+p1kΩ}此时优化问题的值为:Vkk+1时刻可以选择如下控制输入:uk+1={uk+1kuk+2kuk+p1kKx(k+pk)}因为x(k+pk)εΩ,所以有Kx(k+pk)ϵ[u,uˉ],输入满足约束因为:x(k+p+1k+1)=(A+BK)x(k+pk)εΩ,输出满足约束优化问题的值:Vk+1=j=0p1(Cxk+1+jk+1yk+j+1rε12+uk+j+1k+1ε12)+x(k+1+pk+1)m2=j=1p(Cxk+jkyk+jrε12+uk+jkε12)=Vk(Cxkkykrε12+ukkε12)Vkuk+1是可行解,优化解的值不会差于可行解的值因此Vk+1Vk+1Vk,所以系统是渐进稳定的

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
鲁棒MPC(Model Predictive Control,鲁棒模型预测控制)是一种控制方法,可以在面对不确定性和扰动时保持系统的稳定性和性能。Simulink是一种用于建模、仿真和分析动态系统的工具。那么,如何在Simulink中实现鲁棒MPC呢? 在Simulink中实现鲁棒MPC,一般需要以下步骤: 1. 建立系统模型:使用Simulink工具箱中的积分器、乘法器、加法器等基本模块来搭建系统的数学模型。可以根据具体应用选择连续时间模型或离散时间模型。 2. 设计鲁棒MPC控制器:选取合适的MPC算法和参数,根据系统的性能指标进行优化,例如最小化误差、最小化控制器增益等。可以使用Simulink自带的控制系统工具箱或其他第三方工具箱来设计鲁棒MPC控制器。 3. 配置仿真环境:设置仿真时间步长、控制周期等仿真参数,以及输入输出信号的初始条件。可以通过Signal Builder模块来生成不同的输入信号。 4. 运行仿真:运行Simulink模型进行仿真。可以观察系统的响应、控制器的输出、误差的变化等,以评估鲁棒MPC的性能。 需要注意的是,鲁棒MPC的设计和调试是一个相对复杂的过程,需要对控制理论和Simulink工具的使用有一定的了解。同时,针对具体的应用场景和系统特性,可能还需要进行一些特殊的处理和优化。建议在实际应用中,先进行小规模的仿真验证,再逐步扩展到实际系统中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值