Introduction to Robotic Manipulator Calibration Using Linear Algebra Paul Bertrand 10/10/03 Abstract This report strives to introduce the reader to the topic of robotic manipulator calibration, in particular pose calibration, using linear algebra. Robots play a major role in the industry of the 21 st century. They help assemble everything from automobiles to semiconductors, and they do a very good job; usually, much better than a human worker. However, they are not perfect. Factors such as, design, manufacturing, the environment, operation, and mathematical approximations, cause the robot to lose some of its accuracy. This means that the robot cannot always return to the correct start position before each task. This can be very serious because it will lead to a decrease in quality and a loss in profits. In order to remedy the robot’s lack of repeatability, it must be calibrated. One of the more economical methods of calibration is pose calibration. This report focuses on pose calibration using a calibration bar and sensors (see Figure 1, Appendix A). To begin the origin of the calibration bar (x’, y’, z’) is noted. Then the bar is moved into the sensors and a measurement of the position of the calibration bar (x’’, y’’, z’’) is taken. Then the bar is moved away from the sensors and commanded to return back to the point (x’’, y’’, z’’). The new end point (x’’’, y’’’, z’’’) is recorded. In the best case, the (x’’, y’’, z’’) and (x’’’, y’’’, z’’’) points should be the same, but since robots are not perfect there will be a difference, and the orientation error vectors are calculated as follows: V1 = [ (x2-x1 ), (y2-y1 ), (z2-z1 ) ] V2 = [ (x3-x1 ), (y3-y1 ), (z3-z3 ) ] The cross product of the above vectors can be taken to derive the perpendicular vector to the calibration bar, see below: V1 x V2 = i [(y2-y1 )(z3-z1 ) - (y3-y1 )(z2-z1 )] + j [(x3-x1 )(z2-z1 ) - (x2-x1 )(z3-z1 )] + k [(x2-x1 )(y3-y1 ) - (x3-x1 )(y2-y1 )] This normal vector can be used to derive the following plane equation of the plane, p, containing the vectors V1 and V2: [(y2-y1 )(z3-z1 ) - (y3-y1 )(z2-z1 )] x p + [(x3-x1 )(z2-z1 ) - (x2-x1 )(z3-z1 )] y p + [(x2-x1 )(y3-y1 ) - (x3-x1 )(y2-y1 )] z p = d Any of the three points in the plane can be used to solve for d. The next step in the calibration is to find the tool center point (TCP) of the manipulator for the two calibration bar points. This can be done by finding the intersection of three planes of the calibration bar. In order to get the three planes to intersect they must be shifted. A and C need to be shifted half the dimension of the bar (das, dcs), and B needs to be shifted from the front (db) to the back (dbs). The following equation can be used: d S = d + h/2 * √ (a ² + b ² + c² ) , where h is the calibration bar dimension, and a, b, c are the coefficients from the above plane equation. TCP1 can be found by finding the intersection of the following planes: a A x + b A y + c A z = d AS aB x +bB y +cB z =dB a C x + b C y + c C z = d CS By solving the matrix: [a A b A c A | d AS ] [a B b B c B | d B ] [a C b C c C | d CS ] TCP2 can be found by finding the intersection of the following planes: a A x + b A y + c A z = d AS a B x + b B y + c B z = d BS a C x + b C y + c C z = d CS By solving the matrix: [a A b A c A | d AS ] [a B b B c B | d BS ] [a C b C c C | d CS ] Now that the two locations of the TCP are known, they can be used to calibrate the robot by increasing understanding of the robot’s operation model and fixing any errors found. This should greatly increase accuracy and repeatability. References [1] Lay, David C., Linear Algebra and Its Applications, Addison Wesley Longman, Reading, MA, 2003. [2] “Linear Algebra and Robotics Module”, http://info.lu.farmingdale.edu/~imr/linear/robotics.html,Farmingdale State University, New York, 2003. [3] McNamee, Louis P., “Photogrammetric Calibration of Mobile Robots Kinematics: Robot Calibration”, http://www3.sympatico.ca/lou.ainley/thesis/2-RobotCalibration.pdf, Ottawa-Carleton Institute for Electrical and Computer Engineering, Ottawa, Canada, 2003. Appendix A: Additional Material Figure 1