핸드-아이 캘리브레이션 불량(잘못된 핸드-아이 설정)으로 인해 터치 테스트를 수행할 수 없습니다.
문제
The hand-eye calibration results are bad, and it is unsafe to perform the touch test.
핸드-아이 캘리브레이션 변환 |
핸드-아이 캘리브레이션 잔차 |
프로젝션 검증 |
터치 테스트 |
|---|---|---|---|
나쁜 |
나쁜 |
나쁜 |
안전하지 않은 |
If hand-eye calibration was run with the wrong configuration (Eye-to-Hand vs. Eye-in-Hand) for your physical setup, run it with the correct configuration (see Potential Solution below).
잘못된 핸드-아이 캘리브레이션 결과의 예
The Hand-Eye Transformation Matrix does not look correct because several of its values differ more than expected from the physical measurements. The differences are not extremely large, but they are beyond what is reasonable for this setup.
0.626 |
0.780 |
0.008 |
116.163 |
-0.672 |
0.545 |
-0.502 |
1183.242 |
-0.396 |
0.309 |
0.865 |
-286.632 |
0.000 |
0.000 |
0.000 |
1.000 |
For this setup, the value -286.632 is expected to be approximately 130 mm, and the value 1183.24 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.
보정 잔차 또한 예상보다 상당히 큰데, 대략 한 자릿수 정도 더 높습니다.
N (포즈) |
회전 평균 (°) |
최대 회전각(°) |
이동 평균(mm) |
최대 이동 거리(mm) |
|---|---|---|---|---|
14 |
7.847 |
22.552 |
26.112 |
74.373 |
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.690 |
6.318 |
2 |
9.634 |
18.759 |
3 |
12.329 |
18.773 |
4 |
6.403 |
17.827 |
5 |
6.900 |
44.173 |
6 |
0.662 |
3.098 |
7 |
7.149 |
17.514 |
8 |
8.731 |
28.463 |
9 |
22.552 |
55.483 |
10 |
12.946 |
24.909 |
11 |
0.666 |
9.978 |
12 |
9.530 |
17.392 |
13 |
7.362 |
74.373 |
14 |
4.309 |
28.505 |
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.
이러한 결과는 핸드-아이 캘리브레이션이 정확하지 않으며, 터치 테스트를 시도할 경우 실패할 가능성이 높다는 것을 강력하게 시사합니다.
잠재적인 원인
핸드-아이 보정은 잘못된 핸드-아이 구성 (Eye-in-Hand 또는 Eye-to-Hand) 으로 수행되었으며, 이는 솔버에 물리적 설정에 대한 잘못된 정보가 제공되었음을 의미합니다.
As a result, you can see high residuals, poor projection accuracy, and a hand-eye transformation matrix whose distances differ from real geometry. In severe cases, the resulting transform can make touch test validation unsafe due to risk of collision.
잠재적인 해결책
실제 설치 환경에 맞는 올바른 핸드-아이 설정으로 핸드-아이 보정을 실행하십시오.
Eye-to-Hand 방식: 카메라가 환경에 고정되어 있고 로봇이 보정 대상물을 움직입니다(즉, Object-in-Hand 또는 Stationary/Static Camera).
Eye-in-Hand 방식: 카메라가 로봇에 장착되고 보정 보드는 주변 환경에 고정됩니다(예: Object-to-Hand 또는 On-Arm/Moving Camera).
동일한 데이터셋을 사용하여 핸드-아이 캘리브레이션을 반복합니다.
핸드-아이 캘리브레이션 결과 (변환, 잔차, 프로젝션) 를 확인합니다.
(핸드-아이 캘리브레이션 결과가 양호한 경우) 터치 테스트를 실행합니다.
문제 재현 방법 (잘못된 핸드-아이 캘리브레이션 설정)
좋은 데이터셋
아래 이미지에 표시된 데이터 세트를 사용하여 핸드-아이 캘리브레이션이 성공적으로 수행되었습니다.
The calibration resulted in the following results:
0.999 |
-0.004 |
0.043 |
-55.936 |
0.003 |
0.999 |
0.013 |
-91.919 |
-0.043 |
-0.013 |
0.998 |
128.086 |
0 |
0 |
0 |
1 |
N (포즈) |
회전 평균 (°) |
최대 회전각(°) |
이동 평균(mm) |
최대 이동 거리(mm) |
|---|---|---|---|---|
14 |
0.022 |
0.034 |
0.180 |
0.338 |
전체 잔차
포즈 |
회전 (°) |
이동 (mm) |
|---|---|---|
1 |
0.017 |
0.163 |
2 |
0.008 |
0.135 |
3 |
0.028 |
0.172 |
4 |
0.009 |
0.053 |
5 |
0.031 |
0.236 |
6 |
0.006 |
0.060 |
7 |
0.009 |
0.154 |
8 |
0.015 |
0.102 |
9 |
0.031 |
0.147 |
10 |
0.009 |
0.145 |
11 |
0.030 |
0.249 |
12 |
0.023 |
0.152 |
13 |
0.034 |
0.255 |
14 |
0.031 |
0.169 |
The Hand-Eye calibration was verified with a touch test.
터치 테스트가 성공적으로 완료되어 핸드-아이 캘리브레이션이 정확하고 정밀하게 조정되었음을 확인했습니다.
데이터셋 불량 (보정판이 고의로 이동됨)
문제를 시뮬레이션하기 위해 잘못된 핸드-아이 구성 (Eye-in-Hand 대신 Eye-to-Hand) 으로 핸드-아이 캘리브레이션을 수행했습니다. 캘리브레이션 결과는 다음과 같습니다.
0.626 |
0.780 |
0.008 |
116.163 |
-0.672 |
0.545 |
-0.502 |
1183.242 |
-0.396 |
0.309 |
0.865 |
-286.632 |
0.000 |
0.000 |
0.000 |
1.000 |
N (포즈) |
회전 평균 (°) |
최대 회전각(°) |
이동 평균(mm) |
최대 이동 거리(mm) |
|---|---|---|---|---|
14 |
7.847 |
22.552 |
26.112 |
74.373 |
전체 잔차
포즈 |
회전 (°) |
이동 (mm) |
|---|---|---|
1 |
0.690 |
6.318 |
2 |
9.634 |
18.759 |
3 |
12.329 |
18.773 |
4 |
6.403 |
17.827 |
5 |
6.900 |
44.173 |
6 |
0.662 |
3.098 |
7 |
7.149 |
17.514 |
8 |
8.731 |
28.463 |
9 |
22.552 |
55.483 |
10 |
12.946 |
24.909 |
11 |
0.666 |
9.978 |
12 |
9.530 |
17.392 |
13 |
7.362 |
74.373 |
14 |
4.309 |
28.505 |
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.
이러한 결과는 핸드-아이 캘리브레이션이 정확하지 않으며, 터치 테스트를 시도할 경우 실패할 가능성이 높다는 것을 강력하게 시사하므로 안전상의 이유로 터치 테스트는 생략되었습니다.
비교
아래 표에서는 핸드-아이 캘리브레이션 변환 행렬(변환 값)과 핸드-아이 캘리브레이션 보정 잔차 결과를 비교합니다.
데이터셋 |
X (mm) |
Y(mm) |
Z(mm) |
|---|---|---|---|
좋음 |
-55.936 |
-91.919 |
128.086 |
잘못됨 (잘못된 핸드-아이 캘리브레이션 설정) |
116.163 |
1183.242 |
-286.632 |
Δ (좋음 - 나쁨) |
-172.099 |
-1275.161 |
414.718 |
데이터셋 |
N |
회전 평균 (°) |
최대 회전각(°) |
이동 평균(mm) |
최대 이동 거리(mm) |
|---|---|---|---|---|---|
좋음 |
14 |
0.022 |
0.034 |
0.180 |
0.338 |
잘못됨 (잘못된 핸드-아이 캘리브레이션 설정) |
14 |
7.847 |
22.552 |
26.112 |
74.373 |