模糊控制实验
洗衣机模糊控制仿真实验报告

洗衣机模糊控制仿真实验报告一、实验目的本实验旨在通过对洗衣机运行过程的模糊控制仿真实验,帮助学生更好地了解模糊控制的基本原理和实现方法。
二、实验原理洗衣机模糊控制系统主要包括模糊控制器、模糊推理机和输出规则等三个部分。
模糊控制器是模糊系统的核心部分,其主要作用是将输入信号转化为模糊集,并将控制输出信号转化为真实输出信号。
模糊控制器的输入为洗衣机工作状态的一些参数,例如水位、温度等,输出为洗衣机运行状态的一些控制命令,例如加热、搅拌等。
模糊推理机是由一系列规则组成的系统,它负责根据输入的模糊集和一组先验规则,进行模糊推理,得到控制输出信号的模糊集,即模糊控制器的中间变量。
输出规则主要为控制输出信号的模糊集赋值,即将模糊集中各个元素映射到真实输出信号的取值范围内。
三、实验步骤1、建立洗衣机的模糊控制系统模型,包括模糊控制器、模糊推理机和输出规则等。
2、设置洗衣机的运行参数,例如水位、温度等,作为模糊控制器的输入。
3、根据洗衣机的运行状态,制定一组先验规则,作为模糊推理机的输入,并进行模糊推理。
4、根据模糊推理得到的控制输出信号的模糊集,进行输出规则的映射,得到洗衣机的真实控制命令。
5、根据洗衣机的控制命令,模拟洗衣机的工作流程。
6、对洗衣机的工作流程进行仿真实验,并记录实验结果。
四、实验结果分析经过多次实验,得到了洗衣机的模糊控制系统的优化参数,能够实现洗衣机的良好控制。
通过对实验结果的分析,可以发现,模糊控制系统可以有效地调节洗衣机的运行状态,使其在不同的工作状态下保持稳定且高效的运行。
同时,模糊控制系统也具有很强的适应性和鲁棒性,可以自适应地调节参数,应对各种不同的运行环境。
五、实验总结本实验通过模拟洗衣机的工作流程,对模糊控制系统的基本原理和实现方法进行了深入探究,能够有效地帮助学生掌握模糊控制系统的设计和应用方法。
同时,在实验过程中,也需要注意对实验数据和结论的分析和总结,以便更好地优化模糊控制系统的参数和性能,实现最佳控制效果。
一阶倒立摆模糊控制实验报告

一阶倒立摆模糊控制实验报告一、实验目的本实验旨在通过模糊控制方法来控制一阶倒立摆系统,实现摆杆保持竖直的稳定控制。
二、实验原理1. 一阶倒立摆系统一阶倒立摆系统由一个垂直的支撑杆和一个在杆顶端垂直摆动的杆组成。
系统的输入为杆的控制力矩,输出为杆的角度。
系统的动力学方程可以表示为:Iθ''(t) + bθ'(t) + mgl sin(θ(t)) = u(t)其中,I为倒立摆的转动惯量,b为摩擦阻尼系数,θ为倒立摆的角度,m为倒立摆的质量,l为杆的长度,g为重力加速度,u为输入的控制力矩。
2. 模糊控制方法模糊控制方法是一种基于模糊逻辑的控制方法,通过将模糊集合与模糊规则相结合,构建模糊控制器来实现对系统的控制。
在本实验中,可以使用模糊控制器来实现倒立摆系统的稳定控制。
三、实验步骤1. 搭建实验平台,包括倒立摆系统、传感器和执行器。
2. 训练模糊控制器a. 定义模糊集合:根据角度误差和角速度误差定义模糊集合,并确定模糊集合的划分方式。
b. 构建模糊规则:根据经验或系统建模,确定模糊规则。
c. 设计模糊控制器:根据模糊集合和模糊规则,设计模糊控制器,包括模糊推理和模糊解模块。
d. 调整模糊控制器参数:根据系统响应实验,根据控制效果调整模糊控制器参数。
3. 实施模糊控制a. 读取传感器数据:获取倒立摆的角度和角速度数据。
b. 计算控制器输出:根据模糊控制器和传感器数据计算控制力矩的输出。
c. 执行控制器输出:将控制力矩作用在倒立摆上。
4. 监测系统响应:实时监测倒立摆的角度和角速度,判断控制效果。
5. 调整模糊控制器参数:根据实验监测结果,调整模糊控制器参数,以提高控制效果。
四、实验结果分析通过实验,我们可以观察到倒立摆系统在模糊控制下的稳定控制效果。
通过实时监测倒立摆的角度和角速度,可以验证控制器的性能。
实验结果可以通过绘制控制力矩输入和倒立摆角度响应曲线,以及观察系统的稳态误差来分析。
模糊控制基本实验

