田 昊,黄海龙,赵宝水
一种基于HALCON的机器视觉系统的标定方法
田 昊,黄海龙,赵宝水
(辽宁工业大学 机械工程与自动化学院,辽宁 锦州 121001)
提出了一种基于HALCON的机器视觉系统的标定方法。首先利用相机采集图像进行相机标定,从而获得相机的参数;其次进行手眼标定,获得在相机坐标系下机械手末端工具坐标系的姿态,完成图像坐标到机械手坐标的转换,实验表明,该标定方法能够提高机器视觉系统的精度,满足工业机器人的要求,视觉系统的硬件主要有3D相机、工控机、控制器和机械手,利用HALCON机器视觉算法包来开发,具备周期短、程序稳定性高的特点。
HALCON;机器视觉;相机标定;手眼标定
机器视觉系统的标定是机器视觉的关键技术之一,是准确测量目标物体的必要过程[1]。机器视觉标定的主要目的:一是为了确定图像坐标系和世界坐标系的关系,进而将被检测物体的像素坐标转换成实际坐标,达到抓取的目的;二是为了减小镜头畸变所带来的误差对图像处理精度的影响。本文采用HALCON作为标定算法,HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,节约了产品成本,缩短了开发周期,应用方向主要包括探测、监控以及工业上的各类产品的自动化检测,拥有应用广泛的机器视觉集成开发环境[2]。
对于目前国内来说,随着工业智能化的大力发展,机器视觉系统的发展具有广阔的前景,尤其在人脸识别、物流分拣、医学应用和自动化生产线等方面具有广泛的应用。机器视觉系统按照相机与机械手相对位置分,可分为eye-in-hand和eye-to-hand两类,eye-in-hand系统中,相机安装在机械手末端处跟随机械手运动;eye-to-hand系统中,相机安装在机械手本体外,位置不随机械手的运动而改变[3]。目前,工业上常用的标定方法为“九点标定法”,利用机械手姿态的变化,通过仿射变换进行系统标定,但传统的标定方法过程繁杂且易受灯光等因素影响。为了提高标定效率,减小标定误差,本文提出了一种基于HALCON的eye-in-hand系统的标定方法。
机器视觉系统的标定过程实际是建立图像世界与三维世界的关系[4],只有确立了该关系,才能通过图像得知三维世界的真实状态。整个视觉系统的标定流程如图1所示。
图1 视觉系统标定流程
假设(,)是图像中任意一点,图像坐标系(,)到像素坐标系(,)的关系为:
式中:像素坐标的中心(0,0);d、d是像素坐标中一个像素对应的的长度[5]。
世界坐标系(X,Y,Z)到相机坐标系的转换关系,其实就是刚体变换,数学关系式为:
式中:是3×3的旋转矩阵;是平移向量;1为4×4的矩阵。
根据公式(1)和公式(2)可以得到世界坐标系与像素坐标系的转换矩阵:
式中:1是相机的内参;2是相机的外参;f、f是、轴上的尺度因子,内、外参通过试验确定。
相机标定是机器视觉标定的必要过程,相机标定的主要目的是为了获取相机的内、外参矩阵。镜头畸变一般包括桶形畸变和枕形畸变,如图2所示。通过相机标定就可以矫正镜头畸变。
图2 镜头畸变类型
相机的内参主要包括镜头的焦距、镜头的畸变参数、光轴中心坐标和像元尺寸(、、x、y、x、y),相机的外参表示空间上的位置关系,是世界坐标系在相机坐标系下的姿态,坐标系转换主要包括平移、旋转、缩放[6],以矩阵表达式来计算这些变换时,综合表示如方程式(4):
通过相机的标定由公式(5)和公式(6)可以得到世界坐标系到像素坐标系的映射关系是一个3×4的矩阵[8-9]。
在标定过程中用HALCON软件自动生成的.descr文件来制作标定板,如图3所示,打开HALCON软件,输入算子gen_caltab,打开图4所示的算子窗口,生成一个.descr的文件,通过文件内容确定标定板的全部参数,包括标定点的位置坐标、标定点半径等,然后就可以继续通过CAD等画图软件将标定板画出,最后打印。
图3 标定板示意图
图4 生成.descr文件示意图
机器视觉的最终目的是实现图像坐标和世界坐标的转换[10],相机的标定实现了像素坐标到标定板坐标的转换,手眼标定就是为了完成相机坐标到机械手末端工具坐标的转换,从而计算出图像坐标对应的机械手坐标,完成机器视觉系统的标定[11]。算法程序如图5所示,①使用grab_image算子通过相机采集图像,设置图像属性;②使用gen_caltab算子生成标定板的描述文件;③使用read_cam_par算子读取相机的初始内参;④使用create_calib_data算子创建标定模型;⑤使用set_calib_data_cam_ param算子将相机的扫描方式设置为面扫描;⑥使用set_calib_data_calib_object算子将标定板的扫描文件设置在标定模型中;⑦通过机械手末端带着相机移动,从各个角度对标定板采集图像,使用grab_image算子采集图像,采集图像25张且保证标定板的四角全部在视野范围内;⑧使用find_ calib_object算子找到标定板;⑨使用get_calib_ data_observ_contours获得标定板的图像坐标,get_ calib_data_observ_points获得标定板上圆的坐标,disp_3d_coord_system显示标定板坐标系;⑩使用read_pose算子读取工具坐标系相对于基坐标系的姿态,也就是相对的平移和旋转;⑪使用set_calib_data算子将求出的相对姿态设定到标定模型里;⑫使用calibrate_hand_eye算子进行手眼标定;⑬使用get_calib_data获取平均误差、相机内参、相机坐标系下工具坐标的姿态、基坐标系下标定板姿态等参数;⑭最后使用write_cam_par算子保存文件。标定流程图如图6所示。
图5 算法程序框图
图6 标定流程图
相机标定后将这些参数储存在文件中,将来需要的时候可以使用read_cam_par算子读取出来。
本文实验通过在自己搭建的机器视觉系统上进行,相机选用AT-C5-2040-GigE,工控机选用研华IPC-610-L,控制器选用IRC5,机械手选用ABB-IRB-1200-5/.09,如图7所示。
图7 机器视觉系统的标定实验设备
根据图示标定流程完成的25张采集图片的标定,相机标定的平均误差为0.16~0.17像素,手眼标定平动部分的误差均方值(RMS)为0.522 mm,转动部分的误差均方值为0.415°,获得3组相机的内部参数如表1所示,手眼标定的结果如表2所示。
表1 相机的内部参数
表2 手眼标定结果
本文算法和传统算法的平均误差与运算时间的比较如表3所示,由表可知,利用本文的算法进行视觉系统的标定,可以在大约45.5 ms内快速地得到相应的转换矩阵,相对于传统的标定方法更加稳定、高效。应用上述标定流程进行实际标定,如图8和图9所示,机械手可以准确地找到相机识别的工件的坐标并夹取工件,完成工作流程,通过两组实验证明该标定方法具有很强的鲁棒性。
表3 本文算法和传统算法的平均误差与运算时间的比较
图8 第一组目标工件的识别、夹取实验
图9 第二组目标工件的识别、夹取实验
提出了一种基于HALCON的机器视觉系统的标定方法,运用HALCON强大的算法包进行相机标定和手眼标定,标定的核心是求出在相机坐标系下机械手末端坐标系的姿态,完成图像坐标到机器人坐标的转换,相对于传统的标定方法,该标定方法可以准确地找到像素坐标对应的机器人坐标,效率高,误差小,有效地解决了由于镜头畸变引起的图像中的精度问题,满足工业机器人的工作要求。
[1] 付贵. 基于机器视觉的工业机器人标定方法研究[J]. 南方农机, 2018, 49(9):147-148.
[2] 覃小丽, 李明枫. 基于HALCON的SCARA机械手视觉分拣软件设计[J]. 自动化应用, 2019(2): 89-90.
[3] 刘馨, 周彬. 基于Halcon的金属零件矩形度检测算法研究[J]. 自动化与仪器仪表, 2017(7): 31-32.
[4] Wan W, Lu F, Wu Z. Teaching robots to do object assembly using multi-modal 3D vision[J]. Neurocomputing, 2017, 259(11): 85-93.
[5] Kaltsa V, Avgerinakis K, Briassouli A. Dynamic texture recognition and localization in machine vision for outdoor environments[J]. Computers in Industry, 2018, 98: 1-13.
[6] 陈立挺, 聂晓根. 基于双目视觉的机械手识别、定位、抓取系统研究[J]. 机电工程, 2019, 36(8): 862-866, 872.
[7] Md Hazrat Ali, Aizat K. Vision-based Robot Manipulator for Industrial Applications[J]. Procedia Computer Science, 2018: 205-212.
[8] Huang W, Xu H. Development of six-DOF welding robot with machine vision[J]. Modern Physics Letters B, 2019.
[9] Lyndon Neal Smith, Wenhao Zhang, Mark F. Hansen et al. Innovative 3D and 2D machine vision methods for analysis of plants and crops in the field[J]. Computers in Industry, 2018, 97: 122-131.
[10] Ahmedt Aristizabal D, Fookes C, Denman S. Aberrant epileptic seizure identification: A computer vision perspective[J]. Seizure, 2018: 65-71.
[11] Jahedsaravani A, Massinaei M, Marhaban M H. Development of a machine vision system for real-time monitoring and control of batch flotation process[J]. International Journal of Mineral Processing, 2017: S0301751617301564.
Calibration Method of Machine Vision System Based on ALCON
TIAN Hao, HUANG Hai-long, ZHAO Bao-shui
(College of Mechanical Engineering and Automation, Liaoning University of Technology, Jinzhou 121001, China)
This paper proposes a calibration method for machine vision systems based on HALCON. Firstly, the camera is used to collect images to perform camera calibration to obtain camera parameters. Secondly, hand-eye calibration is performed to obtain the pose of the robot end tool coordinate system in the camera coordinate system, and to complete the conversion of image coordinates to robot coordinates. The experiment shows that the calibration method can improve the accuracy of the machine vision system, meet the requirements of industrial robots. The hardware of the vision system mainly includes 3D cameras, industrial computers, controllers, and manipulators. It is developed by using the HALCON machine vision algorithm package, which has the characteristics of short cycles and high program stability.
HALCON; machine vision; camera calibration; hand-eye calibration
TP242
A
1674-3261(2020)04-0211-05
10.15916/j.issn1674-3261.2020.04.001
2019-12-24
辽宁省教育厅重大科技平台科技项目(JP2016019);辽宁省教育厅青年科技人才“育苗”项目(JQL201915404)
田 昊(1995-),男,黑龙江集贤人,硕士生。
黄海龙(1982-),男,辽宁锦州人,副教授,博士。
责任编校:孙 林