DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2072|回复: 1
打印 上一主题 下一主题

[待整理] 基于机器视觉的工业机器人分拣技术研究

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-1 19:05:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  对机器人工作进行分析,发现搬运、分拣是所有工作的基础,无论机器人应用于哪一行业,都会涉及到搬运和分拣工作。考虑到机器人的搬运、分拣工作实现基础是机器视觉,而机器视觉又分为两种情况,即相机静止-目标静止,相机静止-目标运动,一旦机器视觉定位不当,分拣工作就会受到影响,甚至于无法完成。为此,文章在机器视觉基础上搭建一个在机器人分拣实验系统,对机器人工作中应用到的分拣技术作详细论述。
  1 国内关于机器人分拣系统的研究
  尽管我国已经研发研制出了多种类、多造型的机器人,但整体研究工作目前还处于初级阶段,所以真正意义上的国产视觉机器人尚未研发出,更多的是在国外研究基础上进行改进、二次开发。关于视觉机器人分拣系统,国内研究人士提出了几种可行的算法,如连通域矩特征提取法;贝叶斯估计跟踪算法;目标识别法等等。这些算法都能在一定程度上对机器人分拣动作进行辅助,确保机器人分拣动作的顺利完成,防止错抓。
  2 基于机器视觉下的机器人分拣系统构建
  为了探讨机器人分拣技术的特点,文章现以MOTOMAN-UP6 机器人为例,基于机器人视觉构建一个机器人分拣系统,并对该系统在相机静止-目标静止,相机静止-目标运动两种情况下的运行情况做详细论述。
  2.1 机器人分拣系统的构成
  实验中所构建的机器人分拣系统由四个部分构成,分别为相机标定、图像处理、模式识别以及机器人控制,四个部分缺一不可。相机标定的作用是为系统建立一个图像坐标系与机器人坐标系,并以此来研究二者之间的关系;图像处理的作用是对相机拍摄到的外界图像进行预处理,提取图像中的某些特征,并根据这些特征来确定出联通成分的中心坐标;模式识别需以图像作基础,对图像及图像中的联通成分进行识别、分类;机器人控制是最后步骤,控制的实现方法是在计算机和机器人之间建立一个连接通信,利用计算机程序来对机器人动作进行控制。
  2.2 机器人分拣技术分析
  机器人分拣系统的整体运行过程便是机器人分拣的实现过程,也就机器人分拣技术。具体内容包括以下几个方面:2.2.1 相机标定
  相机标定是机器人分拣的首要步骤,也是机器人的视觉基础,如果相机标定不存在,则机器人视觉将无法实现。相机标定的基本作用为分别建立以个图像坐标系和空间位置坐标系,并探讨二者之间的对应关系。机器人分拣中,通过对相机标定结果的分析,可准确判定目标在机器人坐标系中所处的位置,为机器人的分拣和抓取动作奠定基础。
  2.2.2 目标识别
  目标识别前期需要完成目标提取,也作图像分割,基本定位为:将图像中某些具备一定特征,或者敢兴趣的部分提取出来。目标提取的方法有很多种,包括边缘检测法、区域提取法、阀值分割法等等。
  目标提取之后的工作是目标识别,具体工作是对提取出的特征图像或感兴趣目标进行分析、分类。下图1为目标识别过程简图。


  图1 目标识别过程简图
  2.2.3 传送带上的目标分拣
  (1)运动目标检测
  运动目标检测就是从图像序列中将要识别的运动目标从场景图像中提取出来。文章研究的是静态背景下(即相机静止)的运动目标检测,解决此类问题的方法主要可以分为三类:光流法、帧间差分法、背景差分法。
  (2)垫圈模板的建立与识别
  先拍摄一张没有垫圈场景的照片做为背景,采用背景差分法提取待识别的目标,进行联通标记处理后,提取目标的中心点(形心),以形心为中心,提取80伊80 的二值图像作为模板,针对垫圈中心对称的特点,做以下标记,将模板中在垫圈外部的像素标记+1,垫圈上的像素标记为O,垫圈内部的像素标记为-1,如图2所示。


  图2 垫圈模板


  (3)运动目标跟踪
  运动目标跟踪可采用多目标跟踪法,具体做法是对图像序列的每一帧图像进行分析,从各帧图像中检测出运动目标,判断这些目标是否是要识别的目标及属于哪一类,建立运动目标链,并在后续各帧中定位、识别这些目标,不断更新运动目标链,建立不同帧图像间同一物体运动的对应关系,对目标位置做出判断。运动目标跟踪的同时要建立相应的运动模型,以供后期分拣参考。
  2.2.4 机器人运动控制
  MOTOMAN 系列机器人控制系统提供了MOT0COM32 软件开发包,该开发包包含了机器人控制柜与计算机的通信、机器人运动的基本指令、数据文件的交换等功能。文章在VC++6.0上开发的控制平台,MOTOCOM32 提供了在该平台上运行模式,VC 程序调用MOTOCOM 库函数,通过RS232 接口向控制柜发出指令,控制柜控制机器人完成相应的任务。
  要在VC环境中调用MOTOCOM库函数,就要在VC中配置环境变量包含MOTOCOM32 动态链接库,将安装文件中的Moto原Com32.dll、Motolk.dll、MotoLkr.dll、vrp32.dll、motoeom.h、MotoCom32.LIB 这6 个文件拷贝到程序的工作目录中,再在VC 的工作窗中/工程一项目0,弹出/项目设置0 窗口,在该窗口/连接0 一栏/对象/库模块0中输入motocom32.lib。
  3 结束语
  食品加工业、汽车业、农业等生产领域都已研发出相应的机器人技术,并且实现了机器人工作,在很大程度上提高了行业生产效率,促进了行业经济的发展。考虑到机器人分拣工作是所有工作的基础,且机器人在执行分拣工作时极有可能会出现定位不当、无法识别问题,所以必须建立试验系统,对机器人分拣技术进行探讨和分析,找出适用且有效的分拣系统,切实保证机器人的分拣准确性,防止错抓。
  
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-15 17:18 , 耗时 0.101392 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表