Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD AND A SYSTEM FOR GENERATING DATA FOR CALIBRATING A ROBOT
Document Type and Number:
WIPO Patent Application WO/2017/068240
Kind Code:
A2
Abstract:
A method and system for generating deviation data indicative of inaccuracy in kinematic parameters of a robot are presented. In the method, a planar reference surface is placed in a fixed position with respect to a base frame of the robot. An end-effector of the robot is controlled (202, 203) to be successively in four or more test positions. For each test position, a distance value is obtained (204) with a dial gauge whose body is fixed to the end-effector and whose feeler pin touches a test position-specific test point on the planar reference surface. Estimate positions of the test points are obtained (205) based on the distance values and joint variables corresponding to the test positions. Deviations of the estimate positions from a geometric plane indicate the inaccuracy in the kinematic parameters because the real positions of the test points are coplanar because they belong to the planar reference surface.

Inventors:
WU HUAPENG (FI)
WANG YONGBO (FI)
HANDROOS HEIKKI (FI)
Application Number:
PCT/FI2016/050724
Publication Date:
April 27, 2017
Filing Date:
October 17, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LAPPEENRANNAN TEKNILLINEN YLIOPISTO (FI)
International Classes:
B25J9/16
Foreign References:
CN102927908A2013-02-13
Attorney, Agent or Firm:
BERGGREN OY (FI)
Download PDF:
Claims:
What is claimed is:

1 . A system for generating deviation data indicative of inaccuracy of kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to a base frame of the robot are determined by joint variables related to the robot and by forward- kinematics based on the kinematic parameters, the system comprising:

- an electronic dial gauge (101 ) whose body (1 18) is mechanically supported to be in a fixed position with respect to the end-effector, characterized in that the system further comprises a calibration object (102) hav- ing a planar reference surface (103) in a fixed position with respect to the base frame of the robot, and a controller (104) configured to:

- control, during each of at least four tests, the end-effector to be in one of mutually different test positions so that a feeler pin (1 19) of the electronic dial gauge has a mechanical contact with one of at least four mutually dif- ferent test points on the planar reference surface,

- receiving, for each of the test positions, a distance value from the electronic dial gauge,

- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- form data indicative of deviations of the obtained estimate positions from a first geometric plane of the workspace coordinate system so as to generate the deviation data.

2. A system according to claim 1 , wherein the controller is configured to com- pute quantities proportional to angle deviations between geometric lines each being perpendicular to one of second geometric planes defined by mutually different three-member subsets of the obtained estimate positions, the angle deviations being indicative of the inaccuracy of the kinematic parameters.

3. A system according to claim 1 , wherein the controller is configured to compute quantities proportional to volumes of tetrahedrons defined by mutually different four-member subsets of the obtained estimate positions, the volumes being indicative of the inaccuracy of the kinematic parameters. 4. A system according to any of claims 1 -3, wherein the controller is configured to set coordinates of the test positions in the workspace coordinate system so that the test positions are in a third geometric plane of the workspace coordinate system and to set the orientation of the end-effector to be, in each of the test positions, such that a shaft (122) of the feeler pin of the electronic dial gauge is sub- stantially perpendicular to the third geometric plane.

5. A system according to any of claims 1 -4, wherein the system is configured to determine, with inverse-kinematics based on the kinematic parameters, the joint variables corresponding to each of the test positions on the basis of i) coordinates of the test position under consideration in the workspace coordinate system and ii) a desired orientation of the end-effector in the test position under consideration.

6. A system according to any of claims 1 -5, wherein the controller is configured to update the kinematic parameters on the basis of the deviation data.

7. A robot system comprising:

- a manipulator (105) comprising links (106-109) affixed to each other with joints (1 10-1 13), the manipulator extending from a base frame (1 15) to an end-effector (1 16), and

- a system (101 -104) according to any of claims 1 -6 for generating deviation data indicative of inaccuracy of kinematic parameters of the manipulator.

8. A method for generating deviation data indicative of inaccuracy of kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to a base frame of the robot are determined by joint variables related to the robot and by forward- kinematics based on the kinematic parameters, characterized in that the method comprises: - placing (201 ) a calibration object having a planar reference surface in a fixed position with respect to the base frame of the robot, and installing a body of a dial gauge in a fixed position with respect to the end-effector,

- controlling (202, 203), during each of at least four tests, the end-effector to be in one of mutually different test positions so that a feeler pin of the dial gauge has a mechanical contact with one of at least four mutually different test points on the planar reference surface,

- receiving (204), for each of the test positions, a distance value from the dial gauge, - obtaining (205) estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- forming (206) data indicative of deviations of the obtained estimate positions from a first geometric plane of the workspace coordinate system so as to generate the deviation data.

9. A method according to claim 8, wherein the method comprises computing quantities proportional to angle deviations between geometric lines each being perpendicular to one of second geometric planes defined by mutually different three-member subsets of the obtained estimate positions, the angle deviations be- ing indicative of the inaccuracy of the kinematic parameters.

10. A method according to claim 8, wherein the method comprises computing quantities proportional to volumes of tetrahedrons defined by mutually different four-member subsets of the obtained estimate positions, the volumes being indicative of the inaccuracy of the kinematic parameters. 1 1 . A method according to any of claims 8-10, wherein the method comprises setting coordinates of the test positions in the workspace coordinate system so that the test positions are in a third geometric plane of the workspace coordinate system and setting the orientation of the end-effector to be, in each of the test po- sitions, such that a shaft of the feeler pin of the dial gauge is substantially perpendicular to the third geometric plane.

12. A method according to any of claims 8-1 1 , wherein the method comprises determining, with inverse-kinematics based on the kinematic parameters, the joint variables corresponding to each of the test positions on the basis of i) coordinates of the test position under consideration in the workspace coordinate system and ii) a desired orientation of the end-effector in the test position under consideration.

13. A calibration method for calibrating a robot, the calibration method comprising: - carrying out a method (201 -206) according to any of claims 8-12 for generating deviation data indicative of inaccuracy of kinematic parameters of the robot, and

- updating (207) the kinematic parameters on the basis of the deviation data.

14. A calibration method according to claim 13, wherein the method (201 -206) according to any of claims 8-12 is carried out at least two times so that the position of the planar reference surface is different at each time, and the kinematic parameters are updated on the basis of data containing the deviation data obtained for each of the different positions of the planar reference surface.

15. A computer program for generating deviation data indicative of inaccuracy of kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to a base frame of the robot are determined by joint variables related to the robot and by forward-kinematics based on the kinematic parameters, characterized in that the computer program comprises computer executable instructions for controlling a programmable processing system to:

- control, during each of at least four tests, the end-effector to be in one of mutually different test positions so that a feeler pin of an electronic dial gauge has a mechanical contact with one of at least four mutually different test points on a planar reference surface having a fixed position with re- spect to the base frame, a body of the electronic dial gauge being in a fixed position with respect to the end-effector,

- receive, for each of the test positions, a distance value from the electronic dial gauge, - obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- form data indicative of deviations of the obtained estimate positions from a first geometric plane of the workspace coordinate system so as to generate the deviation data.

16. A computer program product for generating deviation data indicative of inaccuracy of kinematic parameters of a robot, the computer program product comprising a non-volatile computer readable medium encoded with a computer program according claim 15.

Description:
A method and a system for generating data for calibrating a robot

Field of the invention

The invention relates generally to kinematics of a robot. More particularly, the in- vention relates to system and a method for generating deviation data indicative of inaccuracy of kinematic parameters of a robot and suitable for calibrating the robot. Furthermore, the invention relates to a computer program for generating deviation data indicative of inaccuracy of kinematic parameters of a robot.

Background Many robots, especially industrial robots, comprise at least one manipulator that is an arm-like mechanism that consists of links affixed to each other with joints. The manipulator extends from a base frame of the robot to an end-effector. The end- effector is a device at the end of the manipulator where a tool is attached to the manipulator. The exact nature of the end-effector depends on the application of the robot, and in a wider sense, the end effector can be seen as the part of a robot that interacts with the work environment. The position and orientation of the end- effector in a workspace coordinate system fixed to the base frame of the robot is determined by states of the joints of the manipulator. The states of the joints are typically expressed with the aid of joint variables which indicate the instantaneous states, e.g. angles of rotation, of the joints. Estimate position and orientation of the end-effector can be calculated on the basis of prevailing joint variables and the forward-kinematics based on kinematic parameters of the manipulator. Correspondingly, the joint variables needed for setting the end-effector in a desired position and orientation can be calculated on the basis of the desired position and ori- entation and the inverse-kinematics based on the kinematic parameters.

