模糊控制器基础知识的学习(7.5第一遍,7.6第二遍)
模糊控制器设计
模糊化接口
①在模糊化系统中,通常取系统的误差值e和误差变化率ec为模糊控制器的两个输入,则e上定义语言变量“误差E",在ec上定义语言变量”误差变化ec"; 误差和误差变化之间存在和关系,即需要考虑两者对系统的影响。
②定义各语言的论域。通常都设置为X=Y={-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6};
③设置各语言的语言值。通常设为{正大 正中 正小 零 负小 负中 负大}={PB PM PositiveSmall ZO NS NM NB}
④各语言变量上的论域上定义其语言值的隶属函数。通常隶属函数的形状取正态分布函数。
模糊控制器的控制规律库
主要使用两个模型——Mamdni模糊模型和Takagi——Sugeno模糊模型。
①M模糊模型构成的模糊逻辑系统是IF——then规则,在这组规则中,千件变量和后件变量均为模糊语言集合。
如果X是A1,and y是B1,则C1;如果X是A2,and y是B2,则C2;如果X是A3,and y是B3,则C3;
②TS模型也是属于IF——then规则,规则前件含有模糊语言值,后件是千件变量的函数。
如果X是A1,and y是B1,则f(x,.......y);
输出量去模糊化
模糊控制器的输出是一个模糊集合,它必须转换为非模糊输出,才能用于调节过程。
模糊控制查询表
经过模糊化,模糊推理和逆模糊化,对于一组输入(e,ec),可以得到控制器的输出u。
我们通过模糊控制规则表可以得到模糊控制查询表。
举例:①当误差值为负大,而且误差变化值为负大时,输出值U为正大。
即当给定值小于反馈值时,误差值为负数,但是此时误差变化值也为负,此时表明该误差会负方向大的方向变化。这时模糊控制的输出是要让控制环节增大输出量U,所以输出值为正大。
②当误差值为PB正大,而且误差变化值为负大,此时表明该误差会负方向大的方向变化,这样就有一个相互抵消的作用,那么最终的输出值U为0,表明误差为0,系统完美。
模糊控制查询表
控制规则是一模一样的。
隶属函数对模糊控制的影响
前面提到过隶属函数,隶属函数体现着控制规则,隶属函数的形状不同,会导致不同的控制特性。隶属函数的形状影响控制的分辨率和灵敏度,也就是控制精度。
隶属函数曲线形状较尖的模糊子集分辨率较高,控制灵敏度较好,适合误差较小的情况。
隶属函数曲线形状较缓慢,控制特性比较平缓,精准度不足,但是系统较为稳定,适合误差较大的情况。
因此在误差较大的区域采用低分辨率;在误差较小甚至是0的情况采用高分辨率;
论域
前面提到过论域,那有什么东西是需要知道的呢?
误差的基本论域为[-Xe,+Xe];
误差变化的基本论域为[-Xec,+Xec];
模糊控制器的输出量的范围,即基本论域[-U,+U];
而需要注意的是,前面的表格所指的是模糊集的论域,基本论域我就写了三行
论域的选择:一般旋转误差论域的个数>=6,选误差变化论域的个数>=6,控制量的论域的个数>=7;
量化因子和比例因子
①为了进行模糊控制,必须将输入变量从基本论域(上述提及)转换到相应的模糊集的论域(表格);这中间必须将输入变量乘以相应的量化因子,量化因子一般用k来表示——误差用ke,误差变化用kec.如
ke=n/Xe;
其中n为模糊集论域中的数,Xe为基本论域中的数;而且量化因子一般都大于1,如ke=10。
②此外就是通过模糊控制器得到模糊控制输出值,也是属于模糊集论域。所以需要将其转换为控制对象所能接受的基本论域中。这时候引入比例因子的概念。
ku=p/u;
其中p为模糊集论域的数,u则为基本论域的数。
即对于模糊控制器的输入量,要进行量化;对模糊控制器的输出量,只是比例因子起作用。
同时量化因子和比例因子对系统的控制性能也有影响;
首先很容易就能想到一点,乘上量化因子或者是除以一个比例因子后,是放大或者缩小了基本论域,若选择不当,会对控制精度有影响;
ke越大,系统的超调会变大,过渡时间会变长——因为如果ke过大,论域所覆盖的范围变大,会使得上升时间变短,但是精度不高,会使得超调量变大,系统的过度时间变长;
Kec越大,系统的超调越小,但是系统的响应速度变慢——kec的表达是dE/dt,是指误差的变化量和方向;如果误差的变化率大。消除误差的作用就会越强,那么自然超调量就被遏制;
ku过大会导致系统输出振荡加剧——相当于有一个放大作用,对输出的过程的轻微振荡放大;
ku过小会对系统的动态响应过程变长——?
模糊控制规则选取
选择描述输入输出的变量的词集:
前面提到的正大,正小便是描述词汇;选择较多的词汇描述输入,输出变量,可以使制定控制方便,但是控制相应变得复杂。选择词汇过小使得描述变得粗糙,导致控制器的性能变坏。
定义模糊变量的模糊子集
定义一个模糊子集,实际上就是对确定模糊子集隶属子集隶属函数曲线的形状。将确定的隶属函数曲线离线化,就得到有限个点上的隶属度,便构成了一个相应的模糊变量的模糊子集。
建立模糊变量器的控制规则
以手动操作控制锅炉水位为例,总结一下手动控制策略,从而给出一类模糊控制规则。前面也有进行一些解析,可能不够全面:
①误差为负的情况,当误差为负大时,若当误差变化为负,这时候误差有增大的趋势,为了尽快消除已有的负大的误差并且抑制控制误差变大,所以控制量变化为正大。
②当误差为负而且误差变化为正方向时,系统本身就有往减少误差的趋势。当误差为负大而误差变化为正小时,控制量的输出变为正中,若误差变化为正大或正中是,控制量不宜增加,否则会造成超调量然后产生正向误差。
③当误差为负小时,系统接近稳态;若误差变化为负,选取控制量输出值为正中,以抑制误差往负方向变化;若误差变化为正,系统本身有消除负小的误差趋势,选取控制量变化为正小。
上述输出两变化的原则是(模糊子集),当误差大或较大时,选择控制量以尽快消除误差为主;而当误差较小是,选额控制量要注意防止超调,以系统的稳定性为主。
输出控制量解模糊方法分析
把模糊量转换为精确量的过程称为清晰化,又称去模糊化,方法常用有三种:
①最大隶属度法:这个方法是选择隶属度最大的论域元素为去模糊的结果。如对应的模糊判决的模糊子集U,则取该模糊子集中隶属度最大的哪个元素。
②加权平均法:
主要是使用权系数加权平均法(工业常用),其执行量由下式决定:
U=[(k1 * U1)+(k2 * U2)+(k3 * U3)+(k4 * U4).......]/(k1+k2+k3+k4+k5+k6......);
③取中位数法:
为了充分利用模糊子集的所有的信息量,可以求出把隶属度曲线的横坐标围成的面积平分为两部分的数作为去模糊的结果。最后,加到被控制过程的控制量u与比例因子ku的乘积:
U=k*U
结束
模糊控制器基础知识的学习(7.5第一遍,7.6第二遍)相关推荐
- Android 学习之《第一行代码》第二版 笔记(二十三)Material Design 实战 —— 卡片式布局
实现基础: Android 学习之<第一行代码>第二版 笔记(二十二)Material Design 实战 -- 悬浮按钮和可交互提示 卡片式布局 卡片式布局是 Materials Des ...
- 基础知识的学习,来自十年程序员的经验分享
本文转载自微信公众号<大飞码字> 前面分享过一篇算法学习的文章 : 不懂算法,还想进大厂?做梦吧. 虽然有点标题党,但内容还是不错的. 后来就想能不能对计算机学习方法和学习心得写个系列的文 ...
- 计算机网络基础知识 帮助学习网络管理的初学者快速了解网络管理的初步结构知识...
网络分层: OSI七层协议:物理层.数据链路层.网络层.运输层.会话层.表示层.应用层 五层协议:物理层.数据链路层.网络层.运输层.应用层 HTTP四层协议:网络接口层.网际层.运输层.应用层 层 ...
- python基础知识培训价格_Python基础知识的学习
看到有人推荐Jupyter notebook中markdown另存为md文件的方法,可以将文档直接导入到知乎里.自己尝试了下,效果很好.文档中为Python基础知识的学习和练习内容. 数据类型:字符串 ...
- 网络基础知识汇总学习
一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...
- R语言基础知识入门学习(一)
目录 系列文章目录 一.软件下载 二.基本知识 1. 对象 2. 向量 3. 向量化 4. 因子 总结 系列文章目录 R语言基础知识入门学习(一) 一.软件下载 我们可以通过这个网址对R语言软件进行下 ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- 2021Golang技术基础知识及学习路线图
导读:Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入 ...
- SEO 基础知识? 2023学习SEO最佳指南
文章目录 搜索引擎优化基础知识 什么是搜索引擎优化? 为什么搜索引擎优化很重要? SEO有什么好处? 如何做搜索引擎优化 关键词研究 内容优化 网站结构优化(页面SEO) 外部链接优化 移动优化 分析 ...
最新文章
- Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com)
- PHP基础-自定义函数-变量范围-函数参数传递
- 如果你能用你的大脑控制电脑,感觉怎么样?
- python 类装饰器 __set___python装饰器代替set get方法实例
- 从网游策划谈《梦幻西游》的成功之道
- Hadoop专业解决方案-第1章 大数据和Hadoop生态圈
- springBoot项目首页居然还有这么多种玩儿法,index.html并不是必须的
- memcache 未授权访问漏洞
- php中$i++和++$i的区别
- 空域变换-直方图匹配(直方图规定化)
- PDF如何加水印? PDF加水印的方法
- copy的过去式_copy的过去式和用法例句
- 如何修改Tomcat的默认主页
- mysql通用精确计算年龄方式
- 229. Majority Element II 【M】【52】
- 二进制转10进制代码分享
- Linux 三剑客(grep、sed、awk)
- expected declaration or statement at end of input
- 闹钟DeskClock缅甸语显示不全问题分析
- Mac休眠之后唤醒时无法使用鼠标