中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 469查看
  • 0回复

[MATLAB] matlab模糊控制工具箱使用和模糊控制pid实例参考

[复制链接]


该用户从未签到

发表于 23-12-2023 21:46:23 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师



之前写的内容,最近咨询这方面的粉丝较多,故在分析一下

、模糊控制工具箱使用

首先我们在Matlab的命令窗口中输入fuzzy,回车就会出来这样一个窗口。

matlab模糊控制工具箱使用和模糊控制pid实例参考w1.jpg

下面我们都是在这样一个窗口中进行模糊控制器的设计。

1确定模糊控制器结构:即根据具体的系统确定输入、输出量。

这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为EECU,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。

matlab模糊控制工具箱使用和模糊控制pid实例参考w2.jpg

2输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。

在模糊控制工具箱中,我们在Member Function Edit中即可完成这些步骤。首先我们打开Member Function Edit窗口.

matlab模糊控制工具箱使用和模糊控制pid实例参考w3.jpg

matlab模糊控制工具箱使用和模糊控制pid实例参考w4.jpg

然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-3 3],添加隶属函数的个数为7.


matlab模糊控制工具箱使用和模糊控制pid实例参考w5.jpg


然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。


matlab模糊控制工具箱使用和模糊控制pid实例参考w6.jpg


3模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。

matlab模糊控制工具箱使用和模糊控制pid实例参考w7.jpg

制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。

4对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,模糊化方法很多,我们这里选取重心法。

   
matlab模糊控制工具箱使用和模糊控制pid实例参考w8.jpg

5)然后Export to disk,即可得到一个.fis文件,这就是你所设计的模糊控制器。

matlab模糊控制工具箱使用和模糊控制pid实例参考w9.jpg

6)simulink中使用fis文件,首先加入fuzzy模块,然后写入模糊文件,注意应用格式加单引号: 'fuzzpid.fis'

matlab模糊控制工具箱使用和模糊控制pid实例参考w10.jpg

2、模糊控制pid实例

模糊PID控制,即利用模糊逻辑并根据一定的模糊规则对PID的参数进行实时的优化,以克服传统PID参数无法实时调整PID参数的缺点。模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分。小车通过传感器采集赛道信息,确定当前距赛道中线的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数。

matlab模糊控制工具箱使用和模糊控制pid实例参考w11.jpg

KP的模糊规则控制表

?kp

EC

NB

NM

MS

ZO

PS

PM

PB

E

NB

PB

PB

PM

PM

PS

ZO

ZO

NM

PB

PB

PM

PS

PS

ZO

NS

NS

PM

PM

PM

PS

ZO

NS

NS

ZO

PM

PM

PS

ZO

NS

NM

NM

PS

PS

PS

ZO

NS

NS

NM

NM

PM

PS

ZO

NS

NM

NM

NM

NB

PS

ZO

ZO

NM

NM

NM

NB

NB

KI的模糊规则控制表

?ki

EC

NB

NM

NS

ZO

PS

PM

PB

E

NB

NB

NB

NM

NM

NS

ZO

ZO

NM

NB

NB

NM

NS

NS

ZO

ZO

NS

NB

NM

NS

NS

ZO

PS

PS

ZO

NM

NM

NS

ZO

PS

PM

PM

PS

NM

NS

ZO

PS

PS

PM

PB

PM

ZO

ZO

PS

PS

PM

PB

PB

PB

ZO

ZO

PS

PM

PM

PB

PB

KD的模糊规则控制表

?kd

EC

NB

NM

NS

ZO

PS

PM

PB

E

NB

PS

NS

NB

NB

NB

NM

PS

NM

PS

NS

NB

NM

NM

NS

ZO

NS

ZO

NS

NM

NM

NS

NS

ZO

ZO

ZO

NS

NS

NS

NS

NS

ZO

PS

ZO

ZO

ZO

ZO

ZO

ZO

ZO

PM

PB

NS

PS

PS

PS

PS

PB

PB

PB

PM

PM

PM

PS

PS

PB


matlab模糊控制工具箱使用和模糊控制pid实例参考w12.jpg

模糊推理系统结构图

输入变量的隶属取三角形函数,如下:

matlab模糊控制工具箱使用和模糊控制pid实例参考w13.jpg

误差变量E的隶属函数

matlab模糊控制工具箱使用和模糊控制pid实例参考w14.jpg

误差变化变量EC的隶属函数

输出变量的隶属同样取三角形函数,如下:

matlab模糊控制工具箱使用和模糊控制pid实例参考w15.jpg

输出变量KP的隶属函数

matlab模糊控制工具箱使用和模糊控制pid实例参考w16.jpg

输出变量KD的隶属函数

matlab模糊控制工具箱使用和模糊控制pid实例参考w17.jpg

输出变量KI的隶属函数

确定了输入和输出隶属函数后,在模糊规则编辑器中,输入表格中的模糊推理规则,共49条,如下图

matlab模糊控制工具箱使用和模糊控制pid实例参考w18.jpg

模糊推理编辑器

此时得到的三参数的变化如下图

matlab模糊控制工具箱使用和模糊控制pid实例参考w19.jpg

模糊推理KP变化图

matlab模糊控制工具箱使用和模糊控制pid实例参考w20.jpg

模糊推理KI变化图

matlab模糊控制工具箱使用和模糊控制pid实例参考w21.jpg

模糊推理KD变化图

matlab模糊控制工具箱使用和模糊控制pid实例参考w22.jpg

matlab模糊控制工具箱使用和模糊控制pid实例参考w23.jpg

运行仿真得到结果

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-11-2024 21:19 , Processed in 0.351711 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.