预测控制课程报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

预测控制课程论文题目DMC算法matlab编程与仿真学生姓名学号学院专业指导教师二0一三年一月五日DMC算法matlab编程与仿真摘要:预测控制在控制方面有重要作用,而动态矩阵控制是预测控制中一种重要的算法。本文分析了动态矩阵控制算法的原理以及算法包括的三个主要方面:预测模型、滚动优化、反馈控制。并通过仿真实例,来进一步表明动态矩阵控制算法的优越性。关键词:预测控制,DMC,仿真一、引言随着科技的发展,人们对大型复杂和不确定性系统的控制品质要求逐渐提高,因此就需要提出一种新的计算机控制算法。利用状态空间法分析和设计系统,不仅提高了人们对控制对象的洞察能力,而且还提供了在更高层次上设计控制系统的手段。因为工业对象的结构、参数和环境都有很大的不确定性,按照理想模型得到的最优控制在实际中不能保持最优,有时会引起控制品质严重下降。预测控制的提出不要求对模型结构有先验知识,也不需要通过复杂的系统辨识,直接就可以设计控制系统。预测控制算法汲取了现代控制理论中的优化思想,滚动的在线优化,克服了不确定性,增强控制系统的鲁棒性。预测控制算法一般分为三个部分,分别是预测模型、滚动优化和反馈校正。预测模型是展示系统未来动态行为的功能,任意给出未来的控制策略观察对象的在不同控制策略下的输出变化,为比较这些控制策略的优劣提供依据。滚动优化不是一次离线进行的,而是反复在线进行的。反馈校正可以在保持模型不变的基础上对未来的误差进行预测并加以校正,还可以在线辨识直接修改预测模型。因此预测控制能有效地应用于复杂系统,它在工业过程和其它领域有着诱人的应用前景。二、动态矩阵控制算法(DMC)预测控制是智能控制方法之一,目前提出的预测控制算法主要有基于非参数模型的模型算法控制(MAC)、动态矩阵控制(DMC)和基于参数模型的广义预测控制(GPC)等。动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于对象阶跃响应的预测控制算法,它以对象的阶跃响应离散系数为模型,避免了通常的传递函数或状态空间方程模型参数的辨识,又因为采用多步预估技术,能有效解决时延过程问题,并按预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统的动态特性中具有纯滞后或非最小相位特性都不影响改算法的直接应用,因此是一种最优控制技术[4]。20世纪80年代初,Culter提出的动态矩阵预测控制(DMC)算法是MPC中的一种重要的算法,是一种利用被控对象的单位阶跃响应采样序列作为预测模型的预测控制算法。算法原理图1所示。图1DMC原理图DMC算法分为三部分:预测模型、滚动优化和反馈校正。2.1预测模型在DMC算法中,首先需要测定对象单位阶跃响应的采样值)(iTaai,i=1,2,……。其中,T为采样周期。对于渐进稳定的对象,阶跃响应在某一NTNt,后将趋于平稳,以至ia(iN)与Na的误差和量化误差及测量误差有相同的数量级,因而可认为,Na已近似等于阶跃响应的稳态值)(aaS。这样,对象的动态信息就可以近似用有限集合Naaa21,加以描述。这个集合的参数构成了DMC的模型参数,向量a=Naaa21,称为模型向量,N称为模型时域长度。虽然阶跃响应是一种非参数模型,但由于线性系统具有比例和叠加性质,故利用这组模型参数ia,已足以预测在任意输入作用下系统在未来时刻的输出值。在t=kT时刻,假如控制量不再变化时系统在未来N个时刻的输出值为)(~),2(~),1(~000kNkykkykky,,那么,在控制增量)(ku作用后系统的输出可由)()(~)(~01kuakykyNN(2-1)预测,其中)(~)1(~)(~000kNkykkykyN表示在t=kT时刻预测的尚无)(ku作用时未来N个时刻的系统输出。)(~)1(~)(~111kNkykkykyN表示在t=kT时刻预测的有控制增量)(ku作用时未来N个时刻的系统输出。Naaa1为阶跃响应模型向量,其元素为描述系统动态特性的N个阶跃响应系数。式中,上标~表示预测,kik表示在t=kT时刻预测t=(k+i)T时刻。同样,如果考虑到现在和未来M个时刻控制增量的变化,在t=kT时刻预测在控制增量)(ku,⋯,)1(Mku作用下系统在未来P个时刻的输出为)()(~)(~0kuAkykyMPPM(2-2)式中)(~)1(~)(~000PkNkykkyky为t=kT时刻预测的无控制增量时未来P个时刻的系统输出。)P(~)1(~)(~MMPMkkykkyky为t=kT时刻预测的有M个控制增量)(ku,……,)1(Mku时未来P个时刻的系统输出。)1()()(MkukukuM为从现在起M个时刻的控制增量。11121000MpppaaaaaaA称为动态矩阵,其元素为描述系统动态特性的阶跃响应系数。2.2滚动优化DMC是一种以优化确定控制策略的算法。在采样时刻t=kT的优化性能指标可取为PiMikikyikqkJ12)](~)([)(min+M12)1(jjjkur(2-3)即通过选择该时刻起M个时刻的控制增量)(ku,⋯,)1(Mku,使系统在未来P(MPN)个时刻的输出值)1(~kkyM,…,)(~kPkyM尽可能接近其期望值)1(k,…)(Pk。性能指标中的第二项是对控制增量的约束,即不允许控制量的变化过于剧烈。式中,iq,jr为权系数,P和M分别称为优化时域长度和控制时域长度。显然,在不同时刻,优化性能指标是不同的,但其相对形式却是一致的,都具有类似于(2-1)的形式,所谓“滚动优化”,就是指优化时域随时间不断地向前推移。引入向量和矩阵记号)()1()(Pkkkp,Q=diag(1q,…,Pq),R=diag(1r,…,Mr)则优化性能指标式(2-1)可改写为22)()(~)()(minRMQPMpkukykkJ(2-4)式中,Q,R分别称为误差权矩阵和控制权矩阵。在不考虑输入输出约束的情况下,在t=kT时刻,)(kp,)(0kyp均为己知,使J(k)取最小的)(kuM可通过极值必要条件)()(kudkdJM求得))(~)(()()(01kykQARQAAkuppTTM(2-5)这就是t=kT时刻解得的最优控制增量序列。由于这一最优解完全是基于预测模型求得的因而是开环最优解.2.3反馈校正由于模型误差、弱非线性特性及其它在实际过程中存在的不确定因素,按预测模型式(2-2)得到的开环最优控制规律式(2-5)不一定能导致系统输出紧密地跟随期望值,它也不能顾及对象受到的扰动。为了纠正模型预测与实际的不一致,必须及时地利用过程的误差信息对输出预测值进行修正,而不应等到这M个控制增量都实施后再作校正。为此,在t=kT时刻首先实施)(Mku中的第一个控制作用)(ku=)(kucMT)(~)()(~)()(001kykdkykQARQAAcPpTPPTTT(2-6))()1()(kukuku(2-7)其中)001(Tc)()(211PTTTTdddQARQAAcd(2-8)由于)(ku已作用于对象,对系统未来输出的预测便要叠加上)(ku产生的影响,即由式(2-1)算出)(~1kyN。到下一个采样时刻t=(k+1)T,不是继续实施最优解)(Mku中的第二个分量)1(ku,而是检测系统的实际输出y(k+1),并与按模型预测算得的该时刻输出,即)(~1kyN中的第一个分量)1(~1kky进行比较,构成预测误差。)1(~)1()1(1kkykyke(2-9)这一误差反映了模型中未包含的各种不确定因素,如模型失配、干扰等。由于预测误差的存在,以后各时刻输出值的预侧也应在模型预测的基础上加以校正,这些未来误差的预测,可通过对现时误差e(k+1)加权系数ihh,(i=1,2,…,N)得到)1()(~)1(~1khekykyNcor(2-10)式中)1(~)11(~)1(~kNkykkykycorcorcor为t=(k+1)T时刻经误差校正后所预测的系统在t=(k+i)T(i=1,…,N)时刻的输出.Nhhh1为误差校正向量,其中,1h=1。经校正后的)1(~kycor的各分量中。除第一项外.其余各项分别是t=(k+1)T时刻在尚无)1(ku等未来控制增量作用时对输出在t=(k+2)T,…,(k+N)T时刻的预测值,它们可作为t=(k+1)T时刻)1(~0kyN的前N一1个分量,即)11(~)11(~0kikykikycor,i=1,…,N-1而)1(~0kyN中的最后一个分量。即t=(k+1)T时刻对i=(k+1+N)T输出的预测,可由)1(~0kNky来近似,即)1(~0kNky=)1(~kNkycor,上述关系可用向量形式表示)1(~)1(~0kySkycorN(2-11)其中1001000010S为移位矩阵。在t=(k+1)T时刻,有了)1(~0kyN,就又可以像上面所述t=kT时刻那样进行新的预测优化,整个控制就是在这样推移的过程中滚动进行.由此可以看到,整个动态矩阵控制算法是由预测、控制、校正三部分组成的.在每一个采样时刻未来P个时刻的期望输出与预测输出所构成的偏差向量按式(2-6)与动态向量Td点乘。得到该时刻的控制增量)(ku。这一控制增量一方面通过数字积分(累加)运算求出控制量u(k)作用于对象;另一方面与阶跃响应向量a相乘,并按式(2-1)计算出在其作用后所预测的系统输出)(~1kyN。到了下一个采样时刻,首先测定系统的实际输出y(k+1),并与原来预测的该时刻的值相比较。按(2-9)算出预测误差e(k+1)。这一误差与校正向量h相乘后,再按式(2-10)校正预测的输出值。由于时间的推移,经校正的预测输出)1(~kycor将按式(2-11)移位,并置定为该时刻的预测初值)1(~0kyN.图中的1z,表示时移算子,如果把新的时刻重新定义为k时刻,则预测初值)(~0kyN的前P个分量将与期望输出一起,参与新时刻控制增量的计算。如此循环,整个过程将反复在线进行。三、仿真实例例1、最小相位对象]15.40.25)][(s60.55)[(s8611.77G(s)2222其阶跃响应为)541.14.15sin(0.18038e-)4973.16sin(1835.11)(-0.25t55.0ttetat观察该阶跃响应的稳态值,最大超调量,过渡时间,设计采样周期(T),模型长度(N),优化时域(P),控制时域(M),误差权矩阵(Q)、控制权矩阵(R),并由此观察设计参数对控制性能的影响。上诉传递函数的阶跃响图如下:图3对象的阶跃响应图其程序为n1=1;k=8611.77;d1=conv([10.55*2(0.55)^2+36],[10.25*2(0.25)^2+(15.4)^2]);G=tf(k*n1,d1);step(G)加入动态矩阵,选取采样时间Ts=0.4,截断步长N=150。对于不同的预测步长P和控制步长M有如下效果:图5预测步长P=20,控制步长M=20图6预测步长P=40,控制步长M=20程序为:clc;clearall;closeall;%建立传递函数n1=1;k=8611.77;d1=conv([10.55*2(0.55)^2+6^2],[10.25*2(0.25)^2+(15.4)^2]);G=tf(k*n1,d1);[y0,t0]=s

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功