2. 预备知识

模型预测控制(MPC)的核心思想是“基于模型预测未来行为,并在滚动时域内求解优化问题”。因此,建立准确的系统模型是MPC设计的第一步。本章将系统梳理MPC所需的预备知识:从线性系统模型的物理意义出发,引入状态空间表示法,讨论连续系统离散化的常用方法,并回顾稳定性与可控性的基本判据。这些内容不仅是后续推导MPC公式的数学工具,更是理解预测模型失配、约束可行性与闭环性能的基石。

MPC预备知识体系与关联 线性系统模型 微分/差分方程 叠加原理 状态空间表示 ẋ=Ax+Bu, y=Cx+Du 内部状态描述 离散化方法 ZOH / 欧拉 / Tustin 采样周期选择 稳定性分析 特征值 / 极点位置 Lyapunov方法 可控性与可观测性 可控矩阵 / 可观测矩阵 秩判据 MPC:模型预测 + 滚动优化 + 反馈校正 物理建模 数值计算 系统性质

2.1 线性系统模型与状态空间表示

核心原理

线性系统模型是MPC最常用的预测模型形式。其核心假设是系统满足叠加原理:若输入 \(u_1\) 产生输出 \(y_1\),输入 \(u_2\) 产生输出 \(y_2\),则输入 \(a u_1 + b u_2\) 产生输出 \(a y_1 + b y_2\)。这一性质使得我们可以将复杂的输入信号分解为基本信号的组合,从而简化预测计算。在工程实践中,许多实际系统(如温度控制、电机调速、化工过程)在工作点附近可以近似为线性模型。

状态空间表示是描述线性系统内部动态的标准化方法。连续时间状态空间模型为:

dx/dt = A x(t) + B u(t)
y(t)   = C x(t) + D u(t)

其中,\(x(t) \in \mathbb{R}^n\) 为状态向量,\(u(t) \in \mathbb{R}^m\) 为输入向量,\(y(t) \in \mathbb{R}^p\) 为输出向量。矩阵 \(A\)(系统矩阵)描述状态间的动态耦合,\(B\)(输入矩阵)描述输入如何影响状态变化,\(C\)(输出矩阵)将状态映射到可测量的输出,\(D\)(前馈矩阵)表示输入对输出的直接传递(通常为0)。

判断方法与操作流程

建立状态空间模型的流程如下:

  1. 机理分析:根据物理定律(牛顿力学、基尔霍夫定律、能量守恒等)写出系统的微分方程。
  2. 选择状态变量:选取能够完全描述系统动态的最小变量组(通常是储能元件的变量,如电容电压、电感电流、速度、位移)。
  3. 线性化:若系统非线性,在工作点 \((x_0, u_0)\) 处进行泰勒展开,保留一阶项,得到线性化模型。
  4. 整理为矩阵形式:将微分方程整理为 \(\dot{x} = Ax + Bu\) 的标准形式。
案例拆解:直流电机速度控制
背景:一个永磁直流电机,输入为电枢电压 \(V\),输出为转速 \(\omega\)。已知电枢电感 \(L=0.5H\),电阻 \(R=2\Omega\),电机转矩常数 \(K_t=0.1 Nm/A\),反电动势常数 \(K_e=0.1 V\cdot s/rad\),转动惯量 \(J=0.02 kg\cdot m^2\),粘性摩擦系数 \(b=0.01 Nm\cdot s\)。
初始现象:直接施加阶跃电压时,转速响应存在超调且稳态误差较大。
建模过程:
电枢回路方程:\(L \frac{di}{dt} = V - R i - K_e \omega\)
机械运动方程:\(J \frac{d\omega}{dt} = K_t i - b \omega\)
选择状态变量 \(x = [i, \omega]^T\),输入 \(u = V\),输出 \(y = \omega\),得到:
A = [-R/L  -K_e/L;  K_t/J  -b/J] = [-4  -0.2;  5  -0.5]
B = [1/L; 0] = [2; 0]
C = [0  1]
D = 0
结果:利用该模型设计MPC控制器后,转速响应超调量从25%降至3%,调节时间缩短40%。
复盘:机理建模的关键在于正确识别储能元件和能量转换路径,本例中电感和转动惯量是核心储能元件。

常见误区与总结

  • 误区1:忽略线性化误差。当系统工作点大幅变化时,单一线性模型可能失效,需考虑多模型或自适应策略。
  • 误区2:状态变量选择不当。若选择的状态变量之间存在线性相关,会导致系统矩阵奇异,影响后续可控性分析。
  • 误区3:忽略D矩阵。虽然多数物理系统D=0,但在某些采样数据系统中,D可能非零,需仔细检查。

2.2 离散化方法

核心原理

MPC是数字控制算法,必须在离散时间域中运行。离散化的目标是将连续时间模型 \(\dot{x} = Ax + Bu\) 转换为离散时间模型 \(x(k+1) = A_d x(k) + B_d u(k)\)。采样周期 \(T_s\) 的选择直接影响离散化精度和MPC性能。若采样过快,计算负担增大;若采样过慢,会丢失系统动态信息。

常用离散化方法对比

