핸드-아이 캘리브레이션 불량으로 인해 터치 테스트를 수행하기에 안전하지 않습니다 (번역 데이터만 포함).

문제

The hand-eye calibration results are bad, and it is unsafe to perform the touch test.

핸드-아이 캘리브레이션 변환

핸드-아이 캘리브레이션 잔차

프로젝션 검증

터치 테스트

나쁜

나쁜

나쁜

위험한

If the dataset has only translational movements between poses, re-acquire it with both translational and rotational movements and repeat the hand-eye calibration (see Potential Solution below).

잘못된 핸드-아이 캘리브레이션 결과의 예

핸드-아이 캘리브레이션 행렬은 여러 값이 물리적 측정값과 지나치게 큰 차이를 보이므로 정확하지 않은 것으로 보입니다. 이러한 차이는 해당 설정에서 합리적이지 않습니다.

핸드-아이 변환 매트릭스

0.999

-0.005

0.003

6041.859

0.005

0.999

0.024

4033.240

-0.003

-0.024

1.000

590.926

0

0

0

1

For this setup, the value 590.926 is expected to be approximately 130 mm, and the value 4033.240 is expected to be roughly 90 mm (the expected values depend on your camera-to-calibration-object geometry). At this stage we ignore the sign (+/-), because it depends on the coordinate-system definitions; we focus only on the distances.

../../_images/eye_in_hand_approximate_hand_eye_matrix.png

이동 잔차 또한 예상보다 상당히 큰데, 대략 한 자릿수 정도 더 높습니다.

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

7

0.033

0.108

2.623

5.001

For smaller robots, we expect the residuals to be in the sub-millimeter range, while for larger robots, the residuals can be in the millimeter range. As for the rotational component of the residuals, we expect them to be in the sub-degree range.

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.031

1.189

2

0.020

4.366

3

0.108

5.001

4

0.022

1.581

5

0.028

0.765

6

0.018

1.977

7

0.007

3.482

Verification by Projection technically succeeds, but the resulting error is still too large to be acceptable. Treat projection verification critically, because the projection error can seem acceptable even if the hand-eye calibration is incorrect.

../../_images/projection_verification_poor_only_translations.png

이러한 결과는 핸드-아이 캘리브레이션이 정확하지 않으며, 터치 테스트를 시도할 경우 실패할 가능성이 높다는 것을 강력하게 시사합니다.

잠재적 원인

데이터 세트에 포함된 로봇 자세 간에는 이동 운동만 이루어졌습니다.

이는 핸드-아이 캘리브레이션에 충분하지 않습니다. 솔버는 로봇에 대한 카메라의 상대적인 방향을 고유하게 결정하기 위해 회전 운동을 필요로 하기 때문입니다. 회전 운동이 없으면 문제는 제약 조건이 부족해져 불안정하거나 잘못된 핸드-아이 캘리브레이션 결과, 큰 잔차, 프로젝션 검증 실패, 안전하지 않은 터치 테스트로 이어집니다.

잠재적 해결책

  1. 데이터 세트에는 로봇 자세 간의 이동 운동과 회전 운동이 모두 포함되어야 합니다.

    참고: 핸드-아이 캘리브레이션을 위한 좋은 데이터셋을 얻는 방법 확인하세요.

  2. (수정된 데이터셋을 사용하여) 핸드-아이 캘리브레이션을 다시 실행하세요.

  3. 핸드-아이 캘리브레이션 결과 (변환, 잔차, 프로젝션)를 확인합니다.

  4. (핸드-아이 캘리브레이션 결과가 양호한 경우) 터치 테스트를 실행합니다.

../../_images/touching-test-result-aruco.jpg
문제 재현 (데이터셋 내 번역 부분만 해당)

좋은 데이터셋

아래 이미지에 표시된 데이터 세트를 사용하여 핸드-아이 캘리브레이션이 성공적으로 수행되었습니다.

../../_images/hand-eye-calibration-translations-and-rotations-dataset.png

보정 결과는 다음과 같습니다.

핸드-아이 변환 매트릭스

0.9991385

-0.00262377

0.04141687

-55.73573

0.001416378

0.9995739

0.02915465

-91.3017

-0.04147572

-0.02907087

0.9987165

129.1951

0

0

0

1

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

14

0.028

0.068

0.133

0.278

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.030

0.149

2

0.039

0.278

3

0.021

0.065

4

0.037

0.138

5

0.013

0.272

6

0.014

0.079

7

0.018

0.133

8

0.013

0.075

9

0.038

0.088

10

0.015

0.061

11

0.026

0.179

12

0.036

0.065

13

0.068

0.209

14

0.023

0.066

핸드-아이 캘리브레이션은 터치 테스트를 통해 검증되었습니다.

../../_images/touch_test_correct.png

터치 테스트가 성공적으로 완료되어 핸드-아이 캘리브레이션이 정확하고 정밀하게 조정되었음을 확인했습니다.

잘못된 데이터셋 (회전은 없고 이동만 있는 데이터셋)

아래 이미지에 표시된 데이터셋을 사용하여 핸드-아이 캘리브레이션을 수행했습니다. 이 데이터셋에는 회전 데이터는 없고 이동 데이터만 포함되어 있습니다.

../../_images/hand-eye-calibration-only-translations-dataset.png

보정 결과는 다음과 같습니다.

핸드-아이 변환 매트릭스

0.999

-0.005

0.003

6041.859

0.005

0.999

0.024

4033.240

-0.003

-0.024

1.000

590.926

0

0

0

1

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

7

0.033

0.108

2.623

5.001

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.031

1.189

2

0.020

4.366

3

0.108

5.001

4

0.022

1.581

5

0.028

0.765

6

0.018

1.977

7

0.007

3.482

Verification by Projection technically succeeded, but the resulting error was still too large to be acceptable. Treat projection verification critically, because the projection error can seem acceptable even if the hand-eye calibration is incorrect.

../../_images/projection_verification_poor_only_translations.png

이러한 결과는 핸드-아이 캘리브레이션이 정확하지 않으며, 터치 테스트를 시도할 경우 실패할 가능성이 높다는 것을 강력하게 시사합니다.

비교

아래 표에서는 핸드-아이 변환 행렬(변환 값)과 핸드-아이 캘리브레이션 보정 잔차 결과를 비교합니다.

핸드-아이 캘리브레이션 행렬의 변환 값

데이터셋

X (mm)

Y(mm)

Z(mm)

좋은

-55.73573

-91.3017

129.1951

(이동만) 형편없음

6041.859

4033.240

590.926

Δ (좋음 - 나쁨)

-6097.595

-4124.542

-461.731

잔차

데이터셋

N

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

좋은

14

0.028

0.068

0.133

0.278

(이동만) 형편없음

7

0.033

0.108

2.623

5.001