您好,欢迎访问三七文档
1.4.1闭环控制系统例1.4还可以说明另一个方面的问题,如果我们仔细地检查这个例子就会发现给定一个时间ki,最优参数ΔU可以通过下式求解:iTskFxRRT1TUΔ其中sTTRR1为设定量变化,FRTT1为在预测控制框架下的状态反馈控制。两项都依赖与系统参数,因此时不变系统的常数矩阵,由于要遵循滚动时域控制原则,我们只选取ΔU在时间ki时的第一部分作为增量控制,因此,29.1,0011impciyiTisTTNikxKkrKkFxkrRRkucΔ其中ky是第一部分的sTTRR1,Kmpc是第一行里的FRTT1。【17页】式(1.29)是线性是不变状态反馈的一个标准形式。状态反馈增量为Kmpc。因此,由广义设计模型:kuBkAxkxΔ1将式(1.29)代入广义系统模型里就可以得到闭环系统;将ki换成k导出闭环等式如下:31.130.11krBKkxBKAkrBKkAxkxympcy这样,闭环系统的特征值可以通过闭环特征方程0detmpcBKAI计算出来。由于矩阵C和A的特殊结构,使得F的最后一列与sR相同,等于T111,所以Ky就等于Kmpc的最后一个元素。指定状态变量向TTmikykxkxΔ,且由Ky的定义,我们可以写成yxmpckkK,其中kx是与kxmΔ有关的反馈增益向量,Ky是与y(k)有关的反馈增益。从而我们可以得到如图(1.3)所示的预测控制系统的闭环方框图,其中1q表示向后移位算子。这个图形表明了具有积分作用的离散模型预测控制(DMPC)的状态反馈结构,其中111q表示离散时间模块。例1.5这个例子将用来检验由例1.2产生的闭环反馈增益矩阵,以及闭环系统在rw=0和rw=10两种情况下的特征值。解:当rw=0时,我们有1011100011TTRKy10800011FRKTTmpc从而,通过计算矩阵A-BKmpc的特征值来计算闭环系统的特征值,通过例1.21.01.018.008.0BA图(1.3)离散时间预测控制系统方块图可以得出7110409.6,1210409.6,大概在复平面的起始位置。当rw=1-时,我们有:2453.011100011TTyRK2453.06939.000011FRKTTmpc由此增益向量得闭环系统的特征值为:0542,08530,02,1j,这表明闭环系统比rw=0时有更慢的动态响应。例1.6设拉普拉斯传递函数描述的连续时间系统如下:2221.0wwsswsG其中w=10。系统的采样间隔为Δt=0.01。在设计参数的选取上检验系统的灵敏度,令Nc=3,Np=20和200;IR5.0。解:我们首先用MATLAB函数(如下所示)来得到连续时间状态空间模型,然后根据接下来的提示1.1获得离散时间状态空间模型。【19页】omega=10;numc=omega^2;denc=[10.1*omegaomega^2];[Ac,Bc,Cc,Dc]=tf2ss(numc,denc)这里,广义离散时间状态空间模型为:kCxkykuBkAxkxΔ)1(,其中,5021.999934.099500.00099.099340.09851.0A,0050.00000.00099.0B,100C。让我们先看一下预测域在解ΔU时的作用。假设在采样时刻k=10,初始条件为x(10)=[0.10.20.3]T。当Np=20时的解为ΔU=[-144.9984-65.47101.203]T,根据滚动域控制规律,状态反馈控制增益为Kmpc=[45.468705.61320.9513],闭环特征值为0.69740.89590.1429j。然而,当Np=200时ΔU=[-645.5885-0.4664629.0276]T。与之前使用的较短的预测域相比较,ΔU发生了显著的变化,同时,状态反馈增益Kmpc=[80.631900.79],闭环特征值为0.9749,0.5207j0.2919。比较研究表明现有的灵敏度与预测域的选取有关。进一步分析,我们可以发现海森矩阵RT的一个函数。例如,当Np=20时,5425.62737.70099.82737.71021.89387.80099.89387.88796.9T条件数K(IT5.0)=49.98。然而,当Np=200时,7473.2348473.2345466.2348473.2343753.2355010.2355466.2345010.2350557.236T条件数K(IT5.0)=1410。在预测域Np增加到200的过程中海森条件数大大增加。较长预测域中海森条件数更大的【20页】原因是引起长短预测域之间不同的数字敏感度。有了短预测控制,闭环预测控制系统不一定是稳定的。通常情况下,这些都被看作闭环系统稳定性和性能的调节参数,在第四章中我们将提出一种新方法,用比较大的预测和控制域来保证闭环系统的稳定。1.4.2MATLAB提示:滚动域控制的实现提示1.3此提示的目的是学习怎样用滚动域控制的方法实现预测控制。设备状态空间模型如下:32.10115.010111kxkykukxkxmmm步骤:1、建立一个新的文件reced.m。2、第一步是定义设备,输入预测域和控制域的值。设备属于双积分器控制系统(1.32)。控制域Nc=4,预测域Np=20。输入下面的程序:Ap=[11;01];Bp=[0.5;1];Cp=[10]Dp=0;Np=20;Nc=4;3、程序调用函数mpcgain.m来产生所需的增益矩阵,同时指定实现滚动域控制的初始条件。初始状态变量为xm=0;初始状态反馈变量为xf=0;设定点信号被设定且模拟信号的值被设置为100。4、继续输入一下程序:[phi_Phi,Phi_F,Phi_R,A-e,B-e,C-e]=mpcgain(Ap,Bp,Cp,Nc,Np);[n,n_in]=size(B_e);xm=[0;0];xf=zeros(n,1);N_sim=100;【21页】r=ones(N_sim,1)u=0;%u(k-1)=0y=0;5、由滚动时域控制原理,在采样时刻kk,ΔU向量用设定点信号r(kk)来计算,状态向量用xf来计算。Δu(kk)取ΔU向量的第一个元素;且u(kk)=u(kk-1)+Δu(k)。加权因子设为0.1。6、继续输入一下代码:forkk=1:N_sim;deltav=inv(Phi_Phi+0.1*eye(Nc,Nc)*(Phi_R*r(kk)_Phi_F*xf));deltau=Deltav(1,1);u=u+delau;u1(kk)=u;y1(kk)=y;7、设备状态和输出都是用控制信号的产生来模拟的;反馈机构中的状态变量用xf来校正。8、继续输入下面的程序:xm_old=xm;xm=Ap*xm+Bp*u;y=Cp*xmxf=[xm_xm_old;y]end9、输入和输出信号与采样信号独立划分。10、继续输入下面的程序:k=0:(N_sim_1);figuresubplot(211)plot(k,y)xlabel(‘SamplingInstant’)legend(‘Output’)subplot(212)plot(k,u1)xlabel(‘SampleInstant’)legend(‘control’)11、将以上程序保存在同名函数的路径下,运行程序。12、将设计中的rw变成2并观察得出闭环响应速度变慢。13、设置不同的Ap,Bp,Cp值建立自己的设备模型,并用不同的预测和控制域进行验证。【22页】
本文标题:预测控制翻译1.4
链接地址:https://www.777doc.com/doc-7224056 .html