基于改进LuGre摩擦模型的机器人关节摩擦力辨识研究

2023-10-07 04:35王晓强穆春阳马行张春涛
机床与液压 2023年17期
关键词:纹波摩擦力力矩

王晓强,穆春阳,马行,张春涛

(1.北方民族大学电气信息工程学院,宁夏银川 750021;2.宁夏智能信息与大数据处理重点实验室,宁夏银川 750021;3.北方民族大学机电工程学院,宁夏银川 750021)

0 前言

随着机器人技术的快速发展,机器人在装配领域得到广泛的应用[1-2]。装配需要机器人精准地完成操作,这对机器人的力位控制[3-4]有很高要求。在机器人进行装配时,关节摩擦力随着其末端受力的变化而发生改变。动力学模型对机器人的运动精度起着重要作用[5],机器人关节摩擦力是动力学模型误差的主要来源,摩擦力的影响使机器人存在难以消除的误差,从而使控制精度降低。目前常用的摩擦力模型有库仑-黏性模型、LuGre模型[6-7]和Stribeck模型[8]等。LuGre模型描述了大部分摩擦现象,如库仑摩擦、黏性摩擦、预滑动和Stribeck摩擦等,因此在机器人动力学摩擦力参数辨识中,LuGre模型应用较广泛。李智靖等[9]采用静态LuGre模型对关节摩擦进行补偿。陈东宁等[10]提出基于修正黏性摩擦的LuGre模型,减小摩擦对比例多路阀性能的影响。高鹏等人[11]提出一种改进型量子遗传算法的LuGre模型,机器人在不同负载下运行时,为减少不适的摩擦模型对关节力矩估计的影响,采用LuGre模型进行关节摩擦力辨识。但由于实际中影响摩擦力的因素较多,该模型并不能满足要求。SRIGANESH、MAHENDRAKAR[12]对机器人关节谐波减速器部分的波纹摩擦力进行了研究,其理论和实际摩擦力之间存在和关节角速度相关的纹波误差,该摩擦力误差具有非线性。

针对LuGre模型对机器人在不同负载下运行时实际摩擦力描述不准确的问题,为提高摩擦模型的精度,本文作者提出一种改进的LuGre模型。使用最小二乘法,支持向量机(Support Vector Machine,SVM)多类分类和支持向量回归(Support Vector Regression,SVR)结合的方法对模型中的参数进行分步辨识。实验中采集到的关节力矩含有噪声,为了得到吻合度较好的曲线,不需要对所有数据采样点进行训练。因此,可以利用SVM多类分类方法对原始数据进行分类,将分类后的样本中心数据作为训练集进行SVR回归拟合,实现对参数的辨识。

1 动力学摩擦模型

1.1 动力学模型

采用牛顿欧拉法[13]或拉格朗日方程法[14]建立机器人动力学方程:

(1)

在机器人结构确定后,惯性力矩项、哥氏力矩项和重力矩项都能够精确计算得到,摩擦力作为动力学模型中最复杂的一项,采用改进LuGre模型描述机器人的摩擦过程。

1.2 LuGre摩擦模型

模型假设两个刚性体之间在微观接触面有大量的弹性鬃毛,模型是根据鬃毛的平均变形建立的,鬃毛的平均变形用z表示,设定鬃毛的平均变形z为常数,以关节角速度为输入、摩擦力矩为输出的非线性系统的LuGre摩擦模型[15]为

fu=fcz+fse(-v/vs)sgn(v)+σ2v

(2)

式中:fc表示库仑摩擦力矩;fs表示最大静摩擦力矩;vs表示Stribeck速度;σ2为黏性摩擦系数;σ2和vs为常数。

1.3 改进的LuGre摩擦模型

文中机器人关节减速器为谐波减速器。机器人在不同负载下运行时,根据谐波传动的特性,关节摩擦力除LuGre摩擦力fu外,还有随关节角度变化而周期性变化的部分摩擦力,称为纹波摩擦力,用fm表示。修正后的LuGre摩擦模型:

fn=fcz+fse(-v/vs)+σ2v+fm

(3)

