1. 状态空间MPC与输入增量的核心概念
在控制工程领域,模型预测控制(MPC)因其处理多变量约束问题的能力而广受青睐。传统MPC控制器设计通常基于系统的状态空间模型,通过在线求解优化问题来计算控制输入。而引入输入增量(Δu)作为优化变量,可以带来几个显著优势:
首先,输入增量形式能够自然处理执行器的速率约束。在实际工程中,执行器的变化速率往往存在物理限制。通过将Δu=u(k)-u(k-1)作为优化变量,可以直接在优化问题中施加Δu_min ≤ Δu ≤ Δu_max的约束条件,这比处理绝对输入值的约束更为直观。
其次,从理论角度看,增量式MPC可以改善系统的鲁棒性。当模型存在失配时,增量形式的控制器相当于在系统中引入了积分作用,有助于消除稳态误差。这种特性使得增量式MPC对建模误差和外部扰动具有更强的适应能力。
从实现角度分析,增量式MPC的状态空间表达需要重新构建增广状态向量。典型的做法是将原系统状态x(k)和上一时刻的控制输入u(k-1)共同组成新的状态向量z(k)=[x(k)^T u(k-1)^T]^T。这种增广系统的状态空间方程可以表示为:
z(k+1) = Ãz(k) + B̃Δu(k)
y(k) = C̃z(k)
其中Ã、B̃、C̃是重构后的系统矩阵。这种表达形式保持了线性特性,使得标准的MPC推导过程仍然适用。
提示:在Matlab中实现时,务必注意状态增广后的矩阵维度匹配问题。一个常见错误是忽略了u(k-1)的维度,导致矩阵拼接时出现尺寸不匹配。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 增量式MPC的数学推导与公式对比
2.1 标准状态空间MPC的局限性
传统的状态空间MPC直接优化控制输入u(k),其预测模型基于如下状态方程:
x(k+1) = Ax(k) + Bu(k)
y(k) = Cx(k)
这种形式在处理输入约束时存在两个主要问题:一是难以直接表达输入变化率的约束;二是当系统存在建模误差时,可能出现稳态偏差。虽然可以通过增加扰动观测器来补偿,但这增加了控制器的复杂度。
2.2 增量式MPC的推导过程
增量式MPC的核心在于将控制输入的变化量Δu(k)=u(k)-u(k-1)作为优化变量。我们需要构建包含原状态和上一时刻输入的增广状态:
z(k) = [x(k)^T u(k-1)^T]^T
新的状态空间方程变为
