基于三维机器视觉的工业机器人定位系统设计*

2018-10-09 06:37温秀兰张腾飞崔俊宇
组合机床与自动化加工技术 2018年9期
关键词:标定坐标系平面

温秀兰,张腾飞,芮 平,崔俊宇

(南京工程学院 自动化学院,南京 211167)

0 引言

工业机器人是目前自动化生产线上必备的设备之一,广泛用于装配、分拣、搬运和码垛等场合。传统机器人的应用大多停留在示教阶段,这种情况下单一的机器人作业往往只能应对结构化环境,早已不能满足现代生产对柔性化和智能化的要求[1]。随着计算机视觉技术的逐渐成熟,工业机器人智能化抓取已经成为专家学者和企业研究的重要方向,智能化抓取即从工作场景中识别并抓取指定物体,其关键技术在于识别并提取目标物相对于机器人的位姿[2]。目前国内外研究的主要重心是利用图像算法实现目标定位功能[3-6]。文献[3]将降噪自动编码和叠层深度学习相结合,实现多模特征深度学习机器人抓取判别功能。文献[4]针对工业机器人装配问题,设计了一种利用单目视觉建立关系匹配矩阵达到工件模糊自主识别系统。文献[5]提出一种处理简单、计算准确的单目视觉定位系统,该系统利用灰色图像直方图和阈值进行目标定位提高效率。文献[6]研制的一款6自由度工业机器人,运用机器视觉技术,通过一系列的数学运算处理,可将具体环境中的积木进行规则的摆放。总结目前研究成果,多是从二维图像处理算法优化角度出发研究目标定位问题。为了提高工业机器人的定位精度,本文通过编写上位机软件,实现对工业机器人工作面的深度边缘分割和基于累计Hough变换的目标物空间定位功能,设计一种基于三维机器视觉的工业机器人视觉定位系统。

1 视觉定位系统组成

工业机器人视觉定位系统主要由Kinect视觉传感器、上位机处理系统、史陶比尔工业机器人三部分组成,如图1所示。Kinect视觉传感器通过USB将采集工作环境的图像信息发送给上位机处理系统。上位机处理系统先存储Kinect视觉传感器发送的图像信息,利用opencv计算机开源视觉库通过上位机软件处理图像得出所要抓取物体的位姿信息并计算出抓取中心点的坐标,最后将图像处理结果生成的抓取坐标点坐标转换成工业机器人世界坐标系坐标点。机器人根据上位机处理系统发送的坐标点的位置进行轨迹规划并产生相应的运动指令,从而实现物体的抓取和摆放功能。

图1 系统硬件平台

2 系统标定

2.1 Kinect标定

为了保证抓取系统的定位精度,首先要对Kinect视觉传感器进行标定,也就是确定传感器在世界坐标系下的内外参数。采用张正友棋盘标定法[7],通过使用opencv开源计算机视觉库的标定函数,对棋盘格的角点进行检测,从而求出视觉传感器的内外参数。Kinect视觉传感器以光轴中心所在平面建立坐标系,利用透镜组成光学小孔成像模型[8],建立摄像机坐标系、图像坐标系和世界坐标系转换关系如图2所示。

图2 坐标转换关系图

首先设抓取平面点A的坐标为(x1,y1,z1),A在图像坐标系成像点Au的坐标为(x2,y2,z2),则:

(1)

f是相机的焦距,f=z2。

利用小孔成像原理可得出光轴中心在成像平面的交点坐标,进而求出Kinect的内外参矩阵。

2.2 手眼标定

为了确定摄像机坐标系与机器人世界坐标系之间的转换关系,要对机器人进行手眼标定。机器人手眼标定分为眼在手上和眼在手外两种,考虑到本系统环境为固定场景,所以采用眼在手外标定方法标定。机器人坐标系、摄像机坐标系和工作空间坐标系如图3所示,图中OwXwYwZw是机器人的世界坐标系,OtXtYtZt是工业机器人末端坐标系,OcXcYcZc是摄像机坐标系,OgXgYgZg是工作空间坐标系。

图3 系统坐标系示意图

手眼标定先通过示教器记录机器人在每个标定点的机器人末端与机器人世界坐标系之间的相对位姿变换矩阵,然后求出机器人世界坐标系与摄像机坐标系的相对位姿,最后得出工作空间坐标系与机器人世界坐标系之间的关系。

2.3 标定结果

标定实验是将标定板固定在工业机器人末端,通过示教器控制机器人运动到不同位姿,视觉传感器随机采集标定图片10张,计算出视觉传感器Kinect的内外参数以及各坐标系相互之间转化矩阵,通过MATLAB标定模块计算棋盘角点,仿真出标定平面分布如图4所示。

图4 摄像机标定平面

标定结果为:

(1)内参数

(2)外参数

(3)机器人世界坐标系与摄像机坐标系关系矩阵

(4)机器人世界坐标系与工作空间坐标系关系矩阵:

3 目标定位算法实现

实验时,选择圆形和正方形块作为目标物,为了能够更好的完成对工作平面的采集工作,首先对采集到的图像使用深度边缘分割算法,将所需要进行处理的平面从整幅图像中分割出来,即消除背景图像中的一些干扰。然后利用OpenGL对分割后的图像进行重建,对图像进行分析处理提取轮廓,运用累计概率霍夫变换识别工作环境抓取目标,最后用正方形拟合抓取目标轮廓,用圆形来抓取拟合目标中心点。

3.1 基于图像深度边缘分割的目标提取

图像分割常用的算法有基于图像边缘处理和基于区域处理等方法,考虑到本系统采用固定高度采集图像,因此选择基于图像深度边缘处理的方法,运用opencv和OpenGL开源库生成点云数据,处理后得出工作平面。具体的实现方法是将Kinect固定在工业机器人工作区域外工作平面的正上方1m左右位置。当系统开始工作时,Kinect红外相机采集深度信息并记录工作平面中所抓取物体到摄像机坐标系最小距离d1和工作平面到摄像机坐标系的距离d2,Kinect相机采集整个工作平面的彩色图像信息。上位机处理系统中,首先保存图像的彩色信息和深度信息,然后根据彩色图和深度图创建三维点云数据流,彩色数据流直接保存并判断深度数据流,将距离在d1和d2之间的三维点云数据流保存,将不在范围的三维坐标数据流释放,最后根据深度流处理的结果用彩色流保存的点云数据信息进行上色。图像经过深度边缘分割处理后,存储了工作面的信息,释放了非工作面的信息如图5所示,比较原图和处理后的图,可以看出采用深度边缘分割方法能够有效提前目标物。

图5 图像深度边缘分割

3.2 基于累计概率Hough变换目标定位

在图像处理和计算机视觉领域中,检测圆和直线的方法有很多。常用的边缘处理方法对处理的图像要求很高且容易产生噪声干扰,因此通常作为图像预处理过程使用。与灰度图像相比,深度图像能更准确地获取物体的三维信息, 对物体的形状分析和定位有着重要的意义[9]。霍夫变换是一种将深度图像的特征点映射至参数空间,从而获取图像特征点关系的方法,该过程创建一个参数空间,通过计算累计结果的局部最大值匹配得出一个符合该特征的集合,该集合作为霍夫变换的结果输出。

图6 图像算法处理流程

检测直线使用累计概率Hough变换方法,追踪图像中的每个点对应曲线间的交点,如果交于一点的曲线数量超过了阈值,则认定这个交点所代表的参数对在原图像中为一条直线。圆形使用霍夫圆变换进行检测,原理和霍夫线变换相似,区别在于对点的处理。霍夫圆变换用三维的圆心点和半径取代对应的二维极径极角空间,算法流程处理如图6所示,运行效果如图7所示。

图7 累计概率Hough变换效果图

4 定位系统实验及结果

4.1 定位系统抓取实验

工业机器人视觉定位系统关键在于通过视觉传感器定位所需的抓取工件的中心点。系统根据标定的结果进行坐标转换,得出工业机器人末端执行件坐标与工作平面坐标关系,从而得出抓取工件中心点在工业机器人世界坐标系下的坐标,最后通过上位机软件实现和机器人的通信,发送定位点的坐标,并且控制机器人运动到指定位置,打开吸盘进行抓取,最终实现工业机器人的抓取功能。系统的工作流程图如图8所示,抓取实验过程如图9所示。

图8 系统流程图

图9 抓取实验过程

4.2 定位系统实验结果分析

在工业机器人抓取应用场合中,不但要求抓取系统具有目标物体高精度定位性能,而且需要控制整个抓取过程的时间。

为了验证视觉定位系统的精度,在抓取每个目标物的同时,存储机器人在抓取时刻的机器人末端执行件的坐标。分别对6个抓取目标重复进行20次抓取实验,并记录每一次实际抓取点的坐标。将示教器读出理论抓取中心点的坐标与系统运算得出的实际抓取点坐标的平均值相比较,如表1所示。

表1 视觉定位实验数据(单位:mm)

由表可得,实际抓取定位点与理论抓取点误差平均值1.182mm,最大1.38mm,低于一般工业机器人视觉定位系统2mm左右的误差范围,系统精度满足工业机器人的工作需求。

5 总结

本文搭建了一个基于三维视觉的工业机器人目标定位系统平台,借助opencv/OpenGL库中图像深度边缘分割实现对目标的提取,利用累计概率Hough算法进行目标定位,最后通过上位机软件和工业机器人进行通信,控制工业机器人实现抓取功能。结果表明,本系统采用深度边缘分割算法提取工业机器人工作面和基于累计概率Hough变换算法识别定位分割后的工作面内正方体和圆柱体物体,缩短定位系统处理时间,实现了工业机器人视觉系统高精度定位功能。

猜你喜欢
标定坐标系平面
独立坐标系椭球变换与坐标换算
玩转高考真题——平面解析几何篇
使用朗仁H6 Pro标定北汽绅宝转向角传感器
立体几何基础训练A卷参考答案
CT系统参数标定及成像—2
CT系统参数标定及成像—2
解密坐标系中的平移变换
坐标系背后的故事
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于MATLAB 的CT 系统参数标定及成像研究