当前位置: 首页 > news >正文

openpnp - Too many misdetects - retry and verify fiducial/nozzle tip detection

文章目录

    • openpnp - Too many misdetects - retry and verify fiducial/nozzle tip detection
    • 概述
    • 笔记
    • 环境光最好弱一些
    • 在设备标定时,吸嘴上不要装绿色屏蔽片
    • 如果吸嘴不在底部相机中间,先检查设置底部相机坐标
      • 调整底部相机坐标
    • 吸嘴校验的细节
    • 底部相机坐标不对的原因
    • 底部相机灯光要聚焦到PCB高度的位置
    • END

openpnp - Too many misdetects - retry and verify fiducial/nozzle tip detection

概述

换了新X轴丝杠,重新标定了一次设备。
在底部相机高级校正时,报错如下:
在这里插入图片描述
根据提示,重新设定了底部相机坐标,重新校正了吸嘴NT1, NT2, 再进行底部相机高级校正就通过了。
应该和这个报错的调整不止一个,将相关的问题原因都记录一下。
对java不熟,没有去看源码单步调试。只是从问题现象上猜测可能的问题原因,能想到的可能相关的问题原因就不止一个了。

笔记

环境光最好弱一些

openpnp用的都是视觉识别(opencv),报错时,都是视觉识别报错。
当环境光比较强时(e.g. 白天,外面阳光挺好,没有拉窗帘),设备上开了底部相机灯光。
这时,曝光的参数可能随着环境光的不同(从上午墨迹到下午),有不同的效果。
这时进行设备标定,失败的概率大一些(主要是进行底部相机高级校正时)。
如果是白天进行设备标定,最好是将窗帘拉上,屋子里面暗一些较好。
此时,如果设置了openpnp的视觉参数(e.g. 相机曝光),设置的效果不会因为环境光的改变而改变。

在设备标定时,吸嘴上不要装绿色屏蔽片

当初发现底部相机识别元件时,吸嘴上方的28电机安装螺丝孔会影响图像识别。
于是定制了绿色屏蔽片(因为吸嘴就是绿色的,加绿色屏蔽片,背景会干净一些),尺寸(绿色不透明塑料圆片,中心有孔,外38mm,内10mm, 厚度2mm), 到手后,将塑料膜撕掉,用砂纸打磨了一下,防止反光。
在这里插入图片描述
但是这东西在设备校验过程中,离吸嘴比较近,在底部相机灯光的照射下,还是有点反光(在底部相机中心时,不怎么反光,在校验过程中,离开底部相机中心远一点时,绿片的外环有点反光,不知道是否影响底部相机高级校正的过程?)。
后来我将吸嘴上的绿色屏蔽片拿掉,再结合其他几点调整,标定过了。
不确定是不是加了绿色屏蔽片引起的问题,反正设备标定时,最好吸嘴不要戴上绿色屏蔽片。
等进入正常贴片流程时,用绿色屏蔽片应该是管用的,元件识别的背景都是绿色,背景会干净很多。

如果吸嘴不在底部相机中间,先检查设置底部相机坐标

底部相机校验吸嘴时的位置,都是PCB的高度。
先将吸嘴自动走到底部相机中心。
在这里插入图片描述
在这里插入图片描述

当校验吸嘴时,先将吸嘴定位到底部相机中心,如果看到吸嘴落到底后(PCB高度),如果吸嘴不在底板相机中心(不要求吸嘴正好在底部相机十字中心,至少底部相机十字要在吸嘴内壁的黑洞的圆形区域内),否则吸嘴校验大概率过不了。

调整底部相机坐标

将吸嘴的C1/C2角度归零
将吸嘴移动到底部相机十字上
在这里插入图片描述
学习记录当前吸嘴的位置。
在这里插入图片描述
然后就可以进行吸嘴的校验了,吸嘴一般都能校验通过。

吸嘴校验的细节