SRIGANESH、MAHENDRAKAR[12]对谐波减速器的摩擦力进行了研究,并对该部分波纹摩擦力进行了建模:

fm=(E+Fv)Np

(4)

式中:E和F都是常数;Np是与关节角有关的系数。

综合LuGre摩擦模型和纹波摩擦力,完整的摩擦力模型可以表示为

(5)

式中:q为关节角;φ(q)表示Np与q的函数关系,是摩擦力辨识的主要部分。在LuGre摩擦模型上增加一个与关节位置相关的纹波摩擦力矩项,在机器人运动过程中可以更准确地描述摩擦力,得到完整的摩擦力模型后,需要对机器人关节摩擦力参数进行辨识。

2 摩擦力辨识

2.1 LuGre摩擦模型fu参数辨识

从式(3)可知,为辨识得到LuGre摩擦模型中fcz、fs、1/vs和σ24个系数,可以分别控制机器人不同的关节在一定区间内进行往返运动,截取关节匀速部分进行数据处理,使用最小二乘法进行拟合。通过计算可求得各个系数的值。

2.2 SVM多类分类

SVM多类分类是VAPNIK和IZMAILOV[16]提出的按监督学习的方式对数据进行分类。在机器人关节运动过程中,采集的数据样本很多,使用所有样本对fm参数辨识计算量庞大。为提高SVR的训练速度,对数据进行SVM多类分类,以得到的分类中心作为SVR的训练数据集。

SVM多类分类的执行过程:

(1)给定含N个样本的训练集X={(x1,y1),…,(xN,yN)},其中K维特征向量xn∈RK,类标签Yn={1,2,…,M},n=1,…,N。训练集共有M类。需找到决策函数y=f(x)用于预测新数据的类别。

(2)在每两个类之间都构造一个binary SVM,通过binary SVM对第i类和第j类数据求解二次规划问题。

(4)第i类和第j类之间binary SVM的决策函数:

(6)

2.3 基于SVR的纹波摩擦力fm参数辨识

SVR对带有噪声的数据具有较好的拟合效果[17],使用支持向量回归对非线性的模型进行拟合。fm中需要辨识的参数是E、F和φ(q)。由式(4)知,系数Np只和关节角度有关,因此采用分步辨识的方法,先求得系数Np与关节角q的关系,使用最小二乘法求解方程组得到系数E和F。在不同速度下同一关节角度的fm之间是线性的,选取一个关节速度对应的力矩误差曲线进行建模,得到位置q和系数Np的关系。q和系数Np具有非线性的关系,使用SVR对该关系进行拟合。

(7)

式中:ω、b、ξ、ξ*、ε是SVR进行训练得到的模型中的参数,用来描述一个超平面,使所有的数据样本点到平面上的距离之和最小;φ为q*从低维向高维映射的算子。

(8)

采用最小二乘法解出参数集[EF],就可以得到fm的完整模型。

3 机器人关节摩擦力辨识实验

3.1 实验平台

机器人关节摩擦力实验平台系统框图如图1所示,由上位机、实时仿真机、伺服驱动器和有效负载50 N六轴机械臂组成。

图1 实验平台系统结构框图

实时仿真机采用半实物仿真控制平台,其开发环境采用标准化的硬件模块和分层结构化的软件平台。进行仿真时,模型在装有VxWorks实时操作系统的工控机上运行,通过通信接口同上位机、伺服驱动器连接搭建起半实物仿真环境,运行仿真模型验证功能。工控机通过伺服驱动器驱动6个关节电机,工控机和伺服驱动器之间使用Ethercat总线进行数据通信,机器人整体控制采用“上-下位机”架构,用户通过上位机的MATLAB Simulink完成机器人控制系统设计,经自动编译后生成VxWorks实时操作系统上可直接运行的嵌入式代码,然后通过以太网部署到实时仿真机中实时运动作为机器人的控制器使用,控制机器人各关节的运动。

3.2 关节摩擦力辨识实验

3.2.1 LuGre摩擦模型参数辨识

为精确对关节摩擦力进行辨识,分别控制机器人的6个关节在[-30°,30°]区间内进行关节往返运动,关节1在区间[-30°,30°]内的往返运动如图2所示。

