3. 系统建模
MPC(模型预测控制)的核心是“模型”。控制器在每个采样周期内,利用系统模型预测未来若干步的输出轨迹,并通过求解带约束的优化问题得到当前控制量。因此,模型的质量直接决定了MPC的预测精度、约束满足能力和闭环稳定性。本章围绕工程中最常用的建模路径展开:机理建模与数据驱动建模两条主线,状态空间与传递函数两种描述形式,以及线性化与离散化两项落地处理。
一、两条建模主线:机理建模与数据驱动建模
机理建模从物理规律出发,利用质量守恒、能量守恒、牛顿定律、电路定律等建立微分方程。它的优点是物理意义明确、外推能力强、参数可解释;缺点是复杂对象(如强非线性、多相流、时变工况)难以精确刻画,且建模周期长。
数据驱动建模则通过实验或历史数据辨识模型,常见方法包括阶跃响应辨识、最小二乘/子空间辨识、ARX/ARMAX、神经网络与高斯过程等。它的优点是能快速贴合实际输入输出特性;缺点是对激励信号质量敏感,外推能力弱,且模型可能缺乏物理可解释性。
二、状态空间与传递函数:两种等价描述
连续时间线性系统常用两种形式描述。传递函数描述输入输出关系,适合单入单出(SISO)系统的频域分析与控制器设计;状态空间描述内部状态演化,天然适合多入多出(MIMO)系统、初值非零和现代控制方法。
传递函数形式:
G(s) = Y(s)/U(s) = b_m s^m + ... + b_0 / (a_n s^n + ... + a_0)
状态空间形式:
x_dot = A x + B u
y = C x + D u
两者可以相互转换:由状态空间求传递函数为 G(s)=C(sI−A)⁻¹B+D;由传递函数可构造能控标准型或能观标准型状态空间。MPC通常采用状态空间形式,因为它便于处理多变量耦合、状态约束和预测递推。
三、线性化与离散化:从非线性连续到线性离散
真实对象多为非线性连续系统。MPC落地前通常需要两步处理:线性化与离散化。
- 线性化:在工作点 (x₀, u₀) 处对非线性模型做泰勒展开,保留一阶项,得到增量线性模型 Δx_dot = A Δx + B Δu,其中 A=∂f/∂x、B=∂f/∂u 在平衡点处求值。
- 离散化:将连续模型转换为离散时间模型 x(k+1)=A_d x(k)+B_d u(k)。常用方法包括零阶保持(ZOH)、一阶保持(FOH)、前向/后向欧拉和Tustin变换。
零阶保持法假设控制量在一个采样周期内保持不变,最符合数字控制器实际输出特性,因此是MPC中最常用的离散化方法:A_d=e^{AT},B_d=∫₀ᵀ e^{Aτ}B dτ。
四、方法对比与选型清单
| 建模/处理方法 | 适用场景 | 优点 | 局限 |
|---|---|---|---|
| 机理建模 | 物理规律清晰、可解析 | 可解释、外推强 | 复杂对象难精确 |
| 数据驱动建模 | 机理复杂或未知 | 贴合实测、周期短 | 依赖激励、外推弱 |
| 传递函数 | SISO、频域分析 | 结构简单、直观 | MIMO与初值处理弱 |
| 状态空间 | MIMO、现代控制 | 便于预测与约束 | 状态需可测或估计 |
| 线性化 | 弱非线性、工作点附近 | 可复用线性MPC | 大范围误差大 |
| ZOH离散化 | 数字控制器实现 | 匹配实际输出 | 采样过快时精度受限 |
五、案例:一阶温度系统建模流程
考虑一个电加热温度系统,输入为加热功率 u,输出为温度 y。机理模型可写为 C dT/dt = u − (T−T_env)/R。在工作点 T₀ 处线性化并整理为 ΔT_dot = −(1/RC)ΔT + (1/C)Δu。取采样周期 T_s=1s,用ZOH离散化得到 ΔT(k+1)=a ΔT(k)+b Δu(k),其中 a=e^{−T_s/(RC)},b=(1−a)R。该离散模型即可直接用于MPC的预测方程。
# Python 示例:连续模型离散化
import numpy as np
from scipy.signal import cont2discrete
A = np.array([[-1/(R*C)]])
B = np.array([[1/C]])
C_ = np.array([[1.0]])
D = np.array([[0.0]])
Ad, Bd, Cd, Dd, dt = cont2discrete((A, B, C_, D), T_s, method='zoh')
六、常见误区与复盘
- 误区1:直接用连续模型设计MPC。数字控制器必须使用离散模型,否则预测步长与实际执行不一致。
- 误区2:忽略工作点选择。线性化点偏离实际工况会导致模型增益和动态显著失真。
- 误区3:数据辨识激励不足。输入信号幅值小或频带窄,会得到“看似拟合好、实际不可用”的模型。
- 误区4:状态不可测却直接使用状态空间MPC。应配合状态观测器(如Kalman滤波)或改用输入输出模型。
综上,MPC建模不是单一方法的选择,而是一条从物理机理或数据出发,经过线性化、离散化,最终落到状态空间或传递函数的完整链路。理解每一步的适用条件与误差来源,才能在工程中构建出既准确又可用于实时优化的预测模型。