Appearance
Pin针匹配
算子功能
本算子用于使用配方对比Pin针的X、Y坐标和高度信息,并输出Pin针的X、Y坐标、高度和间隔信息,以及与配方的比对结果。 注:使用的标准件点云需要为预处理过后的图像
参数介绍
输入参数
参数 | 范围 | 默认值 | 说明 | 图示 |
---|---|---|---|---|
输入图像 | 0-8 | 0 | 图像输入的IM编号 | ![]() |
计算参数
参数 | 范围 | 默认值 | 说明 | 图示 |
---|---|---|---|---|
使用区域参数 | true/false | false | 启用则以区域 作为输入,不启用则以输入图像 作为输入 | |
区域 | 2D窗口/盒子 | 2D窗口 | 手动框选合适的ROI区域可以通过绑定选择已存在的ROI区域 | |
Pin针最小间隔 | 0.5 | 两个Pin针之间的最小距离间隔 | ||
Pin针最小点数 | 50 | Pin针的最小点数 | ||
排序方式 | +X/-X/+Y/-Y | +X | +X:Pin针按从左到右,从上到下排序 -X:Pin针按从右到左,从下到上排序+Y:Pin针按从右到左,从下到上排序 -Y:Pin针按从右到左,从下到上排序 | ![]() |
Pin针高度 | true/false | false | 若启用,输出Pin针的高度信息 | |
高低去除百分比 | 10.000 | 根据此比例去除z方向上的噪点。例如,当比例设置为10%时,则只留下中间80%满足条件的点进行高度值的计算 | ||
高度模式 | 最小值 、最大值 、均值 、中值 、标准差 、百分位数 | 中值 | 提供6种计算高度的方法 | |
百分比 | 10 | 当模式为百分位数 时启用,输入百分位数,例如输入50,则取中间50%的点进行高度值的计算 | ||
Pin针间隔 | true/false | false | 若启用,则输出Pin针的间隔信息 | |
配方比对 | true/false | false | 若启用,则输出与Pin针的配方比对信息 | |
配方路径 | true/false | false | 开启配方比对时启用,输入Pin针配方的路径(仅支持.json且数组名为"recipe"的配方文件) | |
测量结果 | true/false | false | 开启配方比对时可启用,启用时,则输出与Pin针配方的比对结果,结果显示在界面上且保存在全局变量中 | |
Pin针偏移 | 1.000 | 设置Pin针排序时X或Y方向的偏移量,若在其偏移量范围内,则视为在同一行/列 | ![]() |
结果显示
参数 | 范围 | 默认值 | 说明 | 图示 |
---|---|---|---|---|
序号 | true/false | false | Pin针序号,若启用,则在图像中显示 | |
X坐标 | true/false | false | Pin针X坐标,若启用,则在图像中显示 | |
Y坐标 | true/false | false | Pin针Y坐标,若启用,则在图像中显示 | |
高度 | true/false | false | Pin针高度,若启用,则在图像中显示 | |
X偏移值 | true/false | false | Pin针X偏移值,若启用,则在图像中显示 | |
Y偏移值 | true/false | false | Pin针Y偏移值,若启用,则在图像中显示 | |
高度偏移值 | true/false | false | Pin针高度偏移值,若启用,则在图像中显示 | |
匹配结果 | true/false | false | Pin针匹配结果,若启用,则在图像中显示Pin针序号和OK 或NG |
输出参数
名称 | 类型 | 范围 | 说明 |
---|---|---|---|
Result | bool | true/false | true为成功 false为失败 |
Warning | bool | true/false | true表示有警告 false表示没有 |
Message | string | 输出成功或错误或警告信息,如果没有错误或警告为空 | |
Time | float | 算子执行时间,单位: ms | |
pin | int[] | 输出的Pin针序号 | |
key | int[] | 输出的Pin针键位 | |
pin_position_x | float[] | 输出的Pin针X坐标 | |
pin_position_y | float[] | 输出的Pin针Y坐标 | |
pin_position_height | float[] | 输出的Pin针高度值 | |
pin_position_side_x | float[] | 输出的Pin针X方向间隔 | |
pin_position_side_y | float[] | 输出的Pin针Y方向间隔 | |
pin_position_side_height | float[] | 输出的Pin针高度间隔 | |
pin_result | string[] | 输出的Pin针匹配结果 |
提示
更多参数类型详细说明,请参看类型定义
异常排查
序号 | 异常信息 | 对应参数 | 解决方法 |
---|---|---|---|
1 | 输入的区域类型是{0},无效区域类型 | 区域类型 | 区域输入类型为window2d/box/pointset之一 |
2 | 区域裁切失败 | 1. 检查是否框选为空 2. 检查pointset是否为空 3. 检查点云是否为空 | |
3 | 区域点云为空 | 调整区域起点、终点参数,使得框选区域内存在有效点 | |
4 | 提取Pin针失败 | 修改Pin针设置参数 | |
5 | 输入的排序方式是{0},无效排序方式 | 排序方式 | 选择排序方式为+X/-X/+Y/-Y其中之一 |
6 | 输入的高度模式是{0},无效排序方式 | 高度模式 | 选择模式为最大/最小/中值/均值/去除百分比 |
7 | 文件"{0}"不存在或无法访问 | 文件路径 | 输入有效的配方路径 |
8 | 文件"{0}"载入失败 | 文件路径 | 输入有效路径且为json文件 |
9 | 文件不含有“recipe” | 使用带有recipe键的json文件 | |
10 | 配方数量与检测到的pin针数量不符 | 配方数组与检测到的pin针数量一致 | |
11 | 第{0}个Pin没有{1}字段 | 序号,配方变量名 | 使用第i组带有配方变量参数的配方文件 |
示例介绍
工程设计
选择
加载点云
工具,加载需要处理的3d点云图到IM0;选择
3D区域
工具,选择需要拟合平面的区域;选择
3D平面
工具,以3D区域
工具的输出作为输入,拟合平面,并变换点云;选择
3D方形探针
工具,搜索定位点;选择
3D位置调整
工具,以定位点为新原点,调整点云位置;选择
3D裁切
工具,裁切出Pin针点云;选择
3D变换
工具,将Pin针点云调整至合适的位置;选择
Pin针配方创建
工具,获取Pin针配方文件选择
Pin针匹配
工具,检测Pin针
工具使用
选择需要进行操作的输入图像,图像序号要与工程中图像所在IM序号一致
不启用使用区域参数或启用区域并选择区域类型为盒子,将盒子移动到待测位置,包围住待测点云
设置参数
在结果显示栏中勾选想要显示的内容
点击
测试
,查看图像窗口和参数是否符合预期没有问题后点击
保存
,在运行列表中运行该算子,即可在对应的IM查看运行结果