今日头条
应用背景
在生产线上的上料加工工序当中,机械手去托盘上取物料时,通常会使用传感器来感应物料的有无。如果感应到有物料,机械手就会下降到感应的取料位去取料;没有感应到就会等待下一个位置感应信号,如此循环动作。
这样在物料盘物料不满、或者空料盘的情况下,生产的效率和产能都会受到影响。所以我们需要对料盘进行目标识别,识别出料盘上样品的位置,再将识别到物料盘上所有样品的位置进行行列排序,最后引导机械手逐个去抓取。
有了正运动技术的机器视觉辅助引导解决方案,机械手可以直接略过物料盘上的空位,这样就很好地规避了机械手不必要的走位和提高了企业的生产效率和产能。正运动技术的机器视觉辅助引导解决方案在生产线上进行识别物料盘内多个目标的位置具有较好的应用性,同时也有着广泛的市场应用场景。
上期课程,我们讲述了在机器视觉方案中印刷字符有无检测应用案例,本期课程我们将和大家一起分享如何去实现识别物料盘内多个目标的位置。
01检测原理
(一)检测需求
识别物料盘上多个样品的位置,并在界面当中输出显示物料盘内存在的物料在几行几列当中和它的位置信息。
(二)软件算法
1.首先进行BLOB检测,把所需目标提取出来,接着进行连通区域分析,获得连通区域的面积和坐标信息,之后再对连通区域的面积进行筛选,得出我们目标区域,最后根据区域坐标跟起始坐标的相对位置做一个计算,可以得到目标位置行、列的矩阵信息了。
2.目标位置列计算:X坐标减去起始X坐标后整除X方向的间隔距离就可以得出目标位置在第几列。
3.目标位置行计算:Y坐标减去起始Y坐标后整除Y方向的间隔距离就可以得出目标位置在第几行。
(三)课前准备
1.电脑一台,安装ZDevelop3.10.04版本软件
2.VPLC516E一台
3.24V直流电源一个
4.网线若干
5.电线若干
02软件实现
1. 打开ZDevelop软件:新建名称为“识别物料盘内多个目标位置.zpj”项目→新建“HMI”文件→新建“视觉检测.bas”文件 (用于编写界面响应函数) →新建“初始化.bas”文件 (用于初始化参数) →新建“draw.bas”文件 (用于更新绘制ROI数据) →新建“相机.bas”文件 (用于实现图像采集功能) →文件添加到项目。
2.设计HMI主界面。
3.关联HMI主界面控件变量。
(1)打开ROI:ract_roi_id
(2 )相机采集:d_use_imgfile
(3 )低阈值:bin_parameter(0)
(4 )高阈值:bin_parameter(1)
(5 )腐蚀膨胀:operation
(6 )最小面积:area(0)
(7 )最大面积:area(1)
(8 )样品间隔X、Y:Spacing(0)~Spacing(1)
(9 )起始坐标X、Y:Start_point(0)~Start_point(1)
(10 )检测数量:table(6)
(11 )行、列、X、Y:value(id*12+0)~value(id*12+11)
4. 本期课程代码主要实现的功能使用到的指令如下。
03操作演示
(一)操作步骤
查看运行效果:将项目下载到控制器中→使用本地图片→单次采集→点击打开ROI (框选ROI检测区域) →设置检测参数 (用于识别物料盘内多个目标的位置) →点击检测 (查看检测结果) →结束。
本次,正运动技术机器视觉运动控制一体机应用例程丨识别物料盘内多个目标位置,就分享到这里。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !