In robotics and mathematics, the hand eye calibration problem is the problem of determining the transformation between a robot end-effector and a camera or between a robot base and the worldcoordinate system. It takes the form of, where A and B are two systems, usually a robot base and a camera, and and are unknown transformation matrices. A highly studiedspecial case of the problem occurs where, taking the form of the problem. Solutions to the problem take the forms of several types of methods, including separable closed-form solutions, simultaneous closed-form solutions, and iterative solutions. The covariance of in the equation can be calculated for any randomly perturbed matrices and. The problem is an important part of robot calibration, with efficiency and accuracy of the solutions determining the speed accuracy of the calibrations of robots.
Methods
Many different methods and solutions developed to solve the problem, broadly defined as either separable, simultaneous solutions. Each type of solution has specific advantages and disadvantages as well as formulations and applications to the problem. A common theme throughout all of the methods is the common use of quaternions to represent rotations.
Separable solutions
Given the equation, it is possible to decompose the equation into a purely rotational and translational part; methods utilizing this are referred to as separable methods. Where represents a 3×3 rotation matrix and a 3×1 translation vector, the equation can be broken into two parts: The second equation becomes linear if is known. As such, the most frequent approach is to solve for and using the first equation, then using to solve for the variables in the second equation. Rotation is represented using quaternions, allowing for a linear solution to be found. While separable methods are useful, any error in the estimation for the rotation matrices is compounded when being applied to the translation vector. Other solutions avoid this problem.
Iterative solutions are another method used to solve the problem of error propagation. One example of an iterative solution is a program based on minimizing. As the program iterates, it will converge on a solution to independent to the initial robot orientation of. Solutions can also be two-step iterative processes, and like simultaneous solutions can also decompose the equations into dual quaternions. However, while iterative solutions to the problem are generally simultaneous and accurate, they can be computationally taxing to carry out and may not always converge on the optimal solution.
The AX=XB case
The matrix equation , where is unknown, has an infinitive number of solutions that can be easily studied by a geometrical approach. To find it is necessary to consider a simultaneus set of 2 equations and ; the matrices have to be dermined by experiments to be performed in an optimized way.