工件的视觉定位及机器人控制的应用研究
2014-01-27刘子豪樊留群
刘子豪,樊留群,张 昱,刘 放
(1. 同济大学 中德学院,上海 201804;2. 沈阳机床上海研究院,上海 200433)
0 引言
机器人视觉广泛应用于工业领域,主要集中在电子行业、半导体行业、航天、测量等行业,并取得了很多成就。目前单目视觉方面已经发展相当成熟,在许多工业生产线上都早已投入实际使用。主要应用有诸如破损检测、条形码读取等。
由于单目视觉的二维局限性,双目视觉已经逐渐成为机器人视觉的热点领域。其研究在国外起步较早,麻省理工学院计算机系的研究者们[1]提出了一种基于双目帧图像和运动融合的目标深度探测系统,能够充分利用双目立体视觉传感器产生的目标深度信息,对高速运动的目标进行分割,实时性较好[2]。希腊的Sotiris Malassiotis 和Michael G.Strinzis[3]利用已有的模板研究柔性制造生产线上的三维孔的在线监测问题,研究出了机器人的视觉定位系统,达到了要求的精度,实现了较好的在线监测效果[4]。
国内方面,虽然我国机器人技术较于国外起步较晚,但是发展速度较快。王士峰将机器视觉应用到车轮的检测中,建立了基于机器视觉的车轮图像处理与分析系统,为机器视觉识别车轮打下了基础[5]。中国科学院自动化研究所也在对基于高速视觉的机器人打乒乓球、基于视觉的焊缝跟踪、服务机器人的视觉定位、显微视觉下的精密装配等方面的问题进行研究。
以上研究均证明了双目视觉在机器人视觉应用的可行性,但所使用的双目摄像机实际上是两台单独单目相机的组合,因此需要进行相机内外参数的设定以及相机标定等精度要求高的准备工作,加大了整个系统开发的难度。本课题通过使用在出厂时就已严格标定好的双目相机作为图像获取和处理的工具,大大简化了这方面的准备工作并保证了采集精度,通过基于颜色的辨识方式,结合对Triclops SDK、PC SDK 的二次开发,以ABB机器人控制软件Robotstudio 作为后台程序,实现了从相机到PC,从PC 到机器人互联的控制系统,并通过研究以公共点为基础的七参数法,采用标定件的方式实现了相机-机器人坐标系的标定,该标定方法受人为因素影响较小,精度较高,最后通过实验总结公共点选取的结论,表明了系统的可行性及有效性。
1 相机-机器人坐标系的标定
为了要实现机器人对物体的辨识,必然会涉及到相机到机器人坐标系的标定问题,即如何将以双目相机为基准的物体三维坐标转化为以机器人基座为基准的坐标变换问题。
1.1 标定方法概述
如图1 所示,常用标定方法是通过测量,建立目标坐标系、相机坐标系、机器人基坐标系以及末端执行器坐标系之间的坐标映射关系,直接通过坐标变换计算出目标对象的坐标:,t—工具坐标系;B—机器人基坐标系;C—相机坐标系;T—目标坐标系[6]。
其中相机与目标坐标系的转换关系可由立体视觉视差原理求得,机器人基坐标系与末端执行器坐标系的转换关系可通过求由机器人逆解的方式求得。目前大多机器人视觉系统均是通过此种方法来完成标定。
结合本课题的实际情况,采取通过获取双目相机与机器人基坐标系之间,已知公共点的坐标数据,反推出坐标映射的关系,来得到目标对象坐标的标定方法。坐标映射关系矩阵由7 个未知参数组成,因此称为七参数法。
图1 机器人视觉系统坐标系Fig.1 Coordinate system of robot vision system
1.2 七参数法
对于三维坐标而言,至少需要三个公共已知点,得到在两个不同空间直角坐标系中的六对三维坐标值,才能推算出这七个未知参数。七参数模型如下:
其中△X、△Y、△Z 为坐标平移量,εx、εy、εz 为坐标轴之间的旋转角度,又称欧拉角,m 为尺度因子。在本课题中,将如图2 左所示的标定件安装于机器人末端法兰盘中心,并将标定件中心作为待测公共点。通过开发的系统可分别读取基于机器人基坐标系和双目相机坐标系下公共点的坐标值,大大减小了人为的影响因素,为机器人精确定位提供了保障。
1.3 公共点的选取
在七参数法中,公共点的选取直接影响着坐标转换的精度。因此为了高效、准确地得到七参数的数据,了解一些公共点的选取技巧是必要的。
图2 右为公共点分布的平面示意图。选取其中的一系列点作为公共点,观察坐标转换的精度并得出结论如表1 所示。
图2 标定件与公共点分布示意图Fig.2 Schematic diagram of calibration piece and common points
表1 不同公共点分布情况下转换精度测试Tab.1Transformationaccuracytestunderdifferent distributioncircumstancesofcommonpoints
由此可以得出选取公共点的一些结论:①公共点共线时,只有在共线方向上的待测点转换精度能够保证,偏离轴线距离越大,则精度越低;②待测点距离公共点越近,则转换精度越高;③公共点分布均匀,转换精度较高且稳定。因此选取公共点时应注意要尽量在工作范围内选取,并且使其均匀分布,避免3 点共线的情况发生。
1.4 误差校正
七参数法中,至少需要3 个公共点才能完成转换矩阵的运算。如果公共点的数量大于3 个,则需要进行误差校正。这里采用最小二乘法进行数学优化。引入坐标修正量Vx,Vy,Vz,则有:
则误差方程为:
方程式可化简为:
最终求得七参数的解:
2 机器人视觉辨识及控制系统
2.1 系统概述
如图3 所示,整个系统完成了对工件的辨识、坐标转换及机器人的控制任务。主要由3 部分组成,双目相机负责图像的采集。PC 端负责对图像数据处理、工件辨识、计算坐标、传递坐标及机器人控制,其中工件辨识通过对颜色的判断来实现,具有旋转、平移、尺度等不变性,可靠性较好。机器人端负责对工件进一步的操作。具体连接如图1 所示,双目相机与PC 端通过IEEE 1394a 火线进行连接,接口是基于Visual Studio 通过Triclops 开发包用C++语言进行二次开发的。PC 端与机器人通过网线连接,接口是以Robotstudio 为后台程序,基于Visual Studio 通过PC SDK,用C# 语言进行二次开发的。
2.2 系统组件介绍
图像获取设备采用Point Grey 生产的Bumblebee2 双目相机。在帧率20 FPS 时,分辨率为80 万像素。通讯方式采用了IEEE 1394a 火线接口,支持即插即用,速度可达400 Mbps。相机的主要优势在于,一是相机出厂的时候已经进行过了标定,免去研究者前期对双目相机内、外参数设定的麻烦;二是配有Flycapture 和Triclops两大开发包,内部含有低通滤波、校正、边缘检测、立体匹配、检验及亚像素差值等图像预处理和立体处理的功能,在深度计算上具有良好的精度。
机器人采用ABB IRB 4600D 型机器人,其工作范围为2.05m,手臂载荷20kg。编程语言为RAPID 语言,类似于高级语言编程,与VB和C 语言相近,配套的Robotstudio 软件是一款机器人编程与仿真工具,可以用来模拟优化现有的机器人程序,也可以用于远程维护和故障排除。另外,ABB 公司也为用户提供了PC SDK 接口,用户通过Visual Studio 来对PC SDK 进行二次开发,以Robotstudio 作为后台程序,来达到控制机器人的目的。
图3 机器人视觉系统Fig.3 Robot vision system
表2 测试结果Tab.2Testresults
开发的系统界面如图4 所示。Scan 功能完成了对于机器人端的检索。Input Data 通过相机获取标识点的坐标系。Obtain Coordinate Data、Obtain and Process Data 及Rectify Coordinate完成了机器人坐标系和相机坐标系的标定工作。7-Parameter-Method 七参数法实现了坐标转换。Obtain p20 Data 与Write to p20 将最终的转换结果输入至机器人程序中(p20 为目标物体在机器人坐标系下的坐标值)。
3 实验结果与分析
图5 为在Robotstudio 下的仿真结果,成功地将p20 点的数据传输进了RAPID 程序中。机器人便会按照新的坐标数值来执行动作。
表2、3 为最终实验的结果。其中前三组坐标为机器人大范围运动下得到的结果数据,第四到六组坐标为机器人小范围运动下得到的数据。进一步根据最小二乘法校正误差,测得最后三组坐标数据,误差精度可以达到0.1 毫米级。可以满足实验要求。
图4 系统操作界面Fig.4 Operating interface of the system
图5 测试结果Fig.5 Test results
表3 误差结果Tab.3 Errorresults
结合之前的实验,可以总结出以下几种坐标转换的结论:①公共点的个数以3-5 个为宜。公共点应均匀的分布在测区内,并且待测点也最好再公共点范围内[7];②当公共点多于5 个时,可以将公共点中的源坐标逐一代入转换方程进行计算,将结果与公共点中的目标坐标进行比较,并使误差较大的点不再作为公共点;③每三个公共点不宜在一条直线上;④待测点离公共点越近,则转换精度越高。公共点越均匀分布,转换的精度越能够保证。同时实验得出的结论也验证了本文中关于公共点选取的分析结果。
4 结束语
如今越来越多的机器人被引入进了工业自动化中,机器人视觉也越来越受到重视。目前主流机器人视觉应用均以单目相机为基础,通过拍照对比等方式,实现诸如条形码读取、坏点检测等功能。然而单目相机具有二维平面的局限性,无法采集三维物体的信息,从而限制了其应用。本课题采用了双目相机配合机器人,建立双目相机到PC 端,PC 端到机器人端的2 个接口,利用七参数坐标变换法得以快速准确地得到目标物体坐标,总结了公共点选取的结论,完成了机器人的视觉定位与操控的集成,起到了抛砖引玉的作用。
[1]Fang Y., Masaki I., Horn B. Depth-Based Target Segmentation for Intelligent Vehicles:Fusion of Radar and Binocular Stereo[J].IEEE Trans.on Intelligent transportation Systems,2002,3.
[2]刘晓坤.基于视觉的机械臂控制技术研究[D]. 哈尔滨:哈尔滨工程大学,2013,2.
[3]Sotiris Malassiotis, Michael G.Strintzis. Stereo vision system for precision dimensional inspection of 3D holes[J].Machine Vision and Applications,2003,10.
[4]禹静.基于机器视觉的悬链线上吊钩的识别研究[D].济南:济南大学,2012.
[5]王士峰.基于机器视觉的车轮图像处理与分析[D].济南:济南大学,2011.
[6]宋彩霞.臂-手系统的运动控制及稳定抓取研究[D].湖南:湖南大学,2013.
[7]赵宝锋,张雪,蒋廷臣.坐标转换模型及公共点选取对转换成果精度的影响[J].淮海工学院学报,2009,4.