Research on hand-eye calibration method of industrial robot based on halcon
田春林1,陈李博1,马国庆1,侯茂盛2,刘 涛2
TIAN Chun-lin 1, CHEN Li-bo 1, MA Guo-qing 1, HOU Mao-sheng 2, LIU Tao 2
(1.长春理工大学 机电工程学院,2.长春理工大学 光电工程学院,长春 130022)
摘 要:机器人手眼标定是机器人视觉技术的重要研究内容,基于Halcon所提供的标定板,充分考虑相
机镜头径向畸变对手眼标定的影响,设计一种全新的、高精度、高效率的Eye-in-Hand手眼标定方法,该方法在标定了相机内外参数的同时也建立了相机图像坐标系与机器人基坐标系之间的相互转换关系,并通过实验进行了验证,其平移误差在1mm,旋转误差在1。以内。实验结果表明该方法具有较高的标定效率与较高的标定精度,可广泛应用于工业机器人视觉系统手眼标定中。
关键词:工业机器人;相机标定;Eye-in-Hand;机器视觉中图分类号:TP242.2 文献标识码:A 文章编号:1009-0134(2018)03-0016-04
收稿日期:2017-10-10
基金项目:国家高技术研究发展计划(863计划)资助项目(2015AA7060112);吉林省科技发展计划资助项目 (20160204016GX );吉林省省级产业创新专项资金资助项目(2016C088);吉林省教育厅“十三五”科学 技术项目(JJKH20170626KJ );长春理工大学青年科学基金(XQNJJ-2016-04)
作者简介:田春林(1972 -),男,吉林人,博士研究生,研究方向为精密、超精密加工和检测及装备。0 引言
随着现代生产的精密化、智能化,无人智能工厂对机器人视觉的依赖程度越来越高,尤其是在航空航天和汽车制造领域中的焊接与装配,物流领域中的码垛、分拣,工业2D 、3D 自动化检测等应用中,机器人视觉比比皆是。机器人视觉系
统通常按照摄像机与机械臂的相对位置不同分Eye-in-Hand 系统和Eye-to-Hand 系统。其中Eye-in-Hand 系统是将相机安装在机械臂末端法兰盘上,随着机械臂的运动而运动;而Eye-to-Hand 系统是将相机安装在机械臂本体之外,工作中不随其运动而运动[1,2]。
在机器人视觉系统中常用的手眼标定系统一般为Eye-in-Hand 系统,该系统的加工制造精度主要由手眼标定的准确度决定。因此,研究快速的、准确的手眼标定方法就显得至关重要。目前,常用的手眼标定方法是使用棋盘格标定板与OpenCV 或Matlab 等软件相结合,再控制机械手进行多次位姿变换,利用张正友平面标定法来进行标定的传统标定法[3]。但该方法操作较为复杂,受各方面的因素影响较大。因此,为了提高标定精度,简化操作,本文提出基于Halcon 软件进行Eye-in-Hand 手眼系统标定,为后续的动态识别定位抓取提供基础。
1 相机标定模型
工业机器人视觉系统的手眼标定本质上是为了获取相机图像坐标系C cam 与工业机器人基坐标系C base 之间的
转换关系,在进行Eye-in-Hand 手眼系统标定之前,首先要对相机进行标定,获取摄像机的内外参数及位姿,为手眼标定做前期准备。在工程实际应用中常用的相机类型有两种,分别为线阵CCD 相机与面阵CCD 相机。由于线阵CCD 相机标定的模型相对于面阵CCD 相机标定复杂许多,所以面阵CCD 相机的使用范围与频率十分广泛,因此本文通过使用面阵CCD 相机来进行相关验证[4,5]。面阵CCD 相机的模型如图1所示。
c
y 图1 面阵CCD 相机成像模型
其中,图像坐标系为(r ,c ),成像平面坐标系为
(u ,v ),相机坐标系为C cam (x c ,y c ,z c ),世界坐标系为C word (x w ,y w ,z w ),空间一点P 在相机坐标系下为P c (x c ,y c ,z c ),在世界坐标系下为P w (x w ,y w ,z w )。若不考虑相机径向畸变,则点P w 在成像平面上的投影点为P c ,若考虑镜头畸变则投影点将发生偏移,投影点将偏移为P c '点。
将世界坐标系下的点转换到相机成像平面坐标系下需要经过以下三个步骤:
1)世界坐标系下的点P w (x w ,y w ,z w )变换到相机坐标系下的点P c (x c ,y c ,z c ),其变换关系为P c =RP w +T ,改写成矩阵形式(1):
(1)
其中R 为变换时的旋转矩阵,T 为平移向量,M 为4×4的变换矩阵。
2)由相机坐标系下的点P c (x c ,y c ,z c )变换到成像平面坐标系下P'c (x i ,y i ),它们之间为投影的关系,其变换形式为关系式(2):
c i c c
i c X x f Z Y y f Z
= =
(2)式中f 表示的并不是相机镜头的焦距,而是相机的主焦距。由于在相机成像过程中世界坐标系上的点与成像平面上的点的连线不经过相机的光学中心,所以本文应考虑相机畸变情况。设
为畸变后成像平面上
的坐标,则经畸变变换后的变换关系式(3)为:
(3)
其中参数k 值的大小决定了畸变的程度。3)最后将点
转换到图像坐标系中,即式(4):
i x x i y y x C S u y v C S
+ = +
(4)
其中S x 和S y 是比例缩放因子,它们表示图像传感器上水平和垂直方向上相邻像素之间的距离,C x 和C y 为光心在相机成像平面上的投影点。由这一系列的推导公式可知,在进行相机标定的时候,本质上就是求得该相机的内参数(f ,k ,C x ,C y ,S x ,S y )与外参数(其平移变换矩阵T 与旋转变化矩阵R )的过程,该标定所求得
的一系列参数为后续机器人手眼标定奠定了基础,也是手眼标定过程中的必要条件。
2 手眼系统标定模型
在机器人视觉中,手眼系统模型按照相机摆放位置的不同通常分为固定相机和移动相机两种模型,在应用机器人视觉技术时,我们经常将相机固定在机械手的末端法兰上,也就是移动相机模型,当我们进行标定时,其目的是为了求解机器人基坐标系、机器人末端工具坐标系、摄像机坐标系、标定板坐标系与世界坐标系的相互转换关系[6],如图2
所示。
图2 移动相机模型下各坐标系转换关系示意图
其中C base 为机械手基坐标系,C tool 为末端工具坐标系,C obj 为标定板坐标系或物体坐标系,C cam 为摄像机坐标系。
手眼标定一般情况下为控制机械手运动,然后在不同位置对相同物体进行拍摄,从而通过软件推导计算出手眼系统的变换矩阵,其运动前后坐标系示意图如图3所示。
图3 移动相机模型下运动前后各坐标系示意图
其中C c1、C e1分别表示机械臂移动前的相机坐标系和机械臂末端法兰的坐标系,如I 1位置;C c2、C e2分别表示机械
臂移动后的相机坐标系和机械臂末端法兰的坐标系,I 2如位置。通过机械臂的两次移动可以得到C c1、C c2两个坐标系之间的关系定义为C ,由于机械臂是手动控
制的,可以直接从机械臂控制器中读取C e1、C e2的关系,这里定义为D 。由于本文使用运动相机模型,所以摄像机坐标系和机械臂末端法兰坐标系的相对位置是一个固定值假定为X 。假定空间中有一点P ,在摄像机坐标系和机械臂末端法兰坐标系的坐标分别为:P c1,P c2,P e1,P e2,通过上述关系可得:
12c c P CP =
(5) 22c e P XP = (6) 11c e P XP = (7)
12e e P DP =
(8)
由式(5)与式(6)可得:
12c e P CXP =
(9)
由式(7)与式(8)可得:
12c e P DXP =
(10)
由式(9)与式(10)联立可得:
CX XD =
(11)
由此得到了手眼标定的基本方程,也可将此方程利用旋转矩阵和平移向量进行表示,则可表示为:
01010101t c d
d R T R T R T R T =
(12)
展开后可得: c d R R RR = (13)
c c
d R T T RT T +=+
(14)
通过上述公式推导得出的手眼标定基本方程CX=XD ,其依据就是机器人末端执行器移动前后,相机与机械臂的相对位置X 不变,最后我们标定所要求解出手眼关系矩阵X ,为后续动态抓取、位置补偿做准备[7]
。
3 手眼标定实验与分析
本文所采用的标定方法为:基于Halcon 软件进行相机与机械臂的手眼标定,通过多次、多角度、大范围的移动机械臂然后进行拍照并记录下与之相对应的机械手控制器上的位姿信息,通过软件编程求解其手眼关系,求解关系矩阵。具体搭建的手眼标定实验系统包括:UR10六自由度工业机器人、维视MV-EM500C 工业相机与Halcon 控制软件,其中相机固定在机械臂末端法兰上,随机械臂运动而运动,所使用的标定板为50mm ×50mm 的自制打印标定板。
在进行手眼标定之前,首先要进行相机标定,以用
来建立机器人工具坐标系与相机坐标系之间的相互转化关系。与传统的标定方法相比,本文通过使用Halcon 自带的标定板进行相机标定不仅操作十分简单,而且标定精度较高,大大缩减了开发周期,十分便利。如果项目精度要求较高,就必须得使用特制的陶瓷标定板,如果项目精度要求不高则可以使用Halcon 软件自带的标定板,根据需求进行打印。
在相机标定完成后,得到了相机的内外参数,就可以进行机械臂的手眼系统标定。在此标定的过程中需要在摄像机的视野内进行多次的移动机械臂对标定板进行拍摄,并且在机械手控制器中读取相对应的位姿信息,制作成机械臂的位姿信息文件,为后续的手眼标定做准备,通过上述的过程就可以利用Halcon 软件进行移动相机模型的手眼标定。
在标定过程中通过拍摄标定板来寻其上标志点的中心坐标,以确定摄像机内外参数,如图4
所示。
图4 标定板和标志点坐标系的建立
其相机标定的算法流程如图5所示。
图5 相机标定算法流程
根据上述算法流程进行相机标定实验,通过3组每
【下转第46页】
载机械式主轴有限元建模及模态分析[J].机械工程学报,2012,48(03):165-173.
[3] 权龙哲,佟金,曾百功,陈东辉.玉米根茬收获系统的有限元模态
分析与试验[J].农业工程学报,2011,27(11):15-20.
[4] 李发宗,童水光,王相兵.基于模态分析的液压挖掘机工作装置
动态优化设计[J/OL].农业机械学报,2014,45(04):28-36.
[5] 杨勇强,李小莹,陈号.基于ANSYS Workbench的离合器壳体的
模态分析[J].煤矿机械,2014,35(10):107-109. [6] 杨兴林,陈友喜,曾忠平.基于ANSYS某升降平台梯形丝杆的动
态分析[J].制造业自动化,2014,36(05):70-73.
[7] 胡君君,徐武彬,张宏献,唐满宾.VMC-1000主轴箱模态分析及改
进设计[J].机械设计与制造,2011,(01):50-52.
[8] 洪学武,赵坚,高志鹏,贺艺龙,徐庆振,毛日.基于ANSYS的数控
十字滑台装配体的模态分析[J].机械工程师,2016,(08):51-53. [9] 周鑫,王旭飞.基于ANSYS的轮毂支架结构设计[J].制造业自动
化,2017,39(02):90-94.
组10张图像的采集进行相机标定,标定所得的3组相机内参数如表1所示。
表1 相机内参值
相机参数第1组第2组第3组
焦距f7.235927.623687.93594手眼
Kappa-8451.18-9821.69-8327.52
C
x
/mm369.176371.132325.506
C
y
/mm297.701281.512239.676
S
x
/mm 2.23 2.22 2.19
S
y
/mm 2.2 2.2 2.2平均误差0.1864280.1872890.178563
通过上述3组标定实验所得数据显示平均误差均在0.18个像素左右,均在一个像素范围之内,标定精度较高。但为了获取误差较小、标定精度更高的手眼标定结果,我们选取第3组相机标定的内参数,进行移动相机系统的手眼标定。具体实验中通过相机采集了15张标定图片,并记录下每一张图片所对应的机械手位姿信息,再利用Halcon软件进行标定,最后得
出的机械手末端工具坐标系相对于摄像机坐标系的位姿。其标定结果如表2所示。
表2 移动相机系统手眼标定值
变量X坐标/mm Y坐标/mm Z坐标/mm
变量值-28.852820.5946-54.7499
变量R x/°R y/°R z/°
变量值95.04930.665797.9745
为了验证手眼标定的准确度和精度,在进行手眼标定的同时,通过Halcon中的算子即可对这15张图片上的位姿信息进行计算求解手眼标定的最大误差值与均方根值。其结果如表3所示。
由表3可知,位置移动的最大误差值为0.857mm,旋转角度的最大误差值为0.903,平移误差在1mm之内,旋转角度误差在1。范围之内,精度较好。通过上述方法,利用Halcon进行手眼标定,经过进行计算,大约需耗时30ms即可得到其相应的转换矩阵,十分的方便、快捷,且精度较高,相对于传统方法有较大的改进。通过该方法还可以简单快捷地求得相机与机械臂基坐标系、标定板与相机坐标系、标定板与基坐标系之间的转换关系,能够为动态识别抓取提供良好的基础。
4 结论
研究的针对Eye-in-Hand类型机器人的手眼标定方法,不仅能够简单高效的完成标定、减少繁杂的操作步骤,还减小了标定误差,使其位置误差在1mm,角度误差在1。以内,提高了系统的标定精度,更充分发挥了Halcon软件强大的处理功能。通过编写图像处理算法与VC++或C#进行联合二次开发,编写成适用于多种情况下操作的控制软件,就可适用于工业生产,进行定位抓取码垛等工作,大大提高了工业生产效率。
参考文献:
[1] 徐德.机器人视觉测量与控制[M].2版.北京:国防工业出版
社,2011.
[2] 卢泉奇,苗同升,汪地,等.基于HALCON的机械手视觉抓取应用
研究[J].光学仪器,2014,36(6):492-498.
[3] ZHANG ZH Y.A flexible new technique for camera
calibration[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2000,22(11):1330-1334.
[4] 罗珍茜,薛雷,等.基于H A LC O N的摄像机标定[J].电视技
术,2010,34(4):100-102.
[5] 陈阳光,王磊.基于HALCON的机器人视觉标定[J].光学仪
器,2016,38(4):320-324.
[6] 林明盛.焊接路径的视觉识别与机器人轨迹规划[D].广东工业
大学,2016.
[7] 张云珠.工业机器人手眼标定技术研究[D].哈尔滨工程大
学,2010.
表3 手眼标定系统误差值
测量结果最大误差均方根
平移/mm0.8570.369
旋转角度/°0.9030.375
【上接第18页】
发布评论