Linear Algebra - Report 1_mod

advertisement
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
Download