Hand-Eye Calibration Problem

이 튜토리얼은 핸드-아이 칼리브레이션이 해결하는 문제에 대해 설명하고 핸드-아이 칼리브레이션에 필요한 로봇 포즈와 좌표계를 소개하는 것을 목표로 합니다. 이런 문제들은 Eye-to-hand 시스템과 Eye-in-hand 시스템에서 모두 동일합니다. 따라서 먼저 Eye-to-hand의 구성에 대한 자세한 설명을 제공합니다. 그런 다음 Eye-in-hand 구성의 차이점을 설명합니다. (로봇) 포즈와 좌표계에 익숙하지 않다면 다음을 확인하십시오. Position, Orientation and Coordinate Transformations.

Eye-to-hand

로봇은 어떻게 물건을 집을 수 있습니까?

카메라가 없는 로봇부터 시작해 봅시다. 두 가지 주요 좌표계는 다음과 같습니다.

  1. 로봇 베이스 좌표계

  2. 엔드 이펙터 좌표계

../../../_images/hand-eye-robot-ee-robot-base-coordinate-systems.png

물체를 선택할 수 있으려면 로봇 컨트롤러가 로봇 베이스 프레임을 기준으로 물체의 자세(위치 및 방향)를 알아야 합니다. 또한 로봇의 형상에 대한 지식도 필요합니다. 이 결합된 정보는 물체를 향해 엔드 이펙터/그리퍼를 움직일 때 로봇 관절 각도를 계산하기 위해 활용됩니다.

../../../_images/hand-eye-robot-robot-to-object.png

이제 로봇에 대한 객체의 자세를 알 수 없다고 가정해 보겠습니다. Zivid 3D 비전이 적용되는 부분입니다.

../../../_images/hand-eye-robot-robot-to-object-with-camera.png

Zivid 포인트 클라우드는 Zivid 카메라의 좌표계를 기준으로 지정됩니다. 이 좌표계의 원점은 Zivid 이미저 렌즈(내부 2D 카메라)의 중앙에 고정됩니다. 머신 비전 소프트웨어는 이 데이터 포인트 모음에서 감지 및 위치 파악 알고리즘을 실행할 수 있습니다. Zivid 카메라의 좌표계( \(H^{CAM}_{OBJ}\) )에서 물체의 자세를 결정할 수 있습니다.

../../../_images/hand-eye-full-circle-system.png

Zivid 카메라는 카메라의 시야(Field of View)에서 개체를 볼 수 있지만 자체 좌표계를 기준으로 합니다. 로봇이 물체를 선택할 수 있게 하려면 물체의 좌표를 카메라 좌표계에서 로봇 베이스 좌표계로 변환해야 합니다.

../../../_images/hand-eye-robot-robot-to-object-and-camera-to-object.png

이를 가능하게 하는 좌표 변환은 핸드-아이 칼리브레이션의 결과입니다. Eye-to-hand 시스템의 경우 핸드-아이 칼리브레이션으로 얻게되는 것은 로봇 베이스( \(H^{ROB}_{CAM}\) )에 상대적인 카메라의 포즈입니다.

포즈 서클이 닫히면 포즈 서클 안의 다른 포즈로부터 하나의 포즈를 계산할 수 있습니다. 이 경우 로봇을 기준으로 한 물체의 포즈입니다. 이것은 로봇에 상대적인 카메라의 포즈와 카메라를 기준으로 한 물체의 포즈를 후 곱하면 알 수 있습니다.:

\[H^{ROB}_{OBJ}=H^{ROB}_{CAM} \cdot H^{CAM}_{OBJ}\]
../../../_images/hand-eye-eye-to-hand-all-poses.png

Eye-in-hand

로봇은 어떻게 물건을 집을 수 있습니까?

목표는 Eye-in-hand 구성과 동일합니다. 로봇이 물체를 고르기 위해서는 물체의 자세가 카메라의 좌표계에서 로봇의 좌표계로 변환되어야 합니다.

../../../_images/hand-eye-robot-ee-robot-base-coordinate-systems-with-camera.png

이 경우 변환은 간접적으로 수행됩니다.:

\[H^{ROB}_{OBJ}=H^{ROB}_{EE} \cdot H^{EE}_{CAM} \cdot H^{CAM}_{OBJ}\]

로봇 베이스에 대한 엔드 이펙터의 포즈(\(H^{ROB}_{EE}\))는 알려져 있으며 로봇 컨트롤러에서 제공합니다. 엔드 이펙터에 대한 카메라의 포즈(\(H^{EE}_{CAM}\))는 이 경우 상수이며 핸드-아이 칼리브레이션을 통해 알 수 있습니다.

../../../_images/hand-eye-eye-in-hand-all-poses.png

핸드-아이 칼리브레이션 문제를 정의했으므로 이제 핸드-아이 칼리브레이션 방법에 대해 알아보겠습니다. Hand-Eye Calibration Solution.