In order to provide sufficiently accurate operation of the robot, the estimate position and orientation based on the joint variables and the kinematic parameters have to correspond to the real position and orientation of the end-effector with a sufficient accuracy. Thus, the above-mentioned kinematic parameters have to re- fleet the real kinematics of the manipulator accurately enough. Furthermore, the kinematic parameters should compensate for non-idealities of the joints and possible systematic errors in the joint parameters. In order to maintain the sufficient accuracy of the kinematic parameters, there is in many cases a need to calibrate the kinematic parameters not only during commissioning of the robot but also peri- odically relating to the course of usage of the robot. For a long time in the field of robot calibration, a popular robot calibration process is to use a laser tracker to measure three dimensional "3D" position of a target point. This robot calibration process provides a high accuracy, but the equipment is expensive. In the recent years, some hand-eye robot calibration systems have been developed. For exam- pie, the publication CN102927908 discloses a robot hand-eye calibration system based on a linear structured light projected on a chessboard-type constraint. Tsai's algorithm, which is well known in the art, is commonly adopted for the camera calibration to extract its intrinsic and extrinsic parameters. Generally, the cost of a hand-eye robot calibration system is much lower than a laser tracker based cali- bration system, but the calibration accuracy still needs to be improved.

Summary

The following presents a simplified summary in order to provide basic understanding of some aspects of various invention embodiments. The summary is not an extensive overview of the invention. It is neither intended to identify key or critical el- ements of the invention nor to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to a more detailed description of exemplifying embodiments of the invention.

In accordance with the invention, there is provided a new method for generating deviation data indicative of inaccuracy in kinematic parameters of a robot. The robot comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to the base frame of the robot are determined by joint variables related to the robot and by forward-kinematics based on the kinematic parameters. The deviation data is usable for updating the kine- matic parameters so as to calibrate the robot. A method according to the invention comprises: - placing a calibration object having a planar reference surface in a fixed position with respect to the base frame of the robot,

- installing a body of a dial gauge, i.e. a dial indicator, in a fixed position with respect to the end-effector, - controlling, during each of at least four tests, the end-effector to be in one of mutually different test positions so that the feeler pin of the dial gauge has a mechanical contact with one of at least four mutually different test points on the planar reference surface,

- receiving, for each of the test positions, a distance value from the dial gauge,

- obtaining estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- forming data indicative of deviations of the obtained estimate positions from a geometric plane of the workspace coordinate system so as to generate the deviation data.

The above-mentioned deviations are indicative of the inaccuracy in the kinematic parameters because the real positions of the test points are coplanar because they belong to the planar reference surface. In accordance with the invention, there is provided also a new calibration method for calibrating a robot. A calibration method according to the invention comprises:

- carrying out the above-described method for generating the deviation data, and

- updating the kinematic parameters of the robot on the basis of the deviation data.

In a calibration method according to an exemplifying and non-limiting embodiment of the invention, the method for generating the deviation data is carried out at least two times, and more preferably at least three times, so that the position of the planar reference surface is different at each time. The kinematic parameters are updated on the basis of data containing the deviation data obtained for each of the different positions of the planar reference surface so as to improve the accuracy of the robot calibration.

In accordance with the invention, there is provided also a new system for generating deviation data indicative of inaccuracy in kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to the base frame of the robot are determined by joint variables related to the robot and by forward-kinematics based on the kinematic parameters. A system according to the invention comprises:

- an electronic dial gauge whose body is mechanically supported to be in a fixed position with respect to the end-effector,

- a calibration object having a planar reference surface in a fixed position with respect to the base frame of the robot, and

- a controller configured to:

- control, during each of at least four tests, the end-effector to be in one of mutually different test positions so that the feeler pin of the electronic dial gauge has a mechanical contact with one of at least four mutu- ally different test points on the planar reference surface,

- receive, for each of the test positions, a distance value from the electronic dial gauge,

- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- form data indicative of deviations of the obtained estimate positions from a geometric plane of the workspace coordinate system so as to generate the deviation data. It is worth noting that the above-mentioned controller can have its own means for calculating the above-mentioned estimate positions on the basis of the joint variables and the distance values received from the electronic dial gauge, or, alternatively, the controller can be configured to utilize computing means of the robot for calculating the estimate positions.

In accordance with the invention, there is provided also a new robot system that comprises:

- a manipulator comprising links affixed to each other with joints, the manipulator extending from a base frame to an end-effector, and - a system according to the invention for generating deviation data indicative of inaccuracy of kinematic parameters of the manipulator.

In accordance with the invention, there is provided also a new computer program for generating deviation data indicative of inaccuracy in kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to the base frame of the robot are determined by joint variables related to the robot and by forward-kinematics based on the kinematic parameters. A computer program according to the invention comprises computer executable instructions for controlling a programmable processing system to: - control, during each of at least four tests, the end-effector to be in one of mutually different test positions so that the feeler pin of an electronic dial gauge has a mechanical contact with one of at least four mutually different test points on a planar reference surface having a fixed position with respect to the base frame, a body of the electronic dial gauge being in a fixed position with respect to the end-effector,

- receive, for each of the test positions, a distance value from the electronic dial gauge, - obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- form data indicative of deviations of the obtained estimate positions from a geometric plane of the workspace coordinate system so as to generate the deviation data.

In accordance with the invention, there is provided also a new computer program product. The computer program product comprises a non-volatile computer readable medium, e.g. a compact disc "CD", encoded with a computer program accord- ing to the invention.

A number of exemplifying and non-limiting embodiments of the invention are described in accompanied dependent claims.

Various exemplifying and non-limiting embodiments of the invention both as to constructions and to methods of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific exemplifying and non-limiting embodiments when read in connection with the accompanying drawings.

The verbs "to comprise" and "to include" are used in this document as open limitations that neither exclude nor require the existence of unrecited features. The fea- tures recited in dependent claims are mutually freely combinable unless otherwise explicitly stated. Furthermore, it is to be understood that the use of "a" or "an", i.e. a singular form, throughout this document does not exclude a plurality.

Brief description of the figures

Exemplifying and non-limiting embodiments of the invention and their advantages are explained in greater detail below in the sense of examples and with reference to the accompanying drawings, in which: figure 1 illustrates of a robot and a system according to an exemplifying and non- limiting embodiment of the invention for generating deviation data indicative of inaccuracy in kinematic parameters of the robot, and figure 2 shows a flowchart of a method according to an exemplifying and non- limiting embodiment of the invention for generating deviation data indicative of inaccuracy in kinematic parameters of a robot.

Description of exemplifying and non-limiting embodiments

Figure 1 illustrates of a robot and a system according to an exemplifying and non- limiting embodiment of the invention for generating deviation data indicative of in- accuracy in kinematic parameters related to the robot. The robot can be for example an industrial robot. The robot comprises a manipulator 105 that comprises links 106, 107, 108, and 109 affixed to each other with joints 1 10, 1 1 1 , 1 12, and 1 13. The manipulator 105 extends from a base frame 1 15 to an end-effector 1 16 which is a device at the end of the manipulator where a tool is attached to the manipula- tor. The exact nature of the end-effector 1 16 depends on the application of the robot. A robot controller 1 14 is communicatively connected to the manipulator 105, and the robot controller comprises computing means for controlling the manipulator to operate in a desired way. A teaching board 1 20 is connected to the robot controller 1 14, and the teaching board 120 comprises a conventional manual key, whereby an operator may manually operate the robot.

