MPC控制使用线性时不变(LTI)动态模型预测未来行为。在实践中,这样的预测从来都不准确,一个关键的调整目标是让MPC对预测错误不敏感。在许多应用中,这种方法足以保证控制器的鲁棒性能。
如果被测对象具有很强的非线性或其特性随时间变化很大,则LTI预测的精度可能会大大降低,从而使MPC的性能变得不可接受。自适应MPC可以通过调整预测模型来适应不断变化的操作条件来解决这种退化问题。正如在模型预测控制工具箱™软件中实现的,自适应MPC使用固定的模型结构,但允许模型参数随时间发展。理想情况下,当控制器需要预测时(在每个控制区间的开始),它使用适合当前条件的模型。
在你为你的控制系统的平均或最有可能的运行条件设计了一个MPC控制器之后,你可以基于这个设计实现一个自适应的MPC控制器。有关设计初始控制器的信息,请参见控制器创建.
在每个控制区间,自适应MPC控制器更新对象模型和标称条件。一旦更新,模型和条件在预测范围内保持不变。如果你能预测植物和标称条件在未来如何变化,你就可以使用时变MPC指定在预测范围内变化的模型。
控制非线性或时变对象的另一种选择是使用增益计划的MPC控制。看到Gain-Scheduled MPC.)
作为自适应MPC基础的对象模型必须是一个LTI离散时间、状态空间模型。看到基本模型或线性化的基础(金宝app仿真软件控制设计)有关创建和修改此类系统的信息。模型结构如下:
在这里,矩阵一个,Bu,Bv,Bd,C,Dv,Dd是随时间变化的参数。表达式中的其他变量是:
k—Time index(当前控制时间间隔)。
x- - - - - -nx工厂模型。
u- - - - - -nu操纵输入(MVs)。这些是MPC控制器调整的一个或多个输入。
v- - - - - -nv测量扰动输入。
d- - - - - -nd无边无际的扰动输入。
y- - - - - -ny植物输出,包括nym测量和n余无边无际的输出。输出的总数,ny=nym+n余.同时,nym≥1(至少有一个测量输出)。
自适应MPC控制中对被控对象模型的其他要求是:
样品时间(Ts
)是一个常量,与MPC控制区间相同。
时间延迟(如果有)被吸收为离散状态(参见,例如,控制系统工具箱™absorbDelay
功能)。
nx,nu,ny,nd,nym,n余都是常数。
自适应MPC禁止从任何操纵变量到任何植物输出的直接馈通。因此,Du= 0。
输入和输出信号配置保持不变。
有关MPC控制的植物模型创建的更多细节,请参见植物规范.
一个传统的MPC控制器包括一个标称的工作点,在该被控对象模型应用,如在你线性化一个非线性模型,以获得LTI逼近的条件。的模型。Nominal
属性包含此信息。
在自适应MPC中,随着时间的推移,你应该更新标称工作点,以与更新的植物模型一致。
你可以根据与标称条件的偏差来编写植物模型:
在这里,矩阵一个,B,C,D是参数矩阵要更新。ut组合的工厂输入变量,包括u,v,d上面定义的变量。需要更新的名义条件是:
- - - - - -nx名义上的国家
- - - - - -nx名义状态增量
- - - - - -nut名义上的输入
- - - - - -ny额定输出
默认情况下,MPC使用一个静态卡尔曼滤波器(KF)来更新它的控制器状态,其中包括nxp工厂模型,nd(≥0)扰动模型状态,且nn(≥0)测量噪声模型状态。这个KF需要两个增益矩阵,l和米.缺省情况下,MPC控制器在初始化时计算。它们依赖于对象、干扰和噪声模型参数,以及驱动干扰和噪声模型的随机噪声信号的假设。关于传统MPC中状态估计的更多细节,请参见控制器状态估计.
自适应MPC使用卡尔曼滤波器并调整增益,l和米,以保持与更新后的对象模型的一致性。得到线性时变卡尔曼滤波器(LTVKF):
在这里,问,R,N为常协方差矩阵,定义为MPC状态估计。一个k和Cm k是整个控制器状态的状态空间参数矩阵,定义为传统的MPC,但受植物模型影响的部分更新到时间k.的值Pk|k1状态估计误差协方差矩阵在时间k根据可获得的信息k1。最后,lk和米k为更新的KF增益矩阵。关于传统MPC中使用的KF配方的详细信息,请参见控制器状态估计.默认情况下,初始条件,P0 | 1,是在任何模型更新之前的静态KF解决方案。
KF增益和状态误差协方差矩阵取决于模型参数和导致常数的假设问,R,N矩阵。若植物模型为常数,则lk和米k收敛到传统MPC中的等效静态KF解。
时刻控制器状态演化方程k与?中描述的传统MPC的KF公式相同控制器状态估计,但与估计增益和状态空间矩阵更新到时间k.
你可以选择使用MPC控制器外部的程序来更新控制器状态,然后在每个控制时刻将更新的状态提供给MPC,k.在这种情况下,MPC控制器跳过所有的KF和LTVKF计算。