matlab模糊控制工具箱使用教程_模糊pid控制原理

matlab模糊控制工具箱使用教程_模糊pid控制原理Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。1、模糊控制工具箱使用首先我们在Matlab的命令窗口(commandwindow)中输入fuzzy,回车就会出来…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。

1、模糊控制工具箱使用

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

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

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

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

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

首先我们要确定描述输入输出变量语言值的模糊子集,如{NBNMNSZOPSPMPB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为{-3-2-10123};然后我们为模糊语言变量选取相应的隶属度函数。

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

4步教你学会使用matlab模糊控制工具箱

4步教你学会使用matlab模糊控制工具箱

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

 4步教你学会使用matlab模糊控制工具箱

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

4步教你学会使用matlab模糊控制工具箱

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

首先要确定模糊规则,即专家经验。对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则(一般来说,这些规则都是现成的,很多教科书上都有),如图。

4步教你学会使用matlab模糊控制工具箱

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

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

    4步教你学会使用matlab模糊控制工具箱

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

 

2、模糊控制pid实例

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

 

matlab模糊控制工具箱使用教程_模糊pid控制原理

 

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控制原理

模糊推理系统结构图

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

误差变量E的隶属函数

matlab模糊控制工具箱使用教程_模糊pid控制原理

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

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

输出变量KP的隶属函数

 

matlab模糊控制工具箱使用教程_模糊pid控制原理

输出变量KD的隶属函数

matlab模糊控制工具箱使用教程_模糊pid控制原理

输出变量KI的隶属函数

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

模糊推理编辑器

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

matlab模糊控制工具箱使用教程_模糊pid控制原理

模糊推理KP变化图

matlab模糊控制工具箱使用教程_模糊pid控制原理

模糊推理KI变化图

matlab模糊控制工具箱使用教程_模糊pid控制原理

模糊推理KD变化图

 

matlab模糊控制工具箱使用教程_模糊pid控制原理

matlab模糊控制工具箱使用教程_模糊pid控制原理

运行仿真得到结果

PS:有定制开发需求,可以QQ联系:1762016542

提供matlab simulink 培训 1v1教学 或者思路沟通 答疑等咨询服务,尤其擅长汽车控制、信号处理、数学建模、电机领域

欢迎关注公众号:算法工程师的学习日志

matlab模糊控制工具箱使用教程_模糊pid控制原理

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179116.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • echarts数据可视化如何实现_数据可视化页面

    echarts数据可视化如何实现_数据可视化页面ECharts实现数据可视化入门教程(超详细)ECharts介绍ECharts入门教程第一步:下载并引入scharts.js文件第二步:编写代码目录结构编写index.html代码效果展示ECharts的基础配置主要配置(常用的)案例讲解ECharts介绍官网链接:ApacheEChartsECharts是一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢

    2022年10月12日
    2
  • Colorref_单词color的用法

    Colorref_单词color的用法COLORREF是一个32-bit整型数值,它代表了一种颜色。你可以使用RGB函数来初始化COLORREF。例如:  COLORREFcolor=RGB(0,255,0);  RGB函数接收三个0-255数值,一个代表红色,一个代表绿色,一个代表蓝色。在上面的例子中,红色和蓝色值都为0,所以在该颜色中没有红色和蓝色。绿色为最大值255。所以该颜色为绿色。0,0,

    2025年8月6日
    2
  • 浅析MOS管工作原理「建议收藏」

    浅析MOS管工作原理「建议收藏」MOS管分为N沟型MOS管和P沟型MOS管N沟型P沟型N沟型:漏极D接正极,源极S接负极,栅极G正电压时导电沟道建立,N沟道MOS管开始工作。P沟型:漏极D接负极,源极S接正极,栅极G负电压时

    2022年8月4日
    6
  • Java取余运算[通俗易懂]

    Java取余运算[通俗易懂]inta=6;~a=?Java中运算都是以补码进行计算的,6的原码为00000000000000000000000000000110,正数的补码=反码=原码所以补码也是00000000000000000000000000000110,然后进行取反操作变成了11111111111111111111111111111001,…

    2022年5月9日
    56
  • 【JavaScript】想在JS中使用换行符,我该怎么操作呢?

    【JavaScript】想在JS中使用换行符,我该怎么操作呢?使用’\n’换行,而不是’\n’注意前后空格实战demo:$(‘#text’).val(‘hello’+’\n’+’world’);

    2022年5月10日
    36
  • 魔方第五步式视频教程_fpga滤波算法

    魔方第五步式视频教程_fpga滤波算法完整版教程下载地址:事隔五年之后,开启第2版DSP数字信号处理和CMSIS-NN神经网络教程,同步开启三代示波器,更至49章(2021-09-20)-STM32H7-硬汉嵌入式论坛-PoweredbyDiscuz!http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第49章STM32F429的自适应滤波器实现,无需Matlab生成系数(支持实时滤波)本章节讲解LMS最小均方自适应滤波器实现,无需Matla…

    2025年9月4日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号