Hand-Eye Calibration Solution
이 튜토리얼의 이전 부분에서는 핸드-아이 칼리브레이션이 해결해야 하는 문제를 제시했습니다. 이 자습서에서는 솔루션에 대한 배경 아이디어를 설명합니다. 핵심 아이디어는 Eye-to-hand 시스템과 Eye-in-hand 시스템에서 동일합니다. 따라서 우리는 먼저 Eye-to-hand의 구성에 대한 자세한 솔루션을 제공합니다. 그런 다음 Eye-in-hand의 구성과의 차이점을 설명합니다.
참고
핸드-아이 칼리브레이션을 수행하기 위해 도구가 필요하지 않고 도구의 자세(연결된 경우)를 알 필요가 없습니다. 도구 중심점(TCP) 값은 핸드-아이 칼리브레이션 결과에 영향을 미치지 않습니다. 이 문서 및 이후 자습서에서 엔드 이펙터는 도구 플랜지/엔드 링크를 나타냅니다.
Eye-to-hand
Eye-to-hand 칼리브레이션을 하는 방법은 무엇일까요?
The first step is choosing a calibration object, e.g. a checkerboard. Zivid calibration objects (checkerboards and ArUco markers) will be covered in the next part of this tutorial. |
|
칼리브레이션 개체는 알려진 형상입니다. 따라서 카메라 이미지에서 감지할 수 있습니다. 또한 카메라를 기준으로 한 포즈(\(H^{CAM}_{OBJ}\)) 추정할 수 있다. |
|
카메라와 로봇 사이의 상대 포즈를 계산하려면(\(H^{ROB}_{CAM}\)), 어떻게든 포즈 사이의 원을 닫아야 합니다. |
|
로봇 베이스에 대한 엔드 이펙터의 자세(\(H^{ROB}_{EE}\))는 로봇 컨트롤러에서 제공하는 것으로도 알려져 있습니다. |
|
포즈 원을 닫을 누락된 포즈는 엔드 이펙터를 기준으로 한 칼리브레이션 대상의 포즈입니다. (\(H^{EE}_{OBJ}\)) |
|
이 포즈를 ‘제거’하거나 ‘고정’하기 위해 칼리브레이션 개체(체커보드)를 엔드 이펙터에 설치할 수 있습니다. |
|
이제 포즈 서클이 닫혔고 로봇에 대한 카메라의 포즈를 계산할 모든 것이 있는 것 같습니다(\(H^{ROB}_{CAM}\)). 그러나 그렇게 간단하지 않습니다. |
|
상대 포즈( \(H^{EE}_{OBJ}\) )를 ‘제거’ 하지 못했기 때문입니다. 그러나 우리는 그것을 일정하게 만들었습니다. 이제 \(H^{EE}_{OBJ}\) 로봇이 움직이는 동안 변경되지 않습니다. 이를 통해 로봇을 다양한 자세로 움직일 수 있습니다. 각각에 대해, \(H^{ROB}_{CAM}\) 을 나머지 두 변수와 알려진 포즈의 함수로 표현할 수 있습니다.:
이 방정식 세트를 사용하면 Tsai의 방법과 같은 최적화 기술을 활용하여 원하는 포즈 \(H^{ROB}_{CAM}\) 를 계산할 수 있습니다. |
Eye-in-hand
Eye-in-hand 칼리브레이션을 하는 방법은 무엇일까요?
핸드-아이 칼리브레이션 문제를 해결하는 방법을 설명했으므로 이제 칼리브레이션 대상 Calibration Object 에 대해 알아보겠습니다.