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) # 遍…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...

Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...