openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法

文章目录

    • openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法
    • 概述
    • 解决思路
    • 备注
    • 补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多
    • END

openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法

概述

自从用openpnp后, 无论版本(dev/test), 都发现一个大概率会发生的问题如下:
底部相机高级校正后, openpnp没有报错, 正常完成了底部相机高级矫正. 但是, 底部相机标尺变的非常密集, 看不清底部相机十字上的任何东西(e.g. 吸嘴, 明明吸嘴就在底部相机十字中心, 为啥底部相机高级校正后, 底部相机十字中心就看不到任何图像呢? 是一片黑啊)
如下:
在这里插入图片描述
此时, 将N1移动到底部相机上(底部相机高级矫正完, N1就在底部相机十字中心).
在这里插入图片描述
此时, 即使将底部相机缩放到最大, 也看不清N1吸嘴的图像, 如下:
在这里插入图片描述
因为这是一个在做底部相机高级矫正时, 会大概率发生的一个问题.
以前不懂时, 都是重新做一次底部相机高级矫正, 有时做完时, 就正常可以看清底部相机十字上的N1. 有点玄学啊:(
但是做一次底部相机高级矫正, 时间花费的巨多. 有时, 再做一次底部相机高级矫正, 正常通过后, 还是会出现看不清底部相机中的N1的问题…
不是解决问题的方法啊.
今天发现, 在设备树中的相机选项中, 可以通过裁剪有效像素的方法, 来解决这个问题.
就是说, 这只是openpnp校验流程不完善, 引起的显示问题, 并不是openpnp软件有bug.
顶部相机同理(但是顶部相机高级矫正从来没出现过矫正完成后, 看不清顶部相机十字中图像的问题)

解决思路

先打开问题向导(勾选已经解决和已经拒绝的问题选项)
在这里插入图片描述
但是问题列表中, 并没有看到可以将顶部相机高级矫正或底部相机高级矫正的条目, 也就没法在问题向导中, 将相机高级矫正重新reopen再做一次的可能性.

去设备树中的底部相机的高级矫正选项卡中, 看看是否有可以调整的显示选项.
在这里插入图片描述
发现有个剪裁有效像素的滑杆, 上图是昨晚底部相机高级矫正时, 默认的值是100%(显示所有的有效图像)
尝试将这个滑杆值减小, 有效果了, 调整到合适时, 就可以正常清晰显示底部相机十字中的吸嘴图像.
将底部相机图像缩放到最小, 这样就是底部相机能看到的所有图像.
100%的默认图像如下:
在这里插入图片描述
90%的默认图像如下:
在这里插入图片描述
80%的图像
在这里插入图片描述
70%的图像
在这里插入图片描述
60%的图像
在这里插入图片描述
这时, 已经可以分辨出来, 底部相机十字中间是一个N1吸嘴了.
从人眼的角度看起来, 效果好像是, 相机镜头焦点向吸嘴方向靠近(实际上相机和N1吸嘴都没动, 只是将我们看到的图像放大了, 就是将和吸嘴无关的图像都不显示了)
50%的图像
在这里插入图片描述
此时, 可以看到图像靠近边缘的地方有个大圈, 这个是相机中能看到的最大范围.
再调整滑杆, 直到只显示出我们关心的相机视野内的图像.
40%的图像
在这里插入图片描述
30%的图像
在这里插入图片描述
这时, 已经可以看全相机视觉中的所有图像了.
左边还有一个相机最大视野的一个小边. 不影响, 就这了.
此时, 再用鼠标中键正常缩放图像, 就可以看清底部相机十字中间的N1吸嘴了.
在这里插入图片描述
问题到此就解决完了.

备注

因为openpnp细节上还是有些问题的, 也算不上bug. 只是易用性不太好. 以后应该会进化的更好用.

对于openpnp新手来说, 这些易用性问题, 还是会造成一定问题的(新手不懂啊).

e.g. 如果高级矫正后, 不知道上述的解决方法, 此时, 底部相机中啥也看不清, 此时, 是否要重新来一次底部相机高级矫正? 如果经过漫长的等待, 底部相机高级矫正完成后, 还是看不清底部相机中的N1吸嘴, 此时是否要关掉底部相机高级矫正的结果, 就在没有底部相机高级矫正的情况下, 就直接贴片? 那精度如何保证?

底部相机高级矫正是解决贴头Z轴的机械安装垂直偏差的补偿的, 一定要做这步, 否则贴片精度无从谈起.
解决了上述问题后, 就可以正常带着底部相机高级矫正后的修正来生产.

补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多

在解决完上述问题后, 尝试将吸嘴自动移动到底部相机十字中心, 位置差了了10mm, 夸张啊.
在这里插入图片描述
估计是改像素剪切范围改出来的.
因为问题列表中没有重新做底部相机高级矫正的选项, 现在只能从底部相机高级矫正的页面, 进行手工底部相机高级矫正.
手工进行底部相机高级矫正后, 再将N1/N2自动移动到底部相机中心, 好使了.
第一次做, 就记录一个大概过程.
在这里插入图片描述
在这里插入图片描述
开始手工底部相机高级校正后, 相机视图下面有提示框, 照着提示框信息提示, 照着做就行.
大概要进行的步骤如下:

  • 将N1移动到底部相机十字中心, 点击下一步
  • 将吸嘴手工转360度, 保证都在openpnp给定的绿圈中, 点击下一步
  • 选择吸嘴内部的圆圈和openpnp给定的小绿圈重合, 并微调绿圈中心和吸嘴内部中心重合, 点击下一步.
    X, Y移动用JLOG面板, 小绿圈和吸嘴内壁重合的绿圈大小用手工矫正按钮下面的内径微调选择框.
    在这里插入图片描述
    基本就这几步, 然后openpnp会在2个高度进行圆的32等分测试. 然后经过漫长的操作等待, 就校验完成.
    这样校验完成后, 底部相机观看正常, 校验后带修正值. 然后就可以正常贴片了.
    如果发现还有啥问题再记录.

END

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

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

相关文章

C++多态案例-设计计算器类

1.前置知识点 多态是面向对象的三大特性之一 多态分为两类 静态多态:函数重载和运算符重载都属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态的区别 静态多态的函数地址早绑定-----编译阶段确定函数地…

【JVM】垃圾收集算法

文章目录 分代收集理论标记-清除算法标记-复制算法标记-整理算法 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)[1]的理论进 行设计,分代收集名为理论,实质是一套符…

学会用命令行创建uni-app项目并用vscode开放项目

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 创建 uni-app 项目 命令行创建 uni-app 项目 编译和运行 uni-app 项目: 用 VS Code 开发 uni…

pytest笔记2: fixture

1. fixture 通常是对测试方法和测试函数,测试类整个测试文件进行初始化或是还原测试环境 # 功能函数 def multiply(a, b):return a * b # ------------ fixture---------------def setup_module(module):print("setup_module 在当前文件中所有测试用例之前&q…

项目(智慧教室)第三部分,人机交互在stm32上的实现

一。使用软件 1.stm32cubemx中针对汉字提供的软件 2.对数据进行处理 2.上面点击ok--》这里选择确定 3.这里选择保存即可由字符库,但是需要占用内存太大,需35M,但是stm32只有几百k,所以需要自己删减。 生成中文字符(用…

微服务-OpenFeign基本使用

一、前言 二、OpenFeign基本使用 1、OpenFeign简介 OpenFeign是一种声明式、模板化的HTTP客户端,它使得调用RESTful网络服务变得简单。在Spring Cloud中使用OpenFeign,可以做到像调用本地方法一样使用HTTP请求访问远程服务,开发者无需关注…

调教 文心一言 生成 AI绘画 提示词(Midjourney)

文章目录 第一步第二步第三步第四步第五步第六步第七步第八步 文心一言支持连续对话 我瞎玩的非专业哈哈 第一步 你好,今天我们要用扩散模型创建图像。我会给你提供一些信息。行吗? 第二步 这是Midjourney的工作原理:Midjourney是另一个基于ai的工具,能…

微服务-sentinel详解

文章目录 一、前言二、知识点主要构成1、sentinel基本概念1.1、资源1.2、规则 2、sentinel的基本功能2.1、流量控制2.2、熔断降级 3、控制台安装3.1、官网下载jar包3.2、启动控制台 4、项目集成 sentinel4.1、依赖配置4.2、配置文件中配置sentinel控制台地址信息4.3、配置流控4…

JVM:JIT实时编译器

一、相关 ⾼级编程语⾔按照程序的执⾏⽅式分为两种 编译型:一次性将代码编译为机器码解释型:通过解释器一句一句的将代码解释为机器码之后,再运行。每个语句都是执行的时候才翻译。 JAVA代码执行过程 (编译阶段)首先将…

必须收藏 | 如何完全卸载ArcGIS

好多小伙伴在卸载ArcGIS过程都遇到了卸载不彻底无法重新安装新版本,卸载残留的注册表找不到等一系列问题,今天小编为大家整理了几个如何完全卸载ArcGIS的方法,希望能够帮到大家! #1快捷版 1、开始>控制面板>添加删除程序&…

Flink实时计算中台Kubernates功能改造点

背景 平台为数据开发人员提供基本的实时作业的管理功能,其中包括jar、sql等作业的在线开发;因此中台需要提供一个统一的SDK支持平台能够实现flink jar作业的发布;绝大多数情况下企业可能会考虑Flink On Yarn的这个发布模式,但是伴随云原生的呼声越来越大,一些企业不希望部…

无涯教程-JavaScript - IMSUB函数

描述 IMSUB函数以x yi或x yj文本格式返回两个复数的差。减去复数时,实数和虚数系数分别相减,即从复数a bi中减去复数c di的方程为- (a bi)-(c in)(a-c)(b-d)我 语法 IMSUB (inumber1, inumber2)争论 Argument描述Required/OptionalInumber1The complex number from …

Dos窗口设置环境变量的方法

1.Win R 打开运行窗口输入:cmd 2.在窗口中输入:set path%path%;[配置的绝对路径] 温馨提示:替换路径的时候记得将[配置的绝对路径]全部替换~

canvas绘制渐变色三角形金字塔

项目需求:需要绘制渐变色三角形金字塔,并用折线添加标识 (其实所有直接用图片放上去也行,但是ui没切图,我也懒得找她要,正好也没啥事,直接自己用代码绘制算了,总结一句就是闲的) 最终效果如下图: (以上没用任何图片,都是代码绘制的) 在网上找了,有用canvas绘…

go-zero jwt 鉴权快速实战

前面我们分享了 go-zero 的快速实战以及日志组件的剖析,本次我们来实战使用 go-zero jwt 鉴权 本次文章主要是分享关于 go-zero 中 jwt 的使用方式,会以一个 demo 的方式来进行实战,对于使用 goctl 工具以及安装细节就不在赘述,有…

数字图像处理:亮度对比度-几何变换-噪声处理

文章目录 数字图像增强亮度与对比度转换几何变换图像裁剪尺寸变换图像旋转 噪声处理添加噪声处理噪声 数字图像增强 亮度与对比度转换 图像变换可分为以下两种: 点算子:基于像素变换,在这一类图像变换中,仅仅根据输入像素值计算…

字符串讲解

文章目录 字符串一.String概述二.创建String对象的两种方式三.Java的内存模型四.字符串的比较五.StringBuilder的基本操做六.StringJoiner概述七.字符串相关类的底层原理 字符串 一.String概述 1.String是Java定义好的一个类,定义在java.long包中,所以使用的时候不需要导包 …

Mybatis学习|Mybatis缓存:一级缓存、二级缓存

Mybatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 MyBatis系统中默认定义了两级缓存:一级缓存和二级缓存 默认情况下,只有一级缓存开启。(SqlSession级别的缓存,也称为本地…

centroen 23版本换界面了

旧版本 新版本 没有与操作系统一起打包的ISO文件了,要么先安装系统,再安装Centreon,要么用pve导入OVF文件

Visual Stadio使用技巧

C语言调试技巧 Debug 和 Release 的介绍 Debug:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试(可调试)。 Release:通常称为发布版本,它往往时进行了各种优化&a…