网站建设正规代理商,移动网站建设条件,本地网站建设信息大全,网站建设要考什么是标定#xff1f; 工业应用中相机拍到一个mark点的坐标为C1#xff08;Cx,Cy#xff09;#xff0c;C1点对应的龙门架/机械手等执行端对应的坐标是多少#xff1f; 标定就是解决这个问题#xff0c;如相机拍到一个点坐标C1#xff08;Cx,Cy#xff09;#xff0c…什么是标定 工业应用中相机拍到一个mark点的坐标为C1Cx,CyC1点对应的龙门架/机械手等执行端对应的坐标是多少 标定就是解决这个问题如相机拍到一个点坐标C1Cx,Cy通过标定公式的计算得到点R1Rx,RyR1就是龙门架/机械手坐标系的真实点位 C1与R1之间存在一种固定的关系求解这个关系的过程叫做标定为什么是9点标定 C1与R1之间的关系只有四种平移、缩放、旋转、错切 矩阵中有对四种关系的公式如下 平移矩阵公式 image.png 缩放矩阵公式 image.png 旋转矩阵公式 image.png 错切矩阵公式image.png 上面四种矩阵相乘合成一个矩阵就是仿射变换矩阵 image.png 最后一个矩阵是根据前4个矩阵相乘得到故为得到最终的放射变换矩阵需要知道 TxTySxSyθTheta这6个参数。为得到6个参数至少需要6个不同等式,而每个点位包涵(x,y)坐标所以每个点位可以产生2个不同等式。 故此我们得出结论最少3个点我们就可以推到出最终的放射变换矩阵。 那为什么是9点标定呢答案是为了提高精度通过9个点我们可以有N种组合算出结果基于这些结果我们求类似于平均值的东西提高精度 那为什么不是10个11个或更多点呢答案是9个点的计算已经基本满足大家对精度的要求了如π3.1415926已经满足计算精度了就没必要再把π计算到小数点后100位了怎么实现9点标定呢 拿到9个相机点位[C1,C2…C9],同时拿到这9个点对应的机械手或龙门架真实坐标[R1,R2…R9] 把上面数据套入halcon的vector_to_hom_mat2d算子就可以得到放射变换矩阵了
*像素坐标
Row1:[1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6]
Column1:[1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3]*机械坐标
Row2:[50,51.999,54.999,56.999,59.999,62.996,-4.999,-3,0,1.999,4.999,7.995,-59.998,-57.001,-55.001,-52.001,-49.003,-45.005]
Column2:[-93.3,-47.299,0.002,45.499,91.498,135.493,-92.301,-44.3,0,46.999,91.497,135.494,-90.297,-44.297,1.003,46.999,91.497,134.494]*求解放射变换矩阵
vector_to_hom_mat2d (Row1, Column1, Row2, Column2, HomMat2D)*保存变换矩阵到HomMat2D.mat中
serialize_hom_mat2d (HomMat2D, SerializedItemHandle)
open_file (HomMat2D.mat, output_binary, FileHandle)
fwrite_serialized_item (FileHandle, SerializedItemHandle)
close_file (FileHandle) 传统的9点标定工具怎么做 求解9点工具的难点在于怎么得到相机拍照点C1对应的真实坐标R1 传统的作法是在机械手或龙门架的执行端下挂一个针尖。让龙门架/机械手到达标定板的点位1使针尖与点位1中心重合记录真实位置同时通过拍照得出点位1的相机坐标还有没有更方便的9点标定工具其原理是什么 有其核心原理是取消针尖通过旋转180度方式求解出相机坐标点C1 精度更高的方式可以旋转任意角度得到5个点拟合椭圆然后根据椭圆的圆度判断这个点是否ok 如机械手在物理点位R1RxRy拍照的到此mark点对应的相机坐标C1Cx1Cy1然后让机械手旋转180度再次拍照的到mark点对应相机坐标C2Cx2Cy2。那么物理点R1RxRy对应的相机的点位未C1,C2的中心点。 因为物料点围绕自己旋转真实点位并未发生变化。 通过这种方法就可以实现自动化的9点标定工具 另外评估一个标定结果的精度可以通过放一块标定板用不同的位置来拍照定位他理论上理论上标定板没有动得到的位置点的误差只有标定误差