摘要
9点标定是一种用于手眼标定的常见方法,通过在不同位置采集图像,计算相机和机械臂之间的变换关系。其主要作用是实现机器人视觉系统的精确对接,使得机器人可以准确地识别和操作目标物体,提高自动化任务的精度和效率。
误区
很多博客讲到手眼标定都会给出以下的原理,以下两个公式本身没有问题,如果在2D的手眼标定中,以下原理不适用,公式中的数学符号表示的是姿态,所以在3D手眼标定中遵循如下的原理,有时间会补上3D手眼标定。
眼在手上 eye_in_hand
眼在手外 eye_to_hand
9点标定
原理说明:
9点标定利用已知的标定板上的9个点的位置,通过这些点的图像数据计算出相机坐标系与机械臂坐标系之间的变换矩阵。通常,标定板被放置在不同的姿态和位置,以获取多组数据。这些数据用于建立相机和机械臂之间的关系模型。
注意:9点标定不一定是9个点,不共线3个点就行,更准确的说是N点标定,N≥3。
流程:
1.方法1:顶针戳点,一般使用棋盘格,缺点是比较费眼睛;
提取9个像素坐标,记录戳点时的9个机器人坐标;
2.方法2:自动标定,标定板任意,标定板越简单越好;
眼在手上,标定板不动,机械手带着相机拍9-15次;
眼在手外,相机不动,机械手带着标定板拍9-15次;
提取9个圆心像素坐标,记录运动时的9个机器人坐标;
*1 平移(变换矩阵)
Xpix:=[ 1223,623 ,1212 ,2022, 2053, 2083, 1224, 833.5 ,721.5]
Ypix:=[1024 ,483, 454 ,414, 1033, 1645, 1688, 1706.5, 1125.5]
*填写实际的九点坐标
Xrob:=[ 246.233,250.179 ,246.11,240.529,240.529,240.529 , 246.453,249.146 ,249.714]
Yrob:=[-280.599,-284.524,-284.524,-284.524,-280.255,-276.034,-276.034,-276.034, -280.075]
vector_to_hom_mat2d (Xpix, Ypix, Xrob, Yrob, Tuple)
旋转中心标定
原理说明:
机器人带着相机(眼在手上)或机器人带着标定板(眼在手外),进行旋转拍摄,将获取的边缘点进行拟合圆,圆心就是旋转中心;一般是抓手中心和法兰中心不一致时标定旋转中心;
流程:
机器人带着相机(眼在手上)或机器人带着标定板(眼在手外),进行旋转拍摄,拍摄九组图像;
提取9个标定板图像的中心点,再进行拟合圆
Xcir:=[319.8294614, 293.2020447, 271.2902719, 260.1183161, 262.6026804, 278.110902, 302.4164673, 329.1498582, 350.9447014,362.1605348, 359.6639239]
Ycir:=[-277.9826673, -280.4546827, -295.9846625, -320.311339, -346.9660108, -368.8431011, -380.0074627, -3.78E+02, -362.0663171, -337.7097767, -311.0174864]
gen_contour_polygon_xld (Contour, Ycir, Xcir)
dev_display (Contour)
fit_circle_contour_xld (Contour, 'geometric', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
旋转后坐标
使用算子hom_mat2d_rotate
当机器人可旋转角度很小时,参考kavmi的博客
(x1 - cx) * sin(theta) - (y1 - cy) * cos(theta) = (x2 - cx) * sin(theta) - (y2 - cy) * cos(theta)
(x1 - cx) * cos(theta) + (y1 - cy) * sin(theta) = (x2 - cx) * cos(theta) + (y2 - cy) * sin(theta)
其中,(x1, y1)和(x2, y2)是两个不同点的坐标,cx和cy是旋转中心的坐标,theta是旋转角度。通过解这个方程组,可以求解cx和cy的值,从而确定旋转中心的位置。
需要注意的是,如果机器人的旋转角度较大,则这种方法可能不太准确,因为机器人不再是一个刚体,而是可能会发生形变。在这种情况下,可能需要使用更复杂的方法来确定旋转中心。
更多详情了解:https://blog.csdn.net/qq_32015315/article/details/141663063