模型预测控制(MPC)概览

模型预测控制(Model Predictive Control, MPC)

一、理论基础与发展脉络

1. 历史起源

  • 20世纪70年代起源于工业过程控制(如化工领域的动态矩阵控制DMC、模型算法控制MAC),由Richalet、Mehra等学者提出,核心思想是"预测-优化-反馈"的滚动时域控制。
  • 数学基础:基于最优控制理论,但引入"有限时域滚动优化"替代全局优化,解决实时性问题。

2. 核心框架三要素

  • 预测模型 :描述系统动态行为,分为:
    • 线性模型 :状态空间方程 xk+1=Axk+Bukx_{k+1} = Ax_k + Bu_kxk+1=Axk+Buk,输出 yk=Cxk+Duky_k = Cx_k + Du_kyk=Cxk+Duk;
    • 非线性模型 :微分方程、神经网络、机理模型(如 xk+1=f(xk,uk)x_{k+1} = f(x_k, u_k)xk+1=f(xk,uk));
    • 数据驱动模型:利用系统输入输出数据训练预测模型(如高斯过程、深度学习)。
  • 滚动优化 :在每个采样时刻求解有限时域(预测时域 NpN_pNp、控制时域 Nu≤NpN_u \leq N_pNu≤Np)的优化问题,仅实施当前时刻的控制量。
  • 反馈校正 :通过实测输出与预测输出的误差,更新状态估计(如卡尔曼滤波),修正未来预测。
二、数学建模与优化问题

1. 线性MPC的预测模型展开

  • 考虑离散时间线性系统:
    xk+1=Axk+Buk,yk=Cxkx_{k+1} = Ax_k + Bu_k, \quad y_k = Cx_kxk+1=Axk+Buk,yk=Cxk
  • 预测时域内的状态与输出序列(从时刻 kkk 开始):
    {xk∣k=xkxk+i∣k=Axk+i−1∣k+Buk+i−1∣k,i=1,...,Npyk+i∣k=Cxk+i∣k,i=1,...,Np\begin{cases} x_{k|k} = x_k \\ x_{k+i|k} = Ax_{k+i-1|k} + Bu_{k+i-1|k}, & i=1,\dots,N_p \\ y_{k+i|k} = Cx_{k+i|k}, & i=1,\dots,N_p \end{cases}⎩ ⎨ ⎧xk∣k=xkxk+i∣k=Axk+i−1∣k+Buk+i−1∣k,yk+i∣k=Cxk+i∣k,i=1,...,Npi=1,...,Np
    其中 xk+i∣kx_{k+i|k}xk+i∣k 表示时刻 kkk 对 k+ik+ik+i 时刻的状态预测。

2. 目标函数构造

  • 标准二次型目标函数:
    J=∑i=1Np(∥yk+i∣k−yref,k+i∥Q2+∥uk+i−1∣k∥R2)+∥xk+Np∣k∥Pf2J = \sum_{i=1}^{N_p} \left( \|y_{k+i|k} - y_{\text{ref},k+i}\|Q^2 + \|u{k+i-1|k}\|R^2 \right) + \|x{k+N_p|k}\|_{P_f}^2J=∑i=1Np(∥yk+i∣k−yref,k+i∥Q2+∥uk+i−1∣k∥R2)+∥xk+Np∣k∥Pf2
    • 跟踪项 :Q≥0Q \geq 0Q≥0 为输出误差权重矩阵,yrefy_{\text{ref}}yref 为参考轨迹(常通过参考模型生成);
    • 控制项 :R>0R > 0R>0 为控制量权重矩阵,抑制能量消耗;
    • 终端项 :∥xk+Np∣k∥Pf2\|x_{k+N_p|k}\|_{P_f}^2∥xk+Np∣k∥Pf2 确保闭环稳定性,PfP_fPf 为终端权重矩阵(常通过求解代数黎卡提方程得到)。

3. 约束条件处理

  • 输入约束 :umin⁡≤uk≤umax⁡u_{\min} \leq u_k \leq u_{\max}umin≤uk≤umax,Δumin⁡≤uk−uk−1≤Δumax⁡\Delta u_{\min} \leq u_k - u_{k-1} \leq \Delta u_{\max}Δumin≤uk−uk−1≤Δumax(速率约束);
  • 状态约束 :xmin⁡≤xk≤xmax⁡x_{\min} \leq x_k \leq x_{\max}xmin≤xk≤xmax(如系统安全边界);
  • 输出约束 :ymin⁡≤yk≤ymax⁡y_{\min} \leq y_k \leq y_{\max}ymin≤yk≤ymax(如执行器饱和限制)。

4. 优化问题的矩阵形式

将预测时域内的状态、控制、输出展开为向量:
U=[uk,uk+1,...,uk+Nu−1]T,Y=[yk+1∣k,...,yk+Np∣k]T\mathbf{U} = [u_k, u_{k+1}, \dots, u_{k+N_u-1}]^T, \quad \mathbf{Y} = [y_{k+1|k}, \dots, y_{k+N_p|k}]^TU=[uk,uk+1,...,uk+Nu−1]T,Y=[yk+1∣k,...,yk+Np∣k]T

目标函数可表示为:
J=(Y−Yref)TQp(Y−Yref)+UTRpUJ = (\mathbf{Y} - \mathbf{Y}_{\text{ref}})^T \mathbf{Q}p (\mathbf{Y} - \mathbf{Y}{\text{ref}}) + \mathbf{U}^T \mathbf{R}_p \mathbf{U}J=(Y−Yref)TQp(Y−Yref)+UTRpU

其中 Qp=block diag(Q,...,Q)\mathbf{Q}_p = \text{block diag}(Q, \dots, Q)Qp=block diag(Q,...,Q),Rp=block diag(R,...,R)\mathbf{R}_p = \text{block diag}(R, \dots, R)Rp=block diag(R,...,R),预测模型可表示为 Y=Φxk+ΘU\mathbf{Y} = \mathbf{\Phi}x_k + \mathbf{\Theta}\mathbf{U}Y=Φxk+ΘU,Φ\mathbf{\Phi}Φ 和 Θ\mathbf{\Theta}Θ 为预测矩阵(由系统矩阵 A,B,CA,B,CA,B,C 推导得到)。

三、稳定性分析与理论保证

1. 闭环稳定性条件

  • 终端约束 :要求预测时域终点状态 xk+Np∣kx_{k+N_p|k}xk+Np∣k 进入终端不变集 Ω\OmegaΩ,即 xk+Np∣k∈Ωx_{k+N_p|k} \in \Omegaxk+Np∣k∈Ω,Ω\OmegaΩ 满足:若 x∈Ωx \in \Omegax∈Ω,则存在控制量 uuu 使 xk+1∈Ωx_{k+1} \in \Omegaxk+1∈Ω。
  • 终端代价函数 :取为李雅普诺夫函数 V(x)=xTPfxV(x) = x^T P_f xV(x)=xTPfx,其中 PfP_fPf 满足离散时间李雅普诺夫方程 Pf=ATPfA+Q−ATPfB(R+BTPfB)−1BTPfAP_f = A^T P_f A + Q - A^T P_f B (R + B^T P_f B)^{-1} B^T P_f APf=ATPfA+Q−ATPfB(R+BTPfB)−1BTPfA(对应无限时域LQR的解)。

2. 不变集理论

  • 最大受控不变集(Maximal Controlled Invariant Set, MCIS):所有可通过控制保持在约束内的初始状态集合,用于设计可行域。
  • 鲁棒不变集 :考虑系统不确定性 δxk+1=(A+ΔA)xk+(B+ΔB)uk\delta x_{k+1} = (A + \Delta A)x_k + (B + \Delta B)u_kδxk+1=(A+ΔA)xk+(B+ΔB)uk 时,确保状态不越界的集合。

3. 抗干扰与鲁棒性

  • 鲁棒MPC(Robust MPC):在优化问题中考虑不确定性集合,求解最坏情况下的可行控制(如极小极大MPC);
  • 随机MPC(Stochastic MPC):将不确定性建模为概率分布,优化目标包含期望或概率约束(如机会约束MPC)。
四、算法分类与实现技术

1. 按模型类型分类

  • 线性MPC(LMPC)

    • 模型:线性时不变(LTI)或线性时变(LTV)系统;
    • 优化:二次规划(QP)问题,可通过内点法、积极集法快速求解;
    • 应用:化工流程、电机控制、电网频率调节。
  • 非线性MPC(NMPC)

    • 模型:非线性系统(如 xk+1=f(xk,uk)x_{k+1} = f(x_k, u_k)xk+1=f(xk,uk));
    • 优化:非线性规划(NLP)问题,常用序列二次规划(SQP)、梯度下降法迭代求解;
    • 挑战:计算复杂度高,需初始化良好(如基于标称轨迹),可能陷入局部最优;
    • 应用:机器人动力学控制、航空航天轨迹优化、化学反应器控制。
  • 分布参数系统MPC

    • 模型:偏微分方程(PDE)描述(如热传导、流体力学),需空间离散化(如有限元法)转化为常微分方程(ODE)。

2. 按优化策略分类

  • 显式MPC(Explicit MPC)

    • 离线求解QP问题,将状态空间划分为多个多面体区域,每个区域对应解析控制律 u(x)=Kix+kiu(x) = K_i x + k_iu(x)=Kix+ki;
    • 在线计算仅需状态分区判断,适合快速系统(如汽车ABS控制)。
  • 模型预测控制与学习结合

    • 数据驱动MPC:利用历史数据优化模型参数或权重矩阵(如自适应MPC);
    • 深度学习MPC:用神经网络替代传统模型(如黑箱预测),或优化求解过程(如神经网络近似QP解)。

3. 求解器与实时性优化

  • 商用求解器:CPLEX、Gurobi(处理大规模QP/NLP),CasADi(自动微分,支持NMPC);
  • 嵌入式优化:利用硬件加速(如FPGA)、稀疏矩阵运算、并行计算降低计算延时;
  • 快速预测模型:利用模型降阶(如POD-Galerkin方法)、稀疏建模减少计算量。
五、典型应用场景与案例

1. 工业过程控制:化工精馏塔温度控制

  • 模型:基于质量守恒和能量守恒的非线性动态模型,描述塔板温度与进料/加热量的关系;
  • 控制目标:跟踪产品纯度参考值,同时满足加热功率上限、塔压安全约束;
  • 优势:处理多变量耦合(温度-流量-压力)和约束,比PID控制减少30%能耗。

2. 自动驾驶:轨迹跟踪与避障

  • 模型 :车辆动力学模型(如简化的自行车模型 xk+1=xk+vkcos⁡(θk)Δtx_{k+1} = x_k + v_k \cos(\theta_k) \Delta txk+1=xk+vkcos(θk)Δt, yk+1=yk+vksin⁡(θk)Δty_{k+1} = y_k + v_k \sin(\theta_k) \Delta tyk+1=yk+vksin(θk)Δt, θk+1=θk+vktan⁡(δk)/LΔt\theta_{k+1} = \theta_k + v_k \tan(\delta_k)/L \Delta tθk+1=θk+vktan(δk)/LΔt);
  • 优化目标:最小化轨迹跟踪误差,同时满足转向角限制、加减速约束、避障安全距离;
  • 实时性:通过模型降阶和显式MPC将求解时间压缩至10ms以内。

3. 微电网能量管理

  • 模型:混合整数线性模型(MILP),描述光伏、储能、负荷的动态平衡,其中储能充放电为0-1整数变量;
  • 约束:储能SOC上下限、电价时段约束、电网交互功率限制;
  • 目标:最小化运行成本,兼顾可再生能源消纳,通过滚动时域优化处理预测误差(如天气不确定性)。
六、挑战与前沿发展

1. 主要挑战

  • 计算复杂度:NMPC在高维系统中求解时间长,难以满足实时性(如高频采样系统);
  • 模型不确定性:实际系统与模型的偏差可能导致控制失效(如参数摄动、未建模动态);
  • 约束可行性:极端工况下优化问题可能无解(如传感器故障),需设计退避策略(如切换至安全控制模式)。

2. 前沿研究方向

  • 分布式MPC(Distributed MPC):多子系统协同优化,通过信息交互求解全局最优(如多智能体编队控制);
  • 事件触发MPC(Event-Triggered MPC):仅在系统状态变化显著时更新控制,减少计算资源消耗;
  • 安全MPC(Safe MPC):结合形式化验证,确保控制过程始终满足安全约束(如无人机避撞);
  • 强化学习与MPC融合:利用RL优化MPC参数(如权重矩阵、时域长度),或直接学习控制策略以适应复杂场景。
七、与其他控制方法的对比与结合
  • 与PID控制

    • PID适合单变量、线性系统,MPC适合多变量、强约束、非线性系统;
    • 工程中常结合使用:MPC负责慢变量优化(如轨迹规划),PID处理快变量跟踪(如电机转速)。
  • 与模型参考自适应控制(MRAC)

    • MRAC通过自适应律更新参数应对不确定性,MPC通过滚动优化处理约束;
    • 结合案例:自适应MPC,在线辨识模型参数并嵌入优化问题。
  • 与模型预测控制的变种

    • 模型算法控制(MAC):基于脉冲响应模型的早期MPC形式;
    • 动态矩阵控制(DMC):基于阶跃响应模型,广泛应用于化工行业。
八、工程实现流程(以线性MPC为例)
  1. 系统建模 :建立状态空间模型,通过系统辨识或机理分析确定矩阵 A,B,CA,B,CA,B,C;
  2. 参数设计 :选择预测时域 NpN_pNp、控制时域 NuN_uNu,权重矩阵 Q,R,PfQ,R,P_fQ,R,Pf,约束边界;
  3. 预测模型离散化 :推导预测矩阵 Φ,Θ\mathbf{\Phi},\mathbf{\Theta}Φ,Θ,构建优化问题;
  4. 求解器集成:选择QP求解器(如OSQP、quadprog),编写实时控制代码;
  5. 实验验证:在仿真平台(如MATLAB/Simulink、Python CasADi)测试,调整参数优化性能;
  6. 硬件部署:移植至嵌入式系统(如PLC、DSP),优化计算效率。

总结

MPC的核心优势在于"模型驱动的滚动优化+约束处理",其理论体系涵盖控制理论(最优控制、稳定性分析)、优化理论(QP/NLP求解)、系统辨识(模型精确性)等多学科。从应用角度,需根据系统特性(线性/非线性、时变/时不变、确定性/随机性)选择合适的MPC变种,并结合工程实践优化实时性与鲁棒性。未来,随着人工智能与边缘计算技术的发展,MPC在复杂动态系统中的智能化、分布式应用将成为重要研究方向。