一、定义
世界坐标系:真实世界中物体实际位置(三维)
相机坐标系:以镜头光心为原点,光轴为Z轴(三维)
图像物理坐标系:以成像图像中心维原点(二维)
像素坐标系:原点在图像左上角(二维)
二、详细解释
1、世界坐标系(刚性变换到)-----------相机坐标系 (外参R与t)
刚性变换: 只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚性变换。刚性变换是最一般的变换。
任何一个坐标系的建立,主要是原点位置与坐标轴方向。在相机标定的过程中,需要定义世界坐标系。世界坐标系便是我们看到的实际物理世界,那么怎么定义世界坐标系呢?答案就在halcon提供的圆点标定板上。
世界坐标系是三维的(原点根据"设为参考位姿"的照片而得到,定义在阵列标定板中心上)示例图为:
根据标定板的左上角三角符号可以判定世界坐标系*XY*轴方向,*Z*轴方向根据右手螺旋定则判定。
2、相机坐标系(透视投影,3D到2D)-----------到图像物理坐标 (焦距f)
3、图像物理坐标系(平移)-------------到图像像素坐标系 (u0,v0)也是内参
像素坐标系便是我们从halcon窗口里看到的图像像素坐标,查看一个图像的像素坐标,只需要按住Ctrl键,鼠标在图像上移动,便可以看到当前鼠标位置的图像像素坐标值。谨记,在仿射变化等图像处理中都是以像素坐标系下开展的。
窗口坐标系指的是建立图像显示窗口的大小,比如说
1 |
|
这里面的512便是指的是窗口的大小,跟图像像素无关。
总结下各坐标系的定义:
世界坐标系:真实世界中物体实际位置(三维)
相机坐标系:以镜头光心为原点,光轴为Z轴(三维)
图像物理坐标系:以成像图像中心维原点(二维)
像素坐标系:原点在图像左上角(二维)
因此,图像测量项目中,从世界坐标系到像素坐标系是一个三维到二维的过程,要找到矩阵转换中相关系数(内参与外参)
相关的halcon算子是:
1 2 3 4 5 6 |
|
Halcon中的位姿说明
位姿指的是位置和姿态。位姿是一个坐标系相对于另一个坐标系!牵扯到两个坐标系有6个参数,x,y,z,rx,ry,rz。代表的是坐标系原点的相对x,y,z平移和坐标系坐标轴方向的相对旋转。
必须注意的是:halcon中pose的值都是以**米**为单位的,而**机器人**常用**毫米**为单位,所以在一些手眼标定的项目中注意单位的换算(这都是曾经做项目过程中血的教训啊)
代表的是世界坐标系相对于camera坐标系(注意是谁相对于谁)
位姿可以转换成齐次坐标矩阵,其实质是数学表达方式的改变
在Halcon中,HomMat3D,是3维齐次坐标矩阵,4*4类型
HomMat2D,是2维齐次坐标矩阵,3*3类型(关于为什么矩阵表示齐次坐标系时会增加一行,大家可以自行百度学习一下哦)
在Halcon中关于pose的算子有:
1 2 3 4 5 6 7 |
|
在Halcon中有关于手眼标定,眼在手外的示例例子中:
obj:标定板坐标系(世界坐标系) 【动】
cam:相机坐标系 【 静】
tool:工具坐标系(丝杆末端)【动】
base:机器人基坐标系 【静】
2个移动坐标系,2个静止坐标系(4个坐标系形成闭环!!!)
学习Halcon做手眼标定一定要掌握位姿的基础理论。
结尾
本篇博客对halcon中坐标系和位姿做了说明,其实理解这些原理不单单有助于理解halcon,在机器人控制技术,自动化技术上都会有很好的帮助,大家在学习的过程中不仅仅要知道逻辑,更是要对基本理论有所了解,这才是提高技术水平的不二法门!!!