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实例参考(二)_系统结构_02

模糊推理系统结构图

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

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_推理规则_03

误差变量E的隶属函数

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_推理规则_04

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

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

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_推理规则_05

输出变量KP的隶属函数


matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_推理规则_06

输出变量KD的隶属函数

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_07

输出变量KI的隶属函数

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

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_08

模糊推理编辑器

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

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_09

模糊推理KP变化图

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_10

模糊推理KI变化图

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_11

模糊推理KD变化图


matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_推理规则_12

matlab模糊控制工具箱使用和模糊控制pid实例参考(二)_系统结构_13

运行仿真得到结果