博舍

什么是模糊控制 什么是智能模糊控制技术

什么是模糊控制

May26什么是模糊控制时间:2021/05/2602:24|分类:知识库

以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

问题一:什么是模糊控制模糊控制就是利用模糊数学的基本思想和理论的控制...。在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种...来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。问题二:模糊控制的缺点1.模糊控制的设计尚缺乏系统性,这对复杂系统的控制是难以奏效的。难以建立一套系统的模糊控制理论,以解决模糊控制的机理、稳定性分析、系统化设计...等一系列问题;2.如何获得模糊规则及隶属函数即系统的设计办法,完全凭经验进行;3.信息简单的模糊处理将导致系统的控制精度降低和动态品质变差。若要提高精度就必然增加量化级数,导致规则搜索范围扩大,降低决策速度,甚至不能进行实时控制;4.如何保证模糊控制系统的稳定性即如何解决模糊控制中关于稳定性和鲁棒性问题还有待解决。问题三:什么是模糊控制洗衣机先说说现在的全自动洗衣机:比如,我们要洗衣服了,要对洗衣机上的一些功能进行设定,比如以洗的方式上有,强洗、标准、轻柔还是速洗?比如对过程的控制上有:浸泡,洗涤、漂洗及脱水等。另外还有水的多少,洗涤剂的多少等你都要去根据衣物的多少,以及种类来进行判断(用人脑去做这件事)后再进行的。

而你说的模糊控制,理论上讲就是将上边人脑判断这事由人转交给更家智能的电脑去做。而这种控制的最高境界是能实现自动识别出衣物的种类、脏污程度、衣物的多少,来自动设定好力度、用什么洗涤剂,用什么过程去洗你这个衣服还有用多少水等等。更有甚的是:如果这种布料不能机洗,他会拒绝洗。实现这一切过程的控制方式,就是模糊控制。

但是,遗憾的是,上边说的很多因为受限于现实情况,很多都还达不到。到目前为止,就实现了,根据衣物的重量,自动设定水量以及洗涤剂的量。仅此而已。