在这里插入图片描述
有时吸嘴校验不过去,这时要检查调整参数。
先确定"offset Threshold", 这个值默认是0.5,如果吸嘴校验失败,可以设置的大一些试试.e.g. 0.6, 0.7, 0.8
"Vision Diameter"是要识别的吸嘴内壁直径,可以按照实际尺寸调整一下。如果N1,N2上的吸嘴的归零位置不同,那么落在PCB位置的Z坐标也可能不同。这时,即使是2个同样型号的吸嘴(e.g. 都是503)装在N1,N2上,这里的尺寸也有差异。
“Vision Diameter"在设备标定时,是用向导提供的圆圈选择器选的像素值间接设置的这里的值。
如果单独调整"Vision Diameter”,要根据吸嘴内壁的实际尺寸调整一下实际的mm数值。
最终参数是否设置的合适,要拿此吸嘴的视觉管道编辑器看一下,如果识别到了吸嘴内壁,那就是OK的。
在这里插入图片描述
在这里插入图片描述
如果吸嘴的视觉管道编辑器看一下,如果识别到了吸嘴内壁。但是吸嘴校验不过,那就是底部相机坐标不对,没其他原因了(暂时是这么认理解的)。

底部相机坐标不对的原因

我只发现一个原因,都是在设备标定中才出现此问题,只能怀疑是openpnp的bug.
正常使用中,如果吸嘴都是正常同心度(质量由厂家保证,设备贴头没有发生过撞刀),底部相机位置自己没换过(e.g. 换底部相机灯光引起的底部相机重新安装),没有发生过底部相机坐标不对的情况。

底部相机灯光要聚焦到PCB高度的位置

每个人的设备都不同,底部相机灯光市面上卖的产品,都是固定角度的(e.g. 0度,10度,45度,90度),如果直接买来,装在自己设备上不一定合适, 必须要合理的设计(由机械结构保证灯光聚焦的点)。
设计原则: 吸嘴落在底部相机中心上方的高度和PCB高度一致,此时,底部相机灯光要聚焦在吸嘴上才行。调整底部相机焦距,使吸嘴成为焦点目标。此时,只有吸嘴最清晰,其他元素(包括吸嘴座都是虚化的)。这时,如果底部相机聚焦在吸嘴上,会使吸嘴内壁看的更清晰,也会使吸嘴的外环颜色和吸嘴内壁的差别更大,更利于视觉识别。

受限于已有机械结构,我做了一个钣金件,4面贴上COB灯带, 使光线角度大致为75~80度,照向吸嘴。
在这里插入图片描述
底部相机高级矫正时,吸嘴会在底部相机可视区域内来回活动。如果吸嘴落到相机灯光的机械结构高度内, 需要自己测试估算一下,不要让吸嘴的移动范围和灯光的机械结构发生碰撞。大概给吸嘴留的校验活动空间为5倍的吸嘴安装圆柱的正方形区域(e.g. 吸嘴圆柱直径是15mm, 那么留给吸嘴的活动范围应该为15x(1 + 2 + 2) = 75mm, 也就是给吸嘴留一个75mm x 75mm的空间就行, 这样即使是吸嘴扎到了底部相机灯光机械结构的高度内部,也不会在底部相机高级校验过程中发生撞刀的事故)。

END

http://www.lryc.cn/news/501896.html

相关文章:

  • 不与最大数相同的数字之和
  • CSS学习记录11
  • D95【python 接口自动化学习】- pytest进阶之fixture用法
  • Abaqus断层扫描三维重建插件CT2Model 3D V1.1版本更新
  • 隐式对象和泛型
  • CSS的颜色表示方式
  • 单链表常见面试题 —— LeetCode
  • Pydantic中的discriminator:优雅地处理联合类型详解
  • pgloader SQLSERVER -> PostgreSQL 配置文件样例
  • APP、小程序对接聚合广告平台,有哪些广告变现策略?
  • HarmonyOs DevEco Studio小技巧39-模拟器的使用
  • 【C语言】浮点数的原理、整型如何转换成浮点数
  • TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
  • Elasticsearch高性能实践
  • 软件测试--录制与回放脚本
  • nodejs 06.npm的使用以及package.json详解
  • 如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档
  • 颜色的基本处理
  • 跟李笑来学美式俚语(Most Common American Idioms): Part 66
  • 爬虫技术简介
  • 如何打开Windows10的设备管理器
  • scala列表
  • c++检查某一文件是否存在
  • Scala的隐式类,隐式参数和值,隐式对象
  • LabVIEW实现HTTP通信
  • 【EXCEL】 获取多列中 不为空的那一个数据
  • VBA API 概述 | 宏编程
  • pythonOpenCV篇:0基础带你python入门之常用函数
  • 第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③
  • 【每日一题 基础题】验证回文串