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

4.0 相机引导XY轴控制螺丝枪打螺丝

        假如一个产品的同一水平上要打6个螺钉,是通过伺服XY轴移动带动相机以及螺丝枪,由相机拍照,根据拍照后螺丝孔位置来引导伺服进行移动以对准螺丝孔位置的。步骤如下:

 一、9点标定,即把相机与伺服的实际位置关联起来。步骤如下:

选定螺丝孔1(其他螺丝孔也可以),移动XY轴使得螺丝孔1出现在相机视野的中心。做如下工作:

1).把此处作为(X1_标准拍照位,Y1_标准拍照位), 作为9点标定的第5个点。

2). 然后伺服分别走到如下9个位置(1-9),分别拍照,找到螺丝孔像素位置(1‘-9‘),然后使用9点标定工具计算求出像素坐标到伺服XY轴的转换矩阵。

        注意本转换矩阵计算的相对值需要乘以-1. 即下图显示伺服向左移动(X-),拍照照片却是向右平移的(假设像素和实际的XY轴重合情况下)。因为本标定方法是工件不动,相机移动。

下图所示。

二、注册标准图像、并找到打螺丝与拍照的固定偏移量

       伺服走到(X1_标准拍照位,Y1_标准拍照位),拍照并注册当前图片作为标准图片。

        同时手动拧紧一个螺丝到螺丝孔1,手动移动伺服到找到最合适的打螺丝位置记忆为:(X2_标准打螺丝位,Y2_标准打螺丝位).则:

X_打螺丝固定Offset = X2_标准打螺丝位 - X1_标准拍照位

Y_打螺丝固定Offset = Y2_标准打螺丝位 - Y1_标准拍照位

三、实际拍照     

  1. 定义所有其他螺丝的拍照位(X_螺丝2拍照位,Y_螺丝2拍照位)….
  2. 走到任意一个螺丝的拍照位,拍照图片得到孔的像素位置,并得到(根据9点标定的矩阵)实际伺服位置.下图所示:

X_实际附加Offset = x1_实际 – x1

Y_实际附加Offset =y1_实际-y1

3.实际打螺丝所需的伺服位置:

X = X实际拍照位置 +  X_打螺丝固定Offset  - X_实际附加Offset

Y = Y实际拍照位置 +  Y_打螺丝固定Offset  - Y_实际附加Offset

上式子有一个负号的原因是我们的9点标定方法导致的。因为本标定方法是工件不动,相机移动。举例来讲:伺服向左移动(X-),拍照照片却是向右平移的(X+)。

http://www.dtcms.com/a/70726.html

相关文章:

  • 信创环境下TOP5甘特图工具对比:从功能到适配性测评
  • Arduino示例代码讲解:ArduinoISP
  • matlab 控制系统GUI设计-PID控制超前滞后控制
  • 【数学基础】概率与统计#1概率论与信息论初步
  • [本周五题]Javascript面试常考题手撕场景UR缓存、new关键字、大数相加、最长递增子序列、高并发请求、大文件上传和WebWorks
  • windows安装两个或多个JDK,并实现自由切换
  • JConsole 监控线程池状态
  • 基恩士PLC编程小技巧十:快速查找空软元件
  • 生态质量研究概述
  • Linux命令基础,创建,输入,输出,查看,查询
  • Cadence学习笔记4
  • (C语言)指针数组的运用
  • 【打卡D6】二分法
  • 【PyQt5】【Visual Studio】环境配置
  • 【MySQL数据库】约束
  • Audacity 技术浅析(一)
  • C# Exe + Web 自动化 (BitComet 绿灯 自动化配置、设置)
  • 什么是强哈希算法pbkdf2(Password-Based Key Derivation Function)
  • 算法题(98):大数加法
  • Python桌面应用开发入门:Tkinter+PyQt5实战文件管理器教程
  • 2024华东师范大学计算机复试上机真题
  • Androidstudio实现一个app引导页(超详细)
  • 【电路笔记】-多谐振荡器
  • 2024年12月CCF-GESP编程能力等级认证C++编程六级真题解析
  • Java常用设计模式
  • maven笔记
  • 电子学会—2024年06月青少年软件编程(图形化)二级等级考试真题——绘制图形
  • 如何用Java将实体类转换为JSON并输出到控制台?
  • 每日一题---dd爱框框(Java中输入数据过多)
  • JVM 2015/3/15