模糊控制器设计实例(1)
- 格式:ppt
- 大小:917.00 KB
- 文档页数:14
5.2.2 .6 模糊控制器设计实例1 、单输入模糊控制器的设计【例 5.12 】已知某汽温控制系统结构如图 5.10 所示,采用喷水减温进行控制。
设计单输入模糊控制器,观察定值扰动和内部扰动的控制效果。
图 5.10 单回路模糊控制系统按表 5-2 确定模糊变量 E 、 U 的隶属函数,按表 5-3 确定模糊控制规则,选择温度偏差 e 、控制量 u 的实际论域:,则可得到该系统的单输入模糊控制的仿真程序如 FC_SI_main.m 所示,仿真结果如图 5.11 所示。
设温度偏差 e 、控制量 u 的实际论域:,选择 e 、 u 的等级量论域为量化因子。
选择模糊词集为 { NB,NS,ZO,PS,PB } ,根据人的控制经验,确定等级量 E , U 的隶属函数曲线如图 5-8 所示。
根据隶属函数曲线可以得到模糊变量 E 、 U 的赋值表如表 5-3 所示。
图5-8 E ,U 的隶属函数曲线表 5-3 模糊变量 E 、 U 的赋值表( μ )-3 -2 -1 0 1 2 3 等级量μE 、 UPB 0 0 0 0 0 0.5 1 PS 0 0 0 0 1 0.5 0 ZO 0 0 0.5 1 0.5 0 0 NS 0 0.5 1 0 0 0 0 NB 1 0.5 0 0 0 0 0依据人手动控制的一般经验,可以总结出一些控制规则,例如:若误差 E 为 O ,说明温度接近希望值,喷水阀保持不动;若误差 E 为正,说明温度低于希望值,应该减少喷水;若误差 E 为负,说明温度高于希望值,应该增加喷水。
若采用数学符号描述,可总结如下模糊控制规则:若 E 负大,则 U 正大;若 E 负小,则 U 正小;若 E 为零,则 U 为零;若 E 正小,则 U 负小;若 E 正大,则 U 负大。
写成模糊推理句 :if E =NB then U =PBif E =NS then U =PSif E=ZO then U=ZOif E =PS then U =NSif E =PB then U =NB由上述的控制规则可得到模糊控制规则表,如表 5-4 所示。
3-4 已知某一加炉炉温控制系统,要求温度保持在600℃恒定。
目前此系统采用人工控制方式,并有以下控制经验(1) 若炉温低于600℃,则升压;低得越多升压越高。
(2) 若炉温高于600℃,则降压;高得越多降压越低。
(3) 若炉温等于600℃,则保持电压不变。
设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。
两个变量的量化等级为七级、取五个语言值。
隶属度函数根据确定的原则任意确定。
试按常规模糊逻辑控制器的设计方法设计出模糊逻辑控制表。
模糊控制器选用的系统的实际温度T 与温度给定值T d 的误差d e T T =-作为输入语言变量,把控制加热装置的供电电压u 选作输出语言变量。
模糊输出量隶属度函数控制规则规则1、如果误差e 是NB ,则控制U 为NB; 规则2、如果误差e 是NS ,则控制U 为NS; 规则3、如果误差e 是ZE ,则控制U 为ZE; 规则4、如果误差e 是PS ,则控制U 为PS; 规则5、如果误差e 是PB ,则控制U 为PB; 由上可得 (3)0.4PS μ= 10.4U PS=(3)1PB μ= 21U PB=120.41U U U PSPB=+=+控制输出:00.4500.43515046.66670.40.41v ⨯+⨯+⨯==++误差(2)1PS μ= 11U PS=(2)0.3PS μ= 20.3U PB=120.31U U U PSPB=+=+精确化 控制输出:00.340140400.31v ⨯+⨯==+(1)0.1ZE μ= 10.1U ZE = (1)0.4PS μ= 20.4U PS=120.10.4U U U ZEPS=+=+控制输出:00.4350.4500.1350.125400.40.40.10.1v ⨯+⨯+⨯+⨯==+++(1)0.4N S μ-= 10.4U N S= 20.1U ZE=120.10.4U U U ZEN S=+=+00.4100.4250.1250.135200.40.40.10.1v ⨯+⨯+⨯+⨯==+++(2)0.3NB μ-= 10.3U N B= (2)1N S μ-= 21U N S=120.31U U U N BN S=+=+控制输出:00.320120200.31v ⨯+⨯==+(3)1N S μ-= 11U N B =(3)0.4NS μ-= 20.4U N S=120.41U U U N BN S=+=+:00.4250.41011013.33330.40.41v ⨯+⨯+⨯==++因此模糊逻辑控制表。
模糊控制算法实例解析(含代码)
首先来看一个实例,控制进水阀S1和出水阀S2,使水箱水位保持在目标水位O处。
按照日常操作经验,有以下规则:
1、若当前水位高于目标水位,则向外排水,差值越大,排水越快;
2、若当前水位低于目标水位,则向内注水,差值越大,注水越快;
3、若当前水位和目标水位相差很小,则保持排水速度和注水速度相等。
下面来设计一个模糊控制器
1、选择观测量和控制量
一般选择偏差e,即目标水位和当前水位的差值作为观察量,选取阀门开度u为控制量。
2、输入量和输出量的模糊化
将偏差e划分为5个模糊集,负大(NB)、负小(NS)、零(ZO)、正小(PS)、正大(PB),e为负表示当前水位低于目标水位,e 为正表示当前水位高于目标水位。
设定e的取值范围为[-3,3],隶属度函数如下。
偏差e对应的模糊表如下:隶属度
变化等级-3 -2
-1
1
2
3模糊集
PB 0 0 0 0 0 0.5
1PS 0
0 0.5 1 0.5 0ZO
0 0.5 1 0.5 0
0NS
0 0.5 1 0.5 0
0NB
0.5 0 0 0 0 0。
洗衣机的模糊控制器设计1 洗衣机的模糊控制传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就能实现控制器模拟人的思维方式来控制洗衣机。
以模糊洗衣机的设计为例其控制是一个开环的决策过程,模糊控制按以下步骤进行。
[4]1.1 洗衣机的时间控制1.1.1 确定模糊控制器的结构选用单变量二维模糊控制器。
控制器的输入为衣物的污泥和油脂,输出为洗涤时间。
1.1.2 定义输入、输出模糊集将污泥分为3个模糊集:SD(污泥少),MD (污泥中),LD (污泥多);取值范围为[0,100]。
将油脂分为3个模糊集:NG (油脂少),MG (油脂中),LG (油脂多); 将洗涤时间分为5个模糊集:VS (很短),S(短),M (中等),L(长),VL (很长)。
1.1.3 定义隶属函数选用如下隶属函数:50/5050/10050/50/50x x x x x x x μLDMD SD污泥1005010050500500 x x x x 采用三角形隶属函数可实现污泥的模糊化。
采用Matlab进行仿真,污泥隶属函数设计仿真程序如下: Close all ; N=2; x=0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); endu=trimf(x,[f(1),f(1),f(2)]); figure(1); plot(x,u); for j=2:Nu=trimf(x,[f(j-1),f(j),f(j+1)]); hold on; plot(x,u); endu=trimf(x,[f(N),f(N+1),f(N+1)]); hold on; plot(x,u); xlabel(‘x’);ylabel(‘Degree of membership ’); 污泥程序仿真结果如图1所示:01020304050607080901000.10.20.30.40.50.60.70.80.91xDe g r e e of m e m b e r s h i p图1 污泥隶属函数将油脂分为三个模糊集:NG (无油脂)MG (油脂中)LG(油脂多),取值范围为[0,100]选用如下隶属函数:50/5050/10050/50/50y y y y y y y LGMG NG油脂1005010050500500 y y y y 采用三角形隶属函数实现油脂的模糊化,仿真程序如下: Clear all; N=2; x=0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); endu=trimf(y,[f(1),f(1),f(2)]); figure (1); plot(y,u); for j=2:Nu=trimf(y,[f(j-1),f(j),f(j+1)]); hold on; plot(y,u); endu=trimf(y,[f(N),f(N+1),f(N+1)]); hold on; plot(y,u); xlabel(‘y’);ylabel(‘Degree of membership ’); 油脂程序仿真结果如图2所示:01020304050607080901000.10.20.30.40.50.60.70.80.91yDe g r e e of m e mb e r s h i p图2 油脂隶属函数将洗涤时间分为五个模糊集:VS(很短)S (短)M (中等)L(很长)取值范围为[0,60] 选用如下隶属函数:20/4020/6015/2515/4015/1015/2510/10/10z z z z z z z z z z z z z VLL M S VS洗涤时间604060404025402525102510100100 z z z z z z z z 采用三角形隶属函数实现洗涤时间的模糊化,其Matlab仿真程序如下: Close all; Z=0:0.1:60;U=trimf(z,[0,0,10]); Figure(1); Plot(z,u);U=trimf(z,[0, 10,25]); hold on; plot(z,u);U=trimf(z,[ 10,25,40]); hold on; plot(z,u);U=trimf(z,[ 25,40,60]); hold on; plot(z,u);U=trimf(z,[ 40,60,60]); hold on; plot(z,u); xlabel(‘z’)ylabel(“Degree of membership ”); 洗涤时间仿真程序结果如图3所示:01020304050600.10.20.30.40.50.60.70.80.91zDe g r e e of m e m b e r s h i p图3 洗涤时间隶属函数1.1.4 建立模糊控制规则根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时将越短”。
模糊pid控制实例以下是一个模糊PID控制的简单实例:假设我们要控制一台电机的转速,目标是使电机转速尽可能稳定在设定值附近。
根据模糊PID控制器的工作原理,我们可以进行以下步骤:1. 设定目标值和初始设定值:设定电机转速的目标值,例如1000转/分钟。
同时设置初始的PID参数。
- 设定值(SP,Set Point)= 1000 RPM- 比例增益 (Kp) = 1- 积分时间(Ti) = 1- 微分时间(Td) = 0.12. 测量电机转速:使用传感器或编码器来测量电机当前的转速,得到当前的反馈值。
3. 模糊控制规则建立:基于当前误差(设定值减去反馈值)和误差的变化率,建立一组模糊逻辑规则,例如: - 如果误差为"NB"并且误差变化率为"PB",则输出为"NB"。
- 如果误差为"NB"并且误差变化率为"NM",则输出为"NM"。
- ...4. 模糊推理和模糊输出:根据模糊逻辑规则,进行模糊推理,即将当前的误差和误差变化率映射到模糊输出的隶属度值上。
5. 解模糊:将模糊输出映射回具体的控制量,例如根据模糊输出计算PID控制器的输出量。
6. 更新PID参数:根据误差的变化和模糊输出的结果来更新PID控制器的参数,例如根据误差的大小和变化率来调整PID参数,以使控制更加精确。
7. 反馈控制:将PID控制器的输出量应用于电机,调整电机的转速。
8. 循环控制:循环执行上述步骤,不断更新PID参数和反馈控制,使得电机转速尽可能稳定在设定值附近。
需要注意的是,以上是一个简单的示例,实际的模糊PID控制根据具体的应用情况和系统特点会有所差异。
参数的选择和模糊规则的建立都需要根据具体的控制对象进行优化和调整。
此外,在实际应用中,还需要考虑到系统的鲁棒性、性能指标等因素。
模糊控制器设计模糊控制是以模糊集合论、模糊语言变量及模糊逻辑推理为基础的一种计算机数字控制。
从线性控制与非线性控制的角度分类,模糊控制是一种非线性控制。
从控制器的智能性看,模糊控制属于智能控制的范畴,而且它已成为目前实现智能控制的一种重要而又有效的形式。
1模糊控制的基本思想在自动控制技术产生之前,人们在生产过程中只能采用手动控制方式。
手动控制过程首先是通过观测被控对象的输出,其次是根据观测结果做出决策,然后手动调整输入量,操作工人就是这样不断地完成从观测、决策到调整,实现对生产过程的手动调整输入量,操作工人就是这样不断地完成从观测、决策到调整,实现对生产过程的手动控制。
这三个步骤分别是由人的眼-脑-手来完成的。
后来,由于科学技术的进步,人们逐渐采用各种测量装置(如传感器)代替人眼,完成对被控制量的观测任务;利用各种控制器(如PID调节器)取代人脑的作用,实现比较、综合被控制量与给定量之间的偏差,控制器所给出的输出信号相当于手动控制过程中人脑的决策;使用各种执行机构(如电动机)对被控对象施加某种控制作用,这就起到了手动控制中手的调整作用。
上述由测量装置、控制器、被控对象及执行机构组成的自动测控系统,就是人们所熟知的常规负反馈控制系统。
常规控制首先要建立精确数学模型,但是对一些复杂的工业过程,建立精确的数学模型是非常困难的,或者是根本不可能的。
于是常规控制技术在这里就遇到了不可逾越的障碍。
但是,熟练的技术操作人员,通过感官系统进行现场观察,再根据自己的经验就能很容易地实现这类控制过程,于是就产生了一个问题,能否把人的操作经验总结为若干条控制规则,并设计一个装置去执行这些规则,从而对系统进行有效的控制呢?答案是肯定的。
这种装置就是模糊控制器。
与传统的PID控制相比,模糊控制有其明显的优越性。
由于模糊控制实质上是用计算机去执行操作人员的控制策略,因而可以避开复杂的数学模型。
对于非线性,大滞后及带有随机干扰的复杂工业对象,由于数学模型难以建立,因而传统的PID控制也就失效,而对这样的系统,设计一个模糊控制器,却没有多大困难。
模糊控制应用实例模糊控制是一种部分基于逻辑的控制方法,它通过将模糊集合理论应用于控制系统中的输入和输出来模拟人类决策的过程。
与传统的精确控制方法相比,模糊控制更适合于处理模糊的、不确定的和复杂的系统。
在现实世界中,模糊控制广泛应用于各个领域,例如工业自动化、交通控制、飞行器导航等。
在本文中,我将介绍几个模糊控制的应用实例,以帮助读者更好地了解其实际应用价值。
1. 交通信号灯控制系统交通信号灯控制是一个典型的实时决策问题,涉及到多个信号灯的切换以及车辆和行人的流量控制。
传统的定时控制方法往往无法适应实际交通状况的变化,而模糊控制可以根据不同时间段和交通流量的变化,动态地调整信号灯的切换时间和优先级,以实现交通拥堵的缓解和行车效率的提高。
2. 温度控制系统在许多工业生产过程中,温度的精确控制对产品质量和产量的影响非常重要。
模糊控制可以根据温度传感器采集到的实时数据,结合事先建立的模糊规则库,调整加热或制冷设备的输出,以实现温度的稳定和精确控制。
与传统的PID控制方法相比,模糊控制对于非线性和时变的系统具有更好的适应性和鲁棒性。
3. 汽车制动系统汽车制动系统是保证驾驶安全的重要组成部分,而制动力的控制是其关键。
模糊控制可以根据制动踏板的压力以及车辆的速度和加速度等信息,动态地调整制动力的输出,以实现舒适而有效的制动。
模糊控制还可以考虑路面的湿滑情况和车辆的负荷情况等因素,自适应地调整制动力的分配,提高制动系统的性能和安全性。
4. 智能家居系统智能家居系统通过感应器、执行器和控制器等组件,实现对家庭设备和环境的智能控制。
模糊控制可以根据家庭成员的习惯和偏好,结合各种传感器采集到的数据,自动地调节室内温度、湿度、光线等参数,提高居住舒适度并节约能源。
在夏天的炎热天气中,模糊控制可以根据室内外温度、湿度和人体感觉来控制空调的开关和风速,实现智能舒适的环境控制。
总结回顾:模糊控制在各个领域都有着广泛的应用。
它通过基于模糊集合理论的推理和决策方法,实现对复杂系统的智能控制。