APP下载

基于差分进化算法的超声波电机Hammerstein非线性建模

2019-06-26黄文文宋璐史敬灼

微电机 2019年5期
关键词:阶次阶跃差分

黄文文,宋璐,史敬灼

(河南科技大学 电气工程学院,河南 洛阳 471023)

0 引 言

适当形式的超声波电机模型,是电机系统分析与设计的重要基础,也是超声波电机运动控制策略设计的必要前提。近年来,为提高超声波电机应用系统的控制性能,针对超声波电机运动控制领域的需求,基于电机系统实验数据的辨识建模方法日益受到重视。

考虑到超声波电机本体固有的非线性特征,采用适当形式的非线性辨识模型,有可能更好地表述超声波电机的运行特征。文献[1-6]将非线性Hammerstein模型形式引入超声波电机建模领域,分别建立了用于转速控制的超声波电机Hammerstein模型。N. Bigdeli[1]和X. L. Zhang[2]采用Hammerstein模型来描述超声波电机驱动电压幅值与转速之间的非线性特征。N. Bigdeli对超声波电机的稳态机械特性数据进行多项式拟合,得到模型中的静态非线性环节。由于所用机械特性数据并不能完整表达电机的非线性特征,文献[1]给出的仿真结果表明所建模型精度不高。与文献[1]类似,文献[3]给出的Hammerstein模型以电机运行的稳态数据为主要的建模依据,有较大局限性,没有合理表征电机的动态过程。文献[4]分别采用径向基函数神经网络、BP神经网络来拟合Hammerstein模型的非线性部分,导致模型复杂化。对于Hammerstein模型中的动态线性环节,文献[1-4]都未经任何建模过程,直接将其设定为一阶惯性环节,这显然不足以表述超声波电机的动态特性。例如,一阶惯性环节的阶跃响应不存在超调;但实际上,超声波电机的阶跃响应过程可能出现明显的超调[7]。同时,文献[1-4]都将模型的线性部分、非线性部分割裂开来,各自独立地建模,导致整体模型误差较大。文献[5-6]采用不同的优化算法,通过模型线性及非线性环节的整体寻优,分别建立了用于转速、位置控制的超声波电机Hammerstein模型。文献[1-3,5-6]所建模型的静态非线性环节均采用传统Hammerstein模型的多项式形式;受限于多项式的项数及具体建模方法,可能影响所建模型与超声波电机非线性特征的匹配程度。文献[1-6]所做工作表明,Hammerstein非线性模型适合于超声波电机系统建模,但具体的模型形式及建模方法,仍需深入研究。

本文以电机驱动电压的频率为输入变量、转速为输出变量,基于实测阶跃响应数据,采用差分进化算法建立超声波电机Hammerstein非线性模型。模型非线性静态环节采用Gauss函数,与超声波电机非线性特征更好匹配。模型计算数据与实测响应数据的对比表明,建模方法有效,模型精度较高。

1 非线性Hammerstein模型

Hammerstein模型是用来描述非线性系统的一种数学模型,由一个非线性静态环节fnl和一个线性动态环节G(z-1)串联构成,单输入单输出Hammerstein模型的基本结构如图1所示。本文所建超声波电机Hammerstein模型的输入变量u(k)为电机驱动电压的频率,输出变量y(k)为电机转速,图中x(k)为中间变量。

图1 超声波电机Hammerstein模型结构框图

Hammerstein模型的非线性静态环节通常用多项式形式来描述

x(k)=fnl(u(k))=r0+r1u(k)+…+riui(k)…+rpup(k)

(1)

式中,i=0,1,2,…,p。p为多项式的阶次,由实际系统特性决定;u(k)和x(k)分别为非线性环节的输入和输出变量。

Hammerstein模型的线性动态环节可用差分传递函数的形式来描述:

(2)

A(z-1)=1+a1z-1+…+anaz-na

(3)

B(z-1)=b0+b1z-1+…+bnbz-nb

(4)

式中,d为系统延迟时间系数,对于超声波电机,d取1;a1,a2,…,ana、b0,b1,…,bnb为模型的待定系数,由辨识确定;na和nb分别为线性传递函数中A(z-1)和B(z-1)的阶次,取决于实际系统特性。

2 差分进化算法

辨识建模的过程,是以能够表征超声波电机运行特性的实验数据为基础,针对结构形式已知、参数未知的待辨识模型,采用适当的优化算法,通过优化计算获得一组最优的模型参数,使得模型的输入输出关系与实验数据最为接近。其中,优化算法是辨识建模的核心。优化计算是否准确、有效,直接决定了建模效果。传统的辨识方法,大多使用最小二乘类优化算法,便于在线递推使用,算法稳定性好,但快速解决复杂优化问题的能力较差。因而,在使用已知的批量数据并且离线进行的辨识建模过程中,可以考虑采用性能更好的现代优化算法。

