预测控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.预测控制与预见控制
11.1概述
在我们的日常生活,根据未来的情况而决定现在的行动的事例比比皆是。
如,估计天气会下雨,出门时带上伞;看到前面路上有凹凸不平,提前把车速减下来,等等。
有必要提起注意的是,这里举出的两例对“未来情况”的把握是存在差异的,前者只是一种“估计”或者说“预测”(是否下雨并不一定),而后者却是明明白白看到了一个事实(确实有凹凸),我们权且称为“预见”。
在控制工程中,依据对未来情况的“预测“或“预见”来决定当前控制输入的控制方法便是我们要讨论的“预测控制”(Prdeictive Control)和“预见控制”(Preview Control)。
所谓预测控制,是指根据某种方法对系统未来的输出进行预测,并导求一种使预测的输出与期望值之间的误差尽可能小的控制方法,比较有代表性的有模型算法控制(MAC----Model Algorifhmic Control)、动态矩阵控制(DMC----Dynamic Matrix Control)等,这些方法直接从系统的预测模型(非参数模型),并根据某一优化指标设计控制系统,确定一个控制量的时间序列,使未来一段时间内输出量与期望量之间的误差最小。
由于这种控制方法的数模通过简单的实验得到,无须深入了解系统或过程的内部结构,也不必进行复杂的系统辩识,建模容易、简单,而且在算法中采用滚动优化策略,并在优化过程中不断通过实测系统输出与预测模型输出的误差来进行反馈校正,能在一定程度上克服由于预测模型误差和某些不确定干扰等的影响,所以特别适用于复杂工业生产过程的控制,在化工、冶金、石油、电力等部门得到了成功应用。
80年代初,人们结合自适应控制的研究,又发展了一些基于辩识过程参数模型,如广义预测
控制(GPC Generalized Predictive Control)等。
与预测控制不同的是,预见控制对未来情报的了解和掌握不是基于某种推测或判断,预见控制是基于一个控制对象的模型是已知的,系统中未来的目标值或外扰是可以通过某种手段预先明确地得知和确定的假设,也就是说,预见控制是根据已经确认的系统未来应该满足什么要求,系统未来的目标信号或外部干扰将会有怎样的变化等信息来做出当前时刻的控制决策。
预见控制中有时以最优控制理论(optimal Control theory)作为理论基础和求解手段,但它追求的不仅是当前时刻的最优,而是根据所了解的未来一段时间的情报而追求一段时间内追踪目标值,减小外扰影响,调节控制输出的整体综合目标最优。
预见控制的研究与应用不如预测控制那样广泛,但也在一些领域取得了成功应用。
如:根据对前后道路情况的了解来控制车辆的行车路线与减振力;以机器人、工作机构预定的未来运动轨迹做预见信息进行预见控制以减小跟踪误差;将前一级轧制后的轧材厚度检测量作为预见情报供即将通过的辊缝调节时做参考以提高轧制精度,等等。
11.2预测控制
预测控制是在工业实践过程中发展起来的,已有数十种控制算法,但都有一个共同特征:以预测模型,滚动优化和反馈校正做为基本控制策略,采用多步预测方式反映过程未来变化趋势以克服各种不确定性和复杂性的影响,能直接处理对控制量,被控量及某些可测中间量的限制。
正因为此,预测控制已在工业过程控制中得到成功应用。
本节通过动态矩阵控制方法的介绍说明这类控制方法的一般原理与算法结构。
11.2.1动态矩阵控制
动态矩阵控制方法是一种基于系统的阶跃响应模型进行模型预测控制器设计的方法,其特点是采用工程上易于获取的对象阶跃响应模型,算法较为简单、计算量少、鲁棒性较强,适用于纯时延,开环渐近稳定的非最小相位系统,已被实践证明是一种成功有效的控制算法。
1.动态矩阵控制的原理
动态矩阵控制算法结构由预测模型、最优控制规律、误差校正及闭环控制等几部分构成。
(1)预测模型
当在一个系统的输入端加上一单位阶跃信号后,在各采样时间t=T,2T,3T,、、、,NT分别可在系统的输出端测到一序列采样值,可用动态系数a1,a2,、、、a N来表示(图11.1)。
a1
x
图11.1系统单位阶跃响应
图中的N为阶跃响应的截断点,称为模型时域长度,N的选择应能使过渡过程基本完成,即a N a∞。
如果在K时刻给系统加上一个控制增量Δu(k),那么,根据线性系统的比例和叠加性质,可以推测未来N个时刻的模型输出预测值应当是:
y m(k+1/k)=y0(k+1/k)+a1Δu(k)
y m(k+2/k)=y0(k+2/k)+a2Δu(k)
y m(k+N/k)=y0(k+N/k)+a NΔu(k)
这里,(k+i/k)表示在t=kT时刻预测t=(k+i)T时刻的值,y0( )表示预测无Δu(k)作用时未来时刻的系统输出,y m( )表示预测有Δu(k)作用时的系统输出。
以上是假定Δu(k)不再变化(阶跃信号)而得到的预测结果,如果加的控制增量在未来M个采样间隔都变化,即为Δu(k)、Δu(k+1),、、、,Δu(k+M-1),则系统在未来P个时刻的预测模型输出应为:
y m(k+1/k)=y0(k+1/k)+a1Δu(k)
y m(k+2/k)=y0(k+2/k)+a2Δu(k)+a1Δu(k+1)
y m(k+P/k)=y0(k+P/k)+a pΔu(k)+a pΔu(k+1)
+、、、+ap-M+1Δu(k+M-1)
用矩阵形式可表示为:
Y m(k+1)=Y0(k+1)+AΔU(k) (11.2-2)
式中Y m(k+1)=[y m(k+1/k),y m(k+2/k),、、、,y m(k+p/k)]T
Y 0(k+1)=[y 0(k+1/k),y 0
(k+2/k),、、、,y 0(k+p/k)]T ΔU(k)=[ Δu(k),、、、Δu(k+m-1)]
A=⎥
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+--111210M p p p a a a a a a 称为动态矩阵,其元素为描述系统动态特性的阶跃响应系数。
(2) 最优控制律
为了对系统进行控制,提出一个二次型性能评价函数
J=[Y r (k)-Y m ]T Q[Y r (k)-Y m (k)]
+[ΔU(k)]T R ΔU(k) (11.2-3)
并通过最优化准则J →min 来确定从现在起M 个时刻的控制增量Δu (k ),、、、, Δu(k+m-1),以便系统在未来P 个时刻的输出值尽可能接正期望值Y r 。
这里,Y r (k)=[ y r (k+1),y r (k+2),、、、,y r (k+p)]T 为t=kT 时刻给定的未来P 个时刻的期望值,它可以是常值的(定值控制),也可以是时变的(跟踪控制)。
Q=ding(q 1,、、、,q p )为误差加权矩阵
R=ding(r 1,、、、,r p )为控制加权矩阵
P ,M 分别称为“最优化时域长度”和“控制时域长度”。
求解上式(0)(=∆∂∂k u J )后,可得最优控制增量为
Δu (k )=(A T QA+R)-1A T Q[y r (k)-y m (k)] (11.2-4)
在实际控制过程中,一般并不将所有M 个计算出来的控制增量用于控制,而是采用只执行当前时刻的控制增量Δu(k)一步,k+1及k+1以后时刻的控制
增量重新计算的闭环控制策略,这时只须计算(A T QA+R )
-1A T Q 的第一行即可,即:
Δu(k)=C T(A T QA+R)-1A T Q[y r(k)-y m(k)]
=d T[y r(kl)-y m(k)] (11.2-5)
其中C T=[1 0 0、、、0]
d t = [d1, d2,、、、d p] t=C T(A T QA+R)-1A T Q
因为A,Q,R都已确定,所以d T可以先离线解出,这样,在线控制时计算Δu(k)只需要完成两个无量点积即可。
(3)误差校正
由于模型误差和干扰等影响,系统的输出预测值与实际输出值之间会存在有误差,因为在控制过程中只采用一个控制增量Δu(k),则对未来P个时刻的系统输出预测值可用实际输出误差e(k)=y(k)-y m(k)来修正,即可取y p(k+1)=y m+(k+1)+h[y(k)-y m(k)] (11.2-6)
式中,y p(k+1)=[y p(k+1),y p(k+2),、、、y p(k+p)]T
为校正后的系统输入预测值,控制过程中以此做为t=(k+1)时刻的预测初值代入计算。
如上所述,动态矩阵控制算法是由预测器,调节器、校正器三部分组成,通常情况下,该系统具备较好的跟踪,调节特性和稳定鲁棒性。
11.2.2 预测控制的MATLAB实现
MATLAB中提供了专门的模型预测控制工具箱(Model predictive control Toolbox),可用于模型预测控制的分析、设计和仿真。
其主要功能函数和工具包括。
a.系统模型辩识函数:主要功能包括通过多变量线性回归方法计算MISO脉冲响应模型和阶跃响应模型。