基于模糊PID的控制器的仿真设计
学 院: 信息学院
专 业: 自动化 姓 名: 赵娟 学 号: ************
指导老师: 职 称: 彭文亮 讲师
中国·珠海 二○一二年五月
北京理工大学珠海学院2012届本科生毕业设计
北京理工大学珠海学院毕业设计
诚信承诺书
本人郑重承诺:我所呈交的毕业设计《基于模糊 PID的控制器的仿真设计》是在指导教师的指导下,开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。
承诺人签名:
日期: 年 月
北京理工大学珠海学院2012届本科生毕业设计
基于模糊PID的控制器的仿真设计
摘 要
PID(比例 积分 微分)控制具有结构简单、稳定性能好、可靠性高等优点,尤其适用于可建立精确数学模型的控制系统。而对于一些多变量、非线性、时滞的系统,传统的PID控制器并不能达到预期的效果。
随着模糊数学的发展,模糊控制的思想逐渐得到控制工程师们的重视,各种模糊控制器也应运而生。而单纯的模糊控制器有其自身的缺陷—控制效果很粗糙、控制精度无法达到预期标准。但利用传统的PID控制器和模糊控制器结合形成的模糊自适应的PID控制器可以弥补其缺陷;它将系统对应的误差和误差变化率反馈给模糊控制器进而确定相关参数,保证系统工作在最佳状态,实现优良的控制效果。
论文介绍了参数自适应模糊PID控制器的设计方法和步骤。并利用MATLAB 中的SIMULINK 和模糊逻辑推理系统工具箱进行了控制系统的仿真研究,并简要地分析了对应的仿真数据。
关键词:经典PID控制 模糊控制 自适应模糊PID控制器 参数整定 MATLAB仿
真
I
北京理工大学珠海学院2012届本科生毕业设计
The simulation and design-based fuzzy PID control
ABSTRACT
PID(Proportion Integration Differentiation) control, with lots of advantages including simple structure, good stability and high reliability, is quite suitable to establish especially the control system which accurate mathematical model is available and needed. However, taken multivariable, nonlinear and time-lag into consideration, traditional PID controller can not reach the expected effect.
Along with the development of Fuzzy Mathematics, control engineers gradually pay much attention to the idea of Fuzzy Control, thus promoting the invention of fuzzy controllers. However, simple fuzzy controller has its own defect, where control effect is quite coarse and the control precision can not reach the expected level. Therefore, the Fuzzy Adaptive PID Controller is created by taking advantage of the superiority of PID Controller and Fuzzy Controller. Taken this controller in use, the corresponding error and its differential error of the control system can be feed backed to the Fuzzy Logic Controller. Moreover, the three parameters of PID Controller is determined online through fuzzification, fuzzy reasoning and defuzzification of the fuzzy system to maintain better working condition than the traditional PID controller.
Meanwhile,the design method and general steps are introduced of the Parameter self-setting Fuzzy PID Controller. Eventually, the Fuzzy Inference www.docin.com SystemsToolbox and SIMULINK toolbox are used to simulate Control System. The results of the simulation show that Self-organizing Fuzzy Control System can get a better effect than the Classical PID controlled evidently.
Keywords: Classic PID control Fuzzy Control Parameters tuning the Fuzzy Adaptive PID Controller MATLAB simulation
II
北京理工大学珠海学院2012届本科生毕业设计
目 录
摘 要 ............................................................................................................................................................. I ABSTRACT.................................................................................................................................................... II 1绪论 ............................................................................................................................................................. 1
1.1本设计的目的、意义及应达到的技术要求 .................................................................................. 1 1.2本设计在国内外的发展概况及存在的问题 .................................................................................. 2 1.3研究的主要内容 .............................................................................................................................. 3 2方案选择及可行性分析.............................................................................................................................. 4
2.1方案的选择 ...................................................................................................................................... 4 2.2方案可行性分析 .............................................................................................................................. 5 3 PID算法及参数介绍 .................................................................................................................................. 6
3.1 PID算法介绍................................................................................................................................... 6 3.2 PID参数对系统性能的影响 ........................................................................................................... 8 4设计原理 ..................................................................................................................................................... 9
4.1模糊逻辑与模糊控制的概念 .......................................................................................................... 9 4.2模糊控制器的基本结构和工作原理 ............................................................................................ 10 4.3模糊推理方式 ................................................................................................................................ 12 4.4模糊控制器的结构 ........................................................................................................................ 13 4.5模糊控制器的隶属函数 ................................................................................................................ 14 4.6模糊推理方法 ................................................................................................................................ 18 5方案设计 ................................................................................................................................................... 19
5.1模糊PID控制器组织结构和算法的确定 .................................................................................... 20 5.2模糊PID控制器模糊部分设计 .................................................................................................... 21 6模糊PID控制器的MATLAB仿真 ......................................................................................................... 26
6.1.模糊控制部分的fuzzy inference system仿真 ............................................................................. 26 7结论 ........................................................................................................................................................... 34 参考文献 ...................................................................................................................................................... 35 谢 辞 .......................................................................................................................................................... 36 附录 .............................................................................................................................................................. 37
III
北京理工大学珠海学院2012届本科生毕业设计
1绪论
随着越来越多的新型自动控制应用于实践,其控制理论的发展也经历了经典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构加到被控系统上,控制系统的被控量,经过传感器、变送器通过输入接口送到控制器。不同的控制系统,传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器,电加热控制系统要采用温度传感器。
目前,PID控制及其控制器或智能PID控制器,仪表,已经很多,产品已在工程实际中得到了广泛的应用。比如,工业生产过程中,对于生产装置的温度、压力、流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求。PID控制器可以根据PID控制原理对整个控制系统进行偏差调节,从而使被控变量的实际值与工艺要求的预定值一致。
经典PID控制的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它因结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一,现今也在很多领域有应用。尤其是当被控对象的结构和参数不能完全掌握或得不到精确的数学模型,控制理论的其它技术难以采用,系统控制器的结构和参数又必须依靠经验和现场调试来确定时,应用PID控制技术最为方便。
根据统计数据,全世界过程控制领域使用的控制器84%仍是纯PID调节器,若改进型包含在内则超过90%。
1.1本设计的目的、意义及应达到的技术要求
PID 控制是最早发展起来的控制策略之一。由于其算法简单,鲁棒性好和可靠性高.被广泛应用于工业过程控制。在PID 控制中。一个至关重要的问题是PID 参数(比例系数、积分时间、微分时间)的整定。参数整定的优劣不但会影响到控制质量,而且还会影响到控制系统的稳定性和鲁棒性。而实际工业生产过程往往具有非线性、时变等不确定性干扰。常规PID 控制器经常出现参数整定不良、控制性能欠佳,且对运行工况的适应性较差等情况。针对以上问题,长期以来,人们一直在寻求PID 控制器的自动整定技术,以适应复杂的工况和高指标的控制要求。模糊控制是一类应用模糊集合理论的控制方法,不需要被控对象的精确数学模型,因而特别适用于一些大滞后、时变、
1
北京理工大学珠海学院2012届本科生毕业设计
非线性的复杂系统。将模糊控制和传统PID 控制相结合组成模糊PID 控制器,不但具有PID 控制精度高等优点,又兼有模糊控制灵活、适应性强的优点,是近年来控制领域十分活跃的一支分支。
本设计的技术要求以及优点:
1.模糊控制完全在操作人员经验控制基础上实现对系统的控制,无需建立数学模型,能够解决不确定系统的一种有效途径。
2.模糊控制具有较强的鲁棒性,被控对象参数的变化对模糊控制的影响不明显,可用于非线性、时变、时滞的系统,并能获得优良的控制效果。
3.由离散计算得到控制查询表,提高了控制系统的实时性、快速性。
4.控制的机理符合人们对过程控制作用的直观描述和思维逻辑,是人工智能的再现,属于智能控制。
1.2本设计在国内外的发展概况及存在的问题
国内在模糊控制方面也同样取得了显著成果。1986年,都志杰等人用单片机研制了工业用模糊控制器。随后,何钢、能秋思、刘浪舟等人相继将模糊控制方法成功地应用在碱熔釜反应温度、玻璃窑炉等控制系统中。 在社会生活领域中
体现在模糊控制
技术在家电中的应用,所谓模糊家电,就是根据人的经验,在电脑或者芯片的控制下实现可模仿人的思维进行操作的家用电器。几种典型的模糊家电产品如下:
⑴ 模糊电视机
这类电视机可根据室内光线的强弱调整电视机的亮度,根据人与电视机的距离自动调整音量,同时能够自动调节电视机的色度、清晰度和对比度。
⑵ 模糊空调器
模糊空调器可以灵敏地控制室内的温度。日本研制了一种模糊空调器,利用红外线传感器识别房间信息(人数、温度、大小、门开关等),从而快速调整室内温度,提高了舒适感。
⑶ 模糊微波炉
日本夏普公司生产的RE-SEI型微波炉,内部装有12个传感器,这些传感器能对食物的重量、高度、形状和温度进行测量,并利用这些信息自动选择化霜、再热、烧烤和对流4种工作方式,并自动决定烹制时间。
⑷ 模糊洗衣机
以我国生产的小天鹅模糊控制全自动洗衣机为例质地、污脏性质和程度
其性能已经达到国外同类产品的水平。
它能够自动识别洗衣物人重量、
采用模糊控制技术来选择合适的水位、洗涤时间、水流程序等,
2
北京理工大学珠海学院2012届本科生毕业设计
⑸ 模糊电动剃刀
日本三洋、松下公司推出了模糊控制电动剃刀况和面部轮廓自动调整刀片
通过利用传感器分析胡须的生长情
模糊控制应用也很广泛。
并选择最佳的剃削速度。
在工业炉方面、石化方面、煤矿行业、食品加工行业领域模糊控制主要有以下几个发展方向: (1) Fuzzy-PID复合控制
Fuzzy-PID复合控制是将模糊控制与常规PID控制算法相结合的控制方法,以此达到较高的控制精度。它比单用模糊控制和单用PID控制均具有更好的控制性能。
(2)自适应模糊控制
自适应模糊控制能自动地对模糊控制规则进行修改和完善,以提高控制系统的性能。它具有自适应、自学习的能力,对于那些具有非线性、大时滞、高阶次的复杂系统有着更好的控制效果。
(3)专家模糊控制
专家模糊控制是将专家系统技术与模糊控制相结合的产物。引入专家系统可进一步提高模糊控制的智能水平。专家模糊控制保持了基于规则的方法和模糊集处理带来的灵活性,同时又把专家系统技术的知识表达方法结合进来,能处理更广泛的控制问题。
(4)神经模糊控制
模糊控制规则和隶属函数的获取与确定是模糊控制中的“瓶颈”问题。神经模糊控制是基于神经网络的模糊控制方法。该方法利用神经网络的学习能力,来获取并修正模糊控制规则和隶属函数。
(5)多变量模糊控制
多变量模糊控制有多个输入变量和输出变量,它适用于多变量控制系统。多变量耦合和“维数灾”问题是多变量模糊控制需要解决的关键问题。
1.3研究的主要内容
在工业控制中,PID控制是工业控制中最常用的方法。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用模糊控制理论的方法。模糊控制已成为智能自动化控制研究中最为活跃而富有成果的领域。其中,模糊PID控制技术扮演了十分重要的角色,并目仍将成为未来研究与应用的重点技术之一。 本毕业设计基于模糊 PID的控制器的仿真设计,要求具有良好的性能。
3
北京理工大学珠海学院2012届本科生毕业设计
2方案选择及可行性分析
2.1方案的选择
方案一:经典PID控制系统:
P控制:这类控制输出的变化与输入控制器的偏差成比例关系,输入偏差越大输出越大。单纯的比例控制适用于扰动不大,滞后较小,负荷变化小,要求不高,允许有一定剩余误差存在的场合。在工业生产中,比例控制规律使用较为普遍,它是控制规律中最基本的、应用最普遍的一种,其最大优点就是控制及时、迅速。只要有偏差产生,控制器立即产生控制作用。但是不能最终消除剩余误差的缺点了它的单独使用。
PI控制:克服剩余误差的办法是在比例控制的基础上加上积分控制。积分控制器的输出与输入偏差对时间的积分成正比。它的输出不仅与输入偏差的大小有关,而且还与偏差存在的时间有关。只要偏差存在,输出就会不断累积,一直到偏差为零,累积才会停止。所以,积分控制可以消除剩余误差。
PD控制:当被控对象受到扰动作用后,被控变量没有立即发生变化,而是有一个时间上的延迟。因此要引入比例、微分作用,即PD控制。它比单纯的比例作用更快。尤其是对容量滞后大的对象,可以减小偏差的幅度,节省控制时间显著改善控制质量。
PID比例积分微分:最为理想的控制当属比例-积分-微分控制,即PID控制。它集三者之长,既有比例作用的及时迅速,又有积分作用的消除剩余误差能力,还有微分作用的超前控制功能。当偏差扰动出现时,微分立即大幅度动作,抑制偏差的这种跃变,比例也同时起消除偏差的作用,使振荡幅度减小。由于比例作用是持久和起主要作用的控制规律,积分作用可以慢慢把剩余误差克服掉,因此可使系统比较稳定,只要,三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
然而伴随着新的控制系统的不断涌现,PID控制策略在控制非线性、时变、强耦合及参数和结构不确定的复杂过程时,控制效果不理想。因此,它的应用受到了很大程度上的。
方案二:模糊PID控制系统
利用人工智能的方法将操作人员的调整经验作为知识存入计算机中,根据现场实际情况,计算机自动调整PID参数,即智能PID控制器。这种控制器把古典的PID控制与先进的专家系统相结合,实现系统的最佳控制。这种控制必须精确地确定对象模型,首先将操作人员(专家)长期实践积累的经验知识用控制规则模型化,然后运用推理便可对PID参数实现最佳调整。
由于操作者经验不易精确描述,控制过程中各种信号量以及评价指标不易定量表
4
北京理工大学珠海学院2012届本科生毕业设计
示,模糊理论是解决这一问题的有效途径,所以人们运用模糊数学的基本理论和方法,把规则的条件、操作用模糊集表示,并把这些模糊控制规则以及有关信息(如评价指标、初始PID参数等)作为知识存入计算机知识库中,然后计算机根据控制系统的实际响应情况(即专家系统的输入条件),运用模糊推理,即可自动实现对PID参数的最佳调整,这就是模糊自适应PID控制。模糊自适应PID控制器目前有多种结构形式,但其工作原理基本一致。
自适应模糊PID控制器以误差和误差变化作为输入,可以满足不同时刻的和对PID参数自整定的要求。利用模糊控制规则在线对PID参数进行修改,便构成了自适应模糊PID控制器,其结构如图2.1所示。
图2.1 自适应模糊PID控制器结构图
PID参数模糊自整定是找出PID三个参数与和之间的模糊关系,在运行中通过不断检测,根据模糊控制原理来对3个参数进行在线修改,以满足不同和时对控制参数的不同要求,而使被控对象有良好的动、静态性能。
综上,比较两种方案可知,带有大扰动、时滞、时变的系统,采用传统的PID控制器参数整定比较困难,最佳参数容易漂移,使用模糊自整定PID控制器往往可以克服传统PID控制器的不足。
2.2方案可行性分析
从系统的稳定性、响应速度、超调量和稳态精度等各方面来考虑,的作用如下: (1)比例系数的作用是加快系统的响应速度,提高系统的调节精度。越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至会导致系统不稳定。取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。
(2)积分作用系数的作用是消除系统的稳态误差。越大,系统的静态误差消除越快,但过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。若过小,将使系统静态误差难以消除,影响系统的调节精度。
5
北京理工大学珠海学院2012届本科生毕业设计
(3)微分作用系数的作用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性能。
3 PID算法及参数介绍
3.1 PID算法介绍
1.位移式PID算法
x(t) e(t) - D(s) 执行机构 被控对象 y(t) 图 3.1 PID控制流图 其控制原则如公式:
1de(t)u(t)KP[e(t)e(t)dtTD]
T0dt其中Kp——比例系数 Ti——积分时间常数 Td——微分时间常数 e(t)——偏差 u(t)——控制量 经离散化得公式:
ktu(k)Kpe(k)Kie(i)KD[e(k)e(k1)]
i0调节器输出u(k)与跟过去所有偏差信号有关,计算机需要对e(t)进行累加,运算工作量很大,而且计算机故障可能是u(k)做大幅振荡,这种情况往往是控制很不方便,再有些场合可能会造成严重的事故。另外,控制器的输出u(k)对应的是执行机构的实际位置:如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化,因此,在实际的控制系统中不太常用这种方法。 2增量式PID算法
依据位移式PID算法,可推理出公式:
u(k)u(k)u(k1)KP[e(k)e(k1)]KIe(k)KD[e(k)2e(k1)e(k2)]
6
北京理工大学珠海学院2012届本科生毕业设计
式中e(k)——第k次采样时的偏差值;
e(k-1)——第k-1次采样时的偏差值; u(k)——第k次采样时调节器的输出; Kp——比例系数;
KiKPTT,KDKPD TIT依据算法形式,显然可以看出增量式PID算法和位置式算法相比具有以下几个优点: 首先,增量式算法只与e(k)、e(k-1)、e(k-2)有关,不需要进行累加,不易引起积分饱和,因此能获得较好的控制效果。
其次,在位置式控制算法中,由手动到自动切换时,必须首先使计算机的输出值等于阀门的原始开度,才能保证手动到自动的无扰动切换,这将给程序设计带来困难。而增量式设计只与本次的偏差值有关,与阀门原来的位置无关,因而易于实现手动自动的无扰动切换。
再次,增量式算法中,计算机只输出增量,误动作影响小。必要时可加逻辑保护,或禁止故障时的输出。
为适应更多的应用领域,PID控制器也有了多种算法。
3 积分分离PID算法
积分分离PID算法基本思想是:设置一个积分分离阈值β,当|e(k)|≤|β|时,采用PID控制,以便于消除静差,提高控制精度;当|e(k)|>|β|时,采用PD控制。其对应的算法s是公
式:u(k)KP[e(k)e(k1)]Kie(k)KD[e(k)2e(k1)e(k2)]
其中,α为逻辑变量,其取值原则为:公式:
1︱(k)︱≤︱︱
0︱(k)︱>︱︱
对同一控制对象,分别采用普通PID控制和积分分离PID控制,如图3.2:
图3.2 PID控制和积分分离PID控制比较
其中1-普通PID控制效果 2-积分分离PID控制效果
7
北京理工大学珠海学院2012届本科生毕业设计
显然,积分分离的PID比普通的PID的控制效果好。 4 不完全微分PID算法
在PID控制器的输出端再串联一阶惯性环节(比如低通滤波器)来抑制高频干扰,平滑控制器的输出,这样就组成了不完全微分PID控制,见图3.3。
E(s) PID 调节器 u(s) u(s) Df(s)
图3.3 不完全微分PID控制器
其控制算法,如公式2-5所示。 u(k)u(k1)(1)u(k)
其中,u(k)KP[e(k)e(k1)]KIe(k)KD[e(k)2e(k1)e(k2)]
T
TfT通过这样的算法可以延长微分作用的时间,见图3.4。
(a) (b) 图3.4 不完全微分PID和完全微分PID控制特性比较
不完全微分PID控制中的微分作用能缓慢地维持多个采样周期,使一般的工业执行机构能较好地跟踪微分作用的输出。因此,抗干扰能力较强,在一些扰动频繁的场合应用十分普遍。
3.2 PID参数对系统性能的影响
1.比例系数Kp对系统性能的影响
比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kp偏大,振荡次数加多,调节时间加长。Kp太大时,系统会趋于不稳定。Kp太小,又会使
8
北京理工大学珠海学院2012届本科生毕业设计
系统的动作缓慢。Kp可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。如果Kd的符号选择不当,对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kp的符号就一定要取反。
2.积分控制Ti对系统性能的影响
积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。
3.微分控制Td对系统性能的影响
微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。Td偏小时,超调量也较大,调节时间也较长。只有Td合适,才能使超调量较小,减短调节时间。
4.PID控制器参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:
一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。
4设计原理
4.1模糊逻辑与模糊控制的概念
模糊控制相关概念 “模糊逻辑”的概念,其根本在于区分布尔逻辑或清晰逻辑,用来定义那些含混不清,无法量化或精确化的问题,对于冯?诺依曼开创的基于“真-假”推理机制,以及因此开创的电子电路和集成电路的布尔算法,模糊逻辑填补了特殊事物在取样分析方面的空白。在模糊逻辑为基础的模糊集合理论中,某特定事物具有特色集的隶属度,他可以在“是”和“非”之间的范围内取任何值。而模糊逻辑是合理的量化数学理论,是以数学基础为根本去处理这些不确定、不精确的信息。
模糊控制是基于模糊逻辑描述的一个过程的控制算法。它是用模糊数学的知识模仿人脑的思维方式,根据模糊现象进行识别和判决,给出精确控制量,进而对被控对象进行控制的。对于参数精确已知的数学模型,我们可以用波特图或奈克斯特图来分析其过
9
北京理工大学珠海学院2012届本科生毕业设计
程以获得精确的设计参数。而对一些复杂系统,如粒子反应,气象预报等设备,建立一个合理而精确的数学模型是非常困难的。对于电力传动中的变速矢量控制问题,尽管可以通过测量得知其模型,但由于其多变量且非线性变化的特点,精确控制也是非常困难的。
模糊控制技术依据与操作者的实践经验和直观推断,也依靠设计人员和研发人员的经验和知识积累。它无需建立设备模型,因此基本上是自适应的,具有很强的鲁棒性。历经多年发展,已有许多成功应用模糊控制理论的案例,如Rutherford、Carter应用于冶金炉和热交换器的控制装置。
4.2模糊控制器的基本结构和工作原理
模糊控制器有如下结构,图4.1呈现了其基本控制流程。 FC
为了了解模糊控制器到工作原理,图4.2列出其结构框图。
图4. 2模糊控制器结构
模糊化接口 模糊推理机 解模糊 被控制对象 知识库 数据库 规律库 知识库 模糊化 模糊推理 图4. 1模糊控制器控制流程
解模糊 被控制对象 显然,模糊控制器到主要由模糊化接口、知识库、模糊推理机、解模糊接口四部分组成,通过单位负反馈来引入误差,并以此为输入量进行控制动作。
模糊控制器各部分组成
1 模糊化接口(Fuzzy interface)
模糊控制器的输入必须通过模糊化才能用于控制输出的求解,因此它实际上是模糊
10
北京理工大学珠海学院2012届本科生毕业设计
控制器的输入接口。它的主要作用是将真实的确定量输入转换为一个模糊矢量。对于一个模糊输入变量e,其模糊子集通常可以作如下方式划分:
(1){负大,负小,零,正小,正大}={NB, NS, ZO, PS, PB}
(2){负大,负中,负小,零,正小,正中,正大}={NB, NM, NS, ZO, PS, PM, PB} (3){大,负中,负小,零负,零正,正小,正中,正大}={NB, NM, NS, NZ, PZ, PS, PM, PB}
模糊化接口接受到输入只有误差信号e(t),由e(t)再生成误差变化率或误差到差分Δe(t),模糊化接口主要完成以下两项功能:
1.论域变换 2.模糊化
用三角型隶属度函数表示如图4.3所示。
图 模糊子集和模糊化等级
2. 知识库(Knowledge Base—KB)
图4.3三角型隶属度函数表示
知识库由数据库和规则库两部分构成。
(1)数据库(Data Base—DB): 数据库所存放的是所有输入、输出变量的全部模糊子集的隶属度矢量值(即经过论域等级离散化以后对应值的集合),若论域为连续域则为隶属度函数。在规则推理的模糊关系方程求解过程中,向推理机提供数据。
(2)规则库(Rule Base—RB):模糊控制器的规则司基于专家知识或手动操作人员长期积累的经验,它是按人的直觉推理的一种语言表示形式。模糊规则通常有一系列的关系词连接而成,如if-then、else、also、end、or等,关系词必须经过“翻译”才能将模糊规则数值化。最常用的关系词为if-then、also,对于多变量模糊控制系统,还有and等。例如,某模糊控制系统输入变量为(误差)和(误差变化),它们对应的语言变量为E和EC,可给出一组模糊规则:
R1: IF E is NB and EC is NB then U is PB R2: IF E is NB and EC is NS then U is PM
通常把if…部分称为“前提部,而then…部分称为“结论部”,其基本结构可归纳为If A and B then C,其中A为论域U上的一个模糊子集,B是论域V上的一个模糊子集。根据人工控制经验,可离线组织其控制决策表R, R是笛卡儿乘积集上的一个模糊子集,则某一时刻其控制量由下式给出:
11
北京理工大学珠海学院2012届本科生毕业设计
式中 × 模糊直积运算; °模糊合成运算。
CABR规则库是用来存放全部模糊控制规则的,在推理时为“推理机”提供控制规则。规则条数和模糊变量的模糊子集划分有关,划分越细,规则条数越多,但并不代表规则库的准确度越高,规则库的“准确性”还与专家知识的准确度有关。
3.推理与解模糊接口(Inference and Defuzzy-interface)
推理是模糊控制器中,根据输入模糊量,由模糊控制规则完成模糊推理来求解模糊关系方程,并获得模糊控制量的功能部分。在模糊控制中,考虑到推理时间,通常采用运算较简单的推理方法。最基本的有Zadeh近似推理,它包含有正向推理和逆向推理两类。正向推理常被用于模糊控制中,而逆向推理一般用于知识工程学领域的专家系统中。
推理结果的获得,表示模糊控制的规则推理功能已经完成。但是,至此所获得的结果仍是一个模糊矢量,不能直接用来作为控制量,还必须作一次转换,求得清晰的控制量输出,即为解模糊。通常把输出端具有转换功能作用的部分称为解模糊接口。
综上所述,模糊控制器实际上就是依靠微机(或单片机)来构成的。它的绝大部分功能都是由计算机程序来完成的。随着专用模糊芯片的研究和开发,也可以由硬件逐步取代各组成单元的软件功能。
4.3模糊推理方式
Takagi-Sugeno模糊模型(高木-关野)
传统的模糊系统为Mamdani模糊模型,输出为模糊量。,其函数形式为: y=a y=ax+b
它与Mamdani模型的区别在于: (1)输出变量为常量或线性函数; (2)输出为精确量。
Sugeno模糊模型输出隶属函数为constant或linear,也称TSK模糊模型, 旨在开发从给定的输入—输出数据集合产生模糊规则的系统化方法。此类方法将解模糊也结合到模糊推理中,故输出为精确量。这是因为Sugeno型模糊规则的后件部分表示为输入量的线性组合。它是最常用的模糊推理算法。
与Mamdani型类似,其中输入量模糊化和模糊逻辑运算过程完全相同,主要差别在于输出隶属函数的形式。典型的零阶Sugeno型模糊规则的形式:If x is A and y is B then z =k。
式中,x和y为穿入语言变量,A和B为推理前件的模糊集合,z为输出语言变量,k为常数。
更为一般的一阶Sugeno模型规则形式为:If x is A and y is B then z=px+qy+r。
12
北京理工大学珠海学院2012届本科生毕业设计
当然,以上两种解模糊方法各有千秋。由于Mamdani型模糊推理规则的形式符合人们的思维和语言表达的习惯。因而能够方便地表达人类的知识,但存在计算复杂、不利于数学分析的缺点,Sugeno型模糊推理则具有计算简单,利于数学分析的优点,是具有优化与自适应能力的控制器或模糊建模工具。
4.4模糊控制器的结构
在确定性控制系统中,根据控制器输出的个数,可分为单变量控制系统和多变量控制系统。在模糊控制系统中也可类似地划分为单变量模糊控制和多变量模糊控制。 1 单变量模糊控制器(Single Variable Fuzzy Controller—SVFC)
在单变量模糊控制器中,将其输入变量的个数定义为模糊控制的维数。 (1)一维模糊控制器
如图4.4所示,一维模糊控制器的输入变量往往选择为受控量和输入给定的偏差量E。由于仅仅采用偏差值,很难反映过程的动态特性品质,因此,所能获得的系统动态性能是不能令人满意的。这种一维模糊控制器往往被用于一阶被控对象。
图4.4一维模糊控制器
(2)二维模糊控制器
如图4.5所示,二维模糊控制器的两个输入变量基本上都选用受控变量和输入给定的偏差E和偏差变化EC,由于它们能够较严格地反映受控过程中输出变量的动态特性,因此,在控制效果上要比一维控制器好得多,也是目前采用较广泛的一类模糊控制器。
图4.5二维模糊控制器
(3)三维模糊控制器
如图4.6所示,三维模糊控制器的三个输入变量分别为系统偏差量E、偏差变化量EC和偏差变化的变化率ECC。由于这些模糊控制器结构较复杂,推理运算时间长,因此除非对动态特性的要求特别高的场合,一般较少选用三维模糊控制器。
13
北京理工大学珠海学院2012届本科生毕业设计
图4.6三维模糊控制器
模糊控制系统所选用的模糊控制器维数越高,系统的控制精度也就越高。但是维数选择太高,模糊控制规律就过于复杂,这是人们在设计模糊控制系统时,多数采用二维控制器的原因。
4.5模糊控制器的隶属函数
在Matlab中已经开发出了11种隶属函数,即双S形隶属函数(dsigmf)、联合高斯型隶属函数(gauss2mf)、高斯型隶属函数(gaussmf)、广义钟形隶属函数(gbellmf)、II型隶属函数(pimf)、双S形乘积隶属函数(psigmf)、S状隶属函数(smf)、S形隶属函数(sigmf)、梯形隶属函数(trapmf)、三角形隶属函数(trimf)、Z形隶属函数(zmf)。
在模糊控制中应用较多的隶属函数有以下6种隶属函数。 (1)高斯型隶属函数
高斯型隶属函数(如图4.7)由两个参数 和c确定:
f(x,,c)e(xc)222其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为
gaussmf(x,[σ,c])14
北京理工大学珠海学院2012届本科生毕业设计
10.90.80.70.60.50.40.30.20.100123456trimf,P=[3 6 8]710 图4.7高斯型隶属函数(M=1)
(2) 广义钟型隶属函数
广义钟型隶属函数(如图4.8)由三个参数a,b,c确定:
1 f(x,a,b,c)2bxc 1a
其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为
10.90.80.70.60.50.40.30.20.100123456trimf,P=[2 4 6]710gbellmf(x,[a,b,c]) 图4.8广义钟形隶属函数(M=2)
(3) S形隶属函数
S形函数sigmf(x,[a c])(如图4.9)由参数a和c决定:
15
北京理工大学珠海学院2012届本科生毕业设计
1ea(xc)其中参数a的正负符号决定了S形隶属函数的开口朝左或朝右,用来表示“正大”f(x,a,c)1或“负大”的概念。Matlab表示为 :sigmf(x,[a,c])
10.90.80.70.60.50.40.30.20.100123456710trimf,P=[2 4]图4.9S形隶属函数(M=3)
(4)梯形隶属函数
梯形曲线(如图4.10)可由四个参数a,b,c,d确定: 0xaxa baaxb f(x,a,b,c,d)1bxc dx dccxd0xd
其中参数a和d确定梯形的“脚”,而参数b和c确定梯形的“肩膀”。为:trapmf(x,[a,b,c,d])
16
Matlab表示
北京理工大学珠海学院2012届本科生毕业设计
10.90.80.70.60.50.40.30.20.100123456trimf,P=[1 5 7 8]710
(5)三角形隶属函数
图4.10梯形隶属函数(M=4)
三角形曲线(如图4.11)的形状由三个参数a,b,c确定: trimf(x,[a,b,c])
10.90.80.70.60.50.40.30.20.100123456trimf,P=[3 6 8]7100xabaf(x,a,b,c)cxcb0xaaxbbxcxc其中参数a和c确定三角形的“脚”,而参数b确定三角形的“峰”。 Matlab表示为
图4.11三角形隶属函数(M=5)
(6)Z形隶属函数
这是基于样条函数的曲线(如图4.12),因其呈现Z形状而得名。参数a和
17
北京理工大学珠海学院2012届本科生毕业设计
b确定了曲线的形状。Matlab表示为 zmf(x,[a,b])
10.90.80.70.60.50.40.30.20.100123456trimf,P=[3 7]710 图4.12 Z形隶属函数(M=6)
4.6模糊推理方法
通过模糊推理得到的结果是一个模糊集合。但在实际模糊控制中,必须要有一个确定值才能控制或驱动执行机构。将模糊推理结果转化为精确值的过程称为反模糊化。常用的反模糊化有三种:
(1)最大隶属度法
选取推理结果模糊集合中隶属度最大的元素作为输出值,即 v 0 max v,。V (v ) v 如果在输出论域V中,其最大隶属度对应的输出值多于一个,则取所有具有最大隶
1N属度输出的平均值,即: vimax(v(v))v0vivVNi1
N为具有相同最大隶属度输出的总数。
最大隶属度法不考虑输出隶属度函数的形状,只考虑最大隶属度处的输出值。因此,难免会丢失许多信息。它的突出优点是计算简单。在一些控制要求不高的场合,可采用最大隶属度法。
(2) 重心法
为了获得准确的控制量,就要求模糊方法能够很好的表达输出隶属度函数的计算结果。重心法是取隶属度函数曲线与横坐标围成面积的重心为模糊推理的最终输出值,即
v0Vv(v)dvvV(v)dvv18
北京理工大学珠海学院2012届本科生毕业设计
对于具有m个输出量化级数的离散域情况
的微小变化,输出也会发生变化。
(3)加权平均法
工业控制中广泛使用的反模糊方法为加权平均法,输出值由下式决定
v0v0v(v)kvkk1mm(v)vkk1与最大隶属度法相比较,重心法具有更平滑的输出推理控制。即使对应于输入信号
vki1mmiiki1i其中系数 k i 的选择根据实际情况而定。不同的系数决定系统具有不同的响应特性。
) 时,就转化为重心法。 当系数取隶属度 V ( v i
反模糊化方法的选择与隶属度函数形状的选择、推理方法的选择相关
Matlab提供五种解模糊化方法:(1)centroid:面积重心法;(2)bisector:面积等分法;(3)mom:最大隶属度平均法;(4)som最大隶属度取小法;(5)lom:大隶属度取大法。
在Matlab中,可通过setfis()设置解模糊化方法,通过defuzz()执行反模糊化运算。
5方案设计
模糊PID控制器是以操作人员手动控制经验总结出的控制规则为核心,通过辨识系统当前的运行状态,经过模糊推理,模糊判决,解模糊过程得到确定的控制量以实现对被控对象的在线控制。系统流程图如下图5.1所示。
19
北京理工大学珠海学院2012届本科生毕业设计
图5.1 系统流程图
5.1模糊PID控制器组织结构和算法的确定
论文中,模糊PID控制器的设计选用二维模糊控制器。即以给定值的偏差e和偏差变化ec为输入;ΔKp,ΔKd,ΔKi为输出的自适应模糊PID控制器,见图5.2。
图5.2自适应模糊PID控制器
其中PID控制器部分采用的是离散PID控制算法,如公式 :
20
北京理工大学珠海学院2012届本科生毕业设计
ku(k)kPe(k)kiTe(j)kdj0e(k)e(k1)
T5.2模糊PID控制器模糊部分设计
5.2.1 定义输入、输出模糊集并确定个数类别
依据模糊PID控制器的控制规律以及经典PID的控制方法,同时兼顾控 制精度。论文将输入的误差(e)和误差微分(ec)分为7个模糊集:NB(负大),NM(负 中),NS(负小),O(零)PS(正小),PM(正中),PB(正大)。 即模糊子集为e,ec={NB,NM,NS,O,PS,PM,PB}.
将输出的ΔKP,ΔKD,ΔKI也分为7个模糊集:NB(负大),NM(负中),NS(负小),O(零),PS(正小),PM(正中),PB(正大)。
即模糊子集为ΔKP,ΔKD,ΔKI={NB,NM,NS,O,PS,PM,PB}。 5.2.2 确定输入输出变量的实际论域
根据控制要求,对各个输入,输出变量作如下划定:e,ec
论
域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}ΔKp,ΔKd,ΔKi论域:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}应用模糊合成推理PID参数的整定算法。第k个采样时间的整定为Kp(k)=Kpo+ΔKp(k), Ki(k)=Kio+ΔKi(k), Kd(k)=Kdo+ΔKd(k)式中Kpo,Kio,Kdo为经典PID控制器的初始参数。
为了便于系统输入,输出参数映射到论域内。根据实验和相关文献,确定模糊化因子为:ke=kec=0.01;解模糊因子为K1=0.5,K2=K3=0.01。 5.2.3 定义输入、输出的隶属函数
误差e、误差微分及控制量的模糊集和论域确定后,需对模糊变量确定隶属函数。即对模糊变量赋值,确定论域内元素对模糊变量的隶属度。
参考输入、输出变量的变化规律。通过实验、试凑。最终作如下规定: 对于输入量误差(e),误差微分(ec)都采用高斯型的隶属函数(gaussmf),同时 为体现定义的7个模糊子集,见图5.3和图5.4。
图5.3 偏差隶属函数 图5.4 偏差微分隶属函数
对于输出量Kp变化量(ΔKp),Kd变化量(ΔKd),Ki变化量(ΔKI)采用三角形隶属函数
21
北京理工大学珠海学院2012届本科生毕业设计
(trimf),同时为体现定义的7个模糊子集,见图5.5,5.6,5.7。
图5.5 Kp变化量隶属函数
图5.6 Kd变化量隶属函数
图5.7 Ki变化量隶属函数
5.2.4 确定相关模糊规则并建立模糊控制规则表
根据参数Kp、Ki、Kd对系统输出特性的影响情况,可以归纳出系统在被控 过程中对于不同的偏差和偏差变化率参数Kp、Ki、Kd的自整定原则: (1)当偏差较大时,为了加快系统的响应速度,并防止开始时偏差的瞬间变 大可能引起的微分过饱和而使控制作用超出许可范围,应取较大的Kp和较小的 Kd。另外为防止积分饱和,避免系统响应较大的超调,Ki值要小,一般取Ki=0。
⑵当偏差和变化率为中等大小时,为了使系统响应的超调量减小和保证一
定的响应速度,Kp应取小些。在这种情况下KD的取值对系统影响很大,应取小一
22
北京理工大学珠海学院2012届本科生毕业设计
些,Ki的取值要适当。
⑶当偏差变化较小时,为了使系统具有较好的稳态性能,应增大Kp、Ki值,同时为避免输出响应在设定值附近振荡,以及考虑系统的抗干扰能力,应适当
选取Kd。原则是:当偏差变化率较小时,Kd取大一些;当偏差变化率较大时,Kd取较小的值,通常为中等大小。
参考以上自整定原则,总结工程设计人员的技术知识和实际操作经验,建 立合适的关于e、ec、ΔKp、ΔKd、ΔKi的模糊规则,如: 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) ......
49.If (e is PB) and (ec is PB) then (Kp is NB)(Ki is PB)(Kd is PB)
将以上规则定义成模糊规则控制表,见表4-1,4-2,4-3。
表5.1 ΔKp模糊规则表
表5.2 ΔKi模糊规则表
23
北京理工大学珠海学院2012届本科生毕业设计
表5.3 ΔKd模糊规则表
4.2.5 模糊推理
⑴ 选择模糊推理方法
权衡PID控制自身的诸多特点。例如
它的控制规则形式符合人们的思维
和语言表达的习惯,控制策略能够方便地表达,控制算法简单等。 论文中,选用的是Mamdani型的模糊推理办法。 ⑵ 规则匹配和触发
给定输入的误差和误差微分后,分别代入隶属函数中,并求出关于所建立七个模糊子集的隶属度,统计输入的误差和误差微分隶属度不为零的模糊子集对数,依照模糊控制规则表,查得并统计输出对应的模糊子集。 ⑶ 规则前提推理
在同一条规则内,前提之间通过“与”的关系得到规则结论。对前提的可 信度之间通过取小运算来确定,之后统计出规则总的可信度。 ⑷ 模糊系统总的输出
24
北京理工大学珠海学院2012届本科生毕业设计
模糊系统总的可信度为各条规则可信度推理的并集。通过统计,可以得到 被触发的若干条规则。 ⑸ 解模糊
参考解模糊过程,兼顾模糊PID系统的要求,此系统利用重心平均法 进行解模糊操作。
以e=-0.455,ec=0.738为例,解模糊过程见图5.8。
图5.8 解模糊示例
如上,利用重心平均法,在e=-0.455,ec=0.738时可推
得:ΔKP=0.35,ΔKD=-2.44,ΔKI=0.246。将以上参数与初始参数整合的值KP=20.35,KD=1.26,Ki=1.596。将其送至经典PID控制器,就可以在这一暂态获得理想的控制效果。
25
北京理工大学珠海学院2012届本科生毕业设计
6模糊PID控制器的MATLAB仿真
6.1.模糊控制部分的fuzzy inference system仿真
定义输入输出变量并命名,在MATLAB提示符下键入下列名字启动系统“Fuzzy”。打开一个标记为input1的单输入
标记为output1的单输出的一个没有标题的FIS编辑
并分别命名为E,
器[10]。打开Edit菜单并选择Add Variable...分别添加输入、输出EC,ΔKp,ΔKi,ΔKd。控制器名为“Untitled”,见图6.1。
图6.1 设置好的FIS编辑器
编辑隶属函数,在上图所示窗口中,打开View下拉式菜单并选择Edit Membership Functions...通过双击各个变量,设置Range和Display Range。以定义其论域和每支隶属函数的范围。从Edit菜单中选择Add MFs...分别对系统的输入输出变量按照设计书对隶属函数的类型、数量进行定义,见图6.2。
26
北京理工大学珠海学院2012届本科生毕业设计
图6.2 隶属函数编辑器
隶属函数编辑器2.1.3 编辑模糊规则库 在上图所示窗口中,点击“Edit”,选中“Rules...”按照任务书中的关于e、ec、ΔKP、ΔKD、ΔKI的模糊规则示,将规则一条一条的录入其中,见图6.3。
参照编辑器的提
27
北京理工大学珠海学院2012届本科生毕业设计
图6.3 模糊规则库
综上,对模糊控制器的各部分设置完成观察器,所设计的模糊系统如图6.4。
将其保存为“Untitled.fis”。通过调用曲面
图6.4 曲面观察器
28
北京理工大学珠海学院2012届本科生毕业设计
通过分析图形特点,可以看到它有明显的梯度分布,说明所设计的模糊系统从误差和误差变化到三个PID参数变化量的模糊映射与理论设计匹配良好。 因而,所设计的模糊控制器合格。
2 对模糊控制器的SIMULINK建模
MATLAB提供的SIMULINK是一个用来对动态系统进行建模,仿真与分析的软件包。它功能强大,使用简单,支持连续,离散和二者混合的系统,同时还可用于线性系统和非线性系统的分析。SIMULINK包含多个子模型库,每个子模型库里又包含多个功能模块。利用这些资源直接进行系统仿真,最后用模拟示波器将仿真动态结果予以显示。
(1) 将模糊系统载入SIMULINK
SIMULINK可以与模糊逻辑工具箱结合。在MATLAB中建立一个M文件,命名为“Untitled 2.m”其内容为: matrix=readfis(‘Untitled 1.fis’),这样就完成了模糊逻辑组件和SIMULINK相关模块的连接。
(2)在SIMULINK中建立模糊子系统
在MATLAB 的命令窗口里键入“SIMULINK”可建立一个新的SIMULINK仿真模型。打开的SIMULINK库中选择“Fuzzy Logic Toolbox”项,将选项“Fuzzy Logic Controller”拖到SIMULINK仿真系统中。确定模糊化因子为,ke=kec=0.01;解模糊因子为:K1=0.5,K2=K3=0.01。
建立如下模型,并将其封装成子系统。见图6.5。
图6.5 模糊控制器
(3) PID部分的SIMULINK建模
首先,在MATLAB提示符下键入下“SIMULINK”,启动SIMULINK模块。由于在
29
北京理工大学珠海学院2012届本科生毕业设计
Matlab7.11.0.584(R2010b)的版本中,PID控制器有的SIMULINK模块,它的KP、KD、KI可直接设置。建立“五入单出”的PID控制器。见图6.6。
图6.6 五输入PID控制器
(4) 模糊PID控制器的SIMULINK建模
完成各个部分的SIMULINK仿真后。依据模糊PID控制器原理,利用刚刚封装的子系统进行模糊PID控制器的仿真。为了预置初始参数,利用SIMULINK中“Commonly
Used Blocks”下的“Constant模块”和“Sum模块”。 针对被控对象:
2
G(s)2s3s+1
把经典PID控制器的预置参数KP=20,KD=3.7,KI=1.35设置给“Constant模块”将模糊控制器的输出控制信号ΔKP、ΔKI、ΔKD与预置参数加和一起送到经典PID控制器,并在输出的PID参数位置分别加入SIMULINK中“Sinks”下的“Scope模块”,用来观察模糊PID控制器的在线参数整定的情况。依照以上要求,建立如图6.7模型。
30
北京理工大学珠海学院2012届本科生毕业设计
图6.7 模糊PID控制器
(5) 利用子系统对控制系统进行SIMULINK建模
先将各个部分封装成子系统,再把控制器与被控对象进行连接,设定单位负反馈回路以形成闭环系统。
2G(s)2论文中,选择单位阶跃信号为系统输入,被控对象为 s 3s+1 ;控制系统1.单位阶跃信号直接作为系统输出 2.模糊PID控制系统输出 3.经典PID控制系统输出
论文采用同一个示波器同时显示经典PID控制器、模糊PID控制器的系统输出图
分三个支路进行输出:
像和输入信号的方式来显示输出波形,建立如图6.8的控制系统模型。
31
北京理工大学珠海学院2012届本科生毕业设计
图6.8 控制系统SIMULINK模型
(6) 控制系统的SIMULINK仿真研究
在MATLAB中先载入\"graduate2.m\"文件,按“F5”进行运行,这里工作空间包含了名为“matrix”的矩阵,其表达了模糊控制规则的相关信息,在MATLAB的命令栏中显示如下:
在模糊控制器的SIMULINK模型中的“Fuzzy Logic Controller模块”上双击鼠标左键,在弹出的窗口中将“FIS file or structure:”的值设定为:matrix。
保存上述模型文件。其文件名为:new.mdl。
将视图切换至整个控制系统的SIMULINK模型,这里我们采用默认的仿真参数。用鼠标点击“Start simulation按键”。稍等片刻,听到“叮”的一声后,打开“Scope模块”,可以直观的看到系统的输出波形,见图6.9。
图6.9 控制系统的输出波形
其中,黄色线表示输入(单位阶跃信号),绿色表示经典PID控制器的系统输出,紫色表示模糊PID控制器的系统输出。 依据系统图像,分析系统的暂态性能,见表6.1。模糊PID控制器较经典PID控制器有更短的调节时间,能够更为平稳的进入稳态。而
32
北京理工大学珠海学院2012届本科生毕业设计
且模糊PID控制器几乎没有超调量(0.16%),它约是经典PID控制器的1/33。
表6.1 控制器性能比对
性能指标 过渡过程 控制器 模糊PID控严格单调 制器 经典PID控衰减震荡 制器
超调量 0.16% 5.23% 调节时间 0.733s 5.478s 上升时间 0.717s 0.272s 震荡次数 0次 1次 针对模糊控制部分,进一步观察模糊控制器的暂态输出,即:ΔKP、ΔKI、ΔKD变化过程,如图6.10,6.11,6.12所示
图6.10 KI的暂态特性图
图2-11 KD的暂态特性图
33
北京理工大学珠海学院2012届本科生毕业设计
图6.12 KP的暂态特性图
可见,模糊控制器的控制输出在波动产生后较短的时间内,重新进入收敛状态。反应灵敏,动作迅速,可靠性比较高。
7结论
本设计将模糊控制理论和MATLAB 有机结合通过对PID参数自整定模糊控制器的设计与仿真,介绍了系统实现模糊控制的一般方案,具有易于熟悉,输出量连续超调量小等特点,能够达到较好的动态特性和静态特性。
通过以上分析,可以得出(a)模糊自整定PID控制系统中的参数Kp,Ki和Kd对系统影响极大。应适当选择这3个参数的论域以获得最佳的PID控制特性,避免因Kp,Ki和Kd论域值选择不当而出现系统振荡的现象。(b)模糊控制器的控制规则对模糊自整定PID的系统调节影响也很大,通过修改表控制规则表,使控制系统达到最优。(c)模糊自整定PID具有很好的鲁棒性。
将模糊控制和传统PID 控制相结合组成模糊PID 控制器,不但具有PID 控制精度高等优点,又兼有模糊控制灵活、适应性强的优点,是近年来控制领域十分活跃的一支分支。
综上,模糊PID控制器具有优良的控制效果,所建立模糊系统的各项指标具备实用性和可行性,基本达到了设计要求。
34
北京理工大学珠海学院2012届本科生毕业设计
参考文献
[1] 王蕾宋文忠. PID控制[J]. 南京:东南大学自动化所,2009.6. [2] 刘建昌等. 计算机控制系统[M]. 北京:科学出版社,2009.8. [3] 廉小亲. 模糊控制技术[M]. 北京:中国电力出版社,2003.
[4] 李士勇. 模糊控制、神经控制和智能控制论[M]. 哈尔滨:哈尔滨工业大学出版社,1998. [5] L.A.Zadeh. Fuzzy Sets[J]. Information and control,965.8
[6] 谢书明柴天佑. 一种参数自适应模糊PID控制器[J]. 信息与技术,1998. [7] 刘金琨. 智能控制2版[M]. 北京:电子工业出版社,2009.7. [8] 刘伯春. 智能PID调节器的设计及其应用[J]. 电气自动化,1995.3.
[9] 赵永娟孙华东. 基于Matlab的模糊PID控制器的设计和仿真[J]. 中北大学硕士学位论文,2005. [10] 闻新. MATLAB模糊逻辑工具箱的分析与应用[M]. 北京:科学出版社,2001.
[11] 张国良曾静等. 模糊控制及其MATLAB应用[M]. 西安:西安交通大学出版社,2002.11. [12] 刘金琨. 先进PID控制及其MATLAB仿真[M]. 北京:电子工业出版社,2003.1. [13] 欧阳黎明. MATLAB控制系统设计[M]. 北京:国防工业出版社,2001. [14] 王建辉顾树生. 自动控制原理[M]. 北京:清华大学出版社,2007.4. [15] 舒迪前王顺晃. 智能控制系统及其应用[M]. 北京:机械工业出版社,1998.
35
北京理工大学珠海学院2012届本科生毕业设计
谢 辞
几个月的努力才换来今天完成的毕业论文,回想论文成型的一点一滴,感受颇多。真心感谢所有在我毕业设计过程中给予我帮助的人。
这里首先要感谢的是我的导师彭文亮老师,把我带进了模糊控制领域,为我耐心的讲解了模糊控制的相关知识及应用。让我对智能控制有了基本的概念,开拓了我的视野、激发了我的学习兴趣。
彭文亮老师完备的专业知识、扎实的学术功底与做事一丝不苟的态度是我今后工作的榜样。在我设计的过程中我提出的问题总能得到老师及时准确的指点,为我下一步的工作指明方向。可以说没有彭文亮老师的帮助我的毕业设计只能是雾里看花,借此机会再次深表感谢。
当然完成毕业设计除了老师的指导之外,我还要感谢同学的帮助。在我建模的过程中,给了我许多意见。加快了我对MATLAB软件的学习和应用过程。
互联网对我的帮助也很大,在我有问题不懂的时候,我总能得到广大网友的热心指导,特别是开始用MATLAB有乱码的问题,他们给了我解决方法。虽然不知道他的姓名,但是我还是要表示谢意。
大学毕业之际,我百感交集。大学生活的一幕幕在我的眼前回放,有太多的不舍,亦有好多无奈。我要对我的家人表示感谢,在我快乐的时候有你们和我分享,在我悲伤的时候有你们帮我担当。我所有的成绩都离不开你们在精神和物质方面的支持和鼓励,我爱你们。
最后,再次对在毕业设计中给我帮助的人表示衷心的感谢。
36
北京理工大学珠海学院2012届本科生毕业设计
附录
模糊PID控制的MATLAB仿真代码 %Fuzzy Tunning PID Control clear all; close all;
a=newfis('fuzzpid');
a=addvar(a,'input','e',[-3,3]); %Parameter e
a=addmf(a,'input',1,'NB','zmf',[-3,-1]); a=addmf(a,'input',1,'NM','trimf',[-3,-2,0]); a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]); a=addmf(a,'input',1,'Z','trimf',[-2,0,2]); a=addmf(a,'input',1,'PS','trimf',[-1,1,3]); a=addmf(a,'input',1,'PM','trimf',[0,2,3]); a=addmf(a,'input',1,'PB','smf',[1,3]);
a=addvar(a,'input','ec',[-3,3]); %Parameter ec
a=addmf(a,'input',2,'NB','zmf',[-3,-1]); a=addmf(a,'input',2,'NM','trimf',[-3,-2,0]); a=addmf(a,'input',2,'NS','trimf',[-3,-1,1]); a=addmf(a,'input',2,'Z','trimf',[-2,0,2]); a=addmf(a,'input',2,'PS','trimf',[-1,1,3]); a=addmf(a,'input',2,'PM','trimf',[0,2,3]); a=addmf(a,'input',2,'PB','smf',[1,3]);
a=addvar(a,'output','kp',[-0.3,0.3]); %Parameter kp
a=addmf(a,'output',1,'NB','zmf',[-0.3,-0.1]); a=addmf(a,'output',1,'NM','trimf',[-0.3,-0.2,0]); a=addmf(a,'output',1,'NS','trimf',[-0.3,-0.1,0.1]); a=addmf(a,'output',1,'Z','trimf',[-0.2,0,0.2]); a=addmf(a,'output',1,'PS','trimf',[-0.1,0.1,0.3]); a=addmf(a,'output',1,'PM','trimf',[0,0.2,0.3]); a=addmf(a,'output',1,'PB','smf',[0.1,0.3]);
a=addvar(a,'output','ki',[-0.06,0.06]); %Parameter ki
37
北京理工大学珠海学院2012届本科生毕业设计
a=addmf(a,'output',2,'NB','zmf',[-0.06,-0.02]); a=addmf(a,'output',2,'NM','trimf',[-0.06,-0.04,0]); a=addmf(a,'output',2,'NS','trimf',[-0.06,-0.02,0.02]); a=addmf(a,'output',2,'Z','trimf',[-0.04,0,0.04]); a=addmf(a,'output',2,'PS','trimf',[-0.02,0.02,0.06]); a=addmf(a,'output',2,'PM','trimf',[0,0.04,0.06]); a=addmf(a,'output',2,'PB','smf',[0.02,0.06]);
a=addvar(a,'output','kd',[-3,3]); %Parameter kp
a=addmf(a,'output',3,'NB','zmf',[-3,-1]); a=addmf(a,'output',3,'NM','trimf',[-3,-2,0]); a=addmf(a,'output',3,'NS','trimf',[-3,-1,1]); a=addmf(a,'output',3,'Z','trimf',[-2,0,2]); a=addmf(a,'output',3,'PS','trimf',[-1,1,3]); a=addmf(a,'output',3,'PM','trimf',[0,2,3]); a=addmf(a,'output',3,'PB','smf',[1,3]); rulelist=[1 1 7 1 5 1 1;
1 2 7 1 3 1 1;
1 3 6 2 1 1 1; 1 4 6 2 1 1 1; 1 5 5 3 1 1 1; 1 6 4 4 2 1 1; 1 7 4 4 5 1 1;
2 1 7 1 5 1 1; 2 2 7 1 3 1 1; 2 3 6 2 1 1 1; 2 4 5 3 2 1 1; 2 5 5 3 2 1 1; 2 6 4 4 3 1 1; 2 7 3 4 4 1 1;
3 1 6 1 4 1 1; 3 2 6 2 3 1 1; 3 3 6 3 2 1 1; 3 4 5 3 2 1 1;
38
北京理工大学珠海学院2012届本科生毕业设计
3 5 4 4 3 1 1; 3 6 3 5 3 1 1; 3 7 3 5 4 1 1;
4 1 6 2 4 1 1; 4 2 6 2 3 1 1; 4 3 5 3 3 1 1; 4 4 4 4 3 1 1; 4 5 3 5 3 1 1; 4 6 2 6 3 1 1; 4 7 2 6 4 1 1;
5 1 5 2 4 1 1; 5 2 5 3 4 1 1; 5 3 4 4 4 1 1; 5 4 3 5 4 1 1; 5 5 3 5 4 1 1; 5 6 2 6 4 1 1; 5 7 2 7 4 1 1;
6 1 5 4 7 1 1; 6 2 4 4 5 1 1; 6 3 3 5 5 1 1; 6 4 2 5 5 1 1; 6 5 2 6 5 1 1; 6 6 2 7 5 1 1; 6 7 1 7 7 1 1;
7 1 4 4 7 1 1; 7 2 4 4 6 1 1; 7 3 2 5 6 1 1; 7 4 2 6 6 1 1; 7 5 2 6 5 1 1; 7 6 1 7 5 1 1; 7 7 1 7 7 1 1];
39
北京理工大学珠海学院2012届本科生毕业设计
a=addrule(a,rulelist);
a=setfis(a,'DefuzzMethod','mom'); writefis(a,'fuzzpid'); a=readfis('fuzzpid'); %PID Controller ts=0.001;
sys=tf(5.235e005,[1,87.35,1.047e004,0]); dsys=c2d(sys,ts,'tustin'); [num,den]=tfdata(dsys,'v'); u_1=0.0;u_2=0.0;u_3=0.0; y_1=0;y_2=0;y_3=0; x=[0,0,0]'; error_1=0; e_1=0.0; ec_1=0.0; kp0=0.40; kd0=1.0; ki0=0.0; for k=1:1:500 time(k)=k*ts; rin(k)=1;
%Using fuzzy inference to tunning PID k_pid=evalfis([e_1,ec_1],a); kp(k)=kp0+k_pid(1); ki(k)=ki0+k_pid(2); kd(k)=kd0+k_pid(3);
u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3); % Adding disturbance(1.0v at time 0.3s) if k==300 u(k)=u(k)+1.0; end if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10;
40
北京理工大学珠海学院2012届本科生毕业设计
end
yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)+num(2)*u_1+num(3)*u_2+num(4)*u_3;
error(k)=rin(k)-yout(k);
%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%% u_3=u_2; u_2=u_1; u_1=u(k); y_3=y_2; y_2=y_1; y_1=yout(k);
x(1)=error(k); % Calculating P x(2)=error(k)-error_1; % Calculating D x(3)=x(3)+error(k); % Calculating I
e_1=x(1); ec_1=x(2);
error_2=error_1; error_1=error(k); end showrule(a)
figure(1);plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');ylabel('rin,yout'); figure(2);plot(time,error,'r'); xlabel('time(s)');ylabel('error'); figure(3);plot(time,u,'r'); xlabel('time(s)');ylabel('u'); figure(4);plot(time,kp,'r'); xlabel('time(s)');ylabel('kp'); figure(5);plot(time,ki,'r'); xlabel('time(s)');ylabel('ki'); figure(6);plot(time,kd,'r');
41
北京理工大学珠海学院2012届本科生毕业设计
xlabel('time(s)');ylabel('kd'); figure(7);plotmf(a,'input',1); figure(8);plotmf(a,'input',2); figure(9);plotmf(a,'output',1); figure(10);plotmf(a,'output',2); figure(11);plotmf(a,'output',3); plotfis(a); fuzzy fuzzpid.fis
42
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务