一种机器人关节摩擦力矩的补偿方法及系统与流程

文档序号:17643877发布日期:2019-05-11 00:51阅读:214来源:国知局
一种机器人关节摩擦力矩的补偿方法及系统与流程

本发明涉及机器人领域,特别是涉及一种机器人关节摩擦力矩的补偿方法及系统。



背景技术:

工业机器人关节摩擦是造成机器人关节跟踪精度降低的主要因素之一,为了减小摩擦对机器人控制系统带来的影响,必须要对摩擦力矩进行补偿。通常,摩擦力矩补偿采用基于固定摩擦模型的前馈补偿方法,但由于工业机器人运行过程中,关节温度、负载、润滑和磨损等参数在不断变化,使前馈补偿的摩擦模型发生显著变化,从而导致基于固定摩擦模型的前馈补偿方法失效,引起机器人关节跟踪精度降低。



技术实现要素:

本发明的目的是提供一种机器人关节摩擦力矩的补偿方法及系统,能够实现快速高精度跟踪机器人关节的目的。

为实现上述目的,本发明提供了如下方案:

一种机器人关节摩擦力矩的补偿方法,所述补偿方法包括:

获取机器人启动过程的第一关节角速度数据和对应所述第一关节角速度数据的第一摩擦力矩数据,所述启动过程为所述机器人以设定的速度增量启动运行至额定转速的过程;

利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,所述摩擦模型的输入为关节角速度,所述摩擦模型的输出为关节摩擦力矩;

建立神经网络,所述神经网络的输入为关节角速度,所述神经网络的输出为关节摩擦力矩;

获取机器人启动过程的第二关节角速度数据;

将所述第二关节角速度数据输入所述摩擦模型,获得所述第二关节角速度数据对应的第一力矩预测数据;

将所述第二关节角速度数据和所述第一力矩预测数据作为所述神经网络的训练数据,利用梯度下降法更新所述神经网络的权值和偏置,获得神经网络预测模型;

获取机器人的随机角速度数据,所述随机角速度数据为所述机器人以随机速度运行时的角速度数据,所述随机速度小于或者等于二倍额定转速;

将所述随机角速度数据输入所述神经网络预测模型,获得第二力矩预测数据;

以所述第二力矩预测数据为均值、1为方差进行高斯采样,获得摩擦力矩补偿值;

根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿。

可选的,所述根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿之后,还包括:

获取关节跟踪偏差;

判断所述关节跟踪偏差是否大于偏差阈值;

若是,根据所述关节跟踪偏差更新所述神经网络的权值和偏置,获得更新后的神经网络预测模型。

可选的,所述根据所述关节跟踪偏差更新所述神经网络的权值和偏置,具体包括:

根据公式:更新所述神经网络的权值和偏置,其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度,e为关节跟踪偏差。

可选的,所述利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,具体包括:

利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得斯特里贝克模型;

采用非线性最小二乘法确定所述斯特里贝克模型中的各个待识别参数,获得各个摩擦参数;

根据各个所述摩擦参数和所述斯特里贝克模型确定机器人关节的摩擦模型。

可选的,所述神经网络包括1个隐含层和10个神经元,所述神经网络的连接方式为全连接,所述神经网络的激活函数为线性整流函数。

可选的,所述神经网络的表达式为:

其中,x表示神经网络的输入,wij表示神经网络的权值,bj表示神经网络的偏置,sj表示隐含层的输入,yj表示隐含层的输出,net(x)表示神经网络的输出。

可选的,所述利用梯度下降法更新所述神经网络的权值和偏置,具体包括:

根据公式:更新所述神经网络的权值和偏置,其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度。

一种机器人关节摩擦力矩的补偿系统,所述补偿系统包括:

第一数据获取模块,用于获取机器人启动过程的第一关节角速度数据和对应所述第一关节角速度数据的第一摩擦力矩数据,所述启动过程为所述机器人以设定的速度增量启动运行至额定转速的过程;

模型辨识模块,用于利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,所述摩擦模型的输入为关节角速度,所述摩擦模型的输出为关节摩擦力矩;

