《基于BP神经网络的PID参数自适应整定.doc》由会员分享,可在线阅读,更多相关《基于BP神经网络的PID参数自适应整定.doc(18页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上基于BP神经网络的PID参数自适应整定曾正1,蔡容容2,詹立新21 武汉大学电气工程学院,4300722 武汉大学动力与机械学院,430072联系方式:摘 要:针对简单单入单出(SISO)系统中PID控制的参数整定问题进行了仿真研究,利用BP神经网络进行PID参数自适应整定。首先,得到了问题的传递函数模型,并建立了对应的离散化传递函数模型作为仿真研究的对象,并对未校正系统进行了相关的理论分析。然后,利用BP神经网络算法在线进行PID参数自适应整定。同时,为了形成参照,给出了运用模拟退火算法离线整定PID参数的仿真过程。建立了3层BP网络结构,以规则为学习规则,控制器算
2、法为有监督的Hebb算法,教师信号为给定与被控对象的输出间的偏差信号。最后,针对系统在多工况下的复杂情况,从静态稳定和动态稳定的角度,对系统稳定性进行了仿真分析。仿真结果表明,所设计的基于BP神经网络参数自适应PID控制系统,控制品质高、鲁棒性强。为了支持更加复杂情况下的仿真,还搭建GUI仿真界面。关键字:PID控制;参数整定;BP神经网络;稳定分析;GUI;1 问题背景分析1.1 准备知识1.1.1 控制系统的性能指标当系统的时间响应中的瞬态分量较大而不能忽视时,称系统处于动态或过渡过程中,这时系统的特性称为动态特性。动态特性指标通常根据系统的阶跃响应曲线定义。设系统的阶跃响应曲线如图1所示
3、,图中称为稳态值。动态性能指标主要有以下几种1。图1 系统的阶跃响应曲线 (1)上升时间:阶跃响应曲线从零第一次上升到稳态值所需的时间为上升时间。若阶跃曲线不超过稳态值(称为过阻尼系统),则定义阶跃响应曲线从稳态值的10%上升到90%所对应的时间为上升时间。 (2)最大超调:设阶跃响应曲线的最大值为,则对大超调为 (1)大,称系统阻尼小。 (3)调节时间:阶跃响应曲线进入并保持在允许的误差范围内所对应的时间称为调节时间。这个误差范围通常为稳态值的倍,称为误差带,为5%或2%。当系统时,系统的响应趋于稳定,此时系统跟踪阶跃信号的误差 (2)定义为稳态误差,它反映了系统跟踪阶跃信号的能力,也是最重
4、要静态性能指标。1.1.2 系统的数学模型系统的数学模型在经典控制理论中有微分方程、传递函数、动态框图和信号流图,在现代控制理论中广泛采用状态空间模型。在初始条件为零时,线性定常系统或元件输出信号的拉氏变换与输入信号的拉氏变换之比,称为该系统或元件的传递函数,通常记为。因此,有 (3)同时,应注意到在已知系统传递函数的情况下,由,经过反拉氏变换,可以很容易地知道系统在给定输入信号下的响应。在现代控制理论中,系统的数学模型是用状态空间法来表示的,对于一个简单的单输入单输出系统来说,可以描述为 (4)其中,为输出变量,为n维状态向量。状态空间模型和传递函数模型是统一的,它们之间可以相互转换。在本问
5、题中,我们将用到将状态空间模型转换为传递函数模型的方法,其逆转换在本文中不涉及,可参考任何一本控制理论相关的书籍。由状态空间模型转换为传递函数模型的公式为 (5)1.2 问题分析对于SISO系统 (6)输入为,输出为,用PID控制方法进行设计,并用数值仿真确定控制器参数,使系统输出跟踪期望的输出:。由1.1可知,系统的传递函数模型为 (6)在MATLAB的Simulink工具箱中建立如图2所示的仿真模型,系统跟踪给定阶跃输入信号的结果如图3所示。图2 系统在Simulink下的仿真模型从图3可以看出:系统是稳定的,但是不能够实现对给定阶跃信号的跟踪。稳态响应为0.78,模型的稳态误差为2.22
6、。图3 校正前系统跟踪给定阶跃输入信号的结果模型的稳态误差也可以通过理论计算得到 (7) (8)理论的分析结果与仿真结果完全一致。为了实现对给定阶跃信号的跟踪,必须对系统进行校正或控制。对这样一个本身稳定的系统,可以采用预测控制、模糊控制、自适应控制等先进控制技术,也可以采用传统的PID控制(或称为校正)技术。问题要求采用PID控制,且整定合适的PID参数。我们将采用BP神经网络自适应的方法给出PID参数的整定值,这些参数必须是使得控制系统的性能最优的,我们拭目以待。为了便于计算机数值仿真,我们将模型进行了离散化。采用零阶保持的方法将模型离散化,采样周期为0.01s。离散化的仿真模型为 (9)
7、1.3 PID基本原理在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如图4所示。系统由模拟PID控制器和被控制对象组成。比例微分积分被控对象图4 模拟PID控制系统原理框图PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差 (10)PID的控制律为 (11)或写成传递函数的形式 (12)式中,为比例系数,为积分常数,为微分时间常数。简单说,PID控制器各校正环节的作用为(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常
8、数,越大,积分作用越弱,反之则越强。(3)微分环节:反映偏差信号的变化趋势(变化速率),并且能在偏差信号变化太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。2 符号说明:系统的输出;:系统待跟踪的信号;:系统稳态输出;:系统的传递函数;:控制系统稳态的输入、输出之差(稳态静差);:PID控制的比例系数;:PID控制的积分系数;:PID控制的微分系数;:PID积分常数;:PID微分时间常数。注:还有一些局部变量,在使用时加以说明。3 PID控制参数整定原理本文采用基于BP神经网络PID参数自适应整定,为了形成对比。给出了利用模拟退火算法整定的结果,作为参照。本
9、文给出的整定方法是一种在线的自适应调整方法,与离线整定的方法相比,具有超调小、控制量变化小、抗干扰能力强的优点。特别是在模型参数摄动或控制量存在扰动时,控制系统的鲁棒性体现得尤为明显。在后面的仿真中,我们将看到,基于该方法的PID参数整定对提高控制系统的静态和动态稳定具有很好的作用。3.1 模拟退火算法参数整定原理 从图5可看出,要获取满意的过渡过程动态特性和稳态特性,可采用误差绝对值积分性能指标作为参数选择的最小日标函数(即图中阴影部分的面积)。 (13)式中,为系统误差。当误差的绝对值积分小时,系统的调节时间、超调和稳态误差均会是最优的,系统性能的优化过程正好是误差绝对值积分极小的过程。图
10、5 误差绝对值积分的示意图由于PID参数的整定是一个复杂的非线性优化过程,采用常规的方法很难达到目的。在本文中,先利用模拟退火算法整定其参数。模拟退火算法来源于固体退火原理,用固体退火模拟组合优化问题,将内能E模拟为目标函数f,温度T演化为控制参数t,即得到解组合优化问题的模拟退火算法:由初始解和控制参数初值t开始,对当前解重复“产生新解计算目标函数差接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解,即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。模拟退火算法可以分解为解空间、目标函数和初始解三部分(程序流程图见附录)。模拟退火算法的基本步骤如下:Step1:初始
11、化:初始温度(充分大),末温,退火系数。初始解(是算法迭代的起点,其中,),马氏链长度,联合图6所示的Simulink仿真模型,得到在该组参数下的目标函数值;图6 利用模拟退火算法整定PID参数时的Simulink模型Step2:对k=1,2,L做Step3至Step6;Step3:随机产生新解;Step4:计算目标函数值增量 ,其中为新解的目标函数值;Step5:若,则接受作为新的当前解,否则以概率接受作为新的当前解;Step6:如果满足终止条件则输出当前解作为最优解,结束程序;Step7:逐渐减少,若,然后转Step2;否则,转Step8;Step8:程序结束,输出PID参数的整定结果。3
12、.2 BP神经网络PID参数自适应整定原理PID控制要取得较好的控制效果,就必须通过调整比例、积分和微分三种控制作用,形成控制量中既相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,从变化无穷的非线性组合中可以找出最佳的关系。但是,这仅仅是离线状态下的最优整定结果而已,且一旦确定就不可变化了。设想有这样一种PID控制器,它输出的控制作用不仅与偏差大小有关,而且与被控对象的状态有关。在偏差较大时,采用一组PlD参数,增强控制作用,使对象较快地趋于给定值:当偏差较小时,自动调整为另一组参数,削弱控制作用,避免出现过大的超调量。显然,这样的控制器可以较好地解决稳定性和快速性的矛盾。更进一
13、步,当对象模型摄动时,控制器参数也自动修正,保证模型变化后系统的稳定和控制品质。BP神经网络具有高度的并行分布式、联想记忆、自组织、自学习、容错能力强的非线性映射能力,体现了人工神经网络最为精华的部分,得到了广泛的应用35。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用BP网络,可以建立参数自学习的PID控制器。基于BP网络的PID控制系统机构图如图7所示,控制器由两部分组成(1) 经典的PID控制器,直接对被控对象进行闭环控制,并且三个参数为在线调整方式;(2) 神经网络,根据系统的运行状态,调整PID控制器的参数,以期达到某种性能指标的最优
14、化,使输出层神经元的输出状态对应于PID控制器的三个可调参数。通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制规律下的PID控制器参数。NN网络PID控制器被控对象图7 基于BP神经网络结构的PID控制器结构为了便于计算机仿真,被控对象采用9式所示的离散化模型,PID控制器采用经典的数字式PID控制器。其中经典增量式数字PID的控制算法为 (14)式中,分别为比例、积分、微分系数。采用三层BP网络,其结构如图8所示。网络输入层的输入为:,式中输入变量的个数取决于被控系统的复杂程度。网络隐含层的输入、输出为 (15)式中,隐含层加权系数;上角标(1)、(2)、(3)分别代表输
15、入层、隐含层和输出层。隐含层神经元的活化函数取正负对称的Sigmoid函数 (16)网络输出层的输入输出为 (17)输出层输出节点分别对应三个可调参数。由于不能为负值,所以输出层神经元的活化函数取为非负的Sigmoid函数为 (18)取性能指标函数为 (19)按照梯度下降法修正网络的权系数,即按照对加权系数的负梯度方向搜索调整,并附加一个使搜索快速收敛全局极小的惯性项 (20)式中,为学习速率;为惯性系数。 (21)由于未知,所以近似用符号函数sgn()取代,由此带来计算不精确的影响可以通过调整学习速率来补偿。由式(1)和式(4)可求得 (22)上述分析可得网络输出层权的学习算法为 (23)同
16、时可以得到隐含层加权系数的学习算法 (24)式中,。基于BP网络的PID控制器结构如图8所示,值得注意的是在仿真中我们利用的是离散化的控制对象,该控制器控制算法如下Step1:确定BP网络的结构为三层,即确定输入层节点数和隐含层节点数,并给出各层加权系数的初始值和,选定学习速率和惯性系数,此时;Step2:采样得到,计算k时刻的误差;Step3:计算神经网络各层神经元的输入、输出;Step4:根据式(1)计算PID控制器的输出;Step5:进行神经网络学习,在线调整加权系数,实现PID控制参数的自适应调整;Step6:,若k大于设定的仿真时间上限,则转Step7;否则,转Step1;Step7
17、:结束仿真。图8 BP神经网络结构4 模型仿真与结果分析首先,给出模拟退火法和BP神经网络PID参数自适应法的整定结果,和由它们构成的控制系统跟踪给定阶跃信号的能力。结果表明:BP神经网络PID参数自适应法所得到的PID参数的跟踪性能明显优于模拟退火法。然后,针对BP神经网络PID参数自适应法,考虑参数的扰动、现场控制量扰动,对控制系统作了静态稳定分析;考虑模型失配、控制量大扰动,对控制系统作了动态稳定分析。4.1 BP神经网络PID参数自适应整定仿真4.1.1 基于模拟退火算法的PID参数整定仿真模拟退火的初温为50,末温为0.1,马氏链的长度为1000。利用MATLAB6.5编程,仿真耗时
18、1627.8s,获得的优化参数如下:整定结果为、,性能指标J43.6852,代价函数的优化过程和系统阶跃响应如图9所示。校正后系统的5%调节时间为0.15s,2%调节时间为0.15s。系统的动态性能能够很好地得到满足,但是却出现了很大的超调量(21.39%)。(a) (b) 图9 模拟退火算法PID参数整定方法的仿真结果(a)模拟退火算法的寻优过程 (b)系统阶跃响应系统控制量的变化轨迹如图10所示。通过仿真,我们进一步发现,系统的控制量在初始时刻附近剧烈变动,在初始时刻处出现了1179的一个脉冲量,最大的负控制量约为-450左右。这在实际中对控制阀的性能提出了巨大的挑战,甚至在实际中这是不可
19、能得到满足的。图10 系统控制量的变化轨迹为了更符合实际情况,我们在控制量的后面引入了饱和非线性环节,控制量限幅为20,进行新的仿真,仿真模型如图11所示。图11 对控制量引入饱和非线性后的仿真模型仿真耗时1663.2s,获得的优化参数如下:整定结果为、,性能指标J65.6558,代价函数的优化过程和系统阶跃响应如图12所示。校正后系统的5%调节时间为0.15s,2%调节时间为0.15s,系统的动态性能很好,出现了的3.9%超调量。但是,系统的跟踪性能却出现了问题,最终出现了大小为0.0776的稳态误差。(a) (b) (c) (d) 图12 对控制量引入饱和非线性后的仿真结果(a)模拟退火算
20、法的寻优过程 (b) PID控制阶跃响应 (c)控制量输出轨迹 (d) 误差变化轨迹 4.1.2 基于BP神经网络的PID参数自适应整定仿真 图13给出了BP神经网络PID参数自适应法整定PID参数的结果。其中,图13(a)是PID控制器和被控制对象级联后对阶跃信号的跟踪情况。仿真结果表明:校正后系统的5%调节时间为1.04s,2%调节时间为1.15s,没有超调现象出现。与图3所示的未校正的系统的跟踪情况相比,系统无稳态误差,调节时间短。系统的稳定性、快速性相当出色。各参数与图12所示的模拟退火算法整定的结果相比,调节时间相差不大,超调量更小。且参数是通过在线调整得到的,下面我们将看到参数还能
21、够根据系统的扰动做出相应的自调节。仿真结果明显更优。(a) (b) (c) (d) 图13 BP神经网络PID参数自适应法整定PID参数仿真结果(a)阶跃信号的跟踪情况 (b)跟踪误差变化情况 (c)控制量输出 (d)参数自适应整定轨迹 图13(b)给出了系统在跟踪参考信号时,输出误差的变化情况。可见,系统的输出误差在很短的时间内减小到0,并最终稳定在0处,实现了对系统的误差控制。图13(c)给出了控制量输出的变化情况。可见,控制量没有大的振荡变化,减小了对控制器性能的要求。控制量输出最终稳定在11.5385左右。 从理论分析来看,在1.2中,对于被控制对象,当输入时,系统的稳态响应为,不满足
22、跟踪要求;由于线性系统满足迭加原理,那么为了达到给定的,控制量应该为。理论与仿真结果吻合得很好。图13(d)给出了参数、的自适应整定轨迹,表明三个参数在很短的时间内就自适应地达到了稳定值、,在线调节的过程是不长的。在接下来的仿真中,我们将看到;在系统存在大扰动或小扰动的时候,先前整定好的参数会随着扰动的加入而再次进行自适应调整,以快速地适应复杂的实际扰动情况,在线优化系统的性能指标。对比4.1.1利用模拟退火算法(以下简称“前者”)的仿真结果,我们可以看到基于BP神经网络自适应PID整定(以下简称“后者”)具有以下优点:1)后者PID参数的整定是通过在线调整来完成的,能够根据不同的运行工况进行
23、实时调整;而前者是离线整定的结果。2)后者的整定时间短(是前者的几千分之一),系统的性能很好,虽然在快速性上相对于前者有所牺牲,但是实际的系统对与0.8s的调节时间是可以忍受的;相反,后者在稳态性能和超调上表现得很出色;3)在控制量的变化轨迹来看,后者具有明显的优势。它对控制器的要求可以降低;4)在下面的仿真中,我们将看到后者具有很高的控制品质和鲁棒性。以上对比表明:基于BP神经网络的PID参数自适应整定在性能和仿真时间上,优于基于模拟退火算法的PID参数整定。在下面的仿真中,我们着重讨论该方法在复杂的、多工况的、多扰动的实际系统中的静态和动态稳定性。4.2 系统静态稳定分析所谓系统的静态稳定
24、性,是指系统在一个小的扰动作用下,系统能否回到原来运行状态的能力。在实际的控制问题中,这样的小扰动可能包括:测控系统的电磁干扰、系统所带负荷微小变化而导致的系统模型参数的摄动、控制器开度(调节阀或电磁阀)的微小变化等等。在仿真中,这一系列的小扰动,可以转换为模型参数摄动或控制量的变化上。针对以上分析,我们进行了仿真研究,设定模型参数A、B存在+5%的扰动、控制量在3s时存在0.14的脉冲扰动。仿真结果如图14所示。仿真结果表明:根据BP神经网络自适应整定的PID控制器,在单一的模型参数A、B存在扰动或控制量存在扰动或它们同时存在扰动的情况下,跟踪给定阶跃信号的能力没有太大的变化,参数的自适应整
25、定跟踪轨迹基本相同。这也验证了根据我们的PID整定方法设计的控制器能够大大提升系统的静态稳定性。(a) (b) 图14 系统存在小扰动时跟踪给定阶跃信号时的仿真结果(a)阶跃信号的跟踪情况 (b)跟踪误差变化情况4.3 系统动态稳定分析所谓系统的动态稳定性,是指系统在一个大的扰动作用下,恢复到原来运行状态或稳定地过渡到新的运行状态的能力。模型失配的可能来源有:系统模型的辨识结果存在较大误差,或系统在运行过程中增减负荷导致模型失配,甚至模型根本就不确定。如果控制系统没有动态稳定性,那么在实际中可能导致系统失控,最终导致严重的事故。下面我们将分析基于BP神经网络的PID参数整定方法的动态稳定性。当
26、控制量在3s时产生幅值为1的阶跃干扰,系统的仿真结果如图15所示。由于阶跃干扰的发生时间大于原始的调节时间,所以该干扰没有影响到系统的快速性。但是,由于阶跃干扰而带来了6.35%的超调,同时注意到系统具有足够的动态稳定裕度,在干扰发生后的1.35s恢复到原来的运行状态,系统是动态稳定的。PID参数的最终整定结果为、,与4.1中的结果约有不同,这正好反映了自适应整定的概念。(a) (b) 图15 当控制量存在扰动时的仿真结果(a)阶跃信号的跟踪情况 (b)跟踪误差变化情况 当模型失配时,即模型参数存在大的扰动,失配后的仿真模型为。仿真结果如图16所示。(a) (b) 图16 当模型失配时的仿真结
27、果(a)阶跃信号的跟踪情况 (b)跟踪误差变化情况从图16可以看出:系统的5%调节时间缩短为0.99s、2%调节时间缩短为1.06s,快速性得到提升,出现了1.87%的超调。最终的PID参数整定结果为、。当模型在3s后失配时,实际意义为负荷变化。设定失配前的模型为原仿真模型,失配后的仿真模型为。仿真结果如图17所示。(a) (b) 图17 当模型在3s时失配的仿真结果(a)阶跃信号的跟踪情况 (b)跟踪误差变化情况从图17可以看出:系统的最大超调为6.7%,系统对扰动的调节时间为1.37s。最终的PID参数整定结果为、。综上,神经网络PID自适应参数整定对控制量较大的扰动或模型失配具有较好抑制
28、能力5 仿真界面设计为了更好地观察在各种参数扰动或变化、控制量干扰出现对系统仿真结果的影响,我们用MATLAB中的GUI工具箱建立了的可视化GUI仿真界面,如图18所示。这样能够适应更加复杂的仿真情况,能很方便地选择或自定义各种参数的扰动或改变其大小,自定义仿真形式,得到相应的仿真结果6。 图18 GUI仿真界面图19 GUI仿真界面下的仿真结果1、在仿真界面中,根据需要在小范围(-5%+5%)内改变参数a、b,可修改状态空间模型,对系统做静态稳定分析。2、修改控制量扰动delta_u的值就可以由其值的大小而决定是对系统做静态稳定分析还是动态稳定性分析,同时设定time的值可以根据需要设定控制
29、量扰动的出现时间,缺省设置为0,即无控制量扰动。3、在仿真界面中,设定a_d和b_d的值,以改变系统模型失配后的仿真模型,界面的默认设定为、。设定对应方框中的time即设定模型失配出现的时间,默认设置为0。4、当同时调节1、2和3中所作的设定时,可以对更加复杂的情况进行仿真分析。5、每次仿真结束后,The result框中将给出模型仿真的结果,包括最终的PID参数整定结果,5%调节时间t_5、2%调节时间t_2、超调xite和存在扰动时系统的最大动态调节时间transition time。6、在仿真界面中,单击Reset时,准备仿真,将界面上的历史数据还原为默认的设定值。 图19给出了某次仿真
30、的结果。6 结论PID控制是最经典的控制方法之一,其要取得较好的控制效果,就必须调整比例、积分和微分三种控制作用作用权重,即整定最佳的PID参数。而这个寻优过程也是一个非线性优化的过程,具有其固有的困难。在模型摄动时,系统的稳定性和控制品质将明显下降。采用固定参数的常规PID来控制时,难以在稳定性和控制品质间取得折衷,即使整定出一组相当理想的参数,在对象模型变化时,控制品质也难以保证。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用BP网络,可以建立参数自学习的PID控制器。通过在线学习,可以不断自适应地调整PID参数,使得系统满足稳定性、快速性
31、的要求。通过我们的仿真,表明:基于BP神经网络的PID参数自适应整定方法,能够根据系统的实时在线情况,来调整系统控制量的输出,使得系统的快速性能和稳定性能都得到很大的优化。值得注意的是,由于是在线跟踪系统的实时响应,当系统模型失配或存在大的扰动时,整个系统的控制效果仍然十分出色。也就是说,该方法不仅消除了原始模型中存在的稳态误差,而且还大大提高了系统的静态、动态稳定性,控制品质高、鲁棒性强。参考文献1 梅晓榕.自动控制原理M.北京:科学出版社,20022 de Villiers J, et al. Backprogation neural nets with one and two hidde
32、n layers J. IEEE Transactions on Neural Networks, 1993,4(1): 136-141.3 程启明.改进型PID参数神经网络自学习的船舶操纵控制器J.系统仿真学报,2001(5).4 马平,朱燕飞,牛征.基于神经网络的主汽温控制系统J.华北电力大学学报,2001(4).5 Humpert B K.Improved back propagation with a new error functionJ.Neural Networks,1994,7(1):1191-1192.6 陈永春.MATLAB高级编程M.北京:清华大学出版社2003.附录 模拟退火算法流程图从的领域中产生新的分区方案,计算与之间的代价函数差确定初始温度,末了温度,降温系数,初解确定初始温度跳出内循环跳出外循环结束当前温度下降按准则更新分区方案模拟退火算法流程图YN专心-专注-专业