先进控制技术及应用.docx

上传人:b****3 文档编号:5330656 上传时间:2023-05-08 格式:DOCX 页数:13 大小:199.91KB
下载 相关 举报
先进控制技术及应用.docx_第1页
第1页 / 共13页
先进控制技术及应用.docx_第2页
第2页 / 共13页
先进控制技术及应用.docx_第3页
第3页 / 共13页
先进控制技术及应用.docx_第4页
第4页 / 共13页
先进控制技术及应用.docx_第5页
第5页 / 共13页
先进控制技术及应用.docx_第6页
第6页 / 共13页
先进控制技术及应用.docx_第7页
第7页 / 共13页
先进控制技术及应用.docx_第8页
第8页 / 共13页
先进控制技术及应用.docx_第9页
第9页 / 共13页
先进控制技术及应用.docx_第10页
第10页 / 共13页
先进控制技术及应用.docx_第11页
第11页 / 共13页
先进控制技术及应用.docx_第12页
第12页 / 共13页
先进控制技术及应用.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

先进控制技术及应用.docx

《先进控制技术及应用.docx》由会员分享,可在线阅读,更多相关《先进控制技术及应用.docx(13页珍藏版)》请在冰点文库上搜索。

先进控制技术及应用.docx

先进控制技术及应用

先进控制技术及应用

1.前言

工业生产的过程是复杂的,建立起来的模型也是不完善的。

即使是理论非常复杂的现代控制理论,其效果也往往不尽人意,甚至在一些方面还不及传统的PID控制。

20世纪70年代,人们除了加强对生产过程的建模、系统辨识、自适应控制等方面的研究外,开始打破传统的控制思想,试图面向工业开发出一种对各种模型要求低、在线计算方便、控制综合效果好的新型算法。

在这样的背景下,预测控制的一种,也就是动态矩阵控制(DMC)首先在法国的工业控制中得到应用。

因此预测控制不是某种统一理论的产物,而是在工业实践中逐渐发展起来的。

预测控制中比较常见的三种算法是模型算法控制(MAC),动态矩阵控制(DMC)以及广义预测控制。

本篇分别采用动态矩阵控制(DMC)、模型算法控制(MAC)进行仿真,算法稳定在消除稳态余差方面非常有效。

2、控制系统设计方案

2.1动态矩阵控制(DMC)方案设计图

动态矩阵控制是基于系统阶跃响应模型的算法,隶属于预测控制的范畴。

它的原理结构图如下图2-1所示:

图2-1动态矩阵控制原理结构图

 

2.2模型算法控制(MAC)方案设计图

模型算法控制(MAC)由称模型预测启发控制(MPHC),与MAC相同也适用于渐进稳定的线性对象,但其设计前提不是对象的阶跃响应而是其脉冲响应。

它的原理结构图如下图2-2所示:

图2-2模型算法控制原理结构图

3、模型建立

3.1被控对象模型及其稳定性分析

被控对象模型为

(1)

化成s域,g(s)=0.2713/(s+0.9),很显然,这个系统是渐进稳定的系统。

因此该对象适用于DMC算法和MAC算法。

3.2MAC算法仿真

3.2.1预测模型

该被控对象是一个渐近稳定的对象,预测模型表示为:

,j=1,2,3,……,P.

(2)

这一模型可用来预测对象在未来时刻的输出值,其中y的下标m表示模型,也称为内部模型。

(2)式也可写成矩阵形式为:

 

预测误差为

3.2.2参考轨迹

在k时刻的参考轨迹可由其在未来采样时刻的值来描述,取一阶指数变化的形式,可写作:

j=1,2,3…(3)

3.2.3MATLAB编程实现

MATLAB代码见<附1>

3.2.3程序流程图及仿真结果

其程序的流程框图如图3-1所示:

图3-1程序流程图

仿真结果如图3-2所示:

图3-2仿真结果

3.3DMC算法仿真

3.3.1预测模型

在k时刻,假定控制作用保持不变时对未来个时刻输出的初始预测值为

(3-1)

M个连续控制增量△u(k),△u(k+1),…,△u(k+M-1)作用时,未来时刻输出值:

(3-2)

3.3.2滚动优化

在每一时刻k,要确定从该时刻起的M个控制作用增量使被控对象在起作用下未来P个时刻的输出预测值尽可能接近给定的期望值w(k+i)(i=1,2,。

,P).k时刻优化性能指标可取为

(3-3)

式中,qi,rj是加权系数,它们分别表示对跟踪误差及控制量变化的抑制。

3.3.3反馈校正

当k时刻把控制量u(k)施加给对象时,相当于在对象输入端加上了一个幅值为△u(k)的阶跃,利用预测模型式可算出在去作用下未来时刻的输出预测值

(3-4)

下一时刻检测对象的实际输出与模型预测算出的输出相比较,构成输出误差:

(3-5)

整个控制就是以结合反馈校正的滚动优化反复地在线进行,其算法结构如图3-3所示:

图3-3DMC算法结构示意图

3.3.4MATLAB编程实现

MATLAB代码见<附2>

3.3.5仿真结果

结合matlab中simulink仿真框图如图3-4和程序对对象进行仿真,得出的结果图3-5所示:

图3-4simulink仿真框图

图3-4仿真结果

4、总结

本文主要工作是利用DMC算法和MAC算法对被控对象进行控制并采用MATLAB编程仿真。

本次任务涉及的内容包括了先进控制理论、预测控制理论、预测控制算法的仿真、控制算法在MATLAB中的实现等。

给定的被控对象在利用DMC算法和MAC算法的预测控制方式下都取得了良好的控制效果、鲁棒性,有效地克服了系统的非线性。

 

参考文献

【1】方康玲.过程控制技术及其MATLAB实现(第2版)[M].北京:

电子工业出版社,2013

【2】俞金寿.工业过程先进控制技术[M].上海:

华东理工大学出版社,2008

【3】齐蒙,石红瑞.预测控制及其应用研究[D].2013

(1).

 

附1:

MAC程序代码

clc

clear

num=[0.2713];

den=[10.9];

numm=[0.2713];

denm=[11];%定义对象及模型的传递函数

n=40;

t1=0:

0.1:

n/10;

g=1*impulse(num,den,t1)';

gm=1*impulse(numm,denm,t1)';

fori=1:

n

g(i)=g(i+1);

end

fori=1:

n

gm(i)=gm(i+1);

end

a=g;am=gm;

N=40;

p=15;

M=1;

m=M;

G=zeros(p,m);

fori=1:

p

forj=1:

m

ifi==j

G(i,j)=g

(1);

elseifi>j

G(i,j)=g(1+i-j);

elseG(i,j)=0;

end

end

end

ifi>m

s=0;

fork=1:

(i-m+1)

s=s+g(k);

G(i,m)=s;

end

end

end

F=zeros(p,n-1);

fori=1:

p

k=1;

forj=(n-1):

-1:

1

ifi==j

F(i,j)=g(n);

elseifi>j

F(i,j)=0;

elseF(i,j)=g(i+k);

end

end

k=k+1;

end

end

R=1.0*eye(m);

Q=0.9*eye(p);

H=0.3*ones(p,1);%定义各系数矩阵

e=zeros(4*N,4);

y=e;ym=y;

U=zeros(4*N,4);

w=1;

Yr=zeros(4*N,4);

b=[0.1;0.4;0.6;0.9];

fori=1:

4

fork=N+1:

4*N

y(k,i)=a(1:

N)*U(k-1:

-1:

k-N,i);%求解对象输出

ym(k,i)=am(1:

N)*U(k-1:

-1:

k-N,i);%求解模型输出

e(k)=y(k)-ym(k);

forj=1:

p

Yr(k+j,i)=b(i)^(j)*y(k)+(1-b(i)^(j))*w;

end

dt=[1zeros(1,m-1)]*inv(G'*Q*G+R)*G'*Q;

U(k,i)=dt*(Yr(k+1:

k+p,i)-F*U(k-N+1:

k-1,i)-H*e(k));

end

end

t=0:

0.1:

11.9;

subplot(2,1,1);

plot(t,y(N:

N+119,1))

holdon;

plot(t,y(N:

N+119,2))

holdon

plot(t,y(N:

N+119,3))

holdon;

plot(t,y(N:

N+119,4))

%t,y(N:

N+119,3),t,y(N:

N+119,4),t,Yr(N:

N+119,1),t,w*ones(1,120));

%gridon

%legend('输出1','输出2','输出3','输出4','柔化曲线','期望曲线');

%title('PlotofMAC');

%plot(U);

%gridon;

 

附2DMC程序代码

%DMC控制算法

%DMC.m动态矩阵控制(DMC)

num=0.2713;

den=[1-0.83510000];

G=tf(num,den,’Ts’.0.4);%连续系统

Ts=0.4;%采样时间Ts

G=c2d(G,Ts);%被控对象离散化

[num,den,]=tfdata(G,'v');

N=60;%建模时域N

[a]=step(G,1*Ts:

Ts:

N*Ts);%计算模型向量a

M=2;%控制时域

P=15;%优化时域

forj=1:

M

fori=1:

P-j+1

A(i+j-1,j)=a(i,1);

end

end%动态矩阵A

Q=1*eye(P);%误差权矩阵Q

R=1*eye(M);%控制权矩阵R

C=[1,zeros(1,M-1)];%取首元素向量C1*M

E=[1,zeros(1,N-1)];%取首元素向量E1*N

d=C*(A'*Q*A+R)^(-1)*A'*Q;%控制向量d=[d1d2...dp]

h=1*ones(1,N);%校正向量h(N维列向量)

I=[eye(P,P),zeros(P,N-P)];%Yp0=I*YNo

S=[[zeros(N-1,1)eye(N-1)];[zeros(1,N-1),1]];%N*N移位阵S

sim('DMCsimulink')%运行siumlink文件

subplot(2,1,1);%图形显示

plot(y,'LineWidth',2);

holdon;

plot(w,':

r','LineWidth',2);

xlabel('\fontsize{15}k');

ylabel('\fontsize{15}y,w');

legend('输出值','设定值')

gridon;

subplot(2,1,2);

plot(u,'g','LineWidth',2);

xlabel('\fontsize{15}k');

ylabel('\fontsize{15}u');

gridon;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2