APP下载

液压系统中粒子群优化神经网络权值的控制算法

2014-05-15王茂林叶小红王洪光李少远姜贵林

应用科技 2014年3期
关键词:伺服系统阶跃电液

王茂林,叶小红,王洪光,李少远,姜贵林

哈尔滨工程大学机电工程学院,黑龙江哈尔滨 150001

液压系统中粒子群优化神经网络权值的控制算法

王茂林,叶小红,王洪光,李少远,姜贵林

哈尔滨工程大学机电工程学院,黑龙江哈尔滨 150001

针对非线性、时变等缺陷导致传统的控制器控制效果较差、不适应电液伺服系统的现象,提出了用于电液伺服控制的基于粒子群优化算法对神经网络的权值进行学习训练的PSO-NN算法。结合电液伺服系统实例分析,用MATLAB仿真得到了输入阶跃信号和正弦信号时,PSO-NN算法的输出曲线以及适应度曲线;为了展示PSO-NN算法的效果,用BP算法仿真了对应输入阶跃信号和正弦信号的输出。仿真结果表明:在电液伺服系统的控制中,PSO-NN算法性能优于BP算法,系统输出具有更好的收敛性和对输入的跟随性,从而证明PSO-NN算法对于电液伺服系统的控制是合适并有效的。

粒子群优化算法;BP神经网络;PSO-NN算法;权值训练;电液伺服系统

电液伺服系统因精度高、响应快、易调节等优点,在工业控制领域得到了广泛使用。然而,非线性、时变等缺陷导致传统的控制器控制效果较差,不适应电液伺服系统[1]。神经网络(neural networks)应用广泛,包括优化、机器人技术和工业控制过程。其中,BP算法又是应用最广的神经网络训练算法。该算法不必知道具体的系统模型就可以提供期望的输出[2]。

粒子群优化(particle swarm optimization,PSO)算法是美国的Kennedy和Eberhart[3]受鸟群觅食行为的启发于1995年提出的,是基于随机优化技术发展而来,到目前为之,BP神经网络和PSO算法已经应用于很多不同的问题。例如,Ghobakhloo和Eghtesad[4]发展了多层BP-NN算法来解决一个有3个旋转自由度的冗余液压系统的正向运动学问题;Das和Dulger[5]为四连杆机构设计了用PSO优化PD控制器参数的算法。然而,粒子群和神经网络结合的PSO-NN算法应用于电液伺服系统的研究很少。因此本文提出了将粒子群优化算法对神经网络的权值进行学习训练的PSO-NN算法,用其对电液伺服系统进行分析,并与BP神经网络控制器进行比较。

1 BP神经网络

在神经网络中权值训练通常使用误差逆向传播的BP算法。BP算法先将输入由输入层经过隐含层处理最后传递到输出层得到输出结果,再对实际输出与期望输出的误差使用梯度下降法训练各层权重值[6]。 输出误差如式(1):

式中:ri为网络实际的输出,yi为期望输出,n为输出层节点数。

BP算法流程概括如下:

1)初始化神经网络:选择输入层、输出层和隐含层的节点数。

2)随机初始化各层的权值在-1.0~1.0。

3)选择学习速率在0~1。

4)为神经网络提供第1组输入。

5)进行前向网络计算,得到输出。

6)网络反向计算误差,由梯度下降法更新网络权值。

7)判断误差是否达到要求。

8)是则程序结束;否则返回步骤9)。

9)为神经网络提供下一组输入,并返回步骤5)。

2 粒子群算法

粒子群优化算法包含一组在n维空间搜索变换的粒子。一组中的每个粒子都有一个粒子位置和粒子速度,均通过适应度函数优化。粒子根据当前优化的结果进行粒子位置和速度的更新[3]。

PSO用一组随机粒子初始化,然后进行迭代寻优。每次迭代中会有本粒子的当前最好位置pbest和全部粒子中的最好位置gbest,每个粒子再用下面的公式进行速度和位置更新。

式中:w是惯性权重;c1、c2为学习因子,通常在0~2间取值;r1,r2∈(0,1)为随机数;vki为粒子i第k迭代时的速度;xki粒子i第k迭代时的位置。

粒子群算法流程概括如下:

1)初始化PSO参数c1、c2、r1、r2、w,设定迭代次数;

2)初始化各个粒子的位置和速度;

3)计算每个粒子的适应度值;

4)计算pbest和gbest,更新每个粒子的速度和位置;

3 PSO-NN神经网络训练算法

3.1 PSO-NN算法在电液伺服系统的应用

对电液伺服系统的控制研究中,系统控制器接收输入信号r再将控制器的输出传递到电液伺服系统中,电液伺服系统的输出y再反馈到控制器中。控制器比较电液伺服系统的输出y与控制器的输入r,根据其差值不断调整,从而使得电液系统输出y跟随输入信号r。系统的功能如图1所示。