问题四:模糊控制的特点简化系统设计的复杂性,特别适用于非线性、时变、滞后、模型不完全系统的控制。不依赖于被控对象的精确数学模型。利用控制法则来描述系统变量间的关系。不用数值而用语言式的模糊变量来描述系统,模糊控制器不必对被控制对象建立完整的数学模式。模糊控制器是一语言控制器,便于操作人员使用自然语言进行人机对话。模糊控制器是一种容易控制、掌握的较理想的非线性控制器,具有较佳的鲁棒性(Robustness)、适应性及较佳的容错性(FaultTolerance)。问题五:什么叫模糊控制系统?所谓模糊控制就是在控制...上应用模糊...论,运用模糊语言变量及模糊逻辑揄实现系统的智能控制。这种...摆脱了控制对象输入、输出物理量的精确描述,用自然语言描述专家控制策略,以机器模拟人的模糊思维对系统实现有效控制。在实际控制过程中,将计算机采样的输入量(精确量)模糊化,经模糊揄确定控制量的模糊值,最后进行反模糊处理获得控制量的实际输出,对被控对象进行控制。问题六:什么是模糊控制系统的鲁棒性5分控制系统的鲁棒性是指控制系统在某种类型的扰动作用下(包括自身模型的扰动),系统某个性户指标保持不变的能力。控制系统当其模型参数发生大幅度变化或其结构发生变化时仍保持渐近稳定,这叫稳定鲁棒性。模型在扰动下系统的品质指标仍然保持在某个许可范围内,这称为品质鲁棒性问题七:模糊控制有什么优点和缺点?模糊控制具有的突出特点:(1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。(2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。(3)基于模型的控制算法及系统设计...,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。(4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和...,增强控制系统的适应能力,使之具有一定的智能水平。(5)模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。问题八:什么叫模糊控制算法楼主搜索“模糊逻辑”,模糊逻辑是人工智能两大分支之一(另一个分支是神经元),通俗来说就是把数字信号的0和1拆分成0和1之间的“相似度”,不是通过“是”和“不是”来判断问题,而是通过“像”的程度来描述问题。比如楼主和他爸爸的相似程度为0.7,但是用数字逻辑来看的话,你肯定不等于你爸爸,这时候比如你要做面容识别,就必须用模糊逻辑来描述了。问题九:模糊控制中解模糊的...有哪些?罗列即可,不用长篇大论!模糊量的清晰化的实现...有很多,我现在刚好接触到三种,正好告诉你,1、最大隶属度法2、加权平均法(重心法)3、中位数法我正在着重研究重心法解模糊。问题十:模糊控制有哪些优点?(2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。(3)基于模型的控制算法及系统设计...,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。(4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和...,增强控制系统的适应能力,使之具有一定的智能水平。(5)模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。|||什么是模糊控制?与传统控制理论相比有什么优点?模糊控制是近代控制理论中建立在模糊...轮上基础上的一种基于语言规则与模糊推理的控制理论,它是智能控制的一个重要分支。与传统控制理论相比,模糊控制有两大不可比拟的优点:第一,模糊控制在许多应用中可以有效且便捷的实现人的控制策略和经验,这一优点自从模糊控制诞生以来就一直受到人们密切的关注;第二,模糊控制不需要被控对象的数学模型即可实现较好的控制,这是因为被控对象的动态特性已隐含在模糊控制器输入、输出模糊集及模糊规则中。所以模糊控制被越来越多的应用于各个领域,尤其是被广泛应用于家电系列中,基于模糊控制的洗衣机就是其中的一个典型实例。|||模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制的一大特点是既具有系统化的理论,又有着大量实际应用背景。|||优点:对于难于建立模型的控制对象不失为一种良好的控制...。

本文标题:什么是模糊控制

本文地址:https://www.lishixinzhi.com/bb/380622.html

Arduino智能小车直线控制

本文主要是基于Arduino智能小车直线走不直的问题,运用模糊PID算法进行控制。本文主要由三部分构成:模糊PID控制器的原理,模糊PID控制器C++的实现与测试,把模糊PID控制算法应用于Arduino智能小车走直线的过程中。

 

一,模糊PID原理

    模糊PID控制流程如下图所示,把目标值 Xtarget 与输出值 Xout 的误差 e 与 e 的变化率 de/dt 作为模糊控制器的输入,模糊控制器先对输入进行模糊化处理,接着进行模糊推理,最后把模糊推理的结果进行去模糊处理输出PID控制器的三个参数 kp,ki,kd,从而达到对PID控制器参数自适应整定的效果。

 

    根据以上的描述可知,模糊控制器主要由去模糊化,模糊推理以及去模糊三部分组成。以下将对三部分进行详细讲解。

  1.1 模糊化

        要实现模糊化首先需要对模糊化进行初始化,初始化包括论域的确定以及隶属度函数的确定。

       1.1.1论域

           论域可以说是一个人为确定的范围,由于输入e,de/dt,输出kp.ki,kd的范围各不相同,把输入映射到论域上更好统一处理。确定论域的范围后,需要对论域进行模糊分类,模糊分类即对论域进行划分。假设论域的范围为[-3,3],把论域平均分为5等份,即[-3,-2],[-2,-1],[-1,0],[0,1],[1,2],[2,3]。接着把每个端点进行等级划分,依次为-3--->NB(负大),-2--->NM(负中),-1---->NS(负小),0--->ZO(零),1---->PS(正小),2---->PM(正中),3---->PB(正大)。假设输入e的范围为[-10,10],此刻e的值为8,通过映射后的值为2.4,2.4在[2,3]区间,则该点在正中与正大之间。示意图如下:

 

      1.1.2隶属度函数的确定。

         常见的隶属度函数有三角形隶属度函数,梯形隶属度函数,抛物线型隶属度函数。以最简单的三角性隶属度函数为例,形状如下图所示:

  由上图可知,隶属度函数的值域为[0,1]。若输入e经过映射后的值为2.4,那么对应下图红线与绿线的值分别为0.6,0.4,这两个就是隶属度,表示该输入属于PM的概率为0.6,而属于PB的概率为0.4。所以隶属度也为概率。

   由上述论域和隶属度函数的讲解,可总结出模糊化的过程:区间映射,根据隶属度函数计算隶属度,流程图如下:

 

  1 2.模糊推理

     模糊推理,即根据e与de/dt的隶属度进行查表得到输出的大小程度,即NB,NS等。所以模糊推理的核心工作是建立推理表。其中模糊PID常用的推理表如下图所示:

 

 

 

以下以一个例子说明规则表的使用方法。

假设此刻的输入e为8,de/dt为-12,而e的范围为[-10,10],de/dt的范围为[-20,20]。则通过模糊化得到e的隶属度为0.6(PM)与0.4(PB),de/dt的隶属度为0.8(NM)与0.2(NS),然后,对e与de/dt的隶属度进行两两组合,并进行查表,得到下表的关系:

接着,计算各输出Kp,Ki,Kd的隶属度。

Kp:    

                 

同理Ki.Kd也计算隶属度。

最后进行个输出的隶属度进行整合,例如Kp,由上面计算可知,Kp的隶属度为0.8(ZO),0.12(NS),0.08(NM)。

1.3去模糊

 去模糊是根据模糊推理得到的各输出的隶属度算出输出在论域中的哪个值,然后根据区间映射关系,得到输出。

 1.3.1  计算输出在论域中的值

      以上面的例子进行阐述计算的过程。由上面可知,Kp的隶属度为0.8(ZO),0.12(NS),0.08(NM),而在论域讲解时,已经将ZO的值定为0,NS的值定为-1,NM的值定为-2。那么Kp的期望为:

                     把期望作为Kp在论域的值,在确定Kp的范围后,根据区间映射公式,可得出Kp的输出值。

 

以上为模糊控制器的流程。值得注意的是,输出的Kp,Ki,Kd为增量。在初始化时要确定输入与输出的范围(区间),用于进行区间映射。

 

2.1 C++实现模糊PID控制器   该本版隶属度函数为固定三角形隶属度函数,论域固定为[-3,3]。 FuzzyPID.h头文件#ifndefFuzzyPID_H#defineFuzzyPID_HclassFuzzyPID{public:FuzzyPID();~FuzzyPID();voidGet_grad_membership(floaterro,floaterro_c);floatQuantization(floatmaximum,floatminimum,floatx);floatInverse_quantization(floatmaximum,floatminimum,floatqvalues);voidGetSumGrad();voidGetOUT();floatFuzzyPIDcontroller(floate_max,floate_min,floatec_max,floatec_min,floatkp_max,floatkp_min,floaterro,floaterro_c,floatki_max,floatki_min,floatkd_max,floatkd_min,floaterro_pre,floaterrp_ppre);constintnum_area=8;//划分区域个数//floate_max;//误差做大值//floate_min;//误差最小值//floatec_max;//误差变化最大值//floatec_min;//误差变化最小值//floatkp_max,kp_min;floate_membership_values[7]={-3,-2,-1,0,1,2,3};//输入e的隶属值floatec_membership_values[7]={-3,-2,-1,0,1,2,3};//输入de/dt的隶属值floatkp_menbership_values[7]={-3,-2,-1,0,1,2,3};//输出增量kp的隶属值floatki_menbership_values[7]={-3,-2,-1,0,1,2,3};//输出增量ki的隶属值floatkd_menbership_values[7]={-3,-2,-1,0,1,2,3};//输出增量kd的隶属值floatfuzzyoutput_menbership_values[7]={-3,-2,-1,0,1,2,3};//intmenbership_values[7]={-3,-};floatkp;//PID参数kpfloatki;//PID参数kifloatkd;//PID参数kdfloatqdetail_kp;//增量kp对应论域中的值floatqdetail_ki;//增量ki对应论域中的值floatqdetail_kd;//增量kd对应论域中的值floatqfuzzy_output;floatdetail_kp;//输出增量kpfloatdetail_ki;//输出增量kifloatdetail_kd;//输出增量kdfloatfuzzy_output;floatqerro;//输入e对应论域中的值floatqerro_c;//输入de/dt对应论域中的值floaterrosum;floate_gradmembership[2];//输入e的隶属度floatec_gradmembership[2];//输入de/dt的隶属度inte_grad_index[2];//输入e隶属度在规则表的索引intec_grad_index[2];//输入de/dt隶属度在规则表的索引floatgradSums[7]={0,0,0,0,0,0,0};floatKpgradSums[7]={0,0,0,0,0,0,0};//输出增量kp总的隶属度floatKigradSums[7]={0,0,0,0,0,0,0};//输出增量ki总的隶属度floatKdgradSums[7]={0,0,0,0,0,0,0};//输出增量kd总的隶属度intNB=-3,NM=-2,NS=-1,ZO=0,PS=1,PM=2,PB=3;//论域隶属值intKp_rule_list[7][7]={{PB,PB,PM,PM,PS,ZO,ZO},//kp规则表{PB,PB,PM,PS,PS,ZO,NS},{PM,PM,PM,PS,ZO,NS,NS},{PM,PM,PS,ZO,NS,NM,NM},{PS,PS,ZO,NS,NS,NM,NM},{PS,ZO,NS,NM,NM,NM,NB},{ZO,ZO,NM,NM,NM,NB,NB}};intKi_rule_list[7][7]={{NB,NB,NM,NM,NS,ZO,ZO},//ki规则表{NB,NB,NM,NS,NS,ZO,ZO},{NB,NM,NS,NS,ZO,PS,PS},{NM,NM,NS,ZO,PS,PM,PM},{NM,NS,ZO,PS,PS,PM,PB},{ZO,ZO,PS,PS,PM,PB,PB},{ZO,ZO,PS,PM,PM,PB,PB}};intKd_rule_list[7][7]={{PS,NS,NB,NB,NB,NM,PS},//kd规则表{PS,NS,NB,NM,NM,NS,ZO},{ZO,NS,NM,NM,NS,NS,ZO},{ZO,NS,NS,NS,NS,NS,ZO},{ZO,ZO,ZO,ZO,ZO,ZO,ZO},{PB,NS,PS,PS,PS,PS,PB},{PB,PM,PM,PM,PS,PS,PB}};intFuzzy_rule_list[7][7]={{PB,PB,PB,PB,PM,ZO,ZO},{PB,PB,PB,PM,PM,ZO,ZO},{PB,PM,PM,PS,ZO,NS,NM},{PM,PM,PS,ZO,NS,NM,NM},{PS,PS,ZO,NM,NM,NM,NB},{ZO,ZO,ZO,NM,NB,NB,NB},{ZO,NS,NB,NB,NB,NB,NB}};//private:};#endifFuzzyPID.cpp文件#include"FuzzyPID.h"FuzzyPID::FuzzyPID()//构造函数{kp=0;ki=0;kd=0;fuzzy_output=0;qdetail_kp=0;qdetail_ki=0;qdetail_kd=0;qfuzzy_output=0;errosum=0;}FuzzyPID::~FuzzyPID()//析构函数{}//输入e与de/dt隶属度计算函数///voidFuzzyPID::Get_grad_membership(floaterro,floaterro_c){if(erro>e_membership_values[0]&&erro

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