遗传算法与LuGre摩擦模型的非线性摩擦力观测器设计

2022-09-16 01:21黄智鹏徐悦鹏曹瑞康付承伟孔祥东李文锋
液压与气动 2022年8期
关键词:鬃毛观测器摩擦力

黄智鹏,徐悦鹏,曹瑞康,付承伟,任 旺,孔祥东,李文锋

(燕山大学 机械工程学院,河北 秦皇岛 066004)

引言

摩擦现象广泛存在于机械系统中,特别是对控制品质要求较高的伺服控制系统,摩擦的出现会降低其跟踪精度,产生控制极限环以及不必要的爬行现象。特别当系统处于低速运动时,摩擦现象会表现出复杂的强非线性特性,无法找到准确描述这些现象的非线性函数[1];而且摩擦非线性是摩擦因素中最影响伺服进给系统精度的摩擦现象[2],对系统的低速伺服性能影响尤为显著[3-5]。

为此,诸多学者对于非线性系统的控制技术进行了广泛的研究。李渊等[6]对电液伺服泵控系统中的非线性理论进行了研究,提出了广义排量的压力控制策略,通过试验和仿真验证了对系统控制的效果。赵爽等[7]针对阀控液压马达系统受到的非线性扰动问题,提出了一种三阶线性控制器,采用跟踪误差前馈与扩张状态观测器相分离的办法,增强了液压伺服系统的抗干扰能力。范珂等[8]针对不确定性及外部干扰下主动升沉补偿系统的非线性控制问题,提出一种基于扩展干扰观测器自适应鲁棒控制器,通过李雅普诺夫函数证明整个闭环系统的稳定性。冯浩等[9]针对挖掘机器人伺服系统存在高度非线性、参数不确定和未建模动态等诸多不利因素,提出了一种结合径向基函数神经网络的非线性滑模控制器,提高了系统的控制精度和鲁班性。谢宜含等[10]针对机电伺服系统存在较多不确定性的现象,设计了一种自适应非线性控制策略,不仅有效补偿了系统不确定性,而且实现了非线性控制器与线性频宽参数的一体化设计。何耀滨等[11]针对大行程直线运动平台复杂的非线性时变系统的不确定因素,将系统的速度、位移作为状态变量,设计一个线性自抗扰控制器,通过与PID控制算法进行比较,提升了运动平台的响应速度和精度。

采用基于摩擦模型的摩擦补偿控制可以有效地对摩擦进行一定程度上的预测,提高控制精度。因此,本研究在系统控制策略设计中,将摩擦现象进行模型化分析并纳入系统特性,并通过遗传算法完成系统摩擦参数的辨识,提高系统控制精度。

1 摩擦现象数学模型

摩擦现象的数学模型可根据是否由微分方程描述大致分为两类:静态摩擦模型和动态摩擦模型。常见静态摩擦模型有库伦摩擦模型、黏性摩擦模型、Stribeck摩擦模型、Karnopp模型、Armstrong模型。常见的动态模型有Dahl摩擦模型、鬃毛摩擦模型、LuGre摩擦模型[12]。采用基于摩擦模型的摩擦补偿控制可以有效地对摩擦进行一定程度上的预测,提高控制精度。

1.1 静态摩擦模型

一般的线性系统数学模型所采用的摩擦模型为静态摩擦模型,多为库伦摩擦、静摩擦、黏滞摩擦和Stribeck摩擦等几种特性的组合。通过摩擦力与物体相对运动速度的关系揭示的各个摩擦特性的主要特点如图1所示。

图1 经典摩擦特性示意图

经典常见的摩擦模型由库伦摩擦特性、黏性摩擦特性和静摩擦特性三者共同描述。库伦摩擦揭示了当物体间相对运动速度不为0时,相对运动方向与摩擦力方向相反的现象;黏性摩擦体现了黏性力对物体运动的影响;静摩擦则补充了当物体间相对运动速度为0时摩擦力的变化特性。

静摩擦摩擦模型如下:

(1)

式中,Ft——外力,N

Fs——最大静摩擦力,N

v——相对滑动速度,mm/s

库仑摩擦模型结合黏性摩擦模型如下:

Ff=Fcsgn(v)+Bv

(2)

式中,Fc——库伦摩擦力,N