图1 电液伺服压系统控制框图

图2展示了PSO-BP算法用于系统控制器的情况。神经网络模型和粒子群算法包含在控制器中。神经网络接收输入r,经过网络的泛化,然后将泛化结果经由系统传递函数得到输出y。粒子群算法比较输出y与输入r的值,对神经网络模型的权值进行控制,已达到控制输出y跟随输入r的目的[6]。

图2 PSO-NN算法控制液压系统框图

在图2中有输出y反馈到神经网络的功能。这是因为系统传递函数一般为二阶非线性的,所以神经网络的t+1时刻的输入要用到t+1时刻的输入r以及系统t和t-1的输出y。

3.2 PSO-NN算法分析

采用基于粒子群算法优化神经网络的权值的网络训练算法。首先要做的就是确定粒子模型,即粒子空间维数。神经网络的训练算法主要是权值的更新,因此粒子的位置应与神经网络模型的各个层权值相对应,即粒子的空间维数对应网络模型的权值个数。

针对本文研究问题,NN网络模型的输入层应有2个节点,输出层应有1个节点。输入层的节点对应电液伺服系统的输入r和反馈输出y;输出层对应电液系统的输出y。假设隐含层有n个节点。则NN网络模型如图3所示。

图3 NN神经网络模型

由图 3知,输入层与隐含层之间的权值为( ω11,ω12,…, ω1n, ω21, ω22,…, ω2n)。 隐含层与输出层之间的权值为(ω1k,ω2k,…,ωnk)。 一个粒子应该对应图3中NN网络模型中的所有权值,将所有权值编码为一个向量,则粒子为

式中i代表粒子数,i=1,2,…,M。

3—6月柑桔红蜘蛛为害脐橙的叶片后,使脐橙的叶子表面出斑点。柑桔红蜘蛛为害严重时,整片叶两面变成灰白色而失去光泽,使脐橙落叶而削弱脐橙的树势,严重影响脐橙产量。如不及时防治,甚至会造成整株死亡。

将NN网络的权值编码成为粒子后,根据式(2)和(3)就可以进行迭代寻优过程。因验证算法在输出对输入的跟随性,所以在粒子群算法迭代过程中,以系统输出与输入的差为训练准则。

PSO-NN算法优化流程:

1)设置最大迭代数,初始化粒子数、粒子位置(即权值)、速度;

2)以训练准则计算各个粒子适应值;

3)找出当前个体极值和全局极值;

4)计算更新粒子速度,更新权值;

5)判断是否达到最大迭代次数;

6)是则输出最优解,结束。否则返回步骤2)。

3.3 算法参数的设置

粒子群优化算法的参数不需要调节太多,但算法的收敛性和性能受几个参数影响较大。目前经验对于算法参数的设置还是很重要[7]。所以这里对本研究中的粒子群参数的设置进行说明。

1)粒子长度。

本文中神经网络的输入有输入r和反馈的输出y两路信号,网络输出为一路。因此,取神经网络为[2 5 1]结构,即输入节点2个,隐层节点5个,输出节点1个,故粒子长度为15。

2)粒子群的数目。

粒子群的粒子数目按经验一般取值[20,40]。本文的粒子群的数目选为20。

3)粒子范围。

粒子范围是由具体的优化问题决定的。鉴于神经网络的权值范围,本文中设置粒子范围为[-1,1]。

4)学习因子。

c1和c2表示粒子受个体和全局粒子的影响程度,本文中设置c1=c2=2[7]。

4 电液伺服系统的仿真实验

用BP神经网络和PSO-NN算法分别对其进行控制。首先,将式(4)离散化。采样时间取为0.01 s,在MATLAB下用“c2d”和“tfdata”命令把传递函数离散化[8],离散化后的结果为

用MATLAB编写PSO-NN控制算法[9]和BP控制算法来控制此液压系统,整个系统的输入采用采样时间0.01 s,采样次数为500,所以总的系统仿真时间为5 s,迭代次数均为200。当输入阶跃信号时,BP算法的输入输出如图4所示,当输入频率为0.5的正弦信号时,输入输出如图5所示。

有一电液伺服系统,其开环传递函数为

图4 BP算法阶跃输入输出曲线

图5 BP算法正弦输入输出曲线

当输入阶跃信号时PSO-NN算法的输入输出为图6时,其适应度曲线如图7所示;当输入频率为0.5的正弦信号时,输入输出如图8所示。

图6 PSO-NN算法阶跃输入输出曲线

图7 PSO-NN算法阶跃输入适应度曲线

图8 PSO-NN算法正弦输入输出曲线

图9 PSO-NN算法阶跃输入适应度曲线

