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+)。

相关推荐
sali-tec5 小时前
C# 基于halcon的视觉工作流-章58-输出点云图
开发语言·人工智能·算法·计算机视觉·c#
却道天凉_好个秋5 小时前
OpenCV(二十三):透视变换
人工智能·opencv·计算机视觉
Danceful_YJ6 小时前
23.目标检测基础
人工智能·目标检测·计算机视觉
不要喷香水6 小时前
26.java openCV4.x 入门-Imgproc之图像尺寸调整与区域提取
java·人工智能·opencv·计算机视觉
骄傲的心别枯萎6 小时前
RV1126 NO.42:OPENCV形态学基础之一:膨胀
人工智能·opencv·计算机视觉
电子脑洞工坊7 小时前
以opencv为例说明怎么才算会用一个库
人工智能·opencv·计算机视觉
Mr_Oak7 小时前
【multi-model】moco系列&SimCLR&BEiT
人工智能·深度学习·神经网络·算法·计算机视觉·transformer·对比学习
城南皮卡丘7 小时前
【数据集+源码】基于yolov11+streamlit的玉米叶片病虫害检测系统
yolo·目标检测·计算机视觉·智慧农业·玉米病害检测
王哈哈^_^8 小时前
【完整源码+数据集】蓝莓数据集,yolo11蓝莓成熟度检测数据集 3023 张,蓝莓成熟度数据集,目标检测蓝莓识别算法系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·ai·视觉检测
嵌入式老牛9 小时前
OpenCV 第10课 图像处理—阈值处理
图像处理·opencv·计算机视觉