云南大学信息学院学生实验报告课程名称:现代控制理论实验题目:预测控制小组成员:李博(12018000748)金蒋彪(12018000747)专业:2018级检测技术与自动化专业1、实验目的 (3)2、实验原理 (3)2.1、预测控制特点 (3)2.2、预测控制模型 (4)2.3、在线滚动优化 (5)2.4、反馈校正 (5)2.5、预测控制分类 (6)2.6、动态矩阵控制 (7)3、MATLAB仿真实现 (9)3.1、对比预测控制与PID控制效果 (9)3.2、P的变化对控制效果的影响 (12)3.3、M的变化对控制效果的影响 (13)3.4、模型失配与未失配时的控制效果对比 (14)4、总结 (15)5、附录 (16)5.1、预测控制与PID控制对比仿真代码 (16)5.1.1、预测控制代码 (16)5.1.2、PID控制代码 (17)5.2、不同P值对比控制效果代码 (19)5.3、不同M值对比控制效果代码 (20)5.4、模型失配与未失配对比代码 (20)1、实验目的(1)、通过对预测控制原理的学习,掌握预测控制的知识点。
(2)、通过对动态矩阵控制(DMC)的MATLAB仿真,发现其对直接处理具有纯滞后、大惯性的对象,有良好的跟踪性和较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来获得较好的控制效果。
(3)、了解matlab编程。
2、实验原理模型预测控制(Model Predictive Control,MPC)是20世纪70年代提出的一种计算机控制算法,最早应用于工业过程控制领域。
预测控制的优点是对数学模型要求不高,能直接处理具有纯滞后的过程,具有良好的跟踪性能和较强的抗干扰能力,对模型误差具有较强的鲁棒性。
因此,预测控制目前已在多个行业得以应用,如炼油、石化、造纸、冶金、汽车制造、航空和食品加工等,尤其是在复杂工业过程中得到了广泛的应用。
在分类上,模型预测控制(MPC)属于先进过程控制,其基本出发点与传统PID控制不同。
传统PID控制,是根据过程当前的和过去的输出测量值与设定值之间的偏差来确定当前的控制输入,以达到所要求的性能指标。
而预测控制不但利用当前时刻的和过去时刻的偏差值,而且还利用预测模型来预估过程未来的偏差值,以滚动优化确定当前的最优输入策略。
因此,从基本思想看,预测控制优于PID控制。
2.1、预测控制特点首先,对于复杂的工业对象。
由于辨识其最小化模型要花费很大的代价,往往给基于传递函数或状态方程的控制算法带来困难,多变量高维度复杂系统难以建立精确的数学模型工业过程的结构、参数以及环境具有不确定性、时变性、非线性、强耦合,最优控制难以实现。
而预测控制所需要的模型只强调其预测功能,不苛求其结构形式,从而为系统建模带来了方便。
在许多场合下,只需测定对象的阶跃或脉冲响应,便可直接得到预测模型,而不必进一步导出其传递函数或状态方程,这对其工业应用无疑是有吸引力的。
更重要的是,预测控制汲取了优化控制的思想,但利用滚动的有限时段优化取代一成不变的全局优化。
这虽然在理想情况下不能导致全局最优,但由于实际上不可避免地存在着模型误差和环境十扰,这种建立在实际反馈信息基础上的反复优化,能不断顾及不确定性的影响并及时加以校正,反而要比只依靠模型的一次优化更能适应实际过程,有更强的鲁棒性。
所以,预测控制是针对传统最优控制在工业过程中的不适用性而进行修正的一种新型优化控制算法。
预测控制建模方便,对模型要求不高滚动优化的策略,具有较好的动态控制效果简单实用的反馈校正,有利于提高控制系统的鲁棒性不增加理论困难,可推广到有约束条件,大纯滞后,非最小相位及非线性等过程是一种计算机优化控制算法。
2.2、预测控制模型预测算法基本工作过程分为:模型预测、滚动优化、反馈校正。
预测模型旨在根据被控对象的历史信息和未来输入,预测系统未来响应。
预测模型形式有参数模型:如微分方程、传递函数、差分方程等;非参数模型:如脉冲响应、阶跃响应模型等。
它的功能是:根据被控对象的历史信息{u(k-j),y(k-j) | j≥1}和未来输入{u(k+j-1)| j=1,...,m},预测系统未来响应{y(k+j)| j=1,...,p}。
2.3、在线滚动优化模型预测控制是一种优化控制算法,通过某一性能指标的最优来确定未来的控制作用。
控制目的是通过某一性能指标的最优,确定未来的控制作用。
其优化过程的特点:随时间推移在线优化,反复进行;每一步实现的是静态优化;全局是动态优化。
因此滚动优化是按照某个目标函数确定当前和未来控制作用的大小,使这些控制作用将使未来输出预测序列沿某个参考轨迹“最优地”达到期望输出设定值。
其优化过程不采用一成不变的全局最优化目标,而是采用滚动式的有限时域优化策略。
优化过程不是一次离线进行,而是在线反复进行优化计算,滚动实施,从而使模型失配、时变、干扰等引起的不确定性能及时得到弥补,提高系统的控制效果。
其作用如下图所示:2.4、反馈校正模型预测控制是一种闭环控制算法。
为了防止模型失配或环境干扰引起控制对理想状态的偏离,预测控制通常不把这些控制作用逐一全部实施,而只是实现本时刻的控制作用。
到下采样时刻则需首先检测对象的实际输出,再通过实际测到的输出信息对基于模型的预测输出进行修正,然后再进行新的优化。
不断根据系统的实际输出对预测输出值作出修正使滚动优化不但基于模型,而且利用了反馈信息,构成闭环优化。
反馈修正的形式有:在保持预测模型不变的基础上,对未来的误差做出预测并加以补偿;根据在线辨识的原理直接修改预测模型。
另外,反馈控制要注意模型失配问题,即实际被控过程存在非线性、时变性、不确定性等原因,使基于模型的预测不可能准确地与实际被控过程相符。
其示意图如下:2.5、预测控制分类预测控制按照算法来分类,有基于非参数模型的预测控制算法和基于ARMA 或CARIMA等输入输出参数化模型预测控制算法。
非参数模型算法代表性的算法有模型算法控制MAC和动态矩阵控制DMC。
这类算法适合处理开环稳定多变量过程约束间题的拉制。
参数模型算法代表性的算法为广义预测控制算法GPC。
这类算法可用于开环不稳定、非最小相位和时变时滞等较难控制的对象,并对系绕的时滞和阶次不确定有良好的鲁棒性。
但对于多变量系统,算法实施较困难。
此外,还有一种不属于这两种之一的算法:滚动时域控制。
这种算法由著名的LQ或LQG算法发展而来。
对于状态空间模型,用有限时域二次性能指标再加终端约束的滚动时域控制方法来保证系统稳定性。
它已拓展至跟踪控制和输出反馈控制。
本次实验进行的仿真,是针对难度较大DMC,即动态矩阵控制,下一节将就DMC进行原理介绍。
2.6、动态矩阵控制动态矩阵控制基于系统的阶跃响应,适用于稳定的系统,系统的动态特性中具有纯滞后或非最小相位特性都不影响该算法的直接应用。
该系统直接以对象的阶跃响应离散系数为模型。
动态矩阵利用有限集合来描述系统的动态特性,其集合长度N称为建模时域。
这就要求系统是渐近稳定的,保证了模型可用有限的阶跃响应描述。
其示意图如下所示:从被控对象的阶跃响应出发,对象动态特性用一系列动态系数a1,a2,…an,即单位阶跃响应在采样时刻的值来描述,其中n 为模型时域长度,an为足够接近稳态值的系数模型时域 n 内,根据线性系统的比例和叠加性质,若某个k -i 时刻输入 u(k -i),则 Δu(k -i)对输出y(k)的贡献为若在所有 k -i (1≤ i ≤ n )时刻同时有输入,则根据叠加原理有 y(k)=∑a i △u (k −i )+a n △u(k −n)n−1i=1 (2) 利用式(2)得到y(k+j)的p步预测(p≤n),文中取p=n :为利用阶跃模型进行预测,把过去的输入对未来的输出贡献分离出来,上式可写为:后两项即过去输入对输出预测,记为:将上式写成矩阵公式:为了增加系统的动态稳定性和控制输入的可实现性,减少计算量,可将Δu向量减少为m维(m<p),则系统输出为:Y=A△u+y0(3)其中Y为预测向量;A为动态矩阵;y0为预测初值向量。
动态矩阵控制以优化确定控制策略,在优化过程中,同时考虑输出跟踪期望值和控制量变化来选择最优化准则。
往往不希望控制增量Δu变化过于剧烈,这一因素在优化性能指标中加入软约束予以考虑。
通过滚动优化,确定出未来M个控制增量,使未来P个输出预测值尽可能接近期望值,不同采样时刻,优化性能指标不同,但都具有同样的形式,且优化时域随着时间不断地向前推移。
系统的预测模型是根据动态响应系数和控制增量来决定的,该算法的控制增量是通过使最优化准则最小化来确定的,以使系统未来每个输出尽可能接近期望值。
所以,预测控制的控制策略是在实施了△u(k)之后,采集k+1时刻的输出数据,进行新的预测、校正、优化,从而避免在等待m拍控制输入完毕期间,由于干扰等影响造成的失控。
因此,优化过程不是一次离线进行的,而是反复在线进行的,其优化目标也是随时间推移的,即在每一时刻都提出一个立足于该时刻的局部优化目标,而不是采用不变的全局优化目标。
3、MATLAB仿真实现接下来将对一个一阶时滞系统进行仿真,其传递函数如下:G p(S)=e−80s 60s+1该部分的仿真共分为四个部分。
第一部分对比动态矩阵控制(DMC)与PID 控制的效果。
第二部分对比动态矩阵控制中优化时域P的变化对控制效果的影响。
第三部分对比控制时域M的变化对控制效果的影响。
由于预测控制具有对失配模型也能进行控制的特性,第四部分对比系统失配与未失配时的控制效果。
3.1、对比预测控制与PID控制效果图3.1 DMC在阶跃响应下的输出图3.2 PID在阶跃响应下的输出PID控制需要进行参数整定,为使该过程尽量简化步骤,这里采用试凑法进行PID参数整定,试凑法整定PID参数其步骤如下:①比例部分整定:首先将KI和KD取零,令KP由小到大,观察系统响应。
直至速度快且有一定范围的超调为止,若响应已满足要求则使用纯比例控制即可。
②积分部分整定:在纯比例控制达不到要求时,加入积分作用。
将KI由小逐渐增大,这时系统误差会逐步减小直至消除,选择合适的KI,若此时超调增大,可适量减小KP。
③微分部分整定:若使用PI控制器达不到要求时,加入微分控制。
将KD由小逐渐增大,观察超调和稳定性同时相应调节KP 、KI进行试凑。
当K p过大时,系统不稳定,经过调节参数,取K p=0.3,K i=0.5,K d=140时,输出入图3.2所示。
由于系统震荡过大,再次减小比例系数至K p=0.1,输出效果如图3.3所示:图3.3 PID控制参数整定后输出效果对比两个仿真结果可知:动态矩阵控制下的输出更加稳定,快速,且无超调。
动态矩阵控制(DMC)的控制效果比PID要好。