神经网络建立模块,用于建立神经网络,所述神经网络的输入为关节角速度,所述神经网络的输出为关节摩擦力矩;

第二数据获取模块,用于获取机器人启动过程的第二关节角速度数据;

第一力矩预测模块,用于将所述第二关节角速度数据输入所述摩擦模型,获得所述第二关节角速度数据对应的第一力矩预测数据;

神经网络确定模块,用于将所述第二关节角速度数据和所述第一力矩预测数据作为所述神经网络的训练数据,利用梯度下降法更新所述神经网络的权值和偏置,获得神经网络预测模型;

速度获取模块,用于获取机器人的随机角速度数据,所述随机角速度数据为所述机器人以随机速度运行时的角速度数据,所述随机速度小于或者等于二倍额定转速;

第二力矩预测模块,用于将所述随机角速度数据输入所述神经网络预测模型,获得第二力矩预测数据;

高斯采样模块,用于以所述第二力矩预测数据为均值、1为方差进行高斯采样,获得摩擦力矩补偿值;

力矩补偿模块,用于根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供的一种机器人关节摩擦力矩的补偿方法及系统,利用第一关节角速度数据和第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型。将第二关节角速度数据输入摩擦模型,获得第二关节角速度数据对应的第一力矩预测数据;利用第二关节角速度数据和第一力矩预测数据训练神经网络,结合梯度下降法更新神经网络的权值和偏置,获得神经网络预测模型。将随机角速度数据输入神经网络预测模型,获得第二力矩预测数据。以第二力矩预测数据为均值、1为方差进行高斯采样,获得摩擦力矩补偿值。根据摩擦力矩补偿值对机器人关节进行摩擦力矩补偿。可见,本发明首先进行摩擦模型辨识,获得摩擦模型。工业机器人运行过程中,当关节温度、负载、润滑和磨损等参数改变后,摩擦模型也会相应改变,能够避免基于固定摩擦模型的前馈补偿方法失效的问题。在此基础上,利用辨识的摩擦模型预测生成的摩擦力矩训练神经网络,使得神经网络的训练学习过程效率更高,能够更快逼近理想效果,提高了机器人关节的跟踪速度和跟踪精度。进一步地,本发明通过高斯采样进行摩擦力矩前馈补偿,弥补了神经网络输出不具有探索性的缺点,使神经网络能更好的收敛,避免陷入局部最优,进一步确保跟踪精度,即使关节温度、负载、润滑和磨损等参数发生变化,也能快速实现高精度跟踪的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种机器人关节摩擦力矩的补偿方法的流程图;

图2为本发明实施例提供的一种机器人关节摩擦力矩的补偿系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种机器人关节摩擦力矩的补偿方法及系统,能够实现快速高精度跟踪机器人关节的目的。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例提供的一种机器人关节摩擦力矩的补偿方法的流程图。如图1所示,一种机器人关节摩擦力矩的补偿方法,所述补偿方法包括:

步骤101:获取机器人启动过程的第一关节角速度数据和对应所述第一关节角速度数据的第一摩擦力矩数据,所述启动过程为所述机器人以设定的速度增量启动运行至额定转速的过程;

步骤102:利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,所述摩擦模型的输入为关节角速度,所述摩擦模型的输出为关节摩擦力矩。

其中,步骤102:利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,具体包括:

利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得斯特里贝克模型;

采用非线性最小二乘法确定所述斯特里贝克模型中的各个待识别参数,获得各个摩擦参数;

根据各个所述摩擦参数和所述斯特里贝克模型确定机器人关节的摩擦模型。

步骤103:建立神经网络,所述神经网络的输入为关节角速度,所述神经网络的输出为关节摩擦力矩。所述神经网络包括1个隐含层和10个神经元,所述神经网络的连接方式为全连接,所述神经网络的激活函数为线性整流函数。所述神经网络的表达式为:

其中,x表示神经网络的输入,wij表示神经网络的权值,bj表示神经网络的偏置,sj表示隐含层的输入,yj表示隐含层的输出,net(x)表示神经网络的输出。

步骤104:获取机器人启动过程的第二关节角速度数据;

