模型预测控制(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 Nu≤Np)的优化问题,仅实施当前时刻的控制量。
- 反馈校正:通过实测输出与预测输出的误差,更新状态估计(如卡尔曼滤波),修正未来预测。
二、数学建模与优化问题
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} ⎩ ⎨ ⎧xk∣k=xkxk+i∣k=Axk+i−1∣k+Buk+i−1∣k,yk+i∣k=Cxk+i∣k,i=1,…,Npi=1,…,Np
其中 x k + i ∣ k x_{k+i|k} xk+i∣k 表示时刻 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+i∣k−yref,k+i∥Q2+∥uk+i−1∣k∥R2)+∥xk+Np∣k∥Pf2- 跟踪项: Q ≥ 0 Q \geq 0 Q≥0 为输出误差权重矩阵, 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+Np∣k∥Pf2 确保闭环稳定性, P f P_f Pf 为终端权重矩阵(常通过求解代数黎卡提方程得到)。
3. 约束条件处理
- 输入约束: u min ≤ u k ≤ u max u_{\min} \leq u_k \leq u_{\max} umin≤uk≤umax, Δ u min ≤ u k − u k − 1 ≤ Δ u max \Delta u_{\min} \leq u_k - u_{k-1} \leq \Delta u_{\max} Δumin≤uk−uk−1≤Δumax(速率约束);
- 状态约束: x min ≤ x k ≤ x max x_{\min} \leq x_k \leq x_{\max} xmin≤xk≤xmax(如系统安全边界);
- 输出约束: y min ≤ y k ≤ y max y_{\min} \leq y_k \leq y_{\max} ymin≤yk≤ymax(如执行器饱和限制)。
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+Nu−1]T,Y=[yk+1∣k,…,yk+Np∣k]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=(Y−Yref)TQp(Y−Yref)+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+Np∣k 进入终端不变集 Ω \Omega Ω,即 x k + N p ∣ k ∈ Ω x_{k+N_p|k} \in \Omega xk+Np∣k∈Ω, Ω \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+Q−ATPfB(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为例)
- 系统建模:建立状态空间模型,通过系统辨识或机理分析确定矩阵 A , B , C A,B,C A,B,C;
- 参数设计:选择预测时域 N p N_p Np、控制时域 N u N_u Nu,权重矩阵 Q , R , P f Q,R,P_f Q,R,Pf,约束边界;
- 预测模型离散化:推导预测矩阵 Φ , Θ \mathbf{\Phi},\mathbf{\Theta} Φ,Θ,构建优化问题;
- 求解器集成:选择QP求解器(如OSQP、quadprog),编写实时控制代码;
- 实验验证:在仿真平台(如MATLAB/Simulink、Python CasADi)测试,调整参数优化性能;
- 硬件部署:移植至嵌入式系统(如PLC、DSP),优化计算效率。
总结
MPC的核心优势在于“模型驱动的滚动优化+约束处理”,其理论体系涵盖控制理论(最优控制、稳定性分析)、优化理论(QP/NLP求解)、系统辨识(模型精确性)等多学科。从应用角度,需根据系统特性(线性/非线性、时变/时不变、确定性/随机性)选择合适的MPC变种,并结合工程实践优化实时性与鲁棒性。未来,随着人工智能与边缘计算技术的发展,MPC在复杂动态系统中的智能化、分布式应用将成为重要研究方向。