A CALIBRATION METHOD
FIELD OF THE INVENTION AND PRIOR ART
The present invention relates to a method for calibration of an industrial robot according to the preamble of claim 1.
An industrial robot can be viewed as a cinematic chain of sec¬ tions movably connected to each other about a plurality of rota¬ tional axis. The first section in the chain is the base of the robot and the last section usually constitutes a tool attachment. The axis are numbered after their position in the cinematic chain, i.e. the first axis in the chain is denoted the first axis, the next axis is denoted the second axis and so on. For the possibility to de¬ termine the position of the robot, each axis usually is provided with an angle-measuring device in the form of an encoder or a resolver indicating the position of the axis relative to a zero po¬ sition. Before an industrial robot can be used it must be cali¬ brated, which means that each of the angle-measuring devices is calibrated with reference to the zero position. The robot is calibrated in the production plant before it is delivered and sometimes on site before being set to work. Thereafter, the ro¬ bot is calibrated after larger repairs such as motor or arm changes or after collisions. During calibration the correct cine¬ matic position, denoted the home position, of the robot is identi- fied. When the robot is in its home position all axes are in their zero position and thus the angular values from the encod- ers/resolvers are zero or a reference value.
In the prior art it is known to use an inclinometer, or some other type of instrument for measuring the inclination, to calibrate the robot. An inclinometer measures the angle between an object
and the vertical line and is, for example, an electronic spirit level. A calibration device including at least one inclinometer is placed on a plane of reference on one of the sections, and gen¬ erates a signal, which is a measure of the angle between the plane of reference of the section and the vertical line. Thereaf¬ ter, the axis is moved in dependence of the generated signal un¬ til it has a predetermined angle relative to the vertical line. The other axes are calibrated in the same way by means of further reference planes. Such a calibration method is for example dis- closed in the patent document US 5 239 855 and in the interna¬ tional patent application WO02/084216.
In order to obtain a high accuracy of the calibration, the planes of reference must be accurately machined to a high degree of flatness. A disadvantage with this method is that the accuracy of the calibration depends on the accuracy of the planes of refer¬ ence and the mounting of the calibration device on the plane of reference. For example waste material on the reference surface or imperfections in the machining of the surface may cause an angular error leading to a calibration error. For calibration with the calibration device mounted on the tool attachment there is a large influence on the calibration result due to the small refer¬ ence surface on the edge of the tool flange. For this mounting position there is also a large influence of the housing of the calibration device on the calibration, which leads to differences between production and field calibrations.
OBJECTS AND SUMMARY OF THE INVENTION
The object of the present invention is to provide an improved calibration method, which minimizes the influence from the mounting of the calibration device on the robot.
This object is achieved by a method as defined in claim 1. Ac- cording to the invention an axis is calibrated based on angular measurements in two or more calibration positions. In the follow-
ing the axis to be calibrated is called the calibration axis. The vertical line is defined as the line of gravity. The reference di¬ rection is either the direction of a fixed reference or the direction of an axis earlier in the cinematic chain. The measuring axis is selected as one of the robot axes and it is used for rotating the robot between the calibration positions during calibration of the calibration axis. The measuring axis should be selected such that the direction of the measuring axis reflects the misalign¬ ment of the calibration axis. This method differs from the previ- ously described prior art method, in that the axis is calibrated based on the relation between an axis and the vertical line, in¬ stead of based on the relation between the mounting plane of the measuring member and the vertical line. Tanks to the fact that the calibration is performed based on the relation between an axis and the vertical line, instead of based on the relation be¬ tween the mounting plane of the measuring member and the ver¬ tical line; the mounting error of the measuring member is elimi¬ nated.
The invention minimizes the mechanical influence on the cali¬ bration result. This is needed in order to facilitate a 100% re- peatable robot position in field with the goal to eliminate pro¬ gram updates and to keep absolute accuracy performance. Me¬ chanical influence can be divided into two groups. The first group will cause errors between the correct kinematic robot po¬ sition and the actual robot position. This deviation is built into the robot, for example due to manufacturing tolerances, and will be repeated every calibration. The result of having cinematic er¬ rors is that the robot behavior will not be as correct as possible. The second group of mechanical influence will cause errors re¬ lated to different sets of calibration equipment. Differences in this area will cause errors in the robot positioning when updating the robot in field after repair. The method according to the in¬ vention minimizes the influence on the calibration result for the first as well as the second group of mechanical influence.
A further advantage with the invention is that the reference planes used in the prior art for calibration of the third and forth axis can be removed since it doesn't have any function with the method according to the invention. Another advantage gained is that the tolerance for manufacturing the reference plane and the calibration equipment are reduced. Another advantage with the invention is that the calibration of the fifth axis can be made in¬ dependent of the position of the third axis. The invention also facilitates the calibration of axes three, four, five and six without dismounting the angle measuring member and by this not intro¬ ducing other measuring error.
The method according to the invention is applicable on any cali¬ bration equipment using a water leveling device, electronic as well as mechanical.
According to an embodiment of the invention the method com¬ prises calculating the direction of the measuring axis based on said angular values, identifying the misalignment of the calibra- tion axis based on the direction of the measuring axis and on basis thereof calibrating the calibration axis. The measuring axis should be selected such that the direction of the measuring axis reflects of the misalignment of the calibration axis. The calibra¬ tion positions are selected so that it is possible to calculate the direction of the measuring axis based on the angular measure¬ ments in the calibration positions. Accordingly, it is possible to calculate the misalignment of the calibration axis based on the measured angular values.
According to an embodiment of the invention two calibration po¬ sitions are selected and the direction of the measuring axis is calculated as the difference between the angular values divided by two. The two calibration positions are selected so that the measuring axis is rotated 180 degrees between the two posi- tions. This is advantageous since it facilitates the mathematics needed for the calibration. However, the invention can be used
for any rotation when combined with transformation onto the plane of calculation.
According to an embodiment of the invention the method com- prises calculating the measuring error of the angular measuring member based on said angular values. The measuring error is the sum of the mounting error and the sensor offset. The cali¬ bration positions are selected such that the measuring error de¬ pends on the relation between the angular values. Thus, it is possible to calculate the measuring error based on the angular measurements in the calibration positions.
According to an embodiment of the invention two calibration po¬ sitions are selected and the measuring error of the angular measuring member is calculated as the sum of the angular val¬ ues divided by two. The measuring axis is rotated 180 degrees between the two positions. This is advantageous since it facili¬ tates the mathematics needed for the calibration. However, the invention can be used for any rotation when combined with transformation onto the plane of calculation.
According to an embodiment of the invention the method com¬ prises selecting a second calibration axis, selecting a reference axis to the second calibration axis, moving the robot to its home position, and calibrating the second calibration axis based on said calculated measuring error and the reference direction of the second calibration axis. This embodiment eliminates the need of a separate reference plane for the third axis and all cali¬ bration can be made without moving the angular measuring member.
According to an embodiment of the invention the method com¬ prises selecting a second calibration axis, selecting a reference axis to the second calibration axis, moving the robot to a new calibration position, reading a new angular value from the angle measuring member in said new calibration position, and calibrat-
ing the second calibration axis based on the new angular value, said calculated measuring error and the reference direction of the second calibration axis.
According to an embodiment of the invention the calibration po¬ sitions are selected such that, provided that the angle measur¬ ing member is ideal and correctly mounted on the robot and that the robot is an ideal robot, the angle measuring member should produce the same angular value, or angular values that differs with a predefined amount, in the calibration positions. If there is a misalignment of the calibration axis, the position of the angle measuring member, and thus the angle measurement, will change between the calibration positions, otherwise the position of the angle measuring member will remain the same.
According to an embodiment of the invention the robot com¬ prises three successive axes including a rear, an intermediate and a fore axes, wherein the intermediate axis is arranged non- parallel to the rear and fore axis, and the method comprises se- lecting the intermediate axis as the calibration axis, the fore axis as the measuring axis, and the rear axis as the reference direc¬ tion, moving the robot to a first calibration position, reading a first angular value from the angle measuring member, moving the robot to a second calibration position, including rotating it about the fore axis, reading a second angular value from the angle measuring member, and calibrating the intermediate axis based on said first and second angular value and the reference direction. For example, the robot includes six axes and said rear axis corresponds to the fourth axis of the six-axes robot, said intermediate axis corresponds to the fifth axis of the six-axes robot, and said fore axis corresponds to the sixth axis of the six- axes robot.
According to another embodiment of the invention the robot comprises three successive axes including a rear, an intermedi¬ ate and a fore axes, wherein the intermediate axis is arranged
non-parallel to the rear and fore axis, and the method comprises selecting the intermediate and rear axis as the calibration axes and the fore axis as the measuring axis, moving the robot to a first calibration position, reading a first angular value from the angle measuring member, moving the robot to a second calibra¬ tion position, including rotating the robot about the fore axis, reading a second angular value from the angle measuring mem¬ ber, and calibrating the rear and intermediate axes based on said first and second angular value, and the measured reference direction. For example, the robot includes six axes and said rear axis corresponds to the third axis of the six-axes robot, said in¬ termediate axis corresponds to the fourth axis of the six-axes robot, and said fore axis corresponds to the fifth axis of the six- axes robot. According to this embodiment of the invention the rear, and intermediate axis are calibrated based on only two an¬ gular measurements. This embodiment and the previous can be combined for all three calibrations without dismounting the an¬ gular measuring member.
According to an embodiment of the invention robot comprises a tool attachment mounted rotatable about an tool axis and the angular measuring member is mounted on the tool attachment, wherein the method comprises before reading at least some of the angular values moving the robot about the tool axis so that the angular measuring member is brought into its measuring po¬ sition. This embodiment makes it possible to carry out all neces¬ sary measurements without having to dismount the angular measuring member and reorientate it between the measure¬ ments.
According to an aspect of the invention, the object is achieved by a computer program directly loadable into the internal mem¬ ory of a computer or a processor, comprising software code por¬ tions for performing the steps of the method according to the in- vention, when said program is run on a computer. The computer
program is for example provided on a computer readable me¬ dium or through a network.
According to another aspect of the invention, the object is achieved by a computer readable medium having a program re¬ corded thereon, when the program is to make a computer per¬ form the steps of the method according to the invention, and said program is run on the computer.
Another object of the present invention is to provide a system for automatic calibration of an industrial robot, which minimizes the influence from the mounting of the calibration equipment on the robot. This object is achieved by a system defined by claim 24. It is easy to realize that the method according to the inven- tion, as defined in the appending set of method claims, is suit¬ able for being executed by an automatic calibration system. Even though not explicitly expressed in the claims, the invention covers a system adapted for carrying out the method according to the appended method claims.
A calibration method according to the invention is useful for calibration of an industrial robot having six axes, as well as for calibration of a robot having any other number of axes.
BRI EF DESCRIPTION OF THE DRAWINGS
The invention will now be explained more closely by the descrip¬ tion of different embodiments of the invention and with reference to the appended figures.
Fig. 1 shows an industrial robot in its home position and an angular measuring member mounted on the robot.
Fig. 2 shows the basic principle for the method according to the invention.
Fig. 3 shows a side view of an example of a first calibration position for the robot.
Fig. 4 shows a side view of an example of a second calibration position for the robot.
Fig. 5 shows in a view from above of an example of a third calibration position for the robot.
Fig. 6 shows in a view from above an example of a fourth cali¬ bration position for the robot.
Fig. 7a shows a further example of a calibration position in a side view.
Fig. 7b shows an example of three different calibration positions seen from above.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
Figure 1 shows an example of a 6-axis industrial robot standing in a traditional calibration position, also denoted the home posi¬ tion of the robot. The robot comprises a base 1 , which is firmly mounted on a foundation. The robot further comprises a stand 2, which is rotatable relative to the base 1 around a first vertical axis A1. In the top end of the stand 2, a first robot arm 3, is ro- tatably mounted about a second horizontal axis A2. In the outer end of the first arm 3, a second arm 4 is rotatably mounted rela- tive to the first arm about a third axis A3. The second robot arm 4 comprises two parts, 4a and 4b, and the outer part 4b being rotatable relative to the inner part 4a around a fourth axis A4 coinciding with the longitudinal axis of the second arm 4. In its outer end, the second arm 4 supports a so-called robot hand 5, which is rotatable about a fifth axis A5, which is perpendicular to the length axis of the second arm 4. The robot also comprises a
tool attachment 6 in the form of a tool plate. The outer part of the robot hand with the tool attachment 6, is rotatable relative to the inner part of the robot hand about a sixth axis A6.
When the robot is in its home position, as shown in figure 1 , the first axis A1 is essentially parallel with the vertical line. The second axis A2, the third axis A3 and the fifth axis A5 are es¬ sentially parallel to each other and essentially perpendicular to the first axis A1 , i.e. perpendicular to the vertical line. The fourth axis A4 and the sixth axis A6 are essentially parallel with each other and also perpendicular to the vertical line. A base coordinate system XYZ is defined for the robot. For each of the axes of the robot, there is a level indicator giving a signal, which is a measure of the present rotational angle of the axis. The output signal from the level indicator is transmitted to a control system 8 of the robot.
In figure 1 , an angular measuring member 7 is mounted on the tool plate 6. The angular measuring member measures the angle between a measuring line and the vertical line. The angular measuring member is for example an electronic or mechanical water levelling device, such as an inclinometer. For example a Wyler sensor is suitable as angular measuring member.
The basic principals of the method according to the invention will now be discussed in relation to figure 2. According to the invention a measuring axis is selected for calibration of a par¬ ticular axis. For a particular axis there is often more than one alternative for the measuring axis. For example, when axis A5 is to be calibrated it is possible to select between axis A4 and A6 as the measuring axis, when axis A4 is to be calibrated it is possible to select between axis A5 and A6 as the measuring axis, and when axis A3 is to be calibrated it is possible to select between axis A5 and A6 as the measuring axis.
Further a reference axis is selected, which is used as a refer¬ ence during the calibration. Different reference axis can be used during the calibration. The reference axis is either a fixed refer¬ ence, for example the normal to a reference plane of the robot, or one of the robot axes. For example axis A1 or A4 is suitable as the reference axis. The calibration axis should be positioned after the reference axis in the kinematic chain of the robot. The direction of the measuring axis relative to the direction of the reference axis is measured and used for providing the calibra- tion axis with a calibration position. In order to measure the di¬ rection of the measuring axis, it is rotated between at least two angels and the angle measuring device is read for those angels. The measuring axis should be selected such that the direction of the measuring axis reflects of the misalignment of the calibration axis.
During the calibration, the calibration axis has to be positioned in a direction that differs from the vertical line. The best accu¬ racy is obtained when the calibration axis is perpendicular to the vertical line, but this is not necessary. In the example shown in figure 2, an axis 10 is selected as the calibration axis and an axis 14 is selected as the measuring axis. The calibration axis 10 is perpendicular to the vertical line 12. The measuring axis 14 is perpendicular to the vertical line and to the calibration axis 10. An angle measuring member 7 is mounted on the robot so that it measures angular changes of the calibration axis 10 rela¬ tive to the vertical line 12. The angle measurements from the measuring member correspond to the angle between the meas¬ uring axis 16 of the member 7 and the vertical line 12. According to the invention the measuring axis 14 is rotated between at least two angular positions.
The angular positions used for the calibration are selected such that the angle measuring member 7 member is ideal and should provide the same angular value in both positions if the measur¬ ing member is correctly mounted on the robot and if the calibra-
tion axis is correctly positioned. As shown in figure 2 the posi¬ tion of the angle measuring member has been changed during the rotation, and accordingly the angular values ml , m2 from the angle measuring member will differ between the calibration posi- tions, which means that there exists a calibration error. The calibration axis is calibrated by adjusting it so that it obtains a predefined calibration angle, which usually is zero. An angle α is calculated as the difference between the angular values ml , m2 in the calibration positions. The calibration error for the calibra- tion axis 10 is the difference between the angular measurements in the calibration positions divided by two, i.e. α/2= (ml - m2)/2. Thus, the calibration axis should be adjusted with the amount α/2.
In the following it will be shown by way of an example how the general principle explained above can be used for calibration of a robot having six axes. However, the invention is not limited to a six axes robot, in the opposite the general method is also ap¬ plicable for robots having various numbers of axes.
It is possible to calibrate all axes, except axis A6, with the method according to the invention, but is not always practical. Preferably, calibrations of axis A1 , A2 and A6 are performed by any of the prior art calibration methods known as such. Even though it for example is possible to calibrate axis A2 with the method according to the invention, it is not practical since it re¬ quires that axis A1 is rotated 180 degrees and the space needed to performing this rotation is normally not available. During cali¬ bration of the first axis A1 reference angles from the base are read and stored in the control system of the robot. Preferably, the calculations performed during the entire calibration are per¬ formed in the control system of the robot. Thereafter, the control system orders the axes being calibrated to move in dependence of the calculated adjustments value until the axis ends up in its predetermined zero position. As an alternative the identified calibration angles can be used directly without moving the robot.
During calibration of axes A3, A4, A5 and A6 the angular meas¬ uring member 7 is attached to the tool attachment 6. The method according to an embodiment of the invention will be de- scribed with reference to figures 3 - 6.
Figure 3 illustrates calibration of axis A5. At the beginning of the calibration the robot is moved to a rough calibration position, i.e. a position close to the home position. The rough calibration po- sition should preferably be within 5 degrees from the actual home position. At wider angles, the angle measuring member may not work properly. Figure 3 shows the robot in a first cali¬ bration position A. Axis A5 is selected as the calibration axis and axis A4 is selected as the measuring axis. A first angular value a is read from the measuring member 7 when the robot is in the first calibration position A. Thereafter the robot is moved to a second calibration position B as showed in figure 4. When changing from the first A to the second B calibration position axis A4 is turned 180 degrees and axis A6 is counter rotated 180 degrees so that it is possible to use the same position of measuring member for measuring the new angular position.
As seen from figure 3 and 4, the angular measuring member 7 has a slightly changed position due to misalignment of axis A5. A second value b is read from the measuring member with the robot in the second calibration position B. The readings a and b shall be made in the XY-plane of the base coordinate system of the robot. Thereafter the misalignment of axis A5 is calculated as the difference between the measured angular values divided by 2, i.e. [(a-b)/2]. The amount the axis A5 should be adjusted to obtain a zero position is calculated as [a - (a-b)/2] and axis A5 is moved accordingly.
Calibration of axis A3 and A4 will now be discussed in relation to figure 5 and figure 6. With the angular measuring member 7 still mounted on the tool plate, the robot is moved to a third cali-
bration position C, as shown in figure 5, by turning axis A4 90 degrees and counter rotating axis A6 90 degrees. In this em¬ bodiment there are two calibration axes, axis A3 and A4, and axis A5 is selected as the measuring axis. In the third calibration position C axis A5 is essentially vertical. Thereafter, axis A5 is moved 90 degrees. The robot will now have the calibration posi¬ tions shown in figure 5. In this position a third angular value c is read from the angular measuring member. The robot is then moved into a fourth calibration position D, as shown in figure 6, by moving axis A5 180 degrees. In the fourth calibration position D a fourth angular value d is read from the angular measuring member. The readings shall be made in the XY plane of the base coordinate system of the robot.
The average of the readings (c - d)/2, wherein d is measured turned 180 degrees, shall be equal to the reference value meas¬ ured on the base, i.e. the base reference of the robot. The dif¬ ference between the base reference and the average of the reading is the misalignment of axis A4. This information is used for correction of axis A4. Accordingly, axis A4 is adjusted based on the difference between the base reference and the average reading, i.e. [base ref - (c - d)/2]. After repositioning for reading c, axis A4 of the robot is moved to the value [c + base ref - (c - d)/2].
The misalignment in the mounting of the angular measuring member on the tool plate is calculated as the sum of the read¬ ings c and d divided by 2, i.e. [(c+d)/2], wherein d is measured turned 180 degrees. Axis A4, axis A5 and axis A6 are rotated back to the home position. Axis A3 is then calibrated based on the calculated misalignment of the angular measuring member, i.e. based on [(c+d)/2]. Axis A3 is moved to a new value, which is calculated as the base reference value, adjusted for the mis¬ alignment of the angular measuring member [(c+d)/2], and is now corrected. Thus, axes A3, A4 and A5 have been calibrated based on only four measurements.
The method according to the invention is suitable for being automatically executed by a computer program having instruc¬ tions corresponding to the steps in the inventive method when run on a processor unit, for example in the control system of the robot. The operator mounts the angle measuring member on the tool plate. The software produces control signals moving the ro¬ bot to the calibration positions. The control system receives measurement signals from the angular measuring member and calculates the adjustments necessary in order to calibrate the axis. The software produces control signals to the robot based on the calculated adjustments. The robot is moved in accor¬ dance with the received control signals until the axis is in its correct position. The control system of the robot comprises nec- essary equipments, such as a processor, memory, and other units for running the software, which performs the calibration.
There are many possibilities to implement the invention for cali¬ bration of the axes A3, A4, A5. For example axes A4 and A5 can be calculated by rotating axis A6 between three calibration posi¬ tions V1 , V2 and V3, as shown in figure 7a and 7b. Axis 6 is then rotated 120 degrees between the three calibration posi¬ tions, and three angular values v1 , v2 and v3 are read for the three positions. Axis A4 and A5 is calibrated based on the three angular measurements. For any other choice of calibration posi¬ tions more than two positions with other angle difference than 180 degree, the angular values from the angular measuring member need to be recalculated (projected) on a plane to iden¬ tify the position of the calibration axis.
The present invention is not limited to the embodiments dis¬ closed but may be varied and modified within the scope of the following claims. For example it should be noted that the steps of the invention could be performed in a sequence different from them disclosed in the previous embodiment examples. In par¬ ticular the sequence of the steps in the claim could as well be
performed in another order to achieve the object of the inven¬ tion. In the previously described example, the sequence in which the axes are calibrated is A5, A4, A3. However, it is also possi¬ ble to calibrate the axes for example in the sequence A4, A5, A3. In order to achieve a high accuracy axis A5 should prefera¬ bly be calibrated before axis A3. It is also possible to perform all the measuring before executing the calibration of the axis.