4、预测模型构建:如何从物理机理或系统辨识建立线性状态空间模型,并转换为离散时间模型用于预测

预测控制的核心竞争力在于“基于模型预见未来”。模型的质量直接决定了MPC控制性能的上限——一个粗糙的模型即使配上再优秀的优化求解器,也无法产生高质量的预测序列。本章聚焦于预测模型的构建主线:首先从物理机理出发推导连续时间状态空间模型,再引入系统辨识方法处理“黑箱”或“灰箱”场景,最后完成从连续时间到离散时间模型的转换,为后续预测时域内的多步递推奠定数学基础。

预测模型构建链路:从物理机理/数据到离散状态空间模型 物理机理建模 牛顿定律/基尔霍夫定律 能量守恒/热力学方程 → 连续时间状态空间 (A_c, B_c, C_c, D_c) 系统辨识 输入/输出实验数据 子空间法/N4SID/预测误差法 → 离散状态空间模型 (A_d, B_d, C_d, D_d) 模型汇聚 校验/修正/降阶 离散化方法 零阶保持(ZOH) | 一阶保持(FOH) | 双线性变换(Tustin) 离散时间状态空间模型 x(k+1)=A_d·x(k)+B_d·u(k), y(k)=C_d·x(k)+D_d·u(k)

4.1 从物理机理推导连续时间状态空间模型

核心原理:物理机理建模(又称“白箱建模”)基于系统内在的物理规律,如牛顿第二定律、基尔霍夫电压/电流定律、热力学第一定律、流体连续性方程等,推导出描述系统动态的微分方程或传递函数,进而转化为状态空间形式。状态空间模型的标准连续时间表达式为:

dx/dt = A_c·x(t) + B_c·u(t)
y(t) = C_c·x(t) + D_c·u(t)

其中,x(t)∈Rⁿ为状态向量,u(t)∈Rᵐ为输入向量,y(t)∈Rᵖ为输出向量。A_c为系统矩阵(描述状态间的动态耦合),B_c为输入矩阵(描述输入如何影响状态变化率),C_c为输出矩阵(描述状态到输出的映射),D_c为前馈矩阵(通常为0)。

操作流程:从物理机理建立状态空间模型通常遵循以下步骤:

  1. 定义系统边界与变量:明确被控对象、执行器、传感器位置,确定输入变量(如电压、流量、力)、输出变量(如温度、位置、转速)和内部状态变量(如电流、速度、压力)。
  2. 列写基本方程:根据物理定律写出微分方程或代数方程。例如,直流电机可写出电枢回路方程 L·di/dt = -R·i - K_e·ω + V 和机械转动方程 J·dω/dt = K_t·i - B·ω - T_L。
  3. 选择状态变量:状态变量应能完全描述系统内部动态,通常选择储能元件的物理量(电容电压、电感电流、质量速度等)。
  4. 整理为矩阵形式:将微分方程联立,消去中间变量,整理成 dx/dt = A_c·x + B_c·u 的标准形式。
  5. 确定输出方程:根据传感器测量位置,写出 y = C_c·x + D_c·u。

案例拆解:以永磁直流电机位置控制为例。设状态向量 x = [θ, ω, i]ᵀ(位置、角速度、电枢电流),输入 u = V(电枢电压),输出 y = θ(位置)。由机械方程 J·dω/dt = K_t·i - B·ω 和电学方程 L·di/dt = -R·i - K_e·ω + V,可得:

A_c = [[0, 1, 0],
       [0, -B/J, K_t/J],
       [0, -K_e/L, -R/L]]
B_c = [0, 0, 1/L]ᵀ
C_c = [1, 0, 0]

若电机参数为 J=0.01 kg·m²,B=0.001 N·m·s,K_t=K_e=0.05,R=1Ω,L=0.5mH,代入后即可获得具体的数值矩阵。该模型可直接用于后续离散化和MPC预测。

常见误区:物理建模时容易忽略非线性因素(如饱和、死区、摩擦),导致模型在特定工况下失准。建议在建模初期保留线性主部,将非线性视为扰动或通过反馈线性化处理。此外,状态变量的选择不唯一,但应保证能观性和能控性。

4.2 系统辨识:从实验数据提取离散模型

核心原理:当物理机理过于复杂或未知时,系统辨识提供了一条“数据驱动”的建模路径。其基本思想是:对系统施加激励信号(如PRBS、 chirp信号),采集输入输出数据,通过优化算法拟合出最匹配的模型参数。对于MPC应用,最常用的是子空间辨识方法(如N4SID、MOESP)和预测误差法(PEM)。子空间法直接由输入输出数据矩阵的QR分解和SVD分解得到状态空间模型,无需参数化迭代,计算效率高,适合多变量系统。

操作流程:

  1. 实验设计:选择激励信号,保证信号充分激励系统的所有模态。PRBS信号的幅值应覆盖工作点附近线性区域,频率范围应包含系统带宽。
  2. 数据采集与预处理:以合适采样周期采集数据,去除直流分量、趋势项和异常值,必要时进行滤波。
  3. 模型阶次确定:通过SVD奇异值谱或AIC准则确定系统阶次 n。
  4. 辨识计算:使用MATLAB的 n4sid 或Python的 sippy 库直接得到离散状态空间模型 (A_d, B_d, C_d, D_d)。
  5. 模型验证:用独立验证数据集计算拟合度(如 R²、残差白噪声检验),若不合格则调整阶次或激励信号。
