线性系统下MPC的迭代可行性与稳定性证明

线性系统下MPC的迭代可行性与稳定性证明

以下以一个离散时间线性系统为例,详细证明模型预测控制(MPC)的迭代可行性和稳定性。假设系统模型为:

x(k+1)=Ax(k)+Bu(k), x(k+1) = A x(k) + B u(k), x(k+1)=Ax(k)+Bu(k),
其中x∈Rnx \in \mathbb{R}^nxRnu∈Rmu \in \mathbb{R}^muRm,且系统(A,B)(A, B)(A,B)可控。


步骤1:定义MPC优化问题

设计一个有限时域NNN的MPC优化问题,目标函数为:
J(k)=∑i=0N−1(x(k+i∣k)TQx(k+i∣k)+u(k+i∣k)TRu(k+i∣k))+x(k+N∣k)TPx(k+N∣k), J(k) = \sum_{i=0}^{N-1} \left( x(k+i|k)^T Q x(k+i|k) + u(k+i|k)^T R u(k+i|k) \right) + x(k+N|k)^T P x(k+N|k), J(k)=i=0N1(x(k+ik)TQx(k+ik)+u(k+ik)TRu(k+ik))+x(k+Nk)TPx(k+Nk),
约束条件

  1. 状态约束:x(k+i∣k)∈Xx(k+i|k) \in \mathcal{X}x(k+ik)X(凸集,通常包含原点)。
  2. 输入约束:u(k+i∣k)∈Uu(k+i|k) \in \mathcal{U}u(k+ik)U(凸集,通常包含原点)。
  3. 终端约束:x(k+N∣k)∈Xf⊆Xx(k+N|k) \in \mathcal{X}_f \subseteq \mathcal{X}x(k+Nk)XfX

设计要求

  • Q≻0Q \succ 0Q0,R≻0R \succ 0R0,P≻0P \succ 0P0为权重矩阵。
  • 终端集Xf\mathcal{X}_fXf是控制不变集,即存在局部控制器u=Kxu = K xu=Kx使得:
    (A+BK)x∈Xf,∀x∈Xf.  (A + BK)x \in \mathcal{X}_f, \quad \forall x \in \mathcal{X}_f.   (A+BK)xXf,xXf
  • 终端代价PPP是无限时域LQR问题的解,满足代数Riccati方程:
    P=ATPA−ATPB(R+BTPB)−1BTPA+Q. P = A^T P A - A^T P B (R + B^T P B)^{-1} B^T P A + Q. P=ATPAATPB(R+BTPB)1BTPA+Q.
    或者
    AKTPAK−P=−Q∗AK=A+BKQ∗=Q+KTRKK=−(R+BTPB)−1BTPA A_K^T P A_K-P=-Q^* \\ A_K=A+BK \\ Q^*=Q+K^TRK \\ K=-(R + B^T P B)^{-1} B^T P A AKTPAKP=QAK=A+BKQ=Q+KTRKK=(R+BTPB)1BTPA

步骤2:证明迭代可行性(Recursive Feasibility)

目标:若初始时刻k=0k=0k=0的优化问题可行,则后续所有时刻k≥1k \geq 1k1的优化问题仍可行。

