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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

郭方营电子电气工程学院

摘要:本文介绍了三菱工业机器人视觉标定实现的方法。在工业相机分辨率为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个标定点,求取透视投影矩阵的参数。

1112131431323334

2122232431323334++w w w w w w w w w w w w X m Y m Z m m uX m uY m uZ m um X m Y m Z m m vX m vY m vZ m vm ++---=++---= (3)

4 实验方法 4.1 相机参数

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

11121314212223243132333411W W W X U m m m m Y Zc V m m m m Z m m m m ⎡⎤⎡⎤⎡⎤

⎢⎥

⎢⎥⎢⎥⎢⎥

=⎢⎥⎢⎥⎢⎥

⎢⎥⎢⎥⎢⎥

⎣⎦⎣⎦⎣⎦

亮度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)所示。

11121314 21222324 31323334

0.05850.2566143.76040 0.63790.0478925.57430 0.00080.0002 2.1868 1.5900

m m m m m m m m m m m m ---

⎡⎤⎡⎤

⎢⎥⎢⎥

=---

⎢⎥⎢⎥

⎢⎥⎢⎥

-

⎣⎦⎣⎦(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语言编写。

相关文档
最新文档