openpnp - 解决“底部相机高级校正成功后, 开机归零时,吸嘴自动校验失败的问题“

文章目录

    • openpnp - 解决"底部相机高级校正成功后, 开机归零时,吸嘴自动校验失败的问题"
    • 概述
    • 笔记
    • 问题现象1
    • 问题现象2
    • 原因分析
    • 现在底部相机和吸嘴的位置偏差记录
    • 修正底部相机位置
    • 现在再看看NT1在底部相机中的位置
    • 开机归零,看看是否能通过所有校验
    • 配置备份很重要
    • END

openpnp - 解决"底部相机高级校正成功后, 开机归零时,吸嘴自动校验失败的问题"

概述

和厂家同学讨论,他连轴的齿隙校正都不做。

经过和他的多次讨论,和自己的实验体会,才知道,因为他是做完设备初步校正后,就开始贴片。当然不需要做齿隙校正。
但是,只做设备的初步校验,设备的贴片精度和JOG控制精度要差很多。

必须做到底部相机高级校正之后,才能将设备的贴片精度和JOG控制精度提高到设备本身能达到的最高等级。
如果想让底部相机高级校正通过,就必须将齿隙校正做了,UI上有提示。

做了底部相机高级校正之后,和贴片相关的机械零件(顶部相机,底部相机,X, Y, Z, C1, C2)的安装偏差,就都被openpnp提供的补偿修正了。

我这边遇到一个新问题(以前也遇到过,不过不是每次都出现) : 底部相机高级校正后,用openpnp归零,home点校验没问题。但是2个吸嘴的自动开机校验都失败了。

以前遇到这种情况,因为自己是小白,也不知道咋处理好,只能很蠢的重新标定设备,一次标定就3个小时。标定完,这个问题也不一定会消失。

可怕的是,一旦增加了吸嘴,在NT1/NT2上装的不是设备标定时用的吸嘴的时候,还有可能会出现开机归零后的吸嘴校验失败问题。
现在用了openpnp很长时间了,一直在研究和体会openpnp的各种报错的现象。现在遇到问题,都能具体问题具体分析,确定解决问题的正确方向,然后确定出正确的具体解决方法,然后实验搞定。

被openpnp折腾怕了,在设备机械/电气零件都不移动的情况下,会在标定的每个重要节点结束后,退出openpnp, 做配置备份。
这个问题是可以重现的,这问题就好找了。
在这里插入图片描述

笔记

问题现象1

在这里插入图片描述
这个情况是相机曝光太低了,图像识别不出吸嘴。如果人眼就分辨不出吸嘴, opencv也不能分辨。
在这里插入图片描述
将底部相机曝光调节成既能看清吸嘴,又不至于过亮的值,我这里是-8.
这个曝光值不确定,和环境光的强弱有关系。白天和黑天的效果有点不一样,有可能是我的底部相机灯光不是很强引起的。

现在再用openpnp归零试试,是否能开机校验全部(一个home点,2个吸嘴)通过。

问题现象2

在这里插入图片描述
home点校验过了。
但是2个吸嘴还是校验失败

原因分析

在设备的初步校验中,有一步是底部相机初步校验。
就是将NT1移动到底部相机十字的中间开始的校验。
这步会记录底部相机的位置。
我很确定的记得,当时,是很准确的讲NT1吸嘴内部的中间对准了底部相机十字。
现在明显底部相机十字和吸嘴中心,差了不少。
出现这种情况的原因: 因为过了底部相机高级校验,有补偿存在,那么底部相机初步校验时的位置,应该发生了改变。
现在要尝试在当前情况(底部相机高级校正通过后)下, 修正底部相机的位置(通过顶部相机中心看到的底部相机中心要重合),然后再试试开机归零

现在底部相机和吸嘴的位置偏差记录

将吸嘴选为NT1, 然后在底部相机视图上右击,选择将当前吸嘴移动到底部相机中心。
在这里插入图片描述
将标尺刻度换为0.1mm, 可以看出,吸嘴中心和底部相机十字中心确实有偏差。
以底部相机十字为参考点,吸嘴X方向偏差为0.3mm, Y方向偏差0.5mm

修正底部相机位置

关掉顶部相机灯光,打开底部相机灯光。
用JOG面板,在顶部相机视图中,将顶部相机移动到底部相机的中心。

这个对齐必须在顶部相机中对齐,否则就不对了,因为吸嘴的偏移和顶部相机是固定的。

对齐时,用标尺不太好看,最好将光标改为圆圈,改合适的圆圈大小,可以套住顶部相机中看到的底部相机镜头的圆环。
这样对齐,比较准。

在这里插入图片描述
打开设备设置 => 相机 => 底部相机 => 位置
点击"学习"按钮,记录底部相机在顶部相机坐标中的位置,然后应用参数。

在这里插入图片描述

现在再看看NT1在底部相机中的位置

确认选择当前吸嘴是NT1
将NT1用底部相机的右键菜单功能, 移动到底部相机中心。
在这里插入图片描述
在这里插入图片描述
可以看到,现在NT1吸嘴内部中心区域已经在底部相机中心附近了,虽然还不是很精确,但是只要底部相机十字在吸嘴的内部区域中间就可以。
现在看看NT2和底部相机十字的位置关系。
在这里插入图片描述
现在底部相机十字也在NT2吸嘴内部区域中间。
这说明,底部相机的中心位置已经调整成功了,且定位精确性还可以。

开机归零,看看是否能通过所有校验

在这里插入图片描述
可以看到,归零后,home点校验成功。
吸嘴校验时,底部相机十字也始终在吸嘴内部区域的边缘位置移动,没有校验失败时哪种离的很远的感觉。
在这里插入图片描述
2个吸嘴都自动校验成功了。
在这里插入图片描述
且在校验完成后,可以看到底部相机十字最后停在NT2的中心。
那说明,这个问题的解决思路是对的,思路很清晰。
到此,这个问题(底部相机校正成功后, 开机归零时,吸嘴自动校验失败)被成功快速的搞定 😛

配置备份很重要

修正后的这个配置,就可以作为后续操作的基础配置了,备份一下不吃亏。
在openpnp中关机,退出openpnp, 进行配置文件的压缩备份。
在这里插入图片描述
备份的好处多多。
如果以后出现问题,就可以回到以前的重要节点上实验,看看问题是否存在。
如果改错了配置,也可以通过配置文件的比对,大致确定不对在哪里。
如果不做备份,万一配置文件坏了或不对了(自己配置失误或手误改了参数),就得重新标定设备,白白的浪费时间。

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS鸿蒙- 一行代码自动换行技巧

DevEco Studio 编辑器设置 一行代码自动换行显示。 一、代码自动换行设置方式路径:File > Editor > General 如图: 二、找到标题:Soft Wraps 勾选《Soft-wrap these files:》,然后在后面添加*.ets 然后保存即可。添加后&#xff0c…

LangSplat和3D language fields简略介绍

