您的位置 首页 > 数码极客

如何用mfc做图像处理

摘要

现有生产线工业机器人抓取点固定,工件只能以固定的姿态提前摆放在固定的位置,这种装配模式很难满足复杂的工业生产要求且效率低下。设计了基于视觉引导的机器人装配系统改进原有系统。设计了机器视觉系统,实现了工件的快速识别、定位以及姿态确定功能;设计了抓放系统,实现了工件的精确抓取和安装功能;采用Visual Studio的MFC开发,实现图像处理算法,并利用Socket通信将坐标和姿态数据发送给机器人。通过实验验证本系统具有良好的稳定性和快速性,可以满足生产的要求,大幅提高生产效率。

狭义的家装:指室内装饰;是从美化的角度来考虑的,以使室内的空间更美观;

广义的家装:包括室内空间的改造、装修;今天我们说的家装多为广义的家装,是室内装修和装饰的综合。

中文引用格式:党宏社,候金良,强华,等. 基于视觉引导的SCARA机器人自动装配系统[J].电子技术应用,2017,43(5):21-24.

英文引用格式:Dang Hongshe,Hou Jinliang,Qiang Hua,et al. SCARA automatic assembly system based on vision guided[J].Application of Electronic Technique,2017,43(5):21-24.

0 引言

工业机器人是机电一体化高度集成的产物,作为《中国制造2025》重点发展的十大领域之一,是工业自动化水平和工业4.0的重要标志[1]。工业机器人具有重复精度高、可靠性好、适用性强等优点,广泛应用于汽车、机械、电子、物流等行业,已被证明是当前最高效的生产工具,需求量不断攀升[2]。自上世纪60年代初以来,工业机器人经历了三个阶段的发展[3]。第一代是示教再现型工业机器人,只能将操作者告诉它的轨迹、顺序、要求等把知识记忆下来,然后根据再现指令读取这些知识,完成规定任务。第二代工业机器人是感知型工业机器人,通过给工业机器人安装相关传感器使其有所感知,对外部信息能进行反馈。第三代工业机器人是智能工业机器人,可对周围环境、作业条件等做出判断然后再执行任务。一般由机器视觉作为反馈,通过图像处理信息引导工业机器人执行任务。

机器视觉是工业机器人的重要研究领域[4],而目前生产线上多数工业机器人都通过预先示教或者离线编程的方式来控制机器人执行预定的指令动作,一旦工作环境或目标对象发生变化,机器人不能及时适应这些变化,从而导致任务失败,而且这种工作方式在很大程度上限制了工业机器人的灵活性和工作效率。

1 装配系统的组成

本文设计并实现了基于机器视觉的机器人装配系统,可在线完成对不同型号和任意摆放工件的装配任务。系统主要由机器视觉系统和机器人装配系统组成。机器视觉系统包括图像获取、相机标定、模板匹配,可对不同工件进行识别、定位以及旋转角度的确定。机器人装配系统包括工件的抓取和安装,在视觉的引导下完成工件的装配。PC利用Socket通信把坐标和姿态数据发送给机器人,机器人根据位置数据抓取工件,然后放到装配位置。

2 视觉系统的设计

2.1 图像获取

采用韩国IMI tech Amazon2系列工业相机[5],它是数字逐行扫描相机,采用千兆以太网GigE协议标准,采用Sony逐行扫描CCD芯片,具有非常高的图像质量。通过以太网与PC连接,且采集频率可调。首先通过安装IMI相机的驱动软件获得相机的C++接口,然后将接口函数移植到Visual Studio2015中进行二次开发。在包含相机类库的情况下,通过实例化相机句柄类来读取相机的数据。通过OneFrameGrab来获取相机的一帧图像,并将数据保存在固定的位置,实现实时读取IMI相机的功能。

2.2 相机标定

在机器视觉应用中,相机参数的标定是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性[6]。由于机器人抓取的工件位于同一平面,所以只对标定板图像采集一次就可以得到相机的外参。得到相机的外参后,即可以得到图像坐标上每个像素在世界坐标系下对应的实际距离。然后通过坐标系的变换公式即可得到图像坐标系与机器人世界坐标系的转换关系。