步骤105:将所述第二关节角速度数据输入所述摩擦模型,获得所述第二关节角速度数据对应的第一力矩预测数据;

步骤106:将所述第二关节角速度数据和所述第一力矩预测数据作为所述神经网络的训练数据,利用梯度下降法更新所述神经网络的权值和偏置,获得神经网络预测模型。

所述利用梯度下降法更新所述神经网络的权值和偏置,具体包括:

根据公式:更新所述神经网络的权值和偏置,其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度。

步骤107:获取机器人的随机角速度数据,所述随机角速度数据为所述机器人以随机速度运行时的角速度数据,所述随机速度小于或者等于二倍额定转速;

步骤108:将所述随机角速度数据输入所述神经网络预测模型,获得第二力矩预测数据;

步骤109:以所述第二力矩预测数据为均值、1为方差进行高斯采样,获得摩擦力矩补偿值;

步骤110:根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿。

优选地,执行步骤110:根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿之后,还包括:

步骤111:获取关节跟踪偏差;

步骤112:判断所述关节跟踪偏差是否大于偏差阈值;

若是,执行步骤113;

步骤113:根据所述关节跟踪偏差更新所述神经网络的权值和偏置,获得更新后的神经网络预测模型。

本实施例中,步骤113:根据所述关节跟踪偏差更新所述神经网络的权值和偏置,具体包括:

根据公式:更新所述神经网络的权值和偏置,其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度,e为关节跟踪偏差。

图2为本发明实施例提供的一种机器人关节摩擦力矩的补偿系统的结构框图。如图2所示,一种机器人关节摩擦力矩的补偿系统,所述补偿系统包括:

第一数据获取模块201,用于获取机器人启动过程的第一关节角速度数据和对应所述第一关节角速度数据的第一摩擦力矩数据,所述启动过程为所述机器人以设定的速度增量启动运行至额定转速的过程;

模型辨识模块202,用于利用所述第一关节角速度数据和所述第一摩擦力矩数据进行摩擦模型辨识,获得摩擦模型,所述摩擦模型的输入为关节角速度,所述摩擦模型的输出为关节摩擦力矩;

神经网络建立模块203,用于建立神经网络,所述神经网络的输入为关节角速度,所述神经网络的输出为关节摩擦力矩;

第二数据获取模块204,用于获取机器人启动过程的第二关节角速度数据;

第一力矩预测模块205,用于将所述第二关节角速度数据输入所述摩擦模型,获得所述第二关节角速度数据对应的第一力矩预测数据;

神经网络确定模块206,用于将所述第二关节角速度数据和所述第一力矩预测数据作为所述神经网络的训练数据,利用梯度下降法更新所述神经网络的权值和偏置,获得神经网络预测模型;

速度获取模块207,用于获取机器人的随机角速度数据,所述随机角速度数据为所述机器人以随机速度运行时的角速度数据,所述随机速度小于或者等于二倍额定转速;

第二力矩预测模块208,用于将所述随机角速度数据输入所述神经网络预测模型,获得第二力矩预测数据;

高斯采样模块209,用于以所述第二力矩预测数据为均值、1为方差进行高斯采样,获得摩擦力矩补偿值;

力矩补偿模块210,用于根据所述摩擦力矩补偿值对所述机器人关节进行摩擦力矩补偿。

本发明提供的一种机器人关节摩擦力矩的补偿系统的实施过程如下:

(1)设计关节运行轨迹,从零速开始,以30转/分钟的速度增量使关节开始运行直至到达额定速度。

(2)在关节运行过程中,每隔2ms采集一次关节角速度和关节力矩数据,获得第一关节角速度数据和对应所述第一关节角速度数据的第一摩擦力矩数据。

(3)利用第一关节角速度数据和第一摩擦力矩数据,进行模型辨识,得到的斯特里贝克曲线(stribeck)摩擦模型公式如下:

式中,f(v)为摩擦力矩,v为关节角速度,fc为库伦摩擦力矩,fs为最大静摩擦力矩,vs为stribeck摩擦速度,δ为经验系数,fv为粘性摩擦系数。

