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

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

相关文章:

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

文章目录 openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法概述解决思路备注补充 - 新问题 - N1吸嘴到底部相机十字中心的位置差了很多END openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法 概述 自从用openpnp后, 无论版本(dev/test), 都发现一个大概…...

怎么提高自己当众讲话的能力?

当众讲话是一项重要的沟通技能,它可以帮助你在各种场合中表达自己的观点、影响他人,并建立自信。虽然对很多人来说,当众讲话可能是一项挑战,但通过一些实践和技巧,你可以提高自己的当众讲话能力。下面是一些方法&#…...

孙哥Spring源码第20集

第20集 refresh()-invokeBeanFactoryPostProcessor 四-处理Configuration下的Bean生成代理对象 【视频来源于:B站up主孙帅suns Spring源码视频】【微信号:suns45】 1、二行InvokeBeanFactoryPostProcessors的作用 registryProcessors:处理的…...

【计算机网络】HTTP(上)

文章目录 1.HTTP概念2. URLurlencode 和 urldecode转义规则 3. HTTP的宏观理解HTTP的请求HTTP的响应 4. 见一见HTTP请求和响应请求报头 1. 模拟一个简单的响应response响应报头 2. 从路径中获取内容ReadFile函数的实现 3.不同资源进行区分反序列化的实现ReadOneLine函数的实现P…...

Maven学习记录

一、Maven是什么 简单来说Maven是一个标准化的java管理和构建工具,它提供了一系列规范,包括项目结构,构建流程(编译,测试,打包,发布……),依赖管理等。 标准化就是定下…...

H5游戏开发H5休闲小游戏定制H5软件定制

H5游戏是一种运行在网页浏览器中的HTML5技术开发的游戏。H5休闲小游戏通常具有简单的玩法,易于上手,适合快速的娱乐。以下是开发H5休闲小游戏的一般步骤: 1. 制定游戏开发概念: 确定H5游戏开发的主题和玩法。休闲小游戏通常应该…...

Spring基础及IoC容器的理解

Spring概念: 通常所说的Spring指的是Spring Framewprk(Spring框架),它是一个开源的框架。用一句话概括就是:Spring是包含了众多工具方法的IoC容器。 什么是容器? 容器是用来容纳某种物品的装置,在之前的学习中&…...

护网行动为什么给的钱那么多

因为护网行动是国家应对网络安全问题所做的重要布局之一。 随着大数据、物联网、云计算的快速发展,愈演愈烈的网络攻击已经成为国家安全的新挑战。国家关键信息基础设施可能时刻受到来自网络攻击的威胁。网络安全的态势之严峻,迫切需要我们在网络安全领…...

软考知识汇总-计算机系统

文章目录 1 计算器 1 计算器 算术逻辑单元(ALU):运算器重要组成部件,负责处理数据,实现对数据的算数运算和逻辑运算。累加寄存器(AC):简称累加器,为ALU提供数据并暂存运…...

OpenCV 11(图像金字塔)

一、 图像金字塔 **图像金字塔**是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说, 图像金字塔是同一图像不同分辨率的子图集合. 图像金字塔最初用于机器视觉和图像压缩。其通过梯次向下采…...

Linux学习笔记-Ubuntu系统用户、群组、权限管理

一、概述 本文记录Ubuntu系统下通过命令操作用户账户进行管理。 Ubuntu系统版本: Linux ubuntu 5.15.0-1034-raspi #37-Ubuntu SMP PREEMPT Mon Jul 17 10:02:14 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux 注:查看系统版本号的指令如下 uname -…...

文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,…...

Nand Flash的特性及烧录问题

目录 前言 一 Nand flash的特性 1 存储结构 2 OOB区域 3 位翻转 4 坏块及ECC 二 Nand系统裸片量产烧录 1 坏块处理策略 2 分区(Partition) 3 纠错码(Error Correction Codes,ECC) 4. 擦除坏块 🎈个人主页🎈:linux_嵌入式…...

【React 】useLayoutEffect 和 useEffect的区别

useLayoutEffect和useEffect是React中常用的两个Hook,它们的主要区别在于触发时机。 useEffect会在渲染完成后异步执行,不会阻塞浏览器的绘制操作。它适用于需要在组件渲染后执行副作用的情况,例如数据的获取、订阅事件等。它不会阻止屏幕更新…...

oracle数据库常见的优化步骤与脚本

要优化 Oracle 数据库的性能,可以按照以下步骤进行: 1. 性能分析和诊断:首先,使用 Oracle 提供的性能分析工具(如 AWR 报告、ASH 报告)对数据库进行分析和诊断。这些报告可以帮助您确定数据库的性能瓶颈和潜在问题。 2. 优化 SQL 查询语句:针对频繁执行的 SQL 查询语句…...

并发内存池(C++)

项目简介 这个项目是实现了一个高效的并发内存池。它的原型的goggle的一个开源项目tcmalloc,即thread-cache malloc(线程缓存的malloc),实现了高效多线程的内存管理,可实现对系统提供的内存分配函数malloc和free的替代…...

本地起一个VUE 前端项目

#安装 安装 Vue CLI 3: Vue CLI是一个用于创建和管理Vue项目的命令行工具 npm install -g vue/cli#查看更详细的告警信息 npm install -g vue/cli --verbose#检查项目的依赖关系 ,保持项目的依赖关系最新和安全 npm audit npm audit fix#查看版本 vue --version#创建…...

Python爬虫:Selenium的介绍及简单示例

Selenium是一个用于自动化Web应用程序测试的开源工具。它允许开发人员模拟用户在浏览器中的交互行为,以便自动执行各种测试任务,包括功能测试、性能测试和回归测试等。Selenium最初是为Web应用程序测试而创建的,但它也可用于Web数据抓取和其他…...

每日刷题|回溯法解决全排列问题第二弹之解决字符串、字母大小排列问题

食用指南:本文为作者刷题中认为有必要记录的题目 前置知识:回溯法经典问题之全排列 ♈️今日夜电波:带我去找夜生活—告五人 0:49 ━━━━━━️💟──────── 4:59 …...

python循环遍历字典: title_content_list.append([key, value])print(ti

示例示例Python循环遍历字典的方法有以下几种:使用for...in循环: Python循环遍历字典的方法有以下几种: 1. 使用for...in循环: python dict {name:Tom, age:20, gender:male} # 遍历所有的键 for key in dict:print(key) # 遍…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四&#xff…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...