一、MPC概述
1、MPC是什么
模型预测控制(MPC)是一种在每一个采样瞬间,通过求解一个有限时域的开环最优控制问题,来获得当前控制动作的算法,它与传统控制算法的一个根本不同点,在于它不依赖于预先计算好的控制律,而是根据系统的最新状态,实时地、滚动地计算出最优的控制动作
2、MPC的三大要素
(1)本节先以小车运动的示例作为引入,如下图所示,一个小车在一维轴上做直线运动,它有一个期望的运动轨迹(某一时刻在某一点上)。

(2)假设当前时刻小车已经偏离了运动轨迹,结合小车的运动模型(可能是物理公式,也可能是神经网络),MPC能够根据系统输入和系统状态预测小车后续的运动轨迹,输入量偏大或偏小,都会导致小车无法回到期望的运动轨迹,此步的关键要素为"预测模型"。

(3)MPC能够在当前时刻预测未来有限长的一段时间(预测时域)内系统的输出,寻找能使预设性能目标达到最优的那一系列未来控制动作,不过,这套最优计划并不会被全部执行,只会执行其中的第一步,然后在下一个采样时刻,系统会基于最新的反馈信息,再次进行新一轮的"向前看"和优化,此步的关键要素为"滚动优化"。

(4)实际使用中,由预测模型得到的"理想"输出,和系统实际测量值之间必然存在由模型误差、外部干扰等原因造成的偏差,为了解决这个问题,MPC需要依靠一系列测量值来估计系统当前的、不能直接测量的内部状态(如速度、温度分布等),作为上述"滚动优化"环节的起点,此步的关键要素为"反馈校正"。
二、最优化控制
1、最优化控制的概念
(1)首先考虑一个单输入单输出系统,如下所示

控制器的目标是根据系统输出和参考信号求得系统输入,使得系统输出向参考信号逼近


(2)将以上分析推广至多输入多输出系统,如下所示

2、MPC中的最优化控制
(1)MPC多用于数位控制,因此一般需要先将系统离散化,以下为离散状态空间方程的一般形式

(2)MPC的工作步骤:


3、最优化控制模型的数学推导
(1)MPC有多种方法实施最优化控制,这里介绍最常用的一种方法------二次规划。

(2)为了方便书写和推导,做出如下定义和假设:


(3)代价函数变换:



