智能控制课程结课作业
(完整版)智能控制作业1

(完整版)智能控制作业12013-2014第⼆学期“智能控制”作业1姓名:张春风学号:130******** 专业:机械电⼦⼯程1、模糊性与随机性有哪些异同?答:同:模糊性由于事物类属划分的不分明⽽引起的判断上的不确定性;随机性是由于条件不充分⽽导致的结果的不确定性。
所以,它们都表⽰不确定性。
异:随机性反映了因果律的破缺;模糊性所反映的是排中律的破缺。
随机性现象可⽤概率论的数学⽅法加以处理,模糊性现象则需要运⽤模糊数学。
2、模糊控制的应⽤领域如何?答:航空航天,⽆⼈驾驶车辆,⽣产调度系统,能源⽣产系统,过程控制系统,机器⼈ 3、⽐较模糊集合与普通集合的异同?答:异:(1)普通集合是指具有某种属性的对象的全体。
这种属性所表达的概念应该是清晰的,界限分明的。
因此每个对象对于集合的⾪属关系也是明确的,⾮此即彼。
模糊集合就是指具有某个模糊概念所描述的属性的对象的全体。
由于概念本⾝不是清晰的、界限分明的,因⽽对象对集合的⾪属关系也不是明确的、⾮此即彼的。
(2)普通集合的表⽰法有列举法、描述法、图⽰法、⾃然语⾔。
模糊集合表⽰法有Zadeh 表⽰法、向量表⽰法、序偶表⽰法。
同:都属于集合,同时具备集合的基本性质。
4、设某种商品有8个不同的商标,商标构成的论域为{}821,,,x x x U Λ=,B A ,为论域U 上的两个模糊集,A 表⽰“商誉⾼”,B 表⽰“价格合理”,已知{}3.04.05.06.07.04.06.08.0=A {}7.06.05.04.08.06.04.07.0=B试计算B A I ,B A Y ,CA ,CB答:由交,并,补的定义可得A ∩B={0.7 0.4 0.4 0.7 0.4 0.5 0.4 0.3} A ∪B={0.8 0.6 0.6 0.8 0.6 0.5 0.6 0.7} A C ={0.2 0.4 0.6 0.3 0.4 0.5 0.6 0.7}BC ={0.3 0.6 0.4 0.2 0.6 0.5 0.4 0.3}5、设论域{}54321,,,,x x x x x U =,A 及B 为论域U 上的两个模糊集,已知5432118.06.04.02.0x x x x x A ++++=54313.017.01.0x x x x B +++=试计算:B A I ,B A Y ,C A ,CB ,CB A Y , CA A Y ,CA A I ,B A ?,B A +,B A ⊕,B A ο。
智能控制技术作业三

