概述

本文将带领大家在Matlab中使用fuzzy工具箱搭建一个PID模糊控制器。在阅读本文之前,请确保你已经安装:
1. Matlab
2. Fuzzy Logic Toolbox
相关的安装教程网络上已经有很多了,在这里就不多赘述。
创建PID模糊控制器
◾ 新建一个模糊控制器
(滑动查看具体步骤)
启动Matlab,在命令行窗口输入fuzzy以启动Fuzzy Logic Designer。

创建输入输出量
我们创建两个输入量,三个输出量,分别对应误差E,误差变化率Ec,Kp,Ki,KD。


编辑输入/输出量
以输入量误差E为例,双击(黄色方块)打开Memebership Function Editor。

修改论域
在上一篇文章中我们假定了E的论域是(-3,3),那现在我们就以此数据为例来修改它。

◾划分模糊等级
(滑动查看具体步骤)
点击Remove All MFs,删除现有的所有模糊等级

再点击Add MFs,添加7个模糊等级

编辑每一个模糊等级对应的隶属度函数。用户可以自由指定隶属度函数的类型以及隶属度函数的函数图像。
注意别忘了修改名字哦!

重复1-3步,编辑剩余的输入/输出量
◾ 创建模糊规则表
(滑动查看具体步骤)
找到上一篇文章中提供的PID模糊规则表

回到Fuzzy Logic Designer的主界面,点击Edit-Rules

照上面的模糊规则表,把总计49的数据录入到软件中。
举个例子,拿第一条规则来说,当E是NB,EC是NB时,KP是PB,KI是ZO,KD是PS。同时我们还需要注意,if条件的连接是and关系。

到这里,我们就已经成功地在Matlab中创建了一个PID模糊控制器了,注意最后不要忘记保存哦,保存好的fis文件在下一篇文章中会应用在Simulink中。

简单测试PID模糊控制器
当所有规则全部录入完成时,我们可以使用软件进行简单的测试验证这个模糊控制器。 还是在刚刚的窗口,我们点击View-Rules,打开Rules Viewer。
当我们在下方Input栏给误差E赋值为-1,误差变化率Ec赋值为0,按回车键,便可看到程序计算出来的KP,KI,KD的数值。不仅如此,我们同时还可以清晰的看到匹配的规则和应用的隶属度函数,十分方便快捷。


引用
杨益兴, 崔大连, 周爱军. 模糊自适应 PID 控制器及 Simulink 仿真实现[ J]. 舰船电子工程, 2010 (4): 127-130. [online] Available at:
https://wenku.baidu.com/view/3e0f8ae9856a561252d36f2d.html
Ekkone. 模糊PID基本原理及matlab仿真实现(新手!新手!新手!) [online] Available at:
https://blog.csdn.net/qq_41913616/article/details/82020685
作者:李昱昊
编辑/校订:崔乐怡
排版:黎馨泽
长按扫码关注我们

最后
以上就是专一小海豚为你收集整理的雷达模糊函数 matlab_模糊PID控制与Simulink仿真(二)的全部内容,希望文章能够帮你解决雷达模糊函数 matlab_模糊PID控制与Simulink仿真(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复