Method for calibrating tools of industrial robots, control system and industrial robot
By recording joint positions at multiple calibration locations and modifying kinematic parameters, the problem of inaccurate tool center point calibration is resolved, enabling more accurate tool positioning and reorientation, improving robot performance, and eliminating the need for additional measurement equipment.
Patent Information
- Application Number
- CN201980090810.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-02-07
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2039-02-07
AI Technical Summary
In the existing technology, the tool center point calibration method of industrial robots is not accurate enough, resulting in reduced robot performance and requiring additional measurement equipment and complex optimization processes.
Precise positioning and reorientation of the tool is achieved by locating the tool center point relative to a reference target at multiple calibration positions, recording the joint positions, calculating the tool data using a least-squares optimization algorithm, and modifying the kinematic parameters to reduce errors.
This enables simple, inexpensive and more accurate tool calibration, reducing tool center point errors and improving robot performance without the need for additional measurement equipment.
Smart Images

Figure CN113365785B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to calibration of an industrial robot. Specifically, a method for calibrating a tool of an industrial robot, a control system for calibrating the tool of an industrial robot, and an industrial robot including the control system are provided. Background Art
[0002] An industrial robot including a series of kinematic manipulators can be viewed as a chain of links. Two adjacent links can be coupled to each other so that they can rotate or translate relative to each other. The last link in the chain is usually a tool attachment, such as a tool flange, for attaching various tools. In order to be able to determine the position of the robot, each joint is usually equipped with an angle measuring device in the form of an encoder or resolver, which indicates the position of the joint relative to the zero position.
[0003] Before a robot can be used, it must be calibrated. For example, each angle measuring device must be calibrated relative to its origin. When a tool is attached to the last axis, the robot also needs to know the actual position of the tool's active point, the tool center point (TCP). This could be the nozzle of a spot welding tool, for example. Therefore, a tool center point calibration is performed whenever a tool is changed.
[0004] A known method for calibrating a tool is by a so-called TCP four-point calibration, in which a reference target in the robot's workspace is approached as accurately as possible. This process is then repeated by approaching the reference target with several different positions of the robot (e.g. with several different orientations of the tool). The reference target is, for example, the tip of a nail. By moving the robot so that the tool center point approaches the tip of the reference target in at least four different positions of the robot, the coordinates of the tool center point and its errors can be calculated by solving a least-squares optimization problem. The tool center point coordinates can be expressed in the wrist coordinate system, i.e. in the last link of the robot. The errors may depend, for example, on calibration errors, mechanical errors (such as tolerances) and gravity. Larger errors mean that the tool center point is not accurately defined, which leads to reduced robot performance.
[0005] WO2015165062A1 discloses a method for calibrating a tool center point and mentions an example of TCP four-point calibration. Summary of the Invention
[0006] An object of the present disclosure is to provide a simple and accurate method of calibrating tools of an industrial robot.
[0007] Another object of the present disclosure is to provide a more accurate method of calibrating a tool of an industrial robot, the method comprising locating a tool center point of the tool relative to a reference target.
[0008] Another object of the present disclosure is to provide a method of calibrating a tool of an industrial robot, which method is capable of moving the tool more accurately.
[0009] Another object of the present disclosure is to provide a method of calibrating a tool of an industrial robot, which method is capable of more accurately reorienting the tool.
[0010] Yet another object of the present disclosure is to provide an inexpensive method of calibrating tools of an industrial robot.
[0011] Yet another object of the present disclosure is to provide a method of calibrating a tool of an industrial robot, which method solves several of the aforementioned objects or all of the aforementioned objects together.
[0012] Yet another object of the present disclosure is to provide a control system for calibrating a tool of an industrial robot, which solves one, several or all of the aforementioned objects.
[0013] Another object of the present disclosure is to provide an industrial robot that solves one, several or all of the aforementioned objects.
[0014] According to one aspect, a method for calibrating a tool of an industrial robot is provided, the method comprising: positioning a tool center point of the tool at at least one calibration position of the robot relative to a reference target; recording a joint position of at least one joint of the robot for each calibration position; calculating tool data based on at least one joint position in each calibration position and based on a kinematic model of the robot, the tool data including a definition of the tool center point; determining an error in the calculated tool data; and modifying at least one kinematic parameter of the robot based on the error to reduce the error.
[0015] The position of the reference target may be known. In this case, the tool data may also be calculated based on the position of the reference target. Alternatively, the position of the reference target may be unknown. In this case, the reference target may also be calculated based on at least one joint position in each calibration position and based on the kinematic model of the robot.
[0016] Positioning the tool center point relative to the reference target can be performed under manual control, for example by slowly moving the robot to one or more calibration positions. Alternatively, positioning the tool center point relative to the reference target can be automated. At each calibration position, the tool center point may or may not be in physical contact with the reference target. Calculation of the tool data can be performed using a least-squares optimization algorithm.
[0017] Once one or more joint positions are recorded, the method can be performed without any additional measurements that might require additional measuring instruments. The only external equipment (external to the robot) required for the tool calibration method is a reference target. Therefore, the method is simple and inexpensive.
[0018] The method according to the present disclosure may not always produce the most accurate definition of the tool center point. However, a more accurate tool center point generated by, for example, a coordinate measuring machine (CMM) may not produce the most accurate tool center point for reorienting the tool when moving the robot. In some cases, the tool center point can be more accurately determined using a CMM. However, according to the method of the present disclosure, once at least one kinematic parameter is modified, the method can more accurately reorient the tool, despite not necessarily having the most accurate tool data measured by, for example, a CMM.
[0019] A kinematic parameter may be any parameter that affects the definition of the tool center point. Although this disclosure primarily describes kinematic parameters as joint positions, the method may be performed by modifying alternative kinematic parameters. For example, modifying at least one kinematic parameter may include moving the robot's base coordinate system, such as expressed in a world coordinate system.
[0020] The at least one kinematic parameter may be comprised of at least one software kinematic parameter. Alternatively or additionally, the kinematic parameter may be one or more hardware kinematic parameters. Examples of software kinematic parameters are joint positions and positioning of a base coordinate system. Examples of hardware kinematic parameters are sensor positions or motor positions of a joint.
[0021] The reference target can be fixed in the robot's workspace. The reference target's position can be expressed in a world coordinate system. If the reference target's position in the world coordinate system is known, the reference target can be expressed in the base coordinate system by using a transformation between the world coordinate system and the base coordinate system. However, this method can also be performed when the reference target's position is unknown.
[0022] Determining the error of the calculated tool data may include determining an error of the calculated tool center point. By modifying the at least one kinematic parameter such that the error of the tool center point is reduced, the method constitutes a method for calibrating the tool center point.
[0023] The tool data may also include a definition of the orientation of the tool. Thus, the tool data may include various geometric data of the tool. In this case, determining the error in the calculated tool data may include determining an error in the calculated tool center point and / or the calculated tool orientation. The tool data may also include other tool data, such as the tool's weight, the tool's load, the tool's center of gravity, and its moment of inertia.
[0024] The method may further include controlling the robot to perform movement using the modified at least one kinematic parameter.
[0025] Positioning the tool center point relative to the reference target can be performed in a plurality of different calibration positions of the robot, for example, four different calibration positions. In each calibration position, the tool can be oriented differently with respect to the reference target. As a possible alternative, the tool can be oriented in the same manner relative to the reference target in several or all of the different calibration positions of the robot.
[0026] The method may further comprise modifying the kinematic model based on the modified at least one kinematic parameter. In this case, the kinematic parameter is a software kinematic parameter. The kinematic parameters according to the present disclosure may alternatively be physical parameters of the robot, i.e., hardware kinematic parameters. For example, a sensor or motor of a joint may be modified.
[0027] At least one kinematic parameter may comprise at least one joint position. In this case, modifying at least one joint position to reduce the error of the calculated tool data constitutes a calibration of the at least one joint position. By calibrating at least one joint position, the tool is also calibrated. According to a variant, only or mainly the fourth joint and the fifth joint of the robot are modified to reduce the error. Modifying the joint position does not mean moving the physical joint, but rather a change in the definition of the physical position of the joint. Alternatively or additionally, at least one kinematic parameter may comprise the positioning of the base coordinate system of the robot, for example a transformation from a world coordinate system to a base coordinate system.
[0028] Modification of at least one kinematic parameter may include optimizing the at least one kinematic parameter to reduce error. For example, modification of at least one kinematic parameter may include optimizing the at least one joint position to reduce error. This type of modification may constitute post-optimization of the joint calibration to calibrate the tool.
[0029] Modification of at least one kinematic parameter may include: performing optimization of joint position modification of at least one recorded joint position to satisfy an objective function of minimizing the error of the tool center point and outputting at least one optimized joint position; and using the optimized at least one joint position as the modified at least one kinematic parameter.
[0030] The optimization can be constrained or unconstrained. For example, constraints reflecting the end positions of one or more joints can be imposed.
[0031] The reference target can be a single point. Alternatively, the reference target can be an object with a definable geometric shape, such as a sphere, cylinder, or cube. In any case, the position of the reference target can be known or unknown to the robot.
[0032] The method may comprise positioning the tool centre point in at least one calibration position relative to a single reference target. That is, the method may be performed using only one reference target.
[0033] The error can be determined as the average distance in at least one direction from the calculated tool center point to the reference target in at least one calibration position. Alternatively, the error can be determined as the maximum distance in at least one direction from the calculated tool center point to the reference target in the middle of the at least one calibration position. The average distance or the maximum distance can be expressed in only one direction, such as along the X axis of the wrist coordinate system, or in several directions (X, Y, Z).
[0034] According to another aspect, a control system for calibrating a tool of an industrial robot is provided, the control system comprising a data processing device and a memory storing a computer program, the computer program comprising program code that, when executed by the data processing device, causes the data processing device to perform the following steps: for each of at least one calibration position of the robot, in which a tool center point of the tool is located relative to a reference target, recording a joint position of at least one joint of the robot; calculating tool data based on at least one joint position in each calibration position and based on a kinematic model of the robot, the tool data including a definition of the tool center point; determining an error in the calculated tool data; and modifying at least one kinematic parameter of the robot based on the error to reduce the error. The computer program may also comprise program code that, when executed by the data processing device, causes the data processing device to perform any of the steps and / or instructs the data processing device to perform any of the steps according to the present disclosure.
[0035] According to another aspect, an industrial robot including a control system according to the present disclosure is provided. In the present disclosure, the industrial robot may include at least one serial kinematic manipulator programmable in three or more axes, such as a six-axis or seven-axis manipulator. Thus, the robot may include at least three joints, one for each axis. Each joint may be a rotational joint or a translational joint. Thus, the joint position may be a rotational position or a translational position. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Further details, advantages and aspects of the present disclosure will become apparent from the following embodiments with reference to the accompanying drawings, in which:
[0037] Figure 1 schematically shows a side view of an industrial robot including a tool;
[0038] Figure 2 schematically illustrates the tool in different calibration positions of the robot relative to a reference target; and
[0039] Figure 3 The tool is schematically shown in different calibration positions of the robot relative to an alternative reference target. DETAILED DESCRIPTION
[0040] Hereinafter, a method for calibrating a tool of an industrial robot, a control system for calibrating a tool of an industrial robot, and an industrial robot comprising the control system will be described. The same reference numerals will be used to denote the same or similar structural features.
[0041] Figure 1 There is schematically shown a side view of an industrial robot 10. The robot 10 is exemplified as a six-axis industrial robot including a serial kinematic manipulator programmable in six axes, but the present disclosure is not limited to this particular type of robot.
[0042] The robot 10 of this example includes a base 12, a tool 14, and a control system 16, such as a robot controller. The robot 10 also includes a first link member 18a that is rotatable relative to the base 12 at a first joint 20a about a vertical axis, a second link member 18b that is rotatable relative to the first link member 18a at a second joint 20b about a horizontal axis, a third link member 18c that is rotatable relative to the second link member 18b at a third joint 20c about a horizontal axis, a fourth link member 18d that is rotatable relative to the third link member 18c at a fourth joint 20d, a fifth link member 18e that is rotatable relative to the fourth link member 18d at a fifth joint 20e, and a sixth link member 18f that is rotatable relative to the fifth link member 18e at a sixth joint 20f. The sixth link member 18f includes a tool flange (not shown) having an interface for attaching the tool 14. Each joint 20a-20f is also denoted by reference numeral "20", and each link member 18a-18f is also denoted by reference numeral "18".
[0043] The control system 16 includes a data processing device 22 (e.g., a central processing unit, CPU) and a memory 24. A computer program is stored in the memory 24. According to the present disclosure, the computer program may include program code that, when executed by the data processing device 22, causes the data processing device 22 to perform any steps or instructs the data processing device 22 to perform any steps.
[0044] The robot program, the kinematic model of the robot 10, and the dynamic model of the robot 10 are also implemented in the control system 16. The control system 16 is configured to generate drive signals to the motors (not shown) of each joint 20 based on the motion instructions from the robot program and the kinematic and dynamic models of the robot 10.
[0045] Figure 1Also shown is a reference target 26 fixedly positioned in the workspace 28 of the robot 10. The reference target 26 of this example consists of the tip (i.e., a single point) of a nail 30. The method for calibrating the tool 14 according to the present disclosure can be performed with only one reference target 26 in the workspace 28.
[0046] The position of the reference target 26 may be known or unknown. In this example, the position of the reference target 26 is known. The position of the reference target 26 may be, for example, in the world coordinate system X 世界 Represented and converted into the base coordinate system X of the robot 10 基座 . Base coordinate system X 基座 Located along the axis of rotation of the first joint 20a is on the base 12 at the intersection between the base 12 and the first link member 18a.
[0047] Figure 1 Also indicates the wrist coordinate system X 腕部 Wrist coordinate system X 腕部 Positioned along the rotation axis of the sixth joint 20f is the last link member 18f at the intersection between the fifth link member 18e and the sixth link member 18f.
[0048] The tool 14 includes a tool center point 32. When the motion of the robot 10 is programmed by specifying a path for the robot 10 to follow, the robot 10 is intended to move so that the tool center point 32 follows the path. Although multiple tool center points 32 can be defined for each tool 14, only one tool center point 32 is active at a given time.
[0049] Tool coordinate system X 工具 Positioned so that its origin is at the tool center point 32. Tool coordinate system X 工具 Use wrist coordinate system X 腕部 For example, if the tool 14 is used to replace the previously damaged tool 14, and if the tool coordinate system X is redefined 工具 , the old robot programs can still be used.
[0050] like Figure 1 As shown, the tool coordinate system X 工具 The orientation is different from the wrist coordinate system X 腕部 Therefore, in this case, in order to define the tool coordinate system X 工具 , tool data containing both the position of the tool center point 32 and the orientation of the tool 14 can be used. However, if the tool coordinate system X 工具 With wrist coordinate system X 腕部 If the orientation of the tool is the same, the tool data may only contain the definition of the tool center point 32.
[0051] Figure 2 The tool 14 is schematically shown in a plurality of different calibration positions 34a, 34b, 34c, 34d of the robot 10 relative to the reference target 26. Each calibration position 34a, 34b, 34c, 34d is also collectively designated by the reference numeral "34".
[0052] Reference Figure 1 and Figure 2 A specific example of a method of calibrating the tool 14 will now be described. The calibration method may be performed, for example, by a service technician as a service routine.
[0053] For example, by operating a teach pendant (not shown), the robot 10 is slowly moved to position the tool center point 32 at a first calibration position 34 a of the robot 10 and as close as possible to the reference target 26. When the robot 10 has been slowly moved to the calibration position 34 a, a set of joint positions (e.g., the joint position of each joint 20) is recorded via the teach pendant, for example, based on a command from an operator. The joint positions provide information about how each joint 20 is positioned when the robot 10 adopts the calibration position 34 a.
[0054] The above process is then repeated for the other calibration positions 34b, 34c, 34d. In this example, the robot 10 moves slowly to position the tool center point 32 in the second, third, and fourth calibration positions 34b, 34c, 34d as close to the reference target 26 as possible. At each calibration position 34b, 34c, 34d, the position of the joint 20 is recorded. Figure 2 As shown, the tool center point 32 contacts the reference target 26 at each calibration position 34. This constitutes one example of positioning of the tool center point 32 relative to the reference target 26. The robot 10 may alternatively be moved to each calibration position 34 automatically. Figure 2 It is further illustrated that in each calibration position 34 , the tool 14 is oriented in a unique position relative to the reference target 26 .
[0055] Tool data for the tool 14 may be calculated based on the joint positions recorded in the calibration position 34, based on the position of the reference target 26 (known in this example), and based on the kinematic model of the robot 10. Errors in the tool data may also be calculated.
[0056] In this example, the tool data consisting of tool center point 32 and its error are calculated. A least squares optimization algorithm can be used for the calculation by ensuring that the sum of the squared changes in the calculated position of reference target 26 is minimized if the correct coordinates of tool center point 32 are found, but allowing for a residual error. The residual error may depend on, for example, kinematic inaccuracies, the kinematics of robot 10, the calibration of joints 20, and gravity.
[0057] The joint position modification is then optimized to reduce the error. For example, an optimization problem is provided with an objective function for determining the error. The objective function value is then minimized based on the joint position modification as an optimization variable to output an optimized joint position. This constitutes an example of modifying the kinematic parameters of the robot 10 to reduce the error of the tool center point 32. The method may include optimizing kinematic parameters other than the joint position. The modified kinematic parameters (in this case, the optimized joint position) are then added to the kinematic model of the robot 10 for use by the control system 16 when controlling the motion of the robot 10.
[0058] The applicant has tested the method on both simulated and real robots 10. In both cases, a calibration error was deliberately introduced in one of the joints 20. The method correctly identified and corrected the introduced calibration error.
[0059] Figure 3 The tool 14 is schematically shown in different calibration positions 34a, 34b, 34c, 34d of the robot 10 relative to the alternative reference target 26. Figure 2 The main differences.
[0060] Figure 3 The reference target 26 in FIG. 2 has a spherical surface 36 of known radius, thereby constituting an example of an object having a definable geometric shape. By knowing or calculating the shape of the reference target 26 , the tool center point 32 of the tool 14 can be positioned at any calibration position 34 relative to the surface 36 of the reference target 26 , for example by contacting a unique point on the surface 36 at each calibration position 34 .
[0061] Although the present disclosure has been described with reference to exemplary embodiments, it should be understood that the invention is not limited to the foregoing description. For example, it should be understood that the dimensions of the components may be varied as desired.
Claims
1. A method for calibrating a tool (14) of an industrial robot (10), the method comprising: - positioning a tool center point (32) of the tool (14) in at least one calibration position (34) of the robot (10) relative to a reference target (26); - for each calibration position (34), recording the joint position of at least one joint (20) of the robot (10); - calculating tool data based on the at least one joint position in each calibration position (34) and based on a kinematic model of the robot (10), the calculated tool data comprising a definition of the tool center point (32) in a wrist coordinate system fixed to the most distal link of the robot, wherein the definition comprises the coordinates of the tool center point in the wrist coordinate system; - determining an error of the calculated tool data, the error being determined as an average distance in at least one direction from the calculated tool center point (32) to a reference target (26) in the at least one calibration position (34), or the error being determined as a maximum distance in at least one direction from the calculated tool center point (32) to the reference target (26) in the at least one calibration position (34); as well as - modifying at least one kinematic parameter of the robot (10) based on the error in order to reduce the error.
2. The method of claim 1 , wherein determining the error in the calculated tool data comprises: An error in the calculated tool center point (32) is determined.
3. Method according to claim 1 or 2, wherein the calculated tool data further comprises a definition of the orientation of the tool (14).
4. The method according to any one of the preceding claims, further comprising: The modified at least one kinematic parameter is used to control the robot (10) to perform movement.
5. The method according to any of the preceding claims, wherein positioning the tool center point (32) relative to a reference target (26) is performed at a plurality of different calibration positions (34) of the robot (10).
6. The method according to any one of the preceding claims, further comprising: The kinematic model is modified based on the modified at least one kinematic parameter.
7. The method according to any of the preceding claims, wherein the at least one kinematic parameter comprises at least one joint position.
8. The method according to any one of the preceding claims, wherein the modification of the at least one kinematic parameter comprises: Optimization of the at least one kinematic parameter to reduce the error.
9. The method according to any one of the preceding claims, wherein the modification of the at least one kinematic parameter comprises: - performing an optimization of a joint position modification of the recorded at least one joint position to satisfy an objective function of minimizing the error of the tool center point (32) and outputting an optimized at least one joint position; as well as - using the optimized at least one joint position as the modified at least one kinematic parameter.
10. The method according to any one of the preceding claims, wherein the reference target (26) is a single point.
11. The method according to any one of claims 1 to 9, wherein the reference target (26) has a definable geometric shape.
12. A control system (16) for calibrating a tool (14) of an industrial robot (10), the control system (16) comprising a data processing device (22) and a memory (24) having a computer program stored thereon, the computer program comprising program code which, when executed by the data processing device (22), causes the data processing device (22) to perform the following steps: - recording a joint position of at least one joint (20) of the robot (10) for each of at least one calibration position (34) of the robot (10), wherein a tool center point (32) of the tool (14) is positioned relative to a reference target (26); - calculating tool data based on the at least one joint position in each calibration position (34) and based on a kinematic model of the robot (10), the calculated tool data comprising a definition of the tool center point (32) in a wrist coordinate system fixed to the most distal link of the robot, wherein the definition comprises the coordinates of the tool center point in the wrist coordinate system; - determining an error of the calculated tool data, the error being determined as an average distance in at least one direction from the calculated tool center point (32) to a reference target (26) in the at least one calibration position (34), or the error being determined as a maximum distance in at least one direction from the calculated tool center point (32) to the reference target (26) in the at least one calibration position (34); as well as - modifying at least one kinematic parameter of the robot (10) based on the error to reduce the error.
13. An industrial robot (10) comprising a control system (16) according to claim 12.
Citation Information
Patent Citations
Method for calibrating tool centre point for industrial robot system
WO2015165062A1
Automatic correction method for robot constant
JP1992129687A
Method and device for calibration of robot
JP2002018750A
Method and System to Provide Improved Accuracies in Multi-Jointed Robots Through Kinematic Robot Model Parameters Determination
US20080188986A1
Method and device for calibration of movement axes of an industrial robot
US5687293A