EP3134232A1 - A method and a system for generating data for calibrating a robot - Google Patents
A method and a system for generating data for calibrating a robotInfo
- Publication number
- EP3134232A1 EP3134232A1 EP15720753.1A EP15720753A EP3134232A1 EP 3134232 A1 EP3134232 A1 EP 3134232A1 EP 15720753 A EP15720753 A EP 15720753A EP 3134232 A1 EP3134232 A1 EP 3134232A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- test
- positions
- robot
- effector
- reference surface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/022—Optical sensing devices using lasers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39017—Forward calibration, find actual pose world space for given joint configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39024—Calibration of manipulator
Definitions
- 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.
- 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, and 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 orientation and the inverse-kinematics based on the kinematic parameters.
- 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.
- the above-mentioned kinematic parameters have to re- fleet the real kinematics of the manipulator accurately enough.
- the kinematic parameters should compensate for non-idealities of the joints and possible systematic errors in the joint parameters.
- a popular robot calibration process is to use a laser tracker to measure three dimensional "3D" position of a target point, which is characterized by high accuracy, but the equipment is expensive.
- some hand- eye robot calibration systems have been developed.
- 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.
- the cost of a hand-eye robot calibration system is much lower than a laser tracker based calibration system, but the calibration accuracy still needs to be improved.
- a new method for generating deviation data indicative of inaccuracy in kinematic parameters of a 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 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,
- 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.
- the above-mentioned distances to the test points on the planar reference surface can be detected, for example, by optical triangulation, e.g. laser triangulation, or in some other suitable way.
- a calibration method according to the invention comprises:
- 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 up- dated 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.
- a new system for generat- ing 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 a 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: - a distance detector mechanically supported to be in a fixed position with respect to the end-effector,
- controller configured to: control, during each of at least four tests, the end-effector to be in one of mutually different test positions,
- the above-mentioned controller can have its own means for calculating the above-mentioned estimate positions on the basis of the detected distances and the joint variables, or, alternatively, the controller can be configured to utilize computing means of the robot for calculating the estimate positions.
- 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 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 a 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 a distance detector to detect, for each of the test positions, a dis- tance from a point having a fixed position with respect to the end-effector to one of mutually different test points on a planar reference surface having a fixed position with respect to the base frame,
- the computer program product comprises a non-volatile computer readable medium, e.g. a compact disc "CD”, encoded with a computer program according to the invention.
- 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
- 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.
- 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 related to the robot.
- the robot can be for exam- pie 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 manipulator.
- the exact nature of the end-effector 1 16 depends on the application of the ro- bot.
- 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 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 a distance detector 101 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.
- the system comprises a controller 104 that can be for example an ordinary computer.
- the con- troller is communicatively connected to the robot controller 1 14 and to the distance detector 101 via a data switch element 1 17.
- the controller 104 is configured to control the end-effector 1 16 to be successively in mutually different test positions.
- the controller 104 is configured to control the distance detector 101 to detect, for each of the test positions, a distance D from the distance detector to one of mutu- ally different test points located on the planar reference surface103.
- 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.
- the controller 104 is configured to obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system 199 on the basis of the detected distances and 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 detected distances and the joint variables.
- 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 devia- tions of the obtained estimate positions from a geometric plane of the workspace coordinate system 1 19 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 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.
- 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 ob- tained 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.
- 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 parameters.
- 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 tetrahedrons 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 de- fined by the respective four-member subset of the estimate positions.
- 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.
- 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.
- the controller 104 is configured to carry out the above-described process for ob- taining 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 distance detector 101 is advantageously such that there is no need for a physical contact between the distance detector and the planar reference surface 103.
- the distance can be detected without a physical contact when the distance detector 101 comprises a radiation source for radiating a spot on the planar reference surface 103 and a radiation sensor for receiving the radiation reflected from the radiated spot and for producing a signal indicative of the distance from the distance detector to the radiated spot.
- the radiated spot represents, for each of the test positions of the end-effector 1 16, the test point whose distance from the distance detector is being detected.
- the distance detector can be a rod or another piece which can be attached to the end-effector 1 16 and which keeps the end-effector at a predetermined distance from a contact point on the planar reference surface 103 when the end-effector is driven towards the planar reference surface 103.
- the above-mentioned contact point represents, for each of the test positions of the end-effector 1 16, the test point whose distance from the end-effector 1 16 needs to be known.
- the operation of the distance detector is based on the optical triangula- tion where light reflected from the planar reference surface is focused through an optical lens on a light sensitive detector, e.g.
- CMOS complementary metal-oxide- semiconductor
- CCD charge-coupled device
- the distance detector 101 comprises a laser source 1 18 for directing a laser beam to the planar reference surface 103.
- the laser source may comprise e.g. a laser diode with 650 nm wavelength.
- the laser source 1 18 directs the laser beam to a spot representing one of the test points on the planar reference surface 103.
- the distance detector 101 further comprises a camera 1 19 for receiving the laser beam reflected from the planar reference surface 103.
- the camera 1 19 is positioned so that the distance D from the laser source 1 18 to the spot of the planar reference surface 103 reflecting the laser beam can be determined by the ordinary laser triangulation which is a special case of the above- mentioned optical triangulation.
- the system comprises a computing circuitry configured to apply the laser triangulation so as to determine the above-mentioned distance.
- the computing circuitry can be for example a part of the controller 104 or the computing circuitry can be a part of the distance detector 101 or computing circuitry can be a separate device.
- the computing circuitry can be configured to use a suitable image processing algorithm also for sharpening or otherwise modifying the image captured by the camera 1 19 so as to increase the accuracy and reliability of the laser triangulation.
- 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 laser beam emitted by the laser source 1 18 is substantially perpendicular to the planar reference surface 103 as illustrated in figure 1 .
- the orientation of the end-effector 1 16 can be adjusted manually for example by inspecting the radiated spot of the planar reference surface 103 and by adjusting the orientation so that the area of the radiated spot is minimized.
- the radiated spot can be inspected for example by having a direct visual contact to the planar reference surface 103 or with the aid of a display screen 121 .
- 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 laser beam in the first test position. Further- more, 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 laser beam emitted by the laser source is substantially perpendicular to the 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.
- controller 104 is configured to adjust the orientation of the end-effector 1 16 for the first test position so that the laser beam is substantially perpendicular to the planar reference surface 103. In this case, the manual adjustment is not needed.
- the controller 104 can be configured to adjust the orien- tation for example so that the area of the radiated spot in the picture captured by the camera 1 19 is minimized.
- contactless distance detection techniques which are applicable in systems according to different embodiments of the invention are not limited to techniques based on the optical triangulation. Two alternative contactless dis- tance detection techniques are briefly discussed below.
- the distance detector comprises a radiation source configured to generate radiation pulses, e.g. light pulses.
- the distance detector further comprises a radiation sensor configured measure a propagation time of a radiation pulse which has propagated from the radiation source to the radiation sensor by reflecting from the planar reference surface 103.
- the system comprises a computing circuitry for computing a distance to be detected on the basis of the measured propagation time and the propagation speed of the radiation pulses.
- the distance detector comprises an infrared "IR" light source and an infra- red light sensor configured to determine a phase-shift between emergent infrared light and incident infrared light reflected from the planar reference surface.
- the system comprises a computing circuitry for computing a distance to be detected on the basis of the detected phase shift, the propagation speed of the infrared light, and the wavelength of the infrared light.
- the camera 1 19 shown in figure 1 can be for example an industrial camera suitable for computer vision. Thus, in the case illustrated in figure 1 , it is possible to arrange robot calibration that is based on the computer vision.
- the above-mentioned computer vision can be applied not only to the robot calibration but also to computer-aided design "CAD" model-based feature detecting and matching.
- the computer vision can be used to detect the position and orientation of a physical model piece referred to a suitable coordinate system bound to the robot.
- Three dimensional computer-aided manufacturing "3D-CAM" data can be generated on the basis of CAD data related to the physical model piece and the detected position and orientation of the physical model piece. Consequently, any desired trajectory pertaining to the physical model piece can be generated referred to the above-mentioned coordinate system bound to the robot.
- the generated trajectory can be used for example in grinding a complicated surface of a work piece and/or measuring surface stress of a complicated shape.
- An exemplifying process comprises: a) detecting orientation and position of a physical model piece comprising a reference feature, b) matching a 3D-CAD model of the physical model piece to correspond to the detected position and orientation of the physical model piece, c) generating a desired tool path, and d) communicating with the robot and executing commands so as to fulfill the desired task, e.g. machining a work piece in accordance with the generated tool path.
- the detection of the orientation and position of the physical model piece may comprise for example the following actions:
- the matching the 3D-CAD model with the detected position and orientation of the physical model piece may comprise the following actions: - building a virtual 3D-CAM environment, and
- the desired tool path can be generated with aid of the 3D-CAD model which has in the virtual 3D-CAM environment the position and orientation that are the same as the position and orientation of the physical model piece in the real three dimensional space.
- the 3D-CAM virtual environment containing the 3D-CAD model can be used to control the manipulator so that there are no collisions between the camera and the physical model piece.
- 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
- - actions 202 and 203 controlling, during each of at least four tests, the end- effector to be in one of mutually different test positions
- - action 204 detecting, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on the planar reference surface,
- - action 205 obtaining estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances and the joint variables corresponding to each of the test positions
- - 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.
- a method comprises computing quantities proportional to angle deviations between ge- ometric 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 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.
- each of the distances is detected by radiating a spot representing the re- spective one of the test points on the planar reference surface with a radiation source and by detecting the distance under consideration on the basis of radiation reflected from the planar reference surface.
- the radiation source comprises a light source, e.g. a laser source, and each of the distances is detected with the optical triangulation.
- a 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 positions, such that the light beam, e.g. a laser beam, emitted by the light source, e.g. a laser source, is substantially perpendicular to the third ge- ometric plane.
- the light beam e.g. a laser beam
- the light source e.g. a laser source
- the radiation source generates radiation pulses and each of the distances is determined by measuring a propagation time of a radiation pulse reflected from the planar reference surface and by computing the distance under consideration on the basis of the measured propagation time.
- the radiation source emits infrared light and each of the distances is determined on the basis of a phase-shift between emergent infrared light and incident infrared light reflected from the planar reference surface.
- 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 consid- eration.
- 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 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 a 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:
- a distance detector to detect, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on a planar reference surface having a fixed position with respect to the base frame
- the software means can be e.g. subroutines or functions implemented with a suit- able programming language and with a compiler suitable for the programming language and for the above-mentioned programmable processing system.
- a computer readable medium e.g. a compact disc "CD”
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Numerical Control (AREA)
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 from the end-effector to a test position-specific test point on the planar reference surface is detected (204). Estimate positions of the tests points are obtained (205) on the basis of the detected distances and joint variables corresponding to each of the test positions. The deviation data is based on deviations of the estimate positions from a geometric plane. These deviations 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.
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, and 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 orientation 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 robot calibration area, a popular robot calibration process is to use a laser tracker to measure three dimensional "3D" position of a target point, which is characterized by high accuracy, but the equipment is expensive. In the recent years, some hand- eye robot calibration systems have been developed. For example, 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 calibration system, but the calibration accuracy still needs to be improved.
Summary
The following presents a simplified summary in order to provide a 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 criti- cal elements 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 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 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,
- controlling, during each of at least four tests, the end-effector to be in one of mutually different test positions, - detecting, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on the planar reference surface,
- obtaining estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances and the joint variables corresponding to each of the test positions, and
- forming data indicative of deviations of the 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. The above-mentioned distances to the test points on the planar reference surface can be detected, for example, by optical triangulation, e.g. laser triangulation, or in some other suitable way.
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 up-
dated 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 generat- ing 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 a 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: - a distance detector 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,
- control the distance detector to detect, for each of the test positions, a distance from the distance detector to one of mutually different test points on the planar reference surface,
- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances and the joint variables corresponding to each of the test positions, and
- form data indicative of deviations of the 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 detected
distances and the joint variables, 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 a 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,
- control a distance detector to detect, for each of the test positions, a dis- tance from a point having a fixed position with respect to the end-effector to one of mutually different test points on a planar reference surface having a fixed position with respect to the base frame,
- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances and the joint variables corresponding to each of the test positions, and
- form data indicative of deviations of the estimate positions from a first 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 according 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 spe- cific 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 features 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 inaccuracy in kinematic parameters related to the robot. The robot can be for exam- pie 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 manipulator. The exact nature of the end-effector 1 16 depends on the application of the ro- bot. 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 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 a distance detector 101 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. The system comprises a controller 104 that can be for example an ordinary computer. In this exemplifying case, the con- troller is communicatively connected to the robot controller 1 14 and to the distance detector 101 via a data switch element 1 17. The controller 104 is configured to control the end-effector 1 16 to be successively in mutually different test positions. The controller 104 is configured to control the distance detector 101 to detect, for each of the test positions, a distance D from the distance detector to one of mutu- ally different test points located on the planar reference surface103. 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. Furthermore, the exact locations of the test points on the planar reference surface103 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 workspace coordinate system 199 on the basis of the detected distances and 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 detected distances 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 devia- tions of the obtained estimate positions from a geometric plane of the workspace coordinate system 1 19 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 ob- tained 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 accord- ing 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 parameters. 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 tetrahedrons 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 de- fined 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 ob- taining 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 distance detector 101 is advantageously such that there is no need for a physical contact between the distance detector and the planar reference surface 103. The distance can be detected without a physical contact when the distance detector 101 comprises a radiation source for radiating a spot on the planar reference surface 103 and a radiation sensor for receiving the radiation reflected from the radiated spot and for producing a signal indicative of the distance from the distance detector to the radiated spot. The radiated spot represents, for each of the test positions of the end-effector 1 16, the test point whose distance from the distance detector is being detected. In cases where a physical contact is allowable, the distance detector can be a rod or another piece which can be attached to the end-effector 1 16 and which keeps the end-effector at a predetermined distance from a contact point on the planar reference surface 103 when the end-effector is driven towards the planar reference surface 103. The above-mentioned contact point represents, for each of the test positions of the end-effector 1 16, the test point whose distance from the end-effector 1 16 needs to be known. In systems according to some exemplifying and non-limiting embodiments of the invention, the operation of the distance detector is based on the optical triangula- tion where light reflected from the planar reference surface is focused through an
optical lens on a light sensitive detector, e.g. a complementary metal-oxide- semiconductor "CMOS" detector or a charge-coupled device "CCD" detector. If the distance to the planar reference surface changes, the reflected light changes as well. By using a suitable image processing algorithm and a pinhole camera model, the location of the center of the illuminated spot on the image captured by the camera 1 19 can be found and the distance can be calculated from a reference point by determining where the reflected light falls on the light sensitive detector. The location of the center of the illuminated spot on the image can be expressed for example as pixels in mutually perpendicular directions. The light source used in the optical triangulation can be for example a light emitting diode "LED", an infrared "IR" light source, or a laser source such as a laser diode.
In the exemplifying case illustrated in figure 1 , the distance detector 101 comprises a laser source 1 18 for directing a laser beam to the planar reference surface 103. The laser source may comprise e.g. a laser diode with 650 nm wavelength. In the exemplifying situation shown in figure 1 , the laser source 1 18 directs the laser beam to a spot representing one of the test points on the planar reference surface 103. The distance detector 101 further comprises a camera 1 19 for receiving the laser beam reflected from the planar reference surface 103. As illustrated in figure 1 , the camera 1 19 is positioned so that the distance D from the laser source 1 18 to the spot of the planar reference surface 103 reflecting the laser beam can be determined by the ordinary laser triangulation which is a special case of the above- mentioned optical triangulation. The system comprises a computing circuitry configured to apply the laser triangulation so as to determine the above-mentioned distance. The computing circuitry can be for example a part of the controller 104 or the computing circuitry can be a part of the distance detector 101 or computing circuitry can be a separate device. The computing circuitry can be configured to use a suitable image processing algorithm also for sharpening or otherwise modifying the image captured by the camera 1 19 so as to increase the accuracy and reliability of the laser triangulation. 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 laser beam emitted by the laser source 1 18 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 can be adjusted manually for example by inspecting the radiated spot of the planar reference surface 103 and by adjusting the orientation so that the area of the radiated spot is minimized. The radiated spot can be inspected for example by having a direct visual contact to the planar reference surface 103 or with the aid of a display screen 121 . 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 laser beam in the first test position. Further- more, 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 laser beam emitted by the laser source is substantially perpendicular to the 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 laser beam is substantially perpendicular to the planar reference surface 103. In this case, the manual adjustment is not needed. The controller 104 can be configured to adjust the orien- tation for example so that the area of the radiated spot in the picture captured by the camera 1 19 is minimized.
It is worth noting that contactless distance detection techniques which are applicable in systems according to different embodiments of the invention are not limited to techniques based on the optical triangulation. Two alternative contactless dis- tance detection techniques are briefly discussed below.
In a system according to an exemplifying and non-limiting embodiment of the invention, the distance detector comprises a radiation source configured to generate radiation pulses, e.g. light pulses. The distance detector further comprises a radiation sensor configured measure a propagation time of a radiation pulse which has propagated from the radiation source to the radiation sensor by reflecting from the planar reference surface 103. The system comprises a computing circuitry for
computing a distance to be detected on the basis of the measured propagation time and the propagation speed of the radiation pulses.
In a system according to an exemplifying and non-limiting embodiment of the invention, the distance detector comprises an infrared "IR" light source and an infra- red light sensor configured to determine a phase-shift between emergent infrared light and incident infrared light reflected from the planar reference surface. The system comprises a computing circuitry for computing a distance to be detected on the basis of the detected phase shift, the propagation speed of the infrared light, and the wavelength of the infrared light. The camera 1 19 shown in figure 1 can be for example an industrial camera suitable for computer vision. Thus, in the case illustrated in figure 1 , it is possible to arrange robot calibration that is based on the computer vision.
The above-mentioned computer vision can be applied not only to the robot calibration but also to computer-aided design "CAD" model-based feature detecting and matching. The computer vision can be used to detect the position and orientation of a physical model piece referred to a suitable coordinate system bound to the robot. Three dimensional computer-aided manufacturing "3D-CAM" data can be generated on the basis of CAD data related to the physical model piece and the detected position and orientation of the physical model piece. Consequently, any desired trajectory pertaining to the physical model piece can be generated referred to the above-mentioned coordinate system bound to the robot. The generated trajectory can be used for example in grinding a complicated surface of a work piece and/or measuring surface stress of a complicated shape.
An exemplifying process comprises: a) detecting orientation and position of a physical model piece comprising a reference feature, b) matching a 3D-CAD model of the physical model piece to correspond to the detected position and orientation of the physical model piece, c) generating a desired tool path, and d) communicating with the robot and executing commands so as to fulfill the desired task, e.g. machining a work piece in accordance with the generated tool path.
The detection of the orientation and position of the physical model piece may comprise for example the following actions:
- measuring positions of three points on a surface of the physical model piece, and - locating the camera perpendicularly with respect to the geometric plane defined by the above-mentioned three points and capturing a two dimensional image with the camera.
The matching the 3D-CAD model with the detected position and orientation of the physical model piece may comprise the following actions: - building a virtual 3D-CAM environment, and
- setting the 3D-CAD model to be in the virtual 3D-CAM environment in position and orientation which are the same as the detected position and orientation of the physical model piece.
The desired tool path can be generated with aid of the 3D-CAD model which has in the virtual 3D-CAM environment the position and orientation that are the same as the position and orientation of the physical model piece in the real three dimensional space. The 3D-CAM virtual environment containing the 3D-CAD model can be used to control the manipulator so that there are no collisions between the camera and the physical model piece. 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,
- actions 202 and 203: controlling, during each of at least four tests, the end- effector to be in one of mutually different test positions,
- action 204: detecting, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on the planar reference surface,
- action 205: obtaining estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances 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.
A method according to an exemplifying and non-limiting embodiment of the invention comprises computing quantities proportional to angle deviations between ge- ometric 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 inven- tion 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.
In a method according to an exemplifying and non-limiting embodiment of the invention, each of the distances is detected by radiating a spot representing the re- spective one of the test points on the planar reference surface with a radiation source and by detecting the distance under consideration on the basis of radiation reflected from the planar reference surface.
In a method according to an exemplifying and non-limiting embodiment of the invention, the radiation source comprises a light source, e.g. a laser source, and each of the distances is detected with the optical triangulation.
A method according to an exemplifying and non-limiting embodiment of the inven- tion 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 light beam, e.g. a laser beam, emitted by the light source, e.g. a laser source, is substantially perpendicular to the third ge- ometric plane.
In a method according to an exemplifying and non-limiting embodiment of the invention, the radiation source generates radiation pulses and each of the distances is determined by measuring a propagation time of a radiation pulse reflected from the planar reference surface and by computing the distance under consideration on the basis of the measured propagation time.
In a method according to an exemplifying and non-limiting embodiment of the invention, the radiation source emits infrared light and each of the distances is determined on the basis of a phase-shift between emergent infrared light and incident infrared light reflected from the planar reference surface. 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 consid- eration.
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 deviation 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 a 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,
- control a distance detector to detect, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on a planar reference surface having a fixed position with respect to the base frame,
- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances 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 suit- able 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 embod- iment 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 con- strued as limiting the scope and/or the applicability of the appended claims.
Claims
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:
- a distance detector (101 ) 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,
- control the distance detector to detect, for each of the test positions, a dis- tance from the distance detector to one of mutually different test points on the planar reference surface,
- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances 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 compute quantities proportional to angle deviations between geometric lines each be- ing 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 distance detector comprises a radiation source for radiating a spot representing, for each of the test positions, the respective one of the test points on the planar reference surface and a radiation sensor for receiving radiation reflected from the planar reference surface and for producing a signal indicative of the distance from the distance detector to the test point under consideration.
5. A system according to claim 4, wherein the radiation source comprises a light source (1 18), the radiation sensor comprises a camera (1 19), and the system is configured to apply optical triangulation for determining the distance from the distance detector to the test point under consideration.
6. A system according to claim 4, wherein the radiation source is configured to generate radiation pulses and the radiation sensor is configured measure a propagation time of a radiation pulse propagated from the radiation source to the radiation sensor by reflecting from the planar reference surface, and the system is configured to compute the distance from the distance detector to the test point under consideration on the basis of the measured propagation time.
7. A system according to claim 4, wherein the radiation source is configured to emit infrared light and the radiation sensor is configured to detect a phase-shift between emergent infrared light and incident infrared light reflected from the planar reference surface, and the system is configured to compute the distance from the distance detector to the test point under consideration on the basis of the detected phase-shift.
8. A system according to claim 5, 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 light beam emitted by the light source is substantially perpendicular to the third geometric plane.
9. A system according to any of claims 1 -8, 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.
10. A system according to any of claims 1 -9, wherein the controller is configured to update the kinematic parameters on the basis of the deviation data.
1 1 . 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 -10 for generating deviation data indicative of inaccuracy of kinematic parameters of the manipulator.
12. 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,
- controlling (202, 203), during each of at least four tests, the end-effector to be in one of mutually different test positions,
- detecting (204), for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on the planar reference surface,
- obtaining (205) estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances and the joint variables corresponding to each of the test positions, and
- forming (206) data indicative of deviations of the obtained estimate posi- tions from a first geometric plane of the workspace coordinate system so as to generate the deviation data.
13. A method according to claim 12, 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 being indicative of the inaccuracy of the kinematic parameters.
14. A method according to claim 12, 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 indica- tive of the inaccuracy of the kinematic parameters.
15. A method according to any of claims 12-14, wherein each of the distances is detected by radiating a spot representing the respective one of the test points on the planar reference surface with a radiation source and by detecting the distance under consideration on the basis of radiation reflected from the planar reference surface.
16. A method according to claim 15, wherein the radiation source comprises a light source and each of the distances is detected with optical triangulation.
17. A method according to claim 15, wherein the radiation source generates radiation pulses and each of the distances is determined by measuring a propaga- tion time of a radiation pulse reflected from the planar reference surface and by computing the distance under consideration on the basis of the measured propagation time.
18. A method according to claim 15, wherein the radiation source emits infrared light and each of the distances is determined on the basis of a phase-shift be-
tween emergent infrared light and incident infrared light reflected from the planar reference surface.
19. A method according to claim 16, 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 positions, such that a light beam emitted by the light source is substantially perpendicular to the third geometric plane.
20. A method according to any of claims 12-19, 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.
21 . A calibration method for calibrating a robot, the calibration method compris- ing:
- carrying out a method (201 -206) according to any of claims 12-20 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.
22. A calibration method according to claim 21 , wherein the method (201 -206) according to any of claims 12-20 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.
23. 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,
- control a distance detector to detect, for each of the test positions, a distance from a point having a fixed position with respect to the end-effector to one of mutually different test points on a planar reference surface having a fixed position with respect to the base frame,
- obtain estimate positions of the test points in terms of coordinates of the workspace coordinate system on the basis of the detected distances 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.
24. 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 claims 23.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20145372A FI20145372A (en) | 2014-04-22 | 2014-04-22 | Method and system for generating data for calibration of a robot |
PCT/FI2015/050270 WO2015162334A1 (en) | 2014-04-22 | 2015-04-20 | A method and a system for generating data for calibrating a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3134232A1 true EP3134232A1 (en) | 2017-03-01 |
Family
ID=53052877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15720753.1A Withdrawn EP3134232A1 (en) | 2014-04-22 | 2015-04-20 | A method and a system for generating data for calibrating a robot |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3134232A1 (en) |
FI (1) | FI20145372A (en) |
WO (1) | WO2015162334A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744343A (en) * | 2021-08-09 | 2021-12-03 | 佛山智能装备技术研究院 | Hand-eye calibration method and system based on structured light sensor and storage medium |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110238851B (en) * | 2019-06-14 | 2020-12-29 | 苏州大学 | Mobile robot and rapid calibration method and system thereof |
EP3797935A1 (en) * | 2019-09-24 | 2021-03-31 | Hilti Aktiengesellschaft | Method for determining a position and/or the orientation of a device top |
EP3797936A1 (en) * | 2019-09-24 | 2021-03-31 | Hilti Aktiengesellschaft | Method for determining a position and/or the orientation of a device top |
CN117232452B (en) * | 2023-10-07 | 2024-05-28 | 深圳市艾姆克斯科技有限公司 | Comparison instrument for detecting size of part and application method thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831549A (en) * | 1987-07-28 | 1989-05-16 | Brigham Young University | Device and method for correction of robot inaccuracy |
US5177563A (en) * | 1989-02-01 | 1993-01-05 | Texas A&M University System | Method and apparatus for locating physical objects |
FR2706345B1 (en) * | 1993-06-11 | 1995-09-22 | Bertin & Cie | Method and device for locating in space a mobile object such as a sensor or a tool carried by a robot. |
DE102007056773B4 (en) * | 2007-11-23 | 2015-08-13 | Kuka Roboter Gmbh | Method for automatically determining a virtual operating point |
CN102927908B (en) | 2012-11-06 | 2015-04-22 | 中国科学院自动化研究所 | Robot eye-on-hand system structured light plane parameter calibration device and method |
-
2014
- 2014-04-22 FI FI20145372A patent/FI20145372A/en not_active IP Right Cessation
-
2015
- 2015-04-20 EP EP15720753.1A patent/EP3134232A1/en not_active Withdrawn
- 2015-04-20 WO PCT/FI2015/050270 patent/WO2015162334A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744343A (en) * | 2021-08-09 | 2021-12-03 | 佛山智能装备技术研究院 | Hand-eye calibration method and system based on structured light sensor and storage medium |
CN113744343B (en) * | 2021-08-09 | 2023-12-05 | 佛山智能装备技术研究院 | Hand-eye calibration method, system and storage medium based on structured light sensor |
Also Published As
Publication number | Publication date |
---|---|
WO2015162334A1 (en) | 2015-10-29 |
FI20145372A (en) | 2015-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157458B2 (en) | Laser projection system and method | |
JP6280525B2 (en) | System and method for runtime determination of camera miscalibration | |
JP5199452B2 (en) | External system for improving robot accuracy | |
JP6533035B2 (en) | Apparatus and method for accurate marking of structures and positioning of structures supported by markings | |
US9266241B2 (en) | Robotic work object cell calibration system | |
EP3134232A1 (en) | A method and a system for generating data for calibrating a robot | |
CN101909828B (en) | Method and system for the high-precision positioning of at least one object in a final location in space | |
US20100161125A1 (en) | Work apparatus and calibration method for the same | |
CN109551518B (en) | Measurement system | |
CN111278608B (en) | Calibration article for 3D vision robot system | |
US10744645B2 (en) | Measurement system | |
US20150362310A1 (en) | Shape examination method and device therefor | |
US8485017B1 (en) | Robotic work object cell calibration system | |
KR20170008678A (en) | Position measurement system | |
JP6603289B2 (en) | Robot, robot system, and robot coordinate system setting method | |
JP2010169633A (en) | Shape measurement device | |
CN107186714A (en) | A kind of accurate positioning method, alignment system and robot device | |
US11951637B2 (en) | Calibration apparatus and calibration method for coordinate system of robotic arm | |
JP2016159406A (en) | Robot control device, robot control method and robot system | |
US20220168902A1 (en) | Method And Control Arrangement For Determining A Relation Between A Robot Coordinate System And A Movable Apparatus Coordinate System | |
TWI712473B (en) | Method for calibrating coordinate of robot arm | |
KR101695248B1 (en) | Sensor calibration apparatus | |
TW202233366A (en) | Robot installation position measurement device, installation position measurement method, robot control device, teaching system, and simulation device | |
WO2017068240A2 (en) | A method and a system for generating data for calibrating a robot | |
JP7475163B2 (en) | measuring device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20161117 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20181101 |