其中,待辨识参数为(fc,fs,vs,δ,fv),本实施例通过非线性最小二乘法建立辨识模型,公式如下:

式中,fi(v)为stribeck摩擦模型计算得到的摩擦力矩,yi为采集得到的关节实际摩擦力矩,即第一摩擦力矩数据,n为数据样本个数,即第一摩擦力矩数据的个数。

然后采用梯度下降方法进行求解待辨识参数。首先任意给定一组初始解(fc,fs,vs,δ,fv)=(0,0,0,0,0),然后求取上式的梯度,以一定步长对解进行更新,当最小二乘误差缩小到最小二乘误差阈值范围内时,即可得到stribeck摩擦模型参数(fc、fs、vs、δ、fv)的取值,从而得到sribeck摩擦模型。本实施例中,最小二乘误差阈值小于或者等于0.0001,更新解的步长范围为:0.001~0.1。

(4)建立一个神经网络,网络输入为关节角速度,网络输出为关节摩擦力矩,神经网络有一个隐含层,包含10个神经元,连接方式为全连接,激活函数为线性整流函数(rectifiedlinearunit,relu)。神经网络公式如下:

其中,x表示神经网络的输入,wij表示神经网络的权值,bj表示神经网络的偏置,sj表示隐含层的输入,yj表示隐含层的输出,net(x)表示神经网络的输出。

(5)在零速到额定转速之间均匀采样3000个数据点,并通过辨识得到的stribeck模型计算每个转速所对应的摩擦力矩。然后将转速和摩擦力矩作为神经网络的训练数据,使用梯度下降法对神经网络进行训练,更新参数。设神经网络参数集为θ,则参数更新公式为:

其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度。

(6)设计关节运行轨迹,控制周期为2毫秒,在零速到两倍额定转速范围内以随机速度进行往复运动。

(7)在运行过程中,实时采集角速度作为神经网络输入,通过步骤5所建立的神经网络计算得到网络输出,即关节摩擦力矩。然后以关节摩擦力矩为均值,1为方差,进行高斯采样,高斯采样公式如下所示:

u1,u2=rand(0,1)

式中,u1,u2为(0,1]区间内的两个一致的随机数,z为正态值,m为均值,δ2为方差,x为高斯采样结果,摩擦力矩补偿值。

通过以上公式计算得到关节摩擦力矩前馈补偿值后,将补偿值输出到关节前馈通道中,并在下一个控制周期采集关节跟踪偏差。

(8)在步骤7所述的运行过程中,每隔2毫秒采集一次关节角速度、关节摩擦力矩前馈补偿值和关节跟踪误差,并作为一组训练数据,并存入数据库。

(9)在数据库中采样,进行神经网络训练,根据关节跟踪偏差采用如下的公式更新神经网络的权值和偏置:

其中,θnew为更新后的神经网络参数集,神经网络参数集包括神经网络的权值和偏置,θold为更新前的神经网络参数集,α为神经网络的学习速率,netθ为神经网络,为神经网络参数梯度,e为关节跟踪偏差。

(10)重复进行步骤7-步骤9,使机器人关节摩擦补偿达到一个理想的状态,即关节跟踪偏差小于或者等于用户设定的偏差阈值。

可见,本发明首先辨识了stribeck摩擦模型,并利用辨识的stribeck摩擦模型产生神经网络的训练数据,对神经网络进行训练,相当于加入了专家知识,使得神经网络的训练学习过程更加有效率,更快逼近理想效果。

神经网络的输出是一个定值,本发明通过高斯采样进行摩擦力矩前馈补偿,弥补了神经网络输出不具有探索性的缺点,使神经网络能更好的收敛,避免陷入局部最优。

同时,以关节跟踪偏差的绝对值对神经网络参数更新方向进行修正,使得训练总能朝着有利的方向进行。

因此,本发明提供的基于神经网络和高斯采样的摩擦力矩补偿方法能在工业机器人运行过程中实时修正和调整网络参数,即使关节温度、负载、润滑和磨损等参数发生变化,也能迅速调整到新的理想补偿状态,确保机器人关节具有较高的跟踪精度。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1