4. 预测模型
在模型预测控制(MPC)中,预测模型是整个滚动优化框架的“发动机”。它决定了控制器能否在每一个采样时刻,基于当前状态和未来控制输入,准确推演出系统在未来一段时间内的行为轨迹。没有预测模型,滚动优化就失去了依据;预测模型不准确,再精巧的优化算法也无法保证闭环性能。本节围绕三个核心问题展开:状态预测方程如何建立、预测时域与控制时域如何区分、预测矩阵如何构建与递推计算。
一、核心原理:从状态空间到预测方程
MPC 最常用的预测模型是离散线性状态空间模型。设系统在时刻 k 的状态为 x(k),控制输入为 u(k),则标准离散模型可写为:
x(k+1) = A x(k) + B u(k)
y(k) = C x(k) + D u(k)
其中 A 为状态矩阵,B 为输入矩阵,C 为输出矩阵,D 为直馈矩阵。若系统为时变或非线性,可在工作点附近线性化后得到局部线性模型,或直接使用非线性模型进行预测。预测的本质是:已知当前状态 x(k),假设未来控制序列为 u(k), u(k+1), …, u(k+Nc-1),递推计算未来 Np 步的状态和输出。
二、预测时域与控制时域
预测时域 Np(Prediction Horizon)表示控制器向前看多少步,即优化问题中考虑的未来输出或状态的范围。控制时域 Nc(Control Horizon)表示未来实际允许变化的控制输入步数。通常 Nc ≤ Np,且在 Nc 步之后,控制量保持不变或按某种规律衰减。
两者的关系直接影响控制性能与计算量:Np 过短,控制器“目光短浅”,容易忽略未来约束;Np 过长,计算负担增加,且模型误差累积可能降低预测可信度。Nc 过小,控制自由度不足,系统响应迟缓;Nc 过大,优化变量增多,实时性下降。工程中常取 Nc 为 Np 的 10%~30%,或根据系统阶跃响应时间与采样周期确定。
三、预测矩阵的构建与递推计算
为了将预测过程写成紧凑的矩阵形式,便于优化求解,需要构建预测矩阵。以状态预测为例,从 x(k) 出发,逐步递推:
x(k+1|k) = A x(k) + B u(k)
x(k+2|k) = A x(k+1|k) + B u(k+1)
= A² x(k) + A B u(k) + B u(k+1)
...
x(k+Np|k) = A^Np x(k) + Σ_{i=0}^{Np-1} A^{Np-1-i} B u(k+i)
将未来所有状态堆叠为向量 X = [x(k+1|k); x(k+2|k); …; x(k+Np|k)],控制输入堆叠为 U = [u(k); u(k+1); …; u(k+Nc-1)],则可写成:
X = F x(k) + Φ U
其中 F 为状态预测矩阵,Φ 为控制输入影响矩阵。类似地,输出预测可写为 Y = C X + D U,进一步整理为 Y = F_y x(k) + Φ_y U。这种矩阵形式将滚动优化问题转化为标准的二次规划(QP)或线性规划问题,极大方便了求解器实现。
四、案例与场景:温度控制系统
考虑一个一阶温度控制系统,采样周期 Ts = 1s,离散模型为:
A = 0.95, B = 0.05, C = 1, D = 0
Np = 10, Nc = 3
当前温度 x(k) = 25°C,目标温度 r = 30°C。控制器需要计算未来 3 步的加热功率 u(k), u(k+1), u(k+2),并预测未来 10 步的温度。通过构建预测矩阵,优化器在满足加热功率约束 0 ≤ u ≤ 1 的前提下,最小化温度跟踪误差与控制增量。若 Np 取 5,控制器可能只关注前 5 秒,导致温度上升后期出现超调;若 Nc 取 1,则控制量在第一步后保持不变,响应变慢。合理选择 Np 和 Nc 是调试 MPC 的关键环节。
五、常见误区与复盘
| 误区 | 后果 | 纠正方法 |
|---|---|---|
| 预测时域过短 | 忽略未来约束,闭环稳定性差 | 至少覆盖系统主要动态过程,通常取 20~30 倍采样周期 |
| 控制时域等于预测时域 | 优化变量过多,实时性下降 | 取 Nc 为 Np 的 10%~30%,或根据响应速度调整 |
| 直接使用连续模型预测 | 离散化误差导致预测偏差 | 先离散化,再构建预测方程,保持采样周期一致 |
| 忽略模型失配 | 预测轨迹与实际偏离,控制效果恶化 | 引入状态观测器或扰动估计,在线修正预测模型 |
复盘时,应重点检查预测模型的离散化方法、Np 与 Nc 的匹配性、预测矩阵的维度一致性,以及递推计算中的数值稳定性。只有预测模型准确、时域参数合理、矩阵构建无误,MPC 才能在滚动优化中发挥出真正的约束处理与前瞻控制优势。