模糊控制器汇总
详解模糊控制

x1
x2
xn
例:设论域U={钢笔,衣服,台灯,纸},他们属于学习用品的隶属度分别 为:1, 0, 0.6, 0.8,则模糊集合学习用品可分别用向量表示法和扎德 表示法表示如下:
学习用品 (1 0 0.6 0.8)
学习用品=
模糊控制概述
~ ~
1 0 0.6 0.8 钢笔 衣服 台灯 纸
模糊控制
模糊控制是以模糊集理论、模糊语言变量 和模糊逻辑推理为基础的一种智能控制方法, 它是从行为上模仿人的模糊推理和决策过程的 一种智能控制方法。 该方法首先将操作人员或专家经验编成模 糊规则,然后将来自传感器的实时信号模糊化, 将模糊化后的信号作为模糊规则的输入,完成 模糊推理,将推理后得到的输出量加到执行器 上。
(1)求每条规则的蕴含关系 (Ai and Bi 采用求交运算,蕴含关 系采用最小蕴含)
1.0 1.0 0.6 0.2 A1 and B1 A1 B1 A1T B1 0.5 0
R1的运算
1.0 0.6 0.2 0.5 0.5 0.2 0 0 0
例:若A={a,b,c},B={1,2},则 A×B={(a, 1) (a, 2) (b, 1) (b, 2) (c, 1) (c, 2)} (a, 2) (a, 1) (a , 1) (b, 1)
元素之间可以互换位置。
B×A={(1, a) (1, b) (1, c) (2, a) (2, b) (2, c)} 0.5 0.5 0.5]
模糊推理的例子
(4)计算输出量的模糊集合
C ' ( A ' and B ') R
PID控制;模糊控制;模糊PID控制器

摘要交流伺服电机现广泛应用于机械结构的驱动部件和各种数控机床。
PID控制是伺服系统中使用最多的控制模式之一。
尽管传统的PID控制系统构造简单、运转稳定,但交流伺服电机存在非线性的、强耦合。
当参数变动或非线性因素的影响发生变化时,控制不能实时改动,不能满足系统高性能、高精度的要求。
结合模糊控制和传统PID控制成一种新的控制方法--模糊PID控制是解决上述问题的一种很好的途径。
模糊控制器不需要被控对象的数学模型,而是根据之前人为设定的控制要求设计用来控制的决策算法,使用此方式确定控制量。
模糊控制和传统PID控制融合的结果,不单具有模糊控制的高性能,还具备传统PID控制精准度高的长处。
本文对PID控制算法的原理和模糊控制算法作了简要的描述和比较。
指出模糊PID混合控制法,在误差很大时使用模糊控制,在不大时使用PID控制,在MATLAB软件中,对交流伺服系统的位置控制进行了仿真。
结果表明,该控制系统仿真结果与理论上差距较小。
关键词:PID控制;模糊控制;模糊PID控制器;MATLAB第1章绪论1.1 研究课题的任务本课题的任务是了解交流伺服系统,比较并结合两种控制的优点,结合成一种新的控制方式--模糊PID控制。
该控制法在系统输出差距大时采用模糊控制,而在差距较小时采用PID控制。
文章最后给出了模糊PID位置控制的MATLAB响应图,同时给出了常规PID控制下的效果图,并比较分析。
1.3 交流伺服系统工作原理相对单一的系统,其一般是根据位置检测反馈组成闭环位置伺服系统。
其组成框图参考图1-1内容[14]。
此类系统主要原理是对比输入的目标位置信号和位置检测设备测试的真实位置信号统计其偏差且使用功率变换器的输入端弱化误差。
控制量被信号转换和功率放大驱动,驱动伺服组织,促使误差不断缩减少,一直到最佳值。
(1)位置检测装置是此类系统的关键构成方面,完整系统的动态功能是否可以满足需求,关键的是位置检测传感器的科学选择以及精度。
3-3模糊控制器设计PPT课件

