Hand-Eye Calibration Solution
이 튜토리얼의 이전 부분에서는 핸드-아이 칼리브레이션이 해결해야 하는 문제를 제시했습니다. 이 자습서에서는 솔루션에 대한 배경 아이디어를 설명합니다. 핵심 아이디어는 Eye-to-hand 시스템과 Eye-in-hand 시스템에서 동일합니다. 따라서 우리는 먼저 Eye-to-hand의 구성에 대한 자세한 솔루션을 제공합니다. 그런 다음 Eye-in-hand의 구성과의 차이점을 설명합니다.
참고
You don’t need an end-of-arm tooling, or to know its pose (if you have one attached) to do the hand-eye calibration. The Tool Center Point (TCP) value does not affect the hand-eye calibration result. In this article and later tutorials, the term end-effector refers to the tool flange (last link of the robot).
How to solve the hand-eye calibration?
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. |
|
The calibration object is of known geometry. Thus, it can be detected from the camera image. Further, its pose relative to the camera (\(H^{CAM}_{OBJ}\)) can be estimated. |
|
카메라와 로봇 사이의 상대 포즈를 계산하려면(\(H^{ROB}_{CAM}\)), 어떻게든 포즈 사이의 원을 닫아야 합니다. |
|
로봇 베이스에 대한 엔드 이펙터의 자세(\(H^{ROB}_{EE}\))는 로봇 컨트롤러에서 제공하는 것으로도 알려져 있습니다. |
|
포즈 원을 닫을 누락된 포즈는 엔드 이펙터를 기준으로 한 칼리브레이션 대상의 포즈입니다. (\(H^{EE}_{OBJ}\)) |
|
To get rid of this pose or fix it, we can mount the calibration object onto the end-effector. |
|
이제 포즈 서클이 닫혔고 로봇에 대한 카메라의 포즈를 계산할 모든 것이 있는 것 같습니다(\(H^{ROB}_{CAM}\)). 그러나 그렇게 간단하지 않습니다. |
|
This is because we haven’t really got rid of the relative pose (\(H^{EE}_{OBJ}\)). However, we have made it constant, ensuring that pose of the calibration object relative to the end-effector (\(H^{EE}_{OBJ}\)) will not change during the motion of the robot. This enables us to move a robot to a set of different postures. For each one, \(H^{ROB}_{CAM}\) can be expressed as a function of the remaining two variable, known poses:
and one constant, unknown pose:
이 방정식 세트를 사용하면 Tsai의 방법과 같은 최적화 기술을 활용하여 원하는 포즈 \(H^{ROB}_{CAM}\) 를 계산할 수 있습니다. |
|
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. |
|
The calibration object is of known geometry. Thus, it can be detected from the camera image. Further, its pose relative to the camera (\(H^{CAM}_{OBJ}\)) can be estimated. |
|
To calculate the relative pose between the camera and the end-effector (\(H^{EE}_{CAM}\)), we somehow need to close the circle between the poses. |
|
로봇 베이스에 대한 엔드 이펙터의 자세(\(H^{ROB}_{EE}\))는 로봇 컨트롤러에서 제공하는 것으로도 알려져 있습니다. |
|
The missing pose that will close the pose circle is the pose of the object relative to robot base (\(H^{ROB}_{OBJ}\)). |
|
To get rid of this pose or fix it, we must rigidly mount the calibration object. This is to ensure the pose of the calibration object relative to the robot base (\(H^{ROB}_{OBJ}\)) remains constant during the motion of the robot. |
|
Now we have everything to close the pose circle and thus calculate the pose of the camera relative to the end-effector (\(H^{EE}_{CAM}\)). During the hand-eye calibration process, the robot is moved to a set of different postures. For each one, \(H^{EE}_{CAM}\) can be expressed as a function of the remaining two variable, known poses:
and one constant, unknown pose:
With this set of equations, it is possible to utilize an optimization technique, such as Tsai’s method, to calculate the desired pose \(H^{EE}_{CAM}\). |
|
Now that we’ve explained how to solve the hand-eye calibration problem, let’s see learn about Hand-Eye Calibration Object options.