证明过程

  1. 假设当前时刻kkk的优化问题可行,得到最优控制序列:
    {u∗(k∣k),u∗(k+1∣k),…,u∗(k+N−1∣k)}, \{u^*(k|k), u^*(k+1|k), \dots, u^*(k+N-1|k)\}, {u(kk),u(k+1∣k),,u(k+N1∣k)},
    对应的状态轨迹为:
    {x∗(k∣k),x∗(k+1∣k),…,x∗(k+N∣k)}, \{x^*(k|k), x^*(k+1|k), \dots, x^*(k+N|k)\}, {x(kk),x(k+1∣k),,x(k+Nk)},
    其中x∗(k+N∣k)∈Xfx^*(k+N|k) \in \mathcal{X}_fx(k+Nk)Xf

  2. 构造下一时刻k+1k+1k+1的候选控制序列
    u~(k+1+i∣k+1)={u∗(k+1+i∣k),i=0,1,…,N−2,Kx∗(k+N∣k),i=N−1. \tilde{u}(k+1+i|k+1) = \begin{cases} u^*(k+1+i|k), & i = 0,1,\dots,N-2, \\ K x^*(k+N|k), & i = N-1. \end{cases} u~(k+1+ik+1)={u(k+1+ik),Kx(k+Nk),i=0,1,,N2,i=N1.
    对应状态轨迹
    x~(k+1+i∣k+1)={x∗(k+1+i∣k),i=0,1,…,N−1,(A+BK)x∗(k+N∣k),i=N. \tilde{x}(k+1+i|k+1) = \begin{cases} x^*(k+1+i|k), & i = 0,1,\dots,N-1, \\ (A + BK) x^*(k+N|k), & i = N. \end{cases} x~(k+1+ik+1)={x(k+1+ik),(A+BK)x(k+Nk),i=0,1,,N1,i=N.

  3. 验证候选序列的可行性

    • 输入约束:前N−1N-1N1个输入u~(k+1+i∣k+1)\tilde{u}(k+1+i|k+1)u~(k+1+ik+1)继承自kkk时刻的可行解;最后一个输入Kx∗(k+N∣k)K x^*(k+N|k)Kx(k+Nk)满足U\mathcal{U}U,因为Xf\mathcal{X}_fXf是控制不变集。
    • 状态约束:前N−1N-1N1个状态x~(k+1+i∣k+1)\tilde{x}(k+1+i|k+1)x~(k+1+ik+1)继承自可行解;最后一个状态(A+BK)x∗(k+N∣k)∈Xf(A + BK)x^*(k+N|k) \in \mathcal{X}_f(A+BK)x(k+Nk)Xf,由控制不变性保证。
    • 终端约束x~(k+1+N∣k+1)=(A+BK)x∗(k+N∣k)∈Xf\tilde{x}(k+1+N|k+1) = (A + BK)x^*(k+N|k) \in \mathcal{X}_fx~(k+1+Nk+1)=(A+BK)x(k+Nk)Xf
  4. 结论:候选序列满足所有约束,因此k+1k+1k+1时刻的优化问题可行。由数学归纳法,迭代可行性成立。


步骤3:证明稳定性(Stability)

目标:证明闭环系统在MPC控制下渐近稳定,即x(k)→0x(k) \to 0x(k)0k→∞k \to \inftyk

证明过程

  1. 定义李雅普诺夫函数
    V(k)=J∗(k)V(k) = J^*(k)V(k)=J(k),即当前时刻的最优目标函数值。需证明:
    V(k+1)−V(k)≤−x(k)TQx(k). V(k+1) - V(k) \leq -x(k)^T Q x(k). V(k+1)V(k)x(k)TQx(k).

  2. 分析目标函数的变化

    • 当前时刻的最优目标函数:
      V(k)=∑i=0N−1(x∗(k+i∣k)TQx∗(k+i∣k)+u∗(k+i∣k)TRu∗(k+i∣k))+x∗(k+N∣k)TPx∗(k+N∣k). V(k) = \sum_{i=0}^{N-1} \left( x^*(k+i|k)^T Q x^*(k+i|k) + u^*(k+i|k)^T R u^*(k+i|k) \right) + x^*(k+N|k)^T P x^*(k+N|k). V(k)=i=0N1(x(k+ik)TQx(k+ik)+u(k+ik)TRu(k+ik))+x(k+Nk)TPx(k+Nk).
    • 下一时刻的目标函数候选值(使用步骤2的候选序列):
      V~(k+1)=∑i=0N−1(x~(k+1+i∣k+1)TQx~(k+1+i∣k+1)+u~(k+1+i∣k+1)TRu~(k+1+i∣k+1))+x~(k+1+N∣k+1)TPx~(k+1+N∣k+1). \tilde{V}(k+1) = \sum_{i=0}^{N-1} \left( \tilde{x}(k+1+i|k+1)^T Q \tilde{x}(k+1+i|k+1) + \tilde{u}(k+1+i|k+1)^T R \tilde{u}(k+1+i|k+1) \right) + \tilde{x}(k+1+N|k+1)^T P \tilde{x}(k+1+N|k+1). V~(k+1)=i=0N1(x~(k+1+ik+1)TQx~(k+1+ik+1)+u~(k+1+ik+1)TRu~(k+1+ik+1))+x~(k+1+Nk+1)TPx~(k+1+Nk+1).
    • 由于候选序列不一定是最优的,故:
      V(k+1)≤V~(k+1). V(k+1) \leq \tilde{V}(k+1). V(k+1)V~(k+1).
  3. 计算差值
    V~(k+1)−V(k)=−x(k)TQx(k)−u(k)TRu(k)⏟首项被移除+x∗(k+N∣k)T[(A+BK)TP(A+BK)−P]x∗(k+N∣k)⏟新终端状态贡献+x∗(k+N∣k)T(Q+KTRK)x∗(k+N∣k)⏟新增的最后一步代价=−x(k)TQx(k)−u(k)TRu(k)+x∗(k+N∣k)T[(A+BK)TP(A+BK)−P+Q+KTRK]x∗(k+N∣k). \begin{aligned} &\tilde{V}(k+1) - V(k) \\=& \underbrace{-x(k)^T Q x(k) - u(k)^T R u(k)}_{\text{首项被移除}} \\ &+ \underbrace{x^*(k+N|k)^T \left[ (A + BK)^T P (A + BK) - P \right] x^*(k+N|k)}_{\text{新终端状态贡献}} \\&+ \underbrace{x^*(k+N|k)^T (Q + K^T R K) x^*(k+N|k)}_{\text{新增的最后一步代价}}\\ =&-x(k)^T Q x(k) - u(k)^T R u(k) \\&+ x^*(k+N|k)^T \left[ (A + BK)^T P (A + BK) - P + Q + K^T R K \right] x^*(k+N|k). \end{aligned} ==V~(k+1)V(k)首项被移除x(k)TQx(k)u(k)TRu(k)+新终端状态贡献x(k+Nk)T[(A+BK)TP(A+BK)P]x(k+Nk)+新增的最后一步代价x(k+Nk)T(Q+KTRK)x(k+Nk)x(k)TQx(k)u(k)TRu(k)+x(k+Nk)T[(A+BK)TP(A+BK)P+Q+KTRK]x(k+Nk).

根据代数Riccati方程,有:

(A+BK)TP(A+BK)−P+Q+KTRK=0. (A + BK)^T P (A + BK) - P + Q + K^T R K = 0. (A+BK)TP(A+BK)P+Q+KTRK=0.

因此:
V~(k+1)−V(k)=−x(k)TQx(k)−u(k)TRu(k)≤−x(k)TQx(k). \tilde{V}(k+1) - V(k) = -x(k)^T Q x(k) - u(k)^T R u(k) \leq -x(k)^T Q x(k). V~(k+1)V(k)=x(k)TQx(k)u(k)TRu(k)x(k)TQx(k).

  1. 稳定性结论
    • V(k+1)≤V~(k+1)≤V(k)−x(k)TQx(k)V(k+1) \leq \tilde{V}(k+1) \leq V(k) - x(k)^T Q x(k)V(k+1)V~(k+1)V(k)x(k)TQx(k),可知V(k)V(k)V(k)是递减序列且有下界(V(k)≥0V(k) \geq 0V(k)0),故V(k)→0V(k) \to 0V(k)0
    • 由于Q≻0Q \succ 0Q0,可得x(k)→0x(k) \to 0x(k)0,即闭环系统渐近稳定。

总结

对于线性系统,通过合理设计终端约束Xf\mathcal{X}_fXf(控制不变集)和终端代价PPP(LQR解),MPC的迭代可行性由控制不变性保证,稳定性则由目标函数的李雅普诺夫性质保证。此框架可推广至带约束的线性系统,是经典MPC理论的核心结果。

(A+BK)TP(A+BK)−P+Q+KTRK=0↓K=−(BTPB+R)−1BTPAP=ATPA−ATPB(R+BTPB)−1BTPA+Q. (A + BK)^T P (A + BK) - P + Q + K^T R K = 0 \\ \downarrow K=-(B^TPB+R)^{-1}B^TPA \\ P = A^T P A - A^T P B (R + B^T P B)^{-1} B^T P A + Q. (A+BK)TP(A+BK)P+Q+KTRK=0K=(BTPB+R)1BTPAP=ATPAATPB(R+BTPB)1BTPA+Q.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值