2.3 标准模板的建立

在进行模板匹配之前需要制作不同工件的标准形状模板。将标准的工件放在相机的视野下,获取图像,对图像提取ROI区域,然后进行轮廓提取,得到模板的标准轮廓。首先获取标准工件图像,利用矩形截取函数来截取矩形的ROI区;然后对图像进行增强;最后通过模板创建函数来创建模板,得到模板二值化后的标准轮廓。创建模板的算法思路如下:

(1)寻找ROI区域图像的灰度梯度,使用Sobel算子对图像进行处理可以返回X方向的像素灰度值(Gx)和T方向的像素灰度值(Gy)。用下面的公式计算当前像素点的灰度值和梯度方向。

(2)利用非极大值抑制算法(NMS)来搜索梯度方向的局部极大值,抑制非极大值元素,可以细化边缘。非最大抑制算法跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度。

(3)采用双阈值算法提取和连接边缘。非极大值抑制算法处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值TH,另外一个为低阈值TL,则有:对于任意边缘像素低于TL的,则丢弃;对于任意边缘像素高于TH的,则保留;任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的,则保留,否则丢弃。最终对边缘图像进行保存,图1是工件A的模板创建过程。

2.4 模板匹配

对相机采集的工作区域实时图像搜索模板图像,得到工件的像素坐标和旋转角度。模板匹配的流程如图2所示。

其中相似性度量用到了归一化处理,图像中包含与模板越相似的图像输出的数值越接近1,公式如下:

其中 代表模板图像X和Y方向的梯度, 代表待匹配图像的X和Y方向的梯度。归一化相似性度量会得到当前图像与模板的相似度Score,Score的阈值MinScore设定为0.75。可以设定图像的最大匹配个数,如果匹配时的质量系数大于MinScore的目标个数多于最大匹配个数,仅仅返回质量系数最好的目标位置。如果找的匹配目标不够,那么就只返回已找到的目标。输出的匹配角度Angle为弧度值0~2π,对应模板图像逆时针旋转0~360°。最终根据相机标定的结果将工件图像坐标转化为机器人的世界坐标。经过多次匹配实验得出匹配的准确率为98%,匹配的最大绝对误差为5个像素,匹配平均时间为60 ms。

3 机器人装配系统设计

SCARA(Selectively Compliance Assembly Robot Arm)机器人是一种平面关节型工业机器人,具有4个关节[7],3个旋转关节轴线相互平行,实现平面内定位和定向;1个移动关节,实现末端件升降运动,广泛应用于塑料工业、汽车工业、电子产品工业、药品工业和食品工业等领域[8]。本次设计中机器人要与PC通信接收工件的坐标信息和角度,然后抓取工件以固定的姿态放到指定的位置。

3.1 SCARA机器人通信程序设计

机器人控制器的IP1端口作为客户端连接到运行在PC上的服务器,利用无线通信完成数据的收发。使用机械手语言的PRINT和INPUT命令,与机械手语言程序进行数据通信。通过使用PRINT命令,可以从控制器发送任意的字符串,控制器发送以PRINT命令指定的字符串及变量值。接收数据使用INPUT命令,控制器能接收的仅是实数或整数。控制器已接收的数据被代入为用INPUT命令指定的变量。在机械手语言的程序中,可以通过参照该变量,使用已接收的数据。在Visual Studio中利用C++开发了基于Socket通信的服务器,将模板匹配得到的工件坐标发送给机器人客户端。PC与机器人通信程序流程图如图3所示。

3.2 SCARA机器人抓放程序设计

机器人程序在TSPC软件中完成,主要功能是根据接收到的工件坐标和角度数据,移动机器人将工件以固定的姿态放到装配位置。由于抓取的工作区域比较大,因此要将工作区域分开抓取。通过对机器人的轨迹范围的研究,确定将工作区域分为两个部分,分别以不同的姿态抓取工件。以机器人世界坐标X=331.6为分界,对上半部分采用C=-254.380 基准对工件进行抓取,下半部分采用C=-74.306基准对工件进行抓取。由于工件在工作区域有0~360°的旋转角度,所以要在基准的基础上对机器人的旋转角度进行调整,使得每次机器人的末端执行器都与工件平行。

