欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    [智能控制理论]智能控制理论的研究与进展.docx

    • 资源ID:6342274       资源大小:20.48KB        全文页数:17页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [智能控制理论]智能控制理论的研究与进展.docx

    智能控制理论智能控制理论的研究与进展智能控制实验报告(xx 学年 春季 学期)课程名称: 任课教师:杜尚丰 班 级:自动061 学 号:0608140612 姓 名:孙倩实验题目1: SISO PID神经网络控制姓名: 孙倩 班级: 自动化061 学号: 0608140612一、仿真模型描述单变量P I D神经网络的结构形式如下:单变量神经网络的结构图本实验用PID 神经网络实现单输入单输出解耦系统的模型仿真,用到的仿真模型为:y(k+1)=0.8sin(y(k)+1.2u(k), k系统输入: r(k)=1(k)二、仿真参数说明系统的输入向量是:r(k)=1;输出向量是:y(k+1);系统的控制向量为:u(k);准则函数为:E 1(k ) =12r 1(k ) -y 1(k )2权系地训练(取1=2=0.8)方式:W(k+1)=W(k)- 可得:w i (k+1)=w i (k)+ e(k+1)oi (k)+w i (k)-w i (k-1)1w j (k+1)=1w j (k)+ e(k+1)fxj (k)2w j (k)y(k)+ 1w j (k)-1w j (k-1)2222+W(k)=W(k-1)三、仿真结果分析以下四幅图分别是系统输入r ,系统输出y ,系统控制量u ,以及系统误差error.2系统输出y 1系统输入r 11.51.510.5010.500.20.40.6时间(秒)0.800.20.40.6时间(秒)0.80.80.60.40.20系统误差e r r o r 1系统控制量u 110.500.20.40.6时间(秒)0.8-0.500.20.40.6时间(秒)0.81、从图中我们可以看得到:当对象特性变化(k40) 时,由于PID 神经网络控制 器权系值地不断调整,使控制量u(k)变化,从而系统地输出经过很短的时间跟踪输入。2、通过PID 控制算法,在系统控制量的作用下我们最终实现了跟踪控制,动态响应性能非常好,达到了输出量y 稳态误差为零的效果。四、仿真程序:%PID神经网络单输入单输出解耦模型仿真 %输入为1%输入层单独成神经网,输出成一个神经网 clear all; close all; s=1;if s=1 %初始化 y1_1=0.0;u1_1=0.0;u1_2=0.0;error1_1=0.0;error1_2=0.0;wo_111=0.1*rand(1);wo_111_1=wo_111; wo_112=0.1*rand(1);wo_112_1=wo_112; wo_113=0.1*rand(1);wo_113_1=wo_113; wo_121=0.1*rand(1);wo_121_1=wo_121; wo_122=0.1*rand(1);wo_122_1=wo_122; wo_123=0.1*rand(1);wo_123_1=wo_123; wi_111=0.1*rand(1);wi_111_1=wi_111; wi_112=0.1*rand(1);wi_112_1=wi_112; wi_121=0.1*rand(1);wi_121_1=wi_121; wi_122=0.1*rand(1);wi_122_1=wi_122; wi_131=0.1*rand(1);wi_131_1=wi_131; wi_132=0.1*rand(1);wi_132_1=wi_132; x11=0.0;x12=0.0;x13=0.0; q11=0.0;q12=0.0;q13=0.0;x11_1=x11;x12_1=x12;x13_1=x13; q11_1=q11;q12_1=q12;q13_1=q13; endts=0.001; for k=1:1:800 time(k)=k*ts;if s=1 r1(k)=1; if 1y1(k)=0.8*sin(y1_1)+1.2*u1_1; elsey1(k)=0.8*sin(0.4*y1_1)+1.2*u1_1; enderror1(k)=r1(k)-y1(k); end%中间层输入输出x11(k)=wi_111_1*r1(k)+wi_112_1*y1(k); x12(k)=wi_121_1*r1(k)+wi_122_1*y1(k); x13(k)=wi_131_1*r1(k)+wi_132_1*y1(k); if x11(k)1 q11(k)=1; elseif x11(k)else q11(k)=x11(k); endif(q12_1+x12(k)1 q12(k)=1;elseif (q12_1+x12(k)else q12(k)=q12_1+x12(k); endif (x13(k)-x13_1)1 q13(k)=1;elseif (x13(k)-x13_1)else q13(k)=x13(k)-x13_1;end%输出层输入输出,输出层输入输出相等u1(k)=wo_111_1*q11(k)+wo_112_1*q12(k)+wo_113_1*q13(k); %中间层到输出层权值计算 wo if u1_1=u1_2 delta1(k)=0; elsedelta1(k)=error1(k)*sign(y1(k)-y1_1)(x11(k)-x11_1); endif x12(k)=x12_1 dqx_12(k)=0;elsedqx_12(k)=sign(q12(k)-q12_1)(x13(k)-x13_1); endif u1_1=u1_2 wo_11(k)=0; Elsewo_11(k)=error1(k)*sign(y1(k)-y1_1)7+1. 2u (k ) k =200该自校正系统的控制框图为:二、仿真参数说明系统输入为:r (k ) =1(k ), 0=300r (k ) =-1(k ), 100作用于被控对象的扰动为:v (k ) =0. 04, k =50v (k ) =0, k 50权值调整方式为BP 算法:V (k )=V (k -1)+V (k )+(V (k -1)-V (k -2)E (k )w j (k )=-w =w (y (k )-y m (k )h j (k )w j (k )E (k )v j (k )=-v =v (y (k )-y m (k )h j (k ) v j (k )三、仿真结果分析当单位阶跃的输入时,我们可以看到如下的结果:1、从该系统对扰动的迅速响应,我们可以得知自校正控制的优越性。 2、上面第一个图所示为控制器输出u(k),说明自校正控制器能对非线性、不确定、不确知系统实现有效的控制。3、第二个图所示为系统输出y (k )再输入r 变化(k=100,k=300)、扰动作用(k=50)及对象特性变化(k=200)时的情况,说明神经自校正控制具有很好的自适应性和鲁棒性。四、仿真程序%Self-Correct control based BP Identification clear all; close all; xite1=0.15; xite2=0.50; alfa=0.05; w=0.5*ones(6,1); v=0.5*ones(6,1); cij=0.50*ones(1,6);bj=5*ones(6,1); h=zeros(6,1); w_1=w;w_2=w_1; v_1=v;v_2=v_1; u_1=0;y_1=0; ts=0.02;for k=1:1:5000 time(k)=k*ts; end if 0else if 100if 0g(k)=0.8*sin(y_1); elseg(k)=0.8*sin(y_1)+(y_1)(2*bj(j)*bj(j); endNg(k)=w"*h;Nf(k)=v"*h;ym(k)=Ng(k)+Nf(k)*u_1; e(k)=y(k)-ym(k); d_w=0*w; for j=1:1:6d_w(j)=xite1*e(k)*h(j); endw=w_1+d_w+alfa*(w_1-w_2); d_v=0*v;for j=1:1:6d_v(j)=xite2*e(k)*h(j)*u_1; endv=v_1+d_v+alfa*(v_1-v_2); u(k)=-Ng(k)Nf(k); u_1=u(k); y_1=y(k); w_2=w_1; w_1=w; v_2=v_1; v_1=v; end figure(1);plot(time,y_1,"b"); xlabel("(s)");ylabel("y"); figure(2);plot(time,u_1,"b"); xlabel("(s)");ylabel("u");五、实验总结从仿真结果来看,神经网络自校正控制器具有很高的精度和很强的适应性, 取得了较好的控制效果。它既保证了控制的鲁棒性好的特点,又借助了神经网络的自学习、自组织的能力,可实现智能控制器参数的在线自整定和优化,有效地提高模糊控制器的精度和抗干扰的能力,避免了人工整定参数的繁琐工作。实验题目3: Fuzzy PID控制姓名: 孙倩 班级: 自动化061 学号: 0608140612一、 仿真模型描述Fuzzy PID控制器结构图如下:Fuzzy PID 控制的我们实验采用的模型是G p (s ) =523500s +87.35s +10470s32对于该模型,我们在试验中设置的采样时间是1m s ,采用模糊PID 控制进行阶跃响应,在第300个采样时间控制器输出加1.0的干扰。二、 仿真参数说明采样时间: 1ms, 系统输入: r(k)=1, 系统输出: y(k) 控制器输出:u(k)为 误差: e(k )比例系数: K P , 积分系数K I , 微分系数 K D三、仿真结果分析系统仿真图如下:仿真时在第300个采样点的时候人为的加入了一个幅值为1的脉冲干扰:1. 输入输出及误差图像:r i n , y o ute r r o rtime(s)time(s)2. 控制器的输出:utime(s)3.PID 参数ki ,kp ,kd 的自适应调整:kptime(s)kitime(s)k dtime(s)4. 以下两幅图是语言变量e 和ec 的隶属函数关系设计图,通过修改程序中的数值可以改变它们的隶属函数关系:(1)程序中包括模糊变量e 和ec ,PID 控制参数Kp ,Ki 和Kd 。其中e 和ec 的论域范围是(-3,3),关于各个变量的隶属度设计程序中已经加载,并且在程序运行之后的GUI 界面下也能清楚的看到。(2)模糊控制规则是基于手动控制策略而做出的,主要作用是用来修正PID 参数的,它是控制领域内技术人员根据过程的阶跃响应情况的经验总结,在进行一定得处理后得到的。(3)在我们的仿真模型中为了看到Fuzzy PID 控制的作用,我们在程序运行到第300个采样点的时候认为的加入了一个幅值为1的脉冲干扰,作为我们FuzzyPID 控制规则动态调整PID 参数能力的一个检验。四、仿真程序:%Fuzzy Tunning PID Control clear all; close all;a=newfis("fuzzpid");a=addvar(a,"input","e",-3,3); %Parameter ea=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,"input","ec",-3,3); %Parameter eca=addmf(a,"input",2,"NB","zmf",-3,-1);a=addmf(a,"input",2,"NM","trimf",-3,-2,0); a=addmf(a,"input",2,"NS","trimf",-3,-1,1); a=addmf(a,"input",2,"Z","trimf",-2,0,2); a=addmf(a,"input",2,"PS","trimf",-1,1,3); a=addmf(a,"input",2,"PM","trimf",0,2,3); a=addmf(a,"input",2,"PB","smf",1,3);a=addvar(a,"output","kp",-0.3,0.3); %Parameter kpa=addmf(a,"output",1,"NB","zmf",-0.3,-0.1); a=addmf(a,"output",1,"NM","trimf",-0.3,-0.2,0); a=addmf(a,"output",1,"NS","trimf",-0.3,-0.1,0.1); a=addmf(a,"output",1,"Z","trimf",-0.2,0,0.2); a=addmf(a,"output",1,"PS","trimf",-0.1,0.1,0.3); a=addmf(a,"output",1,"PM","trimf",0,0.2,0.3); a=addmf(a,"output",1,"PB","smf",0.1,0.3);a=addvar(a,"output","ki",-0.06,0.06); %Parameter kia=addmf(a,"output",2,"NB","zmf",-0.06,-0.02);a=addmf(a,"output",2,"NM","trimf",-0.06,-0.04,0); a=addmf(a,"output",2,"NS","trimf",-0.06,-0.02,0.02);a=addmf(a,"output",2,"Z","trimf",-0.04,0,0.04); a=addmf(a,"output",2,"PS","trimf",-0.02,0.02,0.06); a=addmf(a,"output",2,"PM","trimf",0,0.04,0.06); a=addmf(a,"output",2,"PB","smf",0.02,0.06);a=addvar(a,"output","kd",-3,3); %Parameter kpa=addmf(a,"output",3,"NB","zmf",-3,-1);a=addmf(a,"output",3,"NM","trimf",-3,-2,0); a=addmf(a,"output",3,"NS","trimf",-3,-1,1); a=addmf(a,"output",3,"Z","trimf",-2,0,2); a=addmf(a,"output",3,"PS","trimf",-1,1,3); a=addmf(a,"output",3,"PM","trimf",0,2,3); a=addmf(a,"output",3,"PB","smf",1,3);rulelist=1 1 7 1 5 1 1; 1 2 7 1 3 1 1; 1 3 6 2 1 1 1; 1 4 6 2 1 1 1; 1 5 5 3 1 1 1; 1 6 4 4 2 1 1; 1 7 4 4 5 1 1;2 1 7 1 5 1 1; 2 2 7 1 3 1 1; 2 3 6 2 1 1 1; 2 4 5 3 2 1 1; 2 5 5 3 2 1 1; 2 6 4 4 3 1 1; 2 7 3 4 4 1 1;3 1 6 1 4 1 1; 3 2 6 2 3 1 1; 3 3 6 3 2 1 1; 3 4 5 3 2 1 1; 3 5 4 4 3 1 1; 3 6 3 5 3 1 1; 3 7 3 5 4 1 1;4 1 6 2 4 1 1; 4 2 6 2 3 1 1; 4 3 5 3 3 1 1; 4 4 4 4 3 1 1; 4 5 3 5 3 1 1;4 6 2 6 3 1 1; 4 7 2 6 4 1 1;5 1 5 2 4 1 1; 5 2 5 3 4 1 1; 5 3 4 4 4 1 1; 5 4 3 5 4 1 1; 5 5 3 5 4 1 1; 5 6 2 6 4 1 1; 5 7 2 7 4 1 1;6 1 5 4 7 1 1; 6 2 4 4 5 1 1; 6 3 3 5 5 1 1; 6 4 2 5 5 1 1; 6 5 2 6 5 1 1; 6 6 2 7 5 1 1; 6 7 1 7 7 1 1;7 1 4 4 7 1 1; 7 2 4 4 6 1 1; 7 3 2 5 6 1 1; 7 4 2 6 6 1 1; 7 5 2 6 5 1 1; 7 6 1 7 5 1 1; 7 7 1 7 7 1 1;a=addrule(a,rulelist);a=setfis(a,"DefuzzMethod","mom"); writefis(a,"fuzzpid");a=readfis("fuzzpid");%PID Controllerts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0); dsys=c2d(sys,ts,"tustin"); num,den=tfdata(dsys,"v");u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0"error_1=0; e_1=0.0; ec_1=0.0;kp0=0.40; kd0=1.0; ki0=0.0;for k=1:1:500 time(k)=k*ts;rin(k)=1;%Using fuzzy inference to tunning PID k_pid=evalfis(e_1,ec_1,a); kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2); kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if k=300 % Adding disturbance(1.0v at time 0.3s) u(k)=u(k)+1.0; endif u(k)=10 u(k)=10; endif u(k)yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)+num(2)*u_1+num(3)*u_2+num(4)*u_3;error(k)=rin(k)-yout(k);%Return of PID parameters% u_3=u_2; u_2=u_1; u_1=u(k);y_3=y_2; y_2=y_1;y_1=yout(k);x(1)=error(k); % Calculating P x(2)=error(k)-error_1; % Calculating Dx(3)=x(3)+error(k); % Calculating Ie_1=x(1); ec_1=x(2);error_2=error_1; error_1=error(k); endshowrule(a)figure(1);plot(time,rin,"b",time,yout,"r"); xlabel("time(s)");ylabel("rin,yout"); figure(2);plot(time,error,"r"); xlabel("time(s)");ylabel("error"); figure(3);plot(time,u,"r"); xlabel("time(s)");ylabel("u"); figure(4);plot(time,kp,"r"); xlabel("time(s)");ylabel("kp"); figure(5);plot(time,ki,"r"); xlabel("time(s)");ylabel("ki"); figure(6);plot(time,kd,"r"); xlabel("time(s)");ylabel("kd"); figure(7);plotmf(a,"input",1); figure(8);plotmf(a,"input",2); figure(9);plotmf(a,"output",1); figure(10);plotmf(a,"output",2); figure(11);plotmf(a,"output",3); plotfis(a);fuzzy fuzzpid.fis五、实验总结:Fuzzy PID控制控制器兼有模糊控制和PID 控制的优点, 具有良好的工程应用景,与单一的PID 控制或模糊控制相比,具有以下优点 : ( 1 )具有良好的动态响应性能, 超调量小。( 2 )具有良好的静态性能, 震荡小, 没有静态误差。( 3 )系统参数或结构变化时,Fuzzy PID控制器具有良好的自适应能力和鲁棒性。

    注意事项

    本文([智能控制理论]智能控制理论的研究与进展.docx)为本站会员(yyf)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开