当前位置:文档之家› 三菱工业机器人视觉定位的实现

三菱工业机器人视觉定位的实现

三菱工业机器人视觉标定的实现 郭方营 电子电气工程学院

摘要:本文介绍了三菱工业机器人视觉标定实现的方法。在工业相机分辨率为640*480像素范围内设置9个标定圆,利用工业机器人2D标定软件获取9个标定点图像坐标和世界坐标,求得投影矩阵,写入机器人控制器,通过调用PVSCAL函数实现相机坐标系与世界坐标系的坐标转换,从而实现工业机器人视觉的标定,基于该方法结合视觉匹配和PLC可以实现工业机器人的运动控制。 关键词:工业机器人 工业相机 视觉标定 坐标变换 1引言 《中国制造2025》和“十三五”发展中,工业机器人的需求逐渐增多,工业机器人要完成搬运、码垛、装配等各种工作都离不开坐标点,对于静态物体抓取、精度要求不高、坐标位置不多的场合,往往采用坐标位置示教的方法,利用示教器获得机器人特定点的位置(X.Y.Z)和姿态(A.B.C)坐标信息,然后按照要求以关节插补、直线插补、圆弧插补等方式完成运动。但在抓取运动的物体时,受外界因素影响,特别是质量轻的物体,位置点会产生偏移,示教的坐标点将不准确,同时随着坐标点数量的增加,示教工作量将会增大。针对固定点坐标示教的缺点,可以利用机器人的视觉控制来弥补,工业机器人的视觉犹如人的“眼睛”,即用工业相机来测出手爪和目标的相对位置,将目标位置的坐标经过转换成世界坐标系,实现“眼睛”看,用爪手抓取的过程,工业机器人的运动轨迹不需要提前示教,提高了编程和生产效率及加工精度。实现视觉控制的一种重要的问题之一就是视觉标定,目前常用的方法有线性标定方法、非线性标定方法、Tsai的经典两步法、张正友的标定方法等[1],以上方法都需要编写坐标变换求解算法,必须具备线性代数的数学基础,难度较大。本文结合三菱工业机器人2D标定软件提供的功能和DALSA工业相机的特点利用9个标定圆,通过调用PVSCAL函数完成坐标转换,实现工业机器人视觉的标定。 2 硬件构成 工业相机固定在六自由度机器人的J5轴上,如图1(见附件)所示,采用蓝色光源作为背景光,采用吸盘式爪手,标定时在抓手中心处安装一个针尖便于示教坐标点。 视觉标定框图如图2(见附件)所示,工业相机置于被测工件上方合适位置,打开相机,获取工件照片,将工件的像素坐标传输给视觉控制器,经过数据处理后,通过串口通信的形式与工业机器人进行交互,工业机器人抓手根据工件的世界坐标抓取工件,完成视觉的标定。 3 视觉标定算法理论

视觉标定是用标定工件的世界坐标(x,y,z)和图像坐标(u,v)来确定工业相机内部的几何和光学特性(内部参数)以及相机在三维世界中的坐标关系(外部参数)[2]。如图3(见附件)所示为视觉坐标系的关系图,工业相机坐标系:O-XcYcZc,(u,v)表示以像素为单位的像素坐标系的坐标,世界坐标系(Ow,Xw,Yw,Zw) 是用于描述相机放置在拍摄环境中的位置和被拍摄工件的位置[3]。 视觉标定的实质就是要通过旋转以及坐标平移实现相机坐标系与世界坐标系的变换,齐次坐标系变换矩阵如公式(1)所示,其中M1为透视投影矩阵,R为旋转矩阵 和T 为平移向量。Zc为未知尺度因子。

(1) (2)

在公式(2)中mij看作未知数,则共有 12个未知数,利用线性代数的知识,将公式(2)展开得到公式(3),只要已知n(n≥6)个标定特征点图像坐标和世界坐标,就可得到其关于12个未知数的超定方程。根据工业相机的要求,本文设置了9个标定点,求取透视投影矩阵的参数。

11121314313233342122232431323334++wwwwwwwwwwww

XmYmZmmuXmuYmuZmumXmYmZmmvXmvYmvZmvm

 (3)

4 实验方法

4.1 相机参数 视觉标定前,首先确定工业相机设备参数,本次选用DALSA品牌工业相机,主要参数有IP地址:192.168.0.100;传感器分辨率640*480;触发源:检测触发;检测延时触发:1ms;频闪/输出脉冲:持续时间1ms;偏置 1μs;传感器曝光 5.05ms;

11121314212223243132333411WWWXUmmmmYZcVmmmmZmmmm









