手眼标定结果不理想(尺寸精度差)
问题
手眼标定结果不理想,触碰测试结果不令人满意(通常是 z 轴误差),看起来像以下几种组合之一:
手眼变换 |
手眼残差 |
投影验证 |
触碰测试 |
|---|---|---|---|
合理的 |
尚可 |
欠佳 |
尚可 |
合理的 |
好 |
好 |
尚可 |
临界状态的手眼标定结果示例
手眼变换矩阵看起来合理,与粗略的手动测量结果一致(见下表和图像)。
0.999 |
-0.004 |
0.043 |
-56.879 |
0.003 |
1.000 |
0.028 |
-90.051 |
-0.043 |
-0.027 |
0.999 |
130.259 |
0 |
0 |
0 |
1 |
校准残差在可接受的范围内,表明优化已成功收敛。
N(位姿) |
平均旋转角度(°) |
最大旋转角度(°) |
平均平移残差(mm) |
最大平移残差(mm) |
|---|---|---|---|---|
14 |
0.050 |
0.102 |
0.328 |
0.718 |
对于小型机器人,我们预计残差在亚毫米范围内;而对于大型机器人,残差则在毫米范围内。至于残差的旋转分量,我们预计其在亚度范围内。
全部的残差数据
位姿 |
旋转角度(°) |
平移量(mm) |
|---|---|---|
1 |
0.018 |
0.070 |
2 |
0.102 |
0.187 |
3 |
0.036 |
0.118 |
4 |
0.028 |
0.275 |
5 |
0.048 |
0.426 |
6 |
0.056 |
0.374 |
7 |
0.058 |
0.537 |
8 |
0.043 |
0.458 |
9 |
0.057 |
0.099 |
10 |
0.064 |
0.569 |
11 |
0.034 |
0.203 |
12 |
0.053 |
0.334 |
13 |
0.025 |
0.220 |
14 |
0.082 |
0.718 |
通过投影验证成功。
触碰测试结果不理想。例如,触碰测试工具的尖端会压到ArUco标记上(z轴误差)。
潜在原因
相机的尺寸精度不够好。
Zivid 相机专为应对工业工作环境而设计,并能持续提供高质量的点云数据。然而,某些情况会影响相机的尺寸精度,导致手眼标定结果不理想。在这种情况下,运行 现场标定 可将尺寸精度提升至可接受的水平,并提高手眼标定的准确性。
何时应进行现场标定?
相机发生了轻微碰撞。
相机被粗暴对待(例如,跌落)。
相机经历了显著的环境变化。
该应用对精度要求很高或非常高。
潜在解决方案
运行 现场标定 。
使用同一数据集重复进行手眼标定。
验证手眼标定结果(变换矩阵、残差、投影)。
重新运行触碰测试(如果手眼标定结果良好)。
重现问题(尺寸精度处于临界状态)
错误数据集(未运行现场标定)
使用尺寸精度不理想的相机进行手眼标定。标定结果如下:
0.999 |
-0.004 |
0.043 |
-56.879 |
0.003 |
1.000 |
0.028 |
-90.051 |
-0.043 |
-0.027 |
0.999 |
130.259 |
0 |
0 |
0 |
1 |
N(位姿) |
平均旋转角度(°) |
最大旋转角度(°) |
平均平移残差(mm) |
最大平移残差(mm) |
|---|---|---|---|---|
14 |
0.050 |
0.102 |
0.328 |
0.718 |
全部的残差数据
位姿 |
旋转角度(°) |
平移量(mm) |
|---|---|---|
1 |
0.018 |
0.070 |
2 |
0.102 |
0.187 |
3 |
0.036 |
0.118 |
4 |
0.028 |
0.275 |
5 |
0.048 |
0.426 |
6 |
0.056 |
0.374 |
7 |
0.058 |
0.537 |
8 |
0.043 |
0.458 |
9 |
0.057 |
0.099 |
10 |
0.064 |
0.569 |
11 |
0.034 |
0.203 |
12 |
0.053 |
0.334 |
13 |
0.025 |
0.220 |
14 |
0.082 |
0.718 |
投影验证成功。
触碰测试结果不理想,因为触碰测试工具的尖端压在了 ArUco 标记上(z 轴误差)。
良好数据集(经现场标定后)
为了提高相机的尺寸精度,进行了 现场标定 ,并再次进行手眼标定。标定结果如下:
0.999 |
-0.004 |
0.043 |
-56.870 |
0.003 |
1.000 |
0.027 |
-90.409 |
-0.043 |
-0.027 |
0.999 |
128.381 |
0 |
0 |
0 |
1 |
N(位姿) |
平均旋转角度(°) |
最大旋转角度(°) |
平均平移残差(mm) |
最大平移残差(mm) |
|---|---|---|---|---|
14 |
0.056 |
0.115 |
0.276 |
0.382 |
全部的残差数据
位姿 |
旋转角度(°) |
平移量(mm) |
|---|---|---|
1 |
0.070 |
0.194 |
2 |
0.050 |
0.280 |
3 |
0.075 |
0.341 |
4 |
0.050 |
0.382 |
5 |
0.055 |
0.127 |
6 |
0.030 |
0.310 |
7 |
0.052 |
0.204 |
8 |
0.018 |
0.333 |
9 |
0.019 |
0.251 |
10 |
0.089 |
0.355 |
11 |
0.023 |
0.377 |
12 |
0.111 |
0.098 |
13 |
0.027 |
0.265 |
14 |
0.115 |
0.346 |
投影验证成功。
然后通过触碰测试验证了手眼标定。
触碰测试成功,证实了手眼标定的正确性和准确性。
比较
下表比较了手眼标定矩阵(平移值)和手眼标定残差的结果。
数据集 |
X (mm) |
Y (mm) |
Z (mm) |
|---|---|---|---|
差(未运行现场标定) |
-56.879 |
-90.051 |
130.259 |
好(运行手眼标定后) |
-56.870 |
-90.409 |
128.381 |
Δ(好 - 差) |
0.009 |
-0.358 |
-1.878 |
数据集 |
N |
平均旋转角度(°) |
最大旋转角度(°) |
平均平移残差(mm) |
最大平移残差(mm) |
|---|---|---|---|---|---|
差(未运行现场标定) |
14 |
0.050 |
0.102 |
0.328 |
0.718 |
好(运行手眼标定后) |
14 |
0.056 |
0.115 |
0.276 |
0.382 |