2021/3/10
5
3.3.2 模糊控制器的基本结构(续)
2.知识库 它通常由数据库和模糊控制规则库两部分组成。
(1)数据库主要包括各语言变量的隶属函数,尺 度变换因子及模糊空间的分级数等。
(2)规则库包括了用模糊语言变量表示的一系列 控制规则。它们反映了控制专家的经验和知识。
3.模糊推理
模糊推理是模糊控制器的核心,它具有模拟人 的基于模糊概念的推理能力程是基于模糊逻辑 中的蕴含关系及推理规则来进行的。
第3章 模糊控制 (续)
2021/3/10
1
3.3 模 糊 控 制 器 的 结 构 、 原理及设计方法
2021/3/10
2
3.3 模糊控制器的结构、原理及设计方法
要实现一个实际的模糊控制系统,需要解决三个问 题;知识的表示、推理策略和知识获取。
模糊控制是以模糊集合论、模糊语言变量及模糊 逻辑推理为基础的一种计算机控制。
3.3.3 模糊控制的基本原理(续-10)
上式中
2021/3/10
19
3.3.3 模糊控制的基本原理(续-11)
上式中
2021/3/10
20
3.3.3 模糊控制的基本原理(续-12)
模糊控制器的输出变量是触发电压u的变化,该电
压直接控制电热炉的供电电压的高低。
2021/3/10
12
3.3.3 模糊控制的基本原理(续-4)
(2)输入变量及输出变量的模糊语言描述
描述输入变量及输出变量的语言值的模糊子集为 {负大,负小,0,正小,正大}
通常采用如下简记形式
NB=负大,NS=负小,O=零,PS=正小,PB=正大。 其中,N=Negative,P=Positive,B=Big,S=Small, O=Zero。
高精度模糊PID控制器及其在温度控制中的应用

误差变化 * -. -/ -0 -1 1 !1 !0 !/ !. -. !. !. !. !. !. !/ !0 !1 1 -/ !. !. !. !. !/ !0 !1 1 -1 -0 !. !. !. !/ !0 !1 1 -1 -0
加, 作为混合型模糊 !"# 控制器的总输出, 即 !" $ !# % 这里 ( 是连续变化的, 因此 !$ $ ’( !%$ 也是一个 !$ , % &)
高精度模糊 012 控制器及其在温度控制中的应用 由于温度对象的脉冲响应都比较容易在线测取, 因此 !"# 算法能够设计成通用调节器。仿真和试用均获 得了满意的结果。
参考文献
$ ( 席裕庚 % 预测控制 % 北京: 国防工业出版社, $&&’ (!"#) : )*+,-./ ),!0,1- ) 2% !*304 -45*1/6,7/8 8*.61*4 9-:/8 6,0*106/;
! )"
高精度模糊 #$% 控制器的系统设计 工程上应用的模糊控制器为了保证系统控制的实
时性。一般采用离线计算出模糊控制表, 然后采用在 线查表的控制方案, 下面阐述设计步骤。 误差变化率 * 、 控 ! 根据被控对象确定误差 ) 、 制量 + 和变积分环节系数 ’( 的实际变化范围 [ * ,% , [ * ,- , 、 、 [ * .! , 和 [ * ./ , , 选取以上 + ,% ] ,- ] .! ] ./ ] 者模糊子集的论域的形式为{* " , …, * " % &, * ,, ,, …, {* 0,* 0 % &, …,* ,, …, % ,, " * &, "} ,,% ,, , {* 1 , …, …, , { …, 0 * &, 0} * 1 % &, ,, 1 * &, 1} ,, /*
模糊控制及其应用

ua* u*p
)作为控制量。
2
第22页/共48页
b.取中位数法
选取求出模糊子集的隶属函数曲线和横坐标所围成区域的面积
垂直于横坐标平分为两部分,则横坐标的数,作为清晰化的结果,
这种方法比较充分地利用了模糊子集提供的信息,但计算要比方
法a麻烦。
n
c.加权平均判决法
kiui
这种方法是仿照普通加权法的计算公式
人对误差、误差变化率、误差变化率的变化的敏 感性是有差异的,一般说敏感程度因人而异,而且 对三项参数的敏感程度也是呈递减趋势。
第5页/共48页
通常将模糊控制器的输入变量的个数称为模糊控制的 维数。一、二、三维模糊控制器的结构分类如图3 (a)、(b)、(c)所示。
E 模糊控制器 C
(a)一维模糊控制器
“若A则B,C”(即if A then B, C)
例句:“若水温已到,则停止加热水、停止加冷水”。
第15页/共48页
f . “ 若 A1 则 B1 或 A2 则 B2” ( if A1 then B1 or if A2 then B2)
例句:“若水温偏高则加大冷水流量,或若 水温偏低则加大热水流量”这条语句还可表 示为
控制规则设计是设计模糊控制器的关键,一般包 括三部分设计内容:选择描述输入输出变量的词集、 定义各模糊变量的模糊子集及建立模糊控制器的控 制规则。 ①选择描述输入和输出变量的语言值名称的词集
模糊控制器的控制规则表现为一组模糊条件语句, 在条件语句中描述输入输出变量状态的一些词汇如 正大、正中、正小、负小、负中、负大的集合,称 为这些变量语言值名称的词集。
第12页/共48页
上述分析表明:隶属函数曲线形状 较尖的模糊子集其分辨率较高,控制 灵敏度也较高;相反,隶属函数曲线 形状较缓的,控制特性也较平缓,系 统稳定性较好。因此,在选择模糊变 量的模糊集的隶属函数时,在误差较 大的区域采用低分辨率的模糊集,在 误差较小的区域采用高分辨率的模糊 集,当误差接近于零时选用高分产率 的模糊集。
模糊控制

4.4 模糊自适应整定PID控制
4.4.1 模糊自适应整定PID控制原理
在工业生产过程中,许多被控对象随着负荷变化 或干扰因素影响,其对象特性参数或结构发生改变。 自适应控制运用现代控制理论在线辨识对象特征参数 ,实时改变其控制策略,使控制系统品质指标保持在 最佳范围内,但其控制效果的好坏取决于辨识模型的 精确度,这对于复杂系统是非常困难的。因此,在工 业生产过程中,大量采用的仍然是PID算法,大多数 都以对象特性为基础。
2 按模糊控制的线性特性分类 对开环模糊控制系统S,设输入变量为u,输出变量
为v。对任意输入偏差Δ u和输出偏差Δ v,满足
v k u
u U,v V
定义线性度δ ,用于衡量模糊控制系统的线性化
程度:
vmax 2u m a xm
其中 vmax vmax vmin
,umax umax umin
1. 模糊控制器的结构 单变量二维模糊控制器是最常见的结构形式。
2 .定义输入输出模糊集 对误差E、误差变化EC及控制量u的模糊集及其论域
定义如下:
E、EC和u的模糊集均为:NB, NM , NS, Z, PS, PM, PB
E、EC的论域均为:{-3,-2,-1,0,1,2,3} u的论域为:{-4.5,-3,-1.5,0,1,3,4.5}
22二维模糊控制器二维模糊控制器如图所示如图所示二维模糊控二维模糊控制器的两个输入变量基本上都选用受控变量和制器的两个输入变量基本上都选用受控变量和输入给定的偏差输入给定的偏差ee和偏差变化和偏差变化ecec由于它们能由于它们能够较严格地反映受控过程中输出变量的动态特够较严格地反映受控过程中输出变量的动态特性性因此因此在控制效果上要比一维控制器好得在控制效果上要比一维控制器好得多多也是目前采用较广泛的一类模糊控制器也是目前采用较广泛的一类模糊控制器
模糊控制器

1.模糊控制器的输入、输出变量分别为偏差、偏差的变化率和控制量的增量。
实际论域e、ec、u[-30,30],[-24,24],[-36,36]。
对应的模糊语言变量E、EC、UC的论域均为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}2.定义模糊子集及隶属函数对语言变量偏差E定义八个模糊集分别表示PL(正大),PM(正中),PS(正小),PZ(正零),NZ(负零),NS(负小),NM(负中),NL(负大)。
语言变量偏差的变化率EC定义七个模糊集,分别表示PL,PM,PS,Z,NS,NM,NL。
控制量的增量UC定义七个模糊集UC1,…,UC8,分别表示PL,PM,PS,Z,NS,NM,NL。
隶属度函数分别如下面3张表。
E i的隶属函数表ECi的隶属函数表UCi的隶属函数表模糊控制规则如下表试计算控制表。
计算结果如下;设已知输入为0x 和0y ,模糊化运算采用单点模糊集合,则相应的输入量模糊集合'A 和'B 分别为:()()⎩⎨⎧≠==⎩⎨⎧≠==000001,01''y y y y y x x x x x B A μμ通过模糊推理方法及性质,可求得输出量的模糊集合'C 为:()()()()[]()[]()[]561'561''561''561''561'''''=======→→=→⨯⨯=⨯=⨯=i i i iB iA i i i i i i i i i i C C C C A B C A A C B A B A B A B A C iR R首先根据书上的表2-8、2-9、2-10如上面三个表所示,建立三个矩阵A 、B 、C 分别对应三个表中的数据,为了便于计算表2-10的数据自行规定为:NB=1,NM=2,NS=3,NZ=4,PS=5,PM=6,PB=7。
请简述模糊控制器的组成及各组成部分的用途。

模糊控制器是一种基于模糊逻辑理论的控制系统,它利用模糊集合的概念来描述模糊输入和输出,通过模糊规则和模糊推理实现对系统的控制。
模糊控制器的组成主要包括模糊化、模糊推理、解模糊和规则库四个部分,每个部分都有其独特的用途。
1. 模糊化模糊化是将系统的实际输入转化为模糊集合的过程。
在模糊控制系统中,输入往往是模糊的、不确定的,因此需要将这些模糊的输入转化为模糊集合。
模糊化的主要目的是将具体的输入转化为模糊语言值,如“很冷”、“冷”、“适中”、“热”、“很热”等,以便更好地描述系统的输入状态。
2. 模糊推理模糊推理是模糊控制器的核心部分,它用于根据模糊规则和模糊输入来得出模糊输出。
模糊推理的过程是基于一系列的模糊规则,这些规则描述了系统输入和输出之间的关系。
通过模糊推理,模糊控制器能够根据输入的模糊语言值,利用模糊规则进行推理,从而得出模糊输出的模糊语言值。
3. 解模糊解模糊是将模糊输出转化为具体的控制量的过程。
在模糊控制系统中,输出往往是模糊的语言值,需要通过解模糊将其转化为具体的控制量。
解模糊的方法有很多种,常见的方法包括最大隶属度法、加权平均法和中心平均法等。
解模糊的目的是将模糊输出转化为可以直接应用于控制系统的具体输出值。
4. 规则库规则库是模糊控制器中存储的一系列模糊规则的集合。
模糊规则描述了系统输入和输出之间的关系,它通常采用“如果…那么…”的形式来表示。
在模糊控制器中,规则库起着至关重要的作用,它包含了系统的专业知识和经验,是模糊控制器能够有效进行模糊推理的基础。
总体来说,模糊控制器的组成部分分别完成了模糊输入的转化、模糊推理的实现、模糊输出的转化和存储的模糊规则,这些部分相互协作,共同实现了对模糊、不确定系统的精确控制。
模糊控制器在工业控制、汽车控制、电力系统控制等领域有着广泛的应用,其独特的优势使其成为一种不可忽视的控制方法。
模糊控制器作为一种基于模糊逻辑理论的控制系统,在实际应用中具有诸多优势。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二模糊控制实验实验目的matlab中的模糊工具箱的使用及模糊控制器的应用1)用fuzzy工具箱计算P82 2-14,要求求出控制器输出。
2)用FUZZY工具箱完成洗衣机模糊控制器设计要求求出控制器输出。
完成模糊控制决策表。
一、用fuzzy工具箱计算P82 2-14,并与手算结果对比。
实验结果如图1-1所示,图1-1题目2-14的实验结果二、用FUZZY工具箱完成洗衣机模糊控制器设计。
(1)题目分析:洗衣时间长短实际与衣物的脏污程度有关,太脏了就洗久点,不脏就可以洗快点。
人类的操作经验是由模糊的自然语言描述的,在洗衣机的调节中,人类的操作经验是:(1)“如果污泥越多,且油脂越多,洗涤时间就越长;”(2)“如果污泥适中,且油脂适中,洗涤时间就适中;”(3)“如果污泥越少,且油脂越少,洗涤时间就越短;”通过分析可以知道这实际是一个开环的控制决策过程:输入是污泥度x与油污度y,输出是洗涤时间z。
在该规则中对这些量进行衡量的是一些模糊词语,“多”、“少”、“长”、“短”。
(2)定义输入、输出模糊集将污泥x 分为3个模糊集:{SD (污泥少),MD (污泥中),LD (污泥多)} 论域:{0,50,100}将油脂分为3个模糊集:{NG (油脂少),MG (油脂中),LG (油脂多)} 论域:{0,50,100} 输出模糊集:将洗涤时间分为5个模糊集:{VS (很短),S (短),M (中等),L (长),VL (很长)}。
论域:{0,10,25,40,60} 单位s 例如:(3)建立模糊控制器求:假设当前传感器测得信息为:x0(污泥)=90,y0(油脂)=90 观察控制器的输出。
(4)建立控制决策表 x0=10,20,30,40,50,60,70,80,90,y0=10,20,30,40,50,60,70,80,90,分别取值时,控制器的输出。
(5)改变输入输出变量的模糊值、隶属度函数的曲线、解模糊的方法等,观察控制器三维图以及控制器输出, Maltlab 提供5种反模糊化方法:1.centroid :面积重心法;2.bisector :面积等分法;3.mom :最大隶属度平均法;4.som :最大隶属度取小法;5.lom :最大隶属度取大法 三、按照上述要求完成洗衣机模糊控制器设计。
1.下图1-2为洗衣机输入为[90 90]时的输出结果xD e g r e e o f m e m b e r s h ipzD e g r e e o f m e m b e r s h i p图1-2洗衣机模糊控制器输出结果2.建立控制决策表3. 改变输入输出变量的模糊值、隶属度函数的曲线、解模糊的方法等,观察控制器三维图以及控制器输出。
1)centroid:面积重心法2)bisector:面积等分法3)mom:最大隶属度平均法4)som:最大隶属度取小法5)lom:最大隶属度取大法模糊控制实验报告学院:电气与信息工程学院专业:控制理论与控制工程学号:20140201051 姓名:张延丽实验一模糊控制的理论基础实验实验目的:1 练习matlab中隶属函数程序的编写,同时学习matlab数据的表达、格式、文件格式、存盘2 学习matlab中提供的典型隶属函数及参数改变对隶属度曲线的影响3 模糊矩阵合成仿真程序的学习4 模糊推理仿真程序1隶属函数编程(1)要求自己编程求非常老,很老,比较老,有点老的隶属度函数。
clear all;close all;for k=1:1:1001x(k)=(k-1)*0.10;if x(k)>=0&x(k)<50y1(k)=0; y2(k)=0; y3(k)=0; y4(k)=0; y5(k)=0;elsey1(k)=1/(1+(1/((x(k)-50)/5)^2));y2(k)=1/(1+(1/((x(k)-50)/5)^2))^3;y3(k)=1/(1+(1/((x(k)-50)/5)^2))^2;y4(k)=1/(1+(1/((x(k)-50)/5)^2))^(0.8);y5(k)=1/(1+(1/((x(k)-50)/5)^2))^(0.2);endendhold onplot(x,y,'k');plot(x,y,'r');plot(x,y,'b');plot(x,y,'g');plot(x,y,'y');xlabel('X Years');ylabel('Degree of membership');运行结果见图1图1(2)思考题P80 2-2 写出W及V两个模糊集的隶属函数,并绘出四个仿真后的曲线。
%membership function for old peopleclear all;close all;for k=1:1:2001x(k)=(k-1)*0.10;if x(k)>=0&x(k)<50y1(k)=0;elsey1(k)=1/(1+(1/((x(k)-50)/5)^2));endendplot(x,y1,'b');xlabel('x years');ylabel('degree of membership');hold onfor k=1:1:2001x(k)=(k-1)*0.10;if x(k)>=0&x(k)<25y2(k)=1;elsey2(k)=1/(1+((x(k)-25)/5)^2);endendplot(x,y2,'g');xlabel('x years');ylabel('degree of membership');for k=1:1:2001x(k)=(k-1)*0.10;if x(k)>=0&x(k)<25y3(k)=1;elsey3(k)=1/(1+((x(k)-25)/5)^2)^2;endendplot(x,y3,'m');xlabel('x years');ylabel('degree of membership');hold onfor k=1:1:2001x(k)=(k-1)*0.10;if x(k)>=0&x(k)<25y(k)=0;else if x(k)>25&x(k)<50y4(k)=1-1/(1+((x(k)-25)/5)^2)^2;elsey4(k)=1-1/(1+(1/((x(k)-50)/5)^2))^2;endendendplot(x,y4,'r');xlabel('x years');ylabel('degree of membership');仿真结果见图2图2 3 模糊矩阵合成仿真程序(1)(P。
Q)oR;clear all;close all;P=[0.6,0.9;0.2,0.7];Q=[0.5,0.7;0.1,0.4];R=[0.2,0.3;0.7,0.7];S=[0.1,0.2;0.6,0.5];%Compound of P and Q and Rfor i=1:2for j=1:2PQ(i,j)=max(min(P(i,:),Q(:,j)'));endendfor i=1:2for j=1:2PQR(i,j)=max(min(PQ(i,:),R(:,j)'))endend结果见图3图3(2)(PUQ)。
S;clear all;close all;P=[0.6,0.9;0.2,0.7];Q=[0.5,0.7;0.1,0.4];R=[0.2,0.3;0.7,0.7];S=[0.1,0.2;0.6,0.5];for i=1:2for j=1:2PQ(i,j)=max(P(i,j),Q(i,j)')endendfor i=1:2for j=1:2PQS(i,j)=max(min(PQ(i,:),S(:,j)')) endend运行结果见图4图4(3)(PoS)U(QoS);clear all;close all;P=[0.6,0.9;0.2,0.7];Q=[0.5,0.7;0.1,0.4];R=[0.2,0.3;0.7,0.7];S=[0.1,0.2;0.6,0.5];%Compound of A and B and Cfor i=1:2for j=1:2PS(i,j)=max(min(P(i,:),S(:,j)')); endendfor i=1:2for j=1:2QS(i,j)=max(min(Q(i,:),S(:,j)')); endendfor i=1:2for j=1:2PSQS(i,j)=max(PS(i,j),QS(i,j)')endend运行结果见图5图5 4 模糊推理仿真程序思考题2-9clear allclose alla=[0.5;1;0.1]b=[0.1;1;0.6]c=[0.4;1]for i=1:3for j=1:3ab(i,j)=min(a(i),b(j));%求Dendendt1=[];for i=1:3t1=[t1;ab(i,:)'];end%求DT;for i=1:9for j=1:2r(i,j)=min(t1(i),c(j));endend%求Ra1=[1;0.5;0.1]b1=[0.1;0.5;1]for i=1:3for j=1:3ab1(i,j)=min(a1(i),b1(j)); %求D1 endendt2=[];for i=1:3t2=[t2;ab1(i,:)'];endfor i=1:9for j=1:2d(i,j)=min(t2(i),r(i,j));c1(j)=max(d(:,j))endendc1运行结果见图6图6。