李 林,柴永生,崔立民,陈义保,王昌辉
(烟台大学机电汽车工程学院,山东 烟台 264005)
工业机器人具有自动化程度高、通用性强、方便灵活等优点,在生产制造业中的应用越来越广泛,例如已在焊接、装配、搬运、喷涂等领域实现具体应用[1]。随着工业机器人在工业应用领域的需求不断上升,譬如精密加工、高精度装配等精密制造领域对机器人的性能要求也越来越苛刻[2]。良好的重复定位精度是提高机器人绝对定位精度的硬件基础,也是反映工业机器人性能的重要指标之一[3]。为了保证产品的生产合格率,要将工业机器人的重复定位精度限制在生产加工所要求的范围内,因此工业机器人重复定位精度的测量是工业机器人出厂使用之前必须进行的工作。
针对机器人末端位姿的测量技术,国内外学者探索出了很多测量方法和装置。主要分为两类:直接测量法和组合测量法。直接测量法包括:内部编码法、多陀螺仪测量法等;组合测量法包括:激光系统与陀螺仪组合测量法、摄影系统与陀螺仪组合测量法等。直接测量法的精度并不高,由于这种测量方法需要已知机器人的臂长或者内部的角度编码器信息,会引入机器人自身的误差。组合测量法使得机器人末端位姿测量系统的精度有了很大的提升,自动化程度也越来越高。例如,采用激光跟踪仪进行重复定位精度检测[4]。激光跟踪仪是一种大尺寸的测量仪器,具有精度高、自动化程度高、测量范围大等优点,在机器人精度检测、装配、质量检验等领域被广泛应用[5-7]。但是,激光跟踪仪在应用中依然存在一些不足:(1)价格昂贵,且需要支付软件服务费,主要面向机器人研发检测,不适合批量检测;(2)对操作人员的技术水平要求较高,并且对工作环境的要求也极为苛刻;(3)测量时需要与目标靶镜配合使用,在某些特殊使用场景中,将目标靶镜固定到待测位置的难度较大。中汽检测技术有限公司提出了一种基于激光位移传感器的机器人重复精度测试系统,通过采集x、y、z三个方向的位移值并代入公式计算机器人的重复定位精度。该系统受温度、湿度等因素影响较大,目前并没有在机器人末端测量领域得到广泛的应用。
因此,文中提出了一种间接测量工业机器人重复定位精度的方法,此测量系统既适用于机器人制造商对其出厂前的检测,又可用于机器人购买方在使用过程中的精度检测。结构精简、经济实惠、不受实验条件及检测环境限制为本测量系统的优势所在,在今后的机器人重复定位精度测量方法中有很大的潜力。
机器视觉系统是用工业相机代替人的眼睛实现图像获取、识别等复杂功能的系统,视觉测量系统的应用可大幅提高检测速度与精度、提升质量、降低人工成本,防止人眼疲劳产生的误判[8-9]。文中提出的视觉测量系统由待测机器人、工业相机及高清镜头、相机夹具、高精度棋盘格标定靶等硬件以及软件工具组成(图1)。
图1 视觉测量平台Fig.1 Visual measuring platform
以KUKA KR210 R2700型工业机器人作为视觉测量系统的待测对象,此型号工业机器人的运动轴数为6,即机器人末端具有6个自由度,自重1068 kg,最大有效载荷为210 kg,最大臂展2696 mm,机器人技术文件中给出的参考重复定位精度值≤0.02 mm,几何参数与工作空间如图2,机器人实物如图3。
图2 KUKA KR210 R2700型工业机器人几何参数与工作空间(mm)Fig.2 KUKA KR210 R2700 industrial robot geometric parameters and working space
图3 KUKA KR210 R2700型工业机器人Fig.3 KUKA KR210 R2700 industrial robot
视觉测量系统的硬件构成主要包括工业相机及高清镜头、相机夹具、高精度棋盘格标定靶等。相机选用BASLER acA2500-14gc高清工业相机,分辨率3840×2748,采用CMOS感光芯片,相机上安装有高清镜头;靶标选用高精度棋盘格标定靶,型号为GP070 12×9,棋盘格数为12列9行且每个小方格边长为5 mm,靶面总尺寸为70 mm×70 mm,图案的喷涂精度为0.02 mm,如图4。
图4 GP070 12×9高精度棋盘格标定靶尺寸及实物Fig.4 High-precision checkerboard calibration target size and real objects
相机采用“眼在手”的固定方式,即相机固定连接在工业机器人末端法兰上,可跟随末端执行器按编写好的程序运动,所以设计并加工了如图5的相机安装夹具,保证相机能够便捷、稳定地安装在机器人的末端。夹具的制造材料选用较高强度的45钢,不易变形,基本忽略其柔性变形。相机安装模块如图5。
图5 相机安装模块Fig.5 Camera mounting module
视觉测量系统采用开源图像处理软件库OpenCV作为工具,基于Python语言,编写了用于相机标定、位姿估计以及数据处理的自动化程序。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库。
1.1节中提到,机器人末端与工业相机之间通过专门设计的相机夹具刚性连接,由于相机夹具材料具有高强度特性,可忽略机器人在运动过程中,相机夹具发生的微小柔性变形。因此,相机在空间中运动前后的空间位置数据可以间接反映机器人末端执行器原点的运动情况,基于此结论,制定检测流程如图6。
图6 视觉测量系统检测流程框Fig.6 Visual measurement system detection flow diagram
参照国标GB/T 12642—2013《工业机器人性能规范及其试验方法》[10]中规定的机器人重复定位精度数据采集方法,检测方案中采集靶标图像操作采用循环测量法。即在待测机器人有效工作空间内固定位置放置一枚靶标,示教编写控制程序,将5个位姿写入机器人控制器中分别对应P1,P2,P3,P4,P5,并且保证机器人在每个位姿下,末端安装的相机能够拍摄到完整的靶标图像。启动机器人以正常运行速度依次移动到设定好的五个位姿并保存每个位姿下的图像信息,并重复执行20次,具体循环流程如图7。最后,将采集好的靶标图像进行图像处理操作并提取数据信息,经进一步的计算处理可得重复定位精度。
图7 机器人末端位置图像采集流程Fig.7 Image acquisition process of robot end-effector position
相机标定与位姿估计是测量方案中最重要的两个步骤,相机标定操作是精确位姿估计的前提和基础[11]。要建立相机成像的几何模型来确定某个点三维几何位置(世界坐标系)与在图像中所对应点的相互位置关系,该模型的参数就是相机内参,通过图像处理以及算法来获取并优化该参数的过程称为相机标定。
视觉测量系统中的相机标定操作基于张正友标定法,是单平面棋盘格的相机标定方法,仅需要一张水平放置的棋盘格图案即可完成相机标定操作[12-15]。由于镜头在制造中不可避免地会存在加工误差,未经标定的相机拍摄出的图像普遍存在与真实的场景不完全吻合问题,原因是获取的图像存在径向畸变和轻微的切向畸变,导致测量结果不可靠。相机标定的目的之一是获取畸变系数并纠正图像畸变获得矫正后真实的图像信息,另一目的是获取精确的相机内参数矩阵,以此提升实验所测得的重复定位精度的准确性与可靠性。
为提升精确的相机内参与畸变系数,采用待测机器人在20个随机位姿下拍摄的靶标图像(图8),执行标定获得相机内参α,β,u0,v0,畸变系数k1—k5并输出重投影误差,标定结果见表1和表2。
图8 20组随机位姿下的靶标Fig.8 Target images under 20 random poses
表1 相机标定结果:焦距、主点及重投影误差Tab.1 Camera calibration results: focal length, main point and reprojection error
表2 相机标定获得的畸变系数Tab.2 Distortion coefficient obtained by camera calibration
位姿估计是在相机标定所得结果基础上的进一步图像信息提取操作,是求解机器人末端处固定连接的相机光心的位置信息问题[16-17]。外部参数平移向量t旋转向量R由相机标定得到的单应性矩阵H和内参矩阵A计算,步骤如下:
r1=λA-1h1,r2=λA-1h2,
r3=r1×r2,t=λA-1h3,
其中,λ是比例系数,且:
通过计算,即可获得相机光心在世界坐标系中的位姿信息,即平移向量t和旋转向量R。世界坐标系建立在靶标左下角,如图9,其中箭头竖直向上轴、箭头水平向右轴、箭头斜指向左下方轴分别为x轴、y轴、z轴。
空间点的位姿信息包含平移向量t和旋转向量R,共计6个参数:(x,y,z,a,b,c)。重复定位精度由平移向量中x、y、z三个位置参数得出,与旋转向量的a、b、c三个方向参数无关。第i张图像位置误差errori和所有图像的平均位置误差error计算公式:
其中,Δxi、Δyi、Δzi分别为第i张图像在x、y、z三个方向的分量误差,表示为
为了验证所提出视觉测量系统的准确性,搭建了如图10的视觉测量实验平台进行实验研究。采用1.3节基于国标GB/T 12642—2013《工业机器人性能规范及其试验方法》的图像数据采集方案,选用待测机器人以正常的运行速度,P1位姿为例,经相机标定、位姿估计操作得出相机光心在世界坐标系下的真实位姿信息数据见表3。
表3 P1在正常运行速度时的位姿信息Tab.3 Position information of P1 at normal operating speed
表3(续)
对表3数据进行重复定位误差计算,方法见2.3节,每张图像可得到的分量误差与总误差统计见表4。最后对全部总误差作数据统计得:errormean=0.007 747 mm,errormax=0.01 271 mm,errormin=0.001 423 mm。选用最大误差作为测量,结果即待测机器人在正常运行速度时的重复定位精度为0.01 271 mm。
表4 每张图像的分量误差与总误差Tab.4 Component error and total error per image mm
针对现有工业机器人重复定位精度测量技术所存在的成本高、操作繁琐、工作环境要求苛刻等问题,提出了一种用于工业机器人重复定位精度的间接测量方法,该方法是以视觉测量技术为基础,通过应用固定在机器人末端执行机构上的工业相机获取高精度靶标图像信息,运用图像处理算法程序,实现对工业机器人重复定位精度的精确测量。
在分析理论的基础上,设计测量实验并以KUKA KR210 R2700型六轴工业工业机器人作为测量对象搭建视觉测量实验平台。实验测得待测机器人在正常运行速度时的重复定位精度为0.012 71 mm。待测机器人出厂前,制造单位给出的激光跟踪仪测量得到的重复定位误差精度值0.014 mm,证明文中提出的基于视觉测量的工业机器人重复定位精度间接测量方法有效可行。