亮度20%;对比度 50%。 4.2 标定模板与坐标获取 在40*40的平面上均匀的布置9个标定圆(圆的半径可不做要求),对9个标定圆进行如图4(见附件)所示的编号,将做好的标定圆放在一个平面上做为标定模板,把模板置于工业相机的下方,触发打开相机,让标定模板中的9个标定圆出现在相机640*480的范围内,通过相机软件依次获得9个圆的像素坐标值,如图5(见附件)所示,同时启动工业机器人,移动抓手的尖针依次对准9个标定圆的原点,获得标定圆的世界坐标,将以上数据计入到表4.1中。 表4.1标定点的坐标信息

将表4.1的9个标定点的数据带入公式(3)中,可以求得透视投影矩阵,12个参数如公式(4)所示。 111213142122232431323334

0.05850.2566143.760400.63790.0478925.574300.00080.00022.18681.5900mmmmmmmmmmmm







(4)

4.3软件编程

工业相机首先进行初始化,判断工业相机两个端口的状态,打开串口2 和串口3进行数据的接收和发送,通过5021端口号进行相机触发(该端口号的地址号码有选用的相机决定),获取MX视觉传感器的X [pixel]、MY视觉传感器的Y [pixel]、MT视觉传感器的θ[deg]参数,调用PVSCAL坐标变换函数,实现视觉传感器图像坐标的像素值 (Pixel X, Pixel Y)和机器人世界坐标值 (World X, World Y)转换,完成数据标定后,利用示教器操作机器人,对准确性进行验证,拍照软件程序利用MELFA-BASIC语言编写。

标定点 Robot.X Robot.Y camera.X camera.Y PP1 -34.750 -471.190 376.3 -326.9 PP2 -35.280 -483.160 494.1 -326.9 PP3 -35.330 -494.790 610.6 -333.8 PP4 -45.890 -471.310 382.8 -202.4 PP5 -46.820 -482.380 501.6 -209.2 PP6 -46.890 -493.920 617.6 -216.7 PP7 -58.050 -470.570 389.2 -85.4 PP8 -58.080 -482.100 507.9 -92.8 PP9 -58.090 -493.670 624.4 -99.4 *TakePhoto'拍照 If M_Open(1)<>1 Then Close #1 Open "COM3:" As #1 EndIf Wait M_Open(1)=1 If M_Open(2)<>1 Then Close #2 Open "COM2:" As #2 EndIf Wait M_Open(2)=1 Dly 0.1 Print #1,"gen " '相机触发 port 5021 Input #2,mMR,mMX,mMY,cmMR1$'最后一个是字符,不成功返回"W" Dly 1 Pvs=pvscal(1,MR,mMX,mMY)’坐标变换 Pvs.z=p_curr.z Pvs.FL1=p_curr.FL1 Pvs.FL2=p_curr.FL2 MOV PVS ,50 Pvs.A=p_curr.A‘位置移动 Pvs.B=p_curr.B Pvs.C=p_curr.C

5 实验结果误差分析 表5.1 结果分析

完成程序编写后,将机器人置于自动运行模式,分别测试不同角度的工件(工件的角度用工件上d进行识别)识别情况,完成拍照并获得工件位置坐标后,验证机器人是否能够运动到“d”的位置。 经过标定后的机器人,不需要提前对工件进行坐标示教,能够自动识别到工件的特定位置,但同时发现定位误差精度存在2mm左右的偏差,经过分析得知影响误差的主要原因有工业相机的质量、曝光度、光源以及标定时坐标示教的读数误差等因素,针对以上问题可以通过调整视觉参数、减少读数误差,增加标定点等方法进行改善。 6 结论 本文介绍了DALSA品牌工业相机与工业机器人视觉标定的方法,并与机器人进行了串口通信,实现了视觉标定,基于该标定方法,提高了抓取精度,结合视觉匹配

测试工件 图像坐标(pixel) 世界坐标(mm) 误差分析 A [170,-140] [-13.50,-474.27,395.0] 1.9mm G [390.864,-304.682] [-1.740,-478.860,340.360] 2.15mm 和PLC可以实现工业机器人的运动控制。 参考文献: [1] 刘李鹏,王军宁. 摄像机标定方法综述[J].山西电子技术,2007,37(4):11-12. [2]何晓兰,姜国权,杜尚丰,等.基于平面模板的摄像机标定方法[J].中南大学学报(自然科学版),2007,38(8):1113-1116. [3]张伟华,陈军.CCD摄像机标定[J].传感器与微系统,2009,28(2):107-109. [4]解则晓,辛少辉,李绪勇,等.基于单目视觉的机器人标定方法[J].机械工程学报,2011,47(5):34-37. [5]李磊,谭民.移动机器人的系统设计与视觉导航控制研究[D].中国科学院研究生院,2003,(5):56-60.

相关主题