您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 单纯形PID控制寻优实现(有代码超详细)
基于单纯形法的PID控制器的分析与最优设计摘要:PID参数整定与优化一直是自动控制领域研究的重要问题.以二次型性能指标为目标函数,采用单纯形寻优法整定PID参数,使目标函数为最小就可以达到控制系统优化的目的,即实现离散PID控制器的最优设计,文中给出了优化设计的过程,使其具有通用的意义.最后,仿真结果和分析表明了单纯形法在PID控制器参数优化算法中是适用的,且利用此方法设计的控制器具有优良的有效性,改善了控制系统的动态性能。关键词:单纯形优化算法PID控制器二次型指标参数优化1引言PID控制器具有结构简单、实现方便、鲁棒性强、效果满意的特点,并且人们对其原理和物理意义等都比较熟悉,已经建立了比较完善的理论体系,尤其在工业现场控制过程中应用尤为普遍,特别适用于对象动态特性未完全掌握、得不到精确数学模型、难以用控制理论来进行分析和综合的场合.调查结果表明:在当今使用的控制方式中,PID型占84.5%,优化PID型占68%,现代控制型占有15%,手动控制型66%,人工智能(AI)型占0.6%。如果把PID型和优化PID型二者加起来,则占90%以上,这说明PID控制方式占绝大多数,如果把手动控制型再与上述两种加在一起,则占97.5%,这说明古典控制占绝大多数。就连科学技术高度发达的日本,PID控制的使用率也高达84.5%。这是由于理论分析及实际运行经验已经证明了PID调节器对于相当多的工业过程能够起到较为满足的控制效果。它结构简单、适用面广、鲁棒性强、参数易于调整、在实际中容易被理解和实现、在长期应用中己积累了丰富的经验。特别在工业过程中,由于控制对象的精确数学模型难以建立,系统的参数又经常发生变化,运用现代控制理论分析综合要耗费很大的代价进行模型辨识,但往往不能达到预期的效果,所以不论常规调节仪表还是数字智能仪表都广泛采用这种调节方式。正是PID控制算法具有以上多种优点,所以这种算法仍将在现场控制中居于主导地位。而且由于工业现场计算机控制的普遍应用,要求对离散控制器的设计越来越多.基于此种状况,就有必要设计一种通用的控制器来满足不同的现场要求.而Matlab是一种功能强、兼容性好、执行速度快、效率高的结构性程序设计语言,是目前最为常用的开放式程序设计语言之一,又具有和其他应用软件接口的功能.我们选用Matlab语言作为控制器参数设计的平台。另外,用参数寻优方法设计离散PID控制器有很多方法,例如:最速下降法、共轭梯度法和单纯形法.但是以梯度为基础的多变量寻优方法,都要求计算目标函数Q(口)的梯度,而实际问题中往往得不到其梯度的形式.因此,采用这种方法寻优时,只能用近似的方法计算梯度的值.这样会产生很大的误差,计算量也很大.为了避免计算梯度,产生了许多只计算目标函数的寻优方法,即模式寻优法.所谓模式寻优法,就是直接依据目标函数的信息来确定寻优方向的方法.而其中单纯形法的理论比较成熟,所以本文采用此方法.单纯形法利用单纯形的顶点计算目标函数值,按一定规则进行探索性搜索,并对搜索区间的单纯形顶点的函数值进行比较,判断目标函数的变化趋势,确定有利的搜索方向和步长.2PID控制器2.1PID控制器基本原理PID是工业控制中应用最广泛、技术最成熟的一种控制方法,系统主要由被控对象和PID控制器两部分组成。常规的PID一般为线性控制器,实际输出值和给定值会存在一个偏差,将偏差按比例、积分和微分通过线性组合来构成控制量,最后对被控对象进行控制,故称PID控制器。其基本控制原理框图如图2.1所示。比例积分微分被控对象+++图2.1PID控制原理框图PID控制器是一种线性控制器,它根据给定值()rt与实际输出值()yt构成控制偏差:()()()etrtyt(2-1)将偏差进行比例、积分、微分运算并通过一定规律的线性组合构成控制量()ut对被控量进行控制,满足:()()[()()]etpIDdutKetKetdtKdt(2-2)式中pK是比例系数,pIIKKT是积分系数,DpDKKT是微分系数。将PID算法离散化就得到数字PID控制算法,分为位置式PID和增量式PID两种,本设计采用增量式PID控制算法,由式(5-2)得:0()()()[()(1)]kpIDiukKekKeiKekek(2-3)根据递推原理得到:10(1)(1)()[(1)(2)]kpIDiukKekKeiKekek(2-4)将(5-3)式减去(5-4)式得:()()()(2)(1)(2)DDDpIpKKKukKKTekKekekTTT(2-5)式中T为采样周期。2.2PID控制器参数对控制性能的影响2.2.1、比例系数Kp对系统性能的影响(1)对系统的动态性能影响:Kp加大,将使系统响应速度加快,Kp偏大时,系统振荡次数增多,调节时间加长;;Kp太小又会使系统的响应速度缓慢。Kp的选择以输出响应产生4:1衰减过程为宜。(2)对系统的稳态性能影响:在系统稳定的前提下,加大Kp可以减少稳态误差,但不能消除稳态误差。因此Kp的整定主要依据系统的动态性能。2.2.2、积分时间TI对系统性能的影响积分控制通常和比例控制或比例微分控制联合作用,构成PI控制或PID控制。(1)对系统的动态性能影响:积分控制通常影响系统的稳定性。TI太小,系统可能不稳定,且振荡次数较多;TI太大,对系统的影响将削弱;当TI较适合时,系统的过渡过程特性比较理想。(2)对系统的稳态性能影响:积分控制有助于消除系统稳态误差,提高系统的控制精度,但若TI太大,积分作用太弱,则不能减少余差。3.3.3、微分时间TD对系统性能的影响积分控制通常和比例控制或比例积分控制联合作用,构成PD控制或PID控制。(1)对系统的动态性能影响:微分时间TD的增加即微分作用的增加可以改善系统的动态特性,如减少超调量,缩短调节时间等。适当加大比例控制,可以减少稳态误差,提高控制精度。但TD值偏大或偏小都会适得其反。另外微分作用有可能放大系统的噪声,降低系统的抗干扰能力。(2)对系统的稳态性能影响:微分环节的加入,可以在误差出现或变化瞬间,按偏差变化的趋向进行控制。它引进一个早期的修正作用,有助于增加系统的稳定性。PID控制器的参数必须根据工程问题的具体要求来考虑。在工业过程控制中,通常要保证闭环系统稳定,对给定量的变化能迅速跟踪,超调量小。在不同干扰下输出应能保持在给定值附近,控制量尽可能地小,在系统和环境参数发生变化时控制应保持稳定。一般来说,要同时满足这些要求是很难做到的,必须根据系统的具体情况,满足主要的性能指标,同时兼顾其它方面的要求。在选择采样周期T时,通常都选择T远远小于系统的时间常数。因此,PID参数的整定可以按模拟控制器的方法来进行。3单纯形算法单纯形法是一种不必计算目标函数的梯度即可直接寻优的方法。在很多的实际问题中,往往目标函数不容易以明确的形式表达出来,这样单纯形法的优点便凸显出来,使之在寻优中得到比较广泛的应用。单纯形是指空间中最简单的图形,对于n元函数,它由n+1个点组成的多面体。寻优时计算单纯形顶点的函数值,加以比较,判断目标函数的变化趋势,确定出有利的搜索方向和步长。求得一个新点以后,把原来的单纯形中的函数的最大值点(称为最坏点)去掉,由n个点加上新的点又形成一个单纯形。再求得这个单纯形顶点处的函数值,加以比较,不断地重复上述过程,使单纯形往目标函数极小点处移动。控制器参数寻优中常用的是爬山法中的单纯形法。其思想是:在n维空间中取(n+1)个点构成初始单纯形,比较这(n+1)个点处目标函数值(二次型性能指标函数,220()()kJekuk)的大小,丢弃最坏的点(函数值最大的点),代之以新的点,构成新的单纯形,反复迭代,使其顶点处的函数值逐步下降,顶点逐步逼近目标函数的最小点。若要求一个函数的最大点(或最小点),则可先计算若干点处的函数值,进行比较,并根据它们的大小关系确定函数的变化趋势作为搜索的参考方向,然后按参考方向搜索直到找到最小值(或最大值)为止。我们在后面的章节中还会有相关的介绍。3.1目标函数的选取在参数最优化的问题中要涉及性能指标函数,性能指标函数是被寻参数的函数,称为目标函数。选择不同的目标函数的出发点是使它即能比较明确的反映系统的品质,又便于计算。当然选择不同的目标函数,即使对于同一系统,寻优最后得到的优化参数也是会有所不同的。对于本文所描述的控制系统,选取二次型性能指标作为单纯形优化算法的目标函数。当目标函数目的在于使终端误差、控制过程中的偏差和控制能量综合起来比较小时,目标函数常常采用二次型性能指标函数,即:220()()kJekuk(3.1)其中为常数,取值范围为01。3.2单纯形原理以二元函数为例,说明搜索目标函数极小值点的过程。图3.1单纯形法寻优过程如图3.1画出目标函数fXc的等高线族,设由1,2,3三点组成的三角形为初始单纯形,计算三点的目标函数值分别为1f、2f、3f,比较它们的大小,得出123fff。因此,1点是最坏点,2点是次坏点,3点是最好点,分别记为HX,GX,LX。作1点的对称点(称为反射点)4,舍去1点,得到2,3,4三点组成的新的单纯形。容易看出2点又是最坏点,作其反射点5并和3,4两点共同构成新的单纯形,比较它们的函数值大小舍去最坏点3,由其反射点6和4,5两点再构成新的单纯形。如此反复,使单纯形往最小的点移动,最后可以得到收敛的极小值点。一般来说,沿最坏点的对称方向搜索最为有利。因此,需要计算反射点RX,对于二维的情况:RX位于HX,CX的连线上,CX是GX和LX的中点,因此有1122CGLHRXXXXX(3.2)从而得RGLHXXXX;(3.3)或2iRiGiLiHiGiLiHxxxXxxxn(3.4)2x1x1x20c18c15c10c6c式子中2n,坐标1,2i。对于n维的情况有02niRijiHiHjxxxxn1,2,,in(3.5)当然为了使搜索过程加快,往往需要调整反射点,就是在射线上的RX的两边,找出比Rf值更小的点。对于这个问题可以分以下两点来讨论:(1)当RGff说明反射点前进的太远了,应该予以压缩,在上图中所示求出压缩点:1SHRHHRXXXXXX。式中压缩因子为0到1之间的正数,但是不能取0.5,因为当为0.5时,CX和Xs重合,将降低单纯形的维数。求出压缩点的函数值Sf,若SGff,说明有所改善,应保留压缩点Xs,去掉最坏点HX,组成新的单纯形。若SGff,由于Sf和Rf都无明显的改善,说明单纯形太大,应该将单纯形以Xl为中心进行收缩,使其他的n个点向它收缩12,即2iLiXXX1,2,,in(2)当RGff时,说明反射点在该方向上前进的不过,应该再前进一些(称为扩张),如上图的点EX,满足1EHRHHRXXXXXX式中为扩张因子,一般取1.2~2。求出扩张点的函数值Ef,如果ERff说明扩张有效,用EX代替HX组成新的单纯形,否则当ERff时,表明扩张无效,应该以RX代替HX组成新的单纯形。对于以上几种情况,都组成了新的单纯形,接着还应该在这1n个点中找出最坏的点,次坏的点,最好的点,然后取出新的反射点,重复上述的过程。这种寻优方法的收敛条件,对每步的单纯形按下式判别:HLLfff(3.6)其中是精度指标,上式关系成立时,认为LX就是最好的点,否则,应求反射点。再继续去求反射点。4被控对象建模已知被控对象的传递函数模型为:1()(101)Gsss(4-1)采样周期T=1s,要求阶跃响应超调量20%。利用MATLAB/Simulink搭建系统仿真模型。其中离散PID控制器的仿真模型如图4.1所示图4.1离散PID控制系统的仿真模型如图4.2所示图4.2对于PID控制器,给定如下二次型性能指标函数:220[()k
本文标题:单纯形PID控制寻优实现(有代码超详细)
链接地址:https://www.777doc.com/doc-5550166 .html