机器视觉28

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

下图中 坐标补偿

根据标称值和拍照后的坐标进行 差值计算   然后把差值发送给PLC进行补偿

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,拍完照,去放料位,有时会不动,可以点击按钮旁边的正方形按钮逐步复位(除了第三步不能复位,后续步骤都可以复位)

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值