机器人末端执行器根据工件角度旋转的原理。由于模板匹配返回工件中心的坐标点,当角度发生变化时,相应的机器人的坐标也要变化,才能保证以与工件平行的姿态抓取工件。其原理如图4所示。

如果工件A的旋转角度为零,那么末端执行器以工件中心点(X0,Y0)到(X1,Y1)的直线抓取工件。当工件A旋转θ角度时,末端执行器以工件中心点(X0,Y0)到(X2,Y2)的直线抓取工件。机器人的坐标偏移量用下面的公式计算,其中θ为工件的旋转角度,L为末端执行器的长度7.564 cm。

然后用MOVE SAFEPLAY,将不同旋转角度的工件都以固定的角度移动到放置安全点,最后完成放置。机器人的抓放程序流程图如图5所示。

4 实验验证

在Visual Studio中采用MFC开发实现上述图像处理算法,并建立Socket服务器与SCARA通信。在MFC程序中采用多线程的方法实时显示机器人工作区域的图像,采用中断的方式定时对图像进行模板匹配。当匹配到工件,利用Socket通信将工件坐标发送给机器人完成装配。MFC程序界面及装配实验系统如图6所示。

系统误差的主要来源为相机标定、光照的变化、坐标变换以及机器人末端执行器的精度等。利用本系统对任意摆放的工件进行识别和抓取,对连续50次的装配点误差进行统计,如图7所示。通过以上实验测试,本系统可以对任意摆放的工件进行识别,并可以精确地放到装配位置,工件装配的最大绝对误差为0.2 mm,平均绝对误差为0.15 mm,可以满足生产的要求,证明系统的准确性良好。实验测试时间超过100 min且系统仍然稳定运行,证明系统的稳定性良好。

5 结束语

为了使现有生产线工业机器人能更好地适应抓取环境,设计了基于视觉引导的机器人抓放系统。通过对工作区域图像实时采集和模板匹配得到工件的坐标和姿态,由机器人完成抓放。通过对生产线的改进,工件可以任意放入工作区域,也可根据生产需要改变抓取策略,提高机器人对环境的适应性,大大提高生产效率。通过多次测试实验,本系统可以完成上述所有功能,满足工业生产的要求。

参考文献

[1] 周济.智能制造─“中国制造2025”的主攻方向[J].中国机械工程,2015,26(17):2273-2284.

[2] 谭民,王硕.机器人技术研究进展[J].自动化学报,2013,39(7):963-972.

[3] 骆敏舟,方健,赵江海.工业机器人的技术发展及其应用[J].机械制造与自动化,2015,44(1):1-4.

[4] 刘艺,夏文杰.基于机器视觉的移动工件抓取和装配的研究[J].计算机测量与控制,2015,23(7):2329-2332.

[5] LEE W S,EOM J H,WON J D.A study on visual servoing control of industrial robot[C].2012 12th International Conference on Control,Automation and Systems(ICCAS).JeJu Island,2012:1886-1890.

[6] 郭斌,朱戈,陆艺,等.智能化上料系统中工件视觉定位的研究[J].计算机测量与控制,2016,24(2):232-238.

[7] 翟敬梅,董鹏飞,张铁.基于视觉引导的工业机器人定位抓取系统设计[J].机械设计与研究,2014,30(5):45-49.

[8] 刘振宇,李中生,赵雪,等.基于机器视觉的工业机器人分拣技术研究[J].制造业自动化,2013,35(9):25-30.

作者信息:

党宏社,候金良,强 华,张 超

(陕西科技大学 电气与信息工程学院,陕西 西安710021)

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何用mfc做图像处理,VGA如何做图像处理,mfc图像处理教程,mfc,图像处理工具”边界阅读