基于残差BP神经网络的6自由度机器人视觉标定

更新时间:2023-05-05 11:49:09 阅读: 评论:0

农业机械学报第52卷第4期2021年4月
doi:10.6041/j.issn.1000-1298.2021.04.040
基于残差BP神经网络的6自由度机器人视觉标定
李光章晓峰杨加超马祺杰
(湖南工业大学机械工程学院,株洲412007)
摘要:基于视觉伺服控制的机器人手眼标定和逆运动学求解一直是视觉伺服领域的核心问题。随着应用场景的逐渐复杂,传统手眼标定方法已无法满足需求;随着网络深度的增加,单一BP神经网络逆运动学求解算法的误差趋于饱和甚至变大,无法进一步提升网络性能。针对以上问题,本文将手眼标定和逆运动学求解融合为拟合目标图像坐标到机器人各关节角之间的映射关系问题,提出了一种残差BP神经网络算法。使用多个残差网络模块的方式加深BP神经网络的深度,残差模块的输入信息可以在网络内跨层传输,较好地解决了因深度增加网络模型容易产生梯度消失而无法提升网络性能的问题;通过6自由度机器人雅可比方程对逆运动学解的空间进行划分,确定了8个独立的区域,基于独立区域方法对训练数据进行处理,从而避免了多自由度机器人逆运动学多解对网络学习的影响,网络训练精度提升了2个数量级,训练速度提高了2倍。在REBot V6R型6自由度机器人输送线分拣系统中进行二维
平面抓取和三维实物抓取实验,实验结果验证了该方法的准确性。结果表明,该方法比1层BP 神经网络、3层BP神经网络、5层BP神经网络的训练精度分别提高了4个数量级、2个数量级、5个数量级,测试精度提高2个数量级;与传统标定方法相比,本文方法节约了逆运动学求解过程的计算成本,抓取位姿精度提高了1个数量级。
关键词:6自由度机器人;BP神经网络;残差网络;手眼标定;视觉伺服;逆运动学
中图分类号:TP242;TP183文献标识码:A文章编号:1000-1298(2021)04-0366_09
Vision Calibration of Six Degree of Freedom Robot Bad on
Residual BP Neural Network
LI Guang ZHANG Xiaofeng YANG Jiachao MA Qijie
(College of Mechanical Engineering,Hunan University of Technology,Zhuzhou412007,China) Abstract:The hand-eye calibration and inver kinematics solution of the6-degree-of-freedom robot bad on visual rvo control has always been the core problem in this field.With the application scene becoming more complex,the traditional hand-eye calibration method cannot meet requirements.At the same time,bad on the single BP neural network inver kinematics algorithm,the error tends to be saturated or even larger,which cannot further improve the network performance with the increa of network depth to a certain extent.In order to solve the above problems,the problem of hand-eye calibration and inver kinematics was integrated into the problem of fitting the mapping relationship between the coordinates of the target image and the joint angles of the6-degree-of-freedom ries robot,and a residual BP neural network algorithm was propod,the multiple residual network modules were ud to deepen the depth of the BP neural network,and the input information of the residual module can be transmitted across layers in the network.It solved the problem that the gradient of the network model was easy to disappear and cannot improve the network performance with the increa of depth.In addition,the space of the inver kinematics solutions was divided into eight unique regions by the six-degree-of-freedom robot Jacobi equation,and the training data were procesd bad on this way,the influence of multi-solution of inver kinematics of multi-degree-of-freedom robot on network learning was avoide
d,and the accuracy of network training results was improved by two orders of magnitude,and the training speed was incread by two times.Finally,two-dimensional plane grasping and three­dimensional physical grasping experiments were carried out in the REBot—V—6R6degree of freedom 收稿日期:20201209修回日期:20210127
基金项目:国家自然科学基金项目(11602082)和湖南省自然科学基金项目(2018JJ4079)
作者简介:李光(1963—),男,教授,博士,主要从事机器人智能控制研究,E-mail:ligua”g@hut•edu•c”
第4期李光等:基于残差BP神经网络的6自由度机器人视觉标定367
robot conveyor line sorting system,and the experimental results verified the accuracy of the method.
Compared with single-layer BP neural network,three-layer BP neural network and five-layer BP neural network,the training accuracy was improved by four orders of magnitude,two orders of magnitude and five orders of magnitude,respectively,and the testing accuracy was improved by two orders of magnitude,and the computational cost of inver kinematics was saved and the accuracy was improved by one order of magnitude.
Key words:six degree of freedom robot;BP neural network;residual network;hand-eye calibration;
visual rvo;inver kinematic
0引言
机器人视觉伺服系统是机器人领域的重要研究方向,该项研究对开发手眼协调机器人在工业生产、航空航天等方面的应用具有重要意义[1],而手眼标定和逆运动学求解是其重要的组成部分。
机器人视觉伺服系统是指通过摄像机获取目标物体图像的反馈信息、通过机器人逆运动学求解完成对机器人系统的控制。这往往需要通过手眼标定完成图像坐标系到机器人坐标系的映射求解,然后通过视觉传感器获取目标图像,确认目标在用户空间的位姿矩阵,通过逆运动学求解关节角,完成机器人末端对目标的控制。
传统的视觉标定算法通过构建几何模型完成图像坐标系到机器人坐标系的标定,由于受到几何模型的限制,往往很难在一个模型中完整描述镜头畸变和图像噪声,这已成为传统标定模型的发展瓶颈[5]。针对这一问题,文献[3]在求解标定方程之后对结果进行了优化,但并未解决传统视觉标定方法的问题。文献[4-7]提出了一种无标定视觉伺服的方法,通过对图像雅可比(Jcobian)矩阵的估
计完成目标的控制,并通过不同的优化方法对此过程进行优化,但是实时性较差,并且会受到机器人运动模型的影响,在实际应用中精确度不高。
神经网络具有良好的非线性逼近特性和自适应、自学习能力,采用神经网络拟合手眼关系的方法成为在视觉伺服研究的热点。彭西[8]使用神经网络对机械臂进行了手眼标定,但是无法获得机器人逆运动学解;文献[9-10]使用PSO优化的RBF神经网络进行逆运动学求解,但是PSO算法中的初始因子需要自定义,对优化影响较大,且受限于RBF 神经网络特殊的浅层结构,无法进行深层学习,故精度无法得到进一步提高;文献[11-12]针对多自由度机器人,基于BP神经网络求解逆运动学,但是随着网络深度的增加,网络性能逐渐下降,使网络受限于此,精度无法进一步提高。
针对以上问题,本文提出一种残差BP神经网络算法,通过残差模块使浅层信息能够向更深层传递,以拟合机器人系统中关节角和抓取目标在像平面下像素坐标之间的映射关系,并通过6自由度机械臂的雅可比矩阵方程确定8个唯一域,对数据进行处理,以消除训练过程中逆运动学多解对训练结果的影响。通过实验比较不同深度下BP神经网络和残差BP神经网络对二维运动目标的抓取结果,以验证残差BP神经网络的性能和精度;在三维空间进行实物的抓取实验,以验证基于残差BP神经网络标定方法相对于传统标定方法的优势。
1残差BP神经网络构建
1.1残差模块
误差反向传播神经网络(BP neural network)具有多层结构,分别是输入层、隐含层、输出层[13],如图1所示。
输人层-匾和言
图 1BP神经网络
Fig.1BP neural networks
图1中,输入层有M个神经元,输入向量X= (X1…,X m)T;隐含层有I个神经元;输出层有J 个神经元,输出向量Y=(y1,y5,^,y J)T。棕皿是输入层与隐含层之间的权值,气是隐含层与输出层之间的权值。隐含层各神经元阈值为a,(i=1,2,…, I),输出层各神经元阈值为勺(j=1,2,…,J)。
根据图1可以得到网络输出[14]为
(j=1,2,…,J)(1) BP神经网络通过权值和激活函数拟合非线性映射关系,但是随着网络层数的增多,梯度呈指数累积,在训练时会产生消失的问题,让网络学习能力达到饱和,精度不仅无法提高甚至会出现下降的情况。
368农业机械学报2021年
HE等[15]提出一种残差网络结构,用于解决深度学习中随着深度增加网络学习能力下降的问题,被广泛用于卷积神经网络中[16-19],并为其他神经网络结构解决此类问题提供了思路。
本文设计了一种残差模块(Residual block),如图2所示。残差模块基本组成部分为:1个隐含层和1个BatchNorm层以及1个ReLU层构成的训练模块,简称为LBR(Linear BatchNorm and ReLU)模块,以及一个负责修改维度的单隐含层和BatchNorm层,称为维度修改(Dimension change)模块。残差模块之间能够跳转求和并在下一个模块的节点之前通过ReLU函数激活。
F(%)=ReLU亿+%J
图2残差模块
Fig.2Residual block
LBR模块负责训练数据,维度修改模块负责修改训练后LBR模块输出维度,使得其能够与下一个残差模块的输出进行等维度求和。
残差模块正向传播计算步骤为:①Linear Layer1:残差模块第1个隐含层,其输出为y1= w:X1+b]o②BatchNorm Layer:归一化层,对儿进行归一化。③ReLU Layer:激活函数层,激活函数为ReLU函数,输出为max(0,儿)。④Linear Layer2:残差模块第2个隐含层,负责修改上一层输出维度,便
于往下传播,输出为=w T^1+b2O
⑤BatchNorm Layer:归一化层,对y2进行归一化。
⑥模块输出为:F(x)=ReLU(y+心)。
因此,残差模块能够将上一层的信息传递到下一层,浅层信息传递到深层网络中能够使得网络在训练中梯度不易趋向于零,避免了多隐含层作用后梯度由于指数化而出现消失,使得网络丧失学习能力的问题。残差模块的结构保证了残差BP神经网络能够随着深度的增加继续保持学习的能力。
1.2残差BP神经网络结构
设计的残差BP神经网络(Residual BP neural network,ResBP)由4个残差模块和1个线性层组成,残差模块的LBR模块隐含层有25个节点,修改维度模块隐含层有6个节点。以隐含层数定义网络深度,则ResBP神经网络有9层。网络结构如图3所示。
LBKEocld L s-z r r y g smchangeEockl Dimchmnge B2Z
图3残差BP神经网络结构
R
e
s
H
-
o
c
k
Fig.3Structure of residual BP neural networks
2数据采集与处理
2.1串联6自由度机器人运动学模型
本文研究对象为REBot V6R型6自由度串联机器人。根据DH参数法[20]可以确定该机器人运动学模型,各关节坐标系所在位置如图4所示。
图4REBot V6R型机器人模型
Fig.4REBot V6R robot's module
根据DH参数法,第i连杆的参数定义为:a i为连杆长度,%为相邻两关节轴线的夹角,仏为第i根连杆和第i-1连杆的偏置距离,9为第i连杆的旋转角。从连杆坐标系i-1到下一连杆坐标系i的坐标转换,定义为基本旋转和平移,具体形式为
i一1A i(9,仏,a i,琢i)=T r z(仇)T z(dj T x(色)T r X(aj
(2)其中
i-1A=
i
cos9i一sin9i co sin9i sina i a i cos9f
sin9i cosa,cos9i一cos9i sina i a i sin9i
0sinQ i cos a i d i
0001
(3)式中i-1A i——第i-1个关节到坐标系i坐标变
化矩阵
第4期李光等:基于残差BP神经网络的6自由度机器人视觉标定369
T r Z——绕Z轴旋转矩阵
T rx——绕X轴旋转矩阵
T z——沿z轴平移矩阵
T x——沿X轴平移矩阵
机器人基座坐标系0到末端执行器坐标系6的
转换矩阵关系为
0T6(q)=0A1(91)1A2(?2)^5A6(?6)=4(<71,<72,
(4)
REBot V6R型6自由度串联机器人的DH
参数如表1所示。
表1REBot V6R型机器人DH参数Tab.1DH parameters of REBot V6R robot 关节兹di/m m a-i/m m琢i/rad
1兹10100仔/2
2兹202900
3兹30121仔/2
4兹43100-仔/2
5兹00仔/2
6兹6000
DH参数代入式(4)可得其正运动学数学模型,通过正向运动学可以控制机器人末端到达指定位置。
2.2目标物体运动模型建立
输送线目标分拣为6自由度机器人常见的应用场景之一,本文针对6自由度机器人在输送线分拣场景下的应用,将输送线上的目标运动分解为3自由度运动,即沿X、Y轴的移动以及绕Z轴的旋转,并设计了一种圆形的黑白相间的棋盘,模拟了目标在输送线平面上运动的位姿,如图5所示。圆盘直径为机械臂抓取的最大工作范围,圆盘上一共180个外圆角点和1个中心角点,每个外圆角点可视作绕中心角点做旋转运动,其像素坐标(u,v)(单位:像素)代表目标运动的位置,初始角点和中心角点的向外连线为绕z轴旋转的初始姿态,其他角点和中心角点连线与其夹角滓(单位:rad)按顺时针方向逐渐增大。
在空间内选定与输送线平行的平面安装相机,且保证抓取区域始终在相机视野内,采集圆盘图像并通过图像处理采集角点的亚像素坐标(u,v)0]。角点识别结果如图6所示。
实验过程中通过安装在机器人末端的激光装置判断末端位姿。具体过程为:通过示教平台控制机器人使激光装置发射的十字形光线交点到达圆盘角点位置,且选取十字光线中的一条分支和外圆角点半径重合,则认为末端到达理想位姿,记录此时各关节参数(兹1,兹2,…,兹6)。实验系统如图7所示。
图5标定圆盘
Fig.5Calibration disc
图6角点识别结果
Fig.6Corner recognition result
图7实验系统实物图
Fig.7Physical diagram of experimental system
标定圆盘模拟了输送带上目标的运动情况,通过摄像机获取圆盘图像,通过角点识别得到每个样本点的像素坐标,以此得到均匀分布的数据样本,即圆盘图像上均匀分布的每个角点对应输送带空间的一个位姿,每组位姿对应机械臂不同的关节角组合,通过网络训练完成由目标图像到机械臂关节角的映射关系的拟合。
其中,像素坐标和旋转角(u/w,v/h,a z)为神经网络的输入,其中w、h为图像宽、高,其对应的关节角(兹1,兹2,…,兹6)为网络输出。
在实际抓取过程中,由摄像头获取目标的图像,通过图像处理得到目标图像的中心位置和旋转角,
370农业机械学报5051年
作为网络输入得到目标对应的机械臂的关节角,在运动学层面完成抓取动作。这一过程并不需要逆运动学求解,节约了大量的计算和时间成本。然而,未经处理的样本数据直接用于网络训练往往会导致精度低、训练速度慢等问题,因此需要结合机械臂的运动学特性对样本数据进行进一步处理。
2.3基于唯一域数据集的划分
由文献[22]可知,一个空间位姿矩阵可以对应8组关节角的解,RASTEGAR等[53]最早提出利用det(J)=0(J为雅可比矩阵)的方程,将非冗余机器人关节空间划分为与逆解数目相同的唯一域,再在每个唯一域中用数值法迭代求解,进而求得所有逆运动学解。针对6自由度机械臂,由det(J)=0可得8个封闭的解,为了避免机器人逆运动学多解对网络训练的干扰,由雅可比矩阵等于零可将关节角分为8个独立的域[54](Unique domain,UD),根据所求域的范围将训练数划分为独立的小批量数据,分批次进行网络训练。REBot V6R型机器人雅可比行列式为
det(J)=匕P:P3 (5)其中
屮1=d3sin&5
<P:=«3cos^3一d4sin^3
P=l]+d3cos(兹5+兹3)-«3sin(兹5+兹3)+a:cos^5
(6)式中人一一第1个关节与第2个关节之间偏置的
长度,取100mm
由P1=0可得兹5=-仔或兹5=仔;由P5=0可得兹3为0.3721、3.5127、-2.7695rad;P3=0不易解,可将其视为函数结合兹3的可得函数图像,如图8
其中,UD1为兹3沂[0.3721,3.5127]rad且P5<0的区域;UD5为兹3沂[-2.7695,0.3721]rad 且P5<0的区域;UD3为兹3沂[0.3721,3.5127]rad 且P5逸0的区域;UD4为兹3沂[-27695,0.3721]rad 且P5逸0的区域。
结合兹5可分为两个域[-仔,0]、[0,仔],6组关节角所在值域总共可以分为8个互不相交的唯一域,如图9所示
图98个唯一域组合示意图
Fig.9Eight combinations of unique domains 处理后部分数据如表2所示
表2基于唯一域数据划分
Tab.2Data partition bad on unique domain 序号
输入(u,vQ z)/
(像素,像素,rad)
输出(兹j,兹2,兹3,兹4,
兹5,兹6)/rad
1
(8.7397585,(3.60,57.07,38.71,-0.73,
351.2122,0)-10.87,-1.718) 2
(252.39111,(-3.56,57.07,38.71,-0.73,
328.85974,18)-12.67,-1.89) 3
(69.682434,(1.09,56.99,45.31,0.63,
165.86198,36)-15.58,-2.29) 4
(279.99036,(-5.08,56.99,45.31,0.63,
291.32648,54)-11.25,-2.51) 5
(228.25613,(-5.52,57.11,46.86,0.63,
52.275562,72)-8.77,-2.80)
3实验与结果分析
3.1BP神经网络实验结果
针对同一数据,分别使用了1层隐含层(隐含层节点数为25)的BP神经网络、3层隐含层(隐含层节点数分别为6、9、25)的BP神经网络以及5层隐含层(隐含层节点数分别为6、9、25、25、9)BP神经网络进行训练,训练结果如图10所示。
图10不同隐含层数BP神经网络训练结果
Fig.10Training result of BP neural networks with
different hidden layers
由图10可看出,1层隐含层BP神经网络的误差在第125次训练达到最优,均方差可以达到1伊10-4rad,随着网络深度的增加,3层隐含层BP神经网训练时间变长,在第275次达到最小均方差,接近1伊10-6rado但是继续增加网络深度到5个隐含层时,网络性能无法继续提升,学习能力达到饱和,在第28次训练时提前结束了训练,均方差达到1x 10-3rad。
网络训练之后对同一20组非角点位置的测试

本文发布于:2023-05-05 11:49:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/531732.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图