智能控制指导作业

更新时间:2023-11-12 16:23:01 阅读量: 教育文库 文档下载

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

语言变量X,Y,Z的隶属度函数.

论域 语 言值 -4 -3 -2 -1 0 1 2 3 4 NB NS ZO PS PB

模糊控制规则表 Z Y NB NS ZO PS PB X NB PB PB PS PS ZO NS PB PS PS ZO ZO ZO PS PS ZO ZO NS PS PS ZO ZO NS NS PB ZO ZO NS NS NB 1 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0 0 0 0.5 0.5 0 0 0 0 0 1 0 0 0 0.5 0.5 0 0 0 0 1 设计带有纯延迟的一阶惯性环节(假设T=6,?=0.02):

e0.02s G(s)=

1?6s的模糊控制器,观察仿真结果。

编程如下:

%被控系统建模 num=1; den=[6,1];

[a1,b,c,d]=tf2ss(num,den);%传递函数转换到状态空间 x=[0];

%系统参数

T=0.01;h=T;td=0.02;N=1000; nd=td/T;%系统纯延迟 R=ones(1,N);%参考输入

%定义输入和输出变量及隶属度函数

a=newfis('Simple');

a=addvar(a,'input','e',[-4 4]);

a=addmf(a,'input',1,'NB','trimf',[-4,-4,-2]); a=addmf(a,'input',1,'NS','trimf',[-4,-2,0]); a=addmf(a,'input',1,'ZO','trimf',[-2,0,2]); a=addmf(a,'input',1,'PS','trimf',[0,2,4]); a=addmf(a,'input',1,'PB','trimf',[2,4,4]); a=addvar(a,'input','de',[-4 4]);

a=addmf(a,'input',2,'NB','trimf',[-4,-4,-2]); a=addmf(a,'input',2,'NS','trimf',[-4,-2,0]); a=addmf(a,'input',2,'ZO','trimf',[-2,0,2]); a=addmf(a,'input',2,'PS','trimf',[0,2,4]); a=addmf(a,'input',2,'PB','trimf',[2,4,4]); a=addvar(a,'output','u',[-4 4]);

a=addmf(a,'output',1,'NB','trimf',[-4,-4,-2]); a=addmf(a,'output',1,'NS','trimf',[-4,-2,0]); a=addmf(a,'output',1,'ZO','trimf',[-2,0,2]); a=addmf(a,'output',1,'PS','trimf',[0,2,4]); a=addmf(a,'output',1,'PB','trimf',[2,4,4]); %模糊规则矩阵 rr=[5 5 4 4 3 5 4 4 3 3 4 4 3 3 2 4 3 3 2 2 3 3 2 2 1];

r1=zeros(prod(size(rr)),3);k=1; for i=1:size(rr,1) for j=1:size(rr,2)

r1(k,:)=[i,j,rr(i,j)]; k=k+1; end end

[r,s]=size(r1); r2=ones(r,2); rulelist=[r1,r2];

a=addrule(a,rulelist);

%采用模糊控制器的二阶系统仿真 e=0;de=0;

ke=30;kd=5;ku=1; for k=1:N

%输入变量变换至论域 e1=ke*e; de1=kd*de; if e1>=4

e1=4; elseif e1<=-4 e1=-4; end

if de1>=4 de1=4; elseif de1<=-4 de1=-4; end

%模糊推理,计算出被控对象的控制输入 in=[e1 de1];

u=ku*evalfis(in,a); uu(1,k)=u; if k<=nd u=0; else

u=uu(1,k-nd); end

%控制作用于被控系统,计算系统输出;利用龙格—库塔法进行系统仿真 k0=a1*x+b*u;

k1=a1*(x+h*k0/2)+b*u; k2=a1*(x+h*k1/2)+b*u; k3=a1*(x+h*k2)+b*u;

x=x+(k0+2*k1+2*k2+k3)*h/6; y=c*x+d*u; yy(1,k)=y;

%计算系统输出误差及误差导数 e1=e;e=y-R(1,k); de=(e-e1)/T; end

%典型二阶环节的模糊控制输出曲线 kk=[1:N]*T; figure(1);

plot(kk,R,'k',kk,yy,'r');grid on

xlabel('时间(秒)');ylabel('输出');

智能控制大作业

姓名: 何成东 学号: S0703234 专业: 导航、制导与控制

模糊控制器部分大作业

已知G?5?s?1??s2?2s?3?e?0.5s,分别设计PID控制与模糊控制,使系统达

到较好性能,并比较两种方法的结果。

r _ePID/FCG(s)y

具体要求:

1、分别采用fuzzy工具箱和编程实现模糊控制器。 2、分析量化因子和比例因子对模糊控制器控制性能的影响。

3、分析系统在模糊控制和PID控制作用下的抗干扰能力(加噪声干扰)、抗非线性能力(加死区和饱和特性)以及抗时滞的能力(对时滞大小加以改变)。

4、讨论系统在模糊控制和PID控制作用下的时间参数和结构变化下的抗干扰能力。

模糊控制部分大作业旨在利用模糊控制器和PID控制器实现对已知系统的控制,分别得到较好的控制效果。然后改变系统的参数、结构或者加入非线性环节,以验证模糊控制器的鲁棒性能。以下是作业过程:

1、PID控制

考虑到系统中存在纯延迟环节,使得系统的稳定性大大降低。如果系统的反馈信号没有延迟,系统的响应特性将会得到很好的改善。因此,对于存在纯滞后环节的系统,特别是大延迟过程,一般采用Smith预估控制,即将纯滞后补偿模型与PID控制器并接。本题中,延迟环节的时间常数不是很大,仅为0.2,因此基本上不会影响系统的稳定,采用常规PID控制也基本可以达到很好的控制效果。常规PID控制框图如图1-1(相应文件:PID.mdl)

PIDStepPID ControllerrTo Workspace5s+1Transfer Fcn12s +2s+3Transfer Fcn1uTo Workspace1TransportDelayScopecTo Workspace2

图1-1 常规PID控制框图

PID参数选取:Kp?0.38,Ki?0.285,Kd?0.1 常规PID控制的单位阶跃响应曲线:

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

Top