图2 差分进化算法程序流程图

差分进化算法是一种可以更好解决复杂模型辨识问题的优化算法。差分进化算法利用种群中的个体差异,引入随机因素,通过个体间的合作与竞争,找出使适应度函数取最小值的最优解。图2给出了差分进化算法的流程图。

差分进化算法的计算过程,如图2所示,主要包括变异、交叉和选择3种操作。在进行这些操作前,首先需要进行种群初始化。设种群包含Np个个体,可以在设定的可行解空间内随机产生Np个D维向量来构成初始种群[8]。这里,D为待辨识的模型参数个数。种群规模Np较大时,种群多样性较强,有利于保持较大的搜索范围,但会降低算法的收敛速度。一般,可取Np为待辨识参数个数的5~10倍。

变异操作利用种群父代个体之间的差异产生差分矢量,并采用缩放因子对差分矢量进行加权,随后与另一不同的父代个体相加,得到一个变异的子代个体。变异因子F,决定了差分矢量对另一父代个体的扰动程度。F较大时,随机扰动量较大,搜索范围较大,收敛速度减慢[9]。一般,F在0.5~1之间取值。

交叉操作将变异前后的两个个体Xi,G和Vi,G+1根据一定概率进行交叉重组,得到新个体Ui,G+1。为了保证进化,新个体中至少应包含变异个体Vi,G+1的一维分量信息。交叉概率因子CR较大时,在新个体中,来自变异个体的分量较多,个体进化程度较高,算法收敛速度较快,但易陷入局部搜索;反之,CR较小时,个体进化程度较低,有利于全局搜索。一般,CR在0~1之间取值。

选择操作基于优胜劣汰的原则,比较新个体Ui,G+1和原个体Xi,G的适应度函数值。适应度函数值较小的个体将会被保存下来,进入下一次迭代,而适应度函数值较大的个体会被淘汰。

采用差分进化算法进行超声波电机Hammerstein模型参数辨识,用适应度函数值来衡量模型计算结果与实测数据间的误差大小。通过优化计算,得到一组使适应度函数取最小值的模型参数,就完成了建模过程。本文采用如下均方误差表达式作为适应度函数

(5)

式中,m为建模数据的组数;h为每组建模数据的数据点数;y为模型计算值;ye为实测值。

3 基于差分进化算法的超声波电机Hammerstein非线性建模

3.1 实验设计和实验数据筛选

用来反映超声波电机运行特性的实验数据,是辨识建模的基础。采用图3所示超声波电机转速PI控制系统,进行不同转速给定值、不同控制参数情况下的阶跃响应实验,以获取用于辨识建模的实验数据。实验用超声波电机为日本Shinsei公司USR60型两相行波超声波电机,表1给出了电机的主要性能参数。驱动电路为H桥结构,采用相移PWM控制方式。图3中,Nref为转速给定值,与电机同轴连接的“E”为光电编码器,用来测量电机转速以构成闭环控制。转速控制器由DSP芯片编程实现,控制器输出的控制量为电机驱动电压的频率值,通过调节频率实现对电机转速的控制。

表1 实验用电机性能参数

图3为系统包含电机两相驱动电压幅值的闭环控制,使两相驱动电压幅值在频率调节过程中保持不变;设定电压幅值给定值为电机的额定驱动电压值300V(峰峰值),两相驱动电压的相位差为固定的90°,在电机的调速范围[10,120]r/min内,间隔10r/min设定转速阶跃给定值。每个转速阶跃给定值情况下,分别采用3组不同的PI控制参数,测取3组不同的阶跃响应数据,所得36组数据用于辨识建模。另外,在转速阶跃给定值分别为30r/min、60r/min、90r/min、120r/min的情况下,各设置两组不同于前述实验取值的PI控制参数,进行阶跃响应实验,得到8组阶跃响应数据用于模型校验,以评测所建模型的泛化能力。

图3 实验用超声波电机转速控制系统结构框图

每组实验数据既有转速从0开始逐渐趋于给定值的动态数据,也有达到并保持在给定值附近的大量稳态数据,而过多的稳态数据会在辨识建模过程中削弱动态数据的作用,使模型偏离实际的电机特性,因此分离其中过多的稳态数据,得到动态数据用于建模。

Hammerstein模型中的静态非线性环节用来表征超声波电机的非线性特性。超声波电机的机电能量转换过程具有明显的非线性特征,这主要来自于两个方面。一是利用压电材料的逆压电效应将电能转换为机械能的过程,二是利用摩擦将机械能从定子传递到转子的过程。无论哪一个过程,都难以建立能够准确表述其转换机理的数学模型,这是超声波电机机理建模的主要难点。辨识建模方法旨在获取与被建模对象的外在表现一致的数学模型,而对象的外在表现是由实测的输入输出数据来体现的,避开了无法获取满意结果的内部机理分析,有可能得到较高精度的模型。

