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

openpnp - configure - 矫正里程碑

文章目录

    • openpnp - configure - 矫正里程碑
    • 概述
    • 备注
    • END

openpnp - configure - 矫正里程碑

概述

进入矫正里程碑了
查找问题

在这里插入图片描述
现在第一个问题是X轴的齿隙矫正
根据提示, 将顶部相机移动到主基准点上, 选择容差(就选用默认的0.025), 开始矫正.
正好开机后, 使能了视觉原点归零. 现在正好主基准点在顶部相机中心.
点击接受, 开始矫正.
矫正失败, 说subject not found
看了一下, 好像基准点位置变了.
将主基准点和次基准点的位置重新学习了一次. 保存配置, 重新上电, openpnp重新运行, 重新归零.
再矫正, 还是失败.
最后发现, 是openpnp有bug, 不能开启视觉原点归位. openpnp - configure - FIDUCIAL-HOME no matches found
重新矫正 X轴的齿隙矫正, 这次成功了.
在这里插入图片描述
查找问题
在这里插入图片描述
现在进行Y齿隙矫正.
先将顶部相机十字线罩住主基准点(进行X齿隙矫正完成后, 顶部相机和主基准点已经不在一个位置了), 然后开始矫正.
矫正成功
在这里插入图片描述
查找问题
在这里插入图片描述
现在矫正相机到N1的偏移.
按照说明, 将一个测试圆片(3~6mm直径, 1mm厚度), 放到主校准点上. 然后用相机罩住放在主校准点上的原片, 并用绿圈框住, 然后开始矫正.
测试圆片的样子
在这里插入图片描述
将圆片放到住基准点上.
在这里插入图片描述
用顶部相机罩住圆片, 并用绿圈框住
在这里插入图片描述
点击接受, 开始矫正.
N1吸嘴会不断的将圆片吸起来再方向, 移动到其他位置, 再回来吸住圆片. 等待10秒钟左右, 矫正完成.
在这里插入图片描述
查找问题

在这里插入图片描述
现在矫正顶部相机到N2的偏移
先将测试圆片重新摆到主基准点中心.
将顶部相机罩住测试圆片, 且用绿圈框住, 开始矫正
在这里插入图片描述
出现报错, 说N2没装吸嘴.
现在建立一个吸嘴, 装到N2上. 请参阅 openpnp - configure - 安装新吸嘴
重新查找问题, 矫正顶部相机到N2的偏移
N2不断的吸住圆片, 然后移动到其他地方, 再回来重复操作, 等待10秒左右, 矫正完成.
在这里插入图片描述
将圆片收起来, 用不到了.
查找问题
在这里插入图片描述
现在矫正N1吸嘴座上的NT1吸嘴.
点击Center Nozzle, 将吸嘴放到底部相机中心
在这里插入图片描述
用绿圈框住吸嘴外径.
在这里插入图片描述
接受, 开始矫正.
矫正不是每次都成功, 有时会弹出报错框如下:
在这里插入图片描述
出现这种情况, 可以用如下的方法处理:

  • 将吸嘴用镜头纸擦干净点, 使视觉识别效果更清晰.
  • 绿框调整一下, 多框住一些吸嘴外径图像
  • 多矫正几次, 直到不弹出报错框, 直到矫正成功.
  • 调整底部相机视觉设置(这个我还没去实验)

如果不报错的话, 10秒左右矫正成功.
在这里插入图片描述
查找问题
在这里插入图片描述
居然NT1吸嘴的参数被动了, 去改成非0(e.g. 3)
在这里插入图片描述
查找问题, 此问题消失.
在这里插入图片描述
矫正NT1背景优化方法, 采用Brighness and Key-Color, 这种适用于绿吸嘴.

手工移动, 将NT1吸嘴放到底部相机十字中心.

点击接受, 开始矫正
在这里插入图片描述
报错了, 试了几次也过不了.
改为Brightness方法, 点击接受, 开始矫正.
在这里插入图片描述
这种也过不去, 只能去调整底部视觉了.
好像底部视觉只能是吸取了原件之后, 才能调整. 那只能将这个问题拒绝了.
再查找问题,居然这个问题消失了, 晕倒…

在这里插入图片描述
现在矫正NT2吸嘴
在这里插入图片描述
先用吸嘴对中功能, 将吸嘴NT2和底部相机大致对齐, 然后再手工调整, 精确的用底部相机十字罩住NT2吸嘴.
再看一眼设备, 是否NT2吸嘴在底部相机中间.
在这里插入图片描述
用绿框罩住NT2吸嘴外径, 点击接受, 开始校准.
在这里插入图片描述
吸嘴矫正失败, 有报错提示. 只能将这个问题先拒绝, 以后再解决.
在这里插入图片描述
查找问题
在这里插入图片描述

现在除了里程碑之外, 还有顶部相机和底部相机的高级矫正.
这2个问题要拒绝, 是毒药, 不能吃.
我试过顶部相机高级矫正 能矫正成功, 但是矫正完之后, 用顶部相机看电路板都看不清了, 那要这个高级相机矫正还有啥用?
估计不是每个相机都支持高级矫正.
在这里插入图片描述
查找问题
在这里插入图片描述
进入生产里程碑了.

备注

openpnp - configure - 索引贴

END

相关文章:

openpnp - configure - 矫正里程碑

文章目录openpnp - configure - 矫正里程碑概述备注ENDopenpnp - configure - 矫正里程碑 概述 进入矫正里程碑了 查找问题 现在第一个问题是X轴的齿隙矫正 根据提示, 将顶部相机移动到主基准点上, 选择容差(就选用默认的0.025), 开始矫正. 正好开机后, 使能了视觉原点归零. …...

JavaScript高级程序设计读书分享之8章——8.2创建对象

JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 创建Object的实例 let person new Object(); person.name "Nicholas"; person.age 29; person.job "Software Engineer"; person.sayName function() { console.log(this…...

关于Could not build wheels for opencv-python-headless, which is...报错的解决方案

在通过最新版pip在线安装package:opencv-python-headless的时候,会产生报错信息,主要为 ERROR: Failed building wheel for opencv-python-headless ERROR: Could not build wheels for opencv-python-headless, which is required to insta…...

【K3s】第1篇 K3s入门级介绍及架构详解

1、什么是 K3s? K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。K3s 有以下增强功能: 打包为单个二进制文件。使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作…...

Java学习--反射

1. 反射 1.1 反射的概述: **专业的解释(了解一下):**是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法&#xff…...

应用和迭代(名词解释)

应用和迭代是什么意思 应用: ● 一个完整的前端应用,一般用应用脚手架创建,包含路由,页面,状态等 ● 一个应用对应一个代码仓库 ● 应用的分组(业务中心,数据中台等)只用于逻辑分类&…...

HTMLCollection 和 NodeList 区别

Node 和 Element DOM 是一棵树&#xff0c;所有节点都是 NodeNode 是 Element 的基类Element 是其他 HTML 元素的基类&#xff0c;如 HTMLDivElement HTMLCollection 和 NodeList HTMLCollection 是 Element 的集合NodeList 是 Node 的集合 <body><p id"p1&qu…...

fork()出来一个进程,这个进程的父进程是从哪来的?

基本概念fork() creates a new process by duplicating the calling process. The new process is referred to as the child process. The calling process is referred to as the parent process.fork()是一个系统调用&#xff0c;不是一个函数。详细信息可以&#xff0c;man…...

结构体内存对齐

结构体相信大家已经了解过了&#xff0c;现在我们深入讨论一个问题&#xff0c;计算结构体的大小 也是很热门的一个考点&#xff1a;结构体内存对齐 先看看下面结构体的大小 typedef struct Test {char a;char b;char c; }Test; 很容易看出答案为3&#xff0c;结构体的大小位…...

【C语言进阶】指针进阶

今日所做之事勿候明天&#xff0c;自我所做之事勿候他人。 --歌德 目录 指针进阶(更深层次的理解): 一.字符指针 二.指针数组 ​三.数组指针 1.数组指针的定义: 2.&数组名和数组名: 3.数组指针的使用: 四.数组参数&#xff0c;指针参数 1.一维数组传参:…...

java:Class的isPrimitive方法使用

java&#xff1a;Class的isPrimitive方法使用 1 前言 java中Class类的isPrimitive方法&#xff0c;用于检查类型是否为基本类型。java虚拟机创建了int、byte、short、long、float、double、boolean、char这8种基础信息&#xff0c;以及void&#xff0c;一共9种。为这9种类型时…...

TCP 握手过程 三次 四次

蛋老师视频 SYN 同步 ACK 确认 FIN 结束 核心机制是确定哪些请求或响应需要丢弃 SYN、ACK、FIN 通过 1/0 设置开启/关闭 开启SYN后&#xff0c;报文中会随机生成 Sequence序号 用于校验 &#xff08;应用可能发起多个会话&#xff0c;可以区分&#xff09; 服务器的同步序…...

windows 下 安裝mysql 5.7.41 (64位) 超简单方式

文章目录1. 安装包下载2.安装步骤3. 服务卸载方式4. 配上 my.ini 常用配置1. 安装包下载 注意&#xff0c;截至2023年2月23日&#xff0c;MySQL所有版本不提供ARM芯片架构的Windows版本(8.0.12开始支持Red Hat系统的ARM版本)&#xff0c;所以ARM架构的Windows无法安装MySQL&am…...

二叉树——二叉树的最近公共祖先

二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一…...

数据结构与算法基础-学习-14-线性表之串

一、串的定义由0-n个字符组成的有限序列。&#xff08;n>0&#xff09;二、串的相关术语1、子串串中任意个连续字符组成的子序列成为该串的子串。2、主串包含子串的串成为主串。3、字符位置字符在序列中的序号为该字符在串中的位置。4、子串位置子串第一个字符在主串中的位置…...

Mac 快捷键

目录 命令行快捷键 命令行快捷键 control d 命令行中代表发送EOF终止输入 control u 删除光标之前到行首的字符 control k 删除光标之前到行尾的字符(比较常用) control a 移动光标到行首(常用) control e 移动光标到行尾 control l 清屏&#xff0c;相当于clear命令 con…...

【微服务】-微服务环境搭建

目录 2.1 技术选型 2.2 模块设计 2.3 微服务调用 2.4 创建⽗⼯程 2.5 创建商品微服务 2.6 创建订单微服务 2.1 技术选型 持久层: SpingData Jpa 数据库: MySQL5.7 其他: SpringCloud Alibaba 技术栈 2.2 模块设计 --- shop-parent ⽗⼯程 --- shop-product-api 商品微服…...

IGKBoard(imx6ull)-ADC编程MQ-2烟雾传感器采样

文章目录1- ADC介绍2- MQ-2烟雾传感器介绍&#xff08;1&#xff09;工作原理&#xff08;2&#xff09;MQ-2应用电路3- MQ-2烟雾传感器硬件连接4- ADC驱动配置5- 编程查看当前浓度1- ADC介绍 ADC是Analog-to-Digital Converter的缩写&#xff0c;指模数转换器。真实世界的模拟…...

前端二面vue面试题总结

什么是 mixin &#xff1f; Mixin 使我们能够为 Vue 组件编写可插拔和可重用的功能。如果希望在多个组件之间重用一组组件选项&#xff0c;例如生命周期 hook、 方法等&#xff0c;则可以将其编写为 mixin&#xff0c;并在组件中简单的引用它。然后将 mixin 的内容合并到组件中…...

时间API在更新,传奇已经谢幕,但技术永远不死

&#xff08;Bill Joy(左一)&#xff0c;Vinod Khosla(左二)&#xff0c;Andy Bechtolsheim(右二)&#xff0c;Scott McNealy(右一) &#xff09; CSDN 博文征集活动&#xff08;和日期相关的代码和bug&#xff09;&#xff1a;点击这里 各位 “big guys”&#xff0c;这篇博文…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...