The position and orientation of the end-effector 1 1 6 in a workspace coordinate system 199 is determined by states of the joints 1 1 0-1 13. The workspace coordinate system 199 is fixed with respect to the base frame 1 15 but the origin of the workspace coordinate system does not have to be at the base frame. The states of the joints 1 10-1 13 are typically expressed with the aid of joint variables which indicate the instantaneous states, e.g. the angles of rotation, of the joints. Estimate position and orientation of the end-effector 1 16 in the coordinate system 199 can be calculated on the basis of prevailing joint variables and the forward-kinematics based on the kinematic parameters of the manipulator. The joint variables needed for setting the end-effector in a desired position and orientation in the coordinate system 199 can be calculated on the basis of the desired position and orientation and the inverse-kinematics based on the kinematic parameters.

The system for generating the above-mentioned deviation data comprises an electronic dial gauge 101 whose body 1 18 is mechanically supported to be in a fixed position with respect to the end-effector 1 16. The system further comprises a calibration object 102 having a planar reference surface 103 in a fixed position with respect to the base frame 1 15. The flatness of the planar reference surface 103 is advantageously better than 0.005 mm, i.e. the planar reference surface 103, but of course not the whole calibration object 102, can be between two mutually parallel geometric planes whose mutual distance is less than 0.005 mm. The system comprises a controller 104 that can be for example an ordinary computer. In this exemplifying case, the controller 104 is communicatively connected to the robot controller 1 14 via a data switch element 1 17. The controller 104 is configured to control the end-effector 1 16 to be successively in at least four mutually different test positions so that, concerning each of the tests positions, the feeler pin 1 19 of the electronic dial gauge 101 has a mechanical contact with one of at least four mutually different test points on the planar reference surface 103. The controller 104 is configured to receive, for each of the test positions, a distance value from the electronic dial gauge 101 . In this exemplifying case, the controller 104 is arranged to receive the distance values from the electronic dial gauge 101 via the data switch element 1 17. In figure 1 , one of the distance values is denoted with D. For the sake of merely illustrative purposes, the test points are depicted in figure 1 with crosses on the planar reference surface103. It is worth noting that, in practice, the test points do not have to be marked on the planar reference surface. Further- more, the exact locations of the test points on the planar reference surface 103 do not have to be determined in advance but the location of each of the test points can be determined by the position and orientation of the end-effector 1 16 when the end-effector is in the respective test position. The controller 104 is configured to obtain estimate positions of the test points in terms of coordinates of the work- space coordinate system 199 on the basis of the above-mentioned distance values received from the electronic dial gauge 101 and of the joint variables corresponding to each of the test positions. The controller 104 may have its own means for calculating the above-mentioned estimate positions on the basis of the distance values and the joint variables. Alternatively, the controller 104 can be configured to utilize the robot controller 1 14 for calculating the estimate positions of the test points. The controller 104 is configured to form data indicative of deviations of the obtained estimate positions from a geometric plane of the workspace coordinate system 199 so as to generate the deviation data. The deviations are indicative of the inaccuracy in the kinematic parameters because the real positions of the test points are coplanar because they belong to the planar reference surface 103.

The deviations from the geometric plane can be expressed in many ways. Some non-limiting examples are given below. In a system according to an exemplifying and non-limiting embodiment of the invention, the controller 104 is configured to compute quantities proportional to angle deviations between geometric lines each being perpendicular to one of geometric planes defined by mutually different three- member subsets of the obtained estimate positions, where the angle deviations are indicative of the inaccuracy in the kinematic parameters. This approach is based on the common mathematical truth that three non-collinear points determine a plane and so are trivially coplanar. If all the estimate positions are coplanar, all the mutually different three-member subsets of the estimate positions determine a same single geometric plane and thus the angles between the above-mentioned geometric lines are zeroes. The direction of each of the geometric lines can be obtained for example by calculating the vector product, i.e. the cross product, of two vectors defined by the respective three-member subset of the estimate positions. The quantities proportional to the angle deviations between the geometric lines can, in turn, be obtained by calculating the vectors products of different pairs of the vector products defining the directions of the geometric lines. In a system according to another exemplifying and non-limiting embodiment of the invention, the controller 104 is configured to compute quantities proportional to volumes of tetrahedrons defined by mutually different four-member subsets of the obtained estimate positions, where the volumes are indicative of the inaccuracy of the kinematic pa- rameters. This approach is based on the common mathematical truth that four points are coplanar if and only if the volume of a tetrahedron defined by these four points is zero. If all the estimate positions are coplanar, the volumes of the tetra- hedrons defined by all mutually different four-member subsets of the estimate positions are zeroes. The quantity proportional to each of the volumes of the tetrahedrons can be obtained by calculating the scalar triple product of three vectors defined by the respective four-member subset of the estimate positions. In a system according to an exemplifying and non-limiting embodiment of the invention, the controller 104 is configured to fit a geometric plane to the estimate positions with the least-squares-method and to calculate, for each of the estimate positions, an deviation vector which is perpendicular to the fitted geometric plane and whose magnitude is the distance between the estimate position under consideration and the fitted geometric plane.

