当前位置: 首页 > 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

相关文章:

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

文章目录 openpnp - Too many misdetects - retry and verify fiducial/nozzle tip detection概述笔记环境光最好弱一些在设备标定时,吸嘴上不要装绿色屏蔽片如果吸嘴不在底部相机中间,先检查设置底部相机坐标调整底部相机坐标 吸嘴校验的细节底部相机坐…...

不与最大数相同的数字之和

不与最大数相同的数字之和 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 输出一个整数数列中不与最大数相同的数字之和。 输入 输入分为两行: 第一行为N(N为接下来数的个数&…...

CSS学习记录11

CSS布局 - display属性 display属性是用于控制布局的最终要的CSS属性。display 属性规定是否/如何显示元素。每个HTML元素都有一个默认的display值,具体取决于它的元素类型。大多数元素的默认display值为block 或 inline。 块级元素(block element&…...

D95【python 接口自动化学习】- pytest进阶之fixture用法

day95 pytest的fixture详解(二) 学习日期:20241210 学习目标:pytest基础用法 -- pytest的fixture详解(二) 学习笔记: fixture(autouseTrue) func的autouse是TRUE时,所有函数方法…...

Abaqus断层扫描三维重建插件CT2Model 3D V1.1版本更新

更新说明 Abaqus AbyssFish CT2Model3D V1.1版本更新新增对TIF、TIFF图像文件格式的支持。本插件用户可免费获取升级服务。 插件介绍 插件说明: Abaqus基于CT断层扫描的三维重建插件CT2Model 3D 应用案例: ABAQUS基于CT断层扫描的细观混凝土三维重建…...

隐式对象和泛型

implicit object 作用: case class DatabaseConfig(driver:String,url:String)//作为函数的隐士参数的默认值implicit object MySqlDefault extends DatabaseConfig("mysql","localhost:443")def getConn(implicit config: DatabaseConfig):Uni…...

CSS的颜色表示方式

以下介绍几种常见的CSS颜色表示方式: 颜色名称 html和css规范中定义了147种可用的颜色名用的相对较少 16进制表示 css三原色:红、绿、蓝16进制的颜色值: #rrggbb16进制整数规定颜色成分,所有的值均介于 00 - ff 之间&#xff…...

单链表常见面试题 —— LeetCode

一.删除链表中与val相等的所有节点 1.题目描述 ----- 203. 移除链表元素 - 力扣(LeetCode) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 列表中的节点数目在范…...

Pydantic中的discriminator:优雅地处理联合类型详解

Pydantic中的discriminator:优雅地处理联合类型详解 引言1. 什么是discriminator?2. 基本使用示例3. discriminator的工作原理4. 更复杂的实际应用场景5. 使用建议6. 潜在陷阱和注意事项结论最佳实践 引言 在Python的类型系统中,有时我们需要…...

pgloader SQLSERVER -> PostgreSQL 配置文件样例

pgloader 是什么?安装和基本用户法可以去其他同道的blog上去看,这里不占用网络空间了。刚开始用官方的文档读起还是很费劲的,所以把常用的配置例子放在这里。 官方文档:https://pgloader.readthedocs.io/en/latest/index.html 迁…...

APP、小程序对接聚合广告平台,有哪些广告变现策略?

开发者对接聚合广告平台,可以让自身流量价值最大化,获得更多的广告曝光机会,对接单一的广告联盟容易造成广告填充不足,收益不稳定的问题。#APP广告变现# APP开发者根据应用的生命周期、用户特征和产品定位,选择最适合…...

HarmonyOs DevEco Studio小技巧39-模拟器的使用

使用环境 模拟器在本地计算机上创建和运行,在运行和调试应用/元服务时可以保持良好的流畅性和稳定性,但是需要耗费一定的计算机资源,具体的运行环境要求为: 系统类型 运行环境要求 Windows(X86) Windows 10 企业版、专业版或教…...

【C语言】浮点数的原理、整型如何转换成浮点数

众所周知C语言中浮点数占四个字节,无论在32位或者64位机器上。不免会发出疑问四个字节是怎么计算出小数的呢?其实物理存放还是按照整型存放的。 IEEE 754 单精度浮点数格式 浮点数在计算机中是使用 IEEE 754 标准进行表示的。在 IEEE 754 标准中&#…...

TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面

前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。 普通用户使用 参照上一篇教…...

Elasticsearch高性能实践

前言 本方案主要从运维层面分析es是实际生产使用过程中的参数优化,深入理解es各个名词及含义,深入分析es的使用过程中应注意的点,详细解释参数设置的原因以及目的,主要包括系统层面,参数层面。除此之外,优…...

软件测试--录制与回放脚本

准备工作 安装phpstudy 配置两个内容 放demo44文件夹 在浏览器输入http://localhost/demo44/index.html,出现如图所示的网站 输入用户名和密码 步骤一:打开Virtual User Generator,点击新建,点击new 步骤二:点击如下…...

nodejs 06.npm的使用以及package.json详解

一.npm(npm | Home)的介绍 npm(Node Package Manager)是一个node.js的包管理工具,允许用户下载安装更新分享node.js包 二.npm相关命令以及作用 1.npm init -y 这条命令主要是当项目中没有package.json这个文件的时候生成package.json这个文件 2.npm i / npm install (包名) 这条…...

如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档

本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能,通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1.WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…...

颜色的基本处理

数码相机能够获取彩色图像,但相机的色彩处理是一个非常复杂的过程,是非常重要的。 此过程生产制造商在细节方面都是不公布的,但是基本的概念是相同的。当相机捕捉一个真实场景时,是怎么还原成人眼所看到的图像呢? 1.R…...

跟李笑来学美式俚语(Most Common American Idioms): Part 66

Most Common American Idioms: Part 66 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...

爬虫技术简介

1、爬虫简介 爬虫(Web crawler)是一种用于自动获取网页内容的程序。它可以通过模拟浏览器访问网页,并从中提取所需的信息,如文本、图片、链接等。爬虫在互联网上进行广泛应用,用于搜索引擎的网页抓取、数据挖掘、信息收集、内容监测等领域。 2、爬虫分类 爬虫的分类有以…...

如何打开Windows10的设备管理器

如何打开Windows10的设备管理器? 01 02...

scala列表

1 不可变 List 说明 (1)List 默认为不可变集合 (2)创建一个 List(数据有顺序,可重复) (3)遍历 List (4)List 增加数据 (5&#…...

c++检查某一文件是否存在

C17及以上版本,检查文件是否存在可以使用filesystem库 如果使用的是C11或C14,标准库并没有直接提供这样的功能。 可以使用平台特定的API,例如在Windows上使用 _access 函数,或在POSIX兼容系统(如Linux和macOS&#x…...

Scala的隐式类,隐式参数和值,隐式对象

1.Scala的隐式类定义语法:implicit class 类名(参数){ } 隐式类中参数只能定义一个,参数中的源类型与目标类型一一对应,只能从一种类型转换成另一种类型,不可以一对多或多对。 //隐式类:implicit class隐式转换函…...

LabVIEW实现HTTP通信

目录 1、HTTP通信原理 2、硬件环境部署 3、云端环境部署 4、HTTP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和…...

【EXCEL】 获取多列中 不为空的那一个数据

从多个表格筛选出来的上班时间是下表这样的 我要把他们放在同一列,这样方便后续处理,合并列输入下面这个公式即可 日期不加 TEXT() 函数 转日期格式;将得到是一串数字 TEXT(TEXTJOIN(", ",TRUE,B2:F2),&qu…...

VBA API 概述 | 宏编程

注:本文为 “VBA API 概述 | 宏编程 | 执行速度慢” 相关文章合辑。 VBA API 详解 Office 二次开发于 2020-12-17 22:27:10 发布 Office 版本变动 在 Office 2010 之前,微软仅提供 32-bit 版本的 Office。而自 Office 2010 起,出现了 32-b…...

pythonOpenCV篇:0基础带你python入门之常用函数

① 二值化函数 功能:将图像转换为二值图像(黑白图像),将像素值分为两种类别:前景(白)和背景(黑)。函数:cv2.threshold()参数: src:输…...

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③ 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…...

电子商城网站开发价格/百度seo排名主要看啥

伪类(pseudo-class)& 伪元素(pseudo-element) 伪类和伪元素在web开发中用的好的话,可以说犹如神助。 但一定要分清楚,什么是伪类,什么是伪元素。 如何区分伪元素与伪类? 答&…...

对中国建设银行网站的评价/海南百度推广公司有哪些

3.37&#xff1a;下面的程序是何含义&#xff0c;程序的输出结果是什么&#xff1f; const char ca[ ] {h , e , l , l &#xff0c;o }; const char *cpca; while(*cp)  { cout<<*cp<<endl; cp; } Ans:输出结果为 h \n e\n l\n l\n o\n ........&#xff08…...

校园二手网站设计论文/2020年百度搜索排名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2022年安全员-B证培训试题系安全员-B证国家题库仿真模拟预测&#xff01;2022安全员-B证考试模拟100题模拟考试平台操作依据安全员-B证新版考试题库。安全员-B证试卷通过安全生产模拟考试一点通上题库学习。 1、【多选…...

科技服务网站建设方案/竞价代运营公司

本系列会介绍OpenStack 企业私有云的几个需求&#xff1a; 自动扩展&#xff08;Auto-scaling&#xff09;支持多租户和租户隔离 &#xff08;multi-tenancy and tenancy isolation&#xff09;混合云&#xff08;Hybrid cloud&#xff09;支持主流硬件支持、云快速交付 和 SLA…...

绵阳专业网站建设/台州seo优化公司

第九章&#xff1a;转移指令的原理05 让编程改变世界 Change the world by program 实验八 分析一个奇怪的程序&#xff01;&#xff08;利用转移原理“玩”系统一下~&#xff09; 程序代码下载 实验九 根据材料编程(第一次——黑底白字下终于有了色彩&#xff01;) 程序代…...

做网站怎么调用栏目/百度seo价格

以前选修学习asp的时候&#xff0c;没怎么看过书&#xff0c;每次上课就只有简单敲几行代码就完了&#xff0c;没学到什么东西。后来进入snert的时候&#xff0c;队长说我们要学习一门脚本语言&#xff0c;也去看过&#xff0c;但是最终都没能坚持下来好好学习。近来兴趣来了&a…...