B——黏性摩擦系数,N·s/m

上述模型对物体间最大静摩擦力到滑动摩擦力过渡的数学描述是突变的,然而Stribeck摩擦现象表明,物体间相对运动速度在较低时摩擦力的变化是呈现负斜率特性的。Karnopp模型结合了对Stribeck摩擦现象的数学描述,并通过设定零速度区间对相对运动速度进行划分,即当相对速度值位于该区时,速度被等效为0,视为静摩擦。但是零速区间的选取存在一定困难,无法真实反映零速附近摩擦力的变化情况,公式如下所示:

(3)

F(v)=[Fs+(Fs-Fc)e-(v/vs)δ]sgn(v)+Bv

(4)

式中F(v)——对Stribeck摩擦现象以及黏性摩擦的数学描述

δ——经验常数,取值通常为2

DV——所选择的零速区间

静态摩擦模型从宏观方面体现了物体间相对运动速度稳定时摩擦力所表现的静态特性,但是当速度发生变化,诸如预滑移、可变静摩擦力、摩擦滞后等摩擦微观非线性动态特性无法从中得以体现。因此,采用单一的静态摩擦模型进行补偿控制并不能取得较为理想的控制效果。

1.2 动态摩擦模型

通过一阶微分方程对摩擦现象的动态微观行为描述,逐渐形成了动态摩擦模型。其中被普遍应用的动态摩擦模型为Dahl摩擦模型、复位积分摩擦模型、鬃毛摩擦模型以及LuGre摩擦模型。相较于其他模型,LuGre模型,结合了Dahl模型的鬃毛摩擦思想,同时引入对摩擦预滑动位移特性的描述,能够以较为精确的数学语言同时描述摩擦力的动态特性和静态特性。图2为LuGre摩擦模型的基本原理图。

图2 LuGre摩擦模型原理图

如图2所示,LuGre摩擦模型关注运动物体接触面间的相对微观运动。该模型假设物体之间通过无数具有弹性形变特性的鬃毛接触,当有切向力施加于鬃毛时,鬃毛会像弹簧一样产生形变并发生预滑移,从而由此产生静摩擦力,此时鬃毛的弹性形变量约等于滑动位移。当切向力变得足够大,其中一部分鬃毛发生过度偏移后便会彼此滑脱,物体间相对运动由此产生,同时形成滑动摩擦力,此时鬃毛的弹性形变量由物体间的相对运动速度决定。实际运动中,由于接触面形状不规则,鬃毛彼此间的接触形态被认为是高度随机的。因此LuGre模型研究的是鬃毛的平均运动行为,其表达公式如下:

(5)

g(v)=σ0[Fc+(Fs-Fc)e-(v/vs)2]

(6)

(7)

式中,Fc,Fs——静摩擦力参数,N

z——鬃毛平均弹性形量,mm

g(v)——取决于物体材料、润滑、温度等因素的正函数

σ0——刚度系数,N/m

σ1——阻尼系数,N·s/m

σ2——黏性摩擦系数,N·s/m

vs——Stribeck速度,mm/s

下面对LuGre摩擦模型的稳定性和可行性进行证明。假设物体间的相对运动速度v是分段函数,连续且有界,函数g除零点外有界,由此可得:

≤L|z1-z2|

(8)

由于v是有界的,且g>ε>0,该利普希茨连续条件保证了摩擦模型解的存在性和唯一性。

假设00时,那么|z(t)|≤a。

取李雅普诺夫函数V(t)=z2/2,当z(t)≠0时,显然V(t)>0是恒成立的,那么:

(9)

当|z|>g(v)时,由于函数g严格为正且有界,那么集合Ω={z:|z|≤a}是式(9)解的不变集,因此所有z(t)解的轨线始于Ω并保留于其中。从物理学角度而言,物理系统的耗散特性与能量有关。对于控制系统上的数学描述,亦可借用该原理描述反馈系统的稳定性。系统的数学模型可以被定义为能够将输入映射到输出的算子,式(9)可被认为是输入-输出映射算子,由此可证明该映射关系是耗散的。

(10)

对两边同时取积分,可得:

≥V[z(t)]-V[z(0)]

(11)

显然,式(11)是自然耗散的。

由上述公式可以看出,LuGre摩擦模型清晰简洁,与其他模型相比,该模型能够平滑地从当前摩擦状态过渡到另一摩擦状态,在一定程度上具有良好的连续性。此外,该模型可以将库伦摩擦、黏性摩擦、摩擦滞后、Stribeck效应和摩擦记忆等复杂的非线性摩擦特性较为准确地表达出来。而其中的未知参数可采用参数辨识方法获得,为多种摩擦补偿算法的设计与应用提供了可能性。

2 基于遗传算法的Lugre摩擦模型参数辨识

2.1 模型参数辨识机理

遗传算法是一种基于自然界中生物间“物竞天择,适者生存”的演化法则的算法。相较于传统算法,其求解方案起始于群体数据,并非单个点。其良好的全局搜索能力可以快速地得到解空间的全体解并同时避免陷入局部最优解的快速下降陷阱。此外,该算法的内在并行特质提供了具有更快求解速度的分布式计算。就其本质而言,遗传算法是一种高效、并行、全局搜索的方法。

图3展示了遗传算法基本流程图。首先,遗传算法在进行搜索前会将解空间的数据进行编码,形成基因串型结构数据,并同时随机生成n个初始串数据结构,作为初始种群;然后,根据需要求解或优化目标函数,计算群体中每个个体的目标函数值,并通过给定的适应度函数对相关个体作出评价;随后,按照个体的适应度和一定的选择函数对父代种群进行择优选择,同时基于预设概率对选定的个体进行交叉、变异等操作,从而产生子代种群;接下来,算法会对子代种群重复执行上述操作,直至输出满足终止条件的最优结果。

图3 遗传算法辨识流程图

通过遗传算法分别对LuGre模型中的静态摩擦参数和动态摩擦参数[19]进行辨识,从而为摩擦补偿提供较为准确的模型以获取更优的控制效果。

2.2 静态摩擦参数辨识

F=σ0z+σ2v

=[Fc+(Fs-Fc)e-(v/vs)2]sgn(v)+σ2v

(12)

根据上述公式可知,待辨识参数向量设定如下:

(13)

那么参数辨识误差为:

e(x,vi)=ui-F(x,vi)

(14)

其中:

(15)

取误差函数的平方和作为目标函数:

(16)

取适应度函数为:

(17)

遗传算法中需要设定的相关参数将在后面的仿真小节中给出,结合上述推导出的供述,便可获得LuGre摩擦模型的静态摩擦参数。

2.3 动态摩擦参数辨识

将2.2节中静态摩擦参数辨识得到的最优结果将作为动态摩擦参数辨识的基础。利用系统输出的加速度以及系统输出的控制力即可进行动态摩擦参数辨识。待辨识参数向量设定如下:

(18)

联立LuGre摩擦模型公式,有:

(19)

(20)

通过系统辨识可得到的控制力为:

(21)

参数辨识误差为:

e(xd,ti)=u(ti)-u(xd,ti)

(22)

其中,u(ti)为系统输出的控制力。

取误差函数的平方和作为目标函数:

(23)

取适应度函数:

(24)

遗传算法中需要设定的相关参数将在后面的仿真小节中给出,结合上述公式,便可获得LuGre摩擦模型的动态摩擦参数。

2.4 摩擦补偿复合控制

根据LuGre摩擦模型的结构,虽然已由参数辨识获知模型大部分参数,可不难发现,鬃毛的平均弹性形变量是一阶微分方程的未知数,因此该数值是无法直接获得的。针对鬃毛弹性形变量z设计摩擦力状态观测器,从而能够完整地实现基于模型的摩擦补偿控制策略。

摩擦力观测器数学模型表达如下:

(25)

(26)

(27)

那么:

(28)

对上式两边同时积分,有:

(29)

由此可知,式(27)是耗散的。

下面将设计摩擦补偿复合控制算法。图4是泵控缸的简化传递框图。

图4 泵控缸传递框图

其中:

