标定系列一、手眼标定基础介绍

一、手眼标定的用途

        在实际的自动化工业生产中,我们常需要机械手和相机配合实现物料定位、摆正等操作过程,手眼标定的目标就是实现相机坐标系和机械手坐标系的空间映射,通俗的讲相机相当于眼睛,机械手相当于手,眼睛看到的地方机械手能够走到,在此过程中我们运用一种常见的二维标定方法9点法实现手眼标定。

        简单介绍标定过程中的一些概念::

像素坐标系:像素在图像中的位置,一般坐标原点是图像的左上角,单位是像素。

相机坐标系:相机坐标系中相机中心是坐标系原点,垂直对应图像的正中心,单位是毫米。

机械手坐标系:相对于机械手基座而言,坐标也就是机械手末端法兰相对于基座的坐标,根据实际应用会建立工具坐标系,无论是哪种都是相对于基座而言。

定位过程:是根据特征点的像素坐标系仿射到机械手坐标系中,机械手能够在物料一致位置进行吸放料。

摆动过程:机械手吸取物料位置不一定,但是每次都能准确摆进目标位置,可以看做治具固定不动,物料上料上料过程中位姿不确定,但是能吸取物料准确摆入治具中。

二、空间放射变换介绍

       空间的放射变换简单的介绍为一个空间坐标映射到另一个空间中,两个空间中的点有一一对应的关系,二维空间可以理解两个平面间的坐标关系。常见的映射关系主要有三种,平移、旋转、缩放。主要就是旋转问题,一定要记住是相对于基坐标系旋转,而不是相对自身工具坐标系而言,对于旋转平移矩阵,是先旋转再平移。仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。仿射变换能够保持图像的“平直性”,包括旋转,缩放,平移,错切操作。一般而言,仿射变换矩阵为2*3的矩阵,第三列的元素起着平移的作用,前面两列的数字对角线上是缩放,其余为旋转或者错切的作用。

具体表达式为:

ec2f027a32764f0cb4f5419ec1ea3b00.png

 

        其中A为变换后坐标矩阵,C为原始坐标矩阵,B是仿射变换矩阵,有6个未知量,假设目标图形(x , y)为轴心顺时针旋转θ弧度到目标图像,则变换矩阵对应的变量为:所以前两列的4个未知量a,b,d,e是起到旋转的作用,第三列的2个未知量c,f起到了平移的作用。仿射变换的方程组有6个未知数,所以要求解就需要找到3组映射点,三个点刚好确定一个平面。

       对于3维空间放射变换是一个4*4的矩阵,同理如果要求出4维空间变换则需要4个对应点,对于刚体变换(没有大小缩放),二维平面变换则只需要2个点,三维空间刚体变换则只需要3个点。

简单举例介绍:

           e529f914ac014cb1b2958d6ee981ec3b.png

在halcon中常用代码:

*生成一个放射变换用的矩阵
hom_mat2d_identity

*在初始化矩阵的基础上进行旋转、平移、缩放变换
hom_mat2d_translate
hom_mat2d_scale
hom_mat2d_rotate(先绕原点旋转,然后再平移到指定的旋转中心)

*执行放射变换的算子
affine_trans_image
affine_trans_regione
affine_transe_xld

*点与点生成对应矩阵(起码传进去三个点)
vector_to_hom2d

*点和角度进行旋转平移变换
vector_angle_to_rigid
(其中第一个点是旋转中心,绕旋转中心进行旋转再将旋转中心平移到对应点位)

 

三、手眼标定的类型

常见的手眼标定类型根据相机所在位置可以分为两类:

1.眼在手上:相机和机器手绑定在一个位置,机器手移动,相机也跟着移动,相机和机械手末端共同运动,不发生相对变化。在标定时候标定板固定不动,机械手带着相机共同运动。

     45fe877716b24fcfa86517fc6fb70404.png

 

2.眼在手外:相机放置一个固定的位置,与机器人基坐标系相对位置不变。

1265d4dc97064373b5f3322f82f1f141.png

关于二维三维手眼标定的相关内容,我会在后续文章中陆续更新。

根据相机的朝向可以分为:
1.上相机:相机在正上方,从上往下拍目标物。

2.下相机:相机在下方,从下往上拍,可以避免机械手干涉影响。

                   e281f99cecb748bd9dfb5c67be8fdb56.png

 

 

四、手眼标定的目的

从我上述这么多描述可以知道,手眼标定目的可以总结为:

1.求解X、Y方向的分辨率;

2.求解图像到X、Y方法的放射变换;

3.根据变换矩阵来实现像素坐标与实际坐标的转换;

 

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值