The deviation data indicative of the inaccuracy in the kinematic parameters can be used as input data for a suitable calibration algorithm which updates the kinematic parameters. In a system according an exemplifying and non-limiting embodiment of the invention, the controller 104 is configured to update the kinematic parame- ters on the basis of the deviation data. The format of the deviation data and the way how the deviation data has to express the deviations of the estimate positions from a geometric plane depend typically on the calibration algorithm being used.

In a system according an exemplifying and non-limiting embodiment of the invention, the controller 104 is configured to carry out the above-described process for obtaining the deviation data at least two times, and more preferably at least three times, so that the position of the planar reference surface is different at each time. The kinematic parameters are updated on the basis of data containing the deviation data obtained for each of the different positions of the planar reference surface. The controller 104 is advantageously configured to set the orientation of the end- effector 1 16 in each of the test positions so that the shaft 122 of the feeler pin 1 19 of the electronic dial gauge 101 is substantially perpendicular to the planar reference surface 103 as illustrated in figure 1 . Concerning the temporally first test position of the end-effector 1 16, the orientation of the end-effector 1 16 and/or the orientation of the calibration object 102 can be adjusted for example manually so that the shaft 122 of the feeler pin 1 19 becomes perpendicular to the planar refer- ence surface 103. The controller 104 can be configured to set the coordinates of the other test positions in the workspace coordinate system 199 so that the test positions are in a same geometric plane that is perpendicular to the shaft 122 in the first test position. Furthermore, the controller 104 can be configured to set the orientation of the end-effector 1 16 to be, at each of the test positions, such that the shaft 122 is substantially perpendicular to the above-mentioned geometric plane. The joint variables corresponding to each of the test positions can be obtained with the inverse-kinematics on the basis of the coordinates of the test position under consideration and the desired orientation of the end-effector in the test position under consideration. It is also possible that the controller 104 is configured to adjust the orientation of the end-effector 1 16 for the first test position so that the shaft 122 is substantially perpendicular to the planar reference surface 103. In this case, the manual adjustment is not needed. For example, the controller 104 can be configured to move the electronic dial gauge 101 successively in mutually intersecting directions which are perpendicular to the shaft 122 so that the feeler pin 1 19 moves along the planar reference surface 103. The controller can be configured to seek for such an orientation of the end-effector 1 1 6 that the moving the electronic dial gauge 101 in the above-mentioned way does not substantially change the distance value given by the electronic dial gauge 101 because, if the distance value does not change, the shaft 122 is perpendicular to the planar reference surface 103.

In the exemplifying system illustrated in figure 1 , the electronic dial gauge 101 is a linear-movement dial gauge where the feeler pin 1 19 is movable along a straight geometric line. It is, however, also possible to use a lever dial gauge whose body is mechanically supported to be in a fixed position with respect to the end-effector 1 16.

Figure 2 shows a flowchart of a method according to an exemplifying and non- limiting embodiment of the invention for generating deviation data indicative of inaccuracy in kinematic parameters of a robot. The robot comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to a base frame of the robot are determined by joint variables related to the robot and by the forward-kinematics based on the kinematic parameters. The method comprises the following actions:

- action 201 : placing a calibration object having a planar reference surface in a fixed position with respect to the base frame of the robot, and installing a body of a dial gauge in a fixed position with respect to the end-effector,

