预测控制翻译1.4

更新时间:2023-10-22 08:57:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.4.1 闭环控制系统

例1.4还可以说明另一个方面的问题,如果我们仔细地检查这个例子就会发现给定一个时间ki,最优参数ΔU可以通过下式求解:

ΔU??T??R?1?????1TRs??TFx?ki?

?其中??T??R??TRs为设定量变化,??T??R?TF为在预测控制框架下的状态

?1??反馈控制。两项都依赖与系统参数,因此时不变系统的常数矩阵,由于要遵循滚动时域控制原则,我们只选取ΔU在时间ki时的第一部分作为增量控制,因此,

Nc?????Δu?ki??10?0?T??R?????1TRsr?ki???TFx?ki???1.29??Kyr?ki??Kmpcx?ki?,

其中ky是第一部分的????R??T?1TR,Kmpc是第一行里的????R?T?1s?TF。

【17页】

式(1.29)是线性是不变状态反馈的一个标准形式。状态反馈增量为Kmpc。因此,由广义设计模型:

x?k?1??Ax?k??BΔu?k?

将式(1.29)代入广义系统模型里就可以得到闭环系统;将ki换成k导出闭环等式如下:

x?k?1??Ax?k??BKyr?k???A?BKmpc?x?k??BKyr?k??1.30??1.31?

这样,闭环系统的特征值可以通过闭环特征方程det??I??A?BKmpc???0计算出来。由于矩阵C和A的特殊结构,使得F的最后一列与Rs相同,等于?11?1?,

T所以Ky就等于Kmpc的最后一个元素。指定状态变量向x?ki??Δxm?k?且由Ky的定义,我们可以写成Kmpc?kx?Ty?k?,

?T?ky,其中kx是与Δxm?k?有关的反馈

?增益向量,Ky是与y(k)有关的反馈增益。从而我们可以得到如图(1.3)所示的预测控制系统的闭环方框图,其中q?1表示向后移位算子。这个图形表明了具有

积分作用的离散模型预测控制(DMPC)的状态反馈结构,其中时间模块。

1表示离散?11?q 例1.5 这个例子将用来检验由例1.2产生的闭环反馈增益矩阵,以及闭环系统在rw=0和rw=10两种情况下的特征值。

解:当rw=0时,我们有

??1???????1?T1?T Ky??1000????R??????10

???????????1????Kmpc??1000??T??R????F???8?1T10?

从而,通过计算矩阵A-BKmpc的特征值来计算闭环系统的特征值,通过例1.2

?0.80?A????0.81?

?0.1?B???

?0.1?

图(1.3)离散时间预测控制系统方块图

可以得出?1??6.409?10?7,?2?6.409?10?1,大概在复平面的起始位置。

当rw=1-时,我们有:

??1???????1?T1?TKy??1000????R??????0.2453

????????1???????Kmpc??1000??T??R????F???0.6939?1T0.2453?

由此增益向量得闭环系统的特征值为:?1,2?0,8530?j0,0542,这表明闭环系统比rw=0时有更慢的动态响应。

例1.6 设拉普拉斯传递函数描述的连续时间系统如下:

w2G?s??2

s?0.1ws?w2其中w=10。系统的采样间隔为Δt=0.01。在设计参数的选取上检验系统的灵敏度,令Nc=3,Np=20和200;R?0.5I。

解:我们首先用MATLAB函数(如下所示)来得到连续时间状态空间模型,然后根据接下来的提示1.1获得离散时间状态空间模型。 【19页】 omega=10;

numc=omega^2;

denc =[1 0.1*omega omega^2]; [Ac ,Bc,Cc,Dc]=tf2ss(numc,denc)

这里,广义离散时间状态空间模型为:

x(k?1)?Ax?k??BΔu?k?, y?k??Cx?k?

?0.9851?0.99340??0.0099?其中,A??0.00990.99500?,B??0.0000?,C??001?。

???????0.993499.5021???0.0050??让我们先看一下预测域在解ΔU时的作用。假设在采样时刻k=10,初始条件

为x(10)=[0.1 0.2 0.3]T。当Np=20时的解为ΔU=[-144.9984 -65.4710 1.203]T,根据滚动域控制规律,状态反馈控制增益为Kmpc=[45.468 705.6132 0.9513],闭环特征值为0.6974 0.8959?0.1429j。然而,当Np=200时ΔU=[-645.5885 -0.4664 629.0276]T。与之前使用的较短的预测域相比较,ΔU发生了显著的变化,同时,状态反馈增益Kmpc=[80.6 3190 0.79],闭环特征值为0.9749,0.5207?j0.2919。比较研究表明现有的灵敏度与预测域的选取有关。进一步分析,我们可以发现海森矩阵?T??R的一个函数。例如,当Np=20时,

?9.87968.93878.0099?? ?T???8.93878.10217.2737????8.00997.27376.5425??条件数K(?T??0.5I)=49.98 。然而,当Np=200时,

?236.0557235.5010234.5466?? ?T???235.5010235.3753234.8473?????234.5466234.8473234.7473?条件数K(?T??0.5I)=1410 。在预测域Np增加到200的过程中海森条件数大大增加。较长预测域中海森条件数更大的【20页】原因是引起长短预测域之间不同的数字敏感度。

有了短预测控制,闭环预测控制系统不一定是稳定的。通常情况下,这些都被看作闭环系统稳定性和性能的调节参数,在第四章中我们将提出一种新方法,用比较大的预测和控制域来保证闭环系统的稳定。 1.4.2 MATLAB提示:滚动域控制的实现

提示1.3 此提示的目的是学习怎样用滚动域控制的方法实现预测控制。设备状态空间模型如下:

?11??0.5???xm?k?1???xk?u?k?m????01??1?y?k???10?xm?k?

?1.32? 步骤:

1、建立一个新的文件reced.m。

2、第一步是定义设备,输入预测域和控制域的值。设备属于双积分器控制系统(1.32)。控制域Nc=4,预测域Np=20。输入下面的程序:

Ap=[1 1;0 1]; Bp=[0.5;1]; Cp=[1 0] 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)=0 y=0;

5、由滚动时域控制原理,在采样时刻kk,ΔU向量用设定点信号r(kk)来计算,状态向量用xf来计算。Δu(kk)取ΔU向量的第一个元素;且u(kk)=u(kk-1)+Δu(k)。加权因子设为0.1 。

6、继续输入一下代码: for kk=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*xm

xf=[xm_xm_old;y] end

9、输入和输出信号与采样信号独立划分。 10、继续输入下面的程序: k=0:(N_sim_1); figure

subplot(2 1 1) plot(k,y)

xlabel(‘Sampling Instant’) legend(‘Output’) subplot(2 1 2) plot(k,u1)

xlabel(‘Sample Instant’) legend(‘control’)

11、将以上程序保存在同名函数的路径下,运行程序。 12、将设计中的rw变成2并观察得出闭环响应速度变慢。

13、设置不同的Ap,Bp,Cp值建立自己的设备模型,并用不同的预测和控制域进行验证。 【22页】

本文来源:https://www.bwwdw.com/article/ur7f.html

Top