精华内容
下载资源
问答
  • 基于模糊神经网络PID控制的粉体包装计量控制系统
  • 基于一阶倒立摆系统的模糊神经网络PID控制

    千次阅读 多人点赞 2020-01-14 15:11:52
    基于一阶倒立摆系统的模糊神经网络PID控制 1.1 研究背景 模糊系统、神经网络和遗传算法被认为是21世纪人工智能最具发展前途的三个重要领域。它们构成了所谓的“智能计算”。随着科学技术的飞速发展,现代工业控制...

    基于一阶倒立摆系统的模糊神经网络PID控制

    1.1 研究背景
    模糊系统、神经网络和遗传算法被认为是21世纪人工智能最具发展前途的三个重要领域。它们构成了所谓的“智能计算”。随着科学技术的飞速发展,现代工业控制系统变得越来月复杂,基于精确数学模型的传统控制已经达不到理想的控制效果。智能控制是一种模拟人类智能的高级控制系统,它是基于知识的控制,是将控制者和专家经验与知识作为被控对象的模型。
    倒立摆系统是一种典型的高阶、非线性、强耦合、多变量、不稳定的装置,通常被用来检验控制策略的有效性。因为倒立摆系统的竖直稳定状态与机器人直立行走的形态相似,同时又与火箭和飞控很相似,所以对倒立摆系统的学习和研究具有广泛、深远的事件意义。关于倒立摆的学习和研究对其它工程控制问题具有指导意义。
    1.2 模糊神经网络概述
    模糊控制是一门发展迅速、具有广阔应用前景的技术,它不受数学模型的束缚,而是利用人类专家的经验形成模糊语言,生成模糊控制列表,并在实际应用中经过人们反复修正,然后通过计算机采用查表的方法在控制列表中找出相应的模糊控制量,最后经过一定的比例运算得到实际控制量加到被控对象上。模糊控制的规则是由人类专家的经验知识写出的,所以模糊控制能够容易被理解。模糊控制的原理如图1.1所示。
    在这里插入图片描述图1.1 模糊控制原理框图
    人工神经网络是指从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络来模拟人脑神经网络的结构和功能。人工神经网络反映了人脑功能的若干基本特征,包括并行信息处理、学习、联想、模式分类、记忆等。如图1.2所示,是一个简单的 的三层神经网络,包括了输入层、隐含层和输出层,层与层之间通过权值相连接,神经网络的训练的实质是修正权值。
    在这里插入图片描述
    图1.2 神经网络结构

    模糊控制和神经网络,具有互补性。模糊控制具备处理模糊语言信息的能力,可以模拟人类智慧进行判断和决策,但是它模糊控制不具备学习的能力。而神经网络具备学习的能力,但是不具备处理和描述模糊信息。本文基于模糊控制和神经网络的优劣点,将神经网络与模糊控制相结合来实现对倒立摆系统的控制。本文使用的神经网络是BP神经网络,虽然BP神经网络收敛速度较慢、有时还会出现局部极小的情况,但是BP神经网络是目前应用最为广泛的神经网络,关于BP神经网络的研究已经相当成熟,可查询的资料也较为广泛。
    1.3 课题主要工作和内容安排
    课题的主要工作是通过将神经网络与模糊控制相结合的模糊神经网络算法实验对一阶倒立摆系统的控制,并利用MTALAB进行仿真分析,与传统的PID控制算法进行对比。
    本文的内容安排如下:
    第一章 前言。主要讲述课题研究内容的背景,简单描述了模糊控制和神经网络控制的原理以及其优劣点,引出文章的研究的模糊神经网络算法。
    第二章 一级倒立摆的数学建模。为了能够使用计算机对实际问题进行模拟仿真,在本章节中,对实际倒立摆系统进行分析,并推到其数学模型。
    第三章 模糊神经网络的建立。在该章节中,将详细的描述模糊PID控制和模糊神经网络PID控制的原理,搭建模糊神经网络PID控制器。
    第四章 仿真分析对比。对建立模糊神经网络模型进行仿真分析,并与传统的PID控制以及模糊PID控制进行对比。
    第五章 总结。总结课题使用的模糊神经网络算法的优缺点,对存在的问题进行分析总结。讨论课题的进一步的研究方向,最后归纳在总体设计中的心得和体验。

    2 一级倒立摆的数学建模
    2.1 引言
    在本章节中,将详细的介绍如何对一级倒立摆系统进行数学的建模。在2.2小节中,将简单描述一级倒立摆系统的组成。在2.3小节中,详细的推导了直线一级倒立摆的数学模型。
    2.2 一级倒立摆系统
    一级倒立摆系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统如图2.1所示。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车的运动方向、移动速度、加速度等),并由运动控制卡来实现控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动,保持平衡。

    在这里插入图片描述

    图2.1 一级倒立摆闭环系统图
    2.3 一级倒立摆系统数学模型的推导
    关于一级倒立摆的数学建模的方法有很多,如牛顿欧拉法、拉格朗日法等[1]。相对于拉格朗日法,牛顿法较为简单、明晰。本文采用牛顿欧拉法对实际的倒立摆系统进行数学建模。
    本课题所研究的一级直线倒立摆是由一个交流伺服电机驱动的单入双出耦合系统,对一级直线倒立摆系统进行建模时,常作如下假设:(1)系统做刚性运行,忽略弹性势能;(2)摆杆竖直时为平衡位置;(3)忽略所有摩擦系数。
    在这里插入图片描述图2.2 一级直线倒立摆结构模型

    图2.2为一级倒立摆结构模型,关于该倒立摆的参数及其定义如表2.1所示。
    在这里插入图片描述
    表2.1 倒立摆系统的参数定义
    参数 定义 参数值

    小车质量 0.5Kg

    摆杆质量 0.2Kg

    小车摩擦系数 0.1N/m/sec

    摆杆转动轴心到杆质心的长度 0.3m

    摆杆惯量 0.006Kg*m2

    加在小车上的力

    小车的位置

    摆杆与垂直向上方向的夹角

    摆杆与垂直向下方向的夹角

    对一级倒立摆倒立摆系统中的小车和摆杆进行受力分析,其中, 和 为小车与摆杆相互作用力的水平和垂直方向的分量,如图2.3所示。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    (2.14)
    2.4 本章小节
    通过2.2和2.3小节对倒立摆系统的分析,利用牛顿欧拉法对小车进行受力分析,并建立了摆杆与小车加速度之间的传递函数模型公式(2.14)。为第四章的仿真分析提供了理论基础。

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    图3.3 输出变量的隶属度函数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    训练模糊神经网络程序

    e=[6 6 6 6 6 6 6 4 4 4 4 4 4 4 2 2 2 2 2 2 2 0 0 0 0 0 0 0 -2 -2 -2 -2 -2 -2 -2 -4 -4 -4 -4 -4 -4 -4 -6 -6 -6 -6 -6 -6 -6];
    ec=[6 4 2 0 -2 -4 -6 6 4 2 0 -2 -4 -6 6 4 2 0 -2 -4 -6 6 4 2 0 -2 -4 -6 6 4 2 0 -2 -4 -6 6 4 2 0 -2 -4 -6 6 4 2 0 -2 4 6];
    kkp=[-6 -6 -4 -4 -4 0 0 -6 -4 -4 -4 -2 0 2 -4 -4 -2 -2 0 2 2 -4 -4 -2 0 2 4 4 -2 -2 0 2 4 4 4 -2 0 2 2 4 6 6 0 0 2 4 4 6 6];
    kki=[6 6 4 4 2 0 0 6 6 4 2 2 0 0 6 4 2 2 0 -2 -4 4 4 2 0 -2 -4 -4 2 2 0 -2 -2 -4 -6 0 0 -2 -2 -4 -6 -6 0 0 -2 -4 -4 -6 -6];
    kkd=[6 2 2 4 4 4 6 6 2 2 2 2 2 6 0 0 0 0 0 0 0 0 -2 -2 -2 -2 -2 0 0 -2 -2 -4 -4 -2 0 0 -2 -4 -4 -6 -2 2 2 -4 -6 -6 -6 -2 2];
    ee=[e;ec];
    
    bpki=newff([-6 6;-6 6],[2 49 14 7 1],{'tansig','tansig','tansig','tansig','purelin'},'traingdm');
    bpki=init(bpki);%Ki 训练过程
    bpki.trainParam.epochs=5000;
    bpki.trainParam.Ir=0.04;
    bpki.trainParam.goal=5e-3;
    bpki=train(bpki,ee,kki);
    
    bpkd=newff([-6 6;-6 6],[2 49 14 7 1],{'tansig','tansig','tansig','tansig','purelin'},'traingdm');
    bpkd=init(bpkd);%Kd 训练过程
    bpkd.trainParam.epochs=5000;
    bpkd.trainParam.Ir=0.04;
    bpkd.trainParam.goal=5e-3;
    bpkd=train(bpkd,ee,kkd);
    
    bpkp=newff([-6 6;-6 6],[2 49 14 7 1],{'tansig','tansig','tansig','tansig','purelin'},'traingdm');
    bpkp=init(bpkp);%Kp 训练过程
    bpkp.trainParam.epochs=5000;
    bpkp.trainParam.Ir=0.04;
    bpkp.trainParam.goal=5e-3;
    bpkp=train(bpkp,ee,kkp);
    
    gensim(bpkp,-1)
    gensim(bpki,-1)
    gensim(bpkd,-1)
    
    展开全文
  • 针对矿井掘进工作面通风的特点,文章提出了一种将模糊神经网络、遗传算法和PID控制相结合的局部通风机控制方法。该方法运用遗传算法优化模糊神经网络隶属度函数的中心值和宽度,借助BP算法优化连接权系数。实验表明,该...
  • 很好的一篇论文 介绍了模糊神经网络的优点
  • 模糊神经网络PID控制的一个例子

    万次阅读 热门讨论 2016-02-25 10:35:44
    主要是利用输入和输出的限制,得到PID三个参数,然后进行PID系统的控制 %Fuzzy Tunning PID Control clear all; close all; a=newfis('fuzzpid'); %新建模糊推理系统 a=addvar(a,'input','e',[-3,3]); %Parameter...

    主要是利用输入和输出的限制,得到PID三个参数,然后进行PID系统的控制

    %Fuzzy Tunning PID Control
    clear all;
    close all;
    
    a=newfis('fuzzpid');  %新建模糊推理系统
    
    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,'input','ec',[-3,3]);                       %Parameter ec
    a=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 kp
    a=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 ki
    a=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 kp
    a=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','centroid'); %设置模糊推理特性
    writefis(a,'fuzzpid');  %保存模糊推理系统
    
    a=readfis('fuzzpid');%从磁盘读模糊推理系统
    
    figure(1);
    plotmf(a,'input',1);
    figure(2);
    plotmf(a,'input',2);
    figure(3);
    plotmf(a,'output',1);
    figure(4);
    plotmf(a,'output',2);
    figure(5);
    plotmf(a,'output',3);
    figure(6);
    plotfis(a);%图像显示模糊推理系统
    
    fuzzy fuzzpid;
    showrule(a);  %显示模糊规则函数
    ruleview fuzzpid;
    
    
    %%
    %pid 控制
    ts=0.001;
    sys=tf([187],[160 1],'inputdelay',117);
    dsys=c2d(sys,ts,'tustin');
    [num den]=tfdata(dsys,'v');
    u_1=0.0;u_2=0.0;u_3=0;
    y_1=0;y_2=0;y_3=0;
    x=[0 0 0]';
    error_1=0;
    e_1=0;
    ec_1=0;
    kp0=0.4;
    kd0=1.0;
    ki0=0.0;
    for k=1:1:1000
        time(k)=k*ts;
        rin(k)=1;
        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
            u(k)=u(k)+1;
        end
        if u(k)>=10
            u(k)=10
        end
        if u(k)<=-10
            u(k)=-10;
        end
        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);
        u_3=u_2;
        u_2=u_1;
        u_1=u(k);
        
        y_3=y_2;
        u_2=y_1;
        y_1=yout(k);
        
        x(1)=error(k);
        x(2)=error(k)-error_1;
        x(3)=x(3)+error(k);
        e_1=x(1);
        ec_1=x(2);
        error_2=error_1;
        error_1=error(k);
    end
    %%
    figure(1);
    plot(time,rin,'b',time,yout,'r');
    xlabel('time(s)');
    ylabel('rin,yout');
    %%
    figure(2);
     plot(time,error,'r');
     xlabel('time');ylabel('error');
     figure(3);
     plot(time,u,'r');
     xlabel('time');ylabel('u');
     figure(4);
     plot(time,kp,'r');
     xlabel('time');
     ylabel('kp');
     figure(5);
     plot(time,ki,'r');
     xlabel('time');
     ylabel('ki');
     figure(6);
     plot(time,kd,'r');
     xlabel('time');
     ylabel('kd');
     figure(7);
     
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    


    展开全文
  • PID控制模糊控制神经网络控制-PID控制 模糊控制 神经网络控制.rar PID控制\模糊控制\神经网络控制 模型 有偿代做,请联系QQ 1170906655 ,中介勿扰! PID控制 模糊控制 神经网络控制.rar
  • 本文针对大功率船舶柴油发电机组具有的不确定性、时变性、非线性和大纯滞后...通过与常规PID控制、RBF神经网络PID控制模糊PID控制三种方法下的仿真效果进行比较,验证了本文提出的方法具有更好的稳定性和抗干扰能力。
  • 常规PID模糊PID神经网络PID控制效果比较-success.rar 最近做毕设,题目是智能励磁,做了个模糊PID和神经网络PID励磁控制,说白了,和励磁没任何关系,就是对一个三阶模型进行控制,现在与大家分享下。其中常规PID...
  • 针对常规PID控制器和模糊PID控制器存在控制精度差、不能...通过在MATLAB中进行神经网络训练和PID仿真实验,表明了改进RBF模糊神经网络PID控制器具有收敛速度快、能够自适应、控制精度高等优点,具有一定的可行性。
  • 基于模糊神经网络PID的全向移动小车研究,常晓婷,唐火红,针对目前全向移动小车存在运动不稳定问题,设计了一款模糊神经网络PID控制器。首先,根据麦克纳姆轮的结构特性,对全向移动小车进
  • 电力电子行业充电机使用神经网络PID模糊PID和PID三种双闭环控制,模型可直接运行,Ts=1e-6,适合本硕毕业设计使用
  • 针对矿井掘进工作面通风的特点,提出了一种基于模糊神经网络PID控制方法,用以控制矿井局部通风机。该方法利用模糊神经网络来调整PID控制器的参数,能根据瓦斯浓度的变化自适应调整通风机的转速。仿真实验表明,该控制...
  • 稀土作为我国重要的战略资源,其自动化冶炼水平却十分低下,尤其是对稀土质量影响最大的温度控制的研究,有关的论文期刊鲜有报道。...结果表明,模糊神经网络PID控制相应速度快、超调量小,有很好的响应特性和鲁棒性。
  • 智能控制是未来工业控制的发展方向,而PID结构简单,基于模糊神经网络的自适应PID智能控制器能够提高控制系统的稳定性和快速性。
  • 基于模糊神经网络PID算法的伺服控制系统,杨垒,,设计高精度的跟踪控制器是直流无刷电机伺服控制系统实现功能的重要保障。利用PID算法设计跟踪控制器模型进行控制虽然是一种有效的
  • 智能控制相关书籍的书,包含模糊算法+pid,神经网络pid等各种pid和控制理论系统
  • 利用BP神经网络模糊PID控制器的参数和非线性进行调节补偿,从而减少模糊控制器对切换项的增益的需求。分析BP神经模糊PID中,BP神经网络模糊算法和PID控制如何优化、互补和配合。最后用matlab仿真结果来说明BP...
  • (1)PID控制算法简介;(2)基于单神经元网络PID控制器;(3)基于BP神经网络PID控制器;(4) 基于RBF神经网络系统辨识的PID控制器 资源内容包括:PPT文档和MATLAB仿真程序
  • 模糊神经网络PID在双容水箱中的应用 闻晶 武汉臻迪智能技术有限公司 湖北 武汉 430070 摘 要针对双容水箱非线形大滞后的特点,本文提出一种基于模糊神经网络的PID控制方法该方法采用液位偏差和偏差变化率作为输入,以...
  • 由于二阶液位系统具有一定的非线性和时滞性的特点,所以普通PID算法的控制效果并不理想。神经网络有自学习能力和大规模并行处理能力,在认知... 模糊神经网络PID控制器的结构如图1所示。控制器由三部分组成:1模糊化...

    由于二阶液位系统具有一定的非线性和时滞性的特点,所以普通PID算法的控制效果并不理想。神经网络有自学习能力和大规模并行处理能力,在认知处理上比较擅长;模糊控制系统能够充分利用学科领域的知识,能以较少的规则数来表达知识,在技能处理上比较擅长[1][2]。模糊神经网络控制算法是神经网络算法和模糊算法的有机结合,该算法既有模糊算法控制灵活和鲁棒性强的优点,又具有较强的非线性跟踪学习能力,有很大的实际意义和广阔的应用前景。

     

           模糊神经网络PID控制器的结构如图1所示。控制器由三部分组成:1模糊化模块:用来对系统状态变量进行模糊量化和归一化处理[2][3]。这样做可以利用模糊控制的鲁棒性和非线性控制作用,对作为神经网络输入的状态变量进行模糊规则的预处理,避免了神经网络的活化函数采样Sigmoid函数时,直接输入量过大而造成的输出饱和,使输出不再对输入敏感的缺点。2神经网络(NN):用于表示模糊规则,经过神经网络的学习,以加权系数的形式表现出来,规则的生成就转化为加权系数初值的生成和修改。根据系统的运行状态,自行整定PID参数,以期达到最优的控制效果。也就是将神经网络的输出层输出对应于PID控制期的三个可调参数、、,通过神经网络的自学习,加权系数的调整,从而使稳定状态对应于某种最优控制下的PID参数。3普通PID控制器:直接对控制对象进行闭环控制,并且、、三个参数为在线整定式[3]。

    展开全文
  • 基于粒子群算法的四旋翼无人机模糊径向基函数神经网络PID控制系统
  • 模糊神经网络PID-Smith预估控制(图中简称FNN+Smith)和传统的PID控制方法进行比较。被控对象模型中、和=10,即Smith预估器模型与被控对象完全匹配时,仿真结果如图5.8所示。 图5.8 模型匹配时系统的阶跃响应...

    对模糊神经网络PID-Smith预估控制(图中简称FNN+Smith)和传统的PID控制方法进行比较。被控对象模型中=10,即Smith预估器模型与被控对象完全匹配时,仿真结果如图5.8所示。

     

    5.8 模型匹配时系统的阶跃响应曲线

    Fig.5.8 Step Response of the System When Model Matches

    通过比较可以看出,常规PID控制响应慢,超调较大,调节时间长,这是由于比例、积分和微分个时间常数相互制约,无法达到最优组合而造成的;模糊神经网络PID-Smith预估控制则克服了PID控制的缺点,具有非常好的动态性能指标和稳态性能指标,能够较快稳定,并且没有超调和振荡。

    2)系统跟随性分析

    Smith预估器模型与被控对象完全匹配时,在系统稳定的情况后,设定在37s时,加入幅值为100的阶跃信号,仿真结果如图5.9所示。

     

    5.9 系统跟踪性仿真曲线

    Fig.5.9 System Traceability of Simulation Curve

    可以看出模糊神经网络PID-Smith预估控制能够很好的跟踪输入信号。

    3)系统抗扰性分析

    在系统跟踪阶跃信号的过程中,在时间秒的时候受到外界幅值为40的干扰信号,系统输出的响应曲线如5.10示。

     

    5.10系统受扰动时的阶跃响应

    Fig.5.10 Step Response of The System with Disturbance

    由图5.10中可以看出,系统输出在出现扰动后能够很快再次回到设定值,说明系统具有较好的抑制扰动的能力。

    加入随机干扰信号,即加入强度为40,采样时间为1秒的白噪声时系统响应曲线如图5.11

     

    5.11 系统受随机扰动时的阶跃响应

    Fig.5.11 Step Response of The System with Random Disturbance

    4)系统参数发生变化时的鲁棒性分析

    由于被控对象的发生变化,PID控制不能取得很好的控制效果,这里用PID-Smith预估控制和本章提出的模糊神经PID-Smith预估控制作比较。

    被控对象模型中,滞后时间发生变化,Smith预估模型与被控对象不能完全匹配时,仿真结果如图5.12所示。

     

    5.12 时滞改变时的仿真曲线

    Fig.5.12 Simulation Curve When Delay Changes

    被控对象模型中K=7T=16=10,即增益发生变化,Smith预估模型与被控对象不能完全匹配时,仿真结果如图5.13所示。

     

    5.13 增益发生改变时的仿真曲线

    Fig.5.13 Simulation Curve When Gain changes

    被控对象模型中K=5T=13=10,即惯性时间常数发生变化,Smith预估模型与被控对象不能完全匹配时,仿真结果如图5.14所示。

     

    5.14 惯性时间常数改变时的仿真曲线

    Fig.5.14 Simulation Curve When Inertial Parameter Changes

    被控对象模型中,即模型参数都发生变化,Smith预估模型与被控对象不能完全匹配时,分别采用传统PID控制和本文提出的基于模糊神经网络整定的PID控制进行仿真,仿真结果如图5.15所示。

    从以上仿真曲线和性能指标可以看出,当被控对象参数发生变化时,即Smith预估模型不能和被控对象模型相匹配时,PID-Smith控制效果明显变差,系统的输出振荡加大,超调变大,调节时间变长,而本文设计的模糊神经网络PID-Smith预估控制的超调小、无振荡现象,而且调节时间也短,控制效果明显优于传统PID-Smith预估控制。

     

    5.15 三个参数均改变时的仿真曲线

    Fig.5.15 Simulation Curve when the three parameters change together

    1. 本章小结

    传统的Smith预估器是基于被控对象精确数学模型而设计的,对于缺乏精确模型或参数时变且具有滞后的过程控制系统,控制效果不佳。针对带钢喷气冷却过程中的大滞后、被控对象参数时变、非线性的特点,采用RBF模糊神经网络整定PID-Smith预估控制方法,使系统同时具有自整定PID参数和纯滞后补偿的能力,即克服了传统的Smith控制依赖被控对象的精确数学模型的特点,又结合了RBF模糊神经网络整定PID控制对参数变化的自适应的优点,在MATLAB的模糊逻辑工具箱和SMILINK下建立RBF模糊神经网络整定PID-Smith集成控制的过程,对具有纯滞后、参数时变的带钢喷气冷却控制系统进行了仿真,取得了满意的控制效果。

    展开全文
  • 本文将模糊控制与神经网络结合起来,组成模糊神经网络对PID三个参数进行整定与优化,设计出了一种模糊神经网络PID控制器结构,在此基础上以DSP为处理器实现了具有自整定功能的PID温度控制系统。系统主要包括:电源...
  • 基于模糊RBF神经网络PID控制方法及应用.pdf
  • 分析龙门刨床电气设备的组成,综合模糊控制和神经网络的长处,将神经网络、模糊逻辑和PID控制相融合,构成模糊神经网络控制器,并通过MATALAB对系统进行仿真。设计时,将模糊规则融于神经网络中,通过对神经网络的自学习、...
  • 针对汽油机怠速工况的非线性、时变性和不确定性,传统PID控制难以获得理想控制效果的问题,提出一种基于模糊神经网络PID控制方法,将模糊控制、神经网络与PID控制相结合,给出了BP神经网络模型,采用3层前向网络,动态BP...
  • 智能控制 模糊控制 PID控制 神经网络 包含模型和word文档
  • 简要介绍结合了神经网络模糊PID控制器所具有的优越性
  • 神经网络PID-模糊PID-专家PID-等高级PID.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 719
精华内容 287
关键字:

模糊神经网络pid控制