本发明涉及一种永磁直线同步电机控制领域,具体涉及一种基于果蝇-蛙跳混合算法优化模糊神经网络PID的永磁直线同步电机速度控制方法。
背景技术:
相对于旋转电机而言,由永磁直线同步电机(简称PMLSM)组成的直线伺服系统,因为省略了从旋转电机至工作台之间的所有机械传动环节,能够直接将电能转化为直线运动机械能,并不需要任何中间转换机构,具有结构简单、高速度、高精度、高耐久性、直接驱动等优点,已在机器人、高精度数控机床、半导体制造等工业控制领域得到广泛应用。
目前,在永磁直线同步电机直接驱动系统中,直线同步电机和工作台之间因为缺少任何中间的缓冲机构和环节,使得系统参数变化、负载干扰、推力波动、摩擦力等不确定因素直接作用并影响永磁直线同步电机,加大了直线同步电机系统控制难度;再加之直线电机系统属于多变量、参数时变、强耦合性的非线性系统,从而大大影响了直线同步电机控制系统的控制性能。为此,需要采取有效的控制方案,尤其对永磁直线同步电机控制系统的控制器进行重新设计,以削弱甚至消除系统参数摄动、外界扰动等因素对系统控制性能的影响。
以往永磁直线同步电机调速系统中的速度控制器采用传统PID控制方法,尽管PID算法简单,且有一定的控制精度,但仍为线性控制,远不能满足直线同步电机非线性系统高精度、快响应要求。于是很多学者提出人工智能以及与PID控制相结合的技术方案,设计了模糊PID控制器、模糊神经网络控制器、模糊神经网络PID控制器等,相关研究文献有:
[1]胡江.永磁同步直线电机智能化PID速度控制研究[J].信息技术,2015(8):96-99;
[2]乔维德.遗传算法优化的开关磁阻电动机RFNN位置控制器设计[J].微特电机,2016(2):75-77;
[3]党明辉,郭亮,基于模糊神经网络PID的永磁同步直线电机控制算法研究[J].浙江理工大学学报(自然科学版),2016(1):52-57;
[4]许道金,杨庆东,衣杰.永磁同步直线电机模糊PID控制及仿真[J].机械工程与自动化,2014(1):161-163;
[5]何良辰,刘杨.遗传算法优化神经网络的直线电机定位力辨识[J].自动化与仪表,2016(2):1-3;
[6]鲁尚,黄宴委,陈迪,李竣.基于模糊推理的免疫PID控制方法的直线电机速度控制[J].福州大学学报(自然科学版),2014(6):418-422;
[7]谢潜伟,刘军.永磁同步直线电机的变论域模糊PID控制[J].微电机,2013(12):75-77;
[8]孙华,张涛.永磁同步直线电机的模糊PID控制及仿真试验[J].机床与液压,2011(5):108-110;
[9]乔维德.基于免疫遗传模糊神经网络的永磁同步电机控制[J].电气传动,2008(5):18-21;
[10]王彦,邓勇,王超.基于改进粒子群算法的模糊神经网络PID控制器设计[J].控制工程,2012(5):761-764;
[11]乔维德.基于粒子群模糊神经网络的继电保护系统故障诊断[J].江苏电器,2008(3):37-39;
从已有研究文献分析,用于优化模糊神经网络PID控制器的学习算法主要采取BP算法、遗传算法、粒子群优化算法等,这些算法在学习训练中存在学习过程长、易于早熟、容易陷入局部最优、鲁棒性差等问题,学习速度、学习精度以及寻优效率不高,从而直接影响永磁直线同步电机模糊神经网络PID控制器的控制性能。
技术实现要素:
为克服上述学习算法存在的问题与不足,提高永磁直线同步电机控制系统的速度响应及控制精度,增强控制系统的鲁棒性和抗扰动能力,以便更加精准地实现永磁直线同步电机的速度控制,本发明提出一种基于果蝇-蛙跳混合算法优化模糊神经网络PID的永磁直线同步电机速度控制方法。鉴于现有模糊神经网络结构参数寻优过程及其寻优结果的弊端,首次将果蝇优化算法和蛙跳算法相融合生成一种新型的果蝇-蛙跳混合算法,优化模糊神经网络结构参数,输出PID最优参数,从而更好满足永磁直线同步电机伺服控制系统的性能要求。本发明的技术方案为:
一种基于果蝇-蛙跳混合算法优化模糊神经网络PID的永磁直线同步电机速度控制方法,控制系统由速度外环和电流内环组成。其中,电流环含有id=0控制器和iq控制器,电流环设计为传统的PID调节器,电流环的输入取决于速度环的控制输出。速度环设计为模糊神经网络PID控制器。所述的模糊神经网络PID速度控制器的控制性能好坏直接影响电流环及永磁直线同步电机系统的整体控制性能,利用果蝇-蛙跳算法在线优化模糊神经网络,通过学习训练的模糊神经网络输出PID控制器的最佳控制参数kp、ki、kd,极大提升系统的控制性能。
模糊神经网络PID速度控制器设计由PID控制器、模糊神经网络、果蝇-蛙跳算法优化等部分组成,模糊神经网络结构中隶属度高斯函数均值mij及标准值δij、连接权值ωjk和ωko等可调参数对速度控制器的控制性能有着重要影响。本发明充分利用果蝇优化算法全局搜索能力强、收敛速度快,以及蛙跳算法局部深度搜寻能力强的优势,首次将果蝇算法和蛙跳算法进行有机融合,形成果蝇-蛙跳算法来优化模糊神经网络结构参数。所述的果蝇-蛙跳算法主要优化过程为:
step1:参数初始化
初始化果蝇群体规模groupsize,果蝇算法最大迭代次数maxmum,蛙跳算法最大迭代次数maxnum1,随机设定果蝇群体初始位置即X0、Y0,等等
step2:种群初始化
随机设置果蝇个体利用嗅觉搜索食物目标的方向及距离,随机数rand设为果蝇优化迭代步进值,即:
step3:计算果蝇个体味道浓度
因为不能确定食物的具体位置,所以首先估算果蝇与原点之间的距离di,然后测算果蝇个体的味道浓度判定值Gi:接着将味道浓度判定值Gi代入味道浓度判别函数Function(也称为适应度函数),计算果蝇个体位置的味道浓度tastei:
tastei=Function(Gi)
step4:寻找且保留全局最大味道浓度的果蝇个体
[besttaste bestindex]=max(tastei)
从群体中寻找味道浓度最佳果蝇个体,记录且保留最高味道浓度值besttaste及其对应X、Y坐标轴值,同时果蝇凭借敏锐的视觉飞向该坐标值位置,形成新的果蝇群聚位置。
step5:果蝇迭代寻优。及时判断当前果蝇最佳味道浓度是否优于前次迭代味道浓度,若不是,则转至step2重复执行。如果当前味道浓度优于以往迭代的味道浓度,或者迭代次数已满足最大迭代次数maxnum,则果蝇算法结束,转入step6执行。
step6:将组成的新果蝇群中各个体看作青蛙个体,并按适度度从高到低排列。
step7:按蛙跳思想将蛙群划分成m个子群,每个子群均有k只青蛙。
step8:记录保留每个子群内适应度最佳个体Xb和最差青蛙个体Xw,并按下式更新计算每个子群中适应度最差青蛙个体。
Dj=R(Xb-Xw)
Xw(new)=Xw+Dj,||Dj||≤Dmax
公式中,R表示[0,1]区间上的随机数,Dj表示在第j维上移动距离,Dmax代表青蛙位置一次更新改变的最大值。如果Xw(new)的适应值比原来Xw适应值差,则用整个蛙群最优个体Xg替换式中Xb;如果得到的Xw(new)适应值依然没有变好,则随机产生-新解(青蛙)替换原来的解Xw(即最差青蛙)。
step9:如果达到蛙跳算法设定的迭代次数maxnum1,则更新输出全局适应值最好的青蛙个体Xg;否则转入step8,重新更新每个子群中适应值最差的青蛙个体。
step10:输出的全局最优青蛙个体Xg便作为模糊神经网络的最优结构参数。
本发明的有益效果归纳如下:
(1)本发明针对永磁直线同步电机伺服系统中的非线性、不确定性,且在电机运行中极易受负载扰动影响等问题,提出一种模糊神经网络PID速度控制器,同时将果蝇优化算法和蛙跳算法这两种群体智能算法融合形成果蝇-蛙跳算法,以果蝇-蛙跳算法在线优化模糊神经网络隶属度高斯函数均值mij及标准值δij、隶属函数层与规则层之间的连接权值ωjk、规则层与输出层之间的连接权值ωko等。果蝇-蛙跳算法能发挥果蝇算法和蛙跳算法各自优势,并弥补其不足,不仅保持果蝇算法较强的全局搜索寻优和较快收敛速度性能,而且又具备蛙跳算法较好的局部深度搜索能力,该算法在应用中显示出很好的参数寻优能力。
(2)与传统PID及现有的BP模糊神经网络PID、GA模糊神经网络PID等控制器相比,采取果蝇-蛙跳算法优化的模糊神经网络PID控制器,能输出PID控制器最优参数kp、ki、kd,进一步提高永磁直线同步电机控制系统的动、静态性能,系统的鲁棒性强。
附图说明
图1为永磁直线同步电机控制系统结构原理图。
图2为模糊神经网络结构示意图。
图3为果蝇-蛙跳混合算法优化流程图。
图4为不同控制器作用条件下永磁直线同步电机系统仿真响应曲线。
图5为实验验证原理示意图。
图6为突加负载时的试验电机速度响应曲线。
图7为转速下降时的试验电机速度响应曲线。
具体实施方式
以下结合附图和实施例对本发明做进一步详细阐释。
本发明实施例描述了一种基于果蝇-蛙跳混合算法优化模糊神经网络PID的永磁直线同步电机控制系统,控制系统基本结构如图1所示。它包括速度外环控制和电流内环控制。其中,电流环含有id=0控制器和iq控制器,电流环设计为传统的PID调节器,电流环的输入取决于速度环的控制输出。永磁直线同步电机的参考给定速度vr与实际速度值v比较后差值送入速度控制器,由速度控制器输出q轴参考电流iq*,并得到d轴和q轴电压值,通过坐标变换求取α轴和β轴的参考电压,再利用空间矢量脉宽调制PWM技术产生电压源型逆变器的驱动信号,以有效控制永磁直线同步电机。本系统中,速度控制器的控制性能好坏将直接影响电流环及永磁直线同步电机系统的整体控制性能,为此速度控制器设计为模糊神经网络PID控制器,并利用果蝇-蛙跳算法在线优化模糊神经网络的结构参数,通过学习训练好的模糊神经网络输出PID控制器的最佳控制参数kp、kl、kd,从而极大提升系统的控制性能。
下面从永磁直线同步电机数学模型、模糊神经网络结构、果蝇-蛙跳算法优化流程、模糊神经网络的训练、系统仿真分析以及实验验证等六个方面对本发明做深入介绍。
(1)永磁直线同步电机的数学模型
永磁直线同步电机应用矢量控制策略,采用坐标变换方法,建立d-q坐标轴模型下的数学模型。
永磁直线同步电机的电压和磁链方程表达式为:
永磁直线同步电机的的电磁推力表达式为:
永磁直线同步电机的的机械运动方程表示为
以上式中,ud、uq表示d、q轴的电压,id、iq表示d、q轴的电流;Ld、Lq为d轴、q轴电感;ψd、ψq表示d、q轴的绕组磁链;ψf表示电机定子永磁体磁链;RS为电机绕组线圈电阻;τ为电机极距;Fe表示直线电机的电磁推力;FL表示直线电机的负载阻力;B表示粘滞摩擦系数;v表示直线电机的机械运动速度;M表示直线电机的质量。
从上述数学模型可以明显看出,永磁直线同步电机具有参数时变性、非线性、强耦合性、受负载扰动影响大等特点和问题,如果仍采用传统的线性控制方法如PID控制,则会极大影响对永磁直线同步电机系统的控制效果。为提高系统速度控制的准确度、快速性以及抗扰动能力,本发明采用速度、电流双闭环控制,电流环采取PID控制,速度环设计成模糊神经网络PID控制器。
(2)模糊神经网络PID控制器
基于模糊神经网络PID控制器的永磁直线同步电机控制系统,将电机的速度差值e及其差值变化率ec=de/dt作为模糊神经网络的输入量,模糊神经网络输出PID控制器运算所需的最优参数kp、kl、kd,PID控制器采用增量式PID运算,其输出u(k)算式为:
u(k)=u(k-1)+Δu(k)=kp[e(k)-e(k-1)]+kle(k)+kd[e(k)-2e(k-1)+e(k-2) (4)
模糊神经网络(简称FNN)结构如图2所示。网络由输入层(i层)、隶属函数层(j层)、规则层(k层)、输出层(O层)组成。
第一层为输入层。该层有2个神经元,通过作用函数fl(1)直接将转速误差e及其变化率ec传递到下一层,第一层输出为:
第二层为隶属函数层或模糊化层。该层主要用来计算各输入量的隶属度值,对其进行模糊化处理。每个输入量都各自用模糊子集{ND、NM、NX、ZE、PX、PM、PD}来表示,其中,ND、PD分别代表为负大、正大,NM、PM分别代表负中、正中,NX、PX分别代表负小、正小,ZE为零。该层的输出为各节点输入变量对应模糊子集的隶属度函数,这里采取高斯型函数作为隶属度函数。该层共有14个节点,第j个节点的输出与输入的关系为:
式中,mij和δij分别表示xl(2)的隶属度高斯函数的均值和标准差。
第三层为模糊规则层。该层通过与上一层隶属函数层的连接,实现模糊规则的合理匹配及其神经元各节点之间的模糊推理运算。根据永磁直线同步电机控制系统特点及其对速度控制要求,PID控制器的参数kp与输入量e、ec之间的模糊规则如表1所示。
表2为PID控制器的参数ki与输入量e、ec之间的模糊规则。
表3为PID控制器的参数kd与输入量e、ec之间的模糊规则。
模糊规则层中每个节点神经元均对应1条模糊逻辑运算规则。以表1为例,可以生成kp的模糊推理规则49条,所以kp、ki、kd共有对应模糊规则147条,即模糊规则层共含有147个神经元。该层输出可表示为:
其中,是规则层中的第j个输入量;ωjk为隶属函数与规则层之间的连接权值。
第四层为输出层。共有3个节点,输出量为规则层输出信号经处理后的总和。
式中,是抵达第4层的第k个输入量,ωko是第3层与第4层间的连接权值,的3个输出量分别对应PID控制器的比例、积分、微分常数kp、ki及kd值。
在以上模糊神经网络结构模型中,第2层的14个节点中高斯基函数的均值mij和标准差δij以及第3、4层间的连接权值ωko均需要调整和优化。
(3)果蝇-蛙跳算法优化流程
果蝇-蛙跳算法优化步骤为:
step1:参数初始化
初始化果蝇群体规模groupsize,果蝇算法最大迭代次数maxnum,蛙跳算法最大迭代次数maxnum1,随机设定果蝇群体初始位置即X0、Y0,等等。
step2:初始化果蝇群体位置
随机设置果蝇个体利用嗅觉搜索食物目标的方向及距离,随机数rand设为果蝇优化迭代步进值,即:
step3:计算果蝇个体味道浓度
因为不能确定食物的具体位置,所以首先估算果蝇与原点之间的距离hi,然后测算果蝇个体的味道浓度判定值Gi:接着将味道浓度判定值Gi代入味道浓度判别函数Function(也称为适应度函数),计算果蝇个体位置的味道浓度tastei;
tastei=Function(Gi) (13)
step4:寻找且保留全局最大味道浓度的果蝇个体
[besttaste bestindex]=max(tastei) (14)
从群体中寻找味道浓度最佳果蝇个体,记录且保留最高味道浓度值besttaste及其对应X、Y坐标轴值,同时果蝇凭借敏锐的视觉飞向该坐标值位置,形成新的果蝇群聚位置。
step5:果蝇迭代寻优。及时判断当前果蝇最佳味道浓度是否优于前次迭代味道浓度,若不是,则转至step2重复执行。如果当前味道浓度优于以往迭代的味道浓度,或者迭代次数已满足最大迭代次数maxnum,则果蝇算法结束,转入step6执行。
step6:将组成的新果蝇群中各个体看作青蛙个体,并按适度度从高到低排列。
step7:按蛙跳思想将蛙群划分成m个子群,每个子群均有k只青蛙。
step8:记录保留每个子群内适应度最佳个体Xb和最差青蛙个体Xw,并按下式更新计算每个子群中适应度最差青蛙个体。
Dl=R(Xb-Xw) (16)
Xw(new)=Xw+Dl,||Dl||≤Dmax (17)
公式中,R表示[0,1]区间上的随机数,Dj表示在第j维上移动距离,Dmax代表青蛙位置一次更新改变的最大值。如果Xw(new)的适应值比原来Xw适应值差,则用整个蛙群最优个体Xg替换式中Xb;如果得到的Xw(new)适应值依然没有变好,则随机产生一新解(青蛙)替换原来的解Xw(即最差青蛙)。
step9:如果达到蛙跳算法设定的迭代次数maxnum1,则更新输出全局适应值最好的青蛙个体Xg;否则转入step8,重新更新每个子群中适应值最差的青蛙个体。
step10:输出的全局最优青蛙个体Xg便作为模糊神经网络的最优结构参数。
(4)模糊神经网络的训练
将模糊神经网络结构参数mij、δij、ωjk、ωko置于一多维向量,每一个参数均看作果蝇-蛙跳算法中的果蝇个体。初始化种群时随机产生N只果蝇,每只果蝇构成一个模糊神经网络,通过输入样本对这些模糊神经网络进行训练。每个模糊神经网络网络在训练样本集中的均方误差(即目标函数)为:
上式中,n为样本个数,Yo,p为训练样本p在第o个输出节点的实际输出;Qo,p为对应的期望输出。设定Fitness=1/(MSE+1)作为测算果蝇-蛙跳算法的适应度函数,用来对每个果蝇个体进行适应度评价,直至搜寻到果蝇群体中的最佳个体。当MSE小于给定误差或者果蝇-蛙跳算法的进化迭代次数超过最大进化迭代次数时,则果蝇-蛙跳算法训练模糊神经网络过程结束。
(5)系统仿真分析
采用软件工具Matlab/Simulink搭建永磁直线同步电机控制系统的仿真模型。仿真用永磁直线同步电机参数设置如下:绕组电枢电阻RS=3.25Ω,电感Ld=Lq=32.75mH,动子质量M=5.5kg,极距τ=36mm,粘滞摩擦系数B=6N·s/m,定子磁链Ψf=0.28wb,FL=200N。果蝇-蛙跳混合算法参数选取为:果蝇种群规模groupsize=200,最大混合迭代次数maxnum=500,果蝇优化迭代步进值rand在[-1,1]内取值;蛙跳算法的最大内迭代次数maxnum1-15,族群(子群)数m=20,每个族群(子群)内的个体个数k=10,随机初始化果蝇群体位置(X_axis,Y axis)为待优化模糊神经网络结构参数的搜索空间。在永磁直线同步电机电流、速度双闭环控制系统中,电流内环仍使用传统PID控制器,而速度外环由本发明设计的模糊神经网络PID控制器作为速度控制器。
为了进行对比实验研究,先后采取传统PID控制器、BP算法优化的模糊神经网络PID控制器(即BP-FNNPID)、遗传算法优化的模糊神经网络PID控制器(即GA-FNNPID)、经果蝇-蛙跳算法优化的模糊神经网络PID控制器(即FOA-FLA-FNNPID)分别取代永磁直线同步电机控制系统中的速度控制器,图4为不同控制器作用下永磁直线同步电机系统仿真输出响应比较曲线,其中设定的给定速度为vr=5mm/s的阶跃信号,曲线①、②、③、④分别表示传统PID、BP-FNNPID、GA-FNNPID、FOA-FLA-FNNPID等不同速度控制器条件下的响应曲线。
由图4比较分析,经果蝇-蛙跳算法优化的模糊神经网络PID控制器用于速度控制器时,直线同步电机控制系统的稳态误差最小,系统调整时间最短,无超调,系统跟踪响应速度也最快。当系统在t=0.21s时突减50N负载时,FOA-FLA优化的模糊神经网络PID控制器系统受到外界负载变化扰动的影响最小,系统的鲁棒性能最强。表4为阶跃速度信号下各控制器的具体性能指标比较情况。
(6)实验验证
为了进一步验证果蝇-蛙跳算法优化模糊神经网络PID控制器的控制性能及其控制效果,建立永磁直线同步电机控制实验平台,实验样机参数与仿真参数相同。实验原理示意图如图5所示。
实验控制芯片使用DSP芯片TMS320F2812,DSP完成永磁直线同步电机控制系统的数据采集、信号处理与控制等功能。系统控制的外围电路包括功率驱动器、逆变器电路、电流采样检测电路、示波器、PC机、CAN通信电路等。给定永磁直线同步电机速度为6mm/s阶跃信号,且在t=0.17秒时突加10N·m负载,采取本发明设计的果蝇-蛙跳算法优化模糊神经网络PID速度控制器时的速度响应曲线如图6所示。
从图6中可以明显观察出系统调整时间较短,超调量非常小,几乎为零,并且t=0.17秒时因负载干扰而引起的速度变化量仅为-0.04mm/s,表明负载扰动对直线电机转速影响很小,实验取得了与上面仿真相类似的结果。
图7为在0.15秒处直线电机转速由6mm/s降至3mm/s时的试验结果波形,转速发生较大变化时过渡曲线平稳。通过实验进一步验证表明,经过果蝇-蛙跳算法优化的模糊神经网络PID控制能使永磁直线同步电机控制系统的响应速度加快、稳态精度提高、抗扰动能力以及鲁棒性能增强,控制系统具有较强的动、静态性能。
以上内容所述,仅是本发明的较佳实施例,并没有对本发明进行任何形式上的限制,凡依本发明申请专利范围内所做的任何简单修改、等同变化,都应在本发明的涵盖范畴。