- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模糊控制详细讲解实例
一、速度控制算法:
首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec(i)= e(k)- e(k-1)≤20,阀值eswith=10km/h
设计思想:油门控制采用增量式PID控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。
选择规则:
e(k)0 ① e(k)- eswith and throttlr_1≠0 选择油门控制
② 否则:先将油门控制量置0,再选择刹车控制
0e(k) 先选择刹车控制,再选择油门控制
e(k)=0 直接跳出选择
刹车控制:刹车采用模糊控制算法
1.确定模糊语言变量
e基本论域取[-50,50],ec基本论域取[-20,20],刹车控制量输出u基本论域取[-30,30],这里我将这三个变量按照下面的公式进行离散化:
其中,,n为离散度。
E、ec和u均取离散度n=3,离散化后得到三个量的语言值论域分别为:
E=EC=U={-3,-2,-1,0,1,2,3}
其对应语言值为{ NB,NM,NS,ZO, PS,PM,PB }
2.确定隶属度函数
E/EC和U取相同的隶属度函数即:
说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,图像略
实际EC和E输入值若超出论域范围,则取相应的端点值。
3.模糊控制规则
由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表:
表1:E/EC和U语言值隶属度向量表
-3 -2 -1 0 1 2 3 NB 1 0.5 0 0 0 0 0 P0 NM 0 1 0.5 0 0 0 0 P1 NS 0 0.5 1 0.5 0 0 0 P2 ZO 0 0 0.5 1 0.5 0 0 P3 PS 0 0 0 0.5 1 0.5 0 P4 PM 0 0 0 0 0.5 1 0 P5 PB 0 0 0 0 0 0.5 1 P6 设置模糊规则库如下表:
表2:模糊规则表
U E
EC — NB NM NS ZO PS PM PB NB PB PB PM PM PS ZO ZO NM PB PM PM PS ZO ZO NS NS PM PM PS PS ZO NS NS ZO PM PS PS ZO ZO NS NM PS PS PS ZO ZO ZO NS NM PM PS ZO ZO ZO NS NM NB PB ZO ZO ZO NS* NM NM NB
3.模糊推理
由模糊规则表3可以知道输入E与EC和输出U的模糊关系,这里我取两个例子做模糊推理如下:
if (E is NB) and (EC is NM) then (U is PB)
那么他的模糊关系子矩阵为:
其中,,即表1中NB对应行向量,同理可以得到, ,
if (E is NVB or NB) and (EC is NVB) then (U is PVB)
结果略
按此法可得到27个关系子矩阵,对所有子矩阵取并集得到模糊关系矩阵如下:
由R可以得到模拟量输出为:
4.去模糊化
由上面得到的模拟量输出为1×7的模糊向量,每一行的行元素(u(zij))对应相应的离散变量zj,则可通过加权平均法公式解模糊:
从而得到实际刹车控制量的精确值u。
油门控制:
油门控制采用增量式PID控制,即:
只需要设置、 、三个参数即可输出油门控制量。
二、程序实现及参数调节
clear all
%************************模糊算法
%/*********隶属度向量 *****%
P0=[1,0.5,0,0,0,0,0];%*********NB
P1=[0,1,0.5,0,0,0,0];%*********NM
P2=[0,0.5,1,0.5,0,0,0];%*********NS
P3=[0,0,0.5,1,0.5,0,0];%*********ZO
P4=[0,0,0,0.5,1,0.5,0];%*********PS
P5=[0,0,0,0,0.5,1,0];%*********PM
P6=[0,0,0,0,0,0.5,1];%*********PB
%***********语言值 *****%
NB=-3;NM=-2;NS=-1;ZO=0;PS=1;PM=2;PB=3;
%/*********模糊规则表*****%
Pg=[PB PB PM PM PS ZO ZO;
PB PM PM PS ZO ZO NS;
PM PM PS PS ZO NS NS;
PM PS PS ZO ZO NS NM;
文档评论(0)