智能控制作业三:用智能控制理论所学的知识对下面的二维函数建模:xyy x z )sin()sin(。
训练数据取x=(-10:2:10)=[-10,-8,-6,-4,-2,0,2,4,6,8,10]共11个点,y=(-10:2:10)=[-10,-8,-6,-4,-2,0,2,4,6,8,10]共11个点,总共的训练数据为(2维输入1维输出)11×11=121组。
建模完成后,用x=(-10:0.5:10),y=(-10:0.5:10)的输入数据进行模型测试,并与直接利用解析公式的结果进行对比,体会非线性建模过程中各个参数对性能的影响。
采用BP 神经网络,50个隐含层,1个输出层 训练前输出杂乱无章,如图1所示1010未训练图 1训练前的输出训练参数设置如下:net.trainParam.time=10; net.trainParam.lr=0.05; net.trainParam.epochs=500; net.trainParam.goal=1e-10; net.trainParam.min_grad=1e-7; net=train(net,input,output);训练以后以训练数据代入,如图2所示:-1010训练好的图 2训练以后的输出代入测试数据检验,如图3所示:-1010测试结果图 3测试结果误差如图4所示:-1010误差图 4误差分析:迭代次数:实际迭代29次以后满足精度的要求,将迭代次数减小至20次,可见精度明显下降。
学习速率:将学习速率改为0.8,效果变差-1010测试结果将学习速率改为0.001,效果略好,但是迭代了41次,花费的时间比较长。
误差指标:将误差指标改为0.01,迭代7次就完成了,效果明显变差-10测试结果隐含层神经元个数:将隐含层神经元改为10个,迭代500次仍没有达到精度的要求,说明增加神经元个数能提高精度。
-10测试结果将隐含层神经元个数改为150个,效果变的很差,说明隐含层神经元个数也不能太多。
智能控制作业

智能控制作业一、已知某一炉温控制系统,要求温度保持在600℃恒定。
针对该控制系统有以下控制经验:①若炉温低于600 ℃,则升压;低得越多升压越高。
②若炉温高于600 ℃,则降压;高得越多降压越低。
③若炉温等于600 ℃,则保持电压不变。
设计模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。
输入、输出变量的量化等级为7级,取5个模糊集。
试设计隶属度函数误差变化划分表、控制电压变化划分表和模糊控制规则表。
要求有程序及注释,仿真结果和分析。
(1)确定模糊控制器的输入输出变量将600℃作为给定值t0 ,测量炉温为t(k),则:输入变量:e(k)= t(k)-t0输出变量:触发电压u 的变化量,该u直接控制供电电压的高低。
(2)输入输出变量的模糊语言描述输入输出变量的语言值:{负大(NB),负小(NS),零(ZE),正小(PS),正大(PB)} 设:e的论域为X,u 的论域为Y,均量化为七个等级:X= {-3,-2,-1,0,1,2,3},Y={-3,-2,-1,0,1,2,3}语言变量E 和U 的隶属函数赋值表(论域离散):(3)模糊控制规则①if E =NB then U =PB②if E =NS then U =PS③if E =ZE then U =ZE④if E =PS then U =NS⑤if E =PB then U =NB(4)求模糊控制表(5)控制量转化为精确量:采用加权平均法:(6)计算模糊关系R=(NBe×PBu)+ (NSe×PSu)+(ZEe×ZEu)+(PSe×NSu) +(PBe×NBu)ZEe×ZEu =(0, 0, 0.5,1, 0.5,0,0)×(0,0 , 0.5, 1 , 0.5 , 0,0)分别计算出矩阵NBe×PBu,NSe×PSu,ZEe×ZEu,PSe×NSu ,PBe×NBu求并集得:查询表:实际控制时,将测量到的误差量化后,从查询表中得到控制量再乘以比例因子Kn,即作为控制的实际输出。
智能控制作业

智能控制专 业 电力电子与电力传动 班 级 姓 名 学 号 教 师作业:已知被控对象传递函数)7.0)(2.0)(1.0(1)(+++=s s s s G ,设计一个模糊控制器,并用遗传算法进行优化。
解:程序:T=0.1; %控制系统采样时间TM=1000; %控制系统运行次数time=zeros(1,TM);%E=zeros(1,TM);kp=0.2;ki=0.002;kd=10;tr=0;%定义初始种群参数N=10; %初始种群数目M=3; %遗传代数varb=3; %语言值个数yout1=zeros(N,TM);yout=zeros(M,TM);fitness=zeros(1,N);%产生初始种群Wn=varb^2;n1=varb^2+varb*2; %每条染色体的长度mfpara1=randint(N,n,[1,varb]); %rule tablemfpara2=-1*rand(N,varb);%mfpara2(1),mfpara2(2),mfpara2(3)分别为an,bn,cn mfpara3=rand(N,varb); %mfpara3(1),mfpara3(2),mfpara3(3)分别为ap,bp,cp init=[mfpara1,mfpara2,mfpara3];%离散化被控对象num=[1];den=conv(conv([1,0.1],[1,0.2]),[1,0.7]);g=tf(num,den);yn=c2d(g,T,'zoh');[tt,ff]=tfdata(yn,'v');%循环开始p=1;while p<=M %循环代数从1到3q=1while q<=N %染色体数从1到10 y=zeros(1,TM);u=zeros(1,TM);er=zeros(1,TM);yr=zeros(1,TM);e1=0;e2=0;E1=0;y1=0;y2=0;y3=0;u1=0;u2=0;u3=0;e=zeros(1,TM);E=zeros(1,TM);for k=1:TM %运行系统yr(k)=1;y(k)=-ff(2)*y1-ff(3)*y2-ff(4)*y3+tt(2)*u1+tt(3)*u2+tt(4)*u3;y3=y2;y2=y1;y1=y(k);u3=u2;u2=u1;e(k)=yr(k)-y(k);er(k)=(e(k)-e1)/T;detae=fu_zzy(init(q,:),e(k),er(k),varb); %调用模糊控制规则程序E(k)=e(k)+detae;u(k)=kp*E(k)+ki*sum(E)+kd*(E(k)-E1);E1=E(k);u1=u(k);e2=e1;e1=e(k);endfor k=1:TMif abs(y(k)-1)<=0.1tr=k*T; %上升时间trbreakendymax=0;for k=1:TMif ymax<y(k)ymax=y(k); %最大输出ymax endendfor k=1:TMera(k)=abs(e(k)); %计算误差绝对值era endaccer=sum(era); %累积误差accer overshoot=(ymax-1)/1; %超调量overshoottrovershootaccer%计算适配值%归一化0—100if (tr>5)|(overshoot>2)|(accer>100)fitness2=0;else tr1=tr*20;overshoot1=overshoot*50;accer1=accer*1;index=[tr1,abs(overshoot1),accer1];fitness1=(0.6*index(1)+1.2*index(2)+1.2*index(3))/3;fitness2=100-fitness1;endfitness(q)=fitness2;y;yout1(q,:)=y;end %一代种群运行完毕fitness[maxfit1,h]=max(fitness);maxfit(p)=maxfit1 %每代的最大适配值存入maxfityout(p,:)=yout1(h,:); %每一代当适配值最大时,系统的阶跃响应输出init=gene_tic(init,fitness,p,N,varb,n,n1); %调用遗传算法优化,得到新的种群p=p+1end %运行3代后结束for k=1:TMtime(k)=k*T;endhold onplot(time,yout(1,:),'r-')plot(time,yout(2,:),'b-')plot(time,yout(3,:),'g-')hold off%遗传算法子程序function init=gene_tic(init,fitness,k,N,varb,n,n1)fitness=fitness;N=N;varb=varb;init=init;%k=p;%复制sumfit=sum(fitness); % 每一代总的适应值sumfitzongfit(k)=sumfit; %保存每一代总的适应值到zongfitsumfit1(1)=fitness(1);for i=2:Nsumfit1(i)=sumfit1(i-1)+fitness(i);endlunpan=round(sumfit*rand(1,N));A=zeros(N,n1);for i=1:Nfor j=1:(N-1)if (lunpan(i)>=0)&(lunpan(i)<=sumfit1(1))A(i,:)=init(1,:);elseif (lunpan(i)>sumfit1(j))&(lunpan(i)<=sumfit1(j+1))A(i,:)=init(j+1,:);endendendinit=A;%交叉pc=0.6; %交叉概率选为0.7Q=rand(1);place=round((n1-1)*rand(1)+1); %产生交叉位match=randperm(N); %产生匹配对的随机序列B=zeros(N,n1);if Q<pcfor i=1:placeB(:,i)=init(:,i);endfor i=place:n1for j=1:(N/2)B(match((j-1)*2+1),i)=init(match(j*2),i);B(match(j*2),i)=init(match((j-1)*2+1),i);endendendinit=B;%变异pm=0.01; %变异概率选为0.01d=round(N*n1*pm); %计算变异位个数if d==0init=init;elseif d==1i=round(N*rand(1)+1);j=round(n1*rand(1)+1);if j<=ninit(i,j)=round((varb-1)*rand(1)+1);%如果是前n位数,则变异为1至VN中的一个elseif j<=n+varbinit(i,j)=-1*randint(1,1,[1,16])*1/16;%如果是n+1至n+3位数,则变异为-1至0之间中的一个elseif j<=n1init(i,j)=randint(1,1,[1,16])*1/16;%如果是n+3至n2位数,则变异为0至1之间中的一个endelseif d>1C=zeros(1,N*n1);x=randint(1,d,[1,N*n1]); %随机产生d个变异位置,存入x中C=reshape(init,[1,N*n1]);%将N行n1列的矩阵init转换为1行N*n1列的矩阵Cfor i=1:dif C(x(i))<0C(x(i))=-1*rand(1);%若变异位为负数,则随机选取(-1,0)之间的小数赋值elseif (C(x(i))>=0)&(C(x(i))<1)C(x(i))=rand(1);%若变异位为小于1的正数,则随机选取(0,1)之间的小数赋值elseif C(x(i))>=1C(x(i))=randint(1,1,[1,varb]);%若变异位大于等于1,则随机选取(1,varb)之间的整数赋值endendinit=reshape(C,[N,n1]);%将变异后的1行N*n1列的矩阵C,转换为N行n1列的矩阵init endinit=init;%模糊控制规则function detae=fu_zzy(init,F,L,varb)if F<=-1 %将系统误差e设定在【-1,1】之间F=-1;elseif F>=1F=1;endif L<=-1 %将系统误差变化er设定在【-1,1】之间L=-1;elseif L>=1L=1;endan=init(10);bn=init(11);cn=init(12);ap=init(13);bp=init(14);cp=init(15);a=newfis('fuzzf');%建立隶属度函数a=addvar(a,'input','F',[-1,1]);a=addmf(a,'input',1,'NL','zmf',[-1,an]);a=addmf(a,'input',1,'ZR','trimf',[an,0,ap]);a=addmf(a,'input',1,'PL','smf',[ap,1]);a=addvar(a,'input','L',[-1,1]);a=addmf(a,'input',2,'NL','zmf',[-1,bn]);a=addmf(a,'input',2,'ZR','trimf',[bn,0,bp]);a=addmf(a,'input',2,'PL','smf',[bp,1]);a=addvar(a,'output','detae',[-1,1]);a=addmf(a,'output',1,'NL','zmf',[-1,cn]);a=addmf(a,'output',1,'ZR','trimf',[cn,0,cp]);a=addmf(a,'output',1,'PL','smf',[cp,1]);%建立规则表rulelist=[1 1 init(1) 1 1;1 2 init(2) 1 1;1 3 init(3) 1 1;2 1 init(4) 1 1;2 2 init(5) 1 1;23 init(6) 1 1;3 1 init(7) 1 1;3 2 init(8) 1 1;3 3 init(9) 1 1];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom');writefis(a1,'fuzzf');a2=readfis('fuzzf');%disp('fuzzy controller table:F=[-1 +1],L=[-1 +1]');detae=evalfis([F,L],a2);%模糊控制器输出运行结果:p=1q = 1 tr =1.4000 overshoot = 0.622 accer =28.6146q = 2 tr =2.1000 overshoot = 0.7610 accer = 380.3916 q = 3 tr =3 overshoot =0.2094 accer =26.3599q = 4 tr = 1.9000 overshoot =1.0283 accer = 381.1185 q = 5 tr =1.9000 overshoot = -0.7730 accer =991.5000 q =6 tr =2.3000 overshoot = 0.2950 accer = 83.2724 q = 7 tr = 2.3000 overshoot = -0.8274 accer = 993.9300 q =8 tr =1.4000 overshoot = 0.8295 accer = 352.7047q = 9 tr =1.4000 overshoot =1.2762 accer = 73.6383 q = 10 tr =1.7000 overshoot =0.4293 accer = 29.6175 fitness =Columns 1 through 770.5020 0 73.2688 0 0 51.5914 0 Columns 8 through 100 39.4210 72.7667maxfit =73.2688 76.9673 76.9673p = 2q = 1 tr =3 overshoot =0.2094 accer =26.3599q =2 tr =3 overshoot = 0.2094 accer = 26.3599q =3 tr =1.6000 overshoot = 0.4401 accer =26.0434q = 4 tr =2.3000 overshoot =0.2950 accer =83.2724q =5 tr =2.1000 overshoot =0.2913 accer =23.4939q =6 tr =3 overshoot =0.2094 accer =26.3599q =7 tr =2.2000 overshoot =0.2913 accer =24.4939q =8 tr =1.4000 overshoot =1.1872 accer =533.5753q =9 tr =3 overshoot =0.2094 accer =26.3599q =10 tr =2.3000 overshoot =0.2950 accer =83.2724fitness =Columns 1 through 773.2688 73.2688 74.3815 51.5914 76.3759 73.2688 75.5759 Columns 8 through 100 73.2688 51.5914maxfit =73.2688 76.3759 76.9673p =3q =1 tr =2.1000 overshoot =0.2704 accer =23.0613q =2 tr =2.1000 overshoot =0.2704 accer =23.0613q =3 tr =2.1000 overshoot =0.2704 accer =23.0613q =4 tr =2.1000 overshoot =0.2704 accer =23.0613q =5 tr =2.1000 overshoot =0.2704 accer =23.0613q =6 tr =2.1000 overshoot =0.2704 accer =23.0613q =7 tr =2.1000 overshoot =0.2704 accer =23.0613q =8 tr =2.1000 overshoot =0.2704 accer =23.0613q =9 tr =2.1000 overshoot =0.2704 accer =23.0613q =10 tr =2.1000 overshoot =0.2704 accer =23.0613fitness =Columns 1 through 776.9673 76.9673 76.9673 76.9673 76.9673 76.9673 76.9673 Columns 8 through 1076.9673 76.9673 76.9673maxfit =73.2688 76.3759 76.9673。
智能控制结课作业2

兰州理工大学《智能控制》设计报告院系:电气工程与信息工程学院班级:自动化卓越班姓名:学号:时间:2016 年10月25日电气工程与信息工程学院一.基于模糊控制的非最小相位系统的设计摘要:自然界与人类社会有关系的系统绝大部分是模糊系统,这类系统的数学模型不能由经典的物理定律和数学描述来建立。
本文在模糊控制理论基础上设计非最小相位系统,利用专家经验建立模糊系统控制规则库,由规则库得到相应的控制决策,并分析系统隶属度函数,利用matlab 与simulink 结合进行仿真。
仿真结果表明,该系统的各项性能指标良好,具有一定的自适应性,模糊控制算法不但简单实用,而且响应速度快,超调量小,控制效果良好。
关键词:模糊逻辑;隶属度函数;模糊控制; 正文:假设系统的模型可以用二阶加纯滞后表示,即传递函数为12()(1)(1)d s f f Ke G s T s T s τ-=++。
其中各参数分别为1240,10,60,2f f d K T T τ====。
图1 模糊控制系统Simulink 仿真模型图1、用Matlab 中的Simulink 工具箱,组成一个模糊控制系统,如图1所示。
2、采用模糊控制算法,设计出能跟踪给定输入的模糊控制器,对被控系统进行仿真,绘制出系统的阶跃响应曲线。
(1)模糊集合及论域的定义对误差E 、误差变化EC 机控制量U 的模糊集合及其论域定义如下: E 、EC 和U 的模糊集合均为: {NB 、NM 、NS 、0、PS 、PM 、PB} E 和EC 的论域为:{-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6} U 的论域为:{-7、-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6、7}上述的三个模糊集合都选取了7个元素,主要目的是着眼于提高稳态精度。
E 、EC 和U 的隶属度函数图形如图2,3,4 所示:图2 变量E的隶属度函数图3 变量EC的隶属度函数图4 变量U的隶属度函数(2)模糊控制规则设计模糊控制规则如下表所示:(3)系统的参数选择系统所选用的参数为:Saturation、Saturation1、Saturation2的范围分别为:[-6 6]、[-6 6]、[-7 7],Transport Delay=2S。
智能控制理论概论结课作业

智能控制理论概论结课作业题目:基于MATLAB的倒立摆模糊控制学生姓名:蒙龙华学号:1067112303专业:测控技术与仪器班级:测控3班2013年12月30日摘要倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。
当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。
本文主要针对较为简单的单级倒立摆控制系统而进行的设计分析。
通过建立微分方程模型,求出相关参数,设计出对应的模糊控制器,并运用MATLAB软件进行系统模型的软件仿真,从而达到预定控制效果。
目前,一级倒立摆的研究成果应用于火箭发射推进器和控制卫星的飞行状态等航空航天领域。
关键词:单级倒立摆;微分方程;模糊控制;MATLAB仿真1概述1.1模糊控制器简介模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。
与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。
因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。
模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。
显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。
模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。
本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。
1.2模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。
模糊控制的任务正是要用计算机来模拟这种人的思维和决策方式,对这些复杂的生产过程进行控制和操作。
所以,模糊控制有以下特点:1)模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定的、定量的条件语句。
智能控制技术作业

智能控制技术作业1、什么是智能、智能系统、智能控制?(1)将感觉、去记、回忆、思维、语言、行为的整个过程称为智能(2)由感知、规划、执行子系统组成,具有认知、概念与推理、记忆与学习完成适应性、通用性功能的反馈控制系统称为智能系统。
(3)通过认知、记忆、学习、推理、协作等智能要素与技术手段,实现复杂系统的适应性与通用性功能的反馈控制称为智能控制。
2、智能控制系统有哪几种形式?模糊控制、神经控制、行为控制、自适应控制等。
3、比较智能控制与传统控制的特点?古典控制特点:(1)依赖于控制对象精确模型;(2)对控制对象的有用信息(信息源/人的语言知识、系统输入输出数据、系统评价结果等)没有充分利用;(3)控制方法依赖于系统模型的结构与参数,没有固定的设计程式,通用性不强,限制了工程应用;(4)对非线性、强耦合系统,非模型系统、无模型系统难以适应;智能控制特点:(1)适用于非线性、强耦合的系统;(2)适用于无模型(只有系统数据)系统;(3)适用于非模型(可以是模糊语言模型、行为模型等)系统;(4)能够应用多种信息,包括语言、样本等。
(5)具有较强的适应性;(6)具有较固定的设计程式4、比较模糊集合与普通集合的异同,模糊性与随机性的不同。
经典集合:一个范围内所有对象的整体;集合自身不能作为其内的元素模糊集合:设A是集合X到[0,1]的一个映射,A:X→[0,1],x→A(x) 则称A 是X上的模糊集,A(x)称为模糊集A的隶属函数,或称A(x)为x对模糊集A的隶属度。
模糊性与随机性区别:(1)随机性表示未发生的事件可能发生的可能性(概率)。
(2)模糊性表示已发生/未发生事件、属性量的程度(大小);(3)随机性由事物自身及环境运动规律决定;(4)模糊性由事物自身及环境运动规律、人的认知程度共同决定;5、简述模糊控制系统的工作原理。
人的经验是一系列含有语言变量值的条件语句和规则,而模糊集合理论能十分恰当地表达具有模糊性的语言变量和条件语句。
智能控制结课报告

科技学院智能控制结课报告( 2012 -- 2013 年度第 1 学期)课程名称:智能控制题目名称:智能控制技术介绍及应用院系:动力工程系班级:学号:学生姓名:成绩:2012 年12月智能控制的产生及发展一、智能控制的产生以经典控制理论和现代控制理论为代表的传统控制理论曾在一段时期成为控制的、解决现实问题的主导。
但随着科技的进步,人们为探索自然,需要面对更为复杂的对象及高度非线性,不确定的对象。
这是传统控制理论无法给予解决的,所以必须发展新的概念,理论和方法才能适社会应快速发展的需要。
智能控制在这个大的背景下孕育而生。
二、智能控制的发展1966年J.M.Medal首先提出将人工智能应用于飞船控制系统的设计;1971年傅京逊首次提出智能控制这一概念,并归纳了三中类型的智能控制系统:(1)人作为控制器的控制系统,具有自学习性,自组织性,自适应性功能(2)人机结合作为控制器的控制系统。
机器完成需要快速完成的常规任务,人则完成认为分配决策等。
(3)无人参与的自主控制系统。
为多层的智能控制系统,需要完成问题建模,求解和规划,如自主机器人。
1985年IEEE在美国纽约召开了第一届智能控制研讨会,随后成立了IEEE智能控制专业委员会。
1987年在美国举行第一届国际智能控制大会,标志着智能控制领域的形成。
20世纪90年底至今,智能控制进入了新的发展时期,随着对象规模的扩大以人工智能技术、信息论、系统论和控制论的发展,人们试从高层次研究智能控制,这不仅形成了智能控制的多元化,而且在应用实践方面取得了重大进展。
我国智能控制也兴起于这一时期。
智能控制的主要内容一、模糊控制模糊控制是应用模糊集合理论,从行为上模拟人的模糊推理和决策过程的一种实用方法。
其核心为模糊推理,主要依赖模糊规则和模糊变量的隶属度函数。
与专家系统控制类似,其推理过程也是基于规则形式表示的人类经验。
因此有人把两者都归类于基于规则的控制。
模糊控制的特点为:1)提供了一种实现基于自然语言描述规则的控制规律的新机制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能控制1对于模糊控制(fuzzy)的认识和体会模糊控制作为给合传统的基于规则的专家系统、模糊集理论和控制理论的成果而诞生,使其与基于被控过程数学模型的传统控制理论有很大的区别。
在模糊控制中,并不是像传统控制那样需要对被控过程进行定量的数学建模,而是试图通过从能成功控制被控过程的领域专家那里获取知识,即专家行为和经验,当被控过程午分复杂甚全“病态”时,建立被控过程的数学校型或者不可能,或者需要高昂的代价。
此时模糊控制就显得具有吸引力和实用性。
由于人类专家的行为是实现模糊控制的基础,因此,必须用一种容易且有效的方式来表达人类专家的知识。
IF-THEN规则格式是这种专家控制知识最和适的表式方式之一,即1F“条件”THEN“结果”,这种表示方式有两个显著的特征:它们是定性的而不是定量的;它们是一种局部知识,这种知识将局部的“条件”与局部的“结果”联系起来,前者可用模糊子集表示,而后者需要模糊蕴涵或模糊关系来表达。
然而,当用计算机实现时,这种规则最终需具有数位形式,隶属函数和近似推理为数值表示集合模糊蕴涵提供了一种有利工具。
一个实际的模糊控制系统实现时需要解决三个问题:知识表示、推理策略和知识获取。
知识表示是指如何将语言规则用数值方式表示出来;推理策略是指如何根据当前输入“条件”生一个合理的“结果”;知识的获取解决如何获得一组恰当的规则。
由于领域专家提供的知识常常是定性的,包含某种不确定性。
因此,知识的表示和推理必须是模糊的或近似的,近似推理理论正是为满足这种需要而提出的。
近似推理科看做是根据一些不精确的条件推导出个精确结论的过程,许多学者对模糊表示、近似推理进行了大量的研究,在近似推理算法中,最厂泛使用的是关系矩阵模型,它基于L.A.Zadeh的合成推理规则首次由Mamdani采用,由于规则可被解释成逻辑意义上的蕴涵关系,因此人最的蕴涵算子已被提出并应用于实际中由此可见。
模糊控制是以模糊集合沦、模糊语言变量及校糊逻辑推理为基础的一种计算机控制,从线性控制与非线性控制的角度分类,模糊井制是一种非线性控制。
从控制器智能性看,模糊控制属智能能控制的范畴,而且它已成为日前实现智能控制的一种重要而又有效的形式。
尤其是模糊制和神经网络、预测控制、遗传算法和混沌理论等新学科的相结合,正在显示出其巨大的应用潜力。
模糊控制器的基本结构包括以下四部分1.模糊化模糊化的作用是将输入的精确量转换成模糊化量,其中输入成份包括外界的参考输入、系统的输出或状态等。
模糊化的具体过程如下:首先对这此输入进行处理,以变成模糊控制器要求的输入从。
然后将上述己经处理过的输入量进行尺度变换,使其变换到各自的论域范围。
在将已经变换到论域范的输入最进行模糊处理,使原先精确的输入带变成模糊量,并用相应的模糊集合来表。
2.知识库知识库包含了具体应用领域中的知识和要求的控制目标。
它通常由数据库和模糊控制规则库两部分组成:1.数据库主要包括各种语言变量的隶属函数,尺度变换因子以及模糊空间的分级数等。
2.规则库包括了用模糊语言变量表示的一系列控制规则。
它们反映了控制专家的经验和知识。
3.模糊推理模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。
该推理过程是基于模糊逻辑中的蕴含关系及推理规则来进行的。
4.清晰化洁晰化的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量,它包含以下两部分内容节(1)将模糊的控制量经清晰化变换,变成表示在论域范围的清晰量(2)经尺度变换将表示在论域范围的清晰量变成实际的控制量。
2模糊控制的仿真控制①在MATLAB命令窗口中输入“sltank"。
便可打升如下图所示的模型窗口。
②在MATLAB左下角的“Start'”菜单选项,用鼠标双击模糊逻斩系统(Fuzzy Logic)工具箱的FIS Editor Viewer项,打开模糊推理系统编辑器(Fls Editor)③利用FIS Editor编辑器的Edit/Add input菜单,添加条输入语言变量,并将两个输入语言变量和个输出语言变量的名称分别定义为:level;rate;valve。
其中,level代表水位; rate代表水位变化率:valve代表阀门。
模糊推理系统tank编辑器的图形界如上图窗口所示④利用FIS Editor编辑器中的Edit/Membership Functions菜单命令,打开隶属函数编辑器(Membership Functions Editor),将输入语言变从level的取值范围和显示范围(DisplayRang)均设置为[-1,1]。
隶属函数的类型(Type)设定为高斯型函数(gaussmf),而所包含的三条曲线的名称(Name)和参数(Params)([宽度中心点])分别设置为high,[0.3,-1];okay,[0.30];low,[0.31]。
其中,high,okay,low分别代表水位高、刚好和低。
将输入语言变量rate取值范围(Rang)和显示范围(Display Rang)均设置为[-0.l,0.1],隶属函数的类型(Type)设置为高斯函数(gaussmf),而所包含的三条曲线的名称(Name)和参数(Params)([宽度中心点])。
分别设置为:negative,[0.03-0.1]:none,[0.03-0.1];positive,[0.03-0.1]。
其中negative,none,positive分别代表水位变化率为负、不变和正。
输出语言变量valve的取值范围(Rang)和显示范围(Display Rang)均设置为[-11]。
隶属函数的类型(Type)设置为三角函数(trimf),而所包含的五条曲线的名称(Name)和参数(Params)([a b c])分别设置为close fast,[-1-0.9-0.8];close slow,[-0.6-0.5-0.4];no change,[-0.100.1];open slow,[0.20.30.4];open Fast,[0.80.91]。
其中close fast表示迅速关闭阀门;close slow表示缓漫关闭阀门;no change表示阀门大小不变;open slow表示缓慢打开阀门;open fast表示迅速打开阀门。
这里参数a,h和c指定三角型函数的形状,第二位值代表函数的中心点,第一、三位值决定了函数曲线的起始和终止点。
输出语言变节valve的取值范围和隶属函数的设置如下图所示。
⑤利用编辑器的Edit/Rules菜单命令,打开模糊规则编辑器(Rules Editor),根据题给的模糊控制规则进行设置,所有规则权重Weight均取默认值1。
⑥利用编辑其中的View/rules和View/Surface菜单命令,可以的到模糊系统的推理系统图的模糊规则,在所得的系统图中,显示了当输入语言变最分别为level=0.5,rate=0.05时,模糊系统的输出结果(valve=0.345)⑦利用编辑器的File/Export to Workspace菜单命令,将当前的模糊推理系统,以名称tank 保存到MATLAB工作空间的tank.fis模糊推理知矩阵中。
⑧在下图所示Simulink仿真系统中。
打月Fuzzy Logic Controller模糊逻辑控制器,在FIS File or Structure框中。
输入“tank"。
⑨然后回到原来的Simulink系统,打开的参数仿真设置窗口,,正确设置仿真参数后,启动仿真。
使可着到如下图所示的系统输出变化曲线。
3神经网络的认识传统的基于模型的控制方式,是根据被控对象的数学模型及对控制系统要求的性能标来设计控制器,并对控制规律加以数学解析描述;模糊控制方式则是基于专家经验和领域知识总结出若于条模糊控制规则,构成描述具有不确定性复杂对象的模糊关系,通过被控系统输出误差及误差变化和模糊关系的推理合成获得控制量,从而对系统进行控制。
以上两种控制方式都具有显式表达知识的特点,而神经网络不善于显式表达知识,但是它具有很强的逼近非线性函数的能力。
即非线性映射能力。
把神经网络用于控制正是利用它的这个独特优点。
由于神经网络是从微观结构及功能上对人脑神经系统的模拟而建立起来的一类模型。
具有模拟人的部分智能的特性,主要是具有非线性,学习能力和自适应性,使神经控制能对变化的环境(包括外加扰动、量测噪声、被控对象的时变特性三个方面)具有自适应性,且成为基本上不依赖于模型的一类控制,所以决定了它在控制系统中应用的多样性和灵活。
为了研究神经网络控制的多种形式,先来给出神经网络控制的定义。
所谓神经网络控制,即基于神经网络的控制或简称神经控制以精确描述的复杂的非线性对象进行建模,是指在控制系统中采用神经网络这工具对难以精确描述的复杂非线性系统进行描述,或充当控制器,或优化计算,或进行推理,或故障诊断等,以及同时兼有上述某些功能的适应组合制系统,称这种控制方式为神经网络控制,将这样的系统统称为基于神经网络的控制系统,根据上述定义,可以将神经网络在控制中的作用分为以下几种:1.在基于精确模型的各种控制结构中充当对象的模型,2.在反馈控制系统中直接充当控制器的作用,3.在传统控制系统中起优化计算作用,4.在与其他智能控制方法和优化算法中,为其提供作参数化对象模型、优化参数、如模糊控制、专家控制及遗传算法等相融合推理模型及故障诊断。
由于人工智能中的新技术不断出现及其在智能控制中的应用,神经网络必将在和其他新技术的相融合中,在智能控制方面发挥更大的作用神经网络控制境中的控制问题主要是为了解决复杂的非线性、使控制系统稳定性好、鲁棒性强,具有满意的动静态特性。
为了达到要求的性能指标,处在不确定、不确知环境中的复杂的非线性不确定、不确知系统的设计问题就成了控制研究领域的核心问题。
为了解决这类问题,可以在系统中设置两个神经网络,例如可以在神经网络中设计神经网络NNI作为辨识器,由于神经网络的学习能力,辨识器的参数可随着对象、环境的变化而自适应地改变,故它可在线辨识非线性不确定、不确知对象的模型。
辨识的目的是根据系统所提供的测是信息,在某种规则意义下估计出对象模nn的结构和参数。
再设计另外一个神经网络NNC作为控制器,其性能随着对象、环境的变化而自适应地改变(根据辨识器)。
4神经网络的仿真机辨识在MATLAB神经网络工具箱中提供了这个演示实例。
只需在MAI LAB命令窗口中输入命令“predcstr".就会自动地调用Simulink,并产生如下图所r示的模型窗口,其中,神经网络顶测控制模块(NNPredictive Controller)和X(2Y)Graph由神经网络模块集(Neural Network Blockset)的控制系统模块库(Control hystems)复制而来。