Hand eye calibration problem

In robotics and mathematics, the hand eye calibration problem (also called the robot-sensor or robot-world calibration problem) is the problem of determining the transformation between a robot end-effector and a camera or between a robot base and the world coordinate system.[1] It takes the form of AX=ZB, where A and B are two systems, usually a robot base and a camera, and X and Z are unknown transformation matrices. A highly studied special case of the problem occurs where X=Z, taking the form of the problem AX=XB. Solutions to the problem take the forms of several types of methods, including separable closed-form solutions, simultaneous closed-form solutions, and iterative solutions.[2] The covariance of X in the equation can be calculated for any randomly perturbed matrices A and B.[3]

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 AX=ZB, it is possible to decompose the equation into a purely rotational and translational part; methods utilizing this are referred to as separable methods. Where RA represents a 3×3 rotation matrix and tA a 3×1 translation vector, the equation can be broken into two parts:[4]

RARX=RZRB
RAtX+tA=RZtB+tZ

The second equation becomes linear if RZ is known. As such, the most frequent approach is to solve for Rx and Rz using the first equation, then using Rz 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.[5] Other solutions avoid this problem.

Simultaneous solutions

Simultaneous solutions are based on solving for both X and Z at the same time (rather than basing the solution of one part off of the other as in separable solutions), propagation of error is significantly reduced.[6] By formulating the matrices as dual quaternions, it is possible to get a linear equation by which X is solvable in a linear format.[5] An alternative way applies the least-squares method to the Kronecker product of the matrices A⊗B. As confirmed by experimental results, simultaneous solutions have less error than separable quaternion solutions.[6]

Iterative solutions

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 ||AX−XB||. As the program iterates, it will converge on a solution to X independent to the initial robot orientation of RB. Solutions can also be two-step iterative processes, and like simultaneous solutions can also decompose the equations into dual quaternions.[7] 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.[5]

The AX=XB case

The matrix equation AX=XB, where X is unknown, has an infinitive number of solutions that can be easily studied by a geometrical approach.[8] To find X it is necessary to consider a simultaneus set of 2 equations A1X=XB1 and A2X=XB2; the matrices A1, A2, B1, B2 have to be dermined by experiments to be performed in an optimized way. [9]

gollark: Oh, and he's partly behind OpenAI, which while kind of annoying in some ways is responsible for GPT-2 and GPT-3, which are *really cool*.
gollark: Tons of institutions and people are overly focused on maintaining the status quo, but Elon at least has interesting ideas and sometimes makes them work.
gollark: Hyperloop isn't exactly very great, but at least he's actually *doing things* which are interesting and could be useful?
gollark: According to Wikipedia he's been with Tesla from a year after they started and ran it since 2008, so I feel like he deserves much of the credit for that.
gollark: It's ridiculous to complain that he doesn't know much about rocketry and stuff himself and (THE HORROR) hired competent people who do, and managed to improve the state of space travel a lot.

References

  1. Amy Tabb, Khalil M. Ahmad Yousef. "Solving the Robot-World Hand-Eye(s) Calibration Problem with Iterative Methods." 29 Jul 2019.
  2. Mili I. Shah, Roger D. Eastman, Tsai Hong Hong. "An Overview of Robot-Sensor Calibration Methods for Evaluation of Perception Systems." 22 March 2012
  3. Huy Nguyen, Quang-Cuong Pham. "On the covariance of X in AX = XB." 12 June 2017.
  4. Amy Tabb, Khalil Yousef. "Solving the Robot-World Hand-Eye(s) Calibration Problem with Iterative Methods." Machine Vision and Applications, August 2017, Volume 28, Issue 5-6, pp 569-590.
  5. Mili Shah, et al. "An Overview of Robot-Sensor Calibration Methods for Evaluation of Perception Systems."
  6. Algo Li, et al. "Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product." International Journal of the Physical Sciences Vol. 5(10), pp. 1530-1536, 4 September 2010.
  7. Zhiqiang Zhang, et al. "A computationally efficient method for hand–eye calibration." 19 July 2017.
  8. Irene Fassi, Giovanni Legnani "Hand to sensor calibration: A geometrical interpretation of the matrix equation AX =XB." Journal of Robotic Systems, 28 July 2005
  9. Giovanni Legnani. "Optimization of hand-to-camera calibration using geometrical interpretation of matrix equation AX = XB." International Journal of Robotics and Automation - January 2018.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.