陈伟华,马琼雄,陈月军
(华南理工大学广州学院,广州 510800)
基于VisionPro的工业机器人视觉定位系统
陈伟华,马琼雄,陈月军
(华南理工大学广州学院,广州 510800)
基于美国Cognex公司的VisionPro机器视觉开发软件对工业机器人视觉定位系统进行开发,可以加快应用程序开发周期,从而降低公司周期成本。视觉定位系统基于VisionPro采用C#编程语言进行开发,利用VisionPro中的图像获取、摄像机标定、目标物体匹配等工具完成目标定位和输出结果。实验证明该视觉定位系统具有实用意义。
工业机器人;视觉定位;摄像机标定
近年来,视觉引导与定位技术已经成为工业机器人获得环境信息的主要手段,它可以实现工业机器人在实际应用中的自主判断能力,使机器人应用灵活性和工作质量大大提高。当今,在机器视觉领域已经有一些成熟的视觉开发软件,其封装了很多可靠、高效的算法和工具。在这些软件的基础上进行二次开发,既可保证系统的可靠运行,又可以缩短开发周期,降低时间成本。本文选用美国Cognex公司的VisionPro视觉软件,其是一套基于PC架构的视觉系统软件开发包,主要应用于复杂的机器视觉领域。它集成了用于定位、检测、识别和通讯等任务的工具库,可用C#、VB和VC等语言进行二次开发。下面基于VisionPro利用C#语言进行工业机器人视觉定位系统的软件开发[1]。
为了得到被测物的图像,视觉定位系统需要的硬件部件:光源、镜头、摄像机和摄像机与计算机的接口。各硬件部件如图1所示。光源使得被测物的基本特征可见,镜头使得在摄像机上得到清晰的图像,摄相机将图像转换为模拟或数字视频信号,最后,摄像机与计算机的接口接收视频信号并将其放置到计算机内存。接口可能是模拟或数字采集卡,IEEE1394或 USB2.0,也可能是 Ethernet网络接口[2]。
本视觉定位系统采用的是日本CCS环形光源LDR2-70RD,日本Computar百万像素工业镜头,德国Basler工业像机 ACA1300-30GC,Gigabit Ethernet千兆网接口。
图1 视觉定位系统的硬件
(1)图像获取
本视觉系统采用Gigabit Ethernet千兆网接口的CCD摄像机,连接硬件和设置好参数后,打开Vision-Pro软件,利用软件的可视化工具Image Source即可获取图像。
(2)摄像机标定
机器视觉系统中计算机视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机定标[3-4]。
无透视畸变的摄像机模型即是小孔成像模型[5],是最简单、同时也是最实用的理想状态模型,很多情况下能很好地近似表达实际成像。如图2:Ow-XwYwZw为世界坐标系,Oc-XcYcZc为摄像机坐标系,O-UV为图像坐标系,Od-XdYd为像面物理坐标系,空间中一点pw的理想透视成象点为pu。
图2 无透视畸变的摄像机模型[6]
世界坐标系Ow-XwYwZw到摄像机坐标系Oc-XcYcZc的变换关系为[6-8]:
式中,R为3×3的旋转变换矩阵;T为3×1的平移矢量。
摄像机坐标系到像面物理坐标系之间的坐标变换:
式中,f为有效焦距,为图像平面与透镜光学中心的距离。
像面物理坐标系到图像坐标体系的变换为:
式中,(u,v)为图像像素坐标;(Nx,Ny)为图像平面单位距离上的像素点数;(cx,cy)为主光轴与像平面交点(Od)的图像像素坐标,Od称为像面原点。
综合以上各式,由世界坐标系到图像坐标系的整个变换过程的齐次坐标表示:
式中,s为比例系数,[R T]为摄像机的外参数,R和T分别为旋转变换矩阵和平移矢量(见式子(1)),F为内参数,定义如下:
上面讨论的是无透视畸变的摄像机模型,实际上由于摄像机光学系统并不是精确地按理想化的小孔成像原理工作,存在有透视畸变。主要有径向畸变和切向畸变,径向畸变来自于透镜形状,而切向畸变则来自于整个摄像机的组装过程。
径向畸变关于摄像头镜头主光轴对称,其数学表达式为:
式中,k1,k2,k3为径向畸变系数。
切向畸变是由于光学系统中心与几何中心不一致造成的,其数学表达式为:
本系统利用 VisionPro中的 CalibCheckerboard-Tool和CalibNPointToNPointTool工具进行摄像机标定[9-10]:首先制作一个棋盘,利用 CalibCheckerboard-Tool工具对摄像机进行非线性校正来矫正透镜畸变,如图3左边图所示。接着利用CalibNPointToNPointTool工具把图像上的坐标系与实际坐标系联系起来。如图3左边图所示,图右边的的五个点是标记点,只要知道它们在图像上的坐标和实际物理坐标,即可把这两个坐标系联系起来。图像上的坐标只是对准标记点点击即可获得,而实际坐标必需根据实际情况设定,这里是通过工业机器人示教获得,即实际坐标系是工业机器人的基础坐标系。通过这样的转换,后面的图像处理中各点的输出坐标即可显示在工业机器人的基础坐标系上的坐标。
图3 摄像机标定
(3)获取和发送目标点的坐标
工业机器人的视觉定位系统目的是找出目标物在工业机器人基础坐标系上的坐标,上面能过摄像机的标定把图像上的坐标与工业机器人的基础坐标系联系起来,现在只要找到目标物,便可知其位置。这里利用VisionPro中的PMAlignTool工具来寻找目标物,如图4所示,PMAlignTool工具是模板匹配的工具,实质是通过模板匹配找出目标物,因为PMAlign-Tool工具的输入图像是摄像机标定后的图像,所以目标物的位置可以直接输出其在工业机器人基础坐标系上的坐标,图4中CogPMAlignTool1工具下面结果输入 Results.Item[0].GetPose().TranslationX和Results.Item[0].GetPose().TranslationY 为第一个目标物在工业机器人基础坐标系上的X和Y坐标。把这两个值通过发送项发送出去即可控制机器人执行任务。
图4 VisionPro软件的应用设计
本视觉定位系统的实验平台是SCARA机器人,实验要寻找的目标物是一个白色圆形的棋子,基于VisionPro软件完成视觉定位后,通过机器人控制系统的编程,最后控制机器人运动。如图5实验平台。本实验摄相机标定的结果如表1所示。
图5 实验平台
表1 六个点分别在图像坐标系和机器人基础坐标系上的坐标
图像坐标系到机器人基础坐标系转换的结果如图6所示。
图6 坐标转换结果
工业机器人视觉定位系统基于VisionPro采用C#编程语言进行开发,利用VisionPro中的Image Source工具进行图像获取,CalibCheckerboardTool和CalibNPointToNPointTool工具进行摄像机标定,PMAlignTool工具来寻找匹配目标物,最终得到目标物在机器人基础坐标系上的坐标。整个视觉定位系统重点在于摄像机的标定,实验证明基于VisionPro的工业机器人视觉定位系统能快速地进行应用程序开发,摄像机的标定误差只有0.0545937,具有实用意义。
[1]威洛斯,焦宗夏.基于VisionPro的焊膏印刷机视觉定位系统[C].第十二届中国体视学与图像分析学术年会论文集,2008.
[2]Carsten Steger,Markus UIrich,Christean Wiedemann 著,杨少荣,等,译.机器视觉算法与应用[M].北京:清华大学出版社,2008.
[3]邱茂林,马颂德,李毅.计算机视觉中摄像机定标综述[J]. 自动化学报,2000,26(1):47-59.
[4]Bradski G.,Kaehler A.著,于仁琪,刘瑞祯,译.学习OpenCV[M].北京:清华大学出版社,2009.
[5]Trucco E,Verri A.Introductory techniques for 3-D computer vision[M].Prentice Hall,1998.
[6]毛剑飞.机器人视觉标定及离线编程技术研究[D].浙江大学,2004.
[7]赵小松,张宏伟,张国雄,等.摄像机标定技术的研究[J]. 机械工程学报,2002,38(3):149-151.
[8]王清秀.基于计算机视觉定位的数控加工若干关键技术研究[D].武汉理工大学,2008.
[9]Cognex,Cognex MVS-8100D and CDC Cameras Hardware Manual,2006.
[10]Cognex,VisionPro.net Help,2006.
Vision Positioning System of Industrial Robot Based on The VisionPro
CHEN Wei-hua,MA Qiong-xiong,CHEN Yue-jun
(Guangzhou College of South China University of Technology,Guangzhou 510800,China)
Based on U.S.Cognex’s VisionPro to develop the vision positioning system of industrial robot,which will accelerate the application development cycle and reduce the company’s life-cycle costs.The vision positioning system uses C#programming language for the development based on VisionPro.It uses image acquisition tool,camera calibration tool,matching the target object tool and other tools in VisionPro to locate the target and complete the output.Experiments show that the vision positioning system has practical significance.
industrial robot;vision positioning;camera calibration
TP242
A
1001-2265(2012)02-0081-03
2011-07-29;
2011-09-06
陈伟华(1985—),女,广州人,华南理工大学广州学院助教,硕士,主要研究机器人技术及其应用,(E-mail)adahuachen@foxmail.com。
(编辑 赵蓉)