G4(s)=βeCts+V0s/[V0mts3+(Ctsβemt+V0Bp)s2+

(30)

令控制器传递函数为G1(s),对伺服电机传递函数进行一定程度的简化,设为G2(s)。令G3(s)=βeDpAp/(Ctsβe+V0s),图5为油压机泵控缸系统摩擦补偿位置控制传递控制框图。

图5 泵控缸摩擦补偿位置控制传递框图

根据图5可得:

(31)

(32)

(33)

联立上述公式,可得:

(34)

其中,控制器G1(s)选择常规的PID控制器,通过选取合适的控制器参数,使得G(s)严格正实。设G(s)的状态空间表达式如下:

(35)

e=Cζ

(36)

由于G(s)是严格正实的,根据Kalman-Yakubovitvh引理,一定存在矩阵P=PT>0和Q=QT>0,使得:

ATP+PA=-Q

(37)

PB=CT

(38)

≤-ζTQζ

(39)

根据LaSalle定理,可知观测器误差和位置误差会渐进收敛到0,因此该摩擦力观测器是可行的。

3 摩擦力观测器的仿真验证

3.1 静态摩擦参数

真正的摩擦参数辨识需要由试验测得的摩擦力与速度的数据进行辨识。首先选取一组较为符合实际工况的摩擦参数,利用MATLAB/Simulink搭建出LuGre静态摩擦模型,代入一组等时间间隔的速度值,以此求出的摩擦力作为实际摩擦力,从而获得参数辨识的基础数据。图6是MATLAB/Simulink下LuGre静态摩擦仿真模型,其参数取值如下:

图6 MATLAB/Simulink LuGre静态摩擦模型

x1=[Fc,Fs,σ2,Vs]T=[800,1200,20,1.5]T

根据前述辨识手段,对于静态摩擦模型可以取辨识所需的稳定速度值为从0 mm/s开始,间隔为0.2 mm/s 的等差数列,终止于10 mm/s。除去零点,共50个数值。将相应数值代入摩擦模型,所获得的仿真理论摩擦力如图7所示,遗传代数为n。

图7 仿真理论静态摩擦力与遗传辨识进化代数

图8 辨识与理论摩擦力对比

图9 仿真理论遗传辨识误差

3.2 动态摩擦参数

对LuGre摩擦模型进行动态参数的辨识,需要以通过遗传算法辨识得到的静态摩擦参数作为整个数学模型的部分参数基础。模型输入的速度值取自位速度为y=0.1 sin(0.5πt)正弦曲线,将该组速度值代入图6所示的MATLAB/Simulink的仿真模型,生成供遗传算法辨识的理论摩擦力。其中,LuGre动态摩擦模型参数取值如下:

x2=[σ0,σ1]T=[100000,316.2]T

将相应数值代入摩擦模型,所获得的仿真理论摩擦力如图10所示。

图10a和图10b分别展示了LuGre摩擦模型对滞环摩擦力的准确描述和该模型的鬃毛变化,可以看出LuGre摩擦模型可以较为精确地对摩擦力的复杂特性进行复现。

图10 仿真理论动态摩擦力

种群及其演化的相关参数设置如下。最大遗传代数为500,种群个体数目为100,变量数目为4,代沟为0.95,交叉概率和变异概率分别是0.85和0.01。种群生成方式为随机生成。

图11 动态参数辨识遗传代数

图12 鬃毛微位移

图13 动态参数辨识误差

由于实际系统的真实的LuGre摩擦模型的参数未知,本研究通过试验将遗传算法辨识得到的实际泵控液压机位置控制系统的参数对所设计的摩擦力观测器的效果进行验证。

4 摩擦力观测器的试验验证

为了验证设计的摩擦力观测器的效果,搭建了工业用开式泵控液压机电液伺服位置控制试验测试平台,通过遗传算法对适用于该测试平台的LuGre摩擦模型的参数进行辨识。图15是以图14为原理图制成的工业用开式泵控液压机电液伺服位置控制系统。

1.粗滤油器 2.伺服电机 3.液压泵 4.伺服驱动器 5.旋转编码器 6.单向阀 7.精滤油器 8.溢流阀 9.液压控制器 10.电磁换向阀 11.平衡阀 12.充液阀 13.压力传感器 14.液压缸(套缸) 15.位移传感器

图15 开式泵控液压机电液伺服位置控制系统

液压机系统采用某公司研制的HPM01泵控液压机数控系统。该液压机数控系统通过Visual Basic编辑用户界面,并将相关程序内置于触摸屏。

图16是试验测试系统上位机的控制界面,用于辨识静态摩擦力的参数设置如下:最大遗传代数为500,种群个体数目为400, 变量数目为4,代沟为0.6,交叉概率和变异概率分别是0.8和0.05。种群生成方式为随机生成,选择算子为轮赌盘算子。参数搜索范围Fc∈[0,1500],Fs∈[0,1500],σ2∈[0,100],Vs∈[0,10]。经过遗传算法辨识后,LuGre摩擦模型的静态参数为:

图16 试验测试系统上位机界面

x1=[Fc,Fs,σ2,Vs]T=[654.6,1347.6,13.4,1.76]T

图17a是系统的实际测得的静态摩擦力和经由遗传算法辨识得到的模型参数拟合后的静态摩擦力,图17b是摩擦力辨识的误差。

图17 静态摩擦力辨识

用于辨识动态摩擦力的参数设置如下,最大遗传代数为500,种群个体数目为400,变量数目为4,代沟为0.6,交叉概率和变异概率分别是0.8和0.05。种群生成方式为随机生成。选择算子为轮赌盘算子。参数搜索范围Fc∈[0,1500],Fs∈[0,1500],σ2∈[0,100],Vs∈[0,10]。经过遗传算法辨识后,LuGre摩擦模型的动态参数为:

x2=[σ0,σ1]T=[112610,322.2]T

图18a是系统的实际测得的动态摩擦力和经由遗传算法辨识得到的模型参数拟合后的动态摩擦力,图18b是摩擦力辨识的误差。

图18 动态摩擦力辨识

本研究所使用的泵控液压机电液伺服位置控制系统将液压缸的行程根据工艺要求划分为快下运动阶段和慢下运动阶段,系统的每一运动阶段均采用7段S形加减速位移算法。运动行程数值和速度数值可以通过上位机软件进行设定,加速度数值系统默认与速度值相等。表1所示是系统试验时的运动轨迹运动表。

表1 运动轨迹规划参数表

快下运动阶段的控制策略采用PID和基于摩擦力的前馈补偿复合控制算法,借助提出的非线性摩擦力观测器,由此可解决低速阶段摩擦力引起的滞后现象并同时提高快下阶段的位置跟踪精度。图19~图22所示为系统经过摩擦补偿后与常规PID算法下的位置控制性能表现。

图19 工况1下系统位移及偏差曲线

图20 工况2下系统位移及偏差曲线

图21 工况3下系统位移及偏差曲线

图22 工况4下系统位移及偏差曲线

由图19~图22可以看出,采用PID和基于摩擦力的前馈补偿复合控制算法后的控制系统在液压缸快下运动阶段的滞后现象得到一定改善,相比未经过补偿的快下阶段,最大滞后量减少了约40%。后续的运动阶段,得到了摩擦补偿的系统表现出了良好的位置跟踪性能,当系统到达目标位置时,超程现象也得到了显著改善。随着工况的变化,加加速度、加速度和最大速度提高,系统快下运动阶段的位置跟踪性能依然表现得较为理想。由此可见,泵控液压机电液伺服位置控制系统快下阶段的控制精度经摩擦前馈补偿后得到了明显的提高,证明了辨识出的LuGre摩擦模型对摩擦补偿控制的有效性。

5 结论

对广泛存在于机械系统中的摩擦现象进行了数学模型化分析,讨论并分析了摩擦模型的数学特性。以能够较为全面描述摩擦现象丰富特性的LuGre摩擦模型为基础,通过遗传算法对模型的6个未知参数进行识别,于此基础上提出了一种非线性摩擦力观测器,并对遗传算法的有效性和LuGre摩擦模型的效果进行了验证。仿真结果表明,遗传算法下的LuGre摩擦模型中,静态摩擦力的辨识值十分接近理论静摩擦力数值,动态摩擦力的复杂特性得到了较为精确的复现;试验结果也证明了参数辨识的有效性与非线性摩擦力观测器的效果。

猜你喜欢
鬃毛观测器摩擦力
每一根鬃毛都有生命
『摩擦力』知识巩固
理顺摩擦力
透析摩擦力
每根鬃毛都有生命
基于滑模观测器的PMSM无位置传感器控制策略
每根鬃毛都是一种生命
基于非线性干扰观测器的航天器相对姿轨耦合控制
秀发
基于滑模观测器的机翼颤振主动抑制设计