LangSplat: 3D Language Gaussian Splatting 相关技术拆分解释: 3dgs:伟大无需多言SAM:The Segment Anything Model,是图像分割领域的foundational model,已经用在很多视觉任务上(如图像修复、物体追踪、图…

支持国密算法的数字证书-国密SSL证书详解

在互联网中,数字证书作为标志通讯各方身份信息的数字认证而存在,常见的数字证书大都采用国际算法,比如RSA算法、ECC算法、SHA2算法等。随着我国加强网络安全技术自主可控的大趋势,也出现了支持国密算法的数字证书-国密SSL证书。那…

软件设计师:软件工程

文章目录 一、开发模型(1)瀑布模型(需求明确)(2)增量模型(快速构建)(3)演化模型(迭代模型)(3.1)原型模型&…

【Docker】docker | 部署nginx

一、概述 记录下nginx的部署流程;将conf配置文件映射到宿主机 前提依赖:自行准备nginx的镜像包 二、步骤 1、运行、无映射 docker run --name nginx -p 80:80 -d nginx:1.18.0-alpine 80:80,前面是宿主机端口;如果冲…

IPsec简单介绍

VPN相关介绍 VPN:虚拟私有网络 例如:像这种不加密的 PPTPL2TP ------- 一般用在windows server 服务端(但是大多数企业不用这个) 假如总公司内部的PC1要去访问分公司内部的PC2(一般用在公司服务器有内网的服务&#…

Oracle 使用位图索引 Cost降低200倍! 探讨位图索引的利与弊

一.简介 位图索引(Bitmap Index) 是 Oracle 数据库中一种特殊类型的索引,适用于低基数(Low Cardinality)列,即那些列中可选值相对较少的情况下使用。它与常规的 B-tree 索引不同,位图索引通过位…

003:无人机概述

摘要:本文介绍无人机的定义和分类、无人机系统定义、民用无人机驾驶员分类和应用领域。 一、无人机的定义和分类 1.无人机定义 无人机是一种能够在无人驾驶的条件下完成复杂空中飞行任务和各种负载任务的飞行器,可以被视为“空中机器人”。它利用先进的…

(48)MATLAB使用firls函数设计均衡器

文章目录 前言一、频域均衡器的设计二、MATLAB源代码1.firls函数与freqz函数2.MATLAB仿真源代码3.代码说明 三、仿真结果画图 前言 利用MATLAB的firls函数,根据所要求的频率向量和频响幅度向量,设计出所需的均衡器,使得包括滤波器在内的系统…

qt 构建、执行qmake、运行、重新构建、清除

qt右键功能有 构建、执行qmake、运行、重新构建、清除,下面简单介绍一下各个模块的作用。 1. 执行qmake qmake是一个工具, 它根据pro文件生成makefile文件,而makefile文件中则定义编译与连接的规则。pro文件中定义了头文件,源文件…

Spring Cache Caffeine 高性能缓存库

​ Caffeine 背景 Caffeine是一个高性能的Java缓存库,它基于Guava Cache进行了增强,提供了更加出色的缓存体验。Caffeine的主要特点包括: 高性能:Caffeine使用了Java 8最新的StampedLock乐观锁技术,极大地提高了缓存…

k8s部署使用有状态服务statefulset部署eureka集群,需登录认证

一、构建eureka集群镜像 1、编写dockerfile文件,此处基础镜像为arm版本,eureka目录中文件内容:application-dev.yml、Dockerfile、eureka-server-1.0-SNAPSHOT.jar(添加登录认证模块,文章最后附上下载连接) FROM mdsol/java8-j…

Go使用exec.Command() 执行脚本时出现:file or directory not found

使用 Go 提供的 exec.Command() 执行脚本时出现了未找到脚本的 bug,三个排查思路 : exec.Command(execName, args…) 脚本名字不允许相对路径 exec.Command(execName, args…) execName 只能有脚本名,不允许出现参数 如果你是使用 Windows …

为什么要使用网络IO内存数据库?

1.摘要 学习Redis的时候,我有个疑问:Redis缓存是内存数据库,但是它部署在独立的一个服务器上,那么应用服务器访问redis不是要通过网络吗,那么是不是还不如从本地服务器读取数据库的效率 ?结论是&#xff1a…

[图像处理] 基于CleanVision库清洗图像数据集

CleanVision是一个开源的Python库,旨在帮助用户自动检测图像数据集中可能影响机器学习项目的常见问题。该库被设计为计算机视觉项目的初步工具,以便在应用机器学习之前发现并解决数据集中的问题。CleanVision的核心功能包括检测完全重复、近似重复、模糊…

ML 系列:机器学习和深度学习的深层次总结(17)从样本空间到概率规则概率

一、说明 概率是支撑大部分统计分析的基本概念。从本质上讲,概率提供了一个框架,用于量化不确定性并对未来事件做出明智的预测。无论您是在掷骰子、预测天气还是评估金融市场的风险,概率都是帮助您驾驭不确定性的工具。本篇将讲授概率的原理和…

论文阅读:Guided Linear Upsampling

今天介绍一篇有趣的文章,Guided Linear Upsampling,基于引导的线性上采样,这是发表在 ACM transaction on Graphic 的一篇工作。 Abstract 引导上采样是加速高分辨率图像处理的一种有效方法。在本文中,文章作者提出了一种简单而…

博客搭建之路:hexo搜索引擎收录

文章目录 hexo搜索引擎收录以百度为例 hexo搜索引擎收录 hexo版本5.0.2 npm版本6.14.7 next版本7.8.0 写博客的目的肯定不是就只有自己能看到,想让更多的人看到就需要可以让搜索引擎来收录对应的文章。hexo支持生成站点地图sitemap 在hexo下的_config.yml中配置站点…

问:MySQL表过大,你有哪些优化实践?

当MySQL单表记录数过大时,数据库的CRUD(创建、读取、更新、删除)性能会明显下降。为了提升性能,我们需要采取一些优化措施。本文将详细介绍几种常见的优化方案。 1. 限定数据的范围 描述 务必禁止不带任何限制数据范围条件的查…

优先算法——移动零(双指针)

目录 1. 题目解析 2. 算法原理 3.代码实现 题目: 力扣题目链接:移动零 1. 题目解析 题目截图如下: 不过要注意,这个移动题目要求是在原数组中原地操作,不能新额外开辟一个数组来修改。 2. 算法原理 这个原理可以称之为数…