机器视觉运动控制一体机应用例程自动识别工件缺口方向
导语:对存在缺口的工件进行下一步加工上料时,需要自动定向识别工件缺口的位置。因工件的外缺口位置往往不统一,所以在工件上料前或者下料后,需要对工件的位置进行纠偏后再进入下一步加工工序,从而使工件的待加工位置和实际加工位置保持一致。
导语:对存在缺口的工件进行下一步加工上料时,需要自动定向识别工件缺口的位置。因工件的外缺口位置往往不统一,所以在工件上料前或者下料后,需要对工件的位置进行纠偏后再进入下一步加工工序,从而使工件的待加工位置和实际加工位置保持一致。
应用背景
对存在缺口的工件进行下一步加工上料时,需要自动定向识别工件缺口的位置。因工件的外缺口位置往往不统一,所以在工件上料前或者下料后,需要对工件的位置进行纠偏后再进入下一步加工工序,从而使工件的待加工位置和实际加工位置保持一致。
目前传统的加工方法是由人工进行手动上料后由机械手将工件移动至下一工位后再进行固定加工。而人工上料,会导致工件缺口的摆放位置一致性差,且摆放效率低,使得工件到达待加工位置与实际加工位置存在偏差,影响工件的加工效率和精度。
针对上述问题,正运动技术特此开发了自动识别工件缺口方向系统。此系统具有检测速度快、可靠性好、生产效率高等特点,在自动化生产线中进行机器视觉自动识别工件缺口的位置具有较好的应用性,同时也有着广泛的市场应用场景。
上期课程,我们讲述了在机器视觉方案中柔性振动盘上料的应用案例,本期课程我们将和大家一起分享如何去实现自动识别工件缺口方向的功能。
教学视频
01检测原理
(一)检测需求
检测识别工件的缺口位置,接着在界面上显示检测出工件的圆半径和统计样品今日生产数量,最后在图像上显示最终检测结果。
样品图
(二)软件算法
先将图像进行二值化处理,接着求区域内的最小外接圆,获取它的XY坐标和圆半径,再将获取XY坐标和半径生成一个圆形区域,之后使用BLOB阈值获取物料区域与生成的圆形区域进行差集运算,最后用红色区域显示缺口位置。
02软件实现
1.打开ZDevelop软件:新建名称为“缺口检测.zpj”项目→新建HMI文件→新建main.bas文件(用于编写界面响应函数)→新建global.bas文件(用于存放全局变量)→新建camera.bas文件(用于实现相机采集功能)→文件添加到项目。
2.设计HMI主界面。
3.关联HMI主界面控件变量。
4.本期课程的代码实现的功能主要使用到的指令是二值化处理,然后再进行区域差集运算的等相关指令。
(1)二值化
ZV_RETHRESH(参数1:输入图像,参数2:掩膜区域,参数3:二值化得到的区域,输出参数,参数4:设置低阈值,参数5:设置高阈值)
(2)计算区域最小外接圆ZV_RECIRCLE(参数1:输入区域,输入矩阵,参数2:TABLE索引,输出参数, 输出依次为圆中心cx坐标、圆中心cy坐标、圆半径)(3)生成圆形ZV_REGENCIRCLE(参数1:生成的区域,输出参数,参数2:圆形中心坐标X,参数3:圆形中心坐标Y,参数4:圆形半径)(4)差集运算ZV_REDIFF(参数1:输入区域1,参数2:输入区域2,参数3:计算的区域1和区域2的差集,输出区域)
完整代码、示例图像获取地址
▼
03操作演示
(一)操作步骤
查看运行效果:将项目下载到中→使用本地图片→单次采集→点击单次运行(查看当前样品检测结果)→点击自动运行(查看连续运行效果)→结束。
(二)效果演示
本次,正运动技术机器视觉运动控制一体机应用例程丨自动识别工件缺口方向,就分享到这里。