模型预测控制(Model Predictive Control,简称 MPC)是一种先进的控制策略,利用系统的数学模型预测未来的行为,并通过优化计算获得当前时刻的最优控制输入。MPC 每一时刻基于当前状态,预测未来一段时间内的系统输出,并在满足一系列约束条件的情况下,使得控制目标(通常是某一性能指标)最优化。MPC 已广泛应用于过程控制、自动驾驶、机器人控制、电力系统等领域,尤其适合多变量、带有硬约束的系统。
1. 模型预测控制的基本思想
MPC 的基本思想是滚动优化和反馈校正:
-
滚动优化:在每一时刻,MPC 基于系统的预测模型、当前状态和未来期望输出(即参考轨迹),构建一个预测时间窗(也称预测时域)。MPC 通过优化算法求解控制序列,使得预测期内系统输出最接近期望值。该控制序列的第一个控制输入作为当前控制量应用于系统。
-
反馈校正:在每一时刻计算控制输入后,系统实际状态随时间演化,MPC 在下一时刻重复上述过程——即重新测量系统状态、更新预测序列和优化求解控制量。通过这种实时调整,使控制系统具备对干扰或不确定性的较强适应能力。
2. MPC 的工作流程
MPC 的工作流程可以概括为以下几个步骤:
-
构建预测模型:选取系统的数学模型(通常是离散时间模型),如状态空间模型、传递函数模型等。模型描述了系统状态如何在时间上变化,以及控制输入如何影响输出。
-
确定预测期和控制期:选择预测期(即预测的未来时间窗长度)和控制期(控制输入更新的时间间隔)。通常预测期较长,控制期较短,便于控制实时调整。
-
定义目标函数(性能指标):设定控制目标,如将系统输出值与参考值的偏差最小化、控制输入的能量最小化等。目标函数一般采用二次型形式,即:
J = ∑ k = 0 N p ∥ y k − y ref ∥ 2 + ∑ k = 0 N c ∥ u k ∥ 2 J = \sum_{k=0}^{N_p} \left\| y_k - y_{\text{ref}} \right\|^2 + \sum_{k=0}^{N_c} \left\| u_k \right\|^2 J=