随着Visionmaster算法平台3D版本的发布,本文主要介绍VM3D版本在实际案例中如何搭载方案实例。本文主要介绍平整度检测的方案实例。
一、整体思路
先对于平面度检测我们需要用到一张深度图像,即输入3D激光轮廓仪采集得到的深度图像。然后找到我们所需的平面,然后判断其平整度是否满足需求即可。整体思路是比较简单的。
二、图像源输入
在3D模块集中,选取3D图像源模块,选取采集得到的图像。一般我们在流水线上可能实物出现缺料等情况,因此我们加入一个快速匹配模块,简单判断该图像是否是我们所需的图像源——即简单判断有无。再者采集得到的图像可能实物一致但是位置发生了偏移,因此我们还需要一个模块来修正图像位置——位置修正模块。
三、构建测量平面
在3D版本中,有两个模块可以得到我们所需的平面:平面检测和平面拟合模块。这里我们应用后者,平面检测比较简单,只需要框选出所选平面即可。但是在实际案例中,我们可能需要通过很多位置差距较大的点来拟合一个平面,判断该平面平整度。
如图所示,我们需要测量该圆环的平整度,平面检测模块无法选取整个圆环平面,因此我们选择平面拟合模块。首先我们用几何创建模块框选出圆环的各个位置(ROI个数越多,所拟合的平面越贴合真实圆环),然后创建一个group模块,将得到的几何区域输入组合模块中,之后我们创建统计测量模块,将几何创建中的所有点统计得到我们拟合平面所需的点,再将所有的点输入到点集中。最后再将点集输出group,创建一个平面拟合模块即可。在平面拟合中就包含我们所需的平整度信息。
四、判断平面是否满足需求
最后我们使用条件检测加分支字符组合来判断该样品是否为良品还是次品。首先条件检测订阅平整度信息来进行判断,我们可以根据需求来设置OK数值,如果平整度不在此数值内,那么条件检测会输出NG。之后创建一个分支字符模块,如果输入为OK,那么运行模块9,反之,运行模块10。所以,我们只需要在模块9中格式化输出为良品;模块10中,格式化输出次品。最后我们再创建一个格式化模块,订阅模块9和模块10两个信息,最后无论是次品还是良品,可以直接显示出来。
五、结果显示