Calibration method for coordinate system of robot manipulator
09782899 · 2017-10-10
Assignee
- HONG FU JIN PRECISION INDUSTRY (ShenZhen) CO., LTD. (Shenzhen, CN)
- Hon Hai Precision Industry Co., Ltd. (New Taipei, TW)
Inventors
Cpc classification
International classification
G05B19/18
PHYSICS
Abstract
A calibration method for a coordinate system of a workpiece held by a robot manipulator, which includes the following steps: setting a predicted coordinate system on the workpiece; controlling the drive mechanism to drive the workpiece to move a specific distance along a coordinate axis in the predicted coordinate system and measuring the distance change of the workpiece in a direction perpendicular to the move; using the measured distance change to determine an orientation error between the predicted coordinate system and the actual coordinate system; correcting the orientation parameters of the predicted coordinate system; controlling the drive mechanism to drive the workpiece to rotate by a specific angle around a coordinate axis of the predicted coordinate system and measuring the distance change after being rotated; using the measured distance change to determine a position error; correcting the position parameters of the predicted coordinate system.
Claims
1. A calibration method for a coordinate system of a robot manipulator, the robot manipulator comprises a drive mechanism, a controller configured to control the drive mechanism, a tool assembled to a distal end of the drive mechanism, the distal end of the drive mechanism having a basic coordinate system; an assistant measurement tool comprises a measurement device; a workpiece comprises an attachment plane coupled with the tool, a processing plane at the opposite side of the attachment plane, a first side plane and a second side plane connected to the attachment plane and the processing plane, the calibration method comprising: A. making the processing plane of the workpiece face toward the measurement device; B. setting a predicted coordinate system (X.sub.m, Y.sub.m, Z.sub.m, R.sub.x, R.sub.y, R.sub.z) on the workpiece with assumed position errors (Δx,Δy,Δz) and assumed orientation errors (ΔR.sub.x,ΔR.sub.y,ΔR.sub.z) between the predicted coordinate system and an actual coordinate system; C. controlling the drive mechanism to drive the workpiece a distance L in the direction of an X.sub.m axis in the predicted coordinate system and measuring a distance change from a movement of the processing plane of the workpiece to obtain ΔR.sub.y via the measurement device; D. modifying the value of (R.sub.x,R.sub.y,R.sub.z) in the predicted coordinate system according to A R.sub.y, and redefining the predicted coordinate system as a first new predicted coordinate system (X.sub.m.sup.1, Y.sub.m.sup.1, Z.sub.m.sup.1, R.sub.x.sup.1, R.sub.y.sup.1, R.sub.z.sup.1) with a position error (Δx.sup.1, Δy.sup.1, Δz.sup.1) and an orientation error (ΔR.sub.x.sup.1, ΔR.sub.y.sup.1, ΔR.sub.z.sup.1) between the predicted coordinate system and the actual coordinate system; E. controlling the drive mechanism to drive the workpiece a distance L′ in the direction of an Y.sub.m.sup.1 axis in the first new predicted coordinate system and measuring the distance change from the movement of the processing plane of the workpiece to obtain ΔR.sub.x.sup.1 via the measurement device; F. modifying the value of (R.sub.x.sup.1, R.sub.y.sup.1, R.sub.z.sup.1) in the predicted coordinate system according to Δ R.sub.x.sup.1, and redefining the predicted coordinate system as a second new predicted coordinate system (X.sub.m.sup.2, Y.sub.m.sup.2, Z.sub.m.sup.2, R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) with a position error (Δx.sup.2, Δy.sup.2, Δz.sup.2) and an orientation error (ΔR.sub.x.sup.2, ΔR.sub.y.sup.2, A R.sub.z.sup.2) between the predicted coordinate system and the actual coordinate system; G. controlling the drive mechanism to drive the work piece a distance L″ in the direction of an X.sub.m.sup.2 axis or an Y.sub.m.sup.2 axis in the second new predicted coordinate system and measuring the distance change from the movement of the first side plane of the workpiece or the movement of the second side plane of the workpiece to obtain ΔR.sub.z.sup.2 via the measurement device; H. modifying the value of (R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) in the predicted coordinate system according to A R.sub.z.sup.z, and redefining the predicted coordinate system as a third new predicted coordinate system (X.sub.m.sup.3, Y.sub.m.sup.3, Z.sub.m.sup.3, R.sub.x.sup.3, R.sub.y.sup.3, R.sub.z.sup.3) with a position error (Δx.sup.3, Δy.sup.3, Δz.sup.3) and an orientation error (ΔR.sub.x.sup.3, ΔR.sub.y.sup.3, ΔR.sub.z.sup.3) between the predicted coordinate system and the actual coordinate system; I. controlling the drive mechanism by the controller to drive the workpiece to rotate by 180 degrees around an axis Z.sub.m.sup.3 in the third new predicted coordinate system and measuring the distance change between one point of the first side plane before being rotated and another point of the first side plane after being rotated to obtain Δy.sup.3; J. modifying the value of (X.sub.m.sup.3, Y.sub.m.sup.3, Z.sub.m.sup.3) in the predicted coordinate system according to Δy.sup.3 and redefining the predicted coordinate system as a fourth new predicted coordinate system (X.sub.m.sup.4, Y.sub.m.sup.4, Z.sub.m.sup.4, R.sub.x.sup.4, R.sub.y.sup.4, R.sub.z.sup.4) with a position error (Δx.sup.4, Δy.sup.4, Δz.sup.4) and an orientation error (ΔR.sub.x.sup.4, ΔR.sub.y.sup.4, ΔR.sub.z.sup.4) between the predicted coordinate system and the actual coordinate system; K. controlling the drive mechanism by the controller to drive the workpiece to rotate by 180 degrees around an axis Z.sub.m.sup.4 in the fourth new predicted coordinate system, and measuring the distance change between one point of the second side plane before being rotated and another point of the second side plane after being rotated to obtain Δx.sup.4; L. modifying the parameter of (X.sub.m.sup.4, Y.sub.m.sup.4, Z.sub.m.sup.4) in the predicted coordinate system according to Δx.sup.4 and redefining the predicted coordinate system as a fifth new predicted coordinate system (X.sub.m.sup.5, Y.sub.m.sup.5, Z.sub.m.sup.5, R.sub.x.sup.5, R.sub.y.sup.5, R.sub.z.sup.5) with a position error (A x.sup.5, A y.sup.5, A z.sup.5) and an orientation error (ΔR.sub.x.sup.5, ΔR.sub.y.sup.5, ΔR.sub.z.sup.5) between the predicted coordinate system and the actual coordinate system; M. controlling the drive mechanism by the controller to drive the workpiece to rotate by −90 degrees around an axis Y.sub.m.sup.5 in the fifth new predicted coordinate system and measuring the distance change between one point of the second side plane before being rotated and another point of the processing plane after being rotated to obtain Δz.sup.5; N. modifying the value of (X.sub.m.sup.5, Y.sub.m.sup.5, Z.sub.m.sup.5) in the fifth predicted coordinate system according to Δz.sup.5 and redefining the predicted coordinate system as a calibrated coordinate system (X.sub.m.sup.6, Y.sub.m.sup.6, Z.sub.m.sup.6, R.sub.x.sup.6, R.sub.y.sup.6, R.sub.z.sup.6).
2. The calibration method of claim 1, wherein the assistant measurement tool further comprises a data transmitting module, wherein the data transmitting module is electrically coupled to the controller and configured to transmit measured data to the controller.
3. The calibration method of claim 1, wherein the controller is configured to control the drive mechanism to drive the second side plane of the workpiece to contact the measurement device to obtain the first measurement value d.sub.1″, the drive mechanism drives the work piece to rise by a height H″, the drive mechanism then rotates the workpiece by −90 degrees around an axis Y.sub.m.sup.5 of the predicted coordinate system T.sub.m.sup.5, the controller is configured to control the drive mechanism to descend by a height (H″+h/2) and drive the processing plane of the workpiece to contact the measurement device to obtain the second measurement value d.sub.2″, the distance change after the movement of the work piece is Δ d″=d.sub.2″-d.sub.1″ , and Δz.sup.5=d.sub.2″-d.sub.1″.
4. The calibration method of claim 1, wherein measuring the distance change as Δc occurs via the measurement device after steps C and D, and determining if Δc is larger than a maximum allowable position deviation or not, if Δc is larger than the maximum allowable position deviation, then repeating steps C and D for the calibration, if Δc is less than or equal to the maximum allowable position deviation, then finishing the calibration of ΔR.sub.y and going to step E.
5. The calibration method of claim 1, wherein measuring the distance change as Δc′ occurs via the measurement device after steps E and F, and determining if Δc′ is larger than a maximum allowable position deviation or not, if Δc′ is larger than the maximum allowable position deviation, then repeating the steps E and F for the calibration, if Δc′ is less than or equal to the maximum allowable position deviation, then finishing the calibration of ΔR.sub.x.sup.1 and going to step G.
6. The calibration method of claim 1, wherein measuring the distance change as Δc″ occurs via the measurement device after the steps G and H, and determining if Δc″ is larger than a maximum allowable position deviation or not, if Δc″ is larger than the maximum allowable position deviation, then repeating steps G and H for the calibration. if Δc″ is less than or equal to the maximum allowable position deviation, then finishing the calibration of ΔR.sub.z.sup.2 and going to step I.
7. The calibration method of claim 1, wherein the controller is configured to control the drive mechanism to move the workpiece back to an original starting location after ending each step steps C, E, G, I, K and M.
8. The calibration method of claim 1, wherein the drive mechanism is a multi-axis drive mechanism.
9. The calibration method of claim 1, wherein the measurement device is a digital indicator.
10. The calibration method of claim 1, wherein the measurement device is a mechanical indicator.
11. The calibration method of claim 1, wherein the measurement device is a laser displacement sensor.
12. The calibration method of claim 1, wherein the object held by a robot is a rectangular calibration block for a non-rectangular workpiece, with the calibration block has dimensions that replicate the rectangular external bounds of the actual workpiece.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Implementations of the present technology will now be described, by way of example only, with reference to the attached figures.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts have been exaggerated to better illustrate details and features of the present disclosure.
(13) Several definitions that apply throughout this disclosure will now be presented.
(14) The term “coupled” is defined as connected, whether directly or indirectly through intervening components, and is not necessarily limited to physical connections. The connection can be such that the objects are permanently connected or releasably connected. The term “comprising,” when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in the so-described combination, group, series and the like.
(15) The present disclosure is described in relation to a calibration method with high calibration accuracy and simple calibration operation for a robot coordinate system of a robot manipulator.
(16) Operating a robot manipulator usually requires mounting a tool, such as a gripper, a cutting device, a glue dispenser, a polisher, a clamp or a fixture, on a distal end of the robot manipulator. Most applications involve driving the tool to specific positions and orientations in 3D workspace to interact with a stationary workpiece. However, in some applications, a workpiece is held by a gripper, clamp or fixture mounted on the robot, and the robot is commanded to drive the workpiece to specific positions and orientations in 3D workspace to interact with a stationary tool, such as a fixed polisher or fixed laser beam. In these applications, the workpiece becomes an extension of the gripping tool mounted on the distal end of the manipulator. Due to the gripping tool's manufacturing variances, mounting imprecision, or damage during collision, as well as imprecision in how the workpiece is seated within the gripping tool, the position and orientation of the held workpiece are not known precisely. To accurately drive the workpiece to specified positions and orientations in 3D workspace, calibration of the position and orientation of the held workpiece relative to the robot manipulator's distal end is required.
(17) The position and orientation of a workpiece are defined by a coordinate system affixed to the workpiece; all points on the workpiece are then referenced relative to this workpiece coordinate system. For the workpiece coordinate system, a corner point or a center point of the workpiece is often defined as the coordinate origin, and the coordinate axes are typically defined to align with orthogonal edges of the workpiece. When a robot manipulator is holding a workpiece, driving the workpiece to a specified position and orientation in 3D workspace requires knowledge of the position and orientation of the workpiece coordinate system relative to the robot manipulator's distal end. Here we disclose an automated calibration procedure through which the robot controller can accurately determine the position and orientation of the workpiece coordinate system relative to the robot's distal end by driving the held workpiece towards a distance or displacement measurement device. The workpiece is assumed to be rectangular in shape and the origin of the workpiece coordinate system is assumed to be at the center point of the primary surface to be processed. If the workpiece is not rectangular, a rectangular calibration block can be fabricated based on the bounding length, width and height of the actual workpiece; the calibration procedure is then performed with the robot manipulator holding the rectangular calibration block, which will determine the location and orientation of a workpiece coordinate system affixed to the center of the primary surface of the workpiece's rectangular bounds. The location and orientation of the actual workpiece coordinate system can then be calculated from workpiece design data as an offset from the center of the primary surface of the workpiece's rectangular bounds.
(18) Referring to
(19)
(20) The assistant measurement tool 200 comprises a measurement device 210 and a data transmitting module 230. The measurement device 210 is set on a horizontal plane next to the robot manipulator 100 and is configured to measure a moving distance of the work piece 300. In the embodiment, the measurement device 210 can be a probe indicator, a laser displacement meter or other displacement measurement devices. The data transmitting module 230 is a device that transmits the measured values to the controller 30.
(21) The workpiece 300 is usually a rectangular plate which comprises an attachment plane 310, a processing plane 320 at the opposite side of the attachment plane 310, a first side plane 340 connected to the attachment plane 310 and the processing plane 320, and a second side plane 360 connected to the first side plane 340.
(22) In the embodiment of the method for calibrating a coordinate system.
(23) In block 101 in
(24)
(25) In order to obtain the true position and orientation of the workpiece 300 relative to the basic tool coordinate system T.sub.0, a predicted workpiece coordinate system T.sub.m is set based on the approximate position where the robot manipulator 100 holds the workpiece 300. The origin of the predicted workpiece coordinate system is P.sub.m. The axes of the predicted workpiece coordinate system T.sub.m are X.sub.m axis, Y.sub.m axis and Z.sub.m axis. The position of P.sub.m relative to the basic coordinate system T.sub.0 is P.sub.m (X.sub.m, Y.sub.m, Z.sub.m). The orientation of the predicted workpiece coordinate system T.sub.m relative to the basic coordinate system T.sub.0 is given by the rotation angles R.sub.x, R.sub.y, and R.sub.z, wherein, assuming T.sub.m initially coincides with T.sub.0 and rotated around the coordinate axes of T.sub.0 to reach its present orientation, R.sub.x is the angular change when T.sub.m rotates around the X axis, R.sub.y is the angular change when T.sub.m rotates around the Y axis, and R.sub.z is the angular change when T.sub.m rotates around the Z axis. The parameters (X.sub.m, Y.sub.m, Z.sub.m, R.sub.x, R.sub.y, R.sub.z) of the predicted workpiece coordinate system T.sub.m are set in a controller. According to this embodiment, the X.sub.m axis, the Y.sub.m axis and the Z.sub.m axis are initially parallel to the X axis, the
(26) Y axis and the Z axis, respectively. In our calibration procedure, the robot manipulator rotates the workpiece around the predicted workpiece coordinate axes of T.sub.m with the assumption that the actual position and orientation of the workpiece is given by (X.sub.m, Y.sub.m, Z.sub.m, R.sub.x, R.sub.y, R.sub.z) ; the resultant movements of the workpiece are measured and compared with the expected movements if the predicted parameter values are correct; the errors observed between the actual and expected movements are used to adjust the parameters (X.sub.m, Y.sub.m, Z.sub.m, R.sub.x, R.sub.y, R.sub.z) to reflect the true position and orientation of the workpiece relative to the basic coordinate system T.sub.0 .
(27) The origin of the actual workpiece coordinate system T.sub.g on the workpiece 300 is P.sub.g. The axes of the actual workpiece coordinate system T.sub.g are U axis, V axis and W axis. Assuming a rectangular workpiece 300 (or the use of a rectangular calibration block 300 to mimic the bounding length, width and height of the workpiece), the origin P.sub.g of the actual workpiece coordinate system T.sub.g is located at the center of the processing plane 320 of the workpiece 300 (facing away from the workpiece holding tool 15 of the robot manipulator). The U axis is parallel to the first side plane 340 of the workpiece 300; the V axis is parallel to the second side plane 360; the W axis is perpendicular to the processing plane 320. We assume there is position error (Δx,Δy,Δz) and orientation error (ΔR.sub.x,ΔR.sub.y,ΔR.sub.z) between the predicted workpiece coordinate system T.sub.m and the actual workpiece coordinate system T.sub.g. If the origin P.sub.m of the predicted workpiece coordinate system T.sub.m is to be moved to the origin P.sub.g of the actual workpiece coordinate system T.sub.g, Δx is the required position change of P.sub.m along the X.sub.m axis, Δy is the required position change of P.sub.m along the Y.sub.m axis, and Δz is the required position change of P.sub.m along the Z.sub.m axis. If the X.sub.m, Y.sub.m and Z.sub.m axes of the predicted workpiece coordinate system T.sub.m are to be respectively aligned with the U, V and W axes of the actual workpiece coordinate system T.sub.g, ΔR.sub.x is the required angular change when T.sub.m rotates around X.sub.m axis, ΔR.sub.y is the required angular change when T.sub.m rotates around Y.sub.m axis, and ΔR.sub.z is the required angular change when T.sub.m rotates around Z.sub.m axis.
(28)
(29) The method of the distance measurement may be a non-contact distance measurement. For example, the measurement device 210 is a laser sensor.
(30) In block 104, the rotation parameters (R.sub.x,R.sub.y, R.sub.z) of the predicted workpiece coordinate system T.sub.m are corrected according to ΔR.sub.y, and the predicted workpiece coordinate system T.sub.m is redefined. In the embodiment, the value of (R.sub.x,R.sub.y, R.sub.z)in the control software of controller 30 is modified to rotate the predicted workpiece coordinate system T.sub.m around its Y.sub.m axis by an angular amount ΔR.sub.y, thereby causing the X.sub.m axis to become parallel to the actual processing plane 320. Therefore, the predicted workpiece coordinate system T.sub.m is modified to be a new predicted workpiece coordinate system T.sub.m.sup.1 in which the new X.sub.m-Y.sub.m plane (the plane formed by the new X.sub.m axis and Y.sub.m axis) is almost parallel to the U-V plane (the plane formed by the U axis and V axis) of the actual workpiece coordinate system T.sub.g. The origin of the predicted workpiece coordinate system T.sub.m.sup.1 (the first new predicted workpiece coordinate system) is P.sub.m.sup.1, and the axes of the predicted workpiece coordinate system T.sub.m.sup.1 are X.sub.m.sup.1 ,Y.sub.m.sup.1 and Z.sub.m.sup.1, wherein the parameter in controller 30 is (X.sub.m.sup.1, Y.sub.m.sup.1, Z.sub.m.sup.1, R.sub.x.sup.1, R.sub.y.sup.1, R.sub.z.sup.1), representing the position and orientation of T.sub.m.sup.1 relative to the basic coordinate system T.sub.0. The position error between the predicted workpiece coordinate system T.sub.m.sup.1 and the actual workpiece coordinate system T.sub.g is (Δx.sup.1, Δy.sup.1, Δz.sup.1), and the orientation error between the predicted workpiece coordinate system T.sub.m.sup.1 and the actual workpiece coordinate system T.sub.g is (ΔR.sub.x.sup.1, ΔR.sub.y.sup.1, ΔR.sub.z.sup.1).
(31) In block 105, the controller 30 determines if the measured distance change Δc is larger than the maximum allowable position deviation. If the distance change Δc is larger than the maximum allowable position deviation, then block 103 to block 105 is repeated. When repeating block 103 to block 105, the direction for measuring distance changeΔc may not be perpendicular to the new X.sub.m axis, but the angular error ΔR.sub.y has become very small such that it can be approximated by the formula tanΔRy˜(c2-c1)/L. By repeatedly correcting the parameters (R.sub.x, R.sub.y, R.sub.z) of the predicted workpiece coordinate system T.sub.m according to ΔRy, the distance change Δc will continue to decrease. If the distance change Δc is less than or equal to the maximum allowable position deviation, then the calibration procedure enters block 106. In this embodiment, the maximum allowable position deviation for Δc is 0.02 mm.
(32)
(33) In block 107, the parameters (R.sub.x′, R.sub.y′, R.sub.z.sup.1) of the predicted workpiece coordinate system T.sub.m.sup.1 are corrected according toΔR.sub.x.sup.1, and the predicted workpiece coordinate system T.sub.m.sup.1 is redefined. In the embodiment, the value of (R.sub.x′, R.sub.y', R.sub.z.sup.1) in the controller 30 is modified to rotate the predicted workpiece coordinate system T.sub.m.sup.1 around its X.sub.m.sup.1 axis by an angular amount ΔR.sub.x.sup.1, thereby causing the Y.sub.m.sup.1 axis to become parallel to the actual processing plane 320. Therefore, the predicted workpiece coordinate system T.sub.m.sup.1 is modified to be a new predicted workpiece coordinate system T.sub.m.sup.2 (the second new predicted workpiece coordinate system) in which the the new X.sub.m-Y.sub.m plane is parallel to the U-V plane of the actual workpiece coordinate system T.sub.g. The origin of the predicted workpiece coordinate system T.sub.m.sup.2 is P.sub.m.sup.2, and the axes of the predicted workpiece coordinate system T.sub.m.sup.2 are X.sub.m.sup.2,Y.sub.m.sup.2 and Z.sub.m.sup.2, wherein the parameter in controller 30 is (X.sub.m.sup.2, Y.sub.m.sup.2, Z.sub.m.sup.2, R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2), the position error between the predicted workpiece coordinate system T.sub.m.sup.2 and the actual workpiece coordinate system T.sub.g is (Δx.sup.2 , Δy.sup.2 , Δz.sup.2), and the orientation error between the predicted workpiece coordinate system T.sub.m.sup.2 and the actual workpiece coordinate system T.sub.g is (Δ.sup.2, ΔR.sub.y.sup.2, ΔR.sub.z.sup.2).
(34) In block 108, the controller determines if the measured distance change Δc′ is larger than the maximum allowable position deviation. If the distance change Δc′ is larger than the maximum allowable position deviation, then block 106 to block 108 is repeated. When repeating block 106 to block 108, the direction for measuring distance change,Δc′ may not be perpendicular to the new Y.sub.m.sup.1 axis, but the angular error has become very small such that it can be approximated by the formula tanΔR.sub.x.sup.1˜(c.sub.2′-c.sub.1′)/L′. By repeatedly correcting the parameters (R.sub.x.sup.1, R.sub.y.sup.1, R.sub.z.sup.1) of the predicted workpiece coordinate system T.sub.m.sup.1 according toΔR.sub.x.sup.1, the distance change Δc′ will continue to decrease. If the distance change Δc′ is less than or equal to the maximum allowable position deviation, then the calibration procedure enters block 109. In this embodiment, the maximum allowable position deviation forΔc′ is 0.02 mm.
(35)
(36) In some embodiments, the controller 30 controls the drive mechanism 13 to drive the first side plane 340 of the workpiece 300 to contact the measurement device, and moves the workpiece in the direction of the X.sub.m.sup.2 axis of the predicted workpiece coordinate system T.sub.m.sup.2. The distance change from the movement of the first side plane 340 is measured to determine Δ R.sub.z.sup.2.
(37) In block 110, the parameters (R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) of the predicted workpiece coordinate system T.sub.m.sup.2 are corrected according toΔR.sub.z.sup.2, and the predicted workpiece coordinate system T.sub.m.sup.2 is redefined. In the embodiment, the value of (R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) in the controller 30 is modified to rotate the predicted workpiece coordinate system T.sub.m.sup.2 around its Z.sub.m.sup.2 axis by an angular amount thereby causing the Y.sub.m.sup.2 axis to become parallel to the second side plane 360, and at the same time causing the X.sub.m.sup.2 axis to become parallel to the first side plane 340. Therefore, this modification of the (R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) parameters causes the X.sub.m.sup.2 axis of the predicted wokpiece coordinate system T.sub.m.sup.2 to become parallel to the U axis of the actual workpiece coordinate system T.sub.g, and the Y.sub.m.sup.2 axis of the predicted workpiece coordinate system T.sub.m.sup.2 to become parallel to the V axis of the actual workpiece coordinate system T.sub.g. The predicted workpiece coordinate system T.sub.m.sup.2 is modified to be a new predicted workpiece coordinate system T.sub.m.sup.3 (the third new predicted workpiece coordinate system). The origin of the new predicted workpiece coordinate system T.sub.m.sup.3 is P.sub.m.sup.3, and the axes of the new predicted workpiece coordinate system T.sub.m.sup.3 are X.sub.m.sup.3, Y.sub.m.sup.3 and Z.sub.m.sup.3, wherein the parameter in controller 30 is (X.sub.m.sup.3, Y.sub.m.sup.3, Z.sub.m.sup.3, R.sub.x.sup.3, R.sub.y.sup.3, R.sub.z.sup.3), the position error between the predicted workpiece coordinate system T.sub.m.sup.3 and the actual workpiece coordinate system T.sub.g is (Δx.sup.3, Δy.sup.3, Δz.sup.3), and the orientation error between the predicted workpiece coordinate system T.sub.m.sup.3 and the actual workpiece coordinate system T.sub.g is (ΔR.sub.x.sup.3, ΔR.sub.y.sup.3, ΔR.sub.z.sup.3). The X.sub.m.sup.3 axis, the Y.sub.m.sup.3 axis and the Z.sub.m.sup.3 axis are respectively parallel to the U axis, the V axis and the W axis of the actual workpiece coordinate system T.sub.g, that is, ΔR.sub.x.sup.3=0, ΔR.sub.y.sup.3=0, ΔR.sub.z.sup.3=0, but the origin P.sub.m3 and the origin P.sub.m are at the same un-corrected position relative to T.sub.0.
(38) In block 111, the controller 30 determines if the measured distance change Δc″ is larger than the maximum allowable position deviation. If the distance change Δc″ is larger than the maximum allowable position deviation, then block 109 to block 111 is repeated. When repeating block 109 to block 111, the direction for measuring distance changeΔc″ may not be perpendicular to the new Y.sub.m.sup.2 axis, but the angular error has become very small such that it can be approximated by the formula tanΔR.sub.x.sup.2˜(c.sub.2″-c.sub.1″)/L″. By repeatedly correcting the (R.sub.x.sup.2, R.sub.y.sup.2, R.sub.z.sup.2) parameters of the predicted coordinate system T.sub.m.sup.2 according toΔR.sub.z.sup.2, the distance change Δc″ will continue to decrease. If the distance change Δc″ is less than or equal to the maximum allowable position deviation, then the calibration procedure enters block 112. In this embodiment, the maximum allowable position deviation for Δc″ is 0.02 mm.
(39)
(40) In block 113, the parameters (X.sub.m.sup.3, Y.sub.m.sup.3, Z.sub.m.sup.3) of the predicted workpiece coordinate system T.sub.m.sup.3 is corrected according toΔy, and the predicted workpiece coordinate system T.sub.m.sup.3 is redefined. In the embodiment, the value of (X.sub.m.sup.3, Y.sub.m.sup.3, Z.sub.m.sup.3) is modified in the controller 30 to move the position of P.sub.m.sup.3 of the predicted workpiece coordinate system T.sub.m.sup.3 along the Y.sub.m.sup.3 axis by an amount Δy. The predicted workpiece coordinate system T.sub.m.sup.3 is modified to be a new predicted workpiece coordinate system T.sub.m.sup.4 (the fourth new predicted coordinate system). The origin of the new predicted workpiece coordinate system T.sub.m.sup.4 is P.sub.m.sup.4, and the axes of the new predicted workpiece coordinate system T.sub.m.sup.4 are X.sub.m.sup.4, Y.sub.m.sup.4 and Z.sub.m.sup.4, wherein the parameter in controller 30 is (X.sub.m.sup.4, Y.sub.m.sup.4, Z.sub.m.sup.4, R.sub.x.sup.4m, R.sub.y.sup.4, R.sub.z.sup.4) the position error between the predicted workpiece coordinate system T.sub.m.sup.4 and the actual workpiece coordinate system T.sub.g is (Δx.sup.4, Δy.sup.4, Δz.sup.4), and the orientation error between the predicted workpiece coordinate system T.sub.m.sup.4 and the actual workpiece coordinate system T.sub.g is (ΔR.sub.x.sup.4 , ΔR.sub.y.sup.4, ΔR.sub.z.sup.4) whereinΔy.sup.4=0, ΔR.sub.x.sup.4=0,ΔR.sub.y.sup.4=0, ΔR.sub.z.sup.4=0.
(41) When the first side plane 340 of the workpiece 300 is not strictly perpendicular to the direction of distance measurement, block 112 to block 113 are repeated to increase the precision of the calibration.
(42)
(43) In block 115, the parameters (X.sub.m.sup.4, Y.sub.m.sup.4, Z.sub.m.sup.4) of the predicted workpiece coordinate system T.sub.m.sup.4 is corrected according to Δx, and the predicted workpiece coordinate system T.sub.m.sup.4 is redefined In the embodiment, the value of (X.sub.m.sup.4, Y.sub.m.sup.4, Z.sub.m.sup.4) in the controller 30 is modified to move the position of P.sub.m.sup.4 of the predicted workpiece coordinate system T.sub.m.sup.4 along the X.sub.m.sup.4 axis by an amount Δx. The predicted workpiece coordinate system T.sub.m.sup.4 is modified to be a new predicted workpiece coordinate system T.sub.m.sup.5 (the fifth new predicted coordinate system). The origin of the new predicted coordinate system T.sub.m.sup.5 is P.sub.m.sup.5, and the axes of the new predicted workpiece coordinate system T.sub.m.sup.5 are X.sub.m.sup.5, Y.sub.m.sup.5 and Z.sub.m.sup.5, wherein the parameter in controller 30 is (X.sub.m.sup.5, Y.sub.m.sup.5, Z.sub.m.sup.5, R.sub.x.sup.5, R.sub.y.sup.5, R.sub.z.sup.5), the position error between the predicted workpiece coordinate system T.sub.m.sup.5 and the actual workpiece coordinate system T.sub.g is (Δx.sup.5, Δy.sup.5, Δz.sup.5), and the orientation error between the predicted workpiece coordinate system T.sub.m.sup.5 and the actual workpiece coordinate system T.sub.g is (ΔR.sub.x.sup.5, ΔR.sub.y.sup.5, ΔR.sub.z.sup.5)=(0,0,0), wherein Δx.sup.5=0, Δy.sup.5=0.
(44) When the second side plane 360 of the workpiece 300 is not strictly perpendicular to the direction of distance measurement, block 114 to block 115 are repeated to increase the precision of the calibration.
(45) In some embodiments, when the measurement device 210 is a non-contact distance measurement device, such as laser distance sensor, it is not necessary to drive the workpiece 300 to rise or descend while measuring (d.sub.2-d.sub.1) and (d.sub.2′-d.sub.1′).
(46) In some embodiments, the controller can control the drive mechanism 13 to move the workpiece back to the original position after each measurement.
(47)
(48) In this embodiment, the controller 30 is configured to control the drive mechanism 13 to drive the second side plane 360 of the workpiece 300 to contact the measurement device 210 to obtain a first measurement value d.sub.1″. The first measurement value d.sub.1″ is transmitted from the data transmitting module 230 to the controller 30. The controller then controls the drive mechanism 13 to raise the workpiece 300 by a height H″ to avoid damaging the measurement device 210 when rotating the workpiece. The controller then controls the drive mechanism to rotate the workpiece 300 by −90 degrees around the Y.sub.m.sup.5 axis of the predicted coordinate system T.sub.m.sup.5. The controller 30 again controls the drive mechanism 13 to lower the workpiece 300 by a height (H″+h/2) and cause the processing plane 320 of the workpiece 300 to contact the measurement device 210 to obtain a second measurement value d.sub.2″. The second measurement value d.sub.2″ is transmitted from the data transmitting module 230 to the controller 30. The distance change after the movement of the workpiece 300 is Δd″=d.sub.2″-d.sub.1″. The measured distance change indicates the origin P.sub.m.sup.5 of the predicted coordinate system T.sub.m.sup.5 is not on the processing plane 320 of the workpiece 300, and that there exists a position error Δz (a required shift of the origin P.sub.m.sup.5 along the Z.sub.m.sup.5 axis in the predicted workpiece coordinate system T.sub.m.sup.5). Δz can be calculated based on the formula Δ z=d.sub.2″-d.sub.1″.
(49) In another embodiment, the controller 30 is configured to control the drive mechanism 13 to drive the first side plane 340 of the workpiece 300 to contact the measurement device 210 to obtain the first measurement value. The controller then controls the drive mechanism to raise the workpiece 300 by a height H″ and then rotate the workpiece 300 by −90 degrees around the X.sub.m.sup.5 axis of the predicted coordinate system T.sub.m.sup.5. The controller 30 again controls the drive mechanism 13 to lower the workpiece by a distance (H″+w/2), where w is the length of the workpiece 300 along the V axis, and cause the processing plane 320 of the workpiece 300 to contact the measurement device 210 to obtain the second measurement value.
(50) In some embodiments, when the measurement device 210 is a non-contact distance measurement device, such as laser distance sensor, it is not necessary to drive the workpiece 300 to rise or descend. The controller can control the drive mechanism to directly rotate the workpiece 300 by −90 degrees around the Y.sub.m.sup.5 axis or the X.sub.m.sup.5 axis of the predicted coordinate system T.sub.m.sup.5. In case of rotation around the Y.sub.m.sup.5 axis, the distance change measured by the measurement device 210 is Δd″=h/2−Δz which means Δz=h/2−Δd″. In case of rotation around the X.sub.m.sup.5 axis, the distance change measured by the measurement device 210 is Δd″=w/2−Δz which means Δz=h/2−Δd″.
(51) In block 117, the parameters (X.sub.m.sup.5, Y.sub.m.sup.5, Z.sub.m.sup.5) of the predicted workpiece coordinate system T.sub.m.sup.5 is modified according to Δz, and the predicted workpiece coordinate system T.sub.m.sup.5 is redefined. In the embodiment, the value of (X.sub.m.sup.5, Y.sub.m.sup.5, Z.sub.m.sup.5) in the controller 30 is modified to move the position of P.sub.m.sup.5 of the predicted workpiece coordinate system T.sub.m.sup.5 along the Z.sub.m.sup.5 axis by an amount Δz. The predicted workpiece coordinate system T.sub.m.sup.5 is modified to be a new predicted workpiece coordinate system T.sub.m.sup.6 (the calibrated workpiece coordinate system). The origin of the calibrated workpiece coordinate system T.sub.m.sup.6 is P.sub.m.sup.6, and the axes of the calibrated workpiece coordinate system T.sub.m.sup.6 are X.sub.m.sup.6, Y.sub.m.sup.6 and Z.sub.m.sup.6, wherein the parameter in controller 30 is (X.sub.m.sup.6, Y.sub.m.sup.6, Z.sub.m.sup.6, R.sub.x.sup.6, R.sub.y.sup.6, R.sub.z.sup.6). The origin of the calibrated workpiece coordinate system T.sub.m.sup.6 is located at the center of the workpiece on the processing plane 320, and the axes of the calibrated workpiece coordinate system T.sub.m.sup.6 are aligned with the U, V, W axes of the actual workpiece coordinate system T.sub.g, hence the calibration process is complete.
(52) In some embodiments, the axes of the predicted workpiece coordinate system T.sub.m are not parallel to the axes of the basic coordinate system T.sub.0.
(53) In some embodiments, when calibrating the axes of the predicted workpiece coordinate system, ΔR.sub.x can be determined first. When calibrating the origin of the predicted workpiece coordinate system, Δx can be determined first.
(54) The calibration method for the workpiece coordinate system of the robot manipulator 100 is based on setting the predicted workpiece coordinate system on the workpiece 300. The controller 30 controls the drive mechanism 13 to move the workpiece 300 t along the axes of the predicted workpiece coordinate system to determine orientation errors. The measurement device 210 is configured to measure distance changes after the movement of the workpiece 300 and the orientation errors (ΔR.sub.y, ΔR.sub.x.sup.1, ΔR.sub.z.sup.2) between the predicted workpiece coordinate system and the actual workpiece coordinate system are calculated from the distance changes. If the distance change (Δc, Δc′ or Δc″) is greater than the maximum allowable position deviation, the controller 30 repeats the associated calibration steps until the distance change (Δc, Δc′ or Δc″) is less than or equal to the maximum allowable position deviation.
(55) The controller 30 controls the drive mechanism 13 to rotate the workpiece 300 around the axes of the predicted workpiece coordinate system to determine position errors. The measurement device 210 is configured to measure distance changes after the movement of the workpiece 300 and the position errors (Δx,Δy,Δz) between the predicted workpiece coordinate system and the actual workpiece coordinate system are calculated from the distance changes.
(56) The calibration method can be used for applications where the robot manipulator 100 holds the workpiece 300 during machining processes. The robot manipulator can rotate the workpiece around the calibrated workpiece coordinate axes to machine the workpiece from multiple angles, as well as move the workpiece to different tools to perform multi-procedure machining process.
(57) In some embodiments, block 105, block 108 and block 111 can be ignored.
(58) The embodiments shown and described above are only examples. Many details are often found in the art such as the other features of a calibration method for a robot manipulator, and particularly for a coordinate system of the robot manipulator. Therefore, many such details are neither shown nor described. Even though numerous characteristics and advantages of the present technology have been set forth in the foregoing description, together with details of the structure and function of the present disclosure, the disclosure is illustrative only, and changes may be made in the detail, especially in matters of shape, size, and arrangement of the parts within the principles of the present disclosure, up to and including the full extent established by the broad general meaning of the terms used in the claims. It will therefore be appreciated that the embodiments described above may be modified within the scope of the claims.