基于机器视觉的物体识别与抓取控制系统
扫描二维码
随时随地手机看文章
引 言
机械手是在机械化、自动化生产过程中发展起来的一种新型装置,是机器人领域的一个重要分支 [1-2]。1958 年美国联合控制公司研制出的第一台机械手具有运动部件与抓放机构。第一代机械手主要依靠人工控制,影响这类机器人应用的主要是成本与精度。第二代机械手主要依靠微型电子计算机控制,具有视觉、触觉能力,甚至具有听与想的能力。通过在机械手上安装各种传感器,反馈感觉到的信息,使机械手具有感觉机能 [3-4]。第三代机械手则能独立完成工作过程中的各种任务,这类机械手具有感觉功能、决策功能及执行功能,已逐步发展成为柔性制造系统 FMS 与柔性制造单元FMC 中的一个重要组成部分 [5-6]。机械手感知与控制软件是公司的核心竞争力,但市场上并没有通用的机械手感知与控制软件,根据特定用途开发的机械手需要专门开发其配套感知与控制软件。本文针对已有的物体传送带与桁架机械手, 开发一套基于机器视觉的物体识别及抓取控制系统,实现传送带上输送物品的位置识别、桁架机械手的运动控制与抓取功能。
1 物体输送及抓取装置
为实现物体的输送与抓取,设计制造了传送带系统与桁架机械手。传送带由伺服电机驱动,能够实现物体的匀速运动。桁架机械手为直角坐标式机械手,具有高效、稳定、高强度、高精度、高性价比及操作控制简单等特点,广泛应用于机械产品的抓取和搬运。
本文物体输送及抓取装置包括传送带、型材框架、X 轴、Y轴、Z轴滑台模组、气动夹爪以及一些连接件等,其主要功能是实现物体沿传送带表面的直线运动,桁架机械手实现X 轴、Y 轴和 Z 轴三个方向的直线运动及卡爪的转动、抓取运动。其三维设计图如图 1 所示,实物图如图 2 所示。
图 1 物体输送及抓取装置三维模型
图 2 物体输送及抓取装置实物
2 基于机器视觉的物体识别
2.1 基于机器视觉的物体识别系统
机器视觉系统一般是将工业相机安装在机器流水线上代替人眼来做测量与判断,通过数字图像摄取目标转换成图像信号,传送至专用的图像处理系统,图像处理系统再对这些信号进行各类运算,抽取目标特征,进而根据判别结果控制现场的设备动作 [7]。
工业相机俗称摄像机,相比于传统的民用相机而言,其性能稳定可靠,易于安装。工业相机的快门时间非常短,可以抓拍高速运动的物体,其图像传感器可逐行扫描,帧率远远高于普通相机,且能输出光谱范围较宽的裸数据,比较适合进行高质量的图像处理算法。而普通相机拍摄的图片的光谱范围只适合人眼视觉,并且经过 MJPEG 压缩,图像质量较差,不利于分析处理。本文机器视觉系统采用一款130 万像素的工业相机和焦距为 2.8 ~ 12 mm 的镜头。
由于物体在传送带上做连续直线运动,为确定物体的初始位置,触发工业相机拍照,故在传送带上安装一组光电传感器。当传送带运送的物体经过光电传感器时,触发计时开始,经过时间延迟,确保物体在工业相机的视野范围内,并启动工业相机对物体拍照。拍照完成后进行图像处理与物体识别,获得物体位置,经过坐标变换获得物体在传送带坐标系内的位置坐标。图像坐标系与传送带坐标系如图 3 所示, 其中图像坐标系坐标原点在传送带坐标系中的坐标为(Δx, Δy)。假设图像坐标系中某点 P 的坐标为(U,V),将 P 点坐标转换到传送带坐标系中的坐标为(X,Y),图像坐标系坐标与传送带坐标系坐标之间的关系为 :
X=Δ x+U
Y=Δ y+V
图 3 图像坐标系与传送带坐标系
2.2 基于机器视觉的物体识别程序
机械视觉系统首先需要的是视觉采集程序, 视觉采集程序就是通过程序控制相机, 在有物体通过时拍摄图片。在 C# 程序中, 添加一个 MVSDK 类库, 把相机函数添加到 MVSDK.cs 中, 并在程序开头添加“using System. Runtime.InteropServices ;”“usingSystem.IO ;”“using CameraHandle=System.Int32 ;”,配置完成后即可通过程序调用相机函数拍照。
机器视觉的物体识别与定位根据图片的 RGB值进行判断。本文图像处理方法采用 EmguCV,EmguCV是 .NET平台下对 OpenCV图像处理库的封装,包含图像处理与机器视觉方面的较多通用算法 [8]。本文利用 OpenCV 提供的图像轮廓与中心识别算法实现物体轮廓及位置识别。具体方法为 :通过 EmguCV 创建一个 C# 项目,在引用中加“Emgu.CV.dll”“Emgu.CV.UI.dll”“Emgu.CV.UI.GL.dll”“Emgu.Util. dll”,完成后即可使用 EmguCV 中的控件进行图像轮廓与中心识别。
3 基于机器视觉的物体识别与抓取控制系统
基于机器视觉的物体识别与抓取控制系统工作流程如图 4 所示。
图 4 物体识别与抓取控制系统流程图
根据物体识别与抓取控制系统工作流程,利用 C# 语言开发控制程序,控制程序界面如图 5 所示。控制程序调试完成后共进行 100 次物体传送与抓取实验,正确抓取率为100%,验证了本文系统的正确性与有效性。
图 5 物体识别与抓取控制系统程序界面
4 结 语
本文设计了基于机器视觉的物体识别与抓取控制系统, 主要包括以下功能 :
实现了程序控制相机对传送带上运动物体的拍照功能,利用图像处理方法获得了物体在图像坐标系中的位置 ;
通过坐标变换获得了物体在传送带坐标系统内的位置,结合传送带的速度确定了抓取策略,通过控制桁架机械手与卡爪运动,实现了对物体的正确抓取。