CN110941183A - 一种基于神经网络的工业机器人动力学辨识方法 - Google Patents

一种基于神经网络的工业机器人动力学辨识方法 Download PDF

Info

Publication number
CN110941183A
CN110941183A CN201911208932.4A CN201911208932A CN110941183A CN 110941183 A CN110941183 A CN 110941183A CN 201911208932 A CN201911208932 A CN 201911208932A CN 110941183 A CN110941183 A CN 110941183A
Authority
CN
China
Prior art keywords
joint
model
neural network
robot
industrial robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911208932.4A
Other languages
English (en)
Other versions
CN110941183B (zh
Inventor
张平
赵俊宇
李方
陈昕叶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201911208932.4A priority Critical patent/CN110941183B/zh
Publication of CN110941183A publication Critical patent/CN110941183A/zh
Application granted granted Critical
Publication of CN110941183B publication Critical patent/CN110941183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明提出了一种基于神经网络的工业机器人动力学辨识方法,包括以下步骤:S1、选用循环神经网络作为工业机器人动力学的近似模型;S2、辨识实验轨迹;S3、数据采集和预处理;S4、模型参数辨识;S5、模型验证。本发明选用循环神经网络作为工业机器人动力学的近似模型,利用上述采集得到的机器人运动数据,使用二阶学习算法列文伯格‑马夸尔特算法训练动力学模型的参数,最终得到一个能够准确反映工业机器人关节运动变量和关节电机转矩两种数据之间的关系的动力学模型。本发明有助于提高机器人的控制性能。

Description

一种基于神经网络的工业机器人动力学辨识方法
技术领域
本发明涉及工业机器人技术领域,特别涉及一种基于利用神经网络对工业机器人进行动力学参数辨识的方法。
背景技术
工业机器人的动力学模型广泛被应用于工业机器人技术的很多方面,包括:工业机器人的控制、离线仿真、能耗和优化、最优控制方案设计等。一个准确反映工业机器人关节变量与关节电机驱动转矩关系的动力学模型,依赖于动力学模型参数的准确性。然而,由于工业机器人在生产制造过程中存在不可避免的误差,工业机器人内部高度集成化和高耦合性导致工业机器人动力学参数存在不确定性,这种不确定性影响了动力学模型的准确性,从而降低其在控制和仿真场景中的应用性能。因此,根据工业机器人的实际数据对其动力学模型进行辨识具有必要性。动力学辨识主要包括:建模/模型选择、辨识实验设计、数据采集和预处理、模型参数辨识和模型验证。
据查,现阶段常用的工业机器人动力学辨识方法有:直接测量法、基于最小二乘拟合的动力学辨识法。
其中,直接测量法通过利用测量工具直接对工业机器人连杆进行质量、质心位置、惯量等参数的测量,或根据工业机器人的CAD模型图对动力学参数进行估算。直接测量法的缺陷在于,工业机器人内部的高耦合度无法通过直接测量反映;而CAD模型图只反映工业机器人的理论参数,与实际模型必然存在一定误差。
采用最小二乘拟合的动力学模型(专利号CN106346513A,CN106346477A)通过动力学模型的线性化,然后利用工业机器人在实际运动过程中的关节变量数据和转矩数据进行线性动力学模型参数的拟合。这种方法的缺陷在于,在数据采集过程中,除了关节角位移和关节电机驱动转矩,还需要对关节角速度和关节角加速度进行采集,进而增加了辨识成本;并且,对高度集成的工业机器人,加装传感器相对难以实施。此外,现代工业机器人复杂的控制系统给原有的动力学模型增加非线性,影响了原线性动力学模型的估计精度。
发明内容
本发明的目的在于提供一种新型且有效的工业机器人动力学辨识方法,并旨在解决现有技术缺陷,提供一个准确的动力学辨识方法。
本发明至少通过如下技术方案之一实现。
一种基于神经网络的工业机器人动力学辨识方法,包括以下步骤:
S1、选用循环神经网络作为工业机器人动力学的近似模型;
S2、设置辨识实验轨迹,利用周期性的激励轨迹控制机器人进行辨识实验运动;
S3、数据采集和预处理,采集机器人再运动过程中的每个关节的运动变量:关节角位移、关节角速度、关节角加速度,以及每个关节电机的驱动转矩;
S4、模型参数辨识,使用列文伯格-马夸尔特算法训练近似模型的参数;
S5、模型验证,利用近似模型的预测误差验证近似模型的效果;
S6、根据步骤S5验证后的近似模型,预测和控制机器人。
进一步地,工业机器人传统的动力学模型即原模型表示为:
Figure BDA0002297613440000021
其中,t表示时间变量,动力学方程的变量包括关节角位移q(t)、角速度
Figure BDA0002297613440000022
角加速度
Figure BDA0002297613440000023
关节电机转矩τ(t);方程参数:M(q(t))为惯性矩阵,与角位移q(t)有关;
Figure BDA0002297613440000024
为离心力和哥氏力矩阵,与角位移q(t)和角速度
Figure BDA0002297613440000025
有关;G(q(t))为重力矩阵,与角位移q(t)有关;
步骤S1具体是选用循环神经网络-带外部输入的非线性自回归神经网络模型(Nonlinear AutoRegressive with eXternal input neural network,NARX neuralnetwork,NARX循环神经网络,下文统称为近似模型),对原模型进行近似,近似模型的数学表述:
Figure BDA0002297613440000026
其中,fNARX表示NARX循环神经网络的映射关系,W,b分别表示NARX循环神经网络中的权重向量和偏置向量,
Figure BDA0002297613440000027
表示在时刻t每个关节组成的关节运动变量,其中q(t)为关节角位移,
Figure BDA0002297613440000028
为关节角速度,
Figure BDA0002297613440000029
为关节角加速度;实际运算中,连续时间会被离散化成N个离散时刻[t1,t2…tn],tn表示第n个离散时刻;x(t-tn)=[x(t-t1),x(t-t2),…,x(t-tn)]表示在历史时刻[t-t1,t-t2,…,t-tn]的关节运动变量向量;同理,
Figure BDA00022976134400000210
表示在时刻t所述的动力学模型输出的电机驱动转矩估计值,
Figure BDA00022976134400000211
表示在历史时刻[t-t1,t-t2,…,t-tn]的关节电机转矩向量;
根据式(2)的模型数学表述,关节运动变量x(t)为动力学模型的外部输入;电机驱动转矩
Figure BDA00022976134400000212
既是近似模型当前时刻的估计输出,又在下一时刻作为近似模型的输入;W,b为近似模型参数,该参数通过列文伯格-马夸尔特学习算法调整至最优参数值。
进一步地,步骤S2的辨识实验轨迹设置具体如下:
对于机器人的每个关节,采用有限项傅里叶级数组成的周期性关节角度激励轨迹,作为控制信号控制工业机器人进行辨识实验运动,周期性的激励轨迹能提高实验数据的信噪比,更易于通过差分从关节角度数据求得关节角速度和关节角加速度,周期性的激励如式(3~5)所示,其中i表示第i个关节,Nf,i为第i个关节傅里叶级数轨迹的项数Nf,l为表示第l项傅里叶级数,wf=2πff为基础角频率,ff为基础频率,al,i和bl,i为正余弦函数的幅值,ql0为偏移项,qi(t)为关节角位移,
Figure BDA0002297613440000031
为关节角速度,
Figure BDA0002297613440000032
为关节角加速度
Figure BDA0002297613440000033
Figure BDA0002297613440000034
Figure BDA0002297613440000035
式(3)为傅里叶级数关节的轨迹,关节的轨迹即角位移变化主要由幅值al,i和bl,i、偏移ql0、项数Nf,i以及基频wf决定。
进一步地,步骤S3所述的采集是利用工业机器人中的传感器接口模块即传感器组;传感器组实时测量工业机器人的当前状态并存储在机器人控制系统的本地存储器中,机器人状态数据从机器人控制系统,经由以太网线和TCP/IP传输协议,被读取至其他运算设备中;运算设备为个人电脑或者带有网卡设备的嵌入式运算设备;机器人控制系统作为服务器端,运算设备作为客户端;按照固定的采样周期进行读取。
所述机器人控制系统是工业机器人自带集成的控制系统,每个厂商的控制系统都不同,例如Kawasaki机器人、KUKA机器人、UR机器人等都有自己的机器人控制系统。传感器也是机器人自带的传感器,借助机器人控制系统读取传感器的数据。所述机器人控制系统的功能一般包括:接收外部控制命令以控制机器人进行运动;读取传感器的状态数据。所以此处的工业机器人控制系统可视为带有控制功能和读取传感器功能的机器人控制系统。
进一步地,步骤S3的采集过程如下:
利用工业机器人中的工业传感器,按照采样周期TS,在机器人运动过程中进行关节变量数据和关节转矩数据的采集,则采样频率
Figure BDA0002297613440000036
在时间[0,Ttraj]中,采样次数为M=fs*Ttraj采集得到的数据如下:
关节运动变量原始数据,其中,t表示时间变量,qraw(t)表示关节角度的原始数据,
Figure BDA0002297613440000037
表示关节角速度的原始数据,
Figure BDA0002297613440000041
表示关节角加速度的原始数据:
Figure BDA0002297613440000042
关节电机转矩原始数据:
τraw(n) n=[1,2,…,M] (7)
从机器人控制系统采集得到的原始数据进行预处理,预处理如下:
采集得到的关节运动变量为在运动过程中工业机器人每个关节的角位移离散数据,角位移数据先经过一个低通滤波器去除高频噪声,得到滤波后的关节角度qf(t),再通过一阶差分求取各关节角速度
Figure BDA0002297613440000043
二阶差分求取各关节角加速度
Figure BDA0002297613440000044
其中,t表示时间变量。关节角度qf(t),关节角速度
Figure BDA0002297613440000045
和角加速度
Figure BDA0002297613440000046
组成公式(2)的关节运动变量向量x(t):
Figure BDA0002297613440000047
采集得到的关节电机驱动转矩原始离散数据,同样经过一个低通滤波器去除高频噪声得到滤波后的关节电机转矩τf(t),即公式(2)的关节电机转矩向量
Figure BDA0002297613440000048
Figure BDA0002297613440000049
进一步地,步骤S4使用的列文伯格-马夸尔特学习算法(Levenberg-MarquardtAlgorithm)如下:
设近似模型的损失函数为均方根误差(Mean Square Error,MSE)函数:
Figure BDA00022976134400000410
其中,t表示时间变量,τ(t)表示关节电机转矩真值,
Figure BDA00022976134400000411
表示关节电机转矩预测值;N表示训练数据离散点个数;tN表示对应离散时间向量;残差
Figure BDA00022976134400000412
计算残差e(t)对于所述非线性自回归神经网络模型的参数:循环神经网络中的权重向量W和偏置向量WB=[W,b]的一阶微分作为雅可比矩阵:
Figure BDA00022976134400000413
所述列文伯格-马夸尔特学习算法的对近似模型的参数WB更新规则为:
WB′=WB-(JTJ+μI)-1Je (12)
其中,μ表示惩罚因子,在近似模型更新过程中会根据近似模型效果进行增大或减小;I为单位矩阵;
按照所述的动力学模型,其参数按照公式(12)进行更新,直至公式(10)表示的损失函数值满足给定拟合要求;损失函数值满足拟合要求表明,工业机器人在辨识轨迹运动过程中,动力学模型根据轨迹计算得到的转矩估计值序列与转矩真实值序列的均方根误差满足给定的误差范围。
进一步地,步骤S5的模型验证即对近似模型进行评价,给定一段在可行工作空间中的任意轨迹,通过近似模型计算的估计转矩与电机输出转矩真值之间的均方根误差满足给定的拟合要求
给定一个运动轨迹,例如工业机器人在生产线上完成某工艺任务需要完成的运动轨迹,工业机器人在该运动轨迹对应的关节运动变量序列输入至近似模型,进行近似模型的仿真,得到关节驱动转矩序列的估计值。关节转矩估计值序列与真实值序列,利用式(16)计算两者之间的均方根误差。若两者的均方根误差在可接受的误差范围内,则近似模型通过验证。实际验证中可基于多个不同运动轨迹进行近似模型的验证。
优点和有益效果
本发明方法与现有技术相比,具有如下优点和有益效果:
1、本发明选用神经网络作为工业机器人动力学的近似模型。根据机器学习中的万能近似定理,一个足够大的多层神经网络模型理论上能够以任何想要的误差量近似任何从一个有限维度的空间映射到另一个有限维度空间的函数。换言之,具有的高度非线性和耦合性的现代工业机器人控制系统,将其关节运动变量和关节电机转矩看作一个动力学系统,其系统函数表示能够用一个神经网络进行近似。因此,本发明方法对于不同工业机器人的动力学建模具有通用性,从而保证了本发明方法的有效性和实用性。
2、与现有技术相比,本发明方法所需要的传感器数量减少,只需要测量关节位移的编码器与测量关节转矩(或等价物理量)的传感器即可,从而降低了实验开销。
附图说明
图1是本实施例所述一种基于神经网络的工业机器人动力学辨识方法的结构框图;
图2是本实施例所述实验内容中的方案步骤流程图;
图3是本实施例所述循环神经网络的结构框图;
图4是本实施例所述数据采集方案示意框图;
图5是本实施例所述列文伯格-马夸尔特学习算法流程图;
图6是本实施例所述辨识实验轨迹的关节角位移曲线图;
图7是本实施例所述辨识实验轨迹的关节角速度曲线图;
图8是本实施例所述辨识实验轨迹的关节角加速度曲线图;
图9是本实施例所述在0-30秒内关节角位移原始数据曲线图;
图10是本实施例所述在0-30秒内关节电机驱动转矩原始数据曲线图;
图11是本实施例近似模型在关节3的转矩估计值与电机转矩真实值的比较示例图;
图12是本实施例近似模型关节3的转矩估计值与电机转矩真实值之间的残差示例图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示的一种基于神经网络的工业机器人动力学辨识方法,本发明的实施例基于一个六自由度工业机器人,KUKA KR6 R700工业机器人,该机器人的系统配置为KUKAC4控制柜和KUKA系统软件,图2为该工业机器人近似模型的辨识实施流程,具体包括以下步骤:
S1、选用循环神经网络作为工业机器人动力学的近似模型;
在建模阶段,首先选择如图3所示的循环神经网络-带外部输入的非线性自回归神经网络模型作为该工业机器人动力学的近似模型,其数学表述:
Figure BDA0002297613440000061
其中,fNARX表示NARX循环神经网络的映射关系。W,b分别表示循环神经网络中的权重向量和偏置向量,其中包括:隐藏层的输入权重向量Wh1,隐藏层的历史输出权重向量Wh2,隐藏层的偏置向量bh,隐藏层的激活函数tanh;输出层的权重向量Wo,输出层的偏置向量bo,输出层的激活函数为线性函数,线性函数的输出等于输入。
Figure BDA0002297613440000062
表示在时刻t每个关节组成的关节运动变量,其中q(t)为关节角位移,
Figure BDA0002297613440000063
为关节角速度,
Figure BDA0002297613440000064
为关节角加速度。实际运算中,连续时间会被离散化成N个离散时刻[t1,t2…tN],tn表示第n个离散时刻;x(t-tn)=[x(t-t1),x(t-t2),…,x(t-tn)]表示在历史时刻[t-t1,t-t2,…,t-tn]的关节运动变量向量;同理,
Figure BDA0002297613440000065
表示在时刻t所述的动力学模型输出的电机驱动转矩估计值,
Figure BDA0002297613440000066
表示在历史时刻[t-t1,t-t2,…,t-tn]的关节电机转矩向量。选择经过低通滤波的关节运动变量序列作为近似模型输入,关节电机驱动转矩序列作为近似模型输出。近似模型结构确定为:输入层和输出层大小均为6×1,隐藏层大小分别设置为15,延时向量为D1=D2=[1,2]。
S2、辨识实验轨迹,具体如下:
在工业机器人的关节空间,选择傅里叶级数轨迹为:
Figure BDA0002297613440000071
Figure BDA0002297613440000072
Figure BDA0002297613440000073
其中,i表示第i个关节的变量,ql0为偏移项,qi(t)为关节角位移,
Figure BDA0002297613440000074
为关节角速度,
Figure BDA0002297613440000075
为关节角加速度,Nf,i为第i个关节傅里叶级数轨迹的项数Nf,l为表示第l项傅里叶级数,,al,i和bl,i为正余弦函数的幅值,选取基础频率ff=0.1,基础角频率wf=2πff,即单个激励轨迹的周期为10s;傅里叶级数项数Nf=5。KUKA KR6机器人的关节转角范围为:
Figure BDA0002297613440000076
关节角速度范围为:
Figure BDA0002297613440000077
角加速度最大值统一设置为
Figure BDA0002297613440000078
根据上述机器人的工作范围,选择辨识实验轨迹参数如表1所示。其中,参考式(23),每一列表示每一个关节的辨识轨迹参数,在同一列中,不同的行表示同一关节辨识轨迹的不同参数;由于傅里叶级数的项数为Nf=5;对应每个关节,a1~a5表示轨迹正弦分量的赋值,b1~b5表示轨迹余弦分量的赋值,q0为轨迹的偏移项。
表1辨识实验轨迹参数
Figure BDA0002297613440000079
Figure BDA0002297613440000081
根据辨识实验轨迹参数得到的机器人六个关节在0-10秒内的运动轨迹如图6、图7和图8所示,其中图6为工业机器人关节角位移曲线、图7为关节角速度曲线、图8为关节角加速度曲线。选定激励轨迹总次数为10次,即对KUKA KR6机器人编程使其运行连续激励轨迹10次;在实际的轨迹过程中,项数Nf和基础频率wf根据经验设置,轨迹参数[al,i,bl,i,ql0]满足辨识轨迹在工业机器人设置的工作范围内即可。
S3、数据采集和预处理,采集机器人再运动过程中的每个关节的运动变量:关节角位移、关节角速度、关节角加速度,以及每个关节电机的驱动转矩;
所述的采集是利用工业机器人控制系统中的传感器接口模块即传感器组;传感器组实时测量工业机器人的当前状态并存储在机器人控制系统的本地存储器中,机器人状态数据从机器人控制系统,经由以太网线和TCP/IP传输协议,被读取至其他运算设备中;运算设备为个人电脑或者带有网卡设备的嵌入式运算设备;机器人控制系统作为服务器端,运算设备作为客户端;按照固定的采样周期进行读取。
所述机器人控制系统是工业机器人自带集成的控制系统,每个厂商的控制系统都不同,例如Kawasaki机器人、KUKA机器人、UR机器人等都有自己的机器人控制系统。传感器也是机器人自带的传感器,借助机器人控制系统读取传感器的数据。所述机器人控制系统的功能一般包括:接收外部控制命令以控制机器人进行运动;读取传感器的状态数据。所以此处的工业机器人控制系统可视为带有控制功能和读取传感器功能的机器人控制系统。
图4为本实施例KUKA KR6机器人实时数据的采集,利用TCP/IP协议,对KUKA KR6机器人数据进行实时读取。在机器人端,在控制柜的操作系统中部署一个通讯代理,在运算设备端,通过TCP/IP通讯,编程实时读取KUKA KR6机器人的实时关节转矩,关节角度数据,每一次读取间隔0.020秒。程序的伪代码如下所示:
Figure BDA0002297613440000091
采集得到的原始数据,前三个运动周期(0-30s,一个周期10s)的角位移曲线,以及关节转矩曲线分别如图9和图10所示。关节角位移和关节转矩的原始数据都存在不同程度的高频噪声,需要使用数字低通滤波器去除高频噪声的影响。在傅里叶级数轨迹中,设定的基频[0.1,0.2,0.3,0.4,0.5]频率具有较高的幅值,说明机器人按照傅里叶级数轨迹进行运动;但除了基频外,在大于0.5的区间外还存在幅值较小的高频噪声,高频噪声造成了角位移原始数据的抖动,因此需要利用低通滤波器尽量去除大于0.5的区间的高频噪声,同时平滑角位移曲线。同理,对转矩原始数据作同样的高频滤波处理。
基于原始数据的高频噪声,以低通数字滤波器去除高频噪声:
表2低通滤波器属性
滤波器类型 低通滤波器
截止频率 0.5
阶数 10
对6个关节的关节角位移原始数据和关节转矩数据,利用上述低通数字滤波器进行滤波。滤波后的关节角位移数据,对其进行二阶中心差分法,求出实际的关节角速度和关节角加速度。轨迹包含8093个时刻的关节角位移和关节电机转矩数据,即有8093个离散时序数据点。
S4、模型参数辨识;
利用列文伯格-马夸尔特学习算法,基于滤波后的关节运动变量和电机转矩数据对所述近似模型进行参数辨识。近似模型参数学习算法流程如图5所示,具体描述如下:
①给定离散时序训练数据:[x(t),y(t)],其中tn∈[t1,t2…tN],N为离散时序数据的个数。
给定优化目标,通常为近似模型的损失函数
Figure BDA0002297613440000101
②初始化惩罚因子:μ=μ0,步长v,迭代次数iter=1;
③在每个迭代iter中,对所有的训练数据[x(t),y(t)],前馈计算得到
Figure BDA0002297613440000102
并计算误差e和损失函数L;
④计算误差e关于模型参数WB=[Wh1,Wh2,Wo,bh,bo]的导数,其中包括:隐藏层的输入权重向量Wh1,隐藏层的历史输出权重向量Wh2,隐藏层的偏置向量bh;输出层的权重向量Wo,输出层的偏置向量bo,即模型参数的雅可比矩阵J
Figure BDA0002297613440000103
⑤模型参数的更新值ΔWB
ΔWB=-(JTJ+μI)-1Je (18);
⑥更新模型新的误差参数e'
WB′=WB+ΔWB=WB-(JTJ+μI)-1Je (19);
⑦使用更新后的模型参数WB′进行前馈计算,并计算新的误差e′和损失函数值L′;
⑧比较更新后的网络损失L′和更新前的网络损失L:
如果L′≥L,即参数更新后的网络效果没有改善,则增大μ,μ=μ*v,L=L′,e=e′,跳至步骤⑤;
如果L′<L,检查损失函数值L′是否满足需求:若否,则减小μ,μ=μ/v,迭代次数iter=iter+1,跳至步骤③,往下执行;若是,则终止迭代,算法结束。
上述步骤①-⑧为动力学模型参数利用学习算法得到最优动力学模型参数的过程,动力学模型参数最优表示,工业机器人在辨识轨迹运动过程中,动力学模型根据轨迹计算得到的转矩估计值序列与转矩真实值序列的均方根误差最小。设置初始惩罚因子μ0=1e-3,步长v=10。停止条件为均方根误差MSE小于等于1e-3,即当近似模型输出的转矩估计值与转矩真实值的均方根误差小于1e-3(单位:牛)时,算法终止,参数停止更新,近似模型确定。
S5、模型验证;
模型验证阶段,在工业机器人工作空间随机产生一条末端测试轨迹,测试轨迹一方面转换成关节空间中的关节运动轨迹输入至所述近似模型进行仿真,近似模型输出在此关节运动轨迹中的关节转矩序列;另一方面测试轨迹输入至机器人控制系统,令机器人按照测试轨迹进行运动,并采集运动过程中的关节电机输出转矩。近似模型的估计转矩与实际测量的真实转矩比较如图11和图12所示,其中,图11为所述近似模型的估计转矩与工业机器人真实转矩的在0-30秒的比较图;图12为两者的残差。表格3列出了,在近似模型验证中,KUKA KR6机器人近似模型的估计转矩序列与转矩真实值之间的均方根误差,可以看出,在均方根误差的可接受范围在1e-3时,本发明方法所述的近似模型是有效的。
表3 KUKA KR6机器人近似模型的测试效果
关节1 关节2 关节3 关节4 关节5 关节6
均方根误差 1.38e-03 9.20e-04 2.41e-03 2.39e-03 9.17e-04 9.32e-04
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种基于神经网络的工业机器人动力学辨识方法,其特征在于,包括以下步骤:
S1、选用循环神经网络作为工业机器人动力学的近似模型;
S2、设置辨识实验轨迹,利用周期性的激励轨迹控制机器人进行辨识实验运动;
S3、数据采集和预处理,采集机器人再运动过程中的每个关节的运动变量:关节角位移、关节角速度、关节角加速度,以及每个关节电机的驱动转矩;
S4、模型参数辨识,使用列文伯格-马夸尔特算法训练近似模型的参数;
S5、模型验证,利用近似模型的预测误差验证近似模型的效果;
S6、根据步骤S5验证后的近似模型,预测和控制机器人。
2.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,工业机器人传统的动力学模型即原模型表示为:
Figure FDA0002297613430000011
其中,t表示时间变量,动力学方程的变量包括关节角位移q(t)、角速度
Figure FDA0002297613430000012
角加速度
Figure FDA0002297613430000013
关节电机转矩τ(t);方程参数:M(q(t))为惯性矩阵,与角位移q(t)有关;
Figure FDA0002297613430000014
为离心力和哥氏力矩阵,与角位移q(t)和角速度
Figure FDA0002297613430000015
有关;G(q(t))为重力矩阵,与角位移q(t)有关;
步骤S1具体是选用循环神经网络-带外部输入的非线性自回归神经网络模型(Nonlinear AutoRegressive with eXternal input neural network,NARX neuralnetwork,NARX循环神经网络,下文统称为近似模型),对原模型进行近似,近似模型的数学表述:
Figure FDA0002297613430000016
其中,fNARX表示NARX循环神经网络的映射关系,W,b分别表示NARX循环神经网络中的权重向量和偏置向量,
Figure FDA0002297613430000017
表示在时刻t每个关节组成的关节运动变量,其中q(t)为关节角位移,
Figure FDA0002297613430000018
为关节角速度,
Figure FDA0002297613430000019
为关节角加速度;实际运算中,连续时间会被离散化成N个离散时刻[t1,t2…tn],tn表示第n个离散时刻;x(t-tn)=[x(t-t1),x(t-t2),…,x(t-tn)]表示在历史时刻[t-t1,t-t2,…,t-tn]的关节运动变量向量;同理,
Figure FDA00022976134300000110
表示在时刻t所述的动力学模型输出的电机驱动转矩估计值,
Figure FDA00022976134300000111
表示在历史时刻[t-t1,t-t2,…,t-tn]的关节电机转矩向量;
根据式(2)的模型数学表述,关节运动变量x(t)为动力学模型的外部输入;电机驱动转矩
Figure FDA00022976134300000112
既是近似模型当前时刻的估计输出,又在下一时刻作为近似模型的输入;W,b为近似模型参数,该参数通过列文伯格-马夸尔特学习算法调整至最优参数值。
3.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,步骤S2的辨识实验轨迹设置具体如下:
对于机器人的每个关节,采用有限项傅里叶级数组成的周期性关节角度激励轨迹,作为控制信号控制工业机器人进行辨识实验运动,周期性的激励轨迹能提高实验数据的信噪比,更易于通过差分从关节角度数据求得关节角速度和关节角加速度,周期性的激励如式(3~5)所示,其中i表示第i个关节,Nf,i为第i个关节傅里叶级数轨迹的项数Nf,l为表示第l项傅里叶级数,wf=2πff为基础角频率,ff为基础频率,al,i和bl,i为正余弦函数的幅值,ql0为偏移项,qi(t)为关节角位移,
Figure FDA0002297613430000021
为关节角速度,
Figure FDA0002297613430000022
为关节角加速度
Figure FDA0002297613430000023
Figure FDA0002297613430000024
Figure FDA0002297613430000025
式(3)为傅里叶级数关节的轨迹,关节的轨迹即角位移变化主要由幅值al,i和bl,i、偏移ql0、项数Nf,i以及基频wf决定。
4.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,步骤S3所述的采集是利用工业机器人中的传感器接口模块即传感器组;传感器组实时测量工业机器人的当前状态并存储在机器人控制系统的本地存储器中,机器人状态数据从机器人控制系统,经由以太网线和TCP/IP传输协议,被读取至其他运算设备中;运算设备为个人电脑或者带有网卡设备的嵌入式运算设备;机器人控制系统作为服务器端,运算设备作为客户端;按照固定的采样周期进行读取。
5.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,步骤S3的采集过程如下:
利用工业机器人中的工业传感器,按照采样周期TS,在机器人运动过程中进行关节变量数据和关节转矩数据的采集,则采样频率
Figure FDA0002297613430000026
在时间[0,Ttraj]中,采样次数为M=fs*Ttraj采集得到的数据如下:
关节运动变量原始数据,其中,t表示时间变量,qraw(t)表示关节角度的原始数据,
Figure FDA0002297613430000027
表示关节角速度的原始数据,
Figure FDA0002297613430000028
表示关节角加速度的原始数据:
Figure FDA0002297613430000029
关节电机转矩原始数据:
τraw(t)t∈[t1,t2…tn] (7)
从机器人控制系统采集得到的原始数据进行预处理,预处理如下:
采集得到的关节运动变量为在运动过程中工业机器人每个关节的角位移离散数据,角位移数据先经过一个低通滤波器去除高频噪声,得到滤波后的关节角度qf(t),再通过一阶差分求取各关节角速度
Figure FDA0002297613430000031
二阶差分求取各关节角加速度
Figure FDA0002297613430000032
其中,t表示时间变量,关节角度qf(t),关节角速度
Figure FDA0002297613430000033
和角加速度
Figure FDA0002297613430000034
组成公式(2)的关节运动变量向量x(t):
Figure FDA0002297613430000035
采集得到的关节电机驱动转矩原始离散数据,同样经过一个低通滤波器去除高频噪声得到滤波后的关节电机转矩τf(t),即公式(2)的关节电机转矩向量
Figure FDA0002297613430000036
Figure FDA0002297613430000037
6.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,步骤S4使用的列文伯格-马夸尔特学习算法(Levenberg-Marquardt Algorithm)如下:
设近似模型的损失函数为均方根误差(Mean Square Error,MSE)函数:
Figure FDA0002297613430000038
其中,t表示时间变量,τ(t)表示关节电机转矩真值,
Figure FDA0002297613430000039
表示关节电机转矩预测值;N表示训练数据离散点个数;tN表示对应离散时间向量;残差
Figure FDA00022976134300000310
计算残差e(t)对于所述非线性自回归神经网络模型的参数:循环神经网络中的权重向量W和偏置向量WB=[W,b]的一阶微分作为雅可比矩阵:
Figure FDA00022976134300000311
所述列文伯格-马夸尔特学习算法的对近似模型的参数WB更新规则为:
WB′=WB-(JTJ+μI)-1Je (12)
其中,μ表示惩罚因子,在近似模型更新过程中会根据近似模型效果进行增大或减小;I为单位矩阵;
按照所述的动力学模型,其参数按照公式(12)进行更新,直至公式(10)表示的损失函数值满足给定拟合要求;损失函数值满足拟合要求表明,工业机器人在辨识轨迹运动过程中,动力学模型根据轨迹计算得到的转矩估计值序列与转矩真实值序列的均方根误差满足给定的误差范围。
7.根据权利要求1所述的一种基于神经网络的工业机器人动力学辨识方法,其特征在于,步骤S5的模型验证即对近似模型进行评价,给定一段在可行工作空间中的任意轨迹,通过近似模型计算的估计转矩与电机输出转矩真值之间的均方根误差满足给定的拟合要求。
CN201911208932.4A 2019-11-30 2019-11-30 一种基于神经网络的工业机器人动力学辨识方法 Active CN110941183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911208932.4A CN110941183B (zh) 2019-11-30 2019-11-30 一种基于神经网络的工业机器人动力学辨识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911208932.4A CN110941183B (zh) 2019-11-30 2019-11-30 一种基于神经网络的工业机器人动力学辨识方法

Publications (2)

Publication Number Publication Date
CN110941183A true CN110941183A (zh) 2020-03-31
CN110941183B CN110941183B (zh) 2021-09-21

Family

ID=69909199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911208932.4A Active CN110941183B (zh) 2019-11-30 2019-11-30 一种基于神经网络的工业机器人动力学辨识方法

Country Status (1)

Country Link
CN (1) CN110941183B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111546336A (zh) * 2020-04-29 2020-08-18 北京航空航天大学 一种用于机器人系统的灰箱模型参数辨识方法及系统
CN112327630A (zh) * 2020-11-19 2021-02-05 上海交通大学 一种卷积神经网络的半参数化工业机器人动力学建模方法
CN112621760A (zh) * 2020-12-29 2021-04-09 中国科学院自动化研究所 基于神经元增益基元组合优化的机器人运动控制方法
CN112731812A (zh) * 2020-12-29 2021-04-30 中国科学院自动化研究所 基于神经元增益调制的机器人运动控制方法、系统、装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847954B1 (en) * 1999-08-23 2005-01-25 Fisher Rosemount Systems, Inc. Control-loop auto-tuner with nonlinear tuning rules estimators
CN102501251A (zh) * 2011-11-08 2012-06-20 北京邮电大学 带有动态摩擦补偿的机械臂关节定位控制方法
CN106125548A (zh) * 2016-06-20 2016-11-16 珞石(北京)科技有限公司 工业机器人动力学模型参数辨识方法
CN107991877A (zh) * 2017-12-20 2018-05-04 东南大学 一种基于循环神经网络的动态模型辨识方法及系统
CN110161850A (zh) * 2019-04-24 2019-08-23 南京航空航天大学 一种工业机器人变参数刚度辨识与建模方法
WO2019167765A1 (ja) * 2018-02-28 2019-09-06 オムロン株式会社 シミュレーション装置、方法、及びプログラム
CN110456641A (zh) * 2019-07-23 2019-11-15 西北工业大学 一种固定时预定性能循环神经网络机械臂控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847954B1 (en) * 1999-08-23 2005-01-25 Fisher Rosemount Systems, Inc. Control-loop auto-tuner with nonlinear tuning rules estimators
CN102501251A (zh) * 2011-11-08 2012-06-20 北京邮电大学 带有动态摩擦补偿的机械臂关节定位控制方法
CN106125548A (zh) * 2016-06-20 2016-11-16 珞石(北京)科技有限公司 工业机器人动力学模型参数辨识方法
CN107991877A (zh) * 2017-12-20 2018-05-04 东南大学 一种基于循环神经网络的动态模型辨识方法及系统
WO2019167765A1 (ja) * 2018-02-28 2019-09-06 オムロン株式会社 シミュレーション装置、方法、及びプログラム
CN110161850A (zh) * 2019-04-24 2019-08-23 南京航空航天大学 一种工业机器人变参数刚度辨识与建模方法
CN110456641A (zh) * 2019-07-23 2019-11-15 西北工业大学 一种固定时预定性能循环神经网络机械臂控制方法

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
CLAUDIO URREA: "Design, simulation, comparison and evaluation of parameter identification methods for an industrial robot", 《COMPUTERS AND ELECTRICAL ENGINEERING》 *
HAMED RAFIEI: "Modeling the Dynamic of SCARA Robot Using Nonlinear Autoregressive Exogenous Input Neural Network Model", 《26TH IRANIAN CONFERENCE ON ELECTRICAL ENGINEERING》 *
NGUYEN NGOC SON: "Adaptive neural model optimized by modified differential evolution for identifying 5-DOF robot manipulator dynamic system", 《METHODOLOGIES AND APPLICATION》 *
严科伟: "基于LV-SVMs的UUVNARX 动态辨识模型", 《造船技术》 *
张平: "Online robotcalibrationbasedonvisionmeasurement", 《ROBOTICSANDCOMPUTER-INTEGRATEDMANUFACTURING》 *
张平: "Online Serial Manipulator Calibration Based on Multisensory Process Via Extended Kalman and Particle Filters", 《IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS》 *
张平: "基于LSOA 的机器人控制系统设计方法", 《计算机测量与控制》 *
张虎: "面向标定的工业机器人建模及参数辨识方法研究", 《中国优秀硕士论文全文数据库》 *
耿宏: "基于NARX神经网络航空发动机参数动态辨识模型", 《计算机工程与应用》 *
陈恩伟: "机器人末端臂惯性参数辨识的人工神经网络方法", 《中国机械工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111546336A (zh) * 2020-04-29 2020-08-18 北京航空航天大学 一种用于机器人系统的灰箱模型参数辨识方法及系统
CN112327630A (zh) * 2020-11-19 2021-02-05 上海交通大学 一种卷积神经网络的半参数化工业机器人动力学建模方法
CN112621760A (zh) * 2020-12-29 2021-04-09 中国科学院自动化研究所 基于神经元增益基元组合优化的机器人运动控制方法
CN112731812A (zh) * 2020-12-29 2021-04-30 中国科学院自动化研究所 基于神经元增益调制的机器人运动控制方法、系统、装置

Also Published As

Publication number Publication date
CN110941183B (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN110941183B (zh) 一种基于神经网络的工业机器人动力学辨识方法
CN107703747B (zh) 一种面向搅拌摩擦焊应用的重载机器人动力学参数自标定方法
CN109514602B (zh) 一种基于负载自适应辨识的工业机器人力矩补偿控制方法
CN109249397B (zh) 一种六自由度机器人动力学参数辨识方法和系统
Gautier et al. On the identification of the inertial parameters of robots
CN108227492B (zh) 一种六自由度串联机器人末端负载动力学参数的辨识方法
Duchaine et al. Computationally efficient predictive robot control
CN113748597B (zh) 电动机控制装置
CN113021331B (zh) 一种七自由度协作机器人动力学建模与辨识方法
CN110065073B (zh) 一种机器人动力学模型辨识方法
CN110962124B (zh) 切削加工机器人静态误差补偿与动刚度模型的修正方法
CN114169230A (zh) 一种机器人动力学参数的辨识方法
CN112743541A (zh) 一种无力/力矩传感器机械臂软浮动控制方法
CN112179551B (zh) 机器人的关节电机转矩系数与摩擦力同步测试方法和装置
Indri et al. Friction modeling and identification for industrial manipulators
CN112571420A (zh) 一种未知参数下的双功能模型预测控制方法
CN114952858A (zh) 一种基于摩擦补偿控制的工业机器人轨迹跟踪方法和系统
CN111872933B (zh) 一种基于改进二次型迭代学习控制的scara机器人轨迹跟踪控制方法
CN116690559A (zh) 基于时空图卷积网络的工业机器人关节力矩补偿方法
CN116635802A (zh) 数控装置
CN114516050B (zh) 基于位形雅可比条件数优化的机器人外力估计方法及系统
CN114800519B (zh) 一种考虑摩擦的六自由度工业机器人动力学参数辨识方法
CN113290554B (zh) 一种基于值迭代的Baxter机械臂智能优化控制方法
CN111473899B (zh) 基于双扩展卡尔曼滤波估计串联粘弹性作动器力矩的方法
CN117021109A (zh) 基于六维力传感器的机械臂末端负载动力学参数辨识方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant