机器视觉28

news2024/11/14 12:03:48

1.CPK(制程能力指数)用于衡量生产过程的稳定性和能力,评估产品规格的一致性。

2.CPK的值是根据具体的产品规格、生产过程数据以及统计分析得出。

3.CPK的值越高,表示制程能力越强,产品规格的一致性越好。

CPK与不良率(PPM 百万分之一  即每百万件产品中的不良品数)的对照关系

CPK 值不良率(PPM)
0.67非常高
1.00较高
1.33中等
1.67较低
2.00非常低

当CPK值达到1.33或更高时,通常认为制程能力良好,不良率相对较低

具体的CPK值根据产品特性、客户需求和行业标准而异。

关键参数

  • $USL$(Upper Specification Limit):规格上限,即产品规格允许的最大值。
  • $LSL$(Lower Specification Limit):规格下限,即产品规格允许的最小值。
  • $\mu$(Mean):制程数据的平均值
  • $\sigma$(Sigma):制程数据的标准差
  • “\frac{}{}”是数学中表示分数的一种标准方式。具体来说,“\frac{a}{b}”表示a除以b的分数形 式,   其中a是分子,b是分母
  • 计算与规格上限的偏差公式: [ \frac{USL - \mu}{3*sigma}   =  [规格上限 减去 平均值] 除以[3  标准差]   

  • 计算与规格下限的偏差公式: [ \frac{\mu - LSL}{3*sigma} = [平均值 减去 规格上限] 除以[3  标准差]   

案例

某家汽车制造厂商生产汽车发动机缸套,其长度规格要求为98-102毫米(即LSL=98毫米,USL=102毫米)。估该生产过程的稳定性和能力,厂商从生产线上随机抽取了20个发动机缸套样本进行测量,并计算了样本的平均值和标准偏差。

测量数据

  • 样本数量:20个
  • 样本平均值(μ):99.5毫米
  • 样本标准偏差(σ):0.5毫米
  • 计算与规格上限的偏差: \frac{102 - 99.5}{3*0.5} = \frac{2.5}{1.5} = 1.67

  • 计算与规格下限的偏差: \frac{99.5 - 98}{3*0.5} = \frac{1.5}{1.5} = 1.00

    取两者中的最小值作为CPK: 1.00

 MiniTab软件 计算CPK

1.打开minitab,把测试获得的数据复制到minitab软件内,数据放在同一列中  填入(尺寸)

数据越多越能真实反映加工能力的水平

2. 计算CPK

(1)找到并点击“选择统计”菜单栏,在其下找到“质量工具”选项,并依次选择能力分析、正态选项

 填入 对用数据列 和USL 和LSL

 

cpk 0.26 说明 产品  不良率高     需要改进生产过程的稳定性和能力

 扩展:mintab计算数据标准差和平均值

 

 

3.根据上图标准差和平均数计算 USL 和LSL 

  • 计算与规格上限的偏差USL:[规格上限 减去 平均值] 除以[3  标准差]   

  • 计算与规格下限的偏差LSL: [规格下限 减去 平均值] 除以[3  标准差]   

MiniTab软件 计算GRR

打开minitab软件,分别录入3组数据:

①10个零部件的编号

②3个操作员名字/编号

③每次测量数据,注意数据一定要录入正确  

4.扩展  如果有多行数据  可以通过(在“数据”菜单下的下拉列表中,选择“堆叠”——“列”选项)把数据合并

依次打开统计→质量工具→量具研究→量具R&R研究(交叉) 

在部件号位置选择“部件”;

操作员位置选择“操作员”;

测量数据位置选择“测量”,

分析方法勾选“方差分析” 

 点击“量具信息”,在对话框中录入相关量具信息,研究时间等,点击“确定”回到上一对话框。

  GRR结果图

标准差的大小反映了测量结果的稳定性,标准差越大,说明数据点与平均值的偏离程度越大,即数据的离散程度越高;反之,标准差越小,说明数据点越接近平均值,数据的离散程度越低

CogCalibNPointToNPointTool    N点校正工具

作用:

计算将图像坐标映射到世界坐标的二维转换

一组点为像素坐标点,另一组点是的物理坐标点(机械手坐标)

此工具用这两组点计算一个最佳的2D转换,并将此2D转换保存工具中,在此工具运行的时候将此2D转换添加到输入图像的坐标空间树中,并输出校正后的图像。

九点标定

九点标定是机器视觉中一种引导类项目常用的标定方法,用于建立相机和机械手之间的坐标变换关系。

过程:

1.相机检测到目标在图像中的像素位置后,

通过标定好的坐标将相机的像素坐标变换到机械手的空间坐标系中,

然后根据机械手坐标系计算出各个电机该如何运动,从而控制机械手到达指定位置

案例

模板匹配 加载九张坐标图 用于确定9个像素坐标

依次获取9个点的坐标

打开N点标定工具  填入9个像素坐标  

 填入机械手对应坐标  (测试阶段 可以填入相应比例的值   以第一个像素坐标为参考 (267.51,170.67 对应  (0,0) 后续根据变化添加等比例值)

​ 点击计算校正

RMS误差越小 证明校正越准确

注意 :工作距离发生变化 要重新标定

3.计算机器人的旋转中心

机器人抓取工件分别旋转三个角度摆放到相机视野内,相机可以得到三个坐标值,通过三个坐标值拟合
园获得圆心坐标即为旋转中心
4.相机通过公式计算得出最终的输出结果
(rx0,ry0)为旋转中心,(x, y)为被旋转的点,(x0,y0)旋转后的点
x0= cos (a)*(x-rx0)-sin(a)*(y-ry0)+rx0
yO= cos (a)*(y-ry0)+ sin (a)*(x-rx0)+ry0

https://wenku.baidu.com/view/8077e8c59889680203d8ce2f0066f5335b816741.html?_wkts_=1723780094285&bdQuery=%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%B8%8E%E8%A7%86%E8%A7%89%E6%A0%87%E5%AE%9A%E7%90%86%E8%AE%BA%E8%AF%A6%E8%A7%A3

扩展:

补偿

是指机器视觉技术来检测和纠正执行任务过程中产生的误差或偏差,

误差来源

相机镜头畸变、图像处理算法精度、机械结构误差等

补偿的方法

畸变校正 

畸变校正通常是在相机标定后进行的,利用标定过程中得到的畸变系数对图像进行校正

机械结构误差

机械结构优化设计

图像处理算法精度

优化算法参数、改进算法结构、引入新的算法等方法,可以提高图像处理的速度和精度

西门子S7通信协议解析

1.西门子集团专为旗下S7系列PLC设备(可编程逻辑控制器)定制的一种通信协议,

2.支持串口和网口通信,网口通信为主 支持 TCP/IP、UDP/IPD等传输层协议

3.用于与其他设备之间的通信,如PC、变频器、传感器等 

4.实现数据的读取、写入、传输和处理等功能

5. S7通信  可以选择的开源或商业库,包括s7.net、pronodave、libnodave、sharp7

使用s7netplus 完成S7通信

1.安装nuget包(s7netplus)

2.安装完成后 出现S7.net 安装成功 可以使用

3.基本使用步骤:

(1) 引用命名控件和初始化PLC对象

(2)连接plc

(3)写数据

(4)读数据

(4)断开连接

案例1:

封装PLC功能

 public class SiemensPLC
    {
        public Plc plc = null;
        CpuType plcType;
        string ip;
        short rack;
        short slot;
        // CpuType: PLC的cpu型号。实验室plc型号是1200/1212C。
        // IP:   PLC的IP地址。
        // rack: 机台号的位置,PLC的知识点。 每个PLC设备或机架提供了一个唯一的标识。识别和管理各个设备
        // slot: 插槽号的位置,PLC的知识点   代表一个特定的位置,用于插入相应的模块
        // (如I/O模块、通信模块、电源模块等)。通过插槽号,可以快速地识别每个模块在PLC中的位置。
        public SiemensPLC(CpuType type, string ip, short rack, short slot)
        {
            this.plcType = type;
            this.ip = ip;
            this.rack = rack;
            this.slot = slot;
            try
            {   
                // 初始化PLC对象
                plc = new Plc(plcType, ip, rack, slot);
            }
            catch (Exception ex)
            {
            }   
        }

        /// <summary>
        /// 连接Plc
        /// </summary>
        public string ConnectPlc()
        {
            string res = string.Empty;
            try
            {
                plc.Open();//连接plc
                res = "ConnectOK";
            }
            catch (Exception ex)
            {
                res = $"ConnectFail {ex.Message}";
            }
            return res;
        }
        /// <summary>
        /// 判断PLC是否已连接
        /// </summary>
        /// <returns></returns>
        public bool PlcIsConn()
        {
            return plc != null && plc.IsConnected;
        }
        /// <summary>
        /// 向PLC写入数据
        /// </summary>
        /// <param name="add">地址</param>
        /// <param name="value">数据</param>
        public void Write(string add, object value)
        {
            plc.Write(add, value);
        }
        /// <summary>
        /// 读取某个地址的内容
        /// </summary>
        /// <param name="add">地址</param>
        /// <returns></returns>
        public object Read(string add)
        {
            return plc.Read(add);
        }
        /// <summary>
        /// 断开连接
        /// </summary>
        public void DisconnectPlc()
        {
            plc.Close();
        }

//初始PLC对象

完成通信功能

visonPro 简单机械臂引导流程

实操 抓取物体-拍照-放置
1,先配置程序拍照,pma1,确定中心位置
2,查看定位坐标,查看控制器上当前位置
3,根据控制器上首次的位置,计算相同位移量的9点坐标(位移量5mm合适)
4,依次填入9点坐标,运行程序,记录pma1的剩余8个点的坐标
5,pma1的9个坐标代表未标定位置 单位像素,控制器上的9个坐标代表已标定的位置 单位mm,填入NPoint工具中,运行,误差需<3
6,先恢复到拍照位,记录pma2的中心点。旋转任意度(如15度),再次记录pma2中心点。再旋转不同度数(如-15度),第三次记录pma2中心点。三点确定一个圆。这个圆的圆心就是旋转中心。
7,把得到的圆心坐标,更新到ini配置文件最后两个参数中。insp工具显示的基准xy和角,更新到ini文件的beseXYA,保存。再覆盖保存vpp,退出
8,操控控制器,移动到放料位,保存xyzr四个坐标到控制器上的放料位
9,操机移动到拍照位,运行软件vpp,调整每一个工具,4条边求一个中心点位。
10,把得到的基准坐标填入insp工具的输入对应框里。并更新ini配置文件
11,基本数据调节完成。重启控制器,复位
12,开始运行控制器,确定好取料位,并更新到控制器。
13,一步一步点击,第一次拍照,角度或者xy位置偏差,程序设置的有补偿,第二次拍照就是补偿后的图片。
14,拍完照,去放料位,有时会不动,可以点击按钮旁边的正方形按钮逐步复位(除了第三步不能复位,后续步骤都可以复位)

 


 

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

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

相关文章

【网络】【Linux】Linux内核中连接的组织形式与全连接队列

Linux内核中连接的组织形式与全连接队列 文章目录 1.前言2.Linux内核中连接的组织形式2.1套接字和文件描述符2.2创建连接 & 获取连接 3.全连接队列3.1为什么有全连接队列&#xff1f;3.2全连接队列的长度 1.前言 TCP是面向连接的&#xff0c;TCP的各种可靠性机制实际都不…

c++中的引用()及做返回值问题

传值返回&#xff1a; int Count1() {int n 0;n;return n; } int main() {int& r1 Count1();return 0; } 总结&#xff1a;返回局部变量的引用是不安全的。 static int cab; 只有第一次定义c时才会执行 要想给变c的值应 static int c1; cab; 传值、传引用效率比较 #…

【抓包】- Fiddler抓包教程,使用Fiddle抓取B站视频;ffmpeg的使用方法

一、预准备&#xff1a;过滤器设置 打开fiddler后&#xff0c;清空内容&#xff0c;然后播放视频。 找到与B站视频资源相关的回应&#xff0c;而后在“原始&#xff08;raw&#xff09;”标签中查看它的host信息。 发现B站视频资源的服务器DNS地址为【*bilivideo.cn】、【*bi…

超越GPT-4 ,金融分析新突破:FinTral多模态大模型

人工智能咨询培训老师叶梓 转载标明出处 在金融领域&#xff0c;对大量非结构化数据的处理和分析一直是行业面临的重要挑战。为了解决这一问题&#xff0c;由不列颠哥伦比亚大学和Invertible AI的研究团队共同提出了一套名为FinTral的先进多模态大模型&#xff08;LLMs&#xf…

云计算实训26——部署LVS负载均衡项目(上)

LVS LVS是linux virtural server的简称——免费、开源、四层负载均衡 工作原理&#xff1a; 通过linux达到负载均衡好和linux操作系统实现高性能高可用的linux服务集群&#xff0c;具有良好的可靠性、可扩展性、可操作性、可扩展性、从而实现以低廉的成本实现最优的性能。LV…

前端案例:Alloy Team|腾讯全端项目(响应式)

前言 这是一个简单的响应式项目&#xff0c;模仿了Alloy Team|腾讯全端部分内容&#xff0c;模拟了可以适应不同类型的设备 项目总览 整体布局 屏幕大于1200px概况&#xff1a; 头部标签hover 轮播图 屏幕在小于992px概况 头部背景变色 固定 屏幕在小于992px概况 屏幕大于7…

基于YOLOv8的手部检测(1)- 手部数据集获取(数据集下载、数据清洗、处理与增强)

前言 在进行手部姿态估计、手势识别时&#xff0c;需要先检测出手的位置。本文对网上公开的手部数据集进行获取、清洗、处理与数据增强&#xff0c;用于YOLO等目标检测网络的训练。 1.手部检测数据集概览 1.1 HaGRID手势识别数据集 项目地址&#xff1a; https://github.com/…

[C++] STL (multi)map/(multi)set简介

标题&#xff1a;[C] STL (multi)map/(multi)set简介 水墨不写bug 目录 前言&#xff1a; 一、set简介 1.set简介 2.set的常见用法 二、map简介 1.map简介 2.map使用 三、multiset简介 1.multiset简介 2.multiset使用 四、multimap简介 1.multimap简介 2.multim…

DVWA-IDS测试(特殊版本)

起因 浏览DVWA历史更新记录发现有版本带有IDS插件&#xff0c;可以用于平时没有相关设备等场景演示用&#xff0c;所以开启本次测试。 下载 官方最新版本是移除了IDS插件&#xff0c;原因是“从不使用”&#xff0c;所以需要下载移除该插件之前的版本。 https://github.com/…

【QuikGraph】图算法之Prim最小生成树求解

介绍 最小生成树概念与算法介绍 QuikGraph的PrimMinimumSpanningTreeAlgorithm的API地址 示例 测试代码&#xff1a; using Microsoft.VisualStudio.TestTools.UnitTesting; using QuikGraph; using QuikGraph.Algorithms.MinimumSpanningTree; using QuikGraph.Algorithm…

【Python 滑块图片复原】将steam蒸汽平台混乱的滑块背景图复原

文章日期&#xff1a;2024.08.16 使用工具&#xff1a;Python 文章类型&#xff1a;复原steam蒸汽平台里的滑块图片 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js…

【ElementUI】el-table值相同时合并行

效果图&#xff1a; 大致思路&#xff1a;el-table里添加合并行或列的计算方法span-method <el-table :data"tableList" :span-method"objectSpanMethod"> // 在获取到列表数据tableData后调用此方法 handleTableData(tableData) {let rowSpanArr …

探索JUnit源码:揭秘编程高手的秘密武器

摘要 本文将带领读者深入探索JUnit测试框架的源码&#xff0c;揭示其中蕴含的编程智慧和技巧。通过分析JUnit的实现原理&#xff0c;我们将学习到如何编写高质量、可维护的代码&#xff0c;并掌握一些高级编程技巧。 引言 在软件开发的世界里&#xff0c;测试是保证代码质量…

使用electron-vite创建桌面应用

使用electron-vite创建桌面应用 一、框架搭建二、项目目录三、preload.js解读 一、框架搭建 官网地址https://cn.electron-vite.org npm create quick-start/electronlatest按步骤操作即可 二、项目目录 1、main 主进程窗口&#xff1a;存放窗口代码 2、preload 预加载模块…

项目代码全自动国际化翻译工具

项目代码全自动国际化翻译工具 在当今全球化的时代&#xff0c;软件的国际化已不再是可选项&#xff0c;而是必需品。为了使软件能够覆盖更广泛的用户群体&#xff0c;支持多语言已成为每个开发团队的重要目标之一。然而&#xff0c;处理项目中的国际化问题并非易事&#xff0…

基于深度学习的图像特征优化识别复杂环境中的果蔬【多种模型切换】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍图像特征优化方法模型原理及实验对比模型训练每文一语 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 基于深度学习的图像识别技术广泛应…

企业发展与数字化转型:创新驱动未来增长的关键策略

引言 在当今全球化和信息化高度融合的时代&#xff0c;数字化转型已经成为企业寻求增长和保持竞争优势的关键战略。随着技术的飞速进步&#xff0c;数字化不仅改变了商业模式和市场格局&#xff0c;还深刻影响了企业的内部运作和外部生态系统。大数据、人工智能、物联网等新兴技…

【免费】企业级大模型应用推荐:星环科技无涯·问知

无涯问知是星环科技发布的大模型应用系统&#xff0c;那么我们先简单了解下星环科技吧&#xff01; 星环科技&#xff08;股票代码&#xff1a;688031&#xff09;致力于打造企业级大数据和人工智能基础软件&#xff0c;围绕数据的集成、存储、治理、建模、分析、挖掘和流通等数…

【保姆级教程】用pycharm连接远程数据库,并用sql语句进行增添语句

1.远程连接 检查是否连接成功 然后就能连接成功了。 2.可视化 双击&#xff0c;即可查看该表&#xff0c;左侧应该显示详细信息&#xff0c;类似navicat 3.增删改查&#xff08;前提&#xff1a;你有权限&#xff09; 3.1.非语句版 双击进行修改 点击箭头保存提交 3.2 sql语…