在开发项目的过程中,产品有一个入料初定位,需要操作员把产品放到载具上后,一个大视野的相机会拍一下产品,然后伺服电机对载具进行一个调整,以保证产品在小视野的相机范围内,从而进行检测。这里我们用到了相机和伺服电机的手眼标定,及位置补正算法。
机械手分为:4轴,6轴或者xy模组或uvw模组。相关的视觉引导项目主要包括:抓取,放置,位置补正,贴合。其中相机模式又分为:单相机和多相机;相机固定安装和相机手部安装。机械手核心是通过相机拍摄mark点,计算出产品的偏移位置,让执行机构去执行某个动作。
操作步骤主要分为:4步(标定的核心思想就是相机坐标系和机械坐标系进行统一,然后根据产品实时来料位置计算偏差) 1.相机的非线性校正(此步骤需要更具实际情况选取,由于相机镜头的光学特性比较稳定,大多数情况此步骤可以省略); 2.相机与机器人做9点标定手动标定:可以使用机器人扎9个点,然后相机拍摄次9个点的像素位置;自动标定:机器人抓住工件移动9个位置,得到9个机械坐标,相机也得到9个像素坐标,然后标定(此过程需要标定软件和机械进行实时通信,确定机械位置和像素mark点);
3.计算机器人的旋转中心
(由于机械的夹具中心和法兰中心不重合,所以需要进行旋转标定)机器人抓住工件至少旋转三个不同角度,工件要在相机视野内,相机可以得到多个像素坐标值,通过三个坐标值拟合圆心,为旋转中心;(旋转中心是否计算也要根据具体需求选取,若产品来料无角度或者产品不需要做角度补偿,则此步骤可以省略)
4.相机通过公式计算得到最终输出结果:(rx0,ry0)为旋转中心,(x,y)为被旋转的点,(x0,y0)旋转后的点旋转公式: x0 = cos(a)*(x-rx0) - sin(a)*(y-ry0) + rx0 y0 = cos(a)*(y-ry0) + sin(a)*(x-rx0) + ry0
其中对应halcon核心算子为:
a.计算出仿射变换矩阵: vector_to_hom_mat2d( : : px, py, qx, qy : hommat2d)
b.求旋转矩阵: hom_mat2d_rotate( : : hommat2d, phi, px, py : hommat2drotate)
c.应用仿射变换矩阵求出对应点: affine_trans_point_2d( : : hommat2d, px, py : qx, qy)
d.求取圆心坐标: fit_circle_contour_xld(contours : : algorithm, maxnumpoints, maxclosuredist, clippingendpoints, iterations, clippingfactor : row,column, radius, startphi, endphi, pointorder)
法国松尼克蓄电池(中国)有限公司【销售总部】
红外雨量计(光学雨量传感器)在流动气象站中的应用
苹果13 真实图片曝光
Intel着急:软银收购之后发力 阿里将大量采用ARM处理器
NVIDIAGTX1650评测 售价略高整体表现来说是网吧绝配
机械手视觉引导相机和伺服电机算法
自启动可能很难实现 - 了解稳压器和带隙中的上电复位要求
C语言如何写出高效代码呢?
74hc138驱动能力概述 如何驱动8位数码管
人工智能是否能超越人类智能?人类智能与人工智能的区别 人工智能带来的真正挑战
ipv6可以给安防带来怎样的改变
MOS管的原理是什么?它是如何起作用的?
影界的AI技术——4D自动梯形校正从设想成为现实
什么是变压器的铁损?
COT电源控制芯片控制模式介绍
赛特斯5G一体化共站部署方案亮相,主要呈现四大应用特性
开放原子开源基金会TOC(技术监督委员会)第七十六次全体会议
选择光纤线时要注意哪些问题呢
Tranquil发布超薄无风扇无TV调谐器HTPC
EMC封装市场前景被看好 成本是最大困局