APP下载

基于机器视觉的非特定物体的智能抓取系统的研究

2021-06-02

计算机测量与控制 2021年5期
关键词:标定坐标系神经网络

(青岛科技大学 信息科学技术学院,山东 青岛 266061)

0 引言

近年来,作为人工智能技术的热门分支之一,机器视觉发展突飞猛进,逐渐渗透到人们的生产生活中[1]。目前,基于深度相机与传统机械臂构建手眼系统,使机械臂能够完成智能自主的抓取,是机械臂的主流发展趋势[2]。通常来说,机械臂必然是要和物理世界进行交互,对于未见过的物体,人类几乎本能地知道如何抓取;但是,机械臂抓取检测的表现远不如人类。因此,本系统致力于从给定的深度图像中得到一个非特定物体的可靠抓取位置,以便于机械臂实施进一步的抓取。

本系统以将六轴机械臂与深度相机相结合,以机器人操作系统(Robot Operating System,ROS)为软件平台,对机械臂手眼标定、目标检测、运动规划等方面进行了研究探索。针对机械臂无法确定非特定物体的可靠抓取位置的痛点,采用了深度学习中的卷积神经网络确定目标物体的抓取位置信息,提高了机械臂的自主抓取能力。

1 系统总体设计

对于该机械臂智能抓取系统的组成,包括深度相机、机械臂以及计算机三部分,分别对应于图像采集、目标抓取和图像信息处理。硬件结构组成如图1所示。

图1 系统硬件图

深度相机中额外的深度信息对于与三维空间交互的机械臂来说至关重要[3],系统采用奥比中光的Astra深度相机,有效探测深度范围为0.6 m到8 m之间;机械臂采用的是高斯机械臂,该机械臂具有6个关节自由度,最大延伸半径可达437 mm,重复定位精度在2 mm左右;计算机为搭载了酷睿i5的笔记本电脑,具备运行神经网络模型和处理深度图像的能力。

系统正常工作流程为,系统将对深度相机捕获到的视频帧进行预处理,并将该帧图像输入神经网络,得到的输出为图像中目标物体的抓取位置信息,系统将该信息发送给机械臂,机械臂根据该信息在机械臂的工作空间内进行抓取操作。

2 相机标定与手眼标定

该机械臂智能抓取系统正常运行的一个前提是需要确定深度相机、机械臂与目标物体三者的三维空间关系[4]。相机标定的目的是为了建立相机成像的几何模型,获取相机内参矩阵并矫正相机由于透镜产生的畸变;手眼标定的目的是获取机械臂坐标系和相机坐标系的坐标转换关系,将相机下的目标物体的位置信息变换到机械臂坐标系,机械臂根据变换后的位置信息抓取目标物体。

2.1 相机标定

相机的成像模型如图2所示。设O-x-y-z是相机坐标系,现实空间点P的成像落在物理成像平面O′-x′-y′上,成像点记为P′。而像素平面固定在物理成像平面上,在像素坐标系o′-u-v中,o′位于图像的左上角,u轴、v轴分别与x轴、y轴平行,故记P′的像素坐标为(u,v)。设被拍摄物体在图像坐标系的坐标为(x′,y′),由此可用如下矩阵来表示像素坐标系与图像坐标系的坐标转换关系:

图2 相机成像模型图

目标物体存在于世界坐标系中,为了获得相机与目标物体的转换关系,还需要建立相机坐标系到世界坐标系的联系。设目标物体在相机坐标系下的坐标为(x,y,z),f为焦距,根据图像坐标系与相机坐标系的转换关系可得:

由于相机是在世界坐标系下的刚体,结合三维空间的刚体运动相关知识,可以得到像素坐标系与世界坐标系的联系,数学公式表示如下:

张正友标定法由于精度高、操作简单、无需辅助设备等优点[5],已成为目前主流的相机标定方法之一。在打印出标定所必须的棋盘格之后,系统采用张正友标定法对深度相机进行标定操作。

2.2 手眼标定

手眼标定有两种模式,即“眼在手上”和“眼在手外”。“眼在手上”是指相机以某种方式固定在机械臂末端,与机械臂末端保持相对静止;“眼在手外”与“眼在手上”相反,相机与机械臂并不是一体的,而是与目标物体保持相对静止。考虑到图像的稳定性、清晰度等对目标检测的影响,系统采用“眼在手外”的模式。

无论是哪种手眼标定模式,其核心是求解AX=XB[6]中的X,该式中的X就是手(机械臂末端)与眼(深度相机)之间的坐标变换矩阵。

在“眼在手外”这种模式中,标定板固定在机械臂末端,如图3所示。系统需要求的机械臂基座与深度相机之间的变换矩阵,即X=TBC。在这情况下,相机与机械臂基座的坐标转换(TBC)不变;标定板与机械臂末端的坐标转换(TEO)不变。

图3 “眼在手外”模型图

机械臂末端夹着标定板任意移动两个位置,由于机械臂末端和标定板在两次运动中位姿关系保持不变,故有如下数学变换:

TE1BTBCTCO1=TE2BTBCTCO2

根据上述的手眼标定的核心公式可得:

X=TBC,

系统采用了基于ROS的easy_handeye标定包,该标定程序降低了手眼标定流程的复杂度,在提高了标定效率的基础上,也兼顾了标定精度。

3 目标物体抓取位置的检测与标记

在生产生活中,抓取物体是机械臂的基本操作,结合机器视觉的机械臂抓取任务是一个多领域交叉的长期的、富有挑战性问题。传统抓取方法一般需要事先知道目标物体的三维扫描模型,对深度图像进行点云配准,确定几何约束,提高抓取成功率[7]。目前,机械臂的研究已经逐步将深度学习应用于机械臂的抓取问题中,且较之传统方法,抓取成功率明显提升。

本设计采用了Joseph Redmon等人于2015年提出的一种针对深度图像中目标物体的抓取问题“量身打造”的卷积神经网络模型[8]。与传统方法相比,该抓取模型可以很好地推广到新物体上,而且只需要单一视图,而非完整的3D模型。该卷积神经网络模型的主要思想是将单个神经网络应用于整个图像,预测抓取坐标,由于避免了在图像的小块区域上多次运行规模较小的分类器的计算开销,转而对一个物体的完整图像进行全局抓取预测,所以网络性能表现相当优异。

对于目标物体的抓取问题,业内一般采用Lenz等人提出的针对机器人抓取的五维表示法[9]。一次抓取表示为一个矩形,涵盖了位置、大小与方向:

g=(x,y,θ,h,w)

(x,y)表示矩形的中心,θ表示矩形相对于水平方向的偏转角,h和w分别表示矩形高度和宽度,如图5所示。使用五维表示法的目标抓取问题与计算机视觉中的目标检测问题类似,仅仅是多了抓取方向这一项。

图4 五维表示法说明图

该神经网络在Krizhevsky等人提出的AlexNet的基础上,结合实际抓取问题,做出了一些相应的改变。该网络有5个卷积层,再之后是3个全连接层,在卷积层之间穿插着若干池化层。全连接层之后是输出层,输出层有5个输出神经元,与抓取的坐标相对应,其中4个神经元对应于抓取矩形的中心位置、高度和宽度,剩余的一个神经元对应于偏转角的正切。该网络模型如图5所示。

图5 神经网络模型

该模型基于康奈尔抓取数据集进行训练,该数据及包含240种不同的物体,885张图片。每一张图片都被标记了真实的抓取标记。值得一提的是,通过在ImageNet进行预训练,该模型在不牺牲抓取预测准确度的情况下,还可进行目标识别与分类。实验结果表明,该模型的抓取预测的准确度最高可达88%左右,每帧图像的处理速度在稳定在76 ms,兼具了准确性与实时性。

4 机械臂运动规划

运动规划是指机械臂在任务空间内,在给定目标物体的位置坐标和障碍物信息前提下,找到一条能够到达目标物体且不与障碍物发生碰撞的安全路径。相对于移动机器人,机械臂规划的空间维度更高,难度更大,国内外学者提出了很多运动规划算法,其中包括人工势场法、拓扑法、栅格法、蚁群算法、遗传算法等[10]。

该系统采用了改进的快速扩展随机树(RRT-connect)算法,该在传统RRT算法基础上改进为两棵树的双向扩展,节省了搜索时间,在一定程度上提高了扩展树在任务空间内搜索性能。

4.1 RRT算法

RRT的基本思想是在机械臂的任务空间内,在不与空间内障碍物发生碰撞的情况下,以树的形式扩展,直到该树扩展至目标物体附近[11]。算法步骤总结如下:

(1)确定规划的起点。将机械臂末端夹爪的三维坐标作为树的根节点,以此节点向外扩展。

(2)随机扩展采样。在机械臂的三维解空间中,随机生成一个点XR。

(3)生长点的选择与碰撞检测。找到该树上与XR最近的节点XN。连接XR与XN,判断连线是否与空间障碍物发生碰撞。如果发生碰撞,摒弃XR;否则将XR加到树上,记为Xnew。

(4)是否终止扩展。如果Xnew与目标点的距离小于某个阈值,即该树扩展至目标节点附近,终止扩展。否则,重复(2)(3)(4)过程。

RRT算法也存在一些不足。RRT算法虽然适用性较高,适用于二维与三维空间,但是当规划范围较大且环境中障碍物较多时,RRT算法会盲目扩展,效率变得低下。

4.2 改进的RRT算法

针对RRT算法的缺点,该设计采用了一种改进的RRT算法,即RRT-Connect算法。算法基本思想是从初始节点和目标节点同时生长两棵快速扩展随机树来搜索规划空间,减少无用搜索,提高搜索效率[12]。该算法步骤总结如下:

(1)确定规划起点和终点。将起点和终点分别作为两棵搜索树的根节点,分别命名为T1和T2。

(2)T1随机扩展与碰撞检测。在机械臂的三维解空间中,以T2最新节点为目标点随机生成一个点XR1。设该树上与XR1最近的节点为XN1,若XN1与XR1的连线未与空间障碍物发生碰撞,将XR1加入T1,记为Xnew1;否则摒弃XR1,重复(2)直到找到一个新的节点。

(3)T2随机扩展采样。T2以Xnew1为目标点扩展,在三维空间中随机生成一个点XR2。设T2上与XR2最近的点为XN2。若XR2与XN2的连线未与空间障碍物未发生碰撞,则将XR2加入T2树中,记为Xnew2。

(4)是否终止扩展T2。如果XR2与XN2的连线在空间中与障碍物发生碰撞或XR2与Xnew1的距离小于某个阈值,则终止扩展T2。否则,重复(3)(4)。

(5)终止条件。如果T1与T2最新生长出来的两个点之间的距离小于某个阈值,两棵树终止扩展,算法结束。否则选择节点数较少的树进行随机扩展直至发生碰撞或满足终止条件。

该系统的机械臂运动规划是基于ROS的MoveIt!软件包实现的,开源运动规划库(The Open Motion Planning Library,OMPL)包含各种运动规划算法,也是MoveIt!默认的运动规划包。系统给定机械臂坐标系下的位置坐标后,系统通过MoveIt!中的相关运动规划算法来驱动机械臂末端到达指定位置,抓取物体。

5 实验结果与分析

5.1 实验步骤

该系统设计最核心的部分是以深度相机和机械臂构成的“手眼系统”,深度相机负责采集视野内的目标物体,用卷积神经网络预测的抓取位置在图像中的目标物体上以矩形框的形式表现出来,在图6中展示了系统对9种目标物体可靠抓取位置的预测。除此之外,对网络模型的输出值和机械臂是否抓取成功的结果进行分析也是非常必要的。在像素坐标系下,网络模型对抓取位置以五维表示法输出后,系统进一步将该结果转换到机械臂坐标系下,结合深度相机的深度信息,机械臂对目标物体实施抓取。

图6 目标抓取位置预测图

神经网络预判出目标物体的可靠抓取位置,再之后将该位置信息发送给机械臂,机械臂在通过运动规划算法进行合理的运动规划后,驱动各个关节使末端夹爪到达指定抓取位置,进行抓取操作。

系统测试实验结果主要包括两部分,一部分是网络模型的输出结果,另一部分是根据神经网络模型输出机械臂是否能够成功抓取目标物体。所以实验数据的分析包括两部分,一部分是卷积神经网络模型的抓取位置标记表示,另一部分是神经网络模型的输出值以及机械臂是否抓取成功统一展示,然后进一步对实验结果进行分析。

5.2 实验数据

根据实际情况,在此系统只对部分实验数据结果进行展示。

图6展示了神经网络模型对9种非特定物体抓取位置的预测,并进一步以矩形框的形式标记出来。表1中展示了网络模型的对9种目标物体预测抓取位置信息以及后续机械臂是否能够抓取成功。

表1 网络模型输出结果及机械臂是否抓取成功

5.3 实验结果分析

实验结果表明,该系统相对于传统机械臂,其自主抓取能力表现亮眼。上述实验数据包含正确的预测和不正确的预测,比如图6第九张图片中,碗的抓取位置预测是绝对不是一个可靠的抓取。该系统针对20种目标物体的不同位姿进行抓取位置预测,机械臂进一步实施抓取。系统共进行了360次抓取实验,其中抓取位置预测准确率达到了85%左右。由于抓取目标体积、厚度、光线等因素,机械臂抓取成功次数为297次,综合抓取成功率为82.5%。

6 结束语

系统是以深度相机与机械臂为基础构建“手眼系统”,深度图像处理采用了Joseph Redmon提出的一种卷积神经网络预测相机视野内目标物体的可靠抓取位置作为机械臂抓取的重要依据,在机械臂运动规划方面,使用改进的RRT(RRT-Connect)方法抓取目标物体,提高抓取效率。虽然系统在实验环境下有诸多限制,但系统还是表现出了相当优异的性能。此外,系统采用ROS,代码可移植性高,扩展性良好,对二次开发友好,便于根据具体的工业环境需求进行相应的变更,满足工业生产需求。该系统针对传统机械臂的弊端进行优化改进,致力于机械臂的智能抓取,对工业智能化、自动化具有重要意义。

猜你喜欢

标定坐标系神经网络
基于神经网络的船舶电力系统故障诊断方法
独立坐标系椭球变换与坐标换算
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
极坐标系中的奇妙曲线
使用朗仁H6 Pro标定北汽绅宝转向角传感器
CT系统参数标定及成像—2
CT系统参数标定及成像—2