方法适用场景优点缺点
物理机理建模系统结构清晰、参数可测可解释性强、外推性好建模耗时、忽略非线性
子空间辨识多变量系统、数据充足无需参数化、计算快对噪声敏感、需精心设计实验
预测误差法(PEM)单变量/小规模系统统计特性好、精度高迭代优化、可能陷入局部最优

实战经验:在工业现场,常采用“灰箱”策略——利用物理机理确定模型结构(如阶次、零极点个数),利用辨识数据估计未知参数。例如,已知热过程为一阶惯性加纯延迟,则只需辨识增益 K、时间常数 T 和延迟 τ,这比完全黑箱辨识更稳健。

4.3 连续时间模型到离散时间模型的转换

核心原理:MPC运行在数字控制器中,必须在离散时间域进行预测。连续时间模型 (A_c, B_c, C_c, D_c) 需转换为离散时间模型 (A_d, B_d, C_d, D_d),使得在采样周期 T_s 下,x(k+1) = A_d·x(k) + B_d·u(k) 精确描述采样时刻的状态演化。最常用的方法是零阶保持(ZOH),即假设输入 u(t) 在每个采样周期内保持恒定(由DAC的保持特性自然满足)。

数学转换公式:

A_d = e^(A_c·T_s)
B_d = ∫₀^{T_s} e^(A_c·τ) dτ · B_c
C_d = C_c
D_d = D_c

其中矩阵指数 e^(A_c·T_s) 可通过MATLAB的 c2d 函数、Python的 scipy.signal.cont2discrete 或级数展开计算。当采样周期远小于系统最小时间常数时,也可用近似公式 A_d ≈ I + A_c·T_s,但精度较低。

操作流程:

  1. 选择采样周期:根据系统带宽和MPC预测时域要求,通常取 T_s 为系统上升时间的1/10~1/20,或满足 ω_n·T_s < 0.3(ω_n为自然频率)。
  2. 计算矩阵指数:使用数值稳定的方法(如Padé近似或缩放-平方方法)计算 e^(A_c·T_s)。
  3. 计算输入矩阵:通过积分或增广矩阵法计算 B_d。增广法构造分块矩阵 [[A_c, B_c],[0,0]] 的指数,取右上块即为 B_d。
  4. 验证离散模型:对比连续模型和离散模型的阶跃响应,确保在采样点处一致。

案例拆解:考虑一阶惯性系统 G(s) = 1/(s+1),即 A_c=-1, B_c=1, C_c=1, D_c=0。取采样周期 T_s=0.1s,则:

A_d = e^(-0.1) = 0.9048
B_d = ∫₀^{0.1} e^(-τ) dτ = 1 - e^(-0.1) = 0.0952
C_d = 1, D_d = 0

离散模型为 x(k+1) = 0.9048·x(k) + 0.0952·u(k)。若用近似法 A_d≈1-0.1=0.9,B_d≈0.1,误差约0.5%,在采样周期较小时可接受。实际MPC中,建议使用精确ZOH转换以保证预测精度。

风险提示:采样周期选择不当会引发问题:过小导致计算负担重且数值病态;过大会丢失系统动态信息,甚至导致离散模型不稳定(若 T_s 大于系统最小时间常数的2倍)。此外,若系统存在纯延迟 τ,需将延迟纳入模型,通常将延迟近似为 τ/T_s 个采样周期的整数倍,并扩展状态向量。

4.4 模型验证与闭环仿真校验

核心原理:无论通过何种途径获得的模型,在用于MPC之前必须经过严格验证。验证分为开环验证和闭环验证。开环验证关注模型预测输出与实际输出的拟合度;闭环验证则关注在MPC控制下,模型失配是否导致性能下降或失稳。

验证指标:

  • 拟合度(R²): R² = 1 - Σ(y_meas - y_pred)² / Σ(y_meas - y_mean)²,通常要求 > 85%。
  • 残差白噪声检验:残差序列的自相关函数应在置信区间内,否则说明模型未完全捕捉系统动态。
  • 预测误差均方根(RMSE):评估多步预测精度,MPC通常关注未来 N_p 步内的累积误差。

操作流程:

  1. 使用独立数据集(非辨识数据)进行开环仿真,计算拟合度。
  2. 在仿真环境中搭建MPC控制器,施加典型参考轨迹(阶跃、斜坡、正弦),观察控制量和输出响应。
  3. 进行鲁棒性测试:在模型参数上叠加±20%摄动,检查闭环稳定性。
  4. 若性能不达标,返回修正模型结构或重新辨识。
验证类型测试内容通过标准失败处理
开环拟合模型输出 vs 实测输出R²>85%调整阶次/重新辨识
残差分析残差自相关95%置信区间内增加延迟/非线性补偿
闭环仿真MPC跟踪性能超调<10%,稳态误差<1%调整权重/预测时域
鲁棒性测试参数摄动±20%闭环稳定引入鲁棒MPC或扰动观测器

复盘总结:预测模型构建是MPC落地中最耗时但最关键的环节。建议遵循“先物理后辨识、先连续后离散、先开环后闭环”的工程路径。在模型失配不可避免时,可在MPC中引入反馈校正(如状态估计器或输出误差修正),以弥补模型不确定性。记住:模型精度与复杂度之间存在权衡——高阶模型未必带来更好的控制性能,反而可能增加计算负担和数值敏感性。