当前位置:首页 期刊杂志

基于视觉的料片位姿检测与定位算法研究

时间:2024-08-31

郑红梅,丁 鹏

(合肥工业大学 机械工程学院,安徽 合肥 230009)

0 引言

变压器在整体上是由多层铁芯片组合叠装而成的,每层铁芯片又由5片硅钢片拼接而成。叠片的过程是将硅钢片料片叠成“日”字型铁芯。料片的种类多,叠装步骤繁琐使得人工叠装的工作强度大而复杂。故本文设计了一种视觉系统应用于桁架机械手,利用工业相机采集料片的特征,利用位姿信息实现料片的定位,从而实现桁架机械手的定位,并最终将机械手的位姿传输给下位机控制机器人进行组合叠装。

1 叠片机器人视觉系统

叠片机器人视觉系统分为硬件系统和软件系统两个部分。

硬件系统由工控机、安川控制器、工业相机、LED光源等组成。软件系统基于Windows操作系统,利用Visual Studio开发工具,使用C#语言开发。图1所示为叠片机器人视觉系统整体架构。工业相机采集信号后,将图像通过以太网传输至上位机,上位机完成图像处理后确定目标机械手位姿(X、Y、Z电机位置及角度)并传给运动控制器,由运动控制器通过以太网通信实现与机械手的交互。

2 料片位姿检测与机械手定位算法

2.1 料片位姿检测与机械手定位算法流程

系统主要通过工业相机采集图像,并利用图像预处理、坐标转换算法计算目标硅钢片相对于机械手的位姿,将计算结果反馈给上位机控制运动控制器,最终由机械手实现对硅钢片的搬运。

2.2 料片位姿检测

图像处理是料片位姿检测算法的核心,它的主要任务是对工业相机采集的图片进行一系列处理以便得到后续工作所需要的料片位姿。但由于工厂环境光线等因素干扰,会对图像的分割、特征提取等造成很大的影响。因此,在进行图像特征提取前需要进行图像预处理。图像预处理包括图像滤波、图像分割、边缘检测等。

图1 叠片机器人视觉系统整体架构

2.2.1 图像滤波

常见滤波方式为均值滤波、中值滤波、高斯滤波。中值滤波属于非线性滤波,可以高效地消除图像的噪声点。高斯滤波通过平滑,可以去除噪声干扰,能够提高边缘检测的精准度,因此对拍得的硅钢片采用中值滤波叠加高斯滤波的方式进行处理。

2.2.2 图像分割

图像分割的主要方法有阈值分割、边缘检测等。

(1) 阈值分割。大津算法对于单一目标的分割非常有效,计算量少,程序运行时间短,且不受图像亮度、对比度和饱和度影响,故采用大津算法进行阈值分割,效果如图2所示。

(2) 边缘检测。边缘检测的目的在于从图像中标记出物体轮廓,采用Canny边缘检测算法,图3为针对硅钢片的检测结果。

图2 硅钢片阈值分割效果图

图3 硅钢片的边缘线

(3) 线特征提取。检测到目标物轮廓,对边缘图像进行Hough变换用于提取目标物表面的特征直线。图4为提取出的硅钢片边缘直线的效果图。

图4 硅钢片线特征提取效果图

2.3 建立坐标系

建立坐标系的目的是将检测到的料片位姿转换成抓取料片的机械手位姿,因此需要建立起像素坐标系到机械手坐标系再到机床坐标系的关系。图5为三坐标系模型。其中,Ow-XwYwZw为机床坐标系,也叫世界坐标系,Om-XmYmZm为机械手坐标系,Oc-XcYc为像素坐标系。

图5 三坐标系模型

2.3.1 像素坐标系到机械手坐标系的转换

转换的目的是将硅钢片上任意一点的像素坐标描述成机械手坐标系下的坐标。

像素坐标系和机械手坐标系之间的转换关系如图6所示。图6中,(Xc1,Yc1)为硅钢片像素坐标,(Xc2,Yc2)为相机中心像素坐标,(Xm1,Ym1)为相机中心机械手坐标。硅钢片中心像素坐标转换到机械手坐标系如公式(1)所示:

Xt1Yt1=Xm1+(Xc2-Xc1)mYm1+(Yc2-Yc1)m.

(1)

其中:m为相机分辨率。利用式(1)最终计算得到的为硅钢片中心在机械手坐标系下的坐标(Xt1,Yt1)。

