불량한 핸드-아이 캘리브레이션 결과 (캘리브레이션판이 헐거워지거나, 처지거나, 진동하는 경우)

문제

핸드-아이 캘리브레이션 결과가 만족스럽지 못합니다 (나쁘거나 미흡함). 결과는 다음과 같은 조합들 사이의 어딘가에 있는 것처럼 보입니다.

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

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

프로젝션 검증

터치 테스트

합리적임

나쁨

나쁨

나쁨

합리적임

보통

불량함

나쁨

핸드-아이 캘리브레이션 결과가 미흡한 예시

핸드-아이 캘리브레이션 행렬은 합리적이며 대략적인 수동 측정에서 예상되는 결과와 일치합니다 (아래 표 및 이미지 참조).

핸드-아이 캘리브레이션 행렬

0.01

1.00

0.02

-23.06

1.00

-0.01

0.06

440.37

0.06

0.02

-1.00

1969.85

0.00

0.00

0.00

1.00

../../_images/eye_to_hand_approximate_hand_eye_matrix.png

보정 잔차가 예상보다 약간 큽니다.

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

16

0.24

0.79

0.68

1.48

소형 로봇의 경우 잔차가 1mm 미만 범위에 있을 것으로 예상되며, 대형 로봇의 경우 잔차가 1mm 범위에 있을 수 있습니다. 잔차의 회전 성분은 1도 미만 범위에 있을 것으로 예상됩니다.

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.04

0.78

2

0.74

1.46

3

0.17

0.72

4

0.10

0.72

5

0.15

0.51

6

0.12

0.51

7

0.22

0.60

8

0.11

0.26

9

0.12

0.26

10

0.16

0.54

11

0.27

0.91

12

0.14

0.73

13

0.20

0.58

14

0.79

1.48

15

0.21

0.44

16

0.30

0.34

프로젝션 검증은 기술적으로는 성공적이지만, 결과적인 오차가 여전히 허용 가능한 수준을 넘어섰습니다. 프로젝션 검증은 매우 신중하게 접근해야 하는데, 핸드-아이 캘리브레이션이 잘못되었더라도 프로젝션 오차가 허용 가능한 것처럼 보일 수 있기 때문입니다.

../../_images/projection_verification_poor_eth.jpg

터치 테스트 결과가 만족스럽지 않습니다. 예를 들어, 터치 테스트 도구의 끝부분이 ArUco 마커에 닿지 않습니다.

잠재적 원인

높은 잔차의 일반적인 원인 중 하나는 로봇 플랜지와 캘리브레이션 보드를 연결하는 온암 마운팅 구조 또는 캘리브레이션 보드 자체의 휨이나 움직임입니다. 이로 인해 카메라 촬영 중에도 캘리브레이션 보드가 진동하거나, 여러 장의 카메라 촬영에서 보드가 미세하게 어긋날 수 있습니다. 이러한 두 가지 요인 모두 핸드-아이 캘리브레이션 결과의 정확도에 직접적인 영향을 미칩니다.

다음과 같은 경우에 발생할 수 있습니다.

  • 로봇 가속도가 너무 높습니다.

  • 보정판의 진동이 안정될 시간을 주기에는 캡처 전 지연 시간이 너무 짧습니다.

  • 캘리브레이션판을 고정하는 브래킷이 3D 프린팅되었거나, 얇거나, 또는 강성이 충분하지 않습니다.

  • 나사나 고정 장치가 제대로 조여지지 않았습니다.

  • 로봇의 방향이 바뀌면 마운트가 처지거나 휘어지거나 위치가 어긋납니다.

데이터셋 수집 중 발생하는 기계적 움직임은 보정 보드의 자세를 미세하게 다르게 만들어 잔차를 직접적으로 증가시킵니다.

잠재적 해결책

  1. 데이터셋 수집 중 캘리브레이션판이 완전히 고정되어 있는지 확인하십시오.

    • 데이터셋 수집 중에는 로봇 가속도를 낮게 유지하십시오.

    • 로봇이 목표 자세에 도달한 후 캡처하기 전에 충분한 지연 시간을 추가하세요.

  2. 로봇 플랜지와 캘리브레이션 보드 사이의 장착 인터페이스가 완전히 견고한지 확인하십시오.

    • 견고한 금속 브래킷이나 강성이 높은 다른 재료를 사용하십시오.

    • 3D 프린팅으로 제작된 얇거나 긴 캔틸레버 구조는 피하십시오.

    • 모든 나사, 어댑터 및 연장판이 완전히 조여졌는지 확인하십시오.

    • 필요한 경우 레버 암을 짧게 하거나 마운트를 보강하십시오.

  3. 동일한 데이터셋을 사용하여 핸드-아이 캘리브레이션을 반복합니다.

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

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

문제 재현 (진동 캘리브레이션판)

좋은 데이터셋

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

../../_images/hand-eye-calibration-eth-good-dataset.png

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

핸드-아이 캘리브레이션 행렬

0.01

1.00

0.02

-24.28

1.00

-0.01

0.06

442.41

0.06

0.02

-1.00

1969.45

0.00

0.00

0.00

1.00

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

16

0.06

0.11

0.34

0.65

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.03

0.56

2

0.06

0.65

3

0.11

0.34

4

0.06

0.08

5

0.05

0.64

6

0.03

0.06

7

0.07

0.36

8

0.06

0.18

9

0.07

0.14

10

0.04

0.19

11

0.05

0.29

12

0.09

0.34

13

0.06

0.21

14

0.07

0.33

15

0.06

0.46

16

0.06

0.62

프로젝션을 통한 검증이 성공적이었습니다.

../../_images/projection_verification_good_eth.jpg

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

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

불량 데이터셋 (진동하는 캘리브레이션판)

핸드-아이 캘리브레이션에도 동일한 데이터셋을 사용했습니다. 다만, 데이터셋 획득 과정에서 진동하는 캘리브레이션 보드를 모사하기 위해 로봇의 가속도를 의도적으로 증가시켰습니다. 또한, 로봇이 목표 자세에 도달한 후 캡처하기까지의 지연 시간을 의도적으로 단축하여 진동하는 캘리브레이션 보드의 효과를 더욱 유사하게 만들었습니다.

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

핸드-아이 캘리브레이션 행렬

0.01

1.00

0.02

-23.06

1.00

-0.01

0.06

440.37

0.06

0.02

-1.00

1969.85

0.00

0.00

0.00

1.00

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

16

0.24

0.79

0.68

1.48

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.04

0.78

2

0.74

1.46

3

0.17

0.72

4

0.10

0.72

5

0.15

0.51

6

0.12

0.51

7

0.22

0.60

8

0.11

0.26

9

0.12

0.26

10

0.16

0.54

11

0.27

0.91

12

0.14

0.73

13

0.20

0.58

14

0.79

1.48

15

0.21

0.44

16

0.30

0.34

프로젝션 검증은 기술적으로는 성공했지만, 결과적인 오차가 허용 가능한 수준을 넘어 너무 컸습니다. 프로젝션 검증은 매우 신중하게 접근해야 하는데, 핸드-아이 캘리브레이션이 잘못되었더라도 프로젝션 오차가 허용 가능한 것처럼 보일 수 있기 때문입니다.

../../_images/projection_verification_poor_eth.jpg

터치 테스트 도구의 끝부분이 ArUco 마커에 닿지 않아 터치 테스트 결과가 만족스럽지 못했습니다.

비교

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

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

데이터셋

X (mm)

Y(mm)

Z(mm)

좋음 (여전히)

-24.28

442.41

1969.45

나쁨 (진동)

-23.06

440.37

1969.85

Δ (좋음 - 나쁨)

-1.22

2.04

-0.40

잔차

데이터셋

N

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

좋음 (여전히)

16

0.06

0.11

0.34

0.65

나쁨 (진동)

16

0.24

0.79

0.68

1.48