手眼标定结果不理想(尺寸精度差)

问题

手眼标定结果不理想,触碰测试结果不令人满意(通常是 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

../../_images/eye_in_hand_approximate_hand_eye_matrix.png

校准残差在可接受的范围内,表明优化已成功收敛。

残差

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

通过投影验证成功。

../../_images/projection_verification_good.png

触碰测试结果不理想。例如,触碰测试工具的尖端会压到ArUco标记上(z轴误差)。

潜在原因

相机的尺寸精度不够好。

Zivid 相机专为应对工业工作环境而设计,并能持续提供高质量的点云数据。然而,某些情况会影响相机的尺寸精度,导致手眼标定结果不理想。在这种情况下,运行 现场标定 可将尺寸精度提升至可接受的水平,并提高手眼标定的准确性。

何时应进行现场标定?

  • 相机发生了轻微碰撞。

  • 相机被粗暴对待(例如,跌落)。

  • 相机经历了显著的环境变化。

  • 该应用对精度要求很高或非常高。

潜在解决方案

  1. 运行 现场标定

  2. 使用同一数据集重复进行手眼标定。

  3. 验证手眼标定结果(变换矩阵、残差、投影)。

  4. 重新运行触碰测试(如果手眼标定结果良好)。

../../_images/touching-test-result-aruco.jpg
重现问题(尺寸精度处于临界状态)

错误数据集(未运行现场标定)

使用尺寸精度不理想的相机进行手眼标定。标定结果如下:

手眼变换矩阵

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

投影验证成功。

../../_images/projection_verification_poor.png

触碰测试结果不理想,因为触碰测试工具的尖端压在了 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

投影验证成功。

../../_images/projection_verification_good.png

然后通过触碰测试验证了手眼标定。

触碰测试成功,证实了手眼标定的正确性和准确性。

比较

下表比较了手眼标定矩阵(平移值)和手眼标定残差的结果。

手眼变换矩阵中的转换值

数据集

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