在工业控制领域,随着被控对象复杂性的提升、多变量耦合关系的增强以及对控制精度和稳定性要求的提高,传统 PID 控制等算法逐渐暴露出适应性不足的问题。模型预测控制(Model Predictive Control,简称 MPC)作为一种基于模型的先进控制策略,凭借其对约束的灵活处理能力、多变量协调控制优势以及滚动优化的特性,已成为过程控制、运动控制等领域的核心技术之一。
一、MPC 算法的基本概念
模型预测控制,顾名思义,是一种利用'模型'进行'预测'并基于预测结果实现'控制'的算法。其核心思想可以概括为:通过建立被控对象的数学模型,根据系统当前及历史的运行状态,预测未来一段时间内被控对象的输出变化趋势;然后以预测输出与期望输出的偏差最小化为目标,在考虑系统各种约束条件(如输入输出幅值约束、速率约束等)的前提下,求解一个有限时域内的优化问题,得到当前时刻的控制量;最后仅执行当前时刻的控制量,在下一采样时刻重复上述'预测 - 优化 - 控制'的滚动过程。
与传统控制算法相比,MPC 最显著的特点是'有限时域滚动优化'和'在线反复求解',这使得它能够实时应对系统的动态变化和不确定性,同时有效处理多变量、强耦合、有约束的复杂控制问题。
二、MPC 算法的核心原理与工作流程
MPC 的工作过程是一个周期性循环的闭环控制过程,每一个采样周期内的核心步骤包括:状态观测与反馈、模型预测、滚动优化、控制量输出。其具体工作流程如下:
-
状态观测与反馈 在每个控制周期的起始时刻,通过传感器或观测器获取被控对象的当前运行状态(如温度、压力、速度、位置等),并将其与系统的历史状态数据相结合,为后续的预测和优化提供准确的初始条件。对于无法直接测量的状态,通常会采用状态观测器(如卡尔曼滤波、扩展卡尔曼滤波等)进行估计,以确保状态信息的完整性和准确性。
-
基于模型的预测 利用建立的被控对象数学模型(如线性模型、非线性模型、离散模型、连续模型等),结合当前及历史的状态信息和控制量,预测未来一段时间内(称为'预测时域',记为 Np)被控对象的输出响应。预测时域的选择是 MPC 设计中的关键参数之一:过短会导致预测精度不足,无法充分考虑系统的动态特性;过长则会增加计算复杂度,影响控制的实时性。
常用的预测模型包括: • 线性模型:如状态空间模型、传递函数模型,适用于线性被控对象或在工作点附近可线性化的非线性对象,计算简单,应用广泛; • 非线性模型:如非线性状态方程、神经网络模型、模糊模型等,适用于强非线性被控对象,预测精度更高,但计算复杂度大; • 混合整数模型:适用于包含离散控制变量(如开关量)的被控对象,可处理离散与连续变量耦合的控制问题。
- 有限时域滚动优化 在预测的基础上,定义一个优化目标函数(如输出跟踪误差最小、控制量变化率最小等),并结合系统的约束条件(如输入幅值约束、输出幅值约束、输入速率约束等),求解未来一段时间内(称为'控制时域',记为 Nc,通常 Nc≤Np)的最优控制序列。控制时域的选择同样重要:Nc 过小会限制控制的灵活性,无法实现最优控制效果;Nc 过大则会增加优化问题的维度,提高计算成本。
优化目标函数通常为加权二次型函数,形式如下: J = Σ(y_pred(k+i|k) - y_ref(k+i))²·Q + Σ(Δu(k+i|k))²·R (i 从 1 到 Np,Δu 从 1 到 Nc-1) 其中,y_pred(k+i|k) 为 k 时刻预测的 k+i 时刻输出,y_ref(k+i) 为 k+i 时刻的期望输出,Δu(k+i|k) 为 k 时刻决策的 k+i 时刻控制量变化量,Q 和 R 分别为输出误差权重矩阵和控制量变化权重矩阵,用于平衡跟踪精度和控制能耗。
约束条件通常包括: • 输入约束:u_min ≤ u(k+i|k) ≤ u_max (i=0,1,…,Nc-1) • 输入速率约束:Δu_min ≤ Δu(k+i|k) ≤ Δu_max (i=0,1,…,Nc-1) • 输出约束:y_min ≤ y_pred(k+i|k) ≤ y_max (i=1,2,…,Np)
- 控制量输出与滚动执行 求解优化问题后,得到的是未来 Nc 个时刻的最优控制序列,但 MPC 并不会将所有控制量全部执行,而是仅将当前时刻(k 时刻)的控制量 u(k|k) 作用于被控对象。当进入下一个采样周期(k+1 时刻),系统状态发生变化,此时需要重新获取新的状态信息,重复上述'观测 - 预测 - 优化 - 输出'的过程,形成滚动优化的闭环控制。这种'滚动执行'的特性使得 MPC 能够实时修正模型误差和外部扰动带来的影响,提高系统的鲁棒性。
三、MPC 算法的关键组成部分
MPC 算法的性能取决于其各个组成部分的设计,核心组成包括预测模型、滚动优化器、反馈校正机制和约束处理模块。
-
预测模型 预测模型是 MPC 的核心基础,其精度直接决定了预测结果的可靠性和控制效果的优劣。模型的选择需要根据被控对象的特性(线性/非线性、静态/动态、连续/离散)、控制精度要求以及计算资源条件综合确定。对于复杂工业过程,常采用数据驱动的建模方法(如系统辨识、神经网络)来建立高精度的预测模型。
-
滚动优化器 滚动优化器是 MPC 求解最优控制序列的核心模块,其本质是一个在线求解带约束的优化问题的计算单元。优化算法的选择直接影响 MPC 的实时性:对于线性 MPC,可采用二次规划(QP)算法快速求解;对于非线性 MPC(NMPC),则需要采用非线性规划(NLP)算法,如内点法、序列二次规划法等。随着计算硬件性能的提升和优化算法的改进,NMPC 的实时性问题正逐步得到解决,其应用范围也在不断扩大。
-
反馈校正机制 由于模型简化、参数摄动、外部扰动等因素,预测模型的输出与被控对象的实际输出之间必然存在偏差,即'预测误差'。反馈校正机制通过将实际输出与预测输出的偏差引入到下一次的预测过程中,对预测结果进行修正,从而提高预测精度,增强系统的鲁棒性。常用的反馈校正方法包括误差补偿法、模型参数在线修正法等。