1假设一个双输入/单输出系统,输入X∈[-5,5]和Y ∈[-10,10]模糊化成三级:负、零、正,输出Z ∈[-5,5]模糊化成五级:负大、负小、零、正小、正大。
模糊规则表如下所示。
适当选择隶属度函数后,设计一个基于Mamdani模型的模糊推理系统,绘制出输入/输出曲线,并计算当X和Y分别为-3和5以及-2和-7时输出Z的大小。
图1:输入变量X范围及隶属度函数曲线
图2:输入变量Y范围及隶属度函数曲线
图3:输出变量Z范围及隶属度函数曲线
图4:输入输出变量三维曲面图
图5:输入变量X=-3,Y=5时输出变量Z值
图6:输入变量X=-5,Y=-9时输出变量Z 值
2.查找相关文献,设计能跟踪给定输入的模糊控制器,假设系统模型如下:
其中K=30, T1=10, T2=40, Td=2。
(用simulink 搭建系统,对系统进行仿真,给
出系统的阶跃响应曲线)
图7:模糊控制经验规则
)
1)(1()(21s T s T Ke s G s
T d ++=
-
图8:E和EC的范围及隶属度函数曲线
图9:输出变量u的范围及隶属度函数
图10:模糊控制规则
图10:模糊控制规则观察表
图11:输入输出变量三维曲面图
图12:simulink仿真电路图
其中,经过多次试探,当K1=2.4,K2=0.65,K3=1.15时,仿真效果较好。
图13:系统单位阶跃响应输出曲线图。
模糊控制实验报告

模糊控制实验报告本实验通过使用模糊控制器来控制直流电机的转速。
模糊控制是一种基于模糊推理的控制方法,该方法可以处理一些无法准确数学建模的系统控制。
模糊控制的输入和输出都是模糊变量,这样可以考虑到系统存在的不确定性和模糊性。
实验装置包括模糊控制器、直流电机、转速测量装置、实验板等。
模糊控制器由模糊推理机、偏差和变化率输入模糊化模块、输出反模糊化模块、规则库组成。
实验板可通过控制开关选择转速和方向。
在实验中,通过设置转速值和方向,记录电机的真实转速和输出控制信号,来验证模糊控制器的控制效果。
通过不同的控制变量和规则库来对比不同的控制方案。
实验结果表明,模糊控制器对于直流电机转速的控制具有较好的效果。
当控制变量为偏差和变化率时,规则库中的设定合理,输出控制信号的变化平稳,电机转速较为稳定。
当增加控制变量或修改规则库时,控制效果也发生了变化。
同时,实验还验证了模糊控制的重要性和优越性,可以解决一些无法准确建模的系统控制问题。
在实验中,还需要注意一些实验细节,例如校准直流电机转速传感器的准确度,保证实验板电路的正常工作和实验数据的准确性,减少误差的影响。
总之,本实验通过实际操作验证了模糊控制器在直流电机转速控制中的应用,对于学习模糊控制的控制方法和实验操作具有很好的参考意义。
同时,本实验也展示了模糊控制对于处理模糊问题的效果。
在直流电机转速控制中,存在许多因素的影响导致控制过程不确定和模糊,例如负载的变化、外部干扰的存在等等。
而模糊控制可以将这些不确定因素转化为模糊变量进行处理,从而提高控制精度和鲁棒性。
此外,本实验也强调了规则库的重要性。
规则库是模糊控制中很关键的一部分,其中包含了专家经验和数学模型的映射关系。
规则库中的设定需要充分考虑被控对象的特性,才能够保证模糊控制器的控制效果。
而实验中不同的规则库设计对于控制效果的影响也展现了模糊控制的灵活性和可定制性。
最后,本实验的数据记录和实验结果分析也为后续工程实际应用提供了很好的参考。
模糊控制实例及simulink仿真实验报告

模糊控制实例及simulink仿真实验报告
一、背景介绍
模糊控制是一种基于模糊逻辑的控制方法,其优点在于可以很好地处理复杂的非线性和不确定性系统,而且不需要精确的数学模型和计算,能够快速实现控制的优化。
二、实例介绍
本次实例采用一个双轮小车为对象,实现小车在平面上向指定位置运动的控制。
通过小车的速度和转向角两个输入变量,输出一个模糊控制信号,控制小车前进和转向。
三、实验过程
1. 建立模糊控制系统模型
打开Simulink软件,建立一个新模型,模型中包括输入变量、输出变量和控制器。
2. 设计输入变量和输出变量
(1)设计输入变量
本实例选择小车速度和转向角两个输入变量,每个变量包含三个模糊集合,速度变量分别为“慢速”、“中速”、“快速”,转向角变量分别为“左转”、“直行”、“右转”。
(2)设计输出变量
模糊控制信号输出变量选择小车的前进和转向,每个变量包含三个模糊集合,分别为“慢行”、“中行”、“快行”、“左转”、“直行”、“右转”。
3. 建立控制器
建立模糊控制器,包含输入变量和输出变量的关系,建立控制规则库和模糊关系。
4. 仿真实验
在Simulink下进行仿真实验,调整控制器参数,观察小车运动状态,对比试验。
四、实验结果
经过多次试验和调整,得到最优的小车模糊控制参数,可以实现小车的平滑运动
和准确转向。
五、实验结论
本实验通过建立一个小车的模糊控制系统,可以有效实现小车的平滑运动和准确转向,控制效果优于传统的PID控制方法。
模糊控制可以很好地处理非线性、不确定性和模糊性的系统,适合许多需要快速优化控制的场合。
基于单片机模糊PID控制算法实验设计

基于单片机模糊PID控制算法实验设计基于单片机的模糊PID控制算法是一种将模糊逻辑和PID控制相结合的控制方法。
模糊PID控制算法在许多工程和科学领域中具有广泛的应用,用于控制各种物理系统,例如机械系统、电子系统和化学系统等。
本文将介绍基于单片机的模糊PID控制算法的实验设计。
一、实验目的本实验旨在通过使用单片机实现模糊PID控制算法,控制一个虚拟物理系统的运动。
通过这个实验,我们可以了解模糊PID控制算法的原理和实现过程,并通过实验结果对其性能进行评估。
二、实验原理模糊PID控制算法是将模糊逻辑和传统的PID控制算法相结合而得到的一种控制方法。
PID控制算法是一种反馈控制方法,它通过测量和计算系统的误差,调整输出控制量,使得系统的运行状态能够接近期望状态。
模糊PID控制算法的原理是,在PID控制算法的基础上,使用模糊逻辑来处理模糊因素,使得控制系统能够对模糊因素有更好的适应性和鲁棒性。
模糊逻辑是对不确定性和模糊性进行建模和处理的一种方法,它能够通过模糊集合和模糊规则来描述和处理模糊因素。
在模糊PID控制算法中,首先使用一组模糊集合来表示误差和变化率的程度,然后建立一组模糊规则,通过模糊推理得到模糊控制量,最后将模糊控制量经过模糊解模糊化得到实际控制量。
这样,通过模糊逻辑的处理,能够使得控制系统对于模糊因素有更好的适应性和鲁棒性。
三、实验步骤1.设计一个虚拟物理系统,可以使用一个电机控制器和一个电机模拟器来模拟物理系统的运动。
2.根据虚拟物理系统的特性,确定控制系统的输入和输出变量,例如位置和速度。
3.设计一组模糊集合来表示位置和速度的程度,例如“远”、“近”、“大”、“小”等。
4.建立一组模糊规则,通过模糊推理得到模糊控制量。
5.设计一个PID控制算法,用于计算系统的误差和调整输出控制量。
6.将模糊控制量和PID控制量相结合,得到最终的实际控制量。
7.使用单片机编程语言,例如C语言,实现上述的模糊PID控制算法。
模糊控制基本实验

1假设一个双输入/单输出系统,输入X∈[-5,5]和Y ∈[-10,10]模糊化成三级:负、零、正,输出Z ∈[-5,5]模糊化成五级:负大、负小、零、正小、正大。
模糊规则表如下所示。
适当选择隶属度函数后,设计一个基于Mamdani模型的模糊推理系统,绘制出输入/输出曲线,并计算当X和Y分别为-3和5以及-2和-7时输出Z的大小。
图1:输入变量X范围及隶属度函数曲线
图2:输入变量Y范围及隶属度函数曲线
图3:输出变量Z范围及隶属度函数曲线
图4:输入输出变量三维曲面图
图5:输入变量X=-3,Y=5时输出变量Z值
图6:输入变量X=-5,Y=-9时输出变量Z 值
2.查找相关文献,设计能跟踪给定输入的模糊控制器,假设系统模型如下:
其中K=30, T1=10, T2=40, Td=2。
(用simulink 搭建系统,对系统进行仿真,给
出系统的阶跃响应曲线)
图7:模糊控制经验规则
)
1)(1()(21s T s T Ke s G s
T d ++=
-
图8:E和EC的范围及隶属度函数曲线
图9:输出变量u的范围及隶属度函数
图10:模糊控制规则
图10:模糊控制规则观察表
图11:输入输出变量三维曲面图
图12:simulink仿真电路图
其中,经过多次试探,当K1=2.4,K2=0.65,K3=1.15时,仿真效果较好。
图13:系统单位阶跃响应输出曲线图。
洗衣机模糊控制建模

智能控制课程作业模糊控制理论实验报告题目洗衣机系统模糊控制建模与仿真班级姓名学号2014年3月13日一.实验目的通过设计洗衣机洗涤时间的模糊控制系统,理解模糊控制的基本原理。
掌握模糊控制系统MATLAB建模与仿真的方法。
二.实验原理洗衣机洗涤时间的模糊控制是一个开环模糊决策过程,其基本原理框图如图1-1所示。
它的核心部分是模糊控制器,模糊控制器的控制律由计算机程序来实现。
图1-1 系统原理框图系统选用两输入单输出的模糊控制器。
控制器的输入为衣物的污泥量x和油脂量y,输出为洗涤时间z。
将污泥分为3个模糊集:SD(污泥少),MD(污泥中),LD(污泥多);将油脂分为3个模糊集:NG(油脂少),MG(油脂中),LG(油脂多);将洗涤时间分为5个模糊集:VS(很短),S(短),M(中等),L(长),VL很长。
首先,定义输入x,y变量,输出z变量的隶属函数。
根据“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时间越短”的规律建立洗衣机模糊规则表。
然后,根据模糊规则进行模糊推理并得到洗涤时间的模糊集合。
最终,利用重心法对模糊系统反模糊化,将洗涤时间的推理结果转化成精确值z输出。
三.实验内容利用MATLAB软件实现上述洗衣机系统模糊控制的建模与仿真。
1.建立x,y,z的隶属函数洗衣机系统变量x,y,z的隶属函数分段表达式,如式1-1所示。
()()()()()()()()()()()()()()()()SD MD LD NG MG LGVS 50/50050/50050100/505010050/505010050/50050/5005011100/505010050/505010010/10010Sx x x x x x x x x x x y y y y y y y y y y y z z z z μμμμμμμμμμμ=-≤≤⎧⎪≤≤⎧⎪⎪==⎨⎨-<≤⎪⎩⎪⎪=-<≤⎩=-≤≤⎧⎪≤≤⎧⎪⎪==-⎨⎨-<≤⎪⎩⎪⎪=-<≤⎩=-≤≤=污泥油脂洗涤时间()()()()()()()()()VL /1001025/15102510/15102540/15254025/15254060/20406040/204060M L z z z z z z z z z z z z z z z z z μμμ⎧⎪≤≤⎪⎧⎪=⎨⎪-<≤⎪⎩⎪⎪-≤≤⎧⎪⎪=⎨⎨-<≤⎪⎪⎩⎪-≤≤⎧⎪⎪=⎨⎪-<≤⎪⎩⎪⎪=-≤≤⎩在MATLAB 中,定义本系统为一个Mamdani (普通)型模糊控制系统,命名为a 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
模糊控制课程实验报告
学生姓名:彭雄威_____________ 指导教师: ________________ m _______ 学院:信息科学与工程学院
学号:114611167 ______________
实验一:
本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。
(1) 增加一个输入变量,将输入变量命名为E、Ec,将输出变量命名U。
这样就建立了一个两输入单输出的模糊推理系统。
如图1.1所示。
图1.1增加一个输入变量
(2) 设计模糊化模块:设计隶属度函数论域范围
图3.2设计水位误差E模块
3.3设计水位误差EC模块
图3.4设计水位输出U模块
(4)模糊控制器的规则设计
le Editor: fuzzf
(5)通过观察器观察规则情况
在菜单view中的rules和surface选项分别对应得是规则观测器和曲而观测器。
123 4567891011121314151617181920212223242526272829”
Input: 20】Plot points: ioi Move: [ left 11 rg ] |down] ( up ]
Opened system tuzzf, 49 rules| 5 Close |
图3.7规则观测器
图3.6曲面观测器(6)保存编辑好的FIS文件
实验二
利用MATLAB软件的M文件编辑器和实验一所生成的fuzzf.FIS文件,在M 文件编辑器中输入:a=readfis('fuzzf');
evalfis([・0.5广0.07;-0.5,0;・0.5,0.07; 0,・0.07;0,0;0,0.07;0.5广0.07;0.5,0;0.5,0.07],a)
便可得fuzzf.FIS文件的模糊控制査询表,其中的数据在水位误差E的论域为[・ 1 1], 误差变化EC的论域为[.0.1 0.1]内可以任意取值。
a=readfis(' fuzzf')
a =
name:' fuzzf'
type: 'mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centroid'
impMethod: 'min'
aggMethod: 'max'
input: [1x2 struct]
output: [lxl struct]
rule: [1x5 struct]
a=readfis(' fuzzf'); evalfis([-0.5,-0.07;-0.5,0;-0.5,0.07;0,-0.07;0,0;0,0.07;0.5,-0.07;0.5,0;0.5,0.07],a)
ans =
-0.2000
-0.4444
-0.4667
0.1363
-0.0014
-0.2271
0.4000
0.4412
0.1333
实验三
利用MATLAB软件的M文件编辑器(也可选择C语言)完成模糊控制查询表的计算。
注意:全部工作都由程序实现,不利用FIS文件,不使用Fuzzy I具箱,包括模糊关系矩阵的求取及模糊推理、模糊判决。
表控制量的赋值表
状6 m l *z %*n r<o O S O T S O S O O .o rn .000000o o o o o o o o o o o o o m o z o T Z I lr n m % 咨s o m .E o o o o o o o o o o o o o o o m .o o m .o z .o 」l<.o O T Z .O m o O
o l *8%%H oo o z .O T Z o z o o o o o o d o O O O O O O
T 9.O T O O O O O o o o o o o z o z o I Z o m o T o o o o o o o o o o rn .o s O T Z O Z .O o o o o o o o o rH o 寸o z o o J
forjjj=l:13 %偏差率EC的模糊值控制
for ii=l:8 %偏差E的模糊规则控制
forjj=l:7 %偏差变化率EC的模糊规则控制
A_rulelist = rulelist(iijj); % 査模糊规则表
%******计算C1A************* A = E(ii,:); %取友
C_A = U(A_rulelist,:); %取Ci for i=l:13 %求口人
for j=l:13
if(A(i)>C_A(l,j))
Ra(iJ)= C_A(1J); else
Ra(iJ) = A(i);
end
end
end
AA = zeros(l,13); %取AA=A' 如AA=[1,0,0,0,0,0,0,0,0,0,0,0,0]; %AA(l,iii)
= E(iijii);
AA(lJii)=l;
for i=l:13 %先取小
forj=l:13
if(AA(j) > Ra(j,i))
A_qux(j,i) = Ra(jJ);
else
A_qux(jJ) = AA(j);
end
end
end
for i=l:13 %再取大…求和CiA
max = A_qux(l,i);
forj=l:13
if(max <A_qux(j,i)) max = A_qux(j,i);
end
end
CiA(i) = max;
end
%********CiA 计算完毕********* %*******计算
GB*************B = EC(jj/); %取日 ???
C_B = U(A_rulelist/); %取Ci ??? for i=l:13 %求口日
forj=l:13
Rb(iJ) = C_B(l,j);
else
Rb(Lj) =
end
end
end
BB = zeros(l,13); %取BB=B* 如BB司1,0,0,0,0,0,0,0,0,0,0,0,0];
%BB(l,jjj) = EC(jj,jjj);
fori=l:13 % 先取小
forj=l:13
if(BB(j) >Rb(jJ»
B_qux(j,i) = Rb(jJ);
else
B_qux(j,i) = BB{j);
end
end
end
fori=l:13 %再取大,,,求和CiA max = B_qux(lJ);
forj=l:13
if(max <B_qux(j,i))
max = B_qux(j,i);
end
end
CiB(i) = max;
end
%****♦*♦计算CiB,完毕****
%*******计算CT=CiA,交ciB»********
for i=l:13
ifCiA(i) >CiB(i)
Ci(i) = CiB(i);
else
Ci(i)= CiA(i);
end
end
%****♦*♦计算CT完毕♦*♦*♦*♦*****
C((ii-l)*7+jj,:) = Ci; % 将Ci 存到数组C 中,C 是56*13 的数组end
end
%根据式ui=c=cr并CZ并 (3)
for i=l:13
max = C(1J);
for j=l:56
if(max < C(j,i))
max = C(j,i);
end
end
Ui(i) = max;
end
%用重心法进行解模糊运算,并映射为实际的控制量sum_fenz = 0;
sumfenm = 0;
for i=l:13
sumfenz = sumfenz + (i-7)*Ui(i); sum_fenm = sum_fenm + Ui(i);
end
core = sumfenz/sumfenm;
U_control(iiijjj) = core;
end
end
U_control = round(U_controL* 10000)/10000; % 对控制量保留小数点后两位U_control 计算结果:
U control =
实验四
控制系统仿真实验。
利用MATLAB的SIMULINK设计一个控制系统,在库中找到所需的各模块,连接各模块,启动仿真,显示输出曲线,观察控制性能,不理想时适当修改有关参数或控制规则,获得满意的控制效果。
(对象采用二阶以上)
被控对象模型为:
?+ 55+3
simulink结构图如下:
得到如下曲线:。