彭辉辉 刘飞飞 代云勇 陈臻阳 陈文涛
摘 要: 针对机器视觉结合工业机器人进行自动分拣工作存在的物料识别和定位等问题,提出一种基于运动视觉的物料测距和定位方法。主要原理是通过安装在工业机器人末端的摄像头在移动过程中,对世界坐标系不同位置进行连续单点拍摄,进而获得类似双目视觉测距的必要参数,实现运动测距和定位的功能。针对现有的一种圆柱体工件自动分拣作业,利用视觉库(OpenCV for Python)处理图像数据,在机器人运行轨迹内进行逐点采样计算。实验结果表明,单目运动视觉测距和定位效果良好,平均定位误差小于4%,该测距方法在一定条件下能够达到精度要求,具有降低自动分拣系统升级成本的实际意义。
关键词: 工业机器人; 分拣系统; 移动视觉; 运动测距; 运动定位; 测距实验
中圖分类号: TN830?34 文献标识码: A 文章编号: 1004?373X(2020)20?0026?05
Application research of industrial robot sorting system based on mobile vision
PENG Huihui1, LIU Feifei2, DAI Yunyong1, CHEN Zhenyang1, CHEN Wentao1
(1. School of Mechanical and Electrical Engineering, Jiangxi University of Science and Technology, Ganzhou 341000, China;
2. School of Electrical Engineering and Automation, Jiangxi University of Science and Technology, Ganzhou 341000, China)
Abstract: In allusion to the material identification and positioning in the automatic sorting work of machine vision combined with industrial robot, a method of material ranging and location based on motion vision is proposed. The main principle is to continuous single point shooting at different positions in the world coordinate system during the movement of the camera installed at the end of the industrial robot, so as to acquire the necessary parameters that similar to binocular vision ranging and realize the function of motion ranging and positioning. In allusion to the existing automatic sorting operation of cylinder workpiece, the OpenCV for Python is used to process image data, and point?by?point sampling calculation is carried out within the robot′s trajectory. The experimental results show that the monocular motion vision ranging and positioning is good, and the average positioning error is less than 4%. The ranging method can meet the accuracy requirements under a certain conditions. It has practical significance to reduce the upgrade cost of the automatic sorting system.
Keywords: industrial robot; sorting system; mobile vision; motion ranging; motion positioning; ranging experiment
0 引 言
随着工业4.0的到来,生产制造产业面临越来越高的柔性加工需求。目前,工业机器人已经大规模引入自动化生产线中,其广泛应用于码垛、焊接、搬运、装配等工作中,代替传统人工劳动,大幅度提升了生产线的柔性制造水平 [1]。工业机器人因多关节、多自由度等特性而具有高柔性,但在工业现场复杂、物料情况多变的环境下,机器人轨迹调试具有较大难度。
为了提高机器人自主性,机器视觉结合工业机器人的应用是进一步提高生产加工柔性的主要发展趋势,如双目视觉的自动上下料系统[1]和深度学习算法的分拣系统[2]等。双目相机可以直接从图像数据中获得深度信息,解决了传统单目焦距适应、深度测距等问题,但也提高了相机的成本,同时算法的复杂度成倍增加,多路图像数据的并行处理难度大,对处理芯片的要求以及硬件的可靠性要求大大增加[3]。
目前,双目视觉技术主要用于自动驾驶及导航技术,而在传统制造业中,因成本高和开发难度问题,双目视觉技术仍有待发展,自动化生产线主流的方案仍是以单目相机为主的图像处理技术。
本文综合分析了单目测量、双目测距等原理,针对传统的固定式相机自动分拣系统提出一种基于单目移动视觉的测距和定位方法。本文实验通过安装在机器人末端的工业相机对产品进行连续拍照,实现产品的大致特征和位置的识别,为机器人的抓取提供空间坐标。实验结果满足一般生产加工需求,具有实际使用价值。
1 摄像头测距原理
1.1 单目测量
使用单目摄像头实现拍摄物尺寸测量的基本原理为三角形相似原理,如图1所示。
圖1中:中间拍摄平面和成像平面的垂线是相机的主光轴;d是拍摄平面至镜头的距离;f为相机镜头的焦距;L为被拍摄线段的实际测量长度;L′为在成像平面(感光元件)上的成像长度[4]。 根据相似三角形公式可得:
[fd=L′L] (1)
由小孔成像原理可知,相机的一个像素点对应现实中某个矩形区域,排除相机的畸变和装配误差,两个区域是成比例对应的。而其中的对应关系求解就是相机的标定过程,相机标定需要明确4个坐标系,如图1所示,分别为图像像素坐标系Cp,图像物理坐标系C,相机坐标系Cc和世界坐标系Cw。由此可得图像的物理坐标系和像素坐标系转换关系如下:
[xpyp1=1dx0x001dyy0001xy1] (2)
式中,dx,dy分别为每个像素在x轴和y轴上的物理尺寸。相机坐标系 (xc,yc,zc) 以相机的光心为原点Oc,光轴为zc轴,xc和yc轴分别与图像物理坐标系的x轴和y轴平行,具体转换关系如下:
[zcxy1=f00 0f0 0 0 1 0 0 0xcyczc1] (3)
世界坐标系(xw,yw,zw)是为了描述相机的位置而引进的坐标系,可用来描述真实世界中物体的位置。相机坐标系与世界坐标系之间的关系可通过相机外参数的平移矩阵T和旋转向量R来表示,两者关系如下:
[xcyczc1=RT0T1xwywzw1] (4)
至此,结合式(2)~式(4),世界坐标系到图像像素坐标系的关系为:
[zcxpyp1=1dx0x001dyy0001f00 0f0 0 0 1 0 0 0RT0T1xwywzw1] (5)
单目测距通过标定物建立世界坐标到图像坐标的转换关系,在Zc已知的情况下,便可从相机图像中确定图片中某点的空间位置;但在相机焦距确定的情况下,图中物体深度信息却无法求解。
1.2 双目测距
双目相机类似于人眼结构,是一种基于双目视差原理的深度相机,具体是安装在同一平面的左右相机,通过成像视差计算出世界坐标系中的观测点与双目相机之间的相对距离[5],如图2所示。
由图2可知,左右两型号相同的相机平行放置,两个相机的投影中心连线的间距为光心距,又名基线b。目标P(xc,zc)为场景中的一个点,在两摄像机成像面上的投影点分别为pl(xl,yl),pr(xr,yr)。假设2台相机成像平面在同一平面上。
在已知相机焦距f的情况下,利用相似三角形原理可知:
[zcf=yyl=yyr=xxl=x-bxr] (6)
由此式可推导出z,x,y的求解公式:
[zc=f·bxl-xrxc=zc·xlf=b+zc·xrfyc=zc·ylf=zc·yrf] (7)
由式(7)可知,视差值xl-xr和深度z成反比关系。距离越远,视差值越小。由位移差x可知,摄像机像素越高,可以求得的水平位移差x越精确,在相同距离上测距精度更高。
求解一个位置P的深度z,需要知道相机的焦距f,左右相机的间距b,以及视差xl-xr。深度已知后,便可进一步求得x,y,最后获得P点的空间位置[6]。
1.3 运动立体测距
双目相机特性虽然优于单目相机,但随着图像处理算法和深度学习技术的发展,直接从单目相机进行图像预测和深度估计也是应用热点。通过上述双目测距原理可知,双目视觉和单目视觉都是利用的三角相似原理实现定位和测距的。在一定条件下,双目视觉技术可以看成一个单目相机在不同空间位置的拍摄形成视差进行深度信息求解的过程。而本文提出的运动视觉是采用一个工业相机,通过给定的方式改变其空间位置,在世界坐标系中不同位置对同一物体进行拍摄,然后将不同图像进行像素匹配,获得视差,即可进一步求解物体的深度信息[7]。相机在不同位置的拍摄示意图如图3所示。
由图3可知,工业相机安装在工业机器人末端关节上跟随轨迹移动(轨迹为水平面直线运动),f为相机的焦距,Pw为世界坐标系某一点。相机每移动一段距离拍摄Pw点,图中4点不同位置的成像坐标为P1,P2,P3,P4,形成的基线距离为采样点与上一个采样点之间的世界坐标系距离[bn=xn-xn-12+yn-yn-12] 。如图3b)所示,相机从左到右移动过程中拍摄P和P′点,故能产生多组视差d1,d2,…,dn,如下:
[d1=xl1-xr1d′1=x′l1-x′r1d1=xl2-xr2 d′2=x′l2-x′r2?dn=xln-xrn d′n=x′ln-x′rn] (8)
所有视差求取平均值代入式(7)得:
[Depth=dm-d′m=f·bn=1ndnn-f·b n=1ndn′n′] (9)
根据双目视觉测距公式和单目视觉定位公式,可以获得目标点在像素图中和世界坐标的运算公式为:[zc=f·bdmzcxpyp1=1dx0x001dyy0001f00 0f0 0 0 1 0 0 0RT0T1xwywzw1] (10)
2 工业机器人测距实验
基于上述相机测距方法,本文通过ABB工业机器人IRC1415和工业相机Balser ACE?640?100GM进行初步实验。如图4所示,传统的机器人分拣系统是固定式摄像头,相机一般固定在一个世界坐标系中不动,拍摄固定焦距平面的物体,实时处理一幅图像进行位置和形态的分析;而本文实验在工业机器人末端安装了活动式摄像头。
实验方案中,工业机器人末端活动式相机将移动到传送带上方,轨迹线如图5所示,分拣的类别分为A,B两种。相机在传送带上方移动拍照处理,从图像ROI区域内识别到产品开始,进行移动视觉处理算法,定位好空间坐标后,工业机器人直线插补移动到产品上方,用吸盘抓取产品后,沿分拣轨迹线进行产品分拣。然后通过相机在不同位置进行张氏标定,获得双目测距需要的相机内外参数,最后使用立体匹配视差算法获得实验数据。Python程序框图如图6所示。
2.1 相机标定
摄像机标定是机器人视觉进行目标定位跟踪的首要环节,只有通过标定板标定好摄像机的内外参数,才可以根据参数进行后续的定位识别工作[8]。相机标定方法较多,基于张氏标定法的相机标定效率高,且满足一般精度需求。实验采用Python代码段进行相机标定,标定过程中,标定板选用角点数为4×6的棋盘格,棋盘格大小为5 mm×5 mm。通过程序循环检测模板,返回对应的角点。算法得到用于标定的三维点和与其对应的图像上的二维点对后,利用标定函数calibrateCamera()进行标定,函数会返回标定结果有相机的内参数矩阵、畸变系数、旋转矩阵和平移向量[9?10],计算的相机参数如下:
[Ml=2 935.480303.0502 929.25376.51001]
[Mr=2 725.560406.1202 725.20391.84001]
[Dl=-0.496 21.546 7-1.081 80.001 6730]
[Dr=-0.505 71.635 1-1.126 10.001 2240]
[R=0.097 360.010 391.428 0-0.017 750.073 140.015 26-1.426 1-0.015 630.099 52]
[T=-59.41-24.261 713.32]
式中:[Mr]和[Ml]分别是左右位置相机的内参数;[Dl]和[Dr]分别是左右位置相机的畸变参数;R是左右位置相机的旋转矩阵;T是左右位置相机的平移矩阵。
2.2 运动测距
标定相机结束后,为求解不同位置处的视差图,OpenCV提供了主流的BM,SGBM,GC三种匹配算法[11]。实验将选用这三种算法进行测试,相机移动100 mm采用一次条件下,测量直径为60 mm,高为10 mm的工件如图7所示,其中包括现场拍摄图以及视差深度图,部分实验测量数据见表1。
通过实验数据分析可知,相机在不同物距下进行拍摄会影响深度和尺寸的计算,但在一定范围内能达到类似双目的测距功能。其中,光照强度、背景纹理及颜色和视差匹配算法对实验误差都有一定程度的影响,在不同环境下找到合适的参数和算法是后期工程应用的重点,如本实验环境下,物距为140~160 mm之间时,测距和定位误差较为准确。
3 结 论
为了提高工业机器人工作柔性,工业上一般采用固定式摄像头的方式进行图像处理,而本文创新地将单目相机安装在机器人关节上进行运动立体测距,进一步提高了机器人的加工柔性。实验通过单目相机的运动进行测距,一定程度上可以实现双目相机测距功能。在生产应用上,相机的移动测距轨迹可以规划到工件抓取轨迹内进行,从而实现工件的快速定位和抓取。此单目视觉测距方法降低了机器人视觉系统的开发难度和成本,在精度要求不严格的生产线中,具有较高的实际应用价值。
参考文献
[1] 李福东,季涛,徐德,等.基于双目视觉与工业机器人的大型工件自动上下料系统[J].机械设计与制造工程,2019,48(1):43?46.
[2] 伍锡如,黄国明,孙立宁.基于深度学习的工业分拣机器人快速视觉识别与定位算法[J].机器人,2016,38(6):711?719.
[3] 尹宏鹏,陈波,柴毅,等.基于视觉的目标检测与跟踪综述[J].自动化学报,2016,42(10):1466?1489.
[4] 李星云,李众立,廖晓波.基于单目视觉的工业机器人定位系统的设计[J].机床与液压,2015,43(9):35?38.
[5] 黄玉强,叶磊.基于双目视觉的目标测距[J].汽車实用技术,2017(2):148?151.
[6] 韩峰.基于SURF算法的单目转双目视觉定位[J].计算机系统应用,2015,24(11):252?256.
[7] 罗丹,廖志贤.基于OpenCV的双目立体视觉测距[J].大众科技,2011(4):52?53.
[8] 秦保华,张海.基于OpenCV的双目视觉标定程序的开发[J].现代计算机(专业版),2007(8):142?144.
[9] SHEN Lin, YANG Jinhua, ZHAO Qun, et al. Research on measuring telephoto lens focal length by using image matching [J]. Journal of electronic measurement and instrument, 2010, 24(11): 1043?1047.
[10] 姚志生,许四祥,李天甲,等.基于双目视觉的快速定位与测距方法[J].安徽工业大学学报(自然科学版),2017,34(4):368?372.
[11] XU Jie. Analyzing and improving the tsai camera calibration method in machined vision [J]. Computer engineering & science, 2010, 32(4): 46?47.