基于GPR和KRR组合模型的机械臂抓取研究*
2021-12-30陈奎烨史旭华徐铭泽
陈奎烨, 史旭华, 徐铭泽
(宁波大学 信息科学与工程学院,浙江 宁波 315211)
0 引 言
机械臂广泛应用于工业生产的各个领域,基于视觉的机械臂自主抓取可以对不同种类和大小的物体实现快速识别和抓取,因而具有更好的适应性和鲁棒性。目前基于视觉的机械臂抓取方法大多需要对相机进行标定和机械臂运动学求逆才能获取目标物体在机械臂基坐标系下的位姿。视觉系统的标定精度受作业环境影响较大,且存在标定过程繁琐和计算复杂度高的问题。运动学求逆难以获得求解消耗时间与机械臂灵活性之间的平衡。
随着深度学习理论的成熟,越来越多的研究者将深度学习理论应用到机械臂抓取的研究中。文献[1,2]提出了一种基于深度学习的机械臂抓取方法,通过基于深度学习的目标检测算法获取目标物体的位置,再通过深度相机或视觉系统的标定获得相机坐标系与机械臂基坐标系的转换关系,控制机械臂完成对目标物体抓取,该方法实现了对不同物体的抓取,但相机坐标系与机械臂基坐标系之间的转换计算复杂,且视觉系统一旦标定,难以调整。文献[3]介绍了一种无标定闭环机械臂抓取控制方法,通过不间断计算机械手和目标物体在图像中的位置完成对目标的抓取,该方法无需视觉系统标定即可实现对不同类型目标物体的抓取,但需要使用深度相机获取深度图像信息,难以推广。文献[4]提出了一种基于高斯过程混合模型的机械臂抓取方法,通过示教采集数据,直接构建目标物体在图像中的坐标与机械臂关节角的映射关系完成对目标物体的抓取,为机械臂抓取控制提供了一种新的思路。
针对机械臂自主抓取过程中存在的标定困难和样本获取困难问题,本文提出了一种基于高斯过程回归(Gaussian process regression,GPR)和核岭回归(kernel ridge regression,KRR)组合模型的机械臂抓取方法,利用普通相机实现了对二维平面上的目标物体类别快速识别和定位,以及快速构建目标物体位姿与机械臂关节角的映射关系,无需视觉系统的标定和机械臂运动学求逆,可实现对各类目标物体较为准确的快速抓取。
1 系统框架与流程
系统框架及算法流程如图1所示。
图1 系统结构及算法流程图
此抓取方法主要包括目标物体检测与分割、目标物体位姿检测、以及机械臂抓取策略。首先使用摄像头获取目标物体的三原色(RGB)图像,将图像输入Mask-RCNN算法中,检测目标物体的类别并分割目标物体,根据分割出的目标物体获取目标物体的位置和姿态,然后根据训练好的组合抓取策略获取机械臂关节角度,最后控制机械臂抓取目标物体。
2 目标物体位姿估计
2.1 目标检测和实例分割算法
本文使用的目标检测和实例分割算法是Mask-RCNN[5],其框架结构如图2所示。
图2 Mask-RCNN结构
Mask-RCNN算法是在目标检测算法Faster-RCNN[6]的基础上引入了全卷积网络(fully convolutional network,FCN)的架构思想实现了对检测到的目标物体进行像素级的分割[7]。通过Mask-RCNN算法可以精准获取目标物体的类别以及在图像中的轮廓信息。
2.2 目标物体位姿估计
本文提出了一种针对不同物体的简易位姿估计方法,目标物体位姿如图3所示。根据Mask-RCNN分割出的实例获取目标物体在图像中的重心,所获得的重心点坐标(x,y)作为目标物体在图像中的位置,再根据分割出的实例的最小外接矩形的长边与图像横坐标的夹角θ作为目标物体在图像中的姿态,最终目标物体的位姿可表示为(x,y,θ)。将(x,y,θ)直接作为组合抓取策略的输入。
图3 目标物体的位姿
3 基于GPR和KRR组合模型的机械臂抓取方法
选择合适的模型学习映射函数对自主抓取任务至关重要。高斯过程模型在处理高维数、复杂的非线性回归问题时具有良好的效果,且仅需要少量的样本就可完成模型的训练。但在实际训练中,基于单个高斯过程的抓取模型并不能很好地拟合机械臂的最后一个关节角度,而与高斯过程联系紧密的核岭回归却在最后一个关节角的拟合中取得了较好的效果,且KRR模型同样适用于小样本回归问题,因而本文将两种模型进行了简单组合,提出一种基于GPR和KRR的组合模型的机械臂抓取方法。
3.1 高斯过程回归的基本原理
GPR是一种以贝叶斯理论和统计学习理论为基础的基于先验的回归分析模型,在处理高维数、小样本和非线性等复杂回归问题时具有良好的效果[8]。
高斯过程是任意具有联合高斯分布的有限随机变量集合X=[x1,x2,…,xn],其统计特性可由均值函数μ(x)和协方差函数k(x,x′)决定。高斯过程可以定义为
f(x)~GP(μ(x),k(x,x′))
(1)
式中x和x′为X中的任意随机变量。对于一般的带有高斯白噪声的标准线性回归模型有
y=f(x)+ε,f(x)=xTw
(2)
(3)
观测值y和预测值f*的联合先验分布为
(4)
式中K(X,X)为n×n阶对称正定协方差矩阵,K(X,x*)为新输入测试点x*与所输入点X的n×1阶协方差矩阵,k(x*,x*)为测试点x*自身的协方差,则可计算出f*的后验分布为
f*|X,y,x*~N(*,Cov(f*))
(5)
GPR中的协方差函数有多种形式,如RBF核函数、RQ核函数和SE核函数等,本文尝试了不同核函数的加法和乘法组合以获得更好的回归效果。
3.2 KRR的基本原理
KRR是结合了核技巧和岭回归的非线性预测算法,它使用核函数k(x,x′)=〈φ(x),φ(x′)〉把原始的非线性数据映射到一个核空间,使得数据在这个核空间里线性可分,进而可以在核空间中对数据进行线性岭回归[9]。
对于线性回归模型有
(6)
(7)
岭回归中引入了正则化来控制模型的复杂度,目标代价函数为
(8)
式中λ为正则化参数。
通过基于岭回归的换方法,将样本通过非线性变化xi→φ=φ(xi)映射到高维空间,则所求的最优解可表示为
(9)
将式(9)代入到式(8)中,变成对系数α求最优解
(10)
用核函数表示特征空间中的内积为K(xi,xj)=φT(xj)φ(xi),代入到式(10)中得到
(11)
转换为矩阵形式,可得
(12)
求导后整理可得
α*=(K+λI)-1Y
(13)
式中K为大小为n×n维的核矩阵,λ为正则化参数,I为单位矩阵,Y为n维列向量,Y=[y1,y2,…,yn]。
本文采用常用的高斯核函数
(14)
3.3 基于GPR和KRR的组合模型的抓取方法
基于GPR和KRR的抓取方法将目标物体的位姿作为输入,机械臂关节角度信息作为输出,通过分别训练GPR和KRR模型获得机械臂的抓取控制策略。具体方法如图4所示,其中将目标物体的像素坐标(x,y)作为GPR模型的输入,输出为机械臂关节角的前五个关节角度[α1,α2,α3,α4,α5],目标物体的位姿(x,y,θ)作为KRR模型的输入,输出为第六个关节角度α6。
图4 基于GPR和KRR的抓取方法
在学习阶段,通过示教模式拖动机械臂抓取目标物体获取训练数据,训练数据包括相机拍摄的图像以及对应的机械臂关节角度。通过位姿估计算法可获取目标物体位姿,使用获取的目标物体位姿和相应的关节角度信息对组合模型进行训练,获取位姿和关节角度的映射关系。机械臂自主抓取时,通过相机获取目标物体图像,确定目标物体位姿,利用映射关系获取相应关节角度,完成对目标物体的抓取。
4 实验结果与分析
4.1 目标物体位姿估计实验
Mask-RCNN的模型基于Tensorflow框架搭建,其训练所需的参数如下:基础学习率为0.001;最大迭代次数1 000;学习率衰减策略为“steps”,步长为50;权重衰减项为0.000 1。
将实际环境中拍摄的图片放入训练好的模型中测试,部分物体的检测和分割结果如图5所示,从所示结果可以看出,Mask-RCNN算法实现了较好的目标识别和分割。
图5 目标检测和分割结果
4.2 机械臂抓取实验
实验采用AUBO i5协作型机械臂,该机械臂有6个关节,有效工作范围半径886 mm,摄像头为戴浦1080P高清摄像头,夹持器为大寰的自适应两指夹爪AG—95L,最大行程为95 mm。
实验通过抓取5 cm小木块训练机械臂抓取策略,小木块的抓取训练数据由实验人员通过机械臂人工示教模式采集。首先将小木块放置于工作台任意位置,再通过摄像头获取含有小木块的图像,最后拖动机械臂抓取小木块,记录机械臂6个关节角度值。实验共进行了150次人工示教抓取,得到了机械臂的抓取数据集。
通过抓取小木块获取的抓取策略同样适用于其他相对规则物体的抓取。机械臂在自主作业阶段,测试了对不同物体的抓取。首先,将目标物体在工作台上的任意位置,通过摄像头采集图像,利用训练好的Mask-RCNN模型获取目标物体类别和分割后的图像并计算目标物体位姿,通过位姿和关节角映射关系获取相应的关节角度,控制机械臂完成抓取。自主抓取的具体过程如图6所示。
图6 AUBO i5机械臂抓取过程
机械臂抓取测试结果由实验人员判定。实验对不同规格的小木块、香蕉、胡萝卜、苹果、橙子和鼠标分别进行了抓取测试,针对每种目标物体分别进行80次抓取测试,各类目标物体抓取结果如表1所示,其中夹爪闭合过程中碰到目标物体即评定为机械臂到达成功,抓住目标物体并成功举起即判定为抓取成功。
表1 抓取实验结果
5 cm小木块在80次的抓取测试中,成功率为88.75 %,失败的抓取多数因末端执行器到达的位置与姿态不匹配,末端执行器在碰到目标物体后,不能进行有效的夹持操作。针对不同规格小木块进行的抓取实验所获得的结果可以看出,小木块规格变小时,会出现到达不成功的情况,进而导致抓取成功率下降,因此本文提出的抓取策略受制于定位精度的影响,难以实现对较小物体的精确抓取。
本文在验证了抓取方法有效性的基础上下,还进一步讨论了不同模型、样本数量和不同核函数对抓取效果的影响,分析模型的定位精度和抓取效果。模型的定位误差是指在机械臂基坐标系下的机械臂末端执行器的真实位置和预测位置之间的欧氏距离,距离越小,定位越精准。误差容限为机械臂抓取时所允许的最大定位误差,超过误差容限,则无法成功抓取物体。
仿真对比实验在人工采集到的训练数据集和测试数据集中完成。将不同条件下的对比模型在同一个训练集下进行训练,获取不同的抓取策略,并在同一个测试集下进行测试,针对测试集下的每一组目标物体位姿,都可获得多组关节角度预测值,通过机械臂正运动学算法计算出各组关节角度预测值所对应的末端执行器在机械臂基坐标系下的位置,并计算其与真实的位置的欧氏距离,所得到的欧氏距离小于误差容限且最后一个关节角度预测值与真实关节角度误差小于30°,则判定抓取成功,否则抓取失败。到达成功率不考虑最后一个关节角度预测值与真实关节角度误差。
本文将所提出的方法与高斯过程回归模型、核岭回归模型和混合高斯过程模型(mixture of Gaussian processes,MGP)在相同实验环境下进行了对比。在不同误差容限下的对比结果如图7(a)所示。机械臂在误差容限较小时,GPR和KRR的组合模型的抓取成功率明显高于其他三种模型,在误差容限较大时,四种模型的测试结果相差无几。在误差容限为30 mm时,组合模型的抓取成功率高于单一的GPR模型20.3 %,高于KRR模型21.9 %。而在误差容限为20 mm时,组合模型的抓取成功率更是高于GPR模型31.5 %,高于KRR模型38.4 %。由此可见,本文所提出的组合模型更能适用于定位精度要求相对更高的抓取任务中,可实现对较小规格物体的抓取。MGP模型的效果依赖于聚类效果,而本实验中训练数据集分布相对均匀,聚类效果较差,因此未获得良好的抓取效果。
本文选取了RBF,MAT,RQ,RBF+rRQ和RBF+RQ+MAT几类核函数及其组合而成的核函数进行了比较,具体结果如图7(b)所示。可以看出,通过加法运算组合的核函数在误差容限较小时效果更好,但效果相较于其它核函数并不是非常显著。
为了研究样本数量对于模型预测效果的影响,随机选取了50,75,…,150个随机样本对模型进行了训练和测试,预测效果如图7(c)所示。仿真实验中的测试点统一为200个。可以看出,当样本数量达到100时,模型的预测结果趋于稳定,更多的样本量对于提升模型预测精度的效果并不明显。
图7 实验结果
5 结 论
实验验证了该方法的可行性,实现了对不同目标物体较为精准的定位和抓取,该方法可以应用于精度要求相对较低且目标物体相对规则的抓取作业任务中。进行了3组对比实验,结果表明:1)本文所提出的方法在误差容限较小时明显优于单个GPR和KRR;2)通过加法运算组合的核函数相较于单个核函数具有更好的预测效果;3)在达到一定样本数量时,模型的预测结果几乎不再受样本数量影响。