爱普生自动贴合项目

一、双相机对位贴合业务:

思路:

左右相机在同一个机器人坐标系下左九点标定,建立俩相机的关系

左相机拍物料左边的角,采用模板匹配+俩个直线卡尺=》俩直线卡尺输出俩直线交点坐标(求俩直线的交点 intersection_lines),通过点的仿射变换得到实际坐标。

右相机拍物料右侧角,采用模板匹配+俩个直线卡尺=》俩直线卡尺输出俩直线交点坐标,通过点的仿射变换得到实际坐标。

放料位用机器人同样抓取俩个对角,得到实际坐标,俩点俩成一条直线。

双相机贴合角度=左右相机输出的点连接成的对角线,与放料位的对角线的角度。angle_ll

双相机贴合行列坐标: 俩相机输出的交点相加/2,则是中心点的行列坐标

开启三个线程,一个负责左相机识别采集,一个负责右相机识别采集,一个线程负责综合计算,定义俩个相机采集标志位,俩个相机都完成采集后,标志位状态为真。综合计算线程等待俩个状态都为真的时候进行运行。

添加图像算法的封装  
1.打开左边窗口 右边窗口  

btn_Rectify_Click(this, new EventArgs());  窗体加载的时候运行,默认会打开显示这个页面(在双相机贴合窗体中调用者俩个方法打开窗口页面) 
2.读入模板匹配的模板  读入卡尺模型      
3.左相机显示  右相机显示图像==》设置活跃窗口,这里可以只写左侧绑定左侧窗口句柄,写死。
4.左相机显示卡尺信息  右相机显示卡尺信息  
5.左相机mark点像素检测  右相机mark点像素检测  综合计算(俩点连线的中点,实例与放料位连线的夹角则是要转的角度)

左右相机mark点像素提取  方法具体思路:

查找模板,卡尺跟随,卡尺测量。输出俩直线交点的行列坐标,轮廓灯存放到实体类的对象中。

综合计算方法封装思路:

中心点行坐标=(左相机mark点的行坐标+右相机mark点的行坐标)/2      实际

中心点列坐标=(左相机mark点的列坐标+右相机mark点的列坐标)/2

角度偏差=左右相机输出的点连接成的对角线,与放料位的对角线的角度 


自动双相机贴合业务:

这里把左相机,右相机,综合计算线程,用三个不同的实体类的对象,三个人工事件对象,分别管理。

读九点矩阵-读模板句柄-读卡尺
这里可以定义标志位,等左相机 右相机都完成后,综合任务在进行工作
左相机任务

这里用线程取消任务的对象,来控制线程的运行

人工事件对象,循环等待信号
1.采集图像
2.显示图像
3.提取像素坐标
4.显示卡尺区域  //这里增加lock锁,防止线程冲突导致显示异常
5.转实际坐标

采集完成后,相机采集状态标志位置为真

如果右相机状态也是真的话则(这里使得可以循环拍照,不受干扰):

人工事件对象无信号等待   resetEventLeft.Reset(); //人工时间对象,置为无信号


右相机任务

同左相机线程
1.采集图像
2.显示图像
3.提取像素坐标
4.显示卡尺区域
5.转实际坐标
无信号等待


综合计算任务 左右相机状态都是OK状态下

同时左相机,右相机实体类的对象不为空状态下,调用图像处理类的综合计算方法,输出中和计算实体类的对象
实体类对象中的X实际  Y实际 角度 (中心点X Y 角度),然后在通过字符串拼接,Encoding.Default.GetBytes   //转成byte类型数组 用socket对象调用发送走。

最后置为无信号。  

在接收信号处,和机器人定义好,如果收到了OK信号则,人工事件对象置为有信号,俩个相机状态改为false。

影响偏差问题:1.九点标定矩阵和产品高度不一致  2.U轴和吸嘴不在同一个角度  3.模板匹配中心问题

九点标定第二种方式:---下相机拍照

  1.下相机拍照抓取识别一个物料,如圆,得到像素行列坐标,此时也有机器人的实际坐标,记录下来

 2.拍照九次,记录九个像素坐标,九个实际坐标

 3.求点的仿射变换 vector_to_hom_mat2d 输出矩阵

九点标定的第三种方式--运动标定 自动标定
   1 准备一个mark点 拍照--让我们的mark点在视野中心
   2 对mark点 并且计算拍照位与对上mark点后的偏差-XY(抓取位-拍照位)
   3 进行九次九宫格运动拍照并且记录像素和拍照位的坐标,并且求九点矩阵(注意这里对应的顺序)
   4     回到P5位置进行识别
  5  识别出实际位置后还要加上第二步求出来的偏差发给机器人这才是正确的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Epson爱普生机器人手册是一份详细介绍Epson爱普生机器人的使用指南。该手册包含了机器人的基本信息、功能、操作方法、注意事项等内容。 首先,手册中会介绍Epson爱普生机器人的基本信息,包括机器人的型号、外观特征、核心性能等。这些信息有助于用户了解机器人的基本情况和使用范围。 其次,手册会详细介绍机器人的各种功能。这些功能可能包括移动、抓取物体、检测环境等,具体功能会根据不同的机器人型号而有所差异。用户可以通过手册了解机器人的功能,从而在实际操作中更好地应用机器人。 手册还会提供机器人的操作方法。这包括机器人的开关机、连接方式、编程方法等。用户可以通过手册来学习如何正确地操作机器人,以充分发挥机器人的功能。 同时,手册中会包含一些使用机器人时需要注意的事项。比如,机器人的安全操作规范,以及一些容易出错的地方需要注意的细节。这些内容能够帮助用户在使用机器人时避免意外情况的发生。 总而言之,Epson爱普生机器人手册是一份非常重要的使用指南,可以帮助用户全面了解机器人的功能和操作方法,提高机器人的应用效果,并确保在使用机器人时的安全性。用户在使用机器人前,可以通过详细阅读手册来提前了解和熟悉机器人的相关情况,避免操作上的困惑和错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值