图2 机器人实验平台

实验中,为避免惯性力矩和哥氏力矩对辨识结果的影响,只选取机器人第一关节在[-30°,30°]区间内40段匀速部分进行数据处理和拟合,拟合结果如图3所示。

图3 基于原始摩擦模型的关节1力矩拟合曲线

通过最小二乘法线性拟合,可以得到LuGre模型式(3)中的参数fcz=7.099 8,fs=2.536 1,1/vs=0.458 9,σ2=0.296 0。所以式(3)摩擦力矩可表示为

fn=7.099 8+2.536 1e(-0.458 9v)+0.296v+(E+Fv)Np

(9)

3.2.2 摩擦力fm参数辨识

进一步对fm进行辨识,力矩实测值与通过式(2)计算得到的预测值的差值即为纹波摩擦力矩项fm。取v=3.849 5°/s对fm进行Np(θ)参数的辨识,使用binary SVM函数进行多类分类,得到的中心样本作为SVR的训练数据集。通过对SVR模型训练和预测调节参数,在训练时使用的参数如表1所示。

表1 SVR训练参数

(10)

将所有数据测量点代入式(10),可以得到一组以E和F为未知量的方程组:

(11)

通过最小二乘法解方程组得E=1.104 2、F=-0.865 1,结合式(9)得到的LuGre模型参数,可以得到fn的完整模型:

(12)

根据完整的摩擦模型,选取机器人第一关节在[-30°,30°]区间内40段匀速部分进行数据处理和拟合,结果如图4所示,改进后的摩擦模型的辨识效果比改进前的摩擦模型效果好。

图4 基于改进摩擦模型的关节1力矩拟合曲线

3.2.3 实验数据分析

实验中数据采集间隔为0.002 s,关节数据截取时间段为133.026~141.032 s。取同一时刻机器人末端负载分别为0、4、8、12 N的数据,为提高精确度,取100组不同时间点数据,得到改进前后模型力矩理想值和实际值之间误差。

取133.268 s时机器人末端不同负载下改进前后模型力矩数据,如表2所示。

表2 不同负载下改进前后模型力矩值

机器人末端负载为0、4、8、12 N时计算不同速度下摩擦模型力矩误差,数据如表3—6所示。

表3 负载为0 N时不同速度下摩擦模型力矩误差

表4 负载为4 N时不同速度下摩擦模型力矩误差

表5 负载为8 N时不同速度下摩擦模型力矩误差

在不同速度下,计算改进前后模型的摩擦力理想值,用摩擦力实际值减去理想值,得到改进前后模型摩擦力的误差。当机器人末端为不同负载时,摩擦模型误差如图5所示,其中图5(a)机器人末端负载为0,图5(b)机器人末端负载为4 N,图5(c)机器人末端负载为8 N,图5(d)机器人末端负载为12 N。

图5 机器人末端不同负载时模型改进前后误差

不同负载时模型改进后误差降低百分比如图6所示。可以看出:摩擦模型误差降低百分比曲线整体分布在50%~82%范围内,随着速度的增大而增大。

图6 不同负载时模型改进后误差降低百分比

从图6还可以看出:使用改进的摩擦力模型进行关节摩擦力矩的计算,误差可以降低50%以上。

4 结论

为提高机器人动力学模型的精度,克服传统摩擦模型对实际摩擦力描述不准确的问题,提出一种改进的LuGre摩擦模型,对关节摩擦力进行单关节分步辨识。通过实验验证了提出的模型和辨识方法的有效性,在不同负载下机器人关节低速运动时,与改进前相比较,改进的摩擦力模型可以将动力学计算力矩的误差减小50%以上。

猜你喜欢
纹波摩擦力力矩
『摩擦力』知识巩固
理顺摩擦力
透析摩擦力
纹波电流对不同芯片尺寸的LED光源可靠性的影响
发动机阻力矩计算和起动机介绍
装饰性镀铬用低纹波可调控高频开关电源设计
小型力矩电机波动力矩的测量
神奇的摩擦力
弹性负载力矩下舵偏转角度的测量方法
基于MAX16832长寿命低纹波LED路灯电源的设计