对于上述分离出来的稳态数据,求取各组数据点的频率、转速值的平均值,得到图4中方形点所示数据。图4所示数据反映了超声波电机频率-转速关系中非线性特性的主要方面。对图4所示数据进行函数拟合,以得到Hammerstein模型中静态非线性环节的表达式。对不同拟合函数形式的尝试表明,使用Gauss函数可实现较高的拟合精度。考虑到拟合误差会影响模型的整体精度,将其系数值设为待辨识的未知参数,和模型动态线性环节中未知参数一起,采用差分进化算法进行参数辨识,以期获得更高的建模精度。于是,得Hammerstein模型静态非线性环节为

x=c1+c2ec3(u-c4)2

(6)

Hammerstein模型动态线性环节的表达式为

y(k)=-a1y(k-1)-a2y(k-2)-a3y(k-3)-
…-ana(k-na)+b0x(k)+b1x(k-1)+…
+bnb(k-nb)+e(k) (7)

图4 模型静态非线性环节的拟合

3.2 差分进化算法参数的确定

差分进化算法参数的取值是否合适,直接决定了能否得到最优的辨识结果。在差分进化算法中,需要设定数值的参数包括种群数量Np、变异因子F、交叉概率因子CR、模型参数初始值上下限maxbound及minbound、最大迭代次数Gm等。其中,最大迭代次数用作优化计算的终止条件。通过尝试不同的优化算法参数进行模型参数辨识,以优化结果好、迭代次数或用时少为依据,确定各参数值为maxbound=1,minbound=-1,Np=100,Gm=700,F=0.65,CR=0.9,c1[5,10],c2[140,200],c4[30,50]。

3.3 超声波电机非线性Hammerstein模型阶次确定

在合理范围内,设定不同的模型阶次,利用差分进化算法尝试进行模型参数辨识,对比所得最优目标函数值,以确定模型阶次。目标函数值越小,表示该模型阶次下所建模型越趋近于建模数据所表征的电机实际运行特性。考虑实测响应曲线的表征及控制性能要求,分别尝试了na=3的3组模型阶次,以及na=4、nb=1和na=4、nb=2这5组模型阶次,表2给出了这5组模型阶次的优化结果和校验结果。

选定第4组模型阶次为超声波电机模型的阶次,由此,得到辨识模型对应的模型参数为z=[c1,c2,c3,c4,a1,a2,a3,a4,b0,b1]= [9.5400, 155.8717, -0.5926, 42.0060, -0.9416, 0.0623, 0.0471, -0.0255 , 0.8218 , -0.6928],模型的静态非线性部分为

x=9.5400+155.8717e-0.5926(u-42.00060)2

(8)

动态线性部分为

(9)

3.4 模型计算结果与实测数据的对比

表2 不同模型阶次情况下的优化结果和校验结果对比

图5给出了转速阶跃响应的模型计算数据与实测数据对比,可以看出,模型计算数据与实测数据基本一致,模型精度较高。

图5 转速30r/min的数据比较

前述建模过程是以电机驱动电压值300V(峰峰值)为例来表述的。改变测试条件,设定不同的驱动电压值,采用同样的建模方法进行建模,图6给出了电压值分别为240V、260V和280V时的辨识模型计算数据与实测数据的对比,可见依然能够得到满意的结果。

图6 不同驱动电压情况的数据比较

改变电机型号为Shinsei USR30型行波超声波电机,采用同样的建模方法进行建模,图7所示数据对比表明,建模方法有效,模型精度较高。

图7 转速90r/min的数据比较(USR30)

4 结 论

为给超声波电机控制策略设计与控制系统分析提供必要基础,采用差分进化算法进行模型参数辨识,建立超声波电机Hammerstein非线性转速控制模型。通过采用适当的函数形式对实验数据进行曲线拟合,得到模型中的静态非线性环节,其表达式为Gauss函数,不同于常用的多项式形式,在更好表述超声波电机非线性特性的同时,也有利于简化模型结构,减少参数个数。模型计算结果和实验数据的对比,表明建模方法有效,所建模型精度较高。

猜你喜欢

阶次阶跃差分
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
综采液压支架大流量水压比例阀阶跃响应特性研究*
浅析Lexus车系λ传感器工作原理及空燃比控制策略(三)
一种直流互感器暂态校验装置及校验算法设计*
基于阶次分析的燃油泵噪声源识别及改善研究
阶跃响应在系统超调抑制中的运用
阶次分析在驱动桥异响中的应用
基于齿轮阶次密度优化的变速器降噪研究
基于差分隐私的数据匿名化隐私保护方法