本发明属于控制系统仿真技术领域,具体是涉及一种舵机电液伺服系统智能控制方法。
背景技术:
舵机电液伺服系统是在实验室条件下对航空器舵机所受力载荷情况进行地面仿真的实验设备,其可以研究力载荷对舵机性能的影响,进而完成对舵机控制指标的检查和测试。因此目前该设备已被应用于航空器的设计与改型环节中,可为航空器制造提供良好的可控性和安全性。图1为目前一种已有舵机电液伺服系统结构示意图。如图1所示,其包括控制器1、电液伺服阀2、阀控液压缸3、弹簧缓冲装置4、力传感器6和位移传感器7;其中:控制器1与电液伺服阀2、力传感器6和位移传感器7相连接;电液伺服阀2依次通过阀控液压缸3和弹簧缓冲装置4与舵机5相连接;舵机5同时与力传感器6、位移传感器7相连接。该系统的工作原理是力传感器6和位移传感器7实时采集舵机5的系统误差信息,然后传送给控制器1,控制器1根据传来的系统误差信息与输出信息得出系统的加载力指令信号并将该指令信号传送给电液伺服阀2。电液伺服阀2将电信号转换为力学信号从而驱动阀控液压缸3运动进而产生加载力。加载力经过弹簧缓冲装置4后加载到舵机5上,舵机5根据加载力进行运动。在工作过程中,由于各组件的物理特性与舵机5的自身运动,系统会产生干扰自身工作的多余力。多余力会影响系统的控制性能及加载精度,而且会降低系统抗干扰的技术指标。
用于抑制多余力的传统pid控制器响应速度慢,稳定性能差,会导致系统的控制特性达不到要求。
技术实现要素:
为了解决上述问题,本发明的目的在于提供一种能够抑制舵机电液伺服系统的多余力,通过粒子群算法和径向基神经网络实时整定舵机电液伺服系统pid控制器,从而提高系统的加载精度、响应速度的舵机电液伺服系统智能控制方法。
为了达到上述目的,本发明提供的舵机电液伺服系统智能控制方法中的舵机电液伺服系统包括控制器、电液伺服阀、阀控液压缸、弹簧缓冲装置、力传感器和位移传感器;其中:控制器与电液伺服阀、力传感器和位移传感器相连接;电液伺服阀依次通过阀控液压缸和弹簧缓冲装置与舵机相连接;舵机同时与力传感器、位移传感器相连接;所述的舵机电液伺服系统智能控制方法包括按顺序进行的下列步骤:
1)由pid控制器、径向基神经网络和粒子群构成控制器;控制器通过径向基神经网络设定粒子群算法中粒子的参数;
2)控制器按照粒子群算法对上述设定的粒子的参数进行更新;首先计算粒子的适应度,再寻找个体与集体极值,最后更新每个粒子的速度与位置;
3)控制器接收力传感器和位移传感器传来的系统误差信息,然后输入到径向基神经网络中;同时粒子群将迭代后的粒子参数最优解输入到径向基神经网络的隐藏层神经元中;径向基神经网络对上述系统误差信息进行学习,并不断调整径向基神经网络中的权值。
在步骤1)中,所述的控制器通过径向基神经网络设定粒子群算法中粒子的参数的方法是:
控制器首先根据径向基神经网络的隐藏层神经元数量来确定粒子群算法中粒子的个数,并按照隐藏层神经元中心向量和高斯函数半径确定各个粒子在空间中的位置与速度;
径向基神经网络的隐藏层神经元采用高斯函数作为中心函数,即:
其中,x是传入隐藏层神经元的数据,b是隐藏层神经元中高斯函数半径,c是隐藏层神经元中心向量;
对于任意神经元hi,该节点的高斯函数为:
其中,xk是径向基神经网络的输入数据,b是隐藏层神经元中高斯函数半径,ci是隐藏层神经元中心向量;
径向基神经网络的隐藏层神经元数量为n,那么确定粒子群算法中粒子的个数为n;同时依据径向基神经网络的隐藏层神经元中心向量的维度与高斯函数半径,确定粒子群搜索空间;假设隐藏层神经元中心向量的维度为n-1维且半径为1维,则第i个粒子在空间的位置与速度为:
xi=(xi1,xi2,...,xin)(3)
vi=(vi1,vi2,...,vin)(4)
空间中每个粒子都具有一个被优化的目标函数决定的适应值、最优位置和当前位置。
在步骤2)中,所述的控制器按照粒子群算法对上述设定的粒子的参数进行更新;首先计算粒子的适应度,再寻找个体与集体极值,最后更新每个粒子的速度与位置的方法是:
在迭代过程中,首先计算每个粒子的适应度;粒子的适应度选取均方误差函数的倒数;适应度函数为:
其中,n是粒子群的维度,yk是径向基神经网络的理想输出,
然后通过跟踪个体的最优位置和全局位置更新粒子本身的速度和位置,每个粒子的速度和位置按照以下公式进行迭代:
其中,
在获得粒子的适应度并更新粒子的参数后,判断粒子群是否满足终止条件;如果满足终止条件,则将获得粒子参数最优解带入径向基神经网络进行运算;如果不满足,则重新更新粒子的参数,直至达到迭代次数或满足终止条件。
在步骤3)中,所述的控制器接收力传感器和位移传感器传来的系统误差信息,然后输入到径向基神经网络中;同时粒子群将迭代后的粒子参数最优解输入到径向基神经网络的隐藏层神经元中;径向基神经网络对上述系统误差信息进行学习,并不断调整径向基神经网络中的权值的方法是:
径向基神经网络每一次学习后将输出新的pid控制器参数并且更新隐藏层神经元的参数;pid控制器的常数系数kp、微分系数ki和积分系数kd可以通过径向基神经网络的学习进行动态实时调整;如果径向基神经网络达到了学习的误差要求,则径向基神经网络结束学习,否则控制器将径向基神经网络的隐藏层神经元参数输入到粒子群中再进行寻优求解;
径向基神经网络的隐藏层神经元函数为高斯函数;
在pid控制器采用增量式pid控制算法的情况下,系统控制误差为:
e(k)=x(k)-y(k)(8)
径向基神经网络的三项输入为:
x1(k)=e(k)-e(k-1)
x2(k)=e(k)(9)
x3(k)=e(k)-2e(k-1)+e(k-2)
其中,e(k)是力传感器6和位移传感器7传来的系统误差信号;
径向基神经网络的输出为u(k);径向基神经网络的输入与输出之间存在以下关系:
δu(k)=u(k)-u(k-1)=kpx1(k)+kix2(k)+kdx3(k)(10)
径向基神经网络进行学习时,对一个动态特性未知的环境进行强迫学习,只要实际输出和理想输出之间存在误差,学习过程就会持续进行并不断调整径向基神经网络中的权值。
本发明提供的舵机电液伺服系统智能控制方法具有如下有益效果:通过融合粒子群算法的径向基神经网络实时整定pid控制器,增强舵机电液伺服系统的响应速度、稳定性、抗干扰能力与多余力抑制效果,进而实现舵机电液伺服系统更快更准确的加载。
附图说明
图1为一种目前常用的舵机电液伺服系统结构示意图。
图2为本发明提供的舵机电液伺服系统智能控制方法中所采用算法流程图。
图3为采用本发明提供的舵机电液伺服系统智能控制方法的控制器结构示意图。
图4为采用本发明方法的控制器与常规控制器消除多余力的效果对比实验曲线。其中(a)是频率10hz下的系统加载精度实验结果;(b)是频率10hz下的系统多余力抑制效果实验结果。
具体实施方式
下面结合附图说明和具体实施例对本发明提供的舵机电液伺服系统智能控制方法进行详细说明。
本发明提供的舵机电液伺服系统智能控制方法包括按顺序进行的下列步骤:
1)由pid控制器、径向基神经网络和粒子群构成控制器1;控制器1通过径向基神经网络设定粒子群算法中粒子的参数;
如图2所示,控制器1首先根据径向基神经网络的隐藏层神经元数量来确定粒子群算法中粒子的个数,并按照隐藏层神经元中心向量和高斯函数半径确定各个粒子在空间中的位置与速度。
径向基神经网络的隐藏层神经元采用高斯函数作为中心函数,即:
其中,x是传入隐藏层神经元的数据,b是隐藏层神经元中高斯函数半径,c是隐藏层神经元中心向量。
对于任意神经元hi,该节点的高斯函数为:
其中,xk是径向基神经网络的输入数据,b是隐藏层神经元中高斯函数半径,ci是隐藏层神经元中心向量。
径向基神经网络的隐藏层神经元数量为n,那么确定粒子群算法中粒子的个数为n。同时依据径向基神经网络的隐藏层神经元中心向量的维度与高斯函数半径,确定粒子群搜索空间。假设隐藏层神经元中心向量的维度为n-1维且半径为1维,则第i个粒子在空间的位置与速度为:
xi=(xi1,xi2,...,xin)(3)
vi=(vi1,vi2,...,vin)(4)
空间中每个粒子都具有一个被优化的目标函数决定的适应值、最优位置和当前位置。
2)控制器1按照粒子群算法对上述设定的粒子的参数进行更新;首先计算粒子的适应度,再寻找个体与集体极值,最后更新每个粒子的速度与位置;
在迭代过程中,首先计算每个粒子的适应度。粒子的适应度选取均方误差函数的倒数,这是因为径向基神经网络在训练控制器的过程中需要使训练数据的均方误差最小。适应度函数为:
其中,n是粒子群的维度,yk是径向基神经网络的理想输出,
然后通过跟踪个体的最优位置和全局位置更新粒子本身的速度和位置,每个粒子的速度和位置按照以下公式进行迭代:
其中,
在获得粒子的适应度并更新粒子的参数后,判断粒子群是否满足终止条件;如果满足终止条件,则将获得粒子参数最优解带入径向基神经网络进行运算;如果不满足,则重新更新粒子的参数,直至达到迭代次数或满足终止条件。
3)控制器1接收力传感器6和位移传感器7传来的系统误差信息,然后输入到径向基神经网络中;同时粒子群将迭代后的粒子参数最优解输入到径向基神经网络的隐藏层神经元中;径向基神经网络对上述系统误差信息进行学习,并不断调整径向基神经网络中的权值。
如图3所示,径向基神经网络每一次学习后将输出新的pid控制器参数并且更新隐藏层神经元的参数。pid控制器的常数系数kp、微分系数ki和积分系数kd可以通过径向基神经网络的学习进行动态实时调整。如果径向基神经网络达到了学习的误差要求,则径向基神经网络结束学习,否则控制器1将径向基神经网络的隐藏层神经元参数输入到粒子群中再进行寻优求解。
径向基神经网络由三层网络构成:输入层、隐藏层和输出层。输入信号进入径向基神经网络后,通过输入层的传递作用到达隐藏层;之后采用激活函数作为径向基函数对输入信号进行非线性变换并传递给输出层;最后输出层对来自隐含层的信号进行线性组合。径向基神经网络的隐藏层神经元函数为高斯函数。
在pid控制器采用增量式pid控制算法的情况下,系统控制误差为:
e(k)=x(k)-y(k)(8)
径向基神经网络的三项输入为:
x1(k)=e(k)-e(k-1)
x2(k)=e(k)(9)
x3(k)=e(k)-2e(k-1)+e(k-2)
其中,e(k)是力传感器6和位移传感器7传来的系统误差信号。
径向基神经网络的输出为u(k)。神经网络的输入与输出之间存在以下关系:
δu(k)=u(k)-u(k-1)=kpx1(k)+kix2(k)+kdx3(k)(10)
pid控制器的常数系数kp、微分系数ki和积分系数kd这三个系数的变化会直接影响到受控系统的系统性能。因此优化系统控制性能需要径向基神经网络不断的学习。径向基神经网络进行学习时,对一个动态特性未知的环境进行强迫学习,只要实际输出和理想输出之间存在误差,学习过程就会持续进行并不断调整径向基神经网络中的权值。
根据飞机舵机的实际工作状况,设定舵机5工作信号为输出幅值是5mm,频率为10hz的正弦信号。在加载梯度是2t/mm时,系统加载响应曲线如图4a所示,多余力抑制实验结果如图4b所示。图4a中曲线1、曲线2和曲线3分别是系统指令力,采用径向基神经网络的控制器与采用本发明智能方法的控制器的输出力。由图中曲线可以看出,当输入指令为10hz时,采用径向基神经网络的控制器与采用本发明智能方法的控制器的输出力精度分别为98.8%和99.4%。最低加载精度要求误差不大于10%,两种控制器的加载精度大于98%,符合设计要求。相较于采用径向基神经网络的控制器,采用本发明智能方法的控制器具有更好的加载效果。因此,粒子群算法优化的采用径向基神经网络的控制器具有更高的加载精度。曲线4是采用径向基神经网络的控制器控制下的多余力,曲线5是采用本发明智能方法的控制器控制下的多余力。由图中曲线可以看出,舵机刚启动时多余力干扰最为严重。在启动时,多余力最大值可以达到2.38t。在粒子群算法优化的采用径向基神经网络的控制器作用下,在初始阶段,多余力最大值为0.75t,抑制效果明显。在经过初始阶段后,两种控制器均可以使系统保持动态稳定,但在采用本发明智能方法的控制器的作用下,系统多余力为0.23t,远低于未经粒子群算法优化的控制器。因此,在舵机5正常运转的频率下,本发明采用本发明智能方法的控制器对多余力的抑制效果明显优于采用径向基神经网络的控制器。