当输入为阶跃信号时,取稳定值的5%作为允许误差。由图4得出BP算法的输出为1.5左右,最大超调达到50%,在第100次采样,即第1.0 s输出趋于稳定。调整时间为1.0 s。由图6得出PSO-BP算法的最大超调为20%,在第20次采样,即第0.2 s输出趋于稳定。调整时间为0.2 s。由图7知,仅需要40次迭代适应度曲线就趋于水平。

当输入为频率为0.5 Hz、幅值为1的正弦信号时,由图5得出BP算法能够跟随输入,但其有一定的相位滞后。由图8得出PSO-BP算法跟随输入的效果非常好。只是在开始的50次采样,即0.5 s前有少量的波动,但从图中也可看出这个波动比图5中BP算法的滞后小很多。由图9知,仅需要20次迭代适应度曲线就趋于水平。

5 结束语

由以上数据分析得出:在电液伺服系统的控制中,用PSO训练神经网络权值的算法比基于梯度下降的BP算法收敛速度快,且输出精度高。此方法应用于要求精度高、响应快的电液伺服系统比BP算法更合适。证明PSO-NN算法对于电液伺服系统的控制是合适和有效的。

[1]姚运涛,李著信,张涛.液压伺服系统优化设计方法[J].后勤工程学院学报,2001,17(1):92-95.

[2]ZHAO H,DANG K F,LIN T Q.A online-trained neural network controller for electro-hydraulic servo system[C]//Proceedings of the 4th World Congress on Intelligent Control and Automation.Shanghai,China,2002:2983-2986.

[3]KENNEDY J,EBERHART R.Particle swarm optimization[C]//Proceedings of IEEE International Conference on Neural Networks.Piscataway,USA,1995:1942-1948.

[4]GHOBAKHLOO A,EGHTESAD M.Neural network solution for the forward kinematics problem of a redundant hydraulic shoulder[C]//31th Annual Conference of IEEE Industrial Electronics Society.Raleigh,USA,2005:1999-2004.

[5]DAS M T,DULGER L C.Control of a four bar mechanism by applying particle swarm optimization[C]//13th National Machine Theory Symposium.Sivas,Turkey,2007:113-117.

[6]易方,李著信,马维平,等.一种基于神经网络的电液伺服系统智能控制方法[J].后勤工程学院学报,2008,24(3):60-61.

[7]袁驰.粒子群算法在PID神经网络优化中的应用[C]//International Conference on Circuit and Signal Processing.上海,中国,2010:582-584.

[8]吴卫平.基于神经网络的精校机液压位置伺服系统控制器的仿真与研究[D].合肥:合肥工业大学,2009:19-38.

[9]吴建生,秦发金.基于MATLAB的粒子群优化算法程序设计[J].柳州师专学报,2005,20(4):97-99.

Control algorithm based on particle swarm optimization neural network weights in hydraulic system

WANG Maolin,YE Xiaohong,WANG Hongguang,LI Shaoyuan,JIANG Guilin
College of Mechanical and Electrical Engineering,Harbin Engineering University,Harbin 150001,China

Considering the control nonlinearity and uncertainties and other defects of intelligent control electro-hy-draulic servo system,PSO-NN algorithm is proposed to use particle swarm optimization algorithm to train neural network weights.Combined with a specific instance of electro-hydraulic servo system,when the system input is step and sine signal,the output and fitness curves of PSO-NN algorithm are simulated by using MATLAB software.In order to demonstrate the result of PSO-BP algorithm,BP algorithm is simulated further.The simulation results show that PSO-NN algorithm is superior to the BP algorithm due to the better output convergence and input following per-formance of the electro-hydraulic servo system,and that PSO-NN algorithm is suitable and effective for electro-hy-draulic servo system control.

particle swarm optimization;BP neural network;PSO-NN algorithm;weights training;electro-hydrau-lic servo system

TP217.31

A

1009-671X(2014)03-0051-004

10.3969/j.issn.1009-671X.20130420

http://www.cnki.net/kcms/doi/10.3969/j.issn.1009-671X.20130420.html

2013-04-25.

日期:2014-03-27.

国家自然科学基金资助项目(51175099).

王茂林(1988-),男,硕士研究生.

王茂林,E-mail:wml070611@126.com.

猜你喜欢

伺服系统阶跃电液
基于ESO的电液位置伺服系统反步滑模控制
电液复合控制系统SEM工作原理及测试方法
挖掘机属具电液控制系统的研究开发
探讨单位阶跃信号的教学
LCSR法响应时间原位测量装置的设计与实现
基于模糊滑模控制的数控机床位置伺服系统
基于AEMSim的某重型AT电液调压阀仿真分析
基于自适应反步的DGMSCMG框架伺服系统控制方法
消除弹道跟踪数据中伺服系统的振颤干扰
晶体管驱动的阶跃二极管大幅度窄脉冲源