正运动控制器:视觉纠偏和找孔

news2025/1/11 6:08:12

一、用户主界面CCD参数设置

通过主界面CCD参数设置,学习如何操作计算相机中心与电批中心的偏移量,以及相机标定的功能。

 1、相机中心与电批中心的偏移量计算

1.1、在用户主界面点击CCD参数按钮,进入CCD设置界面。

    主界面

CCD参数设置界面

1.2、在CCD参数设置界面顶部区域设置相机相关参数。

如上图所示,可以知道当前扫描的相机厂商和相机曝光情况。首先点击【扫描相机】,将重新扫描相机,然后设置完当前相机的曝光参数后,最后点击【修改曝光】就可将输入框的数据设置到相机的曝光参数中,至此相机的参数设置完毕。

1.3、计算相机中心和电批中心的偏移量。

1.4、计算相机中心和电批中心的偏移量步骤:

    1.4.1、首先点击相机【连续采集】模式,然后点击【手动】按钮弹出手动调试机台移动的界面,移动机台让相机中心蓝色十字线对准机台上的某点(如上图i字母所示),最后点击【记录相机中心坐标】按钮,至此相机中心坐标位置记录完毕。

1.4.2、首先点击【手动】按钮弹出手动调试机台移动的界面,移动机台使电批中心对准之前相机中心对准的点(如上图所示的i点),然后点击【记录电批中心坐标】按钮,至此电批中心坐标位置记录完毕。

1.4.3、点击【计算偏移量】按钮,即可完成偏移量的计算。

●注意:在遇到对点不精确时,会使计算出来的偏移量不准确。此时可以返回用户主界面,点击【配方管理】按钮手动修改偏移量即可生效。

2、相机采集与相机标定

2.1、相机采集设置。

2.1.1、点击【采集】可采集一张照片,点击【连续采集】将连续采集照片,如果打开连续采集模式图片的显示界面会有一个蓝色的十字中心线。

2.1.2、点击【停止采集】可停止连续采集。

2.2、选择相机标定模式。

    点击【相机标定】可弹出相机标定方式选择界面,如下:

  2.2.1、选择自动标定模式。(推荐使用自动标定此标定方法操作更便捷)

自动标定步骤:

    A.点击【手动】按钮并打开相机的【连续采集】模式,手动控制机台移动,使Mark点/形状模板在相机视野的左上角区域如图二所示:(不同机台系统坐标系方向可能不一样,这时候可能需要移动Mark点/形状模板到右上角或者右下角之类的,只要保证自动标定过程中,机台自动移动九个位置时Mark点/形状模板始终在相机视野范围内即可)

 B.点击【0、显示ROI】按钮,弹出ROI选择矩形框,拖动绿色矩形ROI框将需要进行学习模板的区域框选起来,如图二所示:

    C.点击【1、创建形状模板】进入形状模板创建界面,如图二所示。

 形状模板创建步骤:

 A、点击橡皮擦功能“擦除”或“恢复”后,之后再点击【显示橡皮擦】按钮可以使用鼠标在画面中对着边缘轮廓进行擦除或者恢复,下图中黑色部分为被擦除,绿色部分为正在学习的形状模板。

B、修改完模板后,点击【确认修改】按钮,最后点击【返回上一级】按钮,返回自动标定设置界面。

C、根据Mark点/形状模板在哪个Y轴平台上面,在相机自动标定界面的标定步骤点击【2、选择Y轴:Y1/Y2】按钮进行切换。如果物体在Y1平台上面则不需要切换。

D、填写合适的X/Y轴间距(间距:机台自动走九个位置进行9次拍照学习形状模板/mark点时,机台XY每次拍照移动的间隔),然后点击【3、开始自动标定】开始标定,等待标定OK窗口弹出,标定OK后,最后点击【保存标定系数】进行保存。

●自动标定注意事项:首先所选择的Mark点要轮廓清晰,其次的话是9次拍照都要能拍到Mark点。至此,相机自动标定完成。

 2.2.2、选择手动标定模式。

    原理:输入九个mark点图像坐标和实际坐标的对应点,计算像素坐标系统与实际坐标系统的校准矩阵系数。

    首先在CCD参数设置界面采集一张九点标定板的图片,之后点击【相机标定】按钮,选择【手动标定】模式。

标定参数设置:

   标定类型:

    线性坐标系标定:这是一种两个坐标系之间的坐标转换关系的标定,当相机平面与拍照平面垂直且镜头无畸变时,可用此方法;

    非线性坐标系标定:这是一种两个坐标系之间的坐标转换关系的标定,当相机平面与拍照平面不垂直且镜头无畸变时,可用此方法;

    畸变标定:由于透镜设计的复杂性和工艺水平等因素的影响,实际透镜成像系统产生所谓的镜头畸变,常见的如径向畸变、切向畸变等,相机标定过程就是确定相机的几何模型和光学参数,当相机平面与拍照平面不垂直且镜头存在畸变时,可用此方法。

   对比度:增强图像边缘和局部对比度,以当前像素为中心,按照设定的比率和周围像素进行局部对比度增强运算。

   极性:获取九点标定版圆点的极性,非黑即白。

   最小面积:圆点最小像素面积范围。

   最大面积:圆点最大像素面积范围。

    手动标定步骤:

    A.点击标定步骤【1提取圆心像素坐标】按钮,提取采集的九点标定板图像上的九个圆心像素坐标。

 B.根据九点标定板在哪个Y轴平台上面,则在相机手动标定界面的标定步骤点击【2当前Y轴:Y1】按钮进行切换Y1/Y2轴。如果物体在Y1平台上面则不需要切换。

 C.点击【机台对点】,进入手动调试让机台带动相机中心蓝色十字标分别移动到相对应九点标定板的9个mark点,取点的实际坐标。

  机台取点操作步骤:

    首先点击【连续采集】按钮,操作机台带动相机中心让蓝色十字标移动到对准九点标定版的第一个圆心的中心位置。

    之后点击【取点1】,就会将第一个圆心的实际中心坐标自动写入相对应的实际坐标table中,并在手动标定界面将世界坐标X,Y的值显示出来。(需要多次手动操作相机中心依次移动到九个mark点的位置,分别获取九个mark点坐标)

    取完9个mark点的坐标后,最后点击【返回】按钮,返回手动标定界面。

 D.点击【4标定】开始标定,这时标定完成,最后点击【保存标定系数】进行保存。至此,相机手动标定完成。

E.相机手动标定操作视频。

二、视觉纠偏和找孔

上一节主要讲述用户主界面CCD参数设置,学习如何去计算相机中心与电批中心的偏移量,以及相机标定的功能。

    今天,正运动小助手给大家分享一下机器视觉锁付整体解决方案之视觉纠偏和找孔示教操做设置的步骤。

  1、视觉纠偏设置
 

    增加视觉纠偏是因为在视觉锁付过程中样品容易发生位置偏移,所以正运动技术配合机器视觉技术研发了一套自动纠偏系统,实现了对样品在进行锁付时样品产生位置偏移可实时定位,并且能及时将偏差信号反馈给执行元件,提高了锁付精度和工作效率。

    1.1、在用户主界面点击配方管理按钮,进入配方管理界面,接着点击MARK点设置,进入视觉纠偏设置界面。

【工件定位方式】:点击可切换视觉纠偏模式。

    【手动】:点击可弹出手动操作机台界面。

    【返回】:点击可返回到上一级。

    【纠偏拍照位】:当前治具上存在多个不同工件时,可点击切换当前创建模板的第几个工件,即纠偏拍照位,这时需要设置多个纠偏拍照位。(例如:当前治具上存在2个不同样品,需要进行锁付时,这时需要点击纠偏拍照位1,创建第一个样品模板,创建完毕后接着再点击纠偏拍照位2,创建第二个模板。单个mark点可点击创建4个不同的工件形状模板,双mark点可点击创建8个不同的工件形状模板)

    【拍照位纠偏数目】:填写当前创建的工件模板上有几个需要进行螺丝锁付的螺丝孔。

1.2、视觉纠偏模式介绍及设置步骤阐述。

    (1)双Mark点定位纠偏

    定义:如果样品尺寸较大,拍照视野兼容不下整个工件的所有需要进行锁付的螺丝孔时,则使用此功能。(需通过移动机台带动相机到两个拍照位进行采图)

设置步骤:

    A.首先点击【手动】按钮,移动机台,使机台移动到【Mark1拍照位】的位置(要求拍摄该位置下清楚成像的Mark点1),然后点击【采集】获取一张照片。

    B.点击Mark1拍照位的【显示ROI】按钮,弹出绿色的矩形ROI框,拖动矩形框框选需要创建的形状模板。

    C.点击Mark1拍照位的【创建模板】,对Mark1创建形状模板。

D.此时显示的绿色区域是模板的轮廓,如果需要修改可点击【显示橡皮擦】,通过橡皮擦对模板进行修改,修改完后点击【确认修改】进行保存,然后点击【返回上一级】。如果不修改直接点击【返回上一级】即可,至此模板创建纠偏拍照位1的模板创建完成。

    E.点击【手动】按钮,移动机台,使机台运动到【Mark2拍照位】的位置(要求拍摄该位置下清楚成像的Mark点2,即第二个形状模板),然后点击【采集】获取一张照片。接着再进行设置Mark2拍照位的形状模板,后面操作步骤可参照前面步骤B-C-D。至此双Mark点定位纠偏设置完毕。

    F.视频演示。

  (2)单Mark点定位纠偏。

设置步骤:

    A.先通过【手动】,移动机台,使机台运动到【Mark拍照位】的位置(要求拍摄该位置下清楚成像的Mark点),然后点击【采集】获取一张照片。

    B.点击【显示ROI】按钮,弹出绿色的矩形ROI框,拖动矩形框框选需要创建的形状模板。

    C.点击【创建模板】,对Mark点创建形状模板。

 D.此时显示的绿色区域是模板的轮廓,如果需要修改可点击【显示橡皮擦】,通过橡皮擦对模板进行修改,修改完后点击【确认修改】进行保存,然后点击【返回上一级】。

    E.如果不修改直接点击【返回上一级】即可,自此单点定位纠偏方式设置完成。

    F.视频演示。

    2、视觉找孔示教操作

视觉找孔示教目的是为了,寻找当前需要进行螺丝锁付的样品上需要进行锁付的螺丝孔。

【灰度值范围】:根据提取出螺丝孔的灰度值,进行设置采集图像的灰度值上下限,筛选出满足条件的螺丝孔。

    【孔面积范围】:根据获取螺丝孔的孔洞面积,进行孔洞面积范围上下限设定,筛选出满足条件的螺丝孔。

    【螺丝孔圆度】:设置螺丝孔的圆度,设置范围1~100%,设置数值越大,圆度越接近于圆。

    【对比度】:设置图像的对比度。

    【手动】:点击可弹出手动操作机台界面。

    【返回】:点击可返回到上一级。

    视觉找孔步骤:

    1.点击【手动】按钮移动机台,使机台移动到合适位置(可以采集到螺丝孔孔洞照片)。然后点击【1、记录拍照位】,根据当前拍照位的编号,点击相应拍照位的【取点】按钮,对拍照位进行记录。记录完后点击【返回】,返回上一级。(机台有几个拍照位,就相应取几个点)

2.然后点击【2、获取图像】,更新一下当前拍照位下的图像信息。

    3.设置灰度值范围,首先判断螺丝孔内灰度值范围:点击右侧的【灰度值提取器】图标,设置成提取模式,然后通过鼠标点击图片上的位置,将反馈对应像素点的灰度值。接着多取几个点判断出螺丝孔内外的灰度值范围,最后填写【找孔参数】里面的【灰度值范围】。

 4.设置孔面积范围:点击【显示ROI】将弹出绿色矩形框,移动到某个螺丝孔框选起来,然后点击【孔洞面积】按钮,计算出一个参考面积。最后根据参考面积数值,填写【找孔参数】里面的【孔面积范围】,从而实现找对应面积的螺丝孔。

 5.设置螺丝孔圆度和对比度:根据实际找孔情况填写【找孔参数】里面的【螺丝孔圆度】、【对比度】等参数。【螺丝孔圆度】作为螺丝孔的筛选条件之一,大于该圆度的螺丝孔才能保留。【对比度】是螺丝孔边界处螺丝孔内外灰度值的差值的绝对值,大于这个差值的才认为是螺丝孔的边界。

    6.点击【显示ROI】按钮,拖动绿色的矩形ROI框,将所有需要进行锁付的螺丝孔框选起来,最后点击【3、感兴趣区域】按钮,至此我们就在该矩形ROI框区域内,进行视觉找孔。

    7.点击【4、视觉找孔】即可根据找孔参数条件进行视觉找孔。

    8.点击【5、点位记录】弹出孔位排序界面,在此界面可对螺丝孔洞进行排序和删除。在锁付点排序那一列中输入0-10对孔进行排序,到时候锁付的时候会先锁数值小的孔,且如果相关孔的排序数值设置为0时则将不锁该孔。然后点击【确定】将孔位位置和排序数据更新到相关的配方文件中。至此,视觉找孔操作完成。

参考文档:

【机器视觉锁付整体解决方案】用户主界面CCD参数设置-正运动技术 (zmotion.com.cn)【机器视觉锁付整体解决方案】视觉纠偏和找孔示教操作-正运动技术 (zmotion.com.cn)

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

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

相关文章

Python中tkinter入门编程9

在《Python中tkinter编程入门8-CSDN博客》中提到,tkinter中的Canvas表示画布,可以在画布中显示文字和图片。除了以上功能外,还可以在Canvas中添加对鼠标或键盘的响应。 1 为Canvas添加事件响应 可以通过Canvas的bind()方法添加对鼠标或键盘…

蓝桥杯-班级活动

题目描述 小明的老师准备组织一次班级活动。班上一共有 ( n ) 名(( n ) 为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 ( n ) 以内的正整数作为 id,第 …

UCOSII_STM32F1移植详细过程(一)

UCOSII_STM32F1移植详细过程(一) 1、概述2、关于C/OS3、移植过程(文件描述与提取)1.软件工程文件夹描述2.提取工程中有用的文件3.提取ST标准外设库有用的文件2.新建、修改文件 1、概述 该文写针对初学C/OS的朋友,基于…

python数据分析-CO2排放分析

导入所需要的package import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import datetime %matplotlib inline plt.rcParams[font.sans-serif] [KaiTi] #中文 plt.rcParams[axes.unicode_minus] False #负号 数据清洗…

RedHat9 | DNS剖析-建立子域并进行区域委派

一、实验环境 1、委派DNS服务器 域名空间由多个域构成,DNS提供了将域名空间划分为1个或多个区域的方法,这样使得管理更加方便。在域的规模增大后,可以为域添加附加域,上级域为父域,下级域为子域,下列案例…

00Java准备工作

目录 JDK的安装目录 JAVA环境变量的配置 JDK的安装目录 目录名称说明bin该路径下存放了JDK的各种工具命令,javac和java就放在这个目录conf该路径下存放了JDK的相关配置文件include该路径下存放了一些平台特定的头文件jmods该路径下存放了JDK的各种模块legal该路径下存放了JD…

Windows下安装配置深度学习环境

Windows下安装配置深度学习环境 1. 准备工作 1.1 环境准备 操作系统:win10 22H2 GPU:Nvidia GeForce RTX 3060 12G 1.2 安装Nvidia驱动、cuda、cuDNN 下载驱动需要注册并登录英伟达账号。我这里将下面用到的安装包放到了百度网盘,可以关注微信…

【MATLAB】信号的熵

近似熵、样本熵、模糊熵、排列熵|、功率谱熵、奇异谱熵、能量熵、包络熵 代码内容: 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复信号的熵本公众号致力于解决找代码难,写代码怵。各位有什么急需…

JavaRedis-主从集群-分片-数据结构-回收处理-缓存问题

一、主从集群 1.主从集群 主从集群读写分离,主能读能写,从只能读,读的数据是同步主的 docker搭建: docker-compose 这里设置网络模式为model,就直接暴露在了宿主机中,就不用映射端口了 不改就是默认的桥…

Java进阶学习笔记30——BigDecimal

BigDecimal: 用于解决浮点型运算的,出现结果失真的问题。 运行结果: package cn.ensource.d4_bigdecimal;import java.math.BigDecimal;public class Test {public static void main(String[] args) {// 目标:了解BigDecimal类do…

蓝桥楼赛第30期-Python-第三天赛题 统计学习数据题解

楼赛 第30期 Python 模块大比拼 统计学习数据 介绍 JSON(JavaScript Object Notation, /ˈdʒeɪsən/)是一种轻量级的数据交换格式,最初是作为 JavaScript 的子集被发明的,但目前已独立于编程语言之外,成为了通用的…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充 WindowsCMD插件IDEAVsCode MavenvagrantDocker解决MySQL连接慢问题启动(自动)Docker注意切换到root用户远程访问MySQL MyBatisPlus代码地址参考 WindowsC…

分布式专题

一:分布式事务 1、理论基础 分布式事务主要区分本地事务 什么是本地事务(Local Transaction)?本地事务也称为数据库事务或传统事务(相对于分布式事务而言)。尤其对于数据库而言,为了数据安全…

解决Jupyter运行代码显示Kernel Restarting的错误

在Jupyter notebook上运行代码时发现如下错误: 使用VS Code运行在日志表中发现错误存在: 它表明在初始化"libiomp5md.dll"库时发生问题,因为该库已经被初始化过了,这个错误可能是由于程序中重复初始化OpenMP库导致的&am…

简单多状态 dp 问题

11. 按摩师&#xff08;easy&#xff09; 解法&#xff08;动态规划&#xff09;&#xff1a; 图解&#xff1a; C 算法代码&#xff1a; class Solution { public:int massage(vector<int>& nums) {// 1. 创建⼀个 dp 表// 2. 初始化// 3. 填表// 4. 返回值int n n…

ASP+ACCESS客户管理信息系统

摘要 本文介绍了客户管理系统的实现方法。目的在于让大家共享学习和运用这一语言的体会和收获。本系统是Internet/Intranet环境下面向电子商务的客户管理&#xff0c;通过企业管理技术、电子商务和信息技术的高度集成&#xff0c;讨论了客户管理系统的系统构架、系统的工作…

兰博基尼STO 激活carplay ,定制刷写原厂证书

兰博基尼STO 激活carplay &#xff0c;定制刷写原厂证书

变分自动编码器(VAE)深入理解与总结

本文导航 0 引言1 起源1.1 自编码器的任务定义1.2 自编码器存在的问题1.3 VAE的核心思路 2 VAE的建模过程2.1 VAE的任务定义2.2 真实分布 ϕ \phi ϕ是什么&#xff0c;为什么要逼近这个分布的参数&#xff0c;如何做&#xff1f;2.3 “重参数化&#xff08;Reparameterization…

SFP光模块使用注意事项

SFP光模块安装: SFP光模块卸载: SFP光模块的使用: 测试用光纤须保证端面清洁&#xff0c;使用光纤连接光功率计或SFP模块前&#xff0c;必须清洁端面。 不要让SFP模块接收光功率长期处于过载点以上&#xff0c;尤其对于采用APD接收器件的模块&#xff0c;以免损坏。 使用仪表…