핸드-아이 캘리브레이션 결과 불량 (로봇 영점 조정/마스터링 불량)

문제

핸드-아이 캘리브레이션 결과가 좋지 않으며, 다음과 같은 조합 중 하나와 유사한 양상을 보입니다.

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

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

프로젝션 검증

터치 테스트

합리적인

보통

불량함

나쁜

합리적인

좋은

불량함

나쁜

잘못된 손-눈 캘리브레이션 결과의 예

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

핸드-아이 변환 매트릭스

0.999

-0.005

0.040

-49.956

0.003

0.999

0.037

-95.704

-0.040

-0.037

0.998

132.236

0

0

0

1

../../_images/eye_in_hand_approximate_hand_eye_matrix.png

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

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

13

0.083

0.213

0.438

1.205

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

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.030

0.092

2

0.033

0.382

3

0.045

0.201

4

0.140

0.565

5

0.212

1.205

6

0.032

0.273

7

0.146

0.356

8

0.178

0.338

9

0.57

0.491

10

0.029

0.471

11

0.061

0.290

12

0.043

0.234

13

0.073

0.794

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

../../_images/projection_verification_poor.png

터치 테스트 결과가 만족스럽지 않습니다. 예를 들어, 터치 테스트 팁이 ArUco 마커를 맞추지 못했습니다.

잠재적 원인

로봇의 영점 조정(관절 영점 위치의 마스터링 또는 보정)이 올바르지 않습니다.

모든 산업용 로봇에는 관절에 엔코더가 장착되어 있습니다. 전원 공급이 중단되거나, 엔코더 배터리가 방전되거나, 분해되면 로봇은 엔코더를 통해 저장된 절대 위치 정보를 잊어버립니다. 따라서 컨트롤러는 관절의 원점 위치를 정확히 다시 학습해야 합니다.

일반적으로 언제 로봇을 다시 마스터해야 하나요?

  • 충돌 후

  • 로봇이 마스터링 필요, 조인트 참조 안 됨 또는 이와 유사한 메시지를 표시합니다.

  • 로봇이 부정확하게 움직입니다 (TCP 드리프트).

  • 인코더 배터리가 방전되어 관절 위치 정보가 손실되었습니다.

  • 관절, 모터 또는 기어를 교체한 후

  • 베이스 플랜지 또는 툴 플랜지를 교체한 후

잠재적 해결책

  1. 로봇의 원점 설정 (관절 원점 위치의 마스터링 또는 보정) 이 정확한지 확인하십시오. 로봇이 원점 자세 (모든 관절이 원점으로 설정된 상태) 에 있을 때, 로봇의 링크와 관절에 표시된 물리적 위치가 일치해야 합니다.

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

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

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

../../_images/touching-test-result-aruco.jpg
문제 재현 방법 (로봇 영점 조정/마스터링 오류)

이 섹션에서 다루는 모든 핸드-아이 캘리브레이션은 아래 이미지에 표시된 데이터 세트를 사용하여 수행되었습니다.

../../_images/hand-eye-calibration-small-movements-dataset-only-13.png

좋은 데이터셋 (로봇 영점 조정됨)

이 핸드-아이 캘리브레이션은 영점 조정/마스터링이 완료된 로봇을 사용하여 수행되었습니다. 캘리브레이션 결과는 다음과 같습니다.

핸드-아이 변환 매트릭스

0.999

-0.004

0.043

-55.558

0.003

1.000

0.013

-91.637

-0.043

-0.013

0.999

128.629

0

0

0

1

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

13

0.020

0.031

0.143

0.221

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.025

0.069

2

0.012

0.221

3

0.017

0.140

4

0.024

0.207

5

0.025

0.188

6

0.007

0.123

7

0.008

0.134

8

0.019

0.044

9

0.027

0.116

10

0.012

0.116

11

0.025

0.156

12

0.027

0.179

13

0.031

0.160

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

../../_images/projection_verification_good.png

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

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

데이터셋 오류 (로봇 영점 조정 필요)

로봇의 잘못된 영점 조정/마스터링을 시뮬레이션하기 위해 다음과 같은 관절의 각도 오프셋을 수정했습니다.

  • J2 = J2 + 0.5°

  • J3 = J3 + 0.5°

  • J4 = J4 - 0.5°

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

핸드-아이 변환 매트릭스

0.999

-0.005

0.040

-49.956

0.003

0.999

0.037

-95.704

-0.040

-0.037

0.998

132.236

0

0

0

1

잔차

N (포즈)

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

13

0.083

0.213

0.438

1.205

전체 잔차
잔차

포즈

회전 (°)

이동 (mm)

1

0.030

0.092

2

0.033

0.382

3

0.045

0.201

4

0.140

0.565

5

0.212

1.205

6

0.032

0.273

7

0.146

0.356

8

0.178

0.338

9

0.57

0.491

10

0.029

0.471

11

0.061

0.290

12

0.043

0.234

13

0.073

0.794

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

../../_images/projection_verification_poor.png

터치 테스트 결과가 만족스럽지 못했습니다. 터치 테스트 팁이 ArUco 마커를 제대로 맞추지 못했기 때문입니다.

비교

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

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

데이터셋

X (mm)

Y (mm)

Z (mm)

좋은 영점 조정

-55.558

-91.637

128.629

잘못된 영점 조정

-49.956

-95.704

132.236

Δ (좋음 - 나쁨)

-5.602

3.933

-3.607

잔차

데이터셋

N

회전 평균 (°)

최대 회전각(°)

이동 평균(mm)

최대 이동 거리(mm)

좋은 영점 조정

13

0.020

0.031

0.143

0.221

잘못된 영점 조정

13

0.083

0.213

0.438

1.205