方法 公式 精度 适用场景
零阶保持器(ZOH) \(A_d = e^{AT_s}\), \(B_d = \int_0^{T_s} e^{A\tau} d\tau \cdot B\) 精确(对阶跃输入) 计算机控制,输入保持恒定
前向欧拉 \(A_d = I + A T_s\), \(B_d = B T_s\) 一阶 采样周期很小,实时性要求高
双线性变换(Tustin) \(A_d = (I - \frac{T_s}{2}A)^{-1}(I + \frac{T_s}{2}A)\) 二阶 频域特性保持较好
经验法则:采样周期应满足 \(T_s \le \frac{1}{10} \cdot \frac{2\pi}{\omega_{BW}}\),其中 \(\omega_{BW}\) 为系统闭环带宽。对于MPC,采样周期还需考虑优化求解时间,通常取闭环上升时间的1/10~1/20。

操作流程与案例

以ZOH法为例,离散化步骤为:

  1. 计算矩阵指数 \(e^{AT_s}\)(可用MATLAB的 expm 函数或级数展开)。
  2. 计算 \(B_d = A^{-1}(e^{AT_s} - I)B\)(若A可逆)。
  3. 验证离散化精度:比较连续系统与离散系统的阶跃响应。
实战场景:温度系统离散化
某电加热炉的连续模型为 \(\dot{T} = -0.02T + 0.1P\),其中T为温度(°C),P为加热功率(kW)。选择采样周期 \(T_s = 5s\)。
使用ZOH法:
\(A_d = e^{-0.02 \times 5} = e^{-0.1} = 0.9048\)
\(B_d = \frac{0.1}{0.02}(1 - e^{-0.1}) = 5 \times 0.0952 = 0.476\)
离散模型:\(T(k+1) = 0.9048 T(k) + 0.476 P(k)\)
验证:若连续系统输入阶跃P=10kW,稳态温度T=50°C;离散模型稳态值 \(T_{ss} = \frac{0.476 \times 10}{1-0.9048} = 50°C\),一致。
注意:若用前向欧拉,\(A_d = 1 - 0.1 = 0.9\),\(B_d = 0.5\),稳态值为50°C,但动态响应略有偏差。

常见误区

  • 误区1:采样周期过大导致离散模型不稳定。例如前向欧拉要求 \(T_s < 2/|A|\),否则离散极点可能超出单位圆。
  • 误区2:忽略计算延迟。实际MPC中,从采样到执行控制量存在一个采样周期的延迟,需在模型中引入延迟状态。
  • 误区3:直接使用数值积分函数(如ode45)进行离散化,这会导致模型过于复杂,不适合MPC的在线优化。

2.3 稳定性与可控性基础

核心原理

稳定性是控制系统的基本要求。对于线性时不变系统 \(\dot{x} = Ax\),系统渐近稳定的充要条件是矩阵A的所有特征值均具有负实部(连续系统)或所有特征值均在单位圆内(离散系统)。在MPC中,稳定性不仅指被控对象,还包括闭环系统(包含控制器)的稳定性。MPC通过设计终端代价函数和终端约束来保证闭环稳定性。

可控性(Controllability)描述系统状态是否能通过输入在有限时间内从任意初始状态转移到任意目标状态。对于连续系统 \((A, B)\),可控性判据为可控性矩阵 \(\mathcal{C} = [B, AB, A^2B, \ldots, A^{n-1}B]\) 满秩(秩为n)。可观测性(Observability)描述能否通过有限时间内的输出测量值唯一确定系统初始状态,其判据为可观测性矩阵 \(\mathcal{O} = [C; CA; CA^2; \ldots; CA^{n-1}]\) 满秩。

判断方法与工程意义

性质 判据 MPC中的意义
稳定性 特征值实部<0(连续)或\|λ_i\|<1(离散) 保证预测模型不发散,MPC优化问题有界
可控性 rank([B AB ... A^{n-1}B]) = n 确保MPC能找到输入序列使状态到达目标
可观测性 rank([C; CA; ...; CA^{n-1}]) = n 确保状态估计器(如Kalman滤波器)能重构状态
风险提示:即使系统开环不稳定,MPC仍可通过滚动优化实现闭环稳定,但前提是系统必须是可控的。若系统不可控,MPC无法通过输入影响不可控模态,此时需重新设计执行器或调整控制目标。

案例拆解:倒立摆系统的可控性分析

考虑一维倒立摆,状态 \(x = [\theta, \dot{\theta}]^T\),输入为小车加速度 \(u\)。线性化模型为:

A = [0  1;  g/l  0],  B = [0; 1]

其中 \(g=9.8 m/s^2\),\(l=1m\)。可控性矩阵 \(\mathcal{C} = [B, AB] = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}\),秩为2,系统可控。这意味着MPC可以通过规划加速度序列将摆杆从任意初始角度稳定到竖直位置。

若系统变为双倒立摆(两个摆杆串联),状态维度增加至4,但若第二个摆的驱动不足,可控性矩阵可能降秩。此时MPC将无法同时稳定两个摆,需要增加执行器或改变机械结构。

总结复盘

  • 稳定性是MPC设计的前提,但MPC的滚动优化本身具有“内在稳定性”修正能力,即使模型略有失配,反馈校正环节也能抑制发散。
  • 可控性分析应在MPC设计前完成,若系统不可控,后续所有优化都是徒劳。
  • 可观测性影响状态估计,若系统不可观测,需增加传感器或采用观测器设计。
  • 工程中常用MATLAB的 ctrb、obsv、rank 函数快速验证这些性质。
实践建议:在开始MPC设计前,建议完成以下检查清单:
① 模型是否在工作点附近线性化?
② 采样周期是否满足带宽要求?
③ 离散化方法是否与输入类型匹配(ZOH适用于DAC输出保持)?
④ 系统是否可控、可观测?
⑤ 开环系统是否稳定?若不稳定,MPC的预测时域是否足够覆盖不稳定模态的上升时间?