Hand-Eye GUI

Introduction

이 가이드에서는 Python 샘플과 RoboDK를 사용하여 설정부터 보정 및 검증까지 Zivid Hand-Eye GUI를 안내합니다.

Hand-Eye system configurations

Prerequisites and Setup

Hardware setup:

  • Zivid camera connected to the PC

  • Zivid Calibration Object

  • [선택 사항] RoboDK 로봇 라이브러리의 디지털 트윈을 갖춘 로봇

  • [선택 사항] PC에 연결된 로봇

Initialization

  1. 카메라 선택: 연결된 카메라 중 하나를 선택하세요. 펌웨어 업그레이드가 필요한 경우 다음 단계에서 안내가 표시됩니다.

Hand-Eye GUI camera choice window

2. Select a camera setting: Choose the settings that will be used for the Hand-Eye calibration. We recommend using the same settings as your final application.

Hand-Eye GUI preset choice window

미리 정의된 YAML 설정 파일을 로드하려면 “Do Not Use” 을 클릭하세요. 그러면 파일 브라우저가 열리고 YAML 파일을 직접 선택할 수 있습니다. 파일 로드를 거부하면 Vision EngineSampling (3D) 선택하라는 메시지가 표시됩니다.

Hand-Eye GUI preset choice window

일반적으로 사용하는 동안 GUI에서 나중에 설정 파일을 로드할 수도 있습니다.

3. Select the setup type: Choose the Hand-Eye calibration type based on your system configurations and the Calibration Object you will use.

Hand-Eye GUI - hand eye settings window
  1. 회전 표현 형식 선택: 로봇에 맞는 회전 형식과 단위를 선택하세요. 목록에서 로봇을 선택하거나 설정을 직접 구성할 수 있습니다. 아래 표에는 널리 사용되는 로봇이 포함되어 있지만 모든 형식이 지원됩니다.

    포즈 표현과 포즈 표현 간 변환 방법에 대한 자세한 내용은 다음을 참조하세요: Pose Conversions

Hand-Eye GUI robot choice window

참고

RoboDK가 구성되지 않았거나 로봇이 연결되지 않은 경우에도 GUI를 사용할 수 있습니다. 단, 이 경우 카메라 관련 기능만 사용할 수 있습니다. 로봇 연결이 필요한 기능은 로봇이 제대로 구성되고 연결될 때까지 비활성화됩니다.

초기화 과정 후 GUI에서 기능(예: WARMUP)을 선택할 때마다 오른쪽 상단에 단계별 체크리스트가 나타납니다. 이 체크리스트는 작업을 완료하기 위한 정확한 작업 순서를 설명하며, 순서대로 따라야 합니다.

Warmup

최적의 정확도를 위해 보정하기 전에 카메라가 예열되었는지 확인하세요.

Hand-Eye GUI warmup window

자세한 내용은 Camera warmup guide 를 참조하세요.

Infield Correction

최상의 결과를 얻으려면 핸드-아이이 교정을 하기 전에 Infield Correction을 적용하세요.

Hand-Eye GUI Infield Correction window

자세한 내용은 Infield Correction 을 참조하세요.

Calibration

튜토리얼 섹션(오른쪽 상단)의 지침에 따라 GUI를 사용하여 핸드-아이 보정 절차를 실행합니다.

Hand-Eye GUI - Hand Eye calibration window

자세한 내용은 Hand-Eye Calibration Process 을을 참조하세요.

Verification

Hand-Eye 보정을 수행한 후에는 카메라와 로봇 좌표계 간 변환의 정확성을 검증하는 것이 필수적입니다. GUI는 보정의 정확성과 신뢰성을 보장하기 위해 여러 가지 보완적인 방법을 제공합니다.

Verification by Touch Test

이 방법은 엔드 이펙터 도구의 물리적 치수(툴 팁 오프셋 포함)를 지정하는 것을 포함합니다. Zivid 카메라가 장면을 촬영하고 ArUco 마커(알려진 유형 및 사전 포함)가 감지됩니다. 카메라 프레임에서 마커의 3D 자세가 추정되고, Hand-Eye 보정을 사용하여 로봇 베이스 프레임으로 변환됩니다. 그런 다음 로봇은 엔드 이펙터로 마커의 중심에 물리적으로 접촉합니다.

도구 사양 및 자세한 테스트 지침은 다음을 참조하세요: Touch test procedure.

Hand-Eye GUI verification by touch test

아래 이미지에서는 터치 테스트를 통한 검증에서 예상되는 결과를 볼 수 있습니다.

Verification by Projection

카메라는 Zivid 캘리브레이션 보드의 알려진 체커보드 모서리에 녹색 원을 투사합니다.

  1. 테스트는 로봇 좌표계에서 캘리브레이션 객체의 위치를 시스템에 알려주는 방식으로 초기화됩니다. 이는 로봇의 알려진 자세와 핸드-아이 변환 행렬을 사용하여 초기 캡처를 통해 수행됩니다.

  2. 각 연속적인 로봇 포즈에 대해 카메라 좌표계에서 캘리브레이션 보드의 위치가 계산됩니다. 이는 다음을 사용하여 계산됩니다.

    • robot pose

    • 로봇 좌표계에서 교정 대상의 알려진 위치

    • Hand-Eye transformation matrix

  3. 계산된 캘리브레이션 대상의 위치는 프로젝터 이미지 평면에 투영되고, 이후 프로젝터를 사용하여 다시 물리적 장면으로 투영됩니다.

투영 과정에 대한 자세한 내용은 2D Image Projection 을을 참조하세요.

Hand-Eye GUI verification by projection

아래 이미지에서는 투영 검증에서 예상되는 결과를 볼 수 있습니다.

Verification by Stitching

각 로봇 포즈에 대해 Zivid 카메라로 3D 포인트 클라우드를 캡처하고 Hand-Eye 변환 행렬을 사용하여 로봇 기본 프레임으로 변환합니다. 이 과정을 여러 포즈에 걸쳐 반복하고 변환된 클라우드를 하나의 공통 프레임으로 병합하면 스티칭된 장면이 생성됩니다. 정확한 보정은 체커가 정확하게 정렬된 깨끗한 재구성을 제공하는 반면, 보정이 부족하면 체커 간 오프셋이나 정렬 불량과 같은 아티팩트가 발생합니다.

Hand-Eye GUI verification by stitching