当前位置:   article > 正文

如何完成一个三维引导项目:第一步 手眼标定(眼在手外)_手眼标定后制作点云模型步骤

手眼标定后制作点云模型步骤

如何完成一个三维引导项目:第一步 手眼标定(眼在手外)

主要使用算子:

*从点对应近似一个三维变换
vector_to_hom_mat3d 

*对点应用任意仿射3D变换
affine_trans_point_3d 
  • 1
  • 2
  • 3
  • 4
  • 5


前言

今天分享的是空间N点标定法:
该方法无论是理论还是实践都是简单暴力的。
基础知识:对于两个三维坐标系A和B,空间中有N个点,已知这些点在坐标系A下的三维坐标,并知这些点在坐标系B下的三维坐标。则可以建立N组P_A=T_C^A 〖*P〗_C方程。那么,就可以直接求取T_C^A了。
图1eye-to-hand标定B方法原理图

在实际操作中,一种方式是使用标记物标记机械臂末端点,则空间坐标点在机械臂基座坐标系下的位置已知(读取机械臂末端坐标),在相机三维坐标系下的位置可以通过在图像中定位该标记物,并基于图像坐标映射,获取该点在相机三维坐标系下的三维位置。这些点必须保证是非共面的,且这些点应尽可能散布在工作区域下。


前期准备

halcon任一版本(我使用19.11)、相机坐标系与机器人坐标系下对应点坐标值。

整体代码

所有的代码:

*相机坐标系与机器人坐标系下对应点坐标值
inputImageX:=[1,2,3]
inputImageY:=[1,2,3]
inputImageZ:=[1,1,1]
inputRobotX:=[3,4,5]
inputRobotY:=[3,4,5]
inputRobotZ:=[1,1,1]

inputTransformationType:='rigid'

*List of values: 'affine', 'projective', 'rigid', 'similarity'
*'rigid':刚性的3D变换(一个旋转和一个平移) 3组数据
*'affine':通用的仿射3D变换 4组数据
*'projective':投影3D变换 5组数据
*'similarity':3D相似变换(统一缩放、旋转和平移) 3组数据
*从点对应近似一个三维变换,获得变换矩阵
vector_to_hom_mat3d (inputTransformationType, inputImageX, inputImageY, inputImageZ, inputRobotX, inputRobotY, inputRobotZ, outputHomMat3D)
*通过变换矩阵 准备计算重投影误差数据
affine_trans_point_3d (outputHomMat3D, inputImageX, inputImageY, inputImageZ, robotPointsX, robotPointsY,robotPointsZ)

*计算重投影误差
err2 := []
for Index := 0 to |robotPointsX|-1 by 1
*空间中点欧氏距离
    err2 := [err2, sqrt(pow(robotPointsX[Index]-inputRobotX[Index], 2) + pow(robotPointsY[Index]-robotPointsY[Index],2)) +pow(robotPointsZ[Index]-robotPointsZ[Index],2)]
endfor
outputErrMean := mean(err2)
outputErrMax  := max(err2)
*保存
write_tuple (outputHomMat3D, 'outputHomMat3D.txt')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

总结

以上就是在Halcon中使用空间N点标定法完成(眼在手上)手眼标定的所有代码,下篇文章介绍如何使用手眼标定的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/561385
推荐阅读
相关标签
  

闽ICP备14008679号