智能控制导论报告BP神经网络模糊控制
- 格式:pdf
- 大小:539.61 KB
- 文档页数:16
模糊控制现代工业对控制系统的先进性、可靠性、可扩展性、易实现性和易管理性提出了越来越高的要求,这导致常规仪表逐渐淡出舞台,而以微处理器为核心的计算机控制系统则逐渐占据了统治地位。
随着计算机尤其是微机的发展和应用,自动控制理论和技术获得了飞跃的发展。
基于状态变量描述的现代控制理论对于解决线性或非线性、定常或时变的多输入多输出系统问题,获得了广泛的应用,例如在阿波罗登月舱的姿态控制、宇宙飞船和导弹的精密制导以及在工业生产过程控制等方面得到了成功的运用。
但是,无论采用经典控制理论还是现代控制理论设计一个控制系统,都需要事先知道被控制对象(或生产过程)精确的数学模型,然后根据数学模型以及给定的性能指标,选择适当的控制规律,进行控制系统设计。
然而,在许多情况下被控对象(或生产过程)的精确数学模型很难建立。
显而易见,在自然科学、社会科学、工程技术的各个领域,都会涉及大量的模糊因素和模糊信息处理问题、模糊技术几乎渗透到了所有领域,列有模糊专题的较大型国家会议每年约有十多个,各种模糊技术成果和模糊产品也逐渐从实验室走向社会,有些已经取得了明显的社会效益与经济效益。
像冶金、机械、石油、化工、电力、电子、轻工、交通、医疗、法律、教育、军事科学等等,每个领域都有其成功的应用范例。
模糊控制是作为结合传统的并基于规则的专家系统、模糊集理论和控制理论的成果而诞生的,它与基于被控过程数学模型的传统控制理论有很大的区别。
在模糊控制中并不是的领域专家那里获取知识,即专家行为和经验。
当被控过程十分复杂甚至“病态”时,建立被控过程的数学模型或者不可能,或者需要高昂的代价,此时模糊控制就显得具有吸引力和使用性。
由于人类专家的行为是实现模糊控制的基础,因此必须用一种容易且有效的方式来表达人类专家的知识。
以往的各种传统控制方法均是建立在被控对象精确数学模型基础上的,然而,随着系统复杂程度的提高,将难以建立系统的精确数学模型。
模糊控制,既不是指被控制对象是模糊的,也不是被控制器是不确定的,它是指在表示知识、概念上的模糊性。
西安理工大学研究生课程论文/研究报告课程名称:智能控制任课教师:论文/研究报告题目:基于遗传算法的模糊控制器最优设计完成日期:2016 年8 月27 日学科:电力电子与电力传动学号:姓名:1. 基于遗传算法的模糊控制MATLAB 程序:clear all close all clc T=0.1;TM=200; time=zeros(1,TM);kp=0.2;ki=0.002;kd=20;tr=0;%定义初始种群参数N=10; M=3; varb=3;yout1=zeros(N,TM);yout=zeros(M,TM);fitness=zeros(1,N);%产生初始种群n=varb^2;n1=varb^2+varb*2;mfpara1=randint(N,n,[1,varb]); mfpara2=-1*rand(N,varb);为an ,bn ,cnmfpara3=rand(N,varb);为ap ,bp ,cpinit=[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 q=1while q<=N y=zeros(1,TM);u=zeros(1,TM); er=zeros(1,TM); %控制系统采样时间%控制系统运行次数%初始种群数目%遗传代数%语言值个数%每条染色体的长度%控制规则表%mfpara2(1),mfpara2(2),mfpara2(3)%mfpara3(1),mfpara3(2),mfpara3(3)%循环代数从 1 到 3%染色体数从 1 到10分别分别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;break endendymax=0;for k=1:TMif ymax<y(k)ymax=y(k);endendfor k=1:TMera(k)=abs(e(k));end accer=sum(era); overshoot=(ymax-1)/1; tr overshoot accer%计算适配值,归一化if%上升时间tr%最大输出ymax%计算误差绝对值era%累积误差accer%超调量overshoot%调用模糊控制规则程0—100(tr>2)|(overshoot>1)|(accer> 50)fitness2=0; else tr1=tr*50;overshoot1=overshoot*100; accer1=accer*2; 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; q=q+1 endfitness [maxfit1,h]=max(fitness); maxfit(p)=maxfit1 yout(p,:)=yout1(h,:);init=gene_tic(init,fitness,p,N,varb,n,n1);的种群p=p+1 end for k=1:TMtime(k)=k*T; end plot(time,yout(1,:), 'r-' ,time,yout(2,:), 'g-' ,time,yout(3,:), 'b-' ) legend( ' 遗传第 1 代 ' , ' 遗传第 2 代' , ' 遗传第 3 代 ' ) grid onbest=max(maxfit) e1=1; y=[];e=[]; e1=0;y1=0;y2=0;y3=0; u1=0;u2=0;u3=0; 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;u(k)=kp*e(k)+ki*sum(e)+kd*(e(k)-e1); u1=u(k); e1=e(k);%一代种群运行完毕%每代的最大适配值存入 maxfit%每一代当适配值最大时,系统的阶跃响应输出%调用遗传算法优化,得到新%运行 3 代后结束endfigure(2)opt=find(maxfit==best);plot(time,y, '--' ,time,yout(opt(1), ':' ))legend( 'PID 控制器' , 'GA 优化的模糊PID 控制器' ) grid on各子函数MATLAB 程序:1) 模糊控制子程序fu_zzy .mfunction 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;end%模糊控制规则an=init(10);bn=init(11);cn=init(12);ap=init(13);bp=init(14);cp=init(1 5);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' );%模糊控制器输出detae=evalfis([F,L],a2);2) 遗传算法子程序gene_tic .m function init=gene_tic(init,fitness,k,N,varb,n,n1) fitness=fitness;N=N;varb=varb;init=init;%复制sumfit=sum(fitness); %sumfit 为每一代总的适应值zongfit(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;Q=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);%交叉概率选为0.7%产生交叉位%产生匹配对的随机endfor i=place:n1 for 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);end end end init=B; %变异 pm=0.01; d=round(N*n1*pm); if d==0 init=init; elseif d==1i=round(N*rand(1)+1); j=round(n1*rand(1)+1); if j<=n init(i,j)=round((varb-1)*rand(1)+1); 至 VN 中的一个 elseif j<=n+varb init(i,j)=-1*randint(1,1,[1,16])*1/16; 异为 -1 至 0 之间中的一个 elseif j<=n1 init(i,j)=randint(1,1,[1,16])*1/16; 异为 0 至 1 之间中的一个end elseif d>1 C=zeros(1,N*n1); x=randint(1,d,[1,N*n1]); C=reshape(init,[1,N*n1]); 阵C for i=1:d if C(x(i))<0 C(x(i))=-1*rand(1);赋值 elseif (C(x(i))>=0)&(C(x(i))<1) C(x(i))=rand(1); 间的小数赋值elseif C(x(i))>=1C(x(i))=randint(1,1,[1,varb]); varb )之间的整数赋值 end%变异概率选为 0.01%计算变异位个数%如果是前 n 位数,则变异为1%如果是 n+1 至 n+3 位数,则变%如果是 n+3 至 n2 位数,则变 %随机产生 d 个变异位置,存入 x 中 %将 N 行 n1 列的矩阵 init 转换为 1 行 N*n1 列的矩 %若变异位为负数,则随机选取( -1 ,0 )之间的小数 %若变异位为小于 1 的正数,则随机选取( 0 ,1)之%若变异位大于等于 1,则随机选取(1,endinit=reshape(C,[N,n1]);%将变异后的 1 行N*n1 列的矩阵C,转换为N 行n1列的矩阵initendinit=init;2. 程序运行结果程序运行过程中遗传各代的每条染色体的阶跃响应性能指标如下表1,2,3 所示。
智能控制bp课程设计报告一、课程目标知识目标:1. 学生能理解智能控制的基本原理,掌握BP(反向传播)算法的核心概念;2. 学生能运用所学知识,设计并实现简单的智能控制系统;3. 学生了解智能控制在现实生活中的应用,能举例说明。
技能目标:1. 学生能运用编程软件,如Python,实现BP算法;2. 学生具备分析问题、设计智能控制系统并解决实际问题的能力;3. 学生能通过实验和数据分析,评估智能控制系统的性能。
情感态度价值观目标:1. 学生培养对智能控制技术的兴趣,增强对科学研究的热情;2. 学生形成合作、探究的学习态度,培养团队精神和解决问题的能力;3. 学生认识到智能控制技术在我国科技发展中的重要性,增强国家荣誉感。
课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握智能控制的基本原理和方法。
学生特点:学生具备一定的编程基础,对智能控制感兴趣,具备初步的问题分析能力。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,鼓励学生动手实践,培养学生的创新能力和实际操作能力。
将课程目标分解为具体的学习成果,以便在教学设计和评估中实现教学目标的有效达成。
二、教学内容1. 智能控制概述- 了解智能控制的发展历程- 掌握智能控制的基本概念和分类2. BP算法原理- 学习神经网络的基本结构- 理解BP算法的工作原理和步骤- 掌握误差反向传播的计算方法3. 智能控制系统设计- 学习智能控制系统的设计方法和步骤- 分析实际案例,了解智能控制系统在各个领域的应用4. 编程实践- 使用Python编程实现BP算法- 设计并实现简单的智能控制系统5. 系统性能评估- 学习性能评估的指标和方法- 通过实验和数据分析,评估智能控制系统的性能6. 案例分析与讨论- 分析典型智能控制案例,总结经验- 讨论智能控制技术的发展趋势和未来展望教学内容安排和进度:第1周:智能控制概述第2周:BP算法原理第3周:智能控制系统设计第4周:编程实践第5周:系统性能评估第6周:案例分析与讨论本教学内容与课本紧密关联,按照教学大纲的安排,确保内容的科学性和系统性。
基于神经网络的模糊控制系统设计与实现随着科技的不断发展,应用人工智能技术来解决问题已经成为趋势。
其中,神经网络和模糊控制系统是两个比较常用的技术,二者结合起来也是很有前途的。
一、神经网络神经网络是模拟人类神经系统的一种计算模型。
它由许多简单的神经元组成,这些神经元之间通过连接进行信息传递,从而实现了模式识别、分类、回归等功能。
通俗地说,就是让计算机模拟人脑的思维方式。
神经网络有很多种结构和算法,其中比较常用的是多层感知机(Multi-layer Perceptron,MLP)。
MLP是一种前向反馈神经网络,由输入层、隐藏层和输出层组成,如图1所示。
图1 MLP网络结构示意图其中,输入层和输出层很好理解,而隐藏层则是用来处理输入与输出之间的关系,其中每个神经元计算的结果会被传递给下一层。
MLP是一种有监督学习算法,即需要给定训练集和对应的目标输出,通过反向传播算法来训练神经网络,不断调整权重和偏置,从而减小预测输出与真实输出之间的误差。
在训练完成以后,神经网络可以用来进行预测,从而实现分类、预测等任务。
二、模糊控制系统模糊控制系统是一种基于模糊数学理论的控制系统。
不同于传统控制系统中的明确的控制规则和精确的数学模型,模糊控制系统通过模糊集合、模糊逻辑来处理模糊信息,从而实现控制目标。
通俗地说,就是将现实世界中的模糊概念映射到数学空间中,通过对模糊概念的描述和处理来实现控制。
例如,温度控制系统可以被描述为“当室内温度较低时,加热器应该加热;当室内温度较高时,加热器应该停止加热”这样一个模糊规则库,从而实现对室内温度的控制。
模糊控制系统有很多算法和方法,其中最常用的是基于 Mamdani 模型的模糊控制系统。
Mamdani 模型将输入变量和输出变量用模糊集合来描述,通过一系列的 IF-THEN 规则来实现模糊控制,具体结构如图2所示。
图2 Mamdani 模糊控制系统结构示意图其中,输入变量被映射到它们各自的模糊集合上,每个输入变量都有自己的隶属函数来描述模糊集合的特征。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==智能控制研究报告 (4000字)智能控制理论研究报告一、绪论随着计算机、材料、能源等现代科学技术的迅速发展和生产系统规模不断扩大 , 形成了复杂的控制系统 ,导致了控制对象、控制器、控制任务等更加复杂。
与此同时 , 对自动化程度的要求也更加广泛 ,面对来自柔性控制系统( FMS) 、智能机器人系 (IRS) 、数控系统 ( CNS) 、计算机集成制造系统(CIMS 等复杂系统的挑战 , 经典的与现代的控制理)论和技术已不适应复杂系统的控制。
智能控制是在控制论、信息论、人工智能、仿生学、神经生理学及计算机科学发展的基础上逐渐形成的一类高级信息与控制技术。
智能控制突破了传统控制理论中必须基于数学模型的框架 ,它基本上按实际效果进行控制 ,不依赖或不完全依赖于控制对象的数学模型 ,又继承了人类思维的非线性特性。
某些智能控制方法还具有在线辨识、决策或总体自寻优的能力和分层信息处理、决策的功能二、国内外研究现状:2.1国际1965年,K.S.Fu(傅京孙)首先提出把人工智能的直觉推理规则方法用于学校控制系统。
1966年Mendel进一步在空间飞行器学习系统研究中提出了人工智能控制概念。
1967年,Leondes等人首先正式使用“智能控制”一词。
此后智能控制开始逐渐发展。
1987年在费城进行的第一次国际智能控制会议,标志着智能控制开始成为一个崭新的学科。
近年来,智能控制理论与智能化系统发展十分迅速。
其中代表性的理论有专家系统,模糊逻辑控制、神经网络控制、基因控制即遗传算法、混沌控制、小波理论、分层递阶控制、拟人化智能控制、博弈论等。
著名的控制理论权威专家Austrom在其“智能控制的方向”一文中指出:模糊逻辑控制,神经网络与专家系统是典型的智能控制方法。
2.2国内智能技术在国内也受到广泛重视,中国自动化学会等于1993年8月在北京召开了第一届全球华人智能控制与智能自动化大会,1995年8月在天津召开了智能自动化专业委员会成立大会及首届中国智能自动化学术会议,1997年6月在西安召开了第二届全球华人智能控制与智能自动化大会。
一、实验背景随着科技的不断发展,智能控制技术在各个领域得到了广泛应用。
为了让学生深入了解智能控制的基本原理和应用,本实验旨在通过北航智能控制实验平台,对智能控制技术进行实践操作,培养学生动手能力和创新思维。
二、实验目的1. 理解智能控制的基本概念和原理;2. 掌握智能控制算法的设计与实现;3. 熟悉智能控制实验平台的使用方法;4. 提高学生的动手能力和创新思维。
三、实验内容1. 智能控制基础理论(1)智能控制的基本概念:智能控制是研究如何使机器具有类似人类智能的控制能力,实现自主决策、自主学习和自适应控制的技术。
(2)智能控制的基本原理:主要包括模糊控制、神经网络控制、遗传算法控制等。
2. 智能控制算法设计与实现(1)模糊控制算法:设计模糊控制器,实现对被控对象的稳定控制。
(2)神经网络控制算法:设计神经网络控制器,实现对被控对象的快速响应和精确控制。
(3)遗传算法控制算法:设计遗传算法控制器,实现对被控对象的优化控制。
3. 智能控制实验平台操作(1)熟悉智能控制实验平台的结构和功能,包括硬件设备、软件界面等。
(2)根据实验要求,搭建实验系统,包括被控对象、控制器、传感器等。
(3)进行实验参数设置,包括控制算法参数、被控对象参数等。
(4)观察实验结果,分析实验现象,验证控制效果。
四、实验步骤1. 实验准备:了解实验目的、内容、步骤和要求,准备好实验所需的设备和工具。
2. 理论学习:学习智能控制的基本概念、原理和算法,为实验操作打下理论基础。
3. 系统搭建:根据实验要求,搭建实验系统,包括被控对象、控制器、传感器等。
4. 参数设置:根据实验要求,设置控制算法参数、被控对象参数等。
5. 实验操作:按照实验步骤进行操作,观察实验现象,记录实验数据。
6. 数据分析:对实验数据进行分析,验证控制效果,评估实验结果。
7. 实验总结:总结实验过程中遇到的问题、解决方法以及实验心得体会。
五、实验结果与分析1. 模糊控制实验:通过调整模糊控制器参数,实现了对被控对象的稳定控制,验证了模糊控制算法的有效性。
模糊控制,神经控制和智能控制论》报告报告题目:基于模糊推理的智能控制系统的现状和展望专业:应用数学学号:11404022 姓名:周坤任课老师:黄天民基于模糊推理的智能控制系统的现状和展望摘要:通过对模糊推理的智能控制系统的简单概述,揭示了模糊控制系统的研究现状和未来展望。
从不同角度概括了模糊控制系统的优点;通过对模糊控制应用研究现状的分析,表明模糊控制系统已经广泛应用于实际中;介绍了模糊控制的最新研究领域以及未来研究的方向。
关键词:模糊控制;控制器;数学模型1.模糊控制的优点模糊控制之所以能获得巨大的成功,其主要原因在于它具有如下一些突出优点:(1)模糊控制是一种基于规则的控制。
它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识在设计中不需要建立被控对象的精确数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。
(2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取、动态特性不易掌握或变化非常显著的对象非常适用,已越来越多地、成功地应用于实际中。
(3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统的语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。
(4)模糊控制算法是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。
(5)模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。
2.模糊控制系统的应用研究现状模糊控制具有良好控制效果的关键是要有一个完善的控制规则。
但由于模糊规则是人们对过程或对象模糊信息的归纳,对高阶、非线性、大时滞、时变参数以及随机干扰严重的复杂控制过程,人们的认识往往比较贫乏或难以总结完整的经验,这就使得单纯的模糊控制在某些情况下很粗糙,难以适应不同的运行状态,影响了控制效果。
clear all;close all;T=0; %ʱ¼ä³£Êýa=newfis('fuzz_temperatrue');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','trimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','trimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','trimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'output','u',[72,78]); %Parameter u a=addmf(a,'output',1,'NB','zmf',[72,74]);a=addmf(a,'output',1,'NM','trimf',[72,73,75]);a=addmf(a,'output',1,'NS','trimf',[73,74,75]);a=addmf(a,'output',1,'Z','trimf',[74,75,76]);a=addmf(a,'output',1,'PS','trimf',[75,76,77]);a=addmf(a,'output',1,'PM','trimf',[75,77,78]);a=addmf(a,'output',1,'PB','smf',[76,78]);rulelist=[1 1 1 1; %Edit rule base2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1;6 6 1 1;7 7 1 1];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom'); %Defuzzywritefis(a1,'temperatrue'); %Save to fuzzy file "tank.fis" a2=readfis('temperatrue');figure(1);plotfis(a2);figure(2);plotmf(a,'input',1);figure(3);plotmf(a,'output',1);flag=1;if flag==1showrule(a) %Show fuzzy rule baseruleview('temperatrue'); %Dynamic Simulationenddisp('-------------------------------------------------------');disp(' fuzzy controller table:e=[-3,+3],u=[-4,+4] ');disp('-------------------------------------------------------');for i=1:1:7e(i)=i-4;Ulist(i)=evalfis([e(i)],a2);endUlist=round(Ulist)e=-3; % Erroru=evalfis([e],a2) %Using fuzzy inference四、Simulink仿真模型五、实验结果令T=0;1、模糊控制器为一维控制器,输入输出变量的量化等级为7级,取5个模糊集。
基于BP神经网络的模糊PID控制器的设计【摘要】工业过程控制中广泛采用PID控制,但传统PID控制因其控制参数的固定,在线整定难等问题。
为此本文研究了一种新的自适应模糊PID控制方法,为了解决模糊推理没有学习能力的问题,本文又提出了一种基于BP神经网络的自适应模糊控制方法。
此方法是模糊控制、神经网络和PID控制的有效结合。
仿真实验表明,这种基于BP神经网络的模糊PID控制算法具有良好的控制效果。
【关键词】PID控制;BP神经网络;模糊PID控制Abstruct:PID control are widely used in industrial process control,but the traditional PID control because of its control parameters are fixed,and it is difficult to adjust its parameters online.So this paper studies a new adaptive fuzzy PID control method,to solve problem without the ability to learn,and put forward a kind of adaptive fuzzy control method based on BP neural network in this paper.It is the effective combination of fuzzy control,neural network and PID control.Simulation results show that this fuzzy PID control method based on BP neural network has good control effect.Keywords:PID control;BP neural network;Fuzzy PID control1.引言常规PID在控制领域被广泛应用,利用数学算法来整定参数。
智能控制大作业报告模糊部分姓名:学号:专业:2011年06月03日题目:已知()()0.5250.528sG e s s s -=+++,分别设计PID 控制与模糊控制,使系统达到较好性能,并比较两种方法的结果。
PID/FCG(s)yr_e具体要求:1、采用Fuzzy 工具箱实现模糊控制器。
2、分析量化因子和比例因子对模糊控制器控制性能的影响。
3、分析系统阶数发生变化时模糊控制和PID 控制效果的变化。
4、分析系统在模糊控制和PID 控制作用下的抗干扰能力(加噪声干扰)、抗非线性能力(加死区和饱和特性)以及抗时滞的能力(对时滞大小加以改变)。
一 原系统仿真分析原系统是一个带有时滞环节的三阶系统,系统的三个极点均在s 域左半平面,系统是稳定的。
利用Matlab/Simulink 工具箱搭建系统框图,对原系统进行阶跃响应分析。
原系统框图如图1所示:图1 原系统框图设定仿真时间为10秒,其它为默认设置,运行程序,可以得到如图2所示仿真结果。
0123456789100.10.20.30.40.50.60.7t/s原系统阶跃响应图2 原系统阶跃响应曲线由图可以看出,原系统是稳定的,但是稳态误差比较大。
二 PID控制器设计根据上述仿真分析,可以知道系统性能比较差,因此设计初步设计PID控制器以在一定程度上改善系统性能。
PID参数的整定采用尝试的方法,遵循先比例后积分再微分的整定顺序,达到保持两个周期、前后超调比约为1:4的理想响应波形。
带PID控制器的系统框图如图3所示:图3 PID控制系统框图其中PID控制器参数如图4所示:图4 PID参数设置设定仿真时间为20s ,运行程序,可以得到如图5所示仿真结果:246810121416182000.20.40.60.811.21.4t/sS t e pPID 控制响应图5 PID 控制阶跃响应曲线由图可以看出,增加PID 控制的系统能够完全消除稳定误差,且具有较小的超调和较短的调节时间,极大程度地改善了系统的性能。
一、实验目的1. 了解智能控制的基本原理和方法。
2. 掌握智能控制系统的设计和实现方法。
3. 熟悉智能控制实验平台的操作和应用。
二、实验原理智能控制是利用计算机技术、控制理论、人工智能等知识,实现对复杂系统的自动控制。
实验主要涉及以下原理:1. 模糊控制:利用模糊逻辑对系统进行控制,实现对系统不确定性和非线性的处理。
2. 专家控制:通过专家系统对系统进行控制,实现对系统复杂性和不确定性的处理。
3. 神经网络控制:利用神经网络强大的学习能力和泛化能力,实现对系统的自适应控制。
三、实验器材1. 实验平台:智能控制实验箱2. 传感器:温度传感器、湿度传感器、压力传感器等3. 执行器:电机、继电器、阀门等4. 控制器:单片机、PLC等5. 信号线、连接线等四、实验内容1. 模糊控制器设计(1)建立模糊控制模型:根据实验要求,确定输入、输出变量和模糊控制规则。
(2)设计模糊控制器:根据模糊控制规则,设计模糊控制器,包括模糊化、去模糊化等环节。
(3)仿真实验:利用仿真软件对模糊控制器进行仿真实验,验证控制效果。
2. 专家控制器设计(1)建立专家系统:收集专家知识,构建专家系统。
(2)设计专家控制器:根据专家系统,设计专家控制器,实现对系统的控制。
(3)仿真实验:利用仿真软件对专家控制器进行仿真实验,验证控制效果。
3. 神经网络控制器设计(1)建立神经网络模型:根据实验要求,确定神经网络的结构和参数。
(2)训练神经网络:利用实验数据对神经网络进行训练,提高网络的控制能力。
(3)设计神经网络控制器:根据训练好的神经网络,设计神经网络控制器,实现对系统的控制。
(4)仿真实验:利用仿真软件对神经网络控制器进行仿真实验,验证控制效果。
五、实验步骤1. 熟悉实验平台,了解各模块的功能和操作方法。
2. 根据实验要求,设计模糊控制器、专家控制器和神经网络控制器。
3. 利用仿真软件对控制器进行仿真实验,验证控制效果。
4. 分析实验结果,对控制器进行优化和改进。
昆明理工大学信息工程与自动化学院学生实验报告( 2014—2015学年 第二学期 )课程名称:智能控制导论 开课实验室:信自楼442机房 2015年5月30日通过上机实习,熟悉MATLAB 的基本操作命令和神经网络工具箱的使用,掌握MATLAB 编程或神经网络编辑器等方法,进行BP 神经网络设计的基本方法和步骤,为以后利用计算机进行神经网络控制系统分析与设计打下良好的基础。
二、实验内容试设计BP 神经网络来实现正弦函数的逼近。
输入矢量 X= -2: 0.05: 2; 相对应的目标矢量)cos()2sin(X X Y ⋅+⋅=ππ三、实验要求1. 设计一个BP 神经网络来实现对正弦函数关系的逼近; 2. 正确的选择确定BP 神经网络的相关参数; 3. 完成BP 网络函数逼近程序的仿真与调试; 4. 仿真结果分析。
四、实验原理BP 网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。
一个典型的三层BP 网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。
层与层之间有两种信号在流通:一种是工作信号,它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。
另一种是误差信号,网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。
BP网络的学习过程程由前向计算过程和误差反向传播过程组成。
在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。
如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算。
这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束。
五、实验过程利用两层BP网络完成函数逼近,隐含层激活函数为S型函数,输出层的激活函数为线性函数。
程序为:clear all;clc;NNTWARN OFF;X=-2:0.05:2;T=sin(2*pi*X)+cos(pi*X);plot(X,T,'+b');pause得到原始曲线截图:建立BP网络,并初始化权值和阈值程序为:[R,N]=size(X);[S2,N]=size(T);S1=20; %隐含层神经元个数[w11,b11,w12,b12]=initff(X,S1,'tansig',S2,'purelin');[y1,y21]=simuff(X,w11,b11,'tansig',w12,b12,'purelin');得到训练前BP网络的函数逼近效果截图:利用不含噪声的理想输入数据训练网络程序为:disp_freq=5;max_epoch=10000; % 训练次数err_goal=0.05; % 训练误差lr=0.01; %学习速率tp=[disp_freq max_epoch err_goal lr];[w21,b21,w22,b22,te,tr]=trainbpx(w11,b11,'tansig',w12,b12,'purelin',X,T,t p);BP网络训练过程参数显示截图为显示训练后网络的函数逼近效果程序为[y1,y22]=simuff(X,w21,b21,'tansig',w22,b22,'purelin'); plot(X,y21,'--g',X,y22,'or')disp('网络训练步数为:')tepause训练后BP网络的函数逼近效果截图为达到要求所用的网络训练步数截图:由于我预设的训练误差为0.05,相对来说比较大,而且预设10000步达到训练目的,但只用了1348步就已经完成了,所以我做了大胆的设想,将训练误差改为0.01,以期望能达到更高的要求。
西安电子科技大学《智能控制》读书报告学院机电工程学院姓名学号课题分组《智能控制》读书报告机电工程学院概述通过本学期对智能控制理论尤其是专家控制的学习,让我接触并了解了一个新的领域。
智能控制作为当今多学科交叉的前沿领域之一,是应用人工智能的理论与技术和运筹学的优化方法,并将其同控制理论方法与技术相结合,在未知环境下,仿效人的智能,实现对系统的控制。
1985年IEEE在美国纽约召开了第一届智能控制研讨会,随后成立了IEEE智能控制专业委员会。
1987年在美国举行第一届国际智能控制大会,标志着智能控制领域的形成。
20世纪90年底至今,智能控制进入了新的发展时期,随着对象规模的扩大以人工智能技术、信息论、系统论和控制论的发展,人们试从高层次研究智能控制,这不仅形成了智能控制的多元化,而且在应用实践方面取得了重大进展。
我国智能控制也兴起于这一时期。
纵观智能控制产生、发展的历史背景与现状,其研究中心始终是解决传统控制理论、方法(包括古典控制、现代控制、自适应控制、鲁棒控制、大系统方法等)所难以解决的不确定性问题。
控制学科所面临的控制对象的复杂性、环境的复杂性、控制目标的复杂性愈益突出,智能控制的研究提供了解决这类问题的有效手段,集中表现在控制工程中运用智能方法解决复杂系统的控制已取得了相当多的成功。
智能控制通常被理解为智能化的自动控制系统,其研究的主流在自动控制界,将人工智能看作自动控制的技术服务学科,运用已有的人工智能方法、技术解决自动控制系统的部分问题;基于工程控制的观念,把智能控制系统理解为高度自治的自动控制系统;在智能控制方法上,运用已有控制算法作低层次的组合;智能控制已不是一个学科所能独自完成得了的,应结合多种学科知识来解决复杂系统的控制问题,这一点已得到专家的共识。
基于这种认识,人们将各种学科大胆地应用于控制中引出了许多新理论和新方法。
随着信息技术的发展,许多新方法和技术进入工程化、产品化阶段,这对自动控制技术提出更新的挑战,促进了智能理论在控制技术中的应用,以解决用传统的方法难以解决的复杂系统的控制问题。
智能控制概述摘要:智能控制(intelligent controls)在无人干预的情况下能自主地驱动智能机器实现控制目标的自动控制技术。
控制理论发展至今已有100多年的历史,经历了“经典控制理论”和“现代控制理论”的发展阶段,已进入“大系统理论”和“智能控制理论”阶段。
智能控制理论的研究和应用是现代控制理论在深度和广度上的拓展。
本文是对人工智能一个较全面的综述。
关键词:智能控制,人工智能,智能控制的发展,智能控制展望一、前言人类的进化归根结底是智能的进化,而智能反过来又为人类的进步服务。
我们学习与研究智能系统、智能机器人和智能控制等,其目的就在于创造和应用智能技术和智能系统,从而为人类进步服务。
因此,可以说对智能控制的钟情、期待、开发和应用,是科技发展和人类进步的必然趋势。
在科学技术发展史上,控制科学同其他技术科学一样,它的产生与发展主要由人类的生产发展需求和人类当时的知识水平所决定和限制的。
二、智能控制发展概述1、萌芽期(1960~1970)20世纪60年代,控制学者在研究复杂系统的控制过程中,为了提高控制系统的自组织、自学习能力,开始将人工智能技术引入控制系统。
60年代初期,F.W.Smith采用性能模式识别器来学习最优控制方法,试图利用模式识别技术来解决复杂系统的控制问题。
1965年,美国Zadeh提出了模糊集合理论,为解决复杂系统的控制问题提供了强有力的数学工具。
同年,美国的Feigenbaum着手研制世界上第一个专家系统。
傅京孙教授提出将人工智能中的直觉推理方法用于学习控制系统。
1966年,Mendel将人工智能技术应用于空间飞行器的学习控制中。
1967年,Leondes和Mendel首先使用“智能控制”一词,并把记忆、目标分解等一些简单的人工智能技术用于学习控制系统,提高了系统处理不确定问题的能力。
2、形成期(1970~1980)70年代初期,傅京孙等人正式提出了智能控制是人工智能技术与控制理论的交叉,并创立了人-机交互式分级递阶智能控制的系统结构。
智能控制导论实验报告2012-01-09姓名:常青学号:0815321002班级:08自动化指导老师:方慧娟实验一:模糊控制器设计与实现一、实验目的1.模糊控制的特征、结构以及学习算法2.通过实验掌握模糊自整定PID的工作原理二、实验内容已知系统的传递函数为:1/(10s+1)*e(-0.5s)。
假设系统给定为阶跃值r=30,系统初始值r0=0.试分别设计(1)常规的PID控制器;(2)常规的模糊控制器;(3)比较两种控制器的效果;(4)当通过改变模糊控制器的比例因子时,系统响应有什么变化?三、实验设备Matlab7.0软件/SIMULINK四、实验原理1.模糊控制模糊逻辑控制又称模糊控制,是以模糊集合论,模糊语言变量和模糊逻辑推理为基础的一类计算机控制策略,模糊控制是一种非线性控制。
图1-1是模糊控制系统基本结构,由图可知模糊控制器由模糊化,知识库,模糊推理和清晰化(或去模糊化)四个功能模块组成。
针对模糊控制器每个输入,输出,各自定义一个语言变量。
因为对控制输出的判断,往往不仅根据误差的变化,而且还根据误差的变化率来进行综合评判。
所以在模糊控制器的设计中,通常取系统的误差值e 和误差变化率ec 为模糊控制器的两个输入,则在e 的论域上定义语言变量“误差E”,在ec 的论域上定义语言变量“误差变化EC”;在控制量u 的论域上定义语言变量“控制量U”。
通过检测获取被控制量的精确值,然后将此量与给定值比较得到误差信号e,对误差取微分得到误差变化率ec,再经过模糊化处理把分明集输入量转换为模糊集输入量,模糊输入变量根据预先设定的模糊规则,通过模糊逻辑推理获得模糊控制输出量,该模糊输出变量再经过去模糊化处理转换为分明集控制输出量。
2.PID 控制在模拟控制系统中,控制器最常用的控制规律是PID 控制。
PID 控制器是一种线性控制器。
它根据给定值与实际输出值之间的偏差来控制的。
其传递函数的形式是:)11()(s T k s G D I p ++=,PID 控制原理框图如图1-2所示。
式中p k ——比例系数;I T ——积分时间常数;D T ——微分时间图1-1模糊控制器的基本结构规则库模糊化接口模糊推理清晰化接口常数。
PID 控制器各环节的作用如下:(1)、比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差。
增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。
(2)、积分环节:主要消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数I T ,I T 越大,积分作用越弱,反之越强。
增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。
(3)、微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
增大微分时间D 有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。
五、实验步骤1、基于simulink 的PID 控制器的仿真及其调试:e 实际输出值给定值+—比例微分积分被控对象图1-2PID 控制系统原理框图示波器观察到的波形为:2、基于simulink的模糊控制器的仿真及其调试:(1)启动matlab后,在主窗口中键入fuzzy回车,屏幕上就会显现出如下图所示的“FIS Editor”界面,即模糊推理系统编辑器。
(2)双击输入量或输出量模框中的任何一个,都会弹出隶属函数编辑器,简称MF编辑器。
(3)在FIS Editor界面顺序单击菜单Editor—Rules出现模糊规则编辑器。
本次设计采用双输入(偏差E和偏差变化量EC)单输出(U)模糊控制器,E的论域是[-6,6],EC的论域是[-6,6],U的论域是[-6,6]。
它们的状态分别是负大(NB)、负中(NM)、负小(NS)、零(ZO)、正小(PS)、正中(PM)、正大(PB)。
语言值的隶属函数选择三角形的隶属度函数。
推理规则选用Mamdani控制规则。
该控制器的控制规则表如图所示:Simulink仿真图如下:在调试过程中发现加入积分调节器有助于消除静差,通过试凑法得出量化因子,比例因子以及积分常数。
Ke,Kec,Ku,Ki分别是:3,2.5,3.5,0.27六、结果分析通过比较PID控制器和模糊控制器,由实验得到的波形图可以看出两个系统观察到的波形并没有太大的区别。
相对而言,对于给出精确数学模型的控制对象,PID控制器显得更具有优势,原因如下:(1)、PID控制器相对比较简单,而模糊控制器设计较为复杂,不仅要设计变量还要设计模糊规则;(2)、PID控制器调节三个参数可以达到满意的效果,对于给出给出精确数学模型的控制对象,模糊控制器并没有展现出太大的优势,调节参数的难度并不亚于PID控制器。
在实验中增大模糊控制器的比例因子Ku会加快系统的响应速度,但Ku过大将会导致系统输出上升速率过快,从而使系统产生较大的超调量乃至发生振荡;Ku过小,系统输出上升速率变小,将导致系统稳态精度变差。
实验二:神经网络字符识别一、实验目的1.熟悉神经网络的特征、结构以及学习算法2.了解神经网络的结构对控制效果的影响3.掌握用MATLAB实现神经网络控制系统仿真的方法。
二、实验内容编写一个利用前向传播神经网络进行字符识别的程序,设神经网络为具有一个隐含的BP网络,需识别的字符有三个A、I和O,其输入为4*4个像素的扫描输入;目标输出分别是A=(1,-1,-1),I=(-1,1,1),O=(-1,-1,1).网络为16个输入点、3个输出点、9个隐含层节点。
利用所编程序完成训练后,在输入样本X=(1,1,1,1,1,-1,-1,1,1,1,1,1,1,1,-1,1)时,求网络输出值。
三、实验设备Matlab7.0/SIMULINK四、实验原理人工神经网络ANN(Artificial Neural Network)系统由于具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。
尤其是基于误差反向传播(Back Propagation)算法的多层前馈网络(Muhiple-LayerFeedforward Network),即BP网络,可以以任意精度逼近任意连续函数,所以广泛地应用于非线性建模、函数逼近和模式分类等方面。
1.BP网络算法实现BP算法属于 算法,是一种监督式的学习算法。
其主要思想是:对于M个输人学习样本,已知与其对应的输出样本。
学习的目的是用网络的实际输出与目标矢量之间的误差来修改其权值,使实际与期望尽可能地接近,即使网络输出层的误差平方和达到最小,他是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标的。
每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层。
2.BP网络的设计在MATLAB神经网络工具箱中.有很方便的构建神经网络的函数。
对于BP网络的实现.其提供了四个基本函数:newff,init.train和sim.它们分别对应四个基本步骤.即新建、初始化、训练和仿真(1)初始化前向网络初始化是对连接权值和阈值进行初始化。
initff函数在建立网络对象的同时,自动调用初始化函数,根据缺省的参数对网络的连接权值和阈值进行初始化。
格式:[wl,bl,w2,b2]=initff(p,sl,fl,s2,f2)其中P表示输入矢量,s表示神经元个数,f表示传递函数,W表示权值,b表示阈值。
(2)训练网络BP网络初始化以后,就可对之进行训练了。
函数采用批处理方式进行网络连接权值和阈值的更新,要对其参数进行设置,如学习步长、误差目标等,同时在网络训练过程中,还用图形显示网络误差随学习次数的变化。
1基本梯度下降法训练网络函数trainbp格式:[wl,bl,w2,b2,te,tr]=trainbp(wl,bl,fl,w2,b2,f2,p,t,tp)2带有动量项的自适应学习算法训练网络函数trainbpx格式:[wl,bl,w2,b2,te,tr]=trainbpx(wl,bl,fl,w2,b2,f2,p,t,tp)其中P表示输入矢量,t表示目标矢量,te为网络的实际训练次数,tr为网络训练误差平方和的行矢量,tp表示网络训练参数(如学习率、期望误差、最大学习次数等)。
(3)网络仿真仿真函数simff用来对网络进行仿真。
利用此函数,可以在网络训练前后分别进行输入输出的仿真,以做比较,从而对网络进行修改评价。
格式:a=simff(p,wl,b1,fl,w2,b2,f2)其中a表示训练好的BP网络的实际输出。
五、实验步骤A=[1111;1-1-11;1111;1-1-11];I=[-11-1-1;-11-1-1;-11-1-1;-11-1-1];O=[1111;1-1-11;1-1-11;1111];X2=[11111-1-11111111-11]';X=[A(:)I(:)O(:)];T0=[1;-1;-1];T1=[-1;1;1];T2=[-1;-1;1];T=[T0T1T2];%建立网络,并得权值和阈值[R N1]=size(X);[S2N1]=size(T);S1=10;%隐含层的个数%minmax(X)表示输入向量,[S1S2]表示隐含层和输出层的个数%隐含层和输出层的激活函数为'tansig','traingdx'表示反向权值学习函数net=newff(minmax(X),[S1S2],{'tansig','tansig'}, 'traingdx');w=net.LW{2,1};b=net.b{1};b=net.b{2};y1=sim(net,X);%利用不含噪声的理想输入数据训练网络,并得权值和阈值net.performFcn='sse';%平方和偏差函数net.trainParam.goal=0.000001;%训练目标偏差net.trainParam.epochs=5000;%训练时间net.trainParam.show=20;%计算步长net.trainParam.mc=0.95;%动量参数[net,tr]=train(net,X,T);w=net.LW{2,1};b=net.b{1};b=net.b{2};y2=sim(net,X);%为使网络对输入有一定容错能力,再分别利用不含和含有噪声的输入数据训练网络net.trainParam.goal=0.6;%训练目标偏差net.trainParam.epochs=500;%训练时间net1=net;T1=[T T T T];for i=1:10X1=[X X(X+randn(R,N1)*0.1)(X+randn(R,N1)*0.2)];[net1,tr]=train(net1,X1,T1)endy3=sim(net1,X);%为了保证网络总能够正确地对理想输入信号进行识别,再次用理想信号进行训练[net1,tr]=train(net1,X,T);w=net.LW{2,1};b=net.b{1};b=net.b{2};y5=sim(net,X2)%样本测试六、结果分析结果输出y5=0.9923-0.9975-0.4281。