基于末端开环视觉系统的机器人目标抓取研究
2012-09-12杨贺然张莉彦
杨贺然,张莉彦
(北京化工大学机电工程学院,北京 100029)
基于末端开环视觉系统的机器人目标抓取研究
杨贺然,张莉彦
(北京化工大学机电工程学院,北京 100029)
以MOTOMAN-SV3X机器人、摄像机和传动带为基础,构建了一个基于机器视觉的机器人目标抓取系统。本系统中摄像机和机器人分别布置在传动带两端,其工作原理为:利用视觉定位和系统标定结果,经过坐标系转换将位姿信息转化到机器人基础坐标系中,然后根据位姿信息进行运动学逆解得相应的控制文件,最终实现摄像机在一端拍摄,机器人在另外一端对目标进行抓取。抓取实验结果验证了此系统的可行性和实用性,为提高生产线的自动化程度提供了一种新的方法,对后续的相关研究做了铺垫。
机器视觉;机器人;末端开环;单目定位;角点检测;HALCON
0 引言
抓取操作是机器人工作时的最基本动作,其他任何复杂任务都可以看作是抓取动作的组合。为了增加抓取的准确性和实时性,通常的方法是给机器人添加视觉传感器,利用视觉功能对目标进行定位,然后将定位信息构成反馈,控制机器人进行抓取。目前国内对基于视觉工业机器人抓取的已有研究有:(1)基于单目视觉的机器人智能抓取系统[1]。这类系统一般将摄像机安装在工业机器人工作空间的上方,同时观察目标和机器人末端执行器,利用摄像机作为中间媒介建立起目标与机器人手之间的关系。(2)基于立体视觉的机器人控制系统[2]。这类系统一般是使用两台摄像机对目标同时进行拍摄,利用视觉差和立体匹配技术获取目标的空间位姿,从而对机器人抓取进行控制。这两种方法都有其局限性:第一种方法要求摄像机能够同时观察到目标和机器人手,这对系统的配置要求较高,工作现场的条件时常不能满足。另外由于摄像机的安装位置原因,机器人手会对目标产生遮挡,导致抓取失败;第二种方法由于使用到了两台摄像机,硬件成本提高,并且计算量大,视场角较小[3]。因此笔者在对自动化生产线上常见工作任务特点进行调查后,构建了单摄像机和工业机器人分别固定安装在传送带两端的智能抓取系统。这种配置的优点:系统安装灵活,能够充分发挥视觉系统的功能,算法简单计算量少。由于目标和机器人手不能同时出现在摄像机视野中,因此也被称作末端开环视觉系统。
1 末端开环系统抓取原理
为了得到参数化的位姿信息,要对系统进行标定。首先是对摄像机进行标定,得到摄像机的内外参数,结合PNP原理建立起空间中一点和图像坐标系中一点之间的关系。然后是对机器人系统和摄像机之间的关系进行标定,建立起摄像机坐标系中一点与机器人基础坐标系之间的关系。
1.1 摄像机的标定
摄像机标定的过程是确定三维场景映射到二维图像的转换中,三维空间位置和图像坐标位置之间的相互关系的过程[4]。这一相互关系是由摄像机的成像几何模型确定的,为了更清楚的说明成像系统几何模型,首先要明确几个坐标系之间的关系。从世界坐标系中一点到图像上一点,共经历了四个坐标系之间的转换,它们分别为:世界坐标系{W};摄像机坐标系{C};成像平面坐标系{I}(以上坐标系单位为:mm);图像坐标系{CI}单位:pixel。其中世界坐标系到摄像机坐标系之间的关系构成了摄像机的外参;摄像机坐标系到成像平面坐标系符合成像几何原理,如图1所示;从成像平面坐标系到图像坐标系构成了摄像机内参。本文采用机器视觉软件HALCON中自带的标定程序和100mm*100mm的标定板对摄像机进行了标定,内参结果如表1所示。
表1 摄像机内参标定结果
图1 线性摄像机成像几何关系图
1.2 抓取系统的标定
由于机械手和目标不会同时出现在摄像机的视野中,所以无法使用传统的末端闭环手眼标定方法。为了建立起目标和机械人手之间的关系,在传送带上定义一个参考坐标系(ref)。如图2所示,该坐标系的x轴与传动带的中线重合,y轴指向机器人一侧,z轴垂直于传送带平面。
图2 末端开环系统目标抓取原理图
通过离线测量方法得到参考坐标系和机器人基础坐标系之间的关系矩阵refHbase,并将此位置作为计时起点。左侧方框区域代表摄像机的视野范围,右侧外圆区域为机器人的球工作空间,内圆区域为工作空间与传送带平面的相交圆,工件从左侧进入。由摄像机标定结果可以得到参考坐标系相对于摄像机坐标系的位姿camHref,这样就能计算出机器人基座坐标系相对于摄像机坐标系的位姿关系:
由图像匹配得到的camHobj,目标相对于参考坐标系的位姿关系可通过(2)式计算出来:
再利用(3)式就能计算出目标相对于机器人基础的位姿:
下面计算目标进出机器人工作空间的时间:由refHobj可得到目标中心点在参考坐标系x,y轴方向上的坐标(x0,y0)。由refHbase可知机器人基座坐标系原点在参考坐标系 x,y,z轴方向上坐标:dx,dy,dz。查询机器人手册可知,机器人工作空间球半径 R=677mm,则参考坐标系下的工作空间球方程为:
经计算得到传送带平面方程Z=0与工作空间相交的投影圆半径R=621mm,则机器人工作空间在参考坐标系平面上的投影圆方程为:
过目标中心点作一条平行于参考坐标系x轴的直线:
与投影圆相交于两点:(x1,y1),(x2,y2)。这两点便是目标进出工作空间的坐标点,由(5)、(6)式可计算出这两点x方向坐标值为:
目标速度v的计算,可在摄像机视野内,取间隔10张的两幅图像,计算目标中心在x轴方向的位移,除以拍摄这10张图像所经历的时间即可得到。有了进出工作空间点的x方向坐标和速度v,就能求出目标到达这两点的时间t1和t2,则目标在工作范围内运动的时间为t2-t1,可以选择这一时间段中任一个时刻对目标进行抓取。
2 目标定位
在HALCON中,使用单目摄像机对已知目标进行位姿估计的方法有三种[5]:第一种是针对目标尺寸已知情况下的,首先确定模板目标上至少三个非共线点的三维空间坐标,和这些点在图像中的对应像素坐标,然后利用算子vector_to_pose获得二维像素点和三维空间点之间的关系,创建目标模板,对后续的目标进行定位;第二种是可变尺度的匹配方法,利用摄像机标定的方法,将标定板直接放置在目标的上面,利用算子find_caltab和find_marks_and_pose便能得到模板目标相对于摄像机的位姿关系,然后创建可变形模板,对后续图像中的目标进行定位;第三种方法是基于描述符的匹配,这种方法与模板匹配类似,在创建模板之前,要对图像进行测试,当大约有50至450个均匀分布的点时,即可进行模板的创建。本文采用第一种和第二种结合的方法对目标进行定位,该方法的流程如图3所示。
图3 目标定位流程图
2.1 角点检测
由PNP问题的结论,当N=4时,如果这四个点是共面非共线点,那么有唯一解[6]。本文研究的对象为刚性物体,可以通过角点检测的方法获得工件图像中四个非共线点的坐标。角点检测方法很多[7],通过实验对几种常见方法进行了对比,如图4所示。
为了从中选择出最适合的算子,对得到的检测结果进行几项指标的对比,见表2。
表2 目标物体角点检测结果比较
由表2结果可以看出,改进Harris对图像噪点干扰的性能较Harris算法好,除了Foerstner和Susan算法丢失了一些角点外,其余四种方法对角点的检测都比较完整。但Lepetit算法对曲率的变化更为敏感,于是错将内孔边缘当作角点位置导致了大量的错判。综合正确率和漏检率两项指标,Sojka算子具有综合的优势结果。
2.2 基于可变形模板的匹配
上一节利用Sojka算子提取到了目标上非共线的四个角点坐标,利用vector_to_pose算子,结合摄像机标定结果求解P4P问题,得到目标三维坐标点和像素点之间的对应关系。然后创建可变形模板,就可以对后续的图像进行目标定位。目标定位实验如图5,结果如表3。
图5 目标定位
表3 目标定位结果
2.3 转化到机器人坐标系
上一节得到的定位结果,是目标相对于摄像机坐标系的位姿,根据第1节的原理可知,还需要进行一些矩阵变换,将其转化到机器人基座坐标系中,才能给机器人提供正确的位置信息。该流程如图6所示。
图6 位姿转化关系图
3 机器人目标抓取
对目标抓取过程可用机械手中心的路径点序列Pi(i=0,1,2,3,4,5)来表示。如图7 所示,本文采用目标抓取方案为:机器人首先从初始位置向目标位置进行移动,当到达目标位置时进行抓取,然后沿z轴提升一段固定距离,再将目标物体放置到指定的位置,为了避免机械手与其他物体相撞,同样把手臂末端沿z轴方向提升一段距离,然后回到初始位置,当下一个目标出现时,重复该过程。
MOTOMAN机器人有两种控制方式。一种是利用目标定位和轨迹规划的结果,实时生成机器人控制文件,然后通过Motocom32软件将生成的文件下载到机器人控制柜,执行控制文件,这样就能控制机器人完成期望的动作;另外一种是自己编制应用程序调用Motoman32库函数,通过串口向控制柜发出指令,控制柜执行指令驱动机器人动作,对机器人进行实时控制,完成抓取任务[8],本文采用第一种方法。
图7 目标抓取过程的路径轨迹规划
3.1 JBI文件实时生成
从上述的描述可以看出,抓取过程中有5个路径点,并且其中一些轨迹关键点可以是固定的空间点,例如提升、移动、放置和初始位置。每个路径点对应一个相对位姿关系,已知该关系通过逆运动学求解可将其转化成关节变量,然后通过关节角与脉冲值之间的转化关系,求出各个角度对应的脉冲值[9]。然后将抓取位置对应的脉冲信息结合JBI文件的格式赋值到指定行,生成控制文件。然后下载到机器人控制柜,便能完成对目标的抓取。该方法的流程如图8所示。
图8 控制文件实时生成流程图
3.2 目标抓取实验
通过坐标系转换得到目标在机器人基座坐标系下的坐标,将该坐标与抓取时从机器人控制软件上得到的机器人末端相对于基座的坐标进行对比,结果显示本系统所使用的方法具有较高的定位精度,能够满足实际生产中的要求。比较结果见表4,抓取实验如图9所示。
图9 目标抓取实验
表4 定位结果和实际位置的对比
4 结束语
本文构建的末端开环系统,是对已有系统结构的改进,扩展了视觉抓取系统的应用范围,能够更好的适应实际生产条件。工作原理的推导,为后续的研究打下了基础。成功的目标抓取实验,验证了本文原理推导的正确性和系统工作的可行性。对降低劳动强度,提高生产线自动化水平具有重要意义。
[1]吕游.视觉引导技术在工业机器人智能抓取中的应用[D].安徽:合肥工业大学,2009.
[2]刘鹏飞.基于立体视觉的机器人视觉伺服研究[D].西安:西安理工大学,2008.
[3]徐德,谭民,李原.机器人视觉测量与控制[M].北京:国防工业出版社,2011.
[4]王明昕,等.CCD摄像机内外参数标定技术研究[J].机械与电子,2004(3):12-14.
[5]Solution Guide Ⅱ-Shape-Based Matching[CP/DK]MVTec HALCON9.0.
[6]胡占义.关于P4P问题的一点讨论[J].自动化学报,2001(27):770-776.
[7]赵文彬,张艳宁.角点检测技术综述[J].计算机应用研究,2006(10):17-19.
[8]夏朝猛,钱新恩,刘白雁.动态UP6工业机器人运动轨迹的实时规划[J].湖北汽车工业学院学报,2005(19):42-45.
[9]胡中华.MOTOMAN-UP系列机器人离线编程系统的研究[D].南昌:南昌航空大学,2007.
Research of Robot Grasp Based on End-point Open Loop Vision System
YANG He-ran,ZHANG Li-yan
(College of Mechanical and Electronic Engineering,Beijing University of Chemical Technology,Beijing 100029 China)
Based on MOTOMAN-SV3X robot,camera and conveyor belt,an object grasping system founded on robot vision is built.In this system,the camera and robot are installed separately in both ends of the belt.The operational principles are that using the vision orientation and camera calibration results,the objects’poses are transformed into robot base coordinate after coordinate system transformation.Then the robot control files are generated based on pose information through inverse kinematic solution,and finally control the robot grasping the objects on the other end of belt.The grasping experiment results prove the reliability and practicability of the system,providing a new method to improve the automation of production line,and paving the way for subsequent related research.
machine vision;robot;EOL;monocular camera positioning;corner detection;halcon
TH16;TG65
A
1001-2265(2012)12-0037-04
2012-02-03
杨贺然(1988—),男,河南周口人,北京化工大学机电工程学院研究生,研究方向为机械电子工程,(E-mail)young_horizon@163.com
(编辑 李秀敏)