模糊自整定PID控制系统设计与仿真

模糊自整定PID控制系统设计与仿真
模糊自整定PID控制系统设计与仿真

模糊自整定PID控制系统设计与仿真——俯仰姿态保持模糊PID控制

姓名:孙丽媛

学号: 2010201393

课程:智能控制理论及应用(095059)

完成时间:2011年2月24日

专业:控制理论与控制工程

指导老师:李爱军

一、设计内容

1、模型与设计要求

(1) 某飞机纵向短周期运动状态方程为:X AX BU Y CX =+= 。其中,??????????=θαq X ,????

?

?????=θαq Y ,

[]e U δ=;α表示迎角,q 表示俯仰角速率,θ表示俯仰角,e δ表示升降舵偏角。飞机在某状态下

的状态参数矩阵为:

-0.56989

10-2.49155-1.143570010A ????=??

????

,-0.02932.26830B ????=??????,100010001C ????=??????

使用模糊PID 控制器,设计跟踪俯仰角的俯仰姿态保持闭环飞行控制系统,并对设计结果进行分析,计算俯仰角的超调量和调节时间。

(2)设计模糊控制规则。

(3)在MATLAB 下依据整定原理编写仿真程序并调试。 (4)给定输入为阶跃信号,运行程序,记录仿真数据和曲线。 (5)修改模糊控制规则,重复步骤4。 (6)分析数据和控制曲线。

2.报告要求

(1)给出模糊控制器的设计过程和程序清单。 (2)记录仿真数据和曲线。 (3)分析仿真结果。

二、设计过程

1.概述

模糊PID 控制器有多种结构形式,但是工作原理基本一致,即运用模糊数学的基本原理和方法,把规则的条件、操作用模糊集来表示,把这些模糊控制规则以及相关的信息作为知识存入计算机的知识库中,然后计算机根据系统的实际响应运用模糊推理,可实现对PID 参数的最佳调整。

自适应模糊PID 控制器以误差e 和误差变化ec 作为输入,可以满足不同时刻的e 和ec 对PID 参数自整定的要求。利用模糊控制规则在线对PID 参数进行修改,便构成了自适应模糊PID 控制器,其结构如图1所示。

图1 自适应模糊控制器结构

PID 参数模糊自整定是找出PID 三个参数k p 、k i 、k d 与e 和ec 之间的模糊关系,在运行中通过不断检测e 和ec ,根据模糊控制原理来对3个参数进行在线修改,以满足不同e 和ec 时对控制参数的不同要求,而使被控对象有良好的动、静态性能。

2.控制原理

PID 参数的整定必须考虑到在不同时刻三个参数的作用以及相互之间的互连关系。而模糊自整定PID 就是在PID 控制算法的基础上,通过计算当前系统误差e 和误差变化率ec ,利用模糊规则进行模糊推理,查询模糊矩阵表进行参数调整。

模糊控制设计的核心是总结工程技术人员的技术知识和实际操作经验,建立合适的模糊规则表,得到针对p k 、i k 、d k 三个参数分别整定的模糊控制表如表1至表3所示。

表1 p k 的模糊控制规则表

NB NM NS ZO PS PM PB 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 PB

ZO

ZO

NM

NM

NM

NB

NB

表2 i k 的模糊控制规则表

NB NM NS ZO PS PM PB 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

ec

Ki e

ec

Kp

e

表3 d k 的模糊控制规则表

NB NM NS ZO PS PM PB 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

将系统误差e 和误差变化率ec 的变化范围定义为模糊集上的论域。

}5,4,3,2,1,0,1,2,3,4,5{,-----=ec e

其模糊子集为},,,,,,{,PB PM PS ZO NS NM NB ec e =,子集中元素分别代表负

大、负中、负小、零、正小、正中、正大。设e 、ec 和p k 、i k 、d k 均服从正态分部,因此可得出各模糊子集的隶属度,根据各模糊子集的隶属度赋值表和各参数的模糊调整规则模型,运用模糊合成推理设计出的PID 参数模糊调整矩阵表,查出修正参数代入下式计算

??????+=+=?+=+=?+=+=d d d d d

i i i i i p P p p p k

k k ec e k k k k k ec e k k k k k ec e k k '''

''

'},{},{},{ 式中p k 、i k 、d k 是PID 控制器的参数,'p k 、'i k 、'

d k 是p k 、i k 、d k 的初始参数,它们通过常规方法获得,在线运行过程中,通过微机测控系统不断的检测系统的输出响应值,并实时的计算出偏差和偏差变化率,然后将它们模糊化得到

e 和ec ,通过查询模糊调整矩阵即可得到p k 、i k 、d k 三个参数的调整量完成整定过程。

3.工作流程图

在线运行的过程中,控制系统通过对模糊逻辑规则的结果处理、查表和运算,完成对PID 参数的在线自校正。其工作流程图如图2所示。

ec

K d e

图2 在线自校正工作流程图

4. 应用模糊控制工具箱设计模糊控制器

(1)首先,选择两输入,三输出的模糊控制器。输入信号为偏差信号e 和偏差信号的微分ec 信号。输出信号分别为p k 、i k 、d k 信号。在Matlab 模糊工具箱中建立的模糊模型如图3所示。

图3 模糊工具箱

(2)测出偏差信号e 和误差信号的微分ec 信号的实际变化范围。并根据实际情况,选择所有

的论域均为[]2,2+-,适当的选择比例因子。

(3)考虑到高斯曲线叫符合人的思维,选择使用一部分高斯曲线,设计e 、ec 、p k 、i k 、d

k 隶属函数分别如图4.1、4.2、4.3 4.4所示:

开始

对当前值进行采样

计算e 、ec

e 、ec 量化、模糊化

模糊整定p k ?,i k ?,d k ?

计算当前p k ,i k ,d k

PID 控制器输出

返回

-2

-1.5

-1

-0.5

00.5

1

1.5

2

00.2

0.4

0.6

0.81

e

D e g r e e o f m e m b e r s h i p

NB NM NS ZO PS PM

PB

图4.1 e,ec 的隶属函数

5

10

15

20

25

00.2

0.4

0.6

0.81

Kp

D e g r e e o f m e m b e r s h i p

NB NM NS ZO PS PM PB

图4.2 k p 的隶属函数

1

2

3

4

56

7

8

9

10

00.2

0.4

0.6

0.81

Ki

D e g r e e o f m e m b e r s h i p

NB NM NS ZO PS PM PB

图4.3 k i 的隶属函数

1

2

3

4

5

6

7

00.2

0.4

0.6

0.81

Kd

D e g r e e o f m e m b e r s h i p

NB NM NS ZO PS PM PB

图4.4 k d 的隶属函数

(4)根据表1至表3中总结的实际经验,选择49条模糊规则如下:

<1> If (e is NB) and (ec is NB) then (kp is PB)(ki is NB)(kd is PS)

<2> If (e is NB) and (ec is NM) then (kp is PB)(ki is NB)(kd is NS)

<3> If (e is NB) and (ec is NS) then (kp is PM)(ki is NM)(kd is NB)

<4> If (e is NB) and (ec is Z) then (kp is PM)(ki is NM)(kd is NB)

<5> If (e is NB) and (ec is PS) then (kp is PS)(ki is NS)(kd is NB)

<6> If (e is NB) and (ec is PM) then (kp is Z)(ki is Z)(kd is NM)

<7> If (e is NB) and (ec is PB) then (kp is Z)(ki is Z)(kd is PS)

<8> If (e is NM) and (ec is NB) then (kp is PB)(ki is NB)(kd is PS)

<9> If (e is NM) and (ec is NM) then (kp is PB)(ki is NB)(kd is NS)

<10>If (e is NM) and (ec is NS) then (kp is PM)(ki is NM)(kd is NB)

<11>If (e is NM) and (ec is Z) then (kp is PS)(ki is NS)(kd is NM)

<12>If (e is NM) and (ec is PS) then (kp is PS)(ki is NS)(kd is NM)

<13>If (e is NM) and (ec is PM) then (kp is Z)(ki is Z)(kd is NS)

<14>If (e is NM) and (ec is PB) then (kp is NS)(ki is Z)(kd is Z)

<15>If (e is NS) and (ec is NB) then (kp is PM)(ki is NB)(kd is Z)

<16>If (e is NS) and (ec is NM) then (kp is PM)(ki is NM)(kd is NS)

<17>If (e is NS) and (ec is NS) then (kp is PM)(ki is NS)(kd is NM)

<18>If (e is NS) and (ec is Z) then (kp is PS)(ki is NS)(kd is NM)

<19>If (e is NS) and (ec is PS) then (kp is Z)(ki is Z)(kd is NS)

<20>If (e is NS) and (ec is PM) then (kp is NS)(ki is PS)(kd is NS)

<21>If (e is NS) and (ec is PB) then (kp is NS)(ki is PS)(kd is Z)

<22>If (e is Z) and (ec is NB) then (kp is PM)(ki is NM)(kd is Z)

<23>If (e is Z) and (ec is NM) then (kp is PM)(ki is NM)(kd is NS)

<24>If (e is Z) and (ec is NS) then (kp is PS)(ki is NS)(kd is NS)

<25>If (e is Z) and (ec is Z) then (kp is Z)(ki is Z)(kd is NS)

<26>If (e is Z) and (ec is PS) then (kp is NS)(ki is PS)(kd is NS)

<27>If (e is Z) and (ec is PM) then (kp is NM)(ki is PM)(kd is NS)

<28>If (e is Z) and (ec is PB) then (kp is NM)(ki is PM)(kd is Z)

<29>If (e is PS) and (ec is NB) then (kp is PS)(ki is NM)(kd is Z)

<30>If (e is PS) and (ec is NM) then (kp is PS)(ki is NS)(kd is Z)

<31>If (e is PS) and (ec is NS) then (kp is Z)(ki is Z)(kd is Z)

<32>If (e is PS) and (ec is Z) then (kp is NS)(ki is PS)(kd is Z)

<33>If (e is PS) and (ec is PS) then (kp is NS)(ki is PS)(kd is Z)

<34>If (e is PS) and (ec is PM) then (kp is NM)(ki is PM)(kd is Z)

<35>If (e is PS) and (ec is PB) then (kp is NM)(ki is PB)(kd is Z)

<36>If (e is PM) and (ec is NB) then (kp is PS)(ki is Z)(kd is PB)

<37>If (e is PM) and (ec is NM) then (kp is Z)(ki is Z)(kd is PS)

<38>If (e is PM) and (ec is NS) then (kp is NS)(ki is PS)(kd is PS)

<39>If (e is PM) and (ec is Z) then (kp is NM)(ki is PS)(kd is PS)

<40>If (e is PM) and (ec is PS) then (kp is NM)(ki is PM)(kd is PS)

<41>If (e is PM) and (ec is PM) then (kp is NM)(ki is PB)(kd is PS)

<42>If (e is PM) and (ec is PB) then (kp is NB)(ki is PB)(kd is PB)

<43>If (e is PB) and (ec is NB) then (kp is Z)(ki is Z)(kd is PB)

<44>If (e is PB) and (ec is NM) then (kp is Z)(ki is Z)(kd is PM)

<45>If (e is PB) and (ec is NS) then (kp is NM)(ki is PS)(kd is PM)

<46>If (e is PB) and (ec is Z) then (kp is NM)(ki is PM)(kd is PM)

<47>If (e is PB) and (ec is PS) then (kp is NM)(ki is PM)(kd is PS)

<48>If (e is PB) and (ec is PM) then (kp is NB)(ki is PB)(kd is PS)

<49>If (e is PB) and (ec is PB) then (kp is NB)(ki is PB)(kd is PB)

图4 控制规则观察窗口

图5 k p、k d、k i输出量曲面

如此设计的模糊控制器的部分推理规则如图4所示,输入与输出的关系曲线如图5所示,显然模糊控制是一种非线性控制。在控制曲面上,检查其期望值是否在模糊控制输出结论空间的中心附

近,若超过20%,则需重新调整规则、隶属度函数或模糊运算,对模糊控制器进行优化。

5、搭建simulink仿真结构图

图6 控制系统仿真结构图

其中,模糊控制子系统fuzzy的内部结构如图7所示。

图7 模糊控制器的子系统结构图

输入信号为阶跃信号:r=10 rad。

6、仿真结果曲线及分析

俯仰角 的超调量为13.9%

调节时间ts=1.04s

kp、ki、kd的值为13、5、2.29

1

2

3

4

567

8

9

10

1015

20Kp 自整定曲线

时间/s 幅值

1

2

3

4

567

8

9

10

45

6Ki 自整定曲线

时间/s 幅值

1

2

3

4

56

7

8

9

10

22.5

3Kd 自整定曲线时间/s

幅值

图8 kp 、ki 、kd 的自整定曲线

01234

5678910

2

4

6

8

10

12

俯仰角给定和输出响应曲线

时间/s

幅值

图9 俯仰角 的给定和输出响应曲线

01234

5678910

-2

2

4

6

8

10

迎角响应曲线

时间/s

幅值

图10 迎角 的响应曲线

01234

5678910

-5

5

10

1520

25

30

俯仰角速率响应曲线

时间/s

幅值

图11 俯仰角速率q 的响应曲线

01234

5678910

-0.5

-0.4

-0.3

-0.2

-0.10

0.1

0.2

误差变化率响应曲线

时间/s

幅值

图12 误差变化率ec 的响应曲线

01234

5678910

-0.05

0.05

0.10.15

0.2

误差响应曲线

时间/s

幅值

图13 误差e 的响应曲线

俯仰角的单位阶跃响应的调节时间和超调量有大幅度减小,过渡过程平稳。俯仰角速率的峰值也有所减小,改善了飞机的性能。在运行过程中,模糊PID 的参数是不断在线自动调整的。模糊规

则对系统的影响较大,合适的模糊规则可以得到良好的动态特性。模糊规则的制定是根据一定的工程经验。模糊PID 适用于非线性系统,具有方便简洁、调整灵活、实用性强的特点,同时在抗干扰方面模糊PID 也具有很好的效果,参数在线自调整能力强,对一直干扰和噪声是很有效的,能提高控制系统的品质,具有较强的自适应能力和较好的鲁棒性。

三、思考题

1.不同的解模糊方法对控制效果有什么影响?

答: 1. 重心法 所谓重心法就是取模糊隶属函数曲线与横坐标轴围成面积的重心作为代表

点。理论上应该计算输出范围内一系列连续点的重心,即

但实际上是计算输出范围内整个采样点(即若干离散值)的重心。这样,在不花太多时间的情况下,用足够小的取样间隔来提供所需要的精度,这是一种最好的折衷方案。

2. 最大隶属度法 这种方法最简单,只要在推理结论的模糊集合中取隶属度最大的那个元素作为输出量即可。不过,要求这种情况下其隶属函数曲线一定是正规凸模糊集合(即其曲线只能是单峰曲线)。如果该曲线是梯形平顶的,那么具有最大隶属度的元素就可能不止一个,这时就要对所有取最大隶属度的元素求其平均值。

3. 系数加权平均法 系数加权平均法的输出执行量由下式决定:

式中,系数的选择要根据实际情况而定,不同的系统就决定系统有不同的响应特性。当该系数选择时,即取其隶属函数时,这就是重心法。在模糊逻辑控制中,可以通过选择和调整该系数来改善系统的响应特性。因而这种方法具有灵活性。

4. 隶属度限幅元素平均法 用所确定的隶属度值α对隶属度函数曲线进行切割,再对切割后等于该隶属度的所有元素进行平均,用这个平均值作为输出执行量,这种方法就称为隶属度限幅元素平均法。

2.模糊控制达到稳态后,静差是否为零?为什么?

答:不是。因为从模糊控制器的设计过程知道,模糊控制系统的稳态过程可以用下述模糊规则描述:若误差为“零”,误差变化为“零”,则控制增量力“零”。语言值“零应于一定的范围.当误差和误差变化都进入语言值“零”所对应的范围时,系统即进入稳态。由此可导出误差的稳态取值范围是:

5.0|)(|<∞e e α

即: e

e α21|)(|<∞

所以从理论上可以认为e α越大,稳态误差越小,调节死区也越小e α越小,稳态误差越大,调节死区也越大。从这些分析发现,常规的模糊控制器不管如何设计,其稳态误差总是存在的。

四、参考文献

1.顾生杰,刘春娟;基于模糊自整定PID 控制器的非线性系统仿真;兰州交通大学学报;VoL 23 No .3 2004

2.肖奇军,李胜勇;模糊自整定PID 控制器设计以及MATLAB 仿真分析;计算机仿真;Vol 22 No.9 2005

3.刘金琨;先进PID 控制MATLAB 仿真(第2版);电子工业出版社;北京;2004

相关主题
相关文档
最新文档