Device and method for calibration of a multi-axis industrial robot

Information

  • Patent Grant
  • 6205839
  • Patent Number
    6,205,839
  • Date Filed
    Thursday, September 25, 1997
    27 years ago
  • Date Issued
    Tuesday, March 27, 2001
    23 years ago
Abstract
An equipment for calibration of an industrial robot which has a plurality of axes of rotation and wherein, the equipment comprises a measuring device is adapted for rotatable connection to a reference point the position of which is known, is adapted to be in contact with the robot, or a tool carried by the robot, during the calibration process, and has an axis of rotation which intersects the reference point when the measuring device is connected to the reference point. The measuring device further comprises a gravity sensor which is so mounted so that the axis of the gravity sensor is substantially parallel to the axis of rotation of the measuring device, whereby the gravity sensor measures the angle between the gravity vector and axis of rotation.
Description




TECHNICAL FIELD




The present invention relates to a method for calibration of an industrial robot.




The invention also relates to equipment for calibration of the above-mentioned robot.




BACKGROUND OF THE INVENTION




An industrial robot may be viewed as a chain consisting of stiff links. Two links are joined to each other in such a way that they are rotatable in relation to each other around an axis of rotation, or displaceable in relation to each other along a linear movement path. An industrial robot usually has six axes of rotation. The last link in the chain may consist of a tool which, depending on the field of application, may be a gripper, a glue gun or a welding gun. In the following, the links in a robot will be referred to as arms, and their lengths will be referred to as arm's lengths.




For each of the axes of rotation or linear movement paths, servo equipment with a driving motor and a position transducer is provided, the transducer delivering a signal which is a measure of the angle of rotation of the actual axis in relation to a reference position. The servo system of each axis is supplied with a reference value of the angle of rotation or linear movement of the axis, and the driving motor of the axis causes the robot to move until the axis position indicated by the position transducer of the axis corresponds to the reference value supplied to the servo system. In order for the position and orientation of the tool to correspond to the desired values, the mechanical structure of the robot and the parameters, so-called kinematic parameters, which describe it must be known with a high accuracy. Since the kinematic parameters are not exactly the same for each robot, the individual deviations from an ideal robot, that is, the kinematic error parameters of the robot, must be known if a high accuracy is to be attained.




Examples of kinematic error parameters are variations in the lengths of the arms, so-called arm's length errors, obliquities in the axes of rotation in relation to each other, so-called axis-attitude errors, and lateral displacements of the axes in relation to each other, so-called axis-offset errors. These deviations arise during manufacture of the different mechanical components and during the assembly thereof. To this it is to be added the fact that the angle indicated by the position transducer of an axis must with great accuracy correspond to the actual angle of rotation of the arm which is controlled with the aid of the axis in question, so-called synchronizing errors.




For determining the deviation of an individual robot from an ideal robot, various forms of calibration methods are used. A large number of calibration methods are known. A disadvantage with certain of these methods is that they do not manage to make a complete calibration, that is, determine both arm's length errors, axis-attitude errors, axis-offset errors, synchronizing errors, transmission errors, and deflection errors for all of the axes of the robot. A disadvantage with the known methods which do manage to make a complete calibration is that they require expensive and delicate calibration equipment, for example theodolites.




SUMMARY OF THE INVENTION




The object of the invention is to provide a calibration method which




manages to calibrate all the axes of a six-axis robot, as well as the mounting of the tool and the mounting of the robot foot,




manages to calibrate arm's length errors, axis-attitude errors, axis-offset errors, synchronizing errors, transmission errors,




does not require expensive equipment,




provides high accuracy,




can be used under active-service conditions, for example in a production line for cars,




can be used without the robot-carried tool having to be dismantled,




can be used for fully-automatic calibration, for example during final testing of robots, and




is fast and can be performed without complicated adjustments of robot positions.




The invention also aims to provide calibration equipment to be used with the above-mentioned calibration method, wherein the equipment




is inexpensive,




is robust enough to endure a workshop environment,




is portable and hence easy to transport, and




does not need to be calibrated.




The configuration of the robot is defined by the angles of the axes of rotation thereof, and one configuration distinguishes from another if at least some of the angles of axes are changed.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

schematically shows an industrial robot which can be calibrated with a method according to the invention.





FIG. 2

shows the different coordinate systems of the robot.





FIG. 3

schematically shows a simple embodiment of measuring equipment according to the invention which is suitable for use under active-service conditions.





FIGS. 4



a


and


4




b


show the principle of how an axis of rotation is determined with a high precision by a gravity sensor.





FIGS. 5



a


-


5




d


schematically show an embodiment of measuring equipment according to the invention, which is suitable for use in an automatic calibration method.

FIG. 5



b


shows a section A—A in

FIG. 5



a.







FIG. 5



e


shows an embodiment of a calibration tool according to the invention.





FIGS. 6



a


and


6




b


show alternative embodiments of means for connection to a reference point.





