梯形公式预测校正matlab_动态矩阵模型预测控制

ee2ef91717e7c86ba01d1420c7cb095d.png

一、背景:

20世纪中后期,在工业控制领域出现了一类新的计算机控制算法,称为模型预测控制(model predictive control, MPC)[1]。众所周知,到今天PID控制仍然是工业控制的主流,那么为什么还要发展MPC呢? PID作为一种“万能”控制器,其不需要知道环境的模型,就可以进行调试,同时其最大的优点在于调控参数数,易于整定。但PID主要在控制回路中其主要作用,当控制从单回路升级到整个系统之后,缺乏变量间耦合信息的单回路控制就很难保证良好的全局性能。为了能够保证全局性能,现代控制理论应运而生。围绕着航空航天、化工生产系统,最优控制、极点控制这一类先进控制都曾让人认为可以完美地控制系统,但通过实践就发现完美的理论与工业过程之间仍旧存在着巨大的鸿沟,原因在于:

(1)现代控制理论的基点是精确的数学模型,但在实际工业过程中难以得到精准的数学模型

(2)工业环境的结构、参数都具有极大的不确定性

(3)现代控制理论算法过于复杂无法满足控制过程实时性的要求指标

为了解决上述问题,打破传统控制的约束,人们致力于寻找一类对模型精准度不高、可以处理多变量和多约束的现代控制算法。模型预测控制就是在这一大背景下发展起来的先进控制算法。

模型预测算法有以下好处:

(1)例如DMC一类预测算法,其基于简单的脉冲信号或者阶跃信号就可以获得非参数模型,且不需要进一步对模型进行辨识,而这类信号对于工业过程来说是容易实现的。

(2)例如GPC一类的算法汲取了预测控制中多步优化的思想,增强了控制器的鲁棒性。

二、预测控制

预测控制算法一般分为以下三个部分:

(1)预测模型:所有的预测控制算法都需要预先得到一个预测模型,通过模型来得到预测输出。

(2)滚动优化:即在每一个采样时间点,算法只优化一个范围内的有限时域,得出所有优化控制后,只实施当前控制量于系统,到下一个采样时间点又再次进行优化预测。

(3)反馈校正:根据预测模型可计算下一个采样时间点的输出,到下一个采样时间点用实测输出与预测输出求误差,以此对未来的输出进行启发式修正。

为了便于大家的理解,今天从DMC(动态矩阵预测控制算法)入手,来具体介绍模型预测控制算法。

三、动态矩阵控制(DMC)

1.建立预测模型

DMC基于对象的阶跃响应来建立非参数模型,其适用于渐进稳定的线性对象。

对于DMC而言,首先要测定对象的单位采样值:

T为采样周期。在时间t=NT之后,阶跃响应将趋于一个稳定值(系统的稳态),即

的误差已经极小(
代表建模时域)。那么对象的动态信息就可以用一个有限区间:

来表示,这个集合的参数就构成了DMC的模型参数,向量(2)为矩阵的模型向量。利用(2)就足以对未来时刻的输出值进行预测。在

时刻,假设对未来N个时刻的初始预测值为:

,当k时刻有一控制增量

时,可利用线性叠加定理算出其在未来预测时刻内的输出值:
同理,从k时刻开始,在M个连续的控制增量

作用下可以得到未来各个时刻的输出值:

(5)就是我们所需要的预测模型.

2.实行滚动优化

滚动优化是模型预测控制中必不可缺的环节,其目的在每一个时刻

,都要再一次确定该时刻起之后
个控制增量(5).使得预测输出(4)都能够不断的接近给定的目标值:

分别代表控制步长和预测步长。一般来说
.

为了滚动计算每一个时刻

的预测输出,必须确定最优的控制增量
。在这里,也是利用模型预测控制的基本套路
设计性能指标函数:

为权重系数,一般情况设定
为一,这样就可以减少一个参数变量,让控制器更易于调整。将(8)写为向量的形式为:

其中:

分别为误差权重矩阵和控制权重矩阵,其都为对角矩阵。

将(6)带入(9)得:

其中A由模型向量(2)构成,表示为:

时刻时,
已知,对(10)关于
求导,取求导为0(根据矩阵求导规则求导),可得到:

所需要传递给过程的增量为(12)的第一个元素

求得

之后,对其进行积分,得到

传递给过程, 就可以推进到
时刻,将
时刻取代
时刻,然后使用
求出
,将其又传递给过程,如此滚动进行,所以就称为“滚动优化”。

3. 反馈校正

时刻把
施加到预测模型(4)上就可以得到下一个时刻
的预测输出:
,此时可以将
作为下一个时间点
的初始预测输出
.但在过程运行中,由于存在模型偏差以及外部扰动,预测值会出现较大的偏差,若不及时进行反馈校正,误差就会随着时间累积,最后使得整个系统不可控,那么这个时候我们需要对预测值
进行反馈校正。在下一个时刻
,可以得到过程的真实输出
,可以得到预测输出
,那么就可以求预测误差:

利用反馈误差对预测输入进行校正就可以得到校正预测值

此时将

设定为下一给时刻的初始预测值
即可。

细心的观众会发现,模型向量的建模时域为

,那么当进行了一次滚动优化之后,预测值的时间就位移到了
时刻,这显然是不合理的,所以要将预测值整体向前移动一个时间点,使得
,具体做法为:

其中

,为位移举证,
维矩阵。

4. 算法流程

75c4897a7f793f1deb66f66fe3fbb8f9.png

c47588e2cbece3eecd8d49538f714432.png

四、代码实现(matlab)

1. 相关参数设定:

sim

其中计算动态矩阵和建模向量的程序如下:

function

2. 仿真模型:

myP

代码由参数设定,矩阵计算,仿真三个部分组成,基础算法比较简单,注释得也很清楚,固不再赘述。

六.仿真结果:

e11408cd71eb77599ded835510bbacca.png

左图是轨迹跟踪的仿真结果,右图是误差曲线走势,并没有特别认真的去调试各项参数,但DMC已经表现出了比较良好的控制效果。

参考

  1. ^预测控制/席裕庚著, —2版. —北京: 国防工业出版社, 2013.12
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值