当前位置:首页 期刊杂志

基于改进差分进化算法的伺服驱动系统摩擦参数辨识研究*

时间:2024-07-28

张名扬,冯显英,李沛刚,岳明君,杜付鑫

(山东大学 机械工程学院 高效洁净机械制造教育部重点实验室,济南 250061)

0 引言

伺服驱动系统在加工、装配、测量等各工业领域都起到了重要的作用,其定位精度始终是提高这些工业应用性能的最重要的因素之一[1-2]。由于非线性摩擦的存在,伺服驱动系统的工作台在低速进给时会发生爬行,并且在系统稳态时会产生较大的静差和极限环振荡等现象[3]。非线性摩擦作为影响伺服驱动系统的主要原因之一,已成为伺服系统性能提高的瓶颈[4],仅依靠改善润滑条件与优化机械结构很难消除摩擦对系统精度的影响,从控制补偿的角度来提高系统的性能和定位精度已成为当前研究的热点[5]。

基于摩擦模型的补偿方法是目前摩擦补偿方法中应用最为广泛的一种[6-7]。对于伺服驱动系统,Stribeck摩擦模型能较为全面地描述摩擦力与速度的对应关系,已成为当前常用的摩擦模型之一[8]。Stribeck摩擦模型引入4个摩擦参数来描述摩擦力与速度之间的关系,模型的精确程度与摩擦参数的辨识方法紧密相关。

差分进化算法由Rainer Storn和Kenneth Price于1995年提出[9],与传统的进化算法相比具有简单易用、稳定性好、全局搜索能力强大、收敛速度快、鲁棒性好等优点,可以应用于摩擦模型参数的辨识。但常规差分进化算法在选取变异因子和交叉因子时具有一定的局限性,设计一种跟随种群进化过程自动调整变异因子和交叉因子的方法对常规差分进化算法进行改进,可以在一定程度上减少变异因子和交叉因子对种群进化过程的影响。

本文针对伺服驱动系统,提出一种基于改进差分进化算法的摩擦参数辨识方法,将辨识结果应用于前馈摩擦补偿方法中,并与遗传算法[10]进行了仿真对比实验,最后对辨识结果进行了分析评价。

1 系统工作原理

伺服驱动系统的原理如图1所示。伺服驱动系统装配有滚珠丝杠和直线运动导轨。在该系统中,由伺服电机直接驱动丝杠,经螺母牵引进而实现工作台直线运动。由原理图分析可得,驱动电机需要克服的总摩擦主要包括电机内部的摩擦、丝杠螺母副之间的摩擦、轴承内部的摩擦以及滑块与导轨之间的摩擦组成。由于受到非线性摩擦的影响,工作台在低速状态时很难得到稳定、精确的微量进给,从而无法保证系统的定位精度。为提高系统的定位精度,需要对整个系统的摩擦进行补偿。

图1 驱动进给系统原理图

2 系统建模与分析

2.1 系统动力学建模

驱动进给系统的简化动力学模型如图2所示,依据牛顿定律及系统传动规律,该进给系统的动力学模型可以描述为:

(1)

Tf=Tfθ+kFfd

(2)

Td=kFd

(3)

(4)

(5)

(6)

J=Jm+Jc+Jb

(7)

式中,J、Tf是该进给系统的总的转动惯量和摩擦力矩,θ、Jb、Tfθ是丝杠的转角、转动惯量以及摩擦力矩,Tm是电机的输入转矩,Fd、Ffd、x是工作台的负载、导轨处的摩擦力以及位移,k为工作台直线运动与旋转运动的传动比,p为丝杠导程,Jm、Jc为电机以及联轴器的转动惯量,M为负载质量。

图2 伺服驱动系统动力学模型

2.2 系统摩擦建模

伺服驱动系统的摩擦力Ff可以由Stribeck摩擦模型[11]描述为:

(8)

3 控制器设计

如图3所示,为简化控制器结构,该伺服驱动系统选用基于前馈摩擦补偿的比例微分控制器。当工作台运动时,驱动电机需要克服的摩擦包括丝杠螺母副的摩擦力矩和导轨与滑块之间的摩擦力。由式(2)可得系统在丝杠处的等效摩擦力矩Tf。系统的在导轨处的等效摩擦力Ffe与在丝杠处的等效摩擦力矩Tf的关系为:

(9)

定义工作台的跟踪误差为:

e=xm-x

(10)

式中,xm为指令位移。

取P、D为比例微分控制器参数,驱动电机的控制量为:

(11)

图3 伺服驱动系统控制方案

4 改进差分进化算法仿真实验设计

差分进化算法是基于实数编码的进化算法,在整体结构上与以遗传算法为代表的进化算法类似,分别由变异、交叉以及选择三个基本操作组成。本文对常规差分进化算法进行改进,改变了变异因子和交叉因子的选取方式,提出一种随目标函数值的变化自动调整变异因子和交叉因子的方法,可以在一定程度上减少变异因子和交叉因子在取值过大或过小时对种群进化过程的影响。

本文基于Matlab程序设计改进差分进化算法摩擦参数辨识仿真试验,由2.1节得系统的传递函数为:

(12)

施加的摩擦干扰如公式(13)所示:

(13)

不考虑前馈摩擦补偿,经过参数调节PD控制器的参数为P=50,D=0.5。采用的工作台的位置跟踪指令为x=0.5sin2πt,采样时间ts=0.001s。

在控制器中加入如式(8)描述的前馈摩擦补偿,分别通过差分进化算法和遗传算法对模型中参数进行辨识。需要辨识的参数表示为:

X=[Fc,Fs,vs,Bv]

(14)

具体辨识步骤如下:

步骤1:生成初始的群体:在四维空间的随机产生满足约束条件的M个个体。取待辨识参数组成一个四维向量的个体,则在差分进化算法的第i代的第j个个体对应的stribeck摩擦模型参数的辨识值为:

Xij=[Fcij,Fsij,vsij,Bvij]

(15)

步骤2:确定适应度函数:为获取满意的精度,选取各采样点累计的误差绝对值为适应度函数:

(16)

式中,xmi、xi为第i个采样点的指令位移与实际位移。

对每次迭代后的辨识值运用目标函数进行评价,选取当前群体中目标函数值最小的个体为最优个体Xib。

步骤3:改进的变异操作:在群体中随机选择3个个体与当前群体中的最优个体进行基于变异因子d的差分操作。在当前群体中随机选取三个不相同的个体,配合当前最优参数Xib对个体进行变异,进而形成新的群体Y。群体Y中的个体由变异公式(17)得出:

Yj=Xiq+(1-d)(Xim-Xin)+d(Xib-Xiq)

(17)

Yj=[Fcyj,Fsyj,vsyj,Bvyj]

(18)

式中,j、q、m、n为群体的个体编号且互不相等,d为变异因子。

式(17)中,若变异因子d取值较大,群体的差异度就会减小,在进化过程中不易跳出局部极值,导致算法运行过程中群体过早收敛;若d值取值较小,虽然容易跳出局部极值,但是群体的收敛速度会相应减慢。因此,本文设计了根据适应度函数结果自动调整的变异因子d:

(19)

式中,Jbi、Jbi-1分别是指第i代和第i-1代最优个体所对应的适应度函数值,取Jb0=2Jb1。

改进后的变异因子d随着群体的进化程度不断地增加,从而保证群体在早期进化过程中跳出局部极值,并且在后期保持一定的收敛速度。

步骤4:改进的交叉操作:基于交叉因子cr使种群内的个体进行交叉操作以引入新的个体,增加群体的多样性。常规差分进化在[0,1]内选取交叉因子cr,以cr为交叉概率对Xi,Y进行交叉操作。以参数Fc为例,取(0,1)内随机数q,若q

Fczj=Fcyj

(20)

若q>cr,则下一代Xi+1对应个体的Fc为:

Fczj=Fcij

(21)

与变异因子相似,交叉因子cr越小,种群的多样性越小,容易发生过早收敛,cr越大收敛速度越快,但是不能过大,以免扰动大于群体差异度,导致收敛变慢。因此,本文设计了根据适应度函数结果自动调整的交叉因子cr:

(21)

改进后的交叉因子cr随着群体的进化程度不断地减少,从而提高了群体在整个进化过程中的收敛速度,保证了群体最后的收敛精度。

步骤5:选择操作:运用目标函数分别对新群体Z的个体Zj进行评价,并与上一代群体Xi的对应个体Xij进行对比,取较优个体作为下一代群体Xi+1的新个体Xi+1j。

以群体Xi+1作为当前群体重复进行以上步骤直至运行至最大迭代次数G即停止运算。

5 仿真结果

在改进差分进化算法仿真实验中,取群体规模M=40,最大迭代次数G=300。设置群体的约束条件,即Xi的上、下界限:

Xmin=[0,0,0,0]

(22)

Xmax=[100,100,0.1,200]

(23)

然后分别利用常规差分进化算法与遗传算法对系统摩擦参数进行辨识,群体规模、最大迭代次数、约束条件以及目标函数的设置与改进差分进化算法相同。三种算法的摩擦参数仿真辨识结果如表1所示,目标函数J的变化趋势见图4,Stribeck曲线见图5。

对图表结果的分析:

在辨识速度方面,由图4可以看出,在改进差分进化算法辨识过程中目标函数在20代左右就迅速完成了收敛,而常规差分进化算法辨识过程中目标函数的收敛趋势较为缓慢,直到50代以后才完成收敛,遗传算法的收敛速度最慢,直到120代才基本完成收敛。

在参数辨识精度方面,由表1可以看出,运用改进差分进化算法的辨识结果参数误差最小,常规差分进化算法次之,遗传算法参数误差最大。就目标函数值来看,改进差分进化算法的目标函数值最后收敛值为2.061,小于常规差分进化算法和遗传算法的目标函数值。由图5可以看出,改进差分进化算法的辨识结果最接近于理论的Stribeck曲线。综上所述,在辨识摩擦参数时,改进差分进化算法精度更高。

图4 目标函数值J的变化趋势

图5 Stribeck曲线

表1 摩擦参数仿真辨识结果

原因分析如下:

在参数辨识精度方面,差分进化算法在变异过程中受当前最优个体的影响,这是差分进化算法特有的记忆特性,该特性使差分进化算法具有较强的全局收敛能力和鲁棒性。

在辨识速度方面,在差分进化算法运行过程中,旧个体与变异交叉之后的新个体之间的选择完全取决于适应度函数的优劣,而遗传算法则是根据个体适应度来决定当前群体中每个个体遗传到下一代群体的概率,所以差分进化算法能够较快的完成全局收敛;而改进差分进化算法能根据当前的优化情况自动进行调整变异因子和交叉因子,可以有效地改善常规差分进化算法的变异因子和交叉因子在进化过程中对收敛速度的影响,进一步提高了参数辨识的速度。所以在Stribeck摩擦模型的摩擦参数辨识过程中,改进差分进化算法相较于常规差分进化算法和遗传算法辨识速度最快。

6 结论

本文针对伺服驱动系统,提出了一种基于改进差分进化算法的摩擦参数辨识方法,并与常规差分进化算法和遗传算法的辨识结果进行了对比。结果表明,与常规差分进化算法和遗传算法相比,改进差分进化算法在辨识摩擦参数时具有更快的辨识速度和更高的精度。本文的研究成果对于提高驱动进给系统的定位精度和进行实时参数辨识等领域具有重要的借鉴意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!