图6 像素坐标系与机械手坐标系的转换关系

2.3.2 机械手坐标系到机床坐标系的转换

机械手坐标系和机床坐标系之间的转换关系如图7所示。图7中,Om是机械手中心,(Xw1,Yw1)是机械手在机床坐标系下的坐标,(Xm1,Ym1)即P点是硅钢片中心在机械手坐标系下的坐标,角度θ为硅钢片在机床坐标系下的偏转角。P点旋转θ后得到的硅钢片中心在机械手坐标系下的坐标为(Xt,Yt)。硅钢片中心的机械手坐标需要通过旋转平移转换到机床坐标系,得到硅钢片中心在机床坐标系下的坐标,转换关系如式(2)、式(3)所示:

XtYt1=Xm1Ym11cosθsinθ0-sinθcosθ0 0 0 1.

(2)

XrYr=Xt+Xw1Yt+Yw1.

(3)

最终得到硅钢片中心在机床坐标系下的坐标(Xr,Yr)。

图7 机械手坐标系与机床坐标系的转换关系

2.4 机械手定位

定位的主要步骤为首先识别抓取位硅钢片中心位姿,其次在设计的界面上提前预设好需要放置的目标硅钢片中心位姿,最后计算得出机械手4个轴的电机需要移动的距离,从而实现定位功能。

2.4.1 抓取位硅钢片位姿识别

首先对硅钢片进行拍照预处理获得硅钢片表面的霍夫线段,再对霍夫线段进行分组,最后通过排序分组得到硅钢片的边。这个方法的目的是利用对应的边找到硅钢片的中心,再利用2.3节式(1)、式(2)、式(3)得到吸附处硅钢片中心在机床坐标系中的坐标(Xr,Yr)。偏转角θ通过识别出的硅钢片上端点世界坐标系下的坐标,并通过斜率公式即可求出。

2.4.2 机械手定位至放置位

目标硅钢片的位姿(机床位置,硅钢片偏转角)是预设好的待放置位姿,因此需要通过获取抓取位与放置位硅钢片偏转角的角度差调整机械手角度,实现将吸取位硅钢片定位至目标位置的功能。

如图8所示,P1、θ分别为吸附处硅钢片中心位置和硅钢片在机床坐标系的偏转角,P3、θ1为目标硅钢片中心位置和其在机床坐标系的偏转角,(Xh1,Yh1)是机械手在机床坐标系下的坐标。实现定位功能需要将吸附处硅钢片中心的机械手坐标在机械手坐标系旋转(θ1-θ)角度得到P2。机械手吸附硅钢片,因此可认定此时的硅钢片与目标硅钢片平行,两者在机床坐标系下的偏转角均为θ1。最后只需计算P3与P2转换为机床坐标系下的点的差值,将结果传给下位机发送定位指令驱动机械手移动即可实现定位至目标硅钢片的功能。计算公式如下:

Xp3

Yp3=Xp2

Yp2cos(θ1-θ) -sin(θ1-θ)

sin(θ1-θ) -cos(θ1-θ)+Xh1

Yh1.

(4)

3 实验结果与分析

本课题在Visual Studio可视化编程开发软件中搭建视觉处理平台,设计了WinForm界面,如图9所示。该界面能够清晰地显示图像处理结果、坐标转换每一步的坐标结果,方便人员使用,扩展能力强。首先采集图像,然后保存到系统中,接着加载图像,对图像进行预处理和特征提取,根据建立的坐标系分别得到吸附位置硅钢片中心点在像素坐标系、机械手坐标系、机床坐标系下的坐标以及硅钢片实际偏转角度。

图8 硅钢片移动至目标位置坐标系

进行坐标转换,由2.4节验证坐标转换后硅钢片中心的机床坐标及偏转角,如表1所示。

图9 识别与定位WinForm界面

由表1可知,坐标转换后得出的硅钢片开口大小误差在1 mm以内,料片坐标检测结果误差在0.5 mm以内,角度误差在0.05°以内。精度满足叠片要求。

4 结语

算法通过图像识别与坐标转换识别出抓取位的硅钢片特征、中心位姿,通过坐标转换得到机械手搬运到目标位置所需要移动的距离及角度,利用上位机控制机械手实现搬运功能。实验结果表明,视觉系统可以满足一般叠片机器人的叠装要求,并且具有较好的精确性。

表1 硅钢片中心点坐标偏转角及误差

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!