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

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

一、手眼标定的用途

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

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

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

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

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

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

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

二、空间放射变换介绍

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

具体表达式为:

 

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

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

简单举例介绍:

         

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

   

 

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

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

根据相机的朝向可以分为:

1.上相机:相机在正上方,从上往下拍目标物。

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

                 

 

 

四、手眼标定的目的

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

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

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

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

 

 

 

相关文章
|
21天前
标定系列三、9点标定实际应用场景分析
标定系列三、9点标定实际应用场景分析
|
21天前
|
计算机视觉 Python
Yolov5双目测距-双目相机计数及测距教程(附代码)
Yolov5双目测距-双目相机计数及测距教程(附代码)
311 1
|
21天前
|
存储 算法
标定系列二、9点标定以及5点圆心标定过程(代码详解)
标定系列二、9点标定以及5点圆心标定过程(代码详解)
132 0
|
21天前
|
文字识别 Python
Halcon 学习笔记五:几何定位+仿射变换+测量
Halcon 学习笔记五:几何定位+仿射变换+测量
189 0
|
11月前
|
传感器
使用校准相机测量平面物体
使用校准相机测量平面物体。
89 0
|
21天前
|
算法
[Halcon&标定] 相机自标定
[Halcon&标定] 相机自标定
73 1
|
21天前
|
编解码 对象存储 UED
[Halcon&标定] 单相机标定
[Halcon&标定] 单相机标定
121 1
|
21天前
|
机器人
[贴装专题] 基于多目视觉的手眼标定
[贴装专题] 基于多目视觉的手眼标定
37 0
|
6月前
|
算法
3D Hough变换点云平面检测算法
3D Hough变换点云平面检测算法
97 0
|
机器学习/深度学习 传感器 算法
智慧交通day03-车道线检测实现02-2:张氏标定法+双目标定
该方法介于传统标定法和自标定法之间,既克服了传统标定法需要的高精度三维标定物的缺点,又解决了自标定法鲁棒性差的难题。标定过程不需要特殊的标定物,只需使用一张打印出来的棋盘格,并从不同方向拍摄几组图片即可,不仅实用灵活方便,而且精度很高,鲁棒性好。因此很快被全世界广泛采用,极大的促进了三维计算机视觉从实验室走向真实世界的进程。
245 0

热门文章

最新文章