模型预测控制_第1页
模型预测控制_第2页
模型预测控制_第3页
模型预测控制_第4页
模型预测控制_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(完整版)模型预测控制云南大学信息学院学生实验报告课程名称:现代控制理论实验题目:预测控制小组成员:李博(12018000748)金蒋彪(12018000747)专业:2018级检测技术与自动化专业(完整版)模型预测控制TOC\o"1-5"\h\z1、实验目的 3\o"CurrentDocument"2、实验原理 4\o"CurrentDocument"2。1、预测控制特点 4\o"CurrentDocument"2。2、预测控制模型 5\o"CurrentDocument"在线滚动优化 6\o"CurrentDocument"反馈校正 7\o"CurrentDocument"2。5、预测控制分类 8\o"CurrentDocument"2.6、动态矩阵控制 9\o"CurrentDocument"3、MATLAB仿真实现 11\o"CurrentDocument"3.1、对比预测控制与PID控制效果 12\o"CurrentDocument"3。2、P的变化对控制效果的影响 14(完整版)模型预测控制TOC\o"1-5"\h\z\o"CurrentDocument"3。3、M的变化对控制效果的影响 15\o"CurrentDocument"3.4、模型失配与未失配时的控制效果对比 16\o"CurrentDocument"4、总结 17\o"CurrentDocument"5、附录 185.1、预测控制与PID控制对比仿真代码 185。1。1、预测控制代码 18\o"CurrentDocument"5.1。2、PID控制代码 19\o"CurrentDocument"5。2、不同P值对比控制效果代码 22\o"CurrentDocument"5.3、不同M值对比控制效果代码 23\o"CurrentDocument"5。4、模型失配与未失配对比代码 24实验目的(完整版)模型预测控制(1)、通过对预测控制原理的学习,掌握预测控制的知识点。(2)、通过对动态矩阵控制(DMC)的MATLAB仿真,发现其对直接处理具有纯滞后、大惯性的对象,有良好的跟踪性和较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来获得较好的控制效果。(3)、了解matlab编程。2、实验原理模型预测控制(ModelPredictiveControl,MPC)是20世纪70年代提出的一种计算机控制算法,最早应用于工业过程控制领域。预测控制的优点是对数学模型要求不高,能直接处理具有纯滞后的过程,具有良好的跟踪性能和较强的抗干扰能力,对模型误差具有较强的鲁棒性。因此,预测控制目前已在多个行业得以应用,如炼油、石化、造纸、冶金、汽车制造、航空和食品加工等,尤其是在复杂工业过程中得到了广泛的应用。在分类上,模型预测控制(MPC)属于先进过程控制,其基本出发点与传统PID控制不同。传统PID控制,是根据过程当前的和过去的输出测量值与设定值之间的偏差来确定当前的控制输入,以达到所要求的性能指标。而预测控制不但利用当前时刻的和过去时刻的偏差值,而且还利用预测模型来预估过程未来的偏差值,以滚动优化确定当前的最优输入策略。因此,从基本思想看,预测控制优于PID控制。2.1、预测控制特点首先,对于复杂的工业对象.由于辨识其最小化模型要花费很大的代价,往往给基于传递函数或状态方程的控制算法带来困难,多变量高维度复杂系统难以建立精确的数学模型工业过程的结构、参数以及环境具有不确定性、时变性、非线性、强耦合,最优控制难以实现。而预测控(完整版)模型预测控制制所需要的模型只强调其预测功能,不苛求其结构形式,从而为系统建模带来了方便。在许多场合下,只需测定对象的阶跃或脉冲响应,便可直接得到预测模型,而不必进一步导出其传递函数或状态方程,这对其工业应用无疑是有吸引力的。更重要的是,预测控制汲取了优化控制的思想,但利用滚动的有限时段优化取代一成不变的全局优化。这虽然在理想情况下不能导致全局最优,但由于实际上不可避免地存在着模型误差和环境十扰,这种建立在实际反馈信息基础上的反复优化,能不断顾及不确定性的影响并及时加以校正,反而要比只依靠模型的一次优化更能适应实际过程,有更强的鲁棒性.所以,预测控制是针对传统最优控制在工业过程中的不适用性而进行修正的一种新型优化控制算法。预测控制建模方便,对模型要求不高滚动优化的策略,具有较好的动态控制效果简单实用的反馈校正,有利于提高控制系统的鲁棒性不增加理论困难,可推广到有约束条件,大纯滞后,非 最小相位及非线性等过程是一种计算机优化控制算法。2。2、预测控制模型预测算法基本工作过程分为:模型预测、滚动优化、反馈校正。预测模型旨在根据被控对象的历史信息和未来输入,预测系统未来响应。预测模型形式有参数模型:如微分方程、传递函数、差分方程等;非参数模型:如脉冲响应、阶跃响应模型等.它的功能是:根据被控对象的历史信息{口(k—j),y(k—j)|j21}和未来输入{口(k+j—1)|j=1,o00,m},预测系统未来响应{y(k+j)|j=1,Oo.,p}o(完整版)模型预测控制(完整版)模型预测控制•基于模型的预测示意I1—控制策略I2T制策略口3—对应于控制策略I1—控制策略I2T制策略口2。3、在线滚动优化模型预测控制是一种优化控制算法,通过某一性能指标的最优来确定未来的控制作用.控制目的是通过某一性能指标的最优,确定未来的控制作用.其优化过程的特点:随时间推移在线优化,反复进行;每一步实现的是静态优化;全局是动态优化。因此滚动优化是按照某个目标函数确定当前和未来控制作用的大小,使这些控制作用将使未来输出预测序列沿某个参考轨迹“最优地”达到期望输出设定值。其优化过程不采用一成不变的全局最优化目标,而是采用滚动式的有限时域优化策略。优化过程不是一次离线进行,而是在线反复进行优化计算,滚动实施,从而使模型失配、时变、干扰等引起的不确定性能及时得到弥补,提高系统的控制效果.其作用如下图所示:(完整版)模型预测控制II一参考轨图/虚线)2—最优预测输出必实线I3—最优控制作用〃2.4、反馈校正模型预测控制是一种闭环控制算法.为了防止模型失配或环境干扰引起控制对理想状态的偏离,预测控制通常不把这些控制作用逐一全部实施,而只是实现本时刻的控制作用。到下采样时刻则需首先检测对象的实际输出,再通过实际测到的输出信息对基于模型的预测输出进行修正,然后再进行新的优化。不断根据系统的实际输出对预测输出值作出修正使滚动优化不但基于模型,而且利用了反馈信息,构成闭环优化.反馈修正的形式有:在保持预测模型不变的基础上,对未来的误差做出预测并加以补偿;根据在线辨识的原理直接修改预测模型。另外,反馈控制要注意模型失配问题,即实际被控过程存在非线性、时变性、不确定性等原因,使基于模型的预测不可能准确地与实际被控过程相符。其示意图如下:(完整版)模型预测控制(完整版)模型预测控制•反馈校正示意图1—A时刻的预测输出 AA+1时刻预测误赛2-k+1时刻实际输出 4-kX时刻校正后的预测输出.C"T).C"T)9伏+1)=久"+D+烈A+D

£(k+1)=nk)=y(lc)-幻k-j2。5、预测控制分类预测控制按照算法来分类,有基于非参数模型的预测控制算法和基于ARMA或CARIMA等输入输出参数化模型预测控制算法.非参数模型算法代表性的算法有模型算法控制MAC和动态矩阵控制DMC。这类算法适合处理开环稳定多变量过程约束间题的拉制。参数模型算法代表性的算法为广义预测控制算法GPC。这类算法可用于开环不稳定、非最小相位和时变时滞等较难控制的对

(完整版)模型预测控制象,并对系绕的时滞和阶次不确定有良好的鲁棒性.但对于多变量系统,算法实施较困难.此外,还有一种不属于这两种之一的算法:滚动时域控制。这种算法由著名的LQ或LQG算法发展而来.对于状态空间模型,用有限时域二次性能指标再加终端约束的滚动时域控制方法来保证系统稳定性。它已拓展至跟踪控制和输出反馈控制.本次实验进行的仿真,是针对难度较大DMC,即动态矩阵控制,下一节将就DMC进行原理介绍.2。6、动态矩阵控制动态矩阵控制基于系统的阶跃响应,适用于稳定的系统,系统的动态特性中具有纯滞后或非最小相位特性都不影响该算法的直接应用.该系统直接以对象的阶跃响应离散系数为模型。动态矩阵利用有限集合来描述系统的动态特性,其集合长度N称为建模时域.这就要求系统是渐近稳定的,保证了模型可用有限的阶跃响应描述。其示意图如下所示:•DMC的预测模型渐近稳定线性被控时象的单位阶跃响应曲线系统的高散脉冲晌应承意图从被控对象的阶跃响应出发,对象动态特性用一系列动态系数a1,a2,…an,即单位阶跃响应在采样时刻的值来描述,其中n为模型时域长度,an为足够接近稳态值的系数模型时

(完整版)模型预测控制域n内,根据线性系统的比例和叠加性质,若某个k—i时刻输入u(k—i),则Au(k-i)对输出丫«)的贡献为" 1'1'" (1)若在所有k—i(1WiWn)时刻同时有输入,则根据叠加原理有(2)利用式(2)得到y(k+j)的p步预测(pWn),文中取p=n:AljKE+j)=\施金"〔&+,一[)+

■I为利用阶跃模型进行预测,把过去的输入对未来的输出贡献分离出来,上式可写为:jJ(Jt=夕5△口(*+,一4+

1-1):④△口(E+/—10+

i-iII山/△uH+j一户)= *后两项即过去输入对输出预测,记为:,中(4+/)=£©AwO+J—总)+

;-jl1的iwS+j—。)(,=1,2中…,声)将上式写成矩阵公式:-1)、K*+2)小矶-1)、K*+2)小矶Au(Jt),

+1)[gl修八小贝5+内_])/*伏+1)、

外(五十2)♦.1为出+力)10(完整版)模型预测控制为了增加系统的动态稳定性和控制输入的可实现性,减少计算量,可将4口向量减少为m维(mVp),则系统输出为:—(3)其中Y为预测向量;A为动态矩阵;y0为预测初值向量。动态矩阵控制以优化确定控制策略,在优化过程中,同时考虑输出跟踪期望值和控制量变化来选择最优化准则。往往不希望控制增量△口变化过于剧烈,这一因素在优化性能指标中加入软约束予以考虑。通过滚动优化,确定出未来凶个控制增量,使未来「个输出预测值尽可能接近期望值,不同采样时刻,优化性能指标不同,但都具有同样的形式,且优化时域随着时间不断地向前推移。系统的预测模型是根据动态响应系数和控制增量来决定的,该算法的控制增量是通过使最优化准则最小化来确定的,以使系统未来每个输出尽可能接近期望值。所以,预测控制的控制策略是在实施了4口收)之后,采集k+1时刻的输出数据,进行新的预测、校正、优化,从而避免在等待m拍控制输入完毕期间,由于干扰等影响造成的失控。因此,优化过程不是一次离线进行的,而是反复在线进行的,其优化目标也是随时间推移的,即在每一时刻都提出一个立足于该时刻的局部优化目标,而不是采用不变的全局优化目标。3、MATLAB仿真实现接下来将对一个一阶时滞系统进行仿真,其传递函数如下:C-BOs%㈤=60^1该部分的仿真共分为四个部分。第一部分对比动态矩阵控制(DMC)与PID控制的效果。第二部分对比动态矩阵控制中优化时域P的变化对控制效果的影响。第三部分对比控制时域M的11

(完整版)模型预测控制变化对控制效果的影响。由于预测控制具有对失配模型也能进行控制的特性,第四部分对比系统失配与未失配时的控制效果。1=13。1、对比预测控制与PID控制效果1=1*Figune1文件⑥编辑⑥章看督I插入(D工具cd空面⑼密口也帮助回na|依|式曳踮检要/□匡i|■国0.2100 200 300 400 500 600 700BOO9001WM)DMC控制阶肌响应输出0.2100 200 300 400 500 600 700BOO9001WM)DMC控制阶肌响应输出210641aa0置三运停图3。1DMC在阶跃响应下的输出12(完整版)模型预测控制(完整版)模型预测控制「WFigure1文件⑥编辑©查看凹插入①工具口空面⑪BD(W)帮助城na|⑨矍/4思|口国|■国-0.20200 400 600BOO10OT12001400160018002000-0.20200 400 600BOO10OT12001400160018002000time(s)186420O.O.O.O.-n0AH.J图3。2PID在阶跃响应下的输出PID控制需要进行参数整定,为使该过程尽量简化步骤,这里采用试凑法进行PID参数整定,试凑法整定PID参数其步骤如下:①比例部分整定:首先将KI和KD取零,令KP由小到大,观察系统响应。直至速度快且有一定范围的超调为止,若响应已满足要求则使用纯比例控制即可。②积分部分整定:在纯比例控制达不到要求时,加入积分作用。将KI由小逐渐增大,这时系统误差会逐步减小直至消除,选择合适的长匕若此时超调增大,可适量减小KP。③微分部分整定:若使用PI控制器达不到要求时,加入微分控制。将KD由小逐渐增大,观察超调和稳定性同时相应调节KP、KI进行试凑。13

(完整版)模型预测控制当今过大时,系统不稳定,经过调节参数,取\=0.3,K=0。5,Kd=140时,输出入图3。2所示。由于系统震荡过大,再次减小比例系数至K=0(完整版)模型预测控制当今过大时,系统不稳定,经过调节参数,取\=0.3,K=0。5,Kd=140时,输出入图3。2所示。由于系统震荡过大,再次减小比例系数至K=0。1,p输出效果如图3.3所示:3Figure1 一。回尸函文件⑥编辑旧查看⑷插入由工具CO 莫因西商口也帮助闿暗日。通|讳|时二聆@旧/,思□因□0-D.200ZOO400 600 &00 100D1200 14001600 18002000time(s)8642O.O.O.O.InaAcLJ图3。3PID控制参数整定后输出效果对比两个仿真结果可知:动态矩阵控制下的输出更加稳定,快速,且无超调。动态矩阵控制(DMC)的控制效果比「出要好。实际上,动态矩阵控制是改进版的PID。P的变化对控制效果的影响优化时域P表示我们对k时刻起未来多少步的输出逼近期望值感兴趣.当采样周期T=20s,控制时域M=2,建模时域N=20,优化时域P分别为6,10和20时的阶跃响应曲线如图3。4所示.14

(完整版)模型预测控制;WFig^ire1文件⑥编辑回查看M插入QJ工具CD受面⑪葡口w帮助⑥0100 200 30-0 0100 200 30-0 400 500 600 700BOOMO1(KK)图二.P不同对系统性能的影响(time/s)213642工0,0.0a图3。4优化时域P的变化对控制效果的影响图中曲线1为P=6时的阶跃响应曲线;曲线2为P=10时的阶跃响应曲线;曲线3为P=20时的阶跃响应曲线.从图中可以看出:增大P,系统的快速性变差,系统的稳定性增强;减小P,系统的快速性变好,稳定性变差。所以「的选择应该兼顾快速性和稳定性.M的变化对控制效果的影响控制时域M表示所要确定的未来控制量的改变数目。当采样周期T=20s,优化时域P=20,建模时域N=20,控制时域M分别取4,2和1时系统的响应曲线如图3.5所示.15

(完整版)模型预测控制西Figure1 一一 三回1M10Ml图3.5控制时域M的变化对控制效果的影响图中曲线1为M=4时的响应曲线;曲线2为M=2时的响应曲线;曲线3为M=1时的响应曲线。从图中可以看出:减小M,系统的快速性变差,系统的稳定性增强;增大M,系统的快速性变好,稳定性变差。增大P和减小M效果类似,所以在选择时,可以先确定M再调整P,并且M小于等于P。3。4、模型失配与未失配时的控制效果对比当模型失配时,其他控制方法很难起到理想的作用,但是预测控制却可以应用于模型失配的情况。其仿真结果如下图3。6所示.16

(完整版)模型预测控制图3。6系统模型失配与未失配时的控制效果对比图中曲线1为未失配时的阶跃响应曲线;曲线2为模型失配时的阶跃响应曲线.从图中可以看出:当模型失配时,DMC控制有一定的超调,快速性下降,但能很快进入稳定状态,控制效果令人满意.所以DMC在形成闭环控制时,对模型失配具有很好的鲁棒性。4、总结现在对预测控制的特点进行总结。首先,对于复杂的工业对象,由于辨识其最小化模型要花费很大的代价,往往给基于传递函数或状态方程的控制算法带来困难.而预测控制所需要的模型只强调其预测功能,不苛求其结构形式,从而为系统建模带来了方便。在许多场合下,只需测17(完整版)模型预测控制定对象的阶跃或脉冲响应,便可直接得到预测模型,而不必进一步导出其传递函数或状态方程,这对其工业应用无疑是有吸引力的。更重要的是,预测控制汲取了优化控制的思想,但利用滚动的有限时段优化取代一成不变的全局优化。这虽然在理想情况下不能导致全局最优,但由于实际上不可避免地存在着模型误差和环境十扰,这种建立在实际反馈信息基础上的反复优化,能不断顾及不确定性的影响并及时加以校正,反而要比只依靠模型的一次优化更能适应实际过程,有更强的鲁棒性。所以,预测控制是针对传统最优控制在工业过程中的不适用性而进行修正的一种新型优化控制算法。5、附录5。1、预测控制与PID控制对比仿真代码5.1。1、预测控制代码g二poly2tfd(1,[601],0,80);%通用传函转换为MPC模型delt=20;%采样周期nt=1;%输出稳定性向量tfinal=1000;%截断时间model二tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型plant=model;%进行模型预测控制器设计p=10;m=2;ywt=[];uwt=1;%设置输入约束和参考轨迹等控制器参数18(完整版)模型预测控制kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算tend=1000;r=1;%仿真时间[y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真t=0:20:1000;%定义自变量t的取值数组plot(t,y);xlabel('DMC控制阶跃响应输出’);ylabel('响应曲线’);grid;5.1。2、PID控制代码%PIDControler不完全微分closeall;ts=20;sys=tf([1],[60,1],'inputdelay',80);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;ud_1=0;19(完整版)模型预测控制y_1=0;y_2=0;y_3=0;error_1=0;ei=0;fork=1:1:100;time(k)=k*ts;rin(k)=1。0;%Linear?model?yout(k)=一den(2)*y_1+num(2)*u_5;D(k)=0。01大rands(1);yout(k)=yout(k)+D(k);error(k)=rin(k)-yout(k);%PID?Controller?with?partly?differential?ei=ei+error(k)*ts;kc=0。1;ki=0.5;TD=140;kd=kc*TD/ts;Tf=180;Q=tf([1],[Tf,1]);%Low?Freq?Signal?Filter??M=2;%M=1不完全微分,?%M=2普通Pid控制!!(完整版)模型预测控制ifM==1;alfa=Tf/(ts+Tf);ud(k)=kd*(1—alfa)*(error(k)-error_1)+alfa大ud_1;u(k)=kc*error(k)+ud(k)+ki*ei;ud_1=ud(k);elseifM==2;%Using?Simple?PIDu(k)=kc*error(k)+kd大(error(k)—error_1)+ki*ei;endifu(k)>=10;u(k)=10;endifu(k)>=10;u(k)=10;endu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;21(完整版)模型预测控制y_1=yout(k);error_1=error(k);endfigure(1);plot(time,rin,’b’,time,yout,'r');xlabel('time(s)');ylabel('rin,yout')5。2、不同P值对比控制效果代码g二poly2tfd(1,[601],0,80);%通用传函转换为MPC模型delt=20;%采样周期nt=1;%输出稳定性向量tfinal=1000;%截断时间model二tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型plant=model;%进行模型预测控制器设计p1=6;p2=10;p3=20;%优化时域m=2;%控制时域ywt=[];口亚t=1;%设置输入约束和参考轨迹等控制器参数kmpc1=mpccon(plant,ywt,uwt,m,p1);%模型预测控制器增益矩阵计算22(完整版)模型预测控制kmpc2=mpccon(plant,ywt,uwt,m,p2);kmpc3=mpccon(plant,ywt,uwt,m,p3);tend=1000;r=1;%仿真时间[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);%模型预测控制仿真[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);t二0:20:1000;%定义自变量t的取值数组plot(t,y1,t,y2,t,y3);legend('1:p=6’,'2:p=10',,3:p=20');xlabel('图二P不同对系统性能的影响(time/s),);ylabel('响应曲线');不同M值对比控制效果代码g=poly2tfd(1,[601],0,80);%通用传函转换为MPC模型delt=20;%采样周期nt=1;%输出稳定性向量tfinal=1000;%截断时间model二tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型plant=model;%进行模型预测控制器设计p=10;23(完整版)模型预测控制m1=4;m2=2;m3=1;ywt二口;皿t二1;%设置输入约束和参考轨迹等控制器参数kmpcl二mpccon(plant,ywt,uwt,m1,p);%模型预测控制器增益矩阵计算kmpc2=mpccon(p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论