模型预测控制(MPC)概览

发布于:2025-07-03 ⋅ 阅读:(33) ⋅ 点赞:(0)

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

一、理论基础与发展脉络

1. 历史起源

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

2. 核心框架三要素

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

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

  • 考虑离散时间线性系统:
    x k + 1 = A x k + B u k , y k = C x k x_{k+1} = Ax_k + Bu_k, \quad y_k = Cx_k xk+1=Axk+Buk,yk=Cxk
  • 预测时域内的状态与输出序列(从时刻 k k k 开始):
    { x k ∣ k = x k x k + i ∣ k = A x k + i − 1 ∣ k + B u k + i − 1 ∣ k , i = 1 , … , N p y k + i ∣ k = C x k + i ∣ k , i = 1 , … , N p \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} xkk=xkxk+ik=Axk+i1∣k+Buk+i1∣k,yk+ik=Cxk+ik,i=1,,Npi=1,,Np
    其中 x k + i ∣ k x_{k+i|k} xk+ik 表示时刻 k k k k + i k+i k+i 时刻的状态预测。

2. 目标函数构造

  • 标准二次型目标函数:
    J = ∑ i = 1 N p ( ∥ y k + i ∣ k − y ref , k + i ∥ Q 2 + ∥ u k + i − 1 ∣ k ∥ R 2 ) + ∥ x k + N p ∣ k ∥ P f 2 J = \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}^2 J=i=1Np(yk+ikyref,k+iQ2+uk+i1∣kR2)+xk+NpkPf2
    • 跟踪项 Q ≥ 0 Q \geq 0 Q0 为输出误差权重矩阵, y ref y_{\text{ref}} yref 为参考轨迹(常通过参考模型生成);
    • 控制项 R > 0 R > 0 R>0 为控制量权重矩阵,抑制能量消耗;
    • 终端项 ∥ x k + N p ∣ k ∥ P f 2 \|x_{k+N_p|k}\|_{P_f}^2 xk+NpkPf2 确保闭环稳定性, P f P_f Pf 为终端权重矩阵(常通过求解代数黎卡提方程得到)。

3. 约束条件处理

  • 输入约束 u min ⁡ ≤ u k ≤ u max ⁡ u_{\min} \leq u_k \leq u_{\max} uminukumax Δ u min ⁡ ≤ u k − u k − 1 ≤ Δ u max ⁡ \Delta u_{\min} \leq u_k - u_{k-1} \leq \Delta u_{\max} Δuminukuk1Δumax(速率约束);
  • 状态约束 x min ⁡ ≤ x k ≤ x max ⁡ x_{\min} \leq x_k \leq x_{\max} xminxkxmax(如系统安全边界);
  • 输出约束 y min ⁡ ≤ y k ≤ y max ⁡ y_{\min} \leq y_k \leq y_{\max} yminykymax(如执行器饱和限制)。

4. 优化问题的矩阵形式
将预测时域内的状态、控制、输出展开为向量:
U = [ u k , u k + 1 , … , u k + N u − 1 ] T , Y = [ y k + 1 ∣ k , … , y k + N p ∣ 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}]^T U=[uk,uk+1,,uk+Nu1]T,Y=[yk+1∣k,,yk+Npk]T
目标函数可表示为:
J = ( Y − Y ref ) T Q p ( Y − Y ref ) + U T R p U J = (\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=(YYref)TQp(YYref)+UTRpU
其中 Q p = block diag ( Q , … , Q ) \mathbf{Q}_p = \text{block diag}(Q, \dots, Q) Qp=block diag(Q,,Q) R p = block diag ( R , … , R ) \mathbf{R}_p = \text{block diag}(R, \dots, R) Rp=block diag(R,,R),预测模型可表示为 Y = Φ x k + Θ U \mathbf{Y} = \mathbf{\Phi}x_k + \mathbf{\Theta}\mathbf{U} Y=Φxk+ΘU Φ \mathbf{\Phi} Φ Θ \mathbf{\Theta} Θ 为预测矩阵(由系统矩阵 A , B , C A,B,C A,B,C 推导得到)。

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

1. 闭环稳定性条件

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

2. 不变集理论

  • 最大受控不变集(Maximal Controlled Invariant Set, MCIS):所有可通过控制保持在约束内的初始状态集合,用于设计可行域。
  • 鲁棒不变集:考虑系统不确定性 δ x k + 1 = ( A + Δ A ) x k + ( B + Δ B ) u k \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)

    • 模型:非线性系统(如 x k + 1 = f ( x k , u k ) 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 ) = K i x + k i u(x) = K_i x + k_i u(x)=Kix+ki
    • 在线计算仅需状态分区判断,适合快速系统(如汽车ABS控制)。
  • 模型预测控制与学习结合

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

3. 求解器与实时性优化

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

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

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

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

  • 模型:车辆动力学模型(如简化的自行车模型 x k + 1 = x k + v k cos ⁡ ( θ k ) Δ t x_{k+1} = x_k + v_k \cos(\theta_k) \Delta t xk+1=xk+vkcos(θk)Δt, y k + 1 = y k + v k sin ⁡ ( θ k ) Δ t y_{k+1} = y_k + v_k \sin(\theta_k) \Delta t yk+1=yk+vksin(θk)Δt, θ k + 1 = θ k + v k tan ⁡ ( δ 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 , C A,B,C A,B,C
  2. 参数设计:选择预测时域 N p N_p Np、控制时域 N u N_u Nu,权重矩阵 Q , R , P f Q,R,P_f Q,R,Pf,约束边界;
  3. 预测模型离散化:推导预测矩阵 Φ , Θ \mathbf{\Phi},\mathbf{\Theta} Φ,Θ,构建优化问题;
  4. 求解器集成:选择QP求解器(如OSQP、quadprog),编写实时控制代码;
  5. 实验验证:在仿真平台(如MATLAB/Simulink、Python CasADi)测试,调整参数优化性能;
  6. 硬件部署:移植至嵌入式系统(如PLC、DSP),优化计算效率。

总结

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