FIG. 7



a


shows an embodiment of a member adapted to be in contact with the robot during the calibration method.





FIG. 7



b


shows a further embodiment of a calibration tool according to the invention.





FIGS. 8 and 8



a


and


8




b


show an embodiment of measuring equipment according to the invention, which comprises an optical measuring system.

FIG. 8

shows a measuring device and

FIGS. 8



a


and


8




b


show alternative locations and embodiments of a calibration tool for optical measurement.





FIG. 8



c


shows an embodiment of measuring equipment with a non-contacting, non-optical sensor.





FIG. 9

shows how the measuring device and the calibration tool in

FIG. 5



a


are arranged for measuring the synchronizing error of axis A


5


, and the attitude and offset errors of axis A


6


in relation to axis A


4


.





FIG. 10



a


shows how the attitude error of the calibration tool in the y-direction is calculated.





FIG. 10



b


shows how the attitude error of axis A


6


in the y-direction is calculated.





FIG. 10



c


shows how the synchronizing error of axis A


5


is calculated.





FIG. 10



d


shows how the offset error of axis A


6


in relation to axis A


4


in the z-direction is calculated.





FIGS. 11



a


and


11




b


show a measurement arrangement for measuring the attitude error of axis A


1


in relation to the gravitational direction and the synchronizing error of axes A


3


-A


6


.





FIGS. 12



a


and


12




b


show a measurement arrangement for measuring the attitude error and offset error of axis A


1


in relation to the workshop floor and the synchronizing error of axes A


1


, A


2


and A


3


.





FIGS. 13 and 14

show a measurement arrangement for measuring attitude errors in axis A


3


.





FIG. 15

shows a measuring arrangement for measuring attitude errors in axis A


2


.





FIG. 16

shows a measurement arrangement for measuring arm's length errors.











DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS





FIG. 1

shows an example of a known industrial robot which may advantageously be calibrated with the method and the device according to the invention. On a base


1


, the foot


2


of the robot is mounted. The robot has a first arm


3


, which is rotatable in relation to the foot


2


around a vertical axis A


1


. At the upper end of the first arm, a second robot arm


4


is journalled and rotatable in relation to the first arm around a second axis A


2


. In the outer end of the second arm, a third arm


5


is journalled and rotatable in relation to the second arm around an axis A


3


. The third robot arm


5


comprises two parts


5




a


and


5




b


, the outer part


5




b


being rotatable in relation to the inner part


5




b


around an axis of rotation A


4


coinciding with the longitudinal axis of the arm. At its outer end, the third arm


5


supports a fourth arm


6


, which is rotatable around an axis of rotation A


5


perpendicular to the longitudinal axis of the third arm. The outer part of the fourth arm consists of a tool attachment


6




a


which is rotatable in relation to the inner part of the fourth arm around an axis of rotation A


6


. The angles of rotation in the six axes of rotation A


1


. . . A


6


are designated θ


1


. . . θ


6


in the figure. On the tool attachment, a calibration tool


7


is mounted. The fourth arm and the tool attachment are referred to as the hand of the robot.





FIG. 2

shows in the form of a simple sketch the kinematics of the six-axis robot in FIG.


1


and its associated coordinate systems. The robot has four current arm's lengths referred to as L


1


, L


2


, L


3


, L


4


, which means that there may be four arm's-length errors designated ΔL


1


, ΔL


2


, ΔL


3


, ΔL


4


. The nominal arm∝s lengths are designated L


1




nom


, L


2




nom


, L


3




nom


, L


4




nom


. The current arm's length constitutes the sum of the nominal arm's length and the arm's-length error. The first arm's length L


1


is the distance between the origin of coordinates in the so-called base coordinate system (see below) and the axis A


2


. The second arm's length L


2


is the distance between the axis A


2


and the axis A


3


. The third arm's length L


3


is the distance between the axis A


3


and the axis A


5


. The fourth arm's length L


4


is the distance between the axis A


5


and the tool attachment


6




a.






The robot foot comprises a base coordinate system (x


1


, y


1


, z


1


), which is an orthogonal coordinate system with the z


1


axis coinciding with the axis of rotation A


1


and with the x


1


axis in a predetermined direction in relation to the robot foot (normally pointing straight ahead). Axis A


1


has a synchronizing error Δθ


1


, two offset errors O


1




x1


, O


1




y1


, and two attitude errors φ


1




x1


, φ


1




y1


. Axis A


2


is parallel to the y


1


axis in the base coordinate system and has a synchronizing error Δθ


2


and two attitude errors φ


2




x1


, φ


2




z1


. The attitude errors φ


2




x1


and φ


2




z1


are defined as those directional errors the axis A


2


has in the x


1


and z


1


directions, respectively. The attitude error φ


2




y1


is the same error as the synchronizing error Δθ


2


.




The intersection point between axis A


1


and axis A


2


constitutes the origin of coordinates in a second coordinate system (x


2


, y


2


, z


2


). The Z


2


axis in the second coordinate system is parallel to the second robot arm, and the y


2


axis coincides with the axis A


2


. The axis A


3


has a synchronizing error Δθ


3


and two attitude errors φ


3




x2


, φ


3




z2


. The axis A


3


has an offset error in the x


2


direction, but it is part of the synchronizing error of axis A


2


, that is Δθ


2


.




The intersection point between axis A


3


and axis A


4


constitutes the origin of coordinates in a third coordinate system (x


3


, y


3


, z


3


). The x


3


axis in the third coordinate coincides with the axis A


4


, and the y


3


axis coincides with the axis A


3


. The axis A


4


has a synchronizing error Δθ


4


, two offset errors O


4




y1


and O


4




z3


in relation to the axes A


1


and A


3


, respectively, and two attitude errors φ


4




y3


, φ


4




z3


. The axis A


5


has a synchronizing error Δθ


5


, two attitude errors φ


5




x3


, φ


5




z3


. The axis A


5


has an offset error in the z


3


direction, but it is part of the synchronizing error of axis A


3


, that is Δθ


3


.




The origin of coordinates in the fifth coordinate system (x


5


, y


5


, z


5


) consists of the intersection point between the axis A


5


and the axis A


6


. The x


5


axis in the third coordinate system coincides with the axis A


6


, and the y


5


axis coincides with the axis A


5


. The axis A


6


has a synchronizing error Δθ


6


, two offset errors O


6




y5


, O


6




z5


, and two attitude errors φ


6




y5


, φ


6




z5


. The attitude error φ


6




z5


is part of the synchronizing error Δθ


5


. All the parameters are defined when the robot in

FIG. 2

is in its so-called synchronizing position, that is, when the second arm is vertical and the third and fourth arms are horizontal.





FIG. 3

shows a simple embodiment of calibration equipment according to the invention. The calibration equipment comprises a measuring device


10


which in turn comprises a measuring rod


11


, one end of which is formed as a tip


12


for connection to a reference point (x


0


,


0


, z


0


) in a first precision hole


13


in the robot foot or in the floor or the device


14


on which the robot foot is mounted. The other end of the measuring rod comprises a resilient measuring tip


15


for connection to a predetermined measuring point on the robot (x


r


, y


r


, z


r


) in a second precision hole


16


, which is arranged in a robot arm or in a robot-carried calibration tool


17


. The resilient measuring tip may alternatively include a position sensor for distance measurement in the z-direction. The measuring rod


11


has an axis of rotation


11




a


which intersects the reference point (x


0


, y


0


, z


0


) and the measuring point (x


r


, y


r


, z


r


). The measuring device


10


further comprises a gravity sensor


18


arranged on a sensor shelf


19


, which is arranged on the measuring probe


11


and substantially perpendicularly and outwardly therefrom. The gravity sensor measures the angle between the gravity vector and a reference axis


20


which intersects the reference point (x


0


, y


0


, z


0


) and the measuring point (x


r


, y


r


, z


r


). The gravity sensor may, for example, be an electronic spirit level.





FIGS. 4



a


and


4




b


show the principle of how an axis of rotation


21


is determined with high precision by means of a gravity sensor


18


. The angle α which is to be determined is the average direction


22


of the axis of rotation in relation to the direction


23


of the gravity force. This means that the axis of rotation


21


in

FIG. 4



a


has the direction α−ξ/2, where ξ/2 is the spin amplitude when the sensor is rotated around the axis of rotation, and that the axis of rotation


21


in

FIG. 4



b


has the direction α+ξ/2. A gravity sensor


18


, with an offset error ∂ and with a mounting error β, is mounted so that the axis


25


of the gravity sensor, that is, its zero direction, is to be substantially parallel to the axis of rotation


21


. Angles are indicated relative to the gravity vector with a positive clockwise angle. The angle of deflection


24


of the sensor is dependent, among other things, on the offset error ∂ and the mounting error β. The output signal of the sensor in

FIG. 4



a


is given by the difference between the direction of deflection


24


and the zero direction


25


:








u




s1




=K




s


(−α+ξ/2−β−∂)   (1)






K


s


is the sensitivity of the sensor.




In

FIG. 4



b


the sensor is rotated 180° around the axis of rotation


22


. The output signal of the sensor is then:








u




s2




=K




s


(α+ξ/2−β−∂)   (2)






 (


u




s2




−u




s1


)/2=


K




s


·α  (3)




The difference between the deflections of the sensor for the two measurements is thus proportional to the average direction α of the axis of rotation in relation to the direction of the force of gravity. Thus, neither the mounting error β nor the offset angle ∂ of the sensor will influence the measurement result, and therefore the sensor may be mounted in a simple way and a sensor without absolute calibration can be used. In addition, any centering errors ξ which give rise to spin of the axis of rotation will be compensated for.




The measuring device in

FIG. 3

may, for example, be used to determine the coordinates for the measuring point (x


r


, y


r


, y


r


). The measuring device is connected to the two precision holes


13


and


16


and are then rotated three times one-fourth of a revolution, whereby the gravity sensor is read at the angles 0, π/2, π and 3π/2. The corresponding sensor deflections are u


s0


, u


sπ/2


, u





and u


s3π/2


, and with the aid of these values, the inclination of the measuring rod in the x- and y-directions can be calculated according to:






α


x


=(


u




s0




−u







)/2


Ks


  (4)








α


y


=(


u




sπ/2




−u




s3π/2


)/2


Ks


  (5)






If the length of the measuring probe is L


s


the coordinates of the measuring point, (x


r


, y


r


), can be calculated according to:








x




r




=x




0




+L




s


·sin(α


x


)   (6)










y




r




=y




0




+L




s


·sin(α


y


)   (7)






This simple embodiment of the measuring device is suitable for calibration under active-service conditions, whereby the measuring device is rotated around manually or by the axis A


6


of the robot driving it around. To use the measuring device in

FIG. 3

in an automatic calibration method, a simple motor may be used to rotate the sensor to the four different angles. The robot must also be able to release the measuring probe to measure the position at different z coordinates along the measuring device and against different measuring points of the robot.





FIG. 5



a


shows an example of how a separate measuring device


30


, with an associated calibration tool


41


suitable for automatic calibration, may be designed.

FIG. 5



b


shows the measuring device and the calibration tool in a section A—A in

FIG. 5



a


. The measuring device


30


comprises a cylindrical measuring rod


31


, one end of which is designed as a point


32


for connection to a reference point (x


0


, y


0


, z


0


) in the robot foot or on the workshop floor


40


, and the other end of which comprises a position sensor


33


for measuring the distance to the reference point in the z-direction. In that end of the measuring rod which is connected to the reference point, a balance weight


38


, in the form of a circular disc, is arranged for balancing the measuring rod. To give the measuring device a vertical position of rest, a number of springs


43




a


,


43




b


are mounted between the balance weight and the base


40


. The angle α


xmax


determines the limit of the working range for α


x


.




The measuring device


30


further comprises a gravity sensor


34


and a motor


35




a


, for example a stepping motor, adapted to rotate the gravity sensor around its axis


36


and a counterweight


35




b


to the motor


35




a


. The axis of rotation


36


of the gravity sensor is measured in relation to the axis of rotation


37


of the measuring rod by rotating the measuring rod. It is sufficient to do this once. The gravity sensor


34


, the motor


35




a


and its counterweight


35




b


are arranged on the balance weight


38


. To define the x-axis direction, a guide pin


39


is arranged in the robot foot or on the workshop floor


40


. During the calibration, the robot is in contact with the measuring rod via a calibration tool


41


.





FIG. 5



c


shows the calibration tool viewed from the side. The calibration tool comprises a cylindrical rod


41


on which two cylindrical branches


46




a


and


46




b


are arranged perpendicular to the rod


41


. The two branches make possible measurement with the measuring device


30


in two different positions, POS A and POS B. The measuring device


30


is provided with a hook


47


which may be hooked onto a slotted holder


48


which is arranged on the calibration tool. By hooking the measuring device onto the calibration tool, the measuring device may be lifted out of the precision hole


13


. The measuring device may need to be lifted out both when moving between different precision holes, and when measuring directions of axes of the robot.




If the distance L


s


between the reference point (x


0


,


0


, z


0


) and a measuring point (x


r


, y


r


, z


r


) on the calibration tool is known, see

FIG. 5



a


, x


r


and y


r


for the measuring point may be determined with the following method:




running the measuring device and the calibration tool into contact with each other,




rotating the gravity sensor three-fourths of a revolution and reading it at the angles


0


, π/


2


, π,


3


π/


2


. The corresponding sensor deflections are u


s0


, u


sπ/2


, u





and u


s3π/2


,




calculating the inclination of the measuring rod in the x-and y-directions (α


x


, α


y


) according to equations 4 and 5,




calculating the coordinates (x


r


, y


r


) of the measuring point according to equations 6 and 7.




The difference in the position of the measuring point between two different measurements is obtained at small angular differences Δα


x


, Δα


y


:




 Δx


m




=L




s


·Δα


x


  (8)






Δ


y




m




=L




s


·Δα


y


  (9)






Δx


m


: The movement of the measuring rod in the x direction, (see

FIG. 5



d


)




Δy


m


: The movement of the measuring rod in the y direction.




This embodiment of the calibration equipment can be directly used in order to automatically calibrate, in one sequence, the axes of rotation A


1


-A


6


with respect to the synchronizing error, and to measure most of the kinematic error parameters of the robot.




