基于BP神经网络的PID参数自适应整定
曾正1,蔡容容2,詹立新2
1 武汉大学电气工程学院,430072 2 武汉大学动力与机械学院,430072 联系方式:zengerzheng@126.com
摘 要:针对简单单入单出(SISO)系统中PID控制的参数整定问题进行了仿真研究,利用BP神经网络进行PID参数自适应整定。
首先,得到了问题的传递函数模型,并建立了对应的离散化传递函数模型作为仿真研究的对象,并对未校正系统进行了相关的理论分析。
然后,利用BP神经网络算法在线进行PID参数自适应整定。同时,为了形成参照,给出了运用模拟退火算法离线整定PID参数的仿真过程。建立了3层BP网络结构,以?规则为学习规则,控制器算法为有监督的Hebb算法,教师信号为给定与被控对象的输出间的偏差信号。
最后,针对系统在多工况下的复杂情况,从静态稳定和动态稳定的角度,对系统稳定性进行了仿真分析。
仿真结果表明,所设计的基于BP神经网络参数自适应PID控制系统,控制品质高、鲁棒性强。
为了支持更加复杂情况下的仿真,还搭建GUI仿真界面。 关键字:PID控制;参数整定;BP神经网络;稳定分析;GUI;
1 问题背景分析 1.1 准备知识
1.1.1 控制系统的性能指标
当系统的时间响应y(t)中的瞬态分量较大而不能忽视时,称系统处于动态或过渡过程中,这时系统的特性称为动态特性。动态特性指标通常根据系统的阶跃响应曲线定义。设系统的阶跃响应曲线如图1所示,图中y(?)?limy(t)称为稳态值。动态性能指标主要有以
x??下几种。
y(t)y(tp)[1]
2?y(?)y(?)Otrtpts图1 系统的阶跃响应曲线
t
(1)上升时间tr:阶跃响应曲线从零第一次上升到稳态值所需的时间为上升时间。若阶跃曲线不超过稳态值(称为过阻尼系统),则定义阶跃响应曲线从稳态值的10%上升到90%
1
所对应的时间为上升时间。
(2)最大超调?p:设阶跃响应曲线的最大值为y(tp),则对大超调?p为
??p大,称系统阻尼小。
p?y(tp)?y(?)y(?)?100% (1)
(3)调节时间ts:阶跃响应曲线进入并保持在允许的误差范围内所对应的时间称为调节时间。这个误差范围通常为稳态值的?倍,?称为误差带,?为5%或2%。
当系统t??时,系统的响应趋于稳定,此时系统跟踪阶跃信号的误差
ess(?)?limess(t)?lim(r(t)?y(t)) (2)
t??t??定义为稳态误差,它反映了系统跟踪阶跃信号的能力,也是最重要静态性能指标。 1.1.2 系统的数学模型
系统的数学模型在经典控制理论中有微分方程、传递函数、动态框图和信号流图,在现代控制理论中广泛采用状态空间模型。
在初始条件为零时,线性定常系统或元件输出信号的拉氏变换Y(s)与输入信号的拉氏变换R(s)之比,称为该系统或元件的传递函数,通常记为G(s)。因此,有
R(s)同时,应注意到在已知系统传递函数的情况下,由Y(s)?G(s)R(s),经过反拉氏变换,可
G(s)?Y(s) (3)
以很容易地知道系统在给定输入信号r(t)下的响应y(t)。
在现代控制理论中,系统的数学模型是用状态空间法来表示的,对于一个简单的单输入单输出系统来说,可以描述为
??Ax?Bu?x (4) ??y?Cx?Du其中,y为输出变量,x为n维状态向量。
状态空间模型和传递函数模型是统一的,它们之间可以相互转换。在本问题中,我们将用到将状态空间模型转换为传递函数模型的方法,其逆转换在本文中不涉及,可参考任何一本控制理论相关的书籍。
由状态空间模型转换为传递函数模型的公式为
Y(s)?1G(s)??C[sI?A]B (5)
R(s)
1.2 问题分析
对于SISO系统
?1?x2?x (6) ??2??25x1?6.5x2?6.5u?x输入为u,输出为y?x1,用PID控制方法进行设计,并用数值仿真确定控制器参数,使系统输出跟踪期望的输出:yref?3。
由1.1可知,系统的传递函数模型为
?1??0??s6.5?1G(s)??C[sI?A]B?[10]?? (6) ???2R(s)?25s?6.5??6.5?s?6.5s?25在MATLAB的Simulink工具箱中建立如图2所示的仿真模型,系统跟踪给定阶跃输入信号的结果如图3所示。
C(s)?1 2
图2 系统在Simulink下的仿真模型
从图3可以看出:系统是稳定的,但是不能够实现对给定阶跃信号的跟踪。稳态响应为0.78,模型的稳态误差为2.22。 32.52rin,yout1.510.500123time(s)456图3 校正前系统跟踪给定阶跃输入信号的结果 3模型的稳态误差也可以通过理论计算得到
y(?)?limy(t)?limsG(s)R(s)?limst??s?0s?06.52ess(?)?yrefs?6.5s?25s?y(?)?3?0.78?2.22 (8)
?0.78 (7)
理论的分析结果与仿真结果完全一致。
为了实现对给定阶跃信号的跟踪,必须对系统进行校正或控制。对这样一个本身稳定的系统,可以采用预测控制、模糊控制、自适应控制等先进控制技术,也可以采用传统的PID控制(或称为校正)技术。问题要求采用PID控制,且整定合适的PID参数。我们将采用BP神经网络自适应的方法给出PID参数的整定值,这些参数必须是使得控制系统的性能最优的,我们拭目以待。
为了便于计算机数值仿真,我们将模型进行了离散化。采用零阶保持的方法将模型离散化,采样周期为0.01s。离散化的仿真模型为
G(z)?0.318?10 z + 0.3112?10z - 1.935 z + 0.93712-3-3 (9)
1.3 PID基本原理
在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理框图如图4所示。系统由模拟PID控制器和被控制对象组成。
3
比例 yref??微分 积分 ???被控对象 y(t)图4 模拟PID控制系统原理框图
PID控制器是一种线性控制器,它根据给定值rin与实际输出值yout构成控制偏差
e(t)?yref?y(t) (10)
PID的控制律为
u(t)?kp(e(t)?1Ti?t0e(t)dt?Tdde(t)dt) (11)
或写成传递函数的形式
G(s)?U(s)E(s)?kp(1?1Tis?Tds) (12)
式中,kp为比例系数,Ti为积分常数,Td为微分时间常数。
简单说,PID控制器各校正环节的作用为
(1)比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,减少偏差;
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并且能在偏差信号变化太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
2 符号说明
y(t):系统的输出; yref:系统待跟踪的信号;
y(?):系统稳态输出; G(s):系统的传递函数;
ess(?):控制系统稳态的输入、输出之差(稳态静差); kp:PID控制的比例系数;
ki:PID控制的积分系数;
kd:PID控制的微分系数; Ti:PID积分常数;
Td:PID微分时间常数。
注:还有一些局部变量,在使用时加以说明。
3 PID控制参数整定原理
本文采用基于BP神经网络PID参数自适应整定,为了形成对比。给出了利用模拟退火算法整定的结果,作为参照。
本文给出的整定方法是一种在线的自适应调整方法,与离线整定的方法相比,具有超
4
调小、控制量变化小、抗干扰能力强的优点。特别是在模型参数摄动或控制量存在扰动时,控制系统的鲁棒性体现得尤为明显。在后面的仿真中,我们将看到,基于该方法的PID参数整定对提高控制系统的静态和动态稳定具有很好的作用。
3.1 模拟退火算法参数整定原理
从图5可看出,要获取满意的过渡过程动态特性和稳态特性,可采用误差绝对值积分性能指标作为参数选择的最小日标函数(即图中阴影部分的面积)。
J???0|e(t)|dt (13)
式中,e(t)为系统误差。当误差的绝对值积分小时,系统的调节时间、超调和稳态误差均会是最优的,系统性能的优化过程正好是误差绝对值积分极小的过程。
y(t)y(?)O图5 误差绝对值积分的示意图
t
由于PID参数的整定是一个复杂的非线性优化过程,采用常规的方法很难达到目的。在本文中,先利用模拟退火算法整定其参数。模拟退火算法来源于固体退火原理,用固体退火模拟组合优化问题,将内能E模拟为目标函数f,温度T演化为控制参数t,即得到解组合优化问题的模拟退火算法:由初始解S0和控制参数初值t开始,对当前解重复“产生新解—计算目标函数差—接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解,即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。
模拟退火算法可以分解为解空间、目标函数和初始解三部分(程序流程图见附录)。模拟退火算法的基本步骤如下:
Step1:初始化:初始温度t0?50(充分大),末温tf?0.1,退火系数??0.86。初始解
S0?[120 0.3 1.9](是算法迭代的起点,其中kp?1.9,Ti?120,Td?0.3),
马氏链长度L?1000,联合图6所示的Simulink仿真模型,得到在该组参数下的目标函数值f(S);
5