- actions 202 and 203: controlling, during each of at least four tests, the end- effector to be in one of mutually different test positions so that the feeler pin of the dial gauge has a mechanical contact with one of at least four mutually different test points on the planar reference surface, - action 204: receiving, for each of the test positions, a distance value from the dial gauge,

- action 205: obtaining estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- action 206: forming data indicative of deviations of the obtained estimate positions from a first geometric plane of the workspace coordinate system so as to generate the deviation data.

The above-mentioned dial gauge can be an electronic dial gauge in which case the distance values corresponding to the different test positions of the end-effector can be received by an electronic processing system, or a mechanical dial gauge in which case a user has to read the distance values corresponding to the different test positions.

A method according to an exemplifying and non-limiting embodiment of the inven- tion comprises computing quantities proportional to angle deviations between geometric lines each being perpendicular to one of second geometric planes defined by mutually different three-member subsets of the obtained estimate positions, where the angle deviations are indicative of the inaccuracy of the kinematic parameters. A method according to an exemplifying and non-limiting embodiment of the invention comprises computing quantities proportional to volumes of tetrahedrons defined by mutually different four-member subsets of the obtained estimate positions, where the volumes are indicative of the inaccuracy of the kinematic parameters. A method according to an exemplifying and non-limiting embodiment of the invention comprises setting coordinates of the test positions in the workspace coordinate system so that the test positions are in a third geometric plane of the workspace coordinate system and setting the orientation of the end-effector to be, in each of the test positions, such that the shaft of the feeler pin of the dial gauge is substantially perpendicular to the third geometric plane.

A method according to an exemplifying and non-limiting embodiment of the invention comprises determining, with the inverse-kinematics based on the kinematic parameters, the joint variables corresponding to each of the test positions on the basis of i) the coordinates of the test position in the workspace coordinate system and ii) the desired orientation of the end-effector in the test position under consideration.

A calibration method according to an exemplifying and non-limiting embodiment of the invention comprises:

- the above-described sequence of actions 201 -206 for generating the devia- tion data,

- action 207: updating the kinematic parameters of the robot on the basis of the deviation data.

In a calibration method according to an exemplifying and non-limiting embodiment of the invention, the sequence of the actions 201 -206 for generating the deviation data is carried out at least two times, and more preferably at least three times, so that the position of the planar reference surface is different at each time. The kinematic parameters are updated on the basis of data containing the deviation data obtained for each of the different positions of the planar reference surface. A computer program according to an exemplifying and non-limiting embodiment of the invention comprises computer executable instructions for controlling a programmable processing system to carry out actions related to a method according to any of the above-described exemplifying embodiments of the invention. A computer program according to an exemplifying and non-limiting embodiment of the invention comprises software means for generating deviation data indicative of inaccuracy of kinematic parameters of a robot that comprises an end-effector whose estimate position and orientation in a workspace coordinate system fixed with respect to the base frame of the robot is determined by joint variables related to the robot and by forward-kinematics based on the kinematic parameters. The software means comprise computer executable instructions for controlling the programmable processing system to:

- control, during each of at least four tests, the end-effector to be in one of mutually different test positions so that a feeler pin of an electronic dial gauge has a mechanical contact with one of at least four mutually different test points on a planar reference surface having a fixed position with respect to the base frame, a body of the electronic dial gauge being in a fixed position with respect to the end-effector,

- receive, for each of the test positions, a distance value from the electronic dial gauge,

- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the distance values and the joint variables corresponding to each of the test positions, and

- form data indicative of deviations of the obtained estimate positions from a geometric plane of the workspace coordinate system so as to generate the deviation data.

The software means can be e.g. subroutines or functions implemented with a suitable programming language and with a compiler suitable for the programming language and for the above-mentioned programmable processing system. A computer program product according to an exemplifying and non-limiting embodiment of the invention comprises a computer readable medium, e.g. a compact disc "CD", encoded with a computer program according to an exemplifying embodiment of invention.

A signal according to an exemplifying and non-limiting embodiment of the invention is encoded to carry information defining a computer program according to an exemplifying embodiment of invention.

The specific examples provided in the description given above should not be construed as limiting the scope and/or the applicability of the appended claims.