Instead of using one rotating gravity sensor, two gravity sensors may be arranged perpendicular to each other. These are calibrated by rotation of the measuring rod. Whether one rotating or two perpendicular gravity sensors are used is determined by the sensor price and by the long-term stability of the offset error ∂.




To obtain a reliable contact between the measuring rod and the calibration tool, the calibration tool may be provided with magnets, preferably electromagnets.

FIG. 5



e


shows a calibration tool


44


provided with two magnets


45




a


and


45




b.







FIGS. 6



a


and


6




b


show alternative embodiments of means for connection to the reference point (x


0


, y


0


, z


0


).

FIG. 6



a


shows a connection means in the form of a sphere


50


which is inserted into a conically shaped precision hole


51


in the workshop floor


14


. An advantage with a sphere compared with a point is that the sphere gives the measuring device a larger working range. Instead of a balance weight and springs, the measuring device shown in

FIG. 6



b


is provided with two supporting legs


52




a


,


52




b


to balance the measuring device. Each of the supporting legs terminates with a spherical body which is inserted into respective conical holes in the floor.





FIG. 7



a


shows an embodiment of a means adapted to be in contact with the robot during the calibration process, wherein the means is formed as a sphere


55


which will be referred to in the following as a measuring ball. During the calibration process, the measuring ball is in contact with a conically shaped hole


56


in the robot or a calibration tool


57


. For distance measurements in the z-direction, a position sensor


58


is arranged below the measuring ball.

FIG. 7



b


shows an example of a calibration tool


57


adapted to be used in combination with the measuring ball


55


. The calibration tool comprises a rod


58


with a plurality of conical holes,


56




a


,


56




b


,


56




c


,


56




d


, arranged in spaced relationship to each other.




To reduce the number of necessary measurements when determining the kinematic error parameters of the robot, the calibration tool may be provided with a gravity sensor


59


, whereby both the working point (TCP) of the tool and the inclination in the xz-plane may be measured with high accuracy.




If the measuring device comprises more than one measuring ball with an associated position sensor, a large working range may be obtained for measuring the error parameters of the robot.




By making the measuring device in telescopic design and measuring the compression of the telescope with, for example, a resolver arrangement, the measuring range in the z-direction may be greatly extended.




A further extension of the measuring range is obtained with a measuring device


77


comprising an optical measuring system, whereby either the measuring device is provided with a light source and the robot-carried tool is provided with light detectors or vice versa.

FIG. 8

shows the case where a light source


60


, suitably a laser diode, is mounted in a cylindrical and hollow measuring rod


61


. The measuring rod


61


may be rotated by a motor


62


, which is arranged on a platform


63


, balanced by springs, with guide pins


64


and a precision ball


65


in a conical precision hole


66


in the workshop floor. On the measuring rod


61


, a gravity sensor


67


is mounted, and when the motor


62


rotates around the measuring rod


61


, the gravity sensor measures the direction


60




a


of the axis of rotation relative to the direction of gravity. At the same time the axis of rotation


60




a


is the axis around which the light beam from the laser diode will move. If the light beam hits a lateral photodetector, for example a lateral photodiode or photomatrix, the illuminated spot on the detector will move in a circular path on the surface of the detector. The center of this path will thus be the point of intersection of the axis of rotation with the surface of the detector.





FIGS. 8



a


and


8




b


show how the robot-carried calibration tool


68


is provided with two lateral photodetectors


69


and


70


, which are mounted perpendicular to each other to capture the two light beams


72


and


73


from a beamsplitter


71


. When the calibration tool is placed straight above the measuring rod


61


, as shown in

FIG. 8



a


, the detector


70


will read the position of the tool in the x- and z-directions whereas the detector


69


reads the orientation of the tool in the xz plane. If a beamsplitter


74


is mounted at the orifice of the measuring rod


61


, possibilities of making measurements perpendicular to the axis of rotation of the measuring rod are obtained. Thus, according to

FIG. 8



b


, the two detectors


69


and


70


measure the position in the z-direction, whereas the detector


70


may also be used for measuring the tool orientation in the xz plane.





FIG. 8



c


shows how an electromagnetic sensor


75


, which may be capacitive or inductive, measures the position of the measuring point (x


r


, y


r


) in the xy-plane relative to the cylindrical surface of the measuring rod


61


. The cylindrical surface may, where necessary, consist of plane grinding surfaces. By placing collars


76


on the measuring rod, the sensor can also measure the position of the measuring point in the z-direction, that is, z


r


. In addition to electromagnetic sensors, mechanical or ultrasonic sensors can be used.





FIG. 9

shows how the measuring device and the calibration tool in

FIG. 5



a


are arranged for measuring the synchronizing error Δθ


5


of the axis A


5


as well as the attitude error φ


6




y5


and the offset errors O


6




y5


of axis A


6


relative to axis A


4


. The configuration of the robot is chosen so that axis A


4


and axis A


6


are horizontal. The calibration tool


41


is mounted on the tool attachment


6




a


of the robot in such a way that the calibration tool


41


becomes centered in the average direction of rotation of the axis A


6


. The robot is run so that the calibration tool


41


makes mechanical contact with the measuring rod


31


. The measurements are carried out with the calibration tool or the robot axis A


2


in two positions, POS A and POS B. In POS A, contact is achieved between the measuring rod and that part of the calibration tool which is nearest the tool attachment, and in POS B contact is achieved between the measuring rod and the outer part of the calibration tool. The distance between the measuring rod in position A and in position B is L


AB


. The following measurement sequence is carried out:




a) With the calibration tool (or robot) in position according to POS A, axis A


6


is rotated three-fourths of a revolution and the gravity sensor is read at the angles θ6=0, π/2, π, 3π/2 for axis A


6


. The robot thus assumes four different configurations at which the gravity sensor is read.




b) With the calibration tool in position according to POS A, axis A


4


is rotated at least three-fourths of a revolution and the gravity sensor is read at the angles θ4=0, π/2, π, 3π/2 for axis A


4


. The robot thus assumes an additional four different configurations at which the gravity sensor is read.




c) Repeat point a above with the calibration tool in position according to POS B.




d) Repeat point b above with the calibration tool in position according to POS B.




From the readings from point a and point c, the offset errors, OT


y


, OT


z


, and the attitude errors AT


y


, AT


z


, of the calibration tool relative to axis A


6


are calculated, both in the y- and z-directions.

FIG. 10



a


shows how the attitude errors of the calibration tool in the y-direction are calculated. The average movement in the y-direction in positions A and B is calculated according to the following:






Δ


y




m




A


=(


y




m




A


(θ6=0)−


y




m




A


(θ6=π)/2   (10)








Δ


y




m




B


=(


y




m




B


(θ6=0)−


y




m




B


(θ6=π)/2   (11)






y


m


B=The position of the measuring rod in the y-direction when measuring in POS B.




y


m


A=The position of the measuring rod in the y-direction when measuring in POS A.








AT




y


=(Δ


y




m




B−Δy




m




A


)/


L




AB


  (12)






From the readings from point b and point d, the offset errors for axis A


6


relative to axis A


4


, and the attitude errors for axis A


6


relative to axis A


4


are calculated.

FIG. 10



b


shows how the attitude error φ


6




y5


for axis A


6


in the y-direction is calculated. The distance between the center point of the tool, TCP (Tool Center Point), and position B is designated L


TCP


. The movement of the measuring rod in the y-direction when measuring in position B, Δy


m


B, is calculated according to the following:






Δ


y




m




B


=(


y




m




B





4


=0)−


y




m




B





4


=π)/2   (13)






The attitude error of axis A


6


in the y-direction relative to axis A


4


, φ


6




y5


, is calculated according to the following equation:






φ6


y5




=Δy




m




B/L




TCP


  (14)







FIG. 10



c


shows how the synchronizing error Δθ


5


of axis A


5


may be calculated. The synchronizing error Δθ


5


of axis A


5


is identical with the attitude error in the z-direction for axis A


6


, φ


5




z5


.






Δ


z




m




B


=(


z




m




B





4


=π/2)−


y




m




B





4


=3π/2)/2   (15)








Δθ5=φ6


z5




=Δz




m




B/L




TCP


  (16)







FIG. 10



d


shows how the offset error O


6




z5


of axis A


6


relative to axis A


4


in the z-direction can be calculated. The following relationship may be set up:






φ6


z5


=(Δ


z




m




A−O


6


z5


)/(


L




TCP




−L




AB


)=(Δ


z




m




B−O


6


z5


) /


L




TCP


  (17)






From this equation, the offset error O


6




z5


may be solved:








O


6


z5




=Δz




m




A·L




TCP




/L




AB




−Δz




m




B


·(


L




TCP




−L




AB


)/


L




AB


  (18)






In the above-mentioned calculations, the errors of the calibration tool have already been compensated for. The same principle may be used for measuring the offset errors between axis A


1


and axis A


4


.





FIGS. 11



a


and


11




b


show how the attitude errors φ


1




x1


, φ


1




y1


of axis A


1


relative to the direction of gravitation are measured. φ


1




x1





x


and φ


1




y1





y


, see

FIGS. 4



a


and


4




b


, and is calculated according to equations


4


and


5


. In this embodiment, the robot holds the measuring rod


31


by hooking the rod onto the calibration tool


41


with the aid of the hook


47


which is placed across the holder


48


on the calibration tool. The measuring device, which is fixed to the calibration tool, is suspended somewhat above the shop floor.

FIG. 11



b


shows a simplified sketch of

FIG. 11



a


viewed from above. The robot is then run to four different configurations (A, B, C, D according to

FIG. 11



b


) at which the gravity sensor is read. The four configurations differ only in that the angle of axis A


1


is different. The measured values thus obtained from the gravity sensor then provide the attitude errors of axis A


1


relative to the direction of gravity. The measured values in positions A and B give φ


1




x1


, and the measured values in positions B and D give φ


1




y1


. The same principle may be used for determining the synchronizing error of axes A


3


-A


6


.




In

FIG. 12



a


the measuring rod


31


has been placed in the hole


13


and a hole


56


in the calibration tool has been positioned across the measuring ball


55


which is mounted on the position sensor


33


. For a given robot configuration, that is, for given angles of the axes of rotation A


1


-A


6


, the position (x


r


, y


r


, z


r


) of the measuring point is determined. In the z-direction the position is measured by means of the position sensor


33


. In the x- and y-directions, the position is calculated by means of the equations 4, 5, 6 and 7 using output signals read from the gravity sensor


34


. If the attitude errors and the offset errors of axis A


1


relative to the workshop floor are desired, three precision holes


13


,


13




b


and


13




c


with separate reference points (x


0


, y


0


, z


0


), (x


1


, y


1


, z


1


) and (x


2


, y


2


, z


2


) may be arranged in the floor according to

FIG. 12



b


. The robot then inserts the measuring rod


31


into these recision holes and at each precision hole, measurements of the position of the measuring point are performed according to the above. During the measurements in the holes


13


,


13




b


and


13




c


, the robot is to have the same axial angles for axes A


2


-A


6


, that is, only axis A


1


has different values of the axial angles. From the differences between the measured values in the z-direction for holes


13


,


13




b


and


13




c


, the attitude errors in the x- and y-directions for axis A


1


relative to the floor shop are calculated. From the position determinations in the x- and y-directions for holes


13


,


13




b


and


13




c


, the offsets in the x-direction (


01




x1


) and in the y-direction (


01




y1


) of axis A


1


relative to the nominal position (P


1


) for axis A


1


are calculated.




The synchronizing errors of axes A


1


, A


2


and A


3


are measured with the same arrangement as in

FIG. 12



a


. The hole


13


is measured so as to constitute the zero position for the position sensors of axis A


1


and axis A


2


. The length of the measuring rod corresponds to the zero position of the position sensor of axis A


3


. The synchronizing error of axis A


1


, Δθ


1


is given by the inclination of the measuring rod in the y-direction. In order to directly separate the synchronizing errors of axis A


2


, Δθ


2


from the synchronizing error in axis A


3


, Δθ


3


, axes A


2


and A


3


should be in synchronizing position during the measurement (the second arm


4


vertical and the third arm


5


horizontal). If this is the case, the inclination of the measuring rod in the x-direction will provide the synchronizing error of axis A


2


whereas the value in the z-direction read by the sensor


34


gives the synchronizing error of axis A


3


.






Δθ1


=Δy




m


/(


L




TCP




+L


3)   (19)






 Δθ2=Δ


x




m




/L


2   (20)






Δθ3=Δ


z




m


/(


L




TCP




+L


3)   (21)






When the direction of axis A


1


is known in relation to the direction of gravity (FIG.


11


), the attitude error φ


2




z1


and φ


3




z2


of axes A


2


and A


3


may be determined as the deviation from 90° between axis A


2


and axis A


1


and between axis A


3


and axis A


1


, respectively.




In

FIG. 13

, the attitude error φ


3




z2


of axis A


3


is measured by recording the inclination of the measuring rod in the y-direction at two different robot configurations, Kon A and Kon B, which have the same axial angles for axes A


1


, A


2


, A


4


-A


6


, that is, only axis A


3


has different values of the axial angles. To measure the attitude error in the x-direction, φ


3




x2


, the axis A


2


is rotated so that also the attitude error in the x-direction gives rise to detectable differences in inclination of the measuring rod (see FIG.


14


). The attitude error φ


3




x2


is calculated from the difference in measured attitude error between the measurements in FIG.


14


and FIG.


13


. The measured attitude errors apply relative to the direction of gravity and are therefore re-calculated to apply relative to the direction of axis A


1


with knowledge of the direction of axis A


1


relative to the direction of gravity, which is measured according to FIG.


11


.




The attitude error of axis A


2


in the z-direction, φ


2




z1


, is measured in a corresponding way (see FIG.


15


). Measurements are carried out for two different robot configurations, Kon E and Kon F, which have the same axial angles for axes A


1


, A


3


-A


6


, that is, only axis A


2


has different values of the axial angles. The attitude errors of axis A


2


in the x-direction are normally compensated for during the synchronization of axis A


1


, unless the robot has a design with a large offset between axis A


1


and axis A


2


.




Transmission errors caused by errors in the parallelogram transmission between the motor of axis A


3


and the second robot arm


4


are measured in the simplest way when the measuring rod


31


is hooked onto the calibration tool according to

FIG. 11



a


. The inclination of the measuring rod in the x-direction for different angles of axis A


2


and axis A


3


is then measured with the sensor


34


. From these measurements, a table is then calculated which denotes the transmission error for different angular values of axis A


2


and axis A


3


.





FIG. 16

shows a method of measuring and identifying the arm's length error of the second robot arm


4


. The measurements are carried out in two different robot configurations, Kon G and Kon H. The configurations are chosen such that axis A


4


and axis A


6


are horizontal. Axis A


2


is then run to two positions in which the calibration tool and the measuring rod are in contact with each other. In Kon G, axis A


2


is in the zero position, which means that the second robot arm is vertical. In Kon H, axis A


2


has an angle φ


2


which is known. In both configurations, the measuring rod


31


is rotated, and x


m


G and x


m


H are calculated by means of equations 4 and 6. From

FIG. 16

the following relationship may be set up








x




m




G


=(


L




3




+L




54




+L




c




+L




GH


)   (22)










x




m




H


=(


L




2


·sinφ


2




+L




3




+L




4




+L




c


)   (23)










x




m


H


−x




m


G


=L




2


·sinφ


2




−L




GH


  (24)










L




2


=(


x




m




H=x




m




G+L




GH


)/sinφ


2


  (25)








Δ


L




2




=L




2




nom




−L




2


  (26)






The other arm's length errors may be measured in the same way.



Claims
  • 1. An equipment for calibration of an industrial robot having a plurality of axes of rotation, said equipment comprising a measuring device having:1) means for rotatable connection to a known reference point, 2) means for contact with the robot, or a tool carried by the robot, during a calibration process, and 3) an axis of rotation which intersects the reference point when the measuring device is connected to the reference point, the measuring device further comprising a gravity sensor wherein the axis of the gravity sensor is substantially parallel to the axis of rotation of the measuring device, whereby the gravity sensor measures the angle between a gravity vector and axis of rotation.
  • 2. An equipment according to claim 1, further comprising a calibration tool adapted to be carried by the robot.
  • 3. An equipment according to claim 2, wherein the calibration tool comprises two rods positioned at an angle to each other.
  • 4. An equipment according to claim 2, wherein the calibration tool comprises a gravity sensor.
  • 5. An equipment according to claim 1, wherein the measuring device comprises a light source/photo detector adapted to be in optical contact with at least one photo detector/light source on the robot or a tool carried by the robot.
  • 6. An equipment according to claim 1, wherein the measuring device comprises an attachment device for attachment and fixing of the measuring device onto the calibration tool.
  • 7. A method for calibration of an industrial robot which has a plurality of axes of rotation, said method comprising the steps of:placing a measuring device comprising a gravity sensor for measuring an angle between a gravity vector and a predetermined reference axis of said measuring device into contact with said robot or a calibration tool carried by said robot; running said robot to at least two different configurations; reading an output signal of the gravity sensor in the different configurations at at least two different angles of rotation of said reference axis; calculating a direction (α) of the reference axis relative to the gravity vector based on the read output signals; and calculating error parameters of said robot based on the read output signals.
  • 8. A method according to claim 7, whereinbefore the robot assumes the different configurations, the measuring device and a calibration tool carried by the robot are fixed to each other, the different configurations are assumed by rotating one of the axes of rotation, whereby the measuring device follows the rotation, and the direction of the rotating axis of rotation relative to the gravity vector is calculated based on the read output signals.
  • 9. A method according to claim 7, wherein before the robot assumes the different configurations, the measuring device is connected to a first reference point.
  • 10. A method according to claim 9, wherein with knowledge of the distance between the reference point and a predetermined measuring point and the position of the measuring point, the position of the measuring point relative to the reference point is determined based on the read output signals.
  • 11. A method according to claim 9, wherein before the robot assumes the next configuration, the measuring device is moved and connected to a second reference point.
  • 12. A method according to claim 9, wherein the robot is run to the different configurations so that the calibration tool carried by the robot is brought into contact with the measuring device at different locations along the calibration tool.
  • 13. A method according to claim 9, wherein the robot is run to the different configurations so that the calibration tool carried by the robot is brought into contact with the measuring device at different locations along the measuring device.
Priority Claims (1)
Number Date Country Kind
9501124 Mar 1995 SE
PCT Information
Filing Document Filing Date Country Kind 102e Date 371c Date
PCT/SE96/00353 WO 00 9/25/1997 9/25/1997
Publishing Document Publishing Date Country Kind
WO96/30170 10/3/1996 WO A
US Referenced Citations (9)
Number Name Date Kind
4435905 Bryan Mar 1984
4804897 Gordon et al. Feb 1989
4883938 Sarugaku Nov 1989
5151007 Maruo Sep 1992
5239855 Schleifer et al. Aug 1993
5343397 Yoshino et al. Aug 1994
5404086 Takenaka et al. Apr 1995
5448146 Erlbacher Sep 1995
5668453 Muto et al. Sep 1997
Foreign Referenced Citations (2)
Number Date Country
44 19 909 A1 Dec 1997 DE
69911 Mar 1989 JP