智能控制技术实验报告..doc
文本预览下载声明
《智能控制技术》
实 验 报 告 书
学院:
专业:
学号:
姓名:
实验一:模糊控制与传统PID控制的性能比较
一、实验目的
通过本实验的学习,使学生了解传统PID控制、模糊控制等基本知识,掌握传统PID控制器设计、模糊控制器设计等知识,训练学生设计控制器的能力,培养他们利用MATLAB进行仿真的技能,为今后继续模糊控制理论研究以及控制仿真等学习奠定基础。
二、实验内容
本实验主要是设计一个典型环节的传统PID控制器以及模糊控制器,并对他们的控制性能进行比较。主要涉及自控原理、计算机仿真、智能控制、模糊控制等知识。
通常的工业过程可以等效成二阶系统加上一些典型的非线性环节,如死区、饱和、纯延迟等。这里,我们假设系统为:H(s)=20e0.02s/(1.6s2+4.4s+1)
控制执行机构具有0.07的死区和0.7的饱和区,取样时间间隔T=0.01。
设计系统的模糊控制,并与传统的PID控制的性能进行比较。
三、实验原理、方法和手段
1.实验原理:
1)对典型二阶环节,根据传统PID控制,设计PID控制器,选择合适的PID控制器参数kp、ki、kd;
2)根据模糊控制规则,编写模糊控制器。
2.实验方法和手段:
1)在PID控制仿真中,经过仔细选择,我们取kp=5,ki=0.1,kd=0.001;
2)在模糊控制仿真中,我们取ke=60,ki=0.01,kd=2.5,ku=0.8;
3)模糊控制器的输出为:u= ku×fuzzy(ke×e, kd×e’)-ki×∫edt
其中积分项用于消除控制系统的稳态误差。
4)模糊控制规则如表1-1所示:
在MATLAB程序中,Nd用于表示系统的纯延迟(Nd=td/T),umin用于表示控制的死区电平,umax用于表示饱和电平。当Nd=0时,表示系统不存在纯延迟。
5)根据上述给定内容,编写PID控制器、模糊控制器的MATLAB仿真程序,并记录仿真结果,对结果进行分析。
表1-1 FC的模糊推理规则表
u
e
e’
NB
NS
ZR
PS
PB NB PB PB PS PS ZR NS PB PS PS ZR ZR ZR PS PS ZR ZR NS PS PS ZR ZR NS NS PB ZR ZR NS NS NB 四、实验组织运行要求
根据本实验的综合性、设计性特点以及要求学生自主设计MATLAB仿真程序的要求以及我们实验室的具体实验条件,本实验采用以学生自主训练为主的开放模式组织教学。
五、实验条件
1.装有MATLAB6.5的计算机;
2.智能控制技术教材;
3.模糊控制教材;
4.智能控制技术实验指导书。
六、实验步骤
1.学生熟悉实验内容,并根据实验内容、实验要求,查阅、学习相关知识;
2.设计典型二阶环节的PID控制器以及模糊控制器;
3.编写MATLAB仿真程序
4.上机调试程序,修改程序修改控制器的参数等;
5.对实验程序仿真,并记录仿真结果;
6.对实验结果进行分析,书写实验报告书。
七、实验程序
num=20;
den=[1.6,4.4,1];
[a1,b,c,d]=tf2ss(num,den);%将传递函数转化为状态模型
x=[0;0];
T=0.01;h=T; %T为采样时间
umin=0.07;umax=0.7;
td=0.02;Nd=td/T; %Nd延迟时间
N=500;R=1.5*ones(1,N);%参考值
e=0; de=0;ie=0;
kp=5;ki=0.1;kd=0.001; %设定的比例,积分,微分常数
for k=1:N
uu1(1,k)= -(kp*e+ki*ie+kd*de);%控制量生成
if k=Nd %纯延迟
u=0;
else
u=uu1(1,k-Nd);
end
if abs(u)=umin%死区和饱和环节
u=0
elseif abs(u)umax
u=sign(u)*umax;
end
%龙格-库塔算法求对象的输出
k1=a1*x+b*u;
k2=a1*(x+h*k1/2)+b*u;
k3=a1*(x+h*k2/2)+b*u;
k4=a1*(x+h*k3)+b*u;
x=x+(k1+2*k2+2*k3+k4)*h/6;
y=c*
显示全部