Kit for calibrating coordinate positioning machine

The calibration method for articulated robots optimizes machine geometry parameters by controlling the robot to specific poses and using a length measurement device, effectively reducing positional errors and enhancing operational precision.

JP2025069351AActive Publication Date: 2025-04-30RENISHAW PLC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025016745
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-02-26
Filing Date
2025-02-04
Publication Date
2025-04-30
Estimated Expiration
2039-02-25

AI Technical Summary

Technical Problem

Articulated robots face challenges in precise calibration due to accumulating positional errors from multiple rotating joints, which complicates the calibration process, especially in non-Cartesian machines.

Method used

A method for calibrating coordinate positioning machines involves characterizing machine geometry using parametric models, controlling the machine to specific poses, and using a length measurement device to determine error values, ultimately optimizing a new set of model parameters to reduce overall error magnitude.

Benefits of technology

This method allows for improved calibration of articulated robots by reducing positional errors and enhancing the accuracy of predicting tool positions, thereby improving the reliability and precision of robotic operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025069351000001_ABST
    Figure 2025069351000001_ABST
Patent Text Reader

Abstract

To provide a kit for calibrating a coordinate positioning machine.SOLUTION: A kit for calibrating a coordinate positioning machine, the kit comprises a measurement device and an adapter, the adapter being adapted to mount on or around a tool of the coordinate positioning machine, the tool having a tool center point. The adapter includes at least a partially spherical support surface having a center point substantially coinciding with the tool center point when the adapter is mounted on and / or around the tool. The measurement device includes a coupling element adapted to couple to and support against the support surface of the adapter such that a measuring point of the measurement device substantially coincides with the center point of the adapter and remains in place when the coupling element moves over at least a predetermined portion or working portion of the support surface.SELECTED DRAWING: Figure 16
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to coordinate positioning machines, and in particular, although not exclusively, to the calibration of at least some aspects of articulated robots. [Background technology]

[0002] Articulated robots are commonly used in manufacturing applications such as assembly, welding, painting, pick and place of printed circuit boards, packaging and labelling, palletising and product inspection. An articulated robot (or simply "robot") is shown diagrammatically in Figure 1 of the accompanying drawings and comprises an articulated arm 1 extending from a fixed base 2 to a moveable flange 3 which supports a tool 4. Typically the flange 3 is provided with a coupling which allows the tool 4 to be conveniently interchangeable.

[0003] The arm 1 comprises a number of links 5 connected by a number of revolute joints 6 forming a mechanical linkage. In the example shown in FIG. 1, there are seven revolute joints 6, alternating between revolute joints with their axis of rotation perpendicular to the longitudinal axis of the connected link 5 and revolute joints with their axis of rotation parallel to the longitudinal axis of the connected link 5. The most common arrangement for industrial robots is to have six revolute joints, although robots may also have one or more linear joints. The use of multiple joints allows flexibility in moving the tool 4 around the working area and manipulating it into a variety of different poses. The degree of flexibility can be provided by increasing or decreasing the number of joints in the arm.

[0004] However, having additional joints (and therefore additional flexibility) has the disadvantage that each joint contributes to position errors or uncertainties, and because of the continuous nature of the linkages, these errors accumulate. It is important to be able to calibrate the robot to precisely account for these errors or uncertainties.

[0005] Calibrating any type of non-Cartesian machine is a significant challenge, and this is especially true for an articulated arm such as that shown in FIG. 1, which has multiple rotary joints that are not fixed relative to each other and can combine in complex ways to position a tool in the work area. Calibrating a Cartesian machine is typically simpler because such machines have three clearly defined axes that are fixed to each other in an orthogonal arrangement, with each axis being independent of the other. In a non-Cartesian machine, the position and orientation of each axis depends on the position and orientation of each of the other axes, and as a result, the calibration will be different for each different machine pose.

[0006] Calibration using laser trackers is possible, but is typically expensive and time consuming to perform in the field. Many other types of calibration techniques have in common the goal of identifying a model of relevant machine parameters. In this model, multiple parameters are used to characterize the machine geometry. Uncalibrated values ​​are initially assigned to these parameters as a starting point for the machine geometry. During calibration, the machine is moved to a variety of different poses (based on the current estimates of the machine parameters). For each pose, a calibrated measurement device is used to measure the actual pose, so that a measure of the error between the assumed machine pose and the actual machine pose can be determined.

[0007] The problem of calibrating a machine then becomes one of determining a set of values ​​for the various parameters of the machine that minimizes the error, using known numerical optimization or error minimization techniques. An example of such a technique is the well-known Levenberg-Marquardt algorithm, which uses the least squares method to minimize the error knowing the derivative of the error according to each optimized parameter (see non-patent document 1 and non-patent document 2). Other techniques, including those based on maximum likelihood methods, are also possible.

[0008] For a robot such as that shown in Figure 1, these machine parameters may include various geometric parameters such as the length of each robot link 5, the rotational angular offset of each rotary joint 6 (a calibrated offset giving the angle from the encoder and the actual angle), and various mechanical parameters such as joint compliance and friction. When all these machine parameters are known and properly calibrated, it is possible to more reliably predict where the tool 6 will actually be when the various joints 6 are commanded by the robot controller 7 to move to their different respective positions. In other words, the machine parameters obtained from such a calibration provide a more accurate characterization of the machine geometry.

[0009] Previously, it has been considered to use a ballbar, such as the QC20-W ballbar manufactured and sold by Renishaw plc, to form part of a robot calibration procedure. For example, such a procedure is described in "Absolute robot calibration using a single nested ballbar" (Precision Engineering, 2014). In this article, it is described that two custom-made fixtures are used, each having three ballbar connection points. One nested ballbar is connected in turn between different pairs of connection points of the two fixtures, and one of the fixtures is commanded by a controller to move to each of 72 different poses relative to the other fixture. The measurements are used to determine the machine parameters using error minimization techniques, and thereby to calibrate the machine.

[0010] Further background on robot calibration techniques can be found below. (a) Non-Patent Document 4 ("Calibration Method for Offline Generated Robot Programs" by Gustav), (b) Non-Patent Document 5 ("Calibrating Robot Reference Frames for Improving Robot Positioning Accuracy" by Frank Shaopeng Cheng), (c) Non-Patent Document 6 ("Etalonnage de Robots Industriels" by Gregori), (d) Non-patent document 7 ("Amelioration de la precision des robots industriels pour des applications d'usinage a grande vitesse" by Adel Olabi), (e) Non-Patent Document 8 ("An Overview of Robot Calibration" by AY Elatta et al.), (f) Non-Patent Document 9 (KhaLil and E Dombre, "Modeling, Identification and Control of Robots") [Prior art documents] [Patent documents]

[0011] [Patent Document 1] U.S. Patent No. 5,297,238 [Patent Document 2] US Patent Application Publication No. 2004 / 0003647 [Patent Document 3] German Patent No. 3504464 [Non-patent literature]

[0012] [Non-Patent Document 1] "A Method for the Solution of Certain Non-Linear Problems in Least Squares" by Kenneth Levenberg, Quarterly of Applied Mathematics, 1944, 2:164-168 [Non-Patent Document 2] "An Algorithm for Least-Squares Estimation of Nonlinear Parameters" by Donald Marquardt, 1963, SIAM Journal on AppLied Mathematics, pp. 11(2):431-441 [Non-Patent Document 3] "Absolute Robot Calibration with a Single Telescoping Ballbar" by Albert Nubiola, Precision Engineering, 2014 [Non-Patent Document 4] "Method for calibration of off-line generated robot program" by Gustav Bergstrom, 2011, Master of Science Thesis, Chalmers University of Technology, Goteborg, Sweden, , Report No. EX099 / 2011 [Non-Patent Document 5] “Calibration of Robot Reference Frames for Enhanced Robot Positioning Accuracy” by Frank Shaopeng Cheng, a chapter in “Robot Manipulators” Edited by Marco Ceccarelli, ISBN 978-953-7619-06-0) [Non-Patent Document 6] "Etalonnage de Robots Industriels" by Gregori, July 2010, Projet de fin d'etudes, Ingenierie Industrielle, Universite du Quebec [Non-Patent Document 7] Adel Olabi, "Amelioration of industrial robotics precision for the most demanding applications of use", Arts et Metiers ParisTech, 2011, available at https: / / pastel.archives-ouvertes.fr / pastel-006490l9 [Non-Patent Document 8] AY Elatta et al., "An Overview of Robot Calibration," Information Technology Journal 3 (1): 74-78, 2004. [Non-Patent Document 9] "Modeling, Identification and Control of Robots" by KhaL1l and E Dombre, ISBN 978-1-903996-66-9 Summary of the Invention [Problem to be solved by the invention]

[0013] It would be desirable to provide improved and / or simplified methods of calibrating a robot, or at least certain aspects of the robot's geometry.

[0014] US Patent No. 5,393,633 describes a method for calibrating a tool control frame on a robot, in one embodiment of which a probe is attached to the tool of the robot and sensed non-contact by a digitizing plate. US Patent No. 5,393,633 discloses a method for correcting position errors in a machine end effector using a ballbar as the measurement device. US Patent No. 5,393,633 describes the use of three nested measuring rods in a tripod arrangement. [Means for solving the problem]

[0015] According to a first aspect of the present invention there is provided a method of calibrating a coordinate positioning machine, comprising the steps of: The geometry of the machine is characterized by a parametric model, and the calibration method is intended to determine a new set of model parameters that characterize the geometry of the machine better than an existing set of model parameters, the method comprising: controlling the machine to a pivot pose where a target point associated with a moving part of the machine and a pivot point associated with a fixed part of the machine are separated from one another by a known distance interval; determining an error value for the pose based on the known distance interval and an expected distance interval for the pose from existing model parameters; Controlling the machine to a number of different target poses; A method is provided that comprises, for each target pose, using a length measuring device to measure a distance interval between the target point and a pivot point, and determining an error value for the pose based on the measured distance interval and a distance interval expected for that pose from existing model parameters and from the pivot pose, determining an overall error magnitude from the error value, and determining a new set of parameters that will result in a lower overall error magnitude than the existing set of parameters.

[0016] The method may include determining a new set of error values ​​based on the new set of parameters, and determining a further new set of parameters from the error values, which may be repeated as necessary, for example, until the overall error measure falls below a predetermined threshold.

[0017] The known distance interval may be a zero value or a zero capability vector. In other words, the target point and the pivot point may substantially coincide at the pivot pose.

[0018] The method may include determining new values ​​for only a subset of the model parameters, the remainder of the model parameters may be assumed to be correct for the purposes of the calibration method, or may remain unchanged, at least for the duration of the method, with only the subset of parameters being varied to determine a new set of model parameters that better characterizes the machine's geometry than the existing set of model parameters.

[0019] The subset of model parameters may relate to a tool centre point of the machine, for example the location of the tool centre point.

[0020] The measured distance may be a one-dimensional distance, or in other words a distance with one degree of freedom.

[0021] The distance between the target point and the pivot point may be measured by a length measuring device.

[0022] The length measuring device may be a ballbar.

[0023] The target pose may be performed before or after the pivot pose, but it is preferred that the pivot pose be performed before the target pose, since the pivot position is at least partially set by the step of controlling the machine to the pivot pose.

[0024] The known separation between the pivot point and the target point may be achieved by using an adjustable pivot. The adjustable pivot allows some movement of the pivot point as the target point is moved by the machine in the vicinity of the pivot point, with the pivot point coupling to the target point with a known relationship therebetween, thereby providing a known separation. The pivot may be locked in position for subsequent target pose measurements. The adjustable pivot may allow for at least lateral translational movement. The adjustable pivot may allow for rotation of the pivot.

[0025] The measured distance interval may instead be a two degree of freedom distance interval. The measured distance interval may be a three degree of freedom distance interval, for example measured by a tripod. The measured distance interval may instead be a four degree of freedom distance interval. The measured distance interval may instead be a five degree of freedom distance interval. The measured distance interval may instead be a six degree of freedom distance interval, for example measured by a hexapod. The measured distance interval may be considered as a one to six dimensional vector. Where it is stated that a target point is related to a moving part of the machine and a pivot point is related to a fixed part of the machine, these may instead be considered as the target part and the pivot part, respectively, so that a rotational relationship (distance interval) between them may be defined, and not just a translational relationship (distance interval).

[0026] It will be appreciated that for an N-dimensional distance interval, each "error value" above actually includes N corresponding individual error values. Thus, the "error values" determined for the pivot pose and each target pose may be considered and / or alternatively referred to as "errors" or "error measurements," each having one or more "error values."

[0027] The machine may be a robot. The machine may be an articulated robot. The machine may be a six-axis articulated industrial robot. The robot may be considered to be a coordinate positioning machine with three or more axes, whether rotary or linear, or a combination thereof, or serial or parallel, or a combination thereof.

[0028] According to a second aspect of the present invention there is provided an adapter adapted for mounting to or about an element of a coordinate positioning machine, the element having a pivot point, wherein the adapter, when mounted on and / or about the element, comprises at least a part-spherical supporting surface having a centre point substantially coincident with the pivot point.

[0029] The element may be a tool. The element may be a tool at the moving end of a machine. The element may be a tool carried and / or used and / or manipulated by a machine.

[0030] The pivot point may be the tool center point of the tool.

[0031] The adapter may be adapted to receive a number of different inserts in a generic manner, with the inserts adapted to receive different respective elements or element types, allowing the adapter to be used with a variety of different elements or element types.

[0032] Each insert may be internally molded to match the contour of its corresponding element.

[0033] Each insert may be adapted taking into account the location of the pivot point of its corresponding element to ensure that, when attached to the element and / or its periphery, the pivot point substantially coincides with the center of at least a partial sphere of the adapter.

[0034] At least some of the inserts may be 3D printed based on a CAD model of the element.

[0035] Inserts may be provided for a number of items selected from welding tools, machining tools such as drill bits, and calibrated shafts.

[0036] According to another aspect of the invention there is provided a kit (e.g. kit of parts) comprising a measuring device together with an adapter of the second aspect of the invention, the measuring device comprising a coupling element adapted to couple to and support against a support surface of the adapter such that a measurement point of the measuring device substantially coincides with a centre point of the adapter and the coupling element remains as it moves over at least a predetermined or working portion of the support surface.

[0037] The measuring device may be adapted to provide a measurement of the distance interval between two measuring points of the measuring device.

[0038] The measuring device may be a length measuring device.

[0039] The measurement device may be a ballbar.

[0040] The coupling element may be in the form of a cup.

[0041] The measurement point may be the center of at least a partial sphere of the cup, or at least a partial sphere passing through the support points of the cup (eg, if the cup includes three contact points).

[0042] The cup may be adapted to mate with the at least partial spherical surface of the adapter.

[0043] The measuring device may comprise a ball at one end and a cup at the other end.

[0044] The measuring device may include a cup on each end.

[0045] The coupling may be kinematic or at least quasi-kinematic.

[0046] The coupling element may be quasi-kinematic, with the contact surface covering a substantial portion of the support surface (e.g., a portion of a cone or sphere), which helps the coupling element straddle a groove or hole in the ball adapter.

[0047] The kit may comprise an insert as described above.

[0048] According to another aspect of the invention there is provided a method of calibrating a coordinate positioning machine comprising taking a kit according to the previous aspect, mounting an adapter on and / or around the element while the element is still on the coordinate positioning machine, coupling a measuring device to the adapter, coupling the measuring device to the adapter such that a coupling element of the measuring device supports against the at least part-spherical supporting surface of the adapter, and performing the measuring operation such that during the measuring operation a measuring point of the measuring device coincides with a centre point of the adapter and remains so when the coupling element of the measuring device moves over at least a predetermined or working portion of the at least part-spherical supporting surface of the adapter.

[0049] The method may include performing a first operation using the tool prior to attaching the adapter for the measurement operation without removing the tool between the first operation and attaching the adapter for the measurement operation.

[0050] The method may include performing further measurement operations on the tool, such as determining the length of the tool using a contact or non-contact tool setter, before attaching the adapter or after removing the adapter, and without removing the tool.

[0051] The meaning of the term "substantially matches" will be understood by those skilled in the art as depending on the context in which the invention is used and the expected and / or required accuracy. The term may be interpreted to mean "matches within a required tolerance" or "matches within a given tolerance." For example, "substantially matches" may mean within 5 mm, or more preferably within 2 mm, or more preferably within 1 mm, or more preferably within 0.5 mm, or more preferably within 0.1 mm in some applications.

[0052] According to an embodiment of a second aspect of the invention there is provided an adaptor adapted to fit around a tool, a tool of or for a coordinate positioning machine having a predetermined tool centre point, the adaptor comprising an at least partly spherical support surface having a centre which, when mounted around the tool, coincides with or is a known offset from the tool centre point of the tool. The tool centre point of the tool is defined essentially by or in response to the form or shape of the tool. There is also provided a measuring device for use with such an adaptor, the measuring device having a coupling element adapted to couple to and support against the support surface of the adapter such that a measuring point of the measuring device coincides with or is a known offset from the centre of the adapter and remains as the coupling element moves over at least a predetermined or working part of the support surface. The measuring device may be a length measuring device. The measuring device may be adapted to provide a measurement of a distance interval between two measuring points of the device. The measuring device may be a ball bar. The measuring point may be the centre of a ball at the end of the measuring device or a ball to which the measuring device couples. The coupling element may be in the form of a cup. The measuring device may have a ball at one end and a cup at the other end, or a cup at both ends, the cup adapted to mate with the at least partial spherical surface of the adapter. The coupling may be kinematic or at least quasi-kinematic.

[0053] According to a third aspect of the invention, there is provided an extension for a ballbar configured to provide an additional range of travel to the ballbar. The ballbar of this aspect may alternatively be another type of length measurement device. It provides an overtravel extension feature, for example as part of a modular system. The extension may be adapted to extend the range of travel but not the measurement range. The extension may be adapted to provide the additional range of travel to both sides of the measurement range. The extension may be adapted to provide the additional range of travel to only one side of the measurement range. The extension may comprise a ball that functions as one of the balls of the ballbar. A modular system may be provided comprising a measurement portion, a standard end portion and an extension portion, the measurement portion being connectable to the standard end portion to form a first type of ballbar and separately connectable to the extension portion to form a second type of ballbar.

[0054] According to a fourth aspect of the invention there is provided a computer program which, when executed by a computer or machine controller, causes the computer or machine controller to perform a method according to the first aspect of the invention or a method related to the second aspect. The program may be carried on a carrier medium. The carrier medium may be a storage medium. The carrier medium may be a transmission medium.

[0055] According to a fifth aspect of the present invention there is provided a computer readable medium having stored thereon computer program instructions for controlling a computer or machine controller to carry out a method according to the first aspect of the present invention or a method according to a method relating to the second aspect. [Brief description of the drawings]

[0056] Reference is now made, by way of example, to the accompanying drawings in which: [Figure 1] FIG. 1 is a schematic diagram of the articulated robot previously described. [Diagram 2]FIG. 2 shows a schematic of a robot moving an attached tool such that the tool's center point (TCP) remains in the same position. [Diagram 3] FIG. 3 shows a previously discussed method for identifying TCP. [Figure 4] FIG. 4 shows a previously discussed method for identifying TCP. [Diagram 5] FIG. 5 shows the steps of a method according to a first embodiment of the first aspect of the invention. [Figure 6] FIG. 6 shows the steps of a method according to a first embodiment of the first aspect of the invention. [Figure 7] FIG. 7 shows the steps of a method according to a first embodiment of the first aspect of the invention. [Figure 8] FIG. 8 shows the steps of a method according to a first embodiment of the first aspect of the invention. [Figure 9] FIG. 9 shows steps of a method according to a first embodiment of the first aspect of the invention. [Figure 10] FIG. 10 is a schematic flow diagram of the method illustrated in FIGS. [Figure 11] FIG. 11 is a schematic diagram showing how incorrect TCP position affects measurements from the method. [Figure 12] FIG. 12 is similar to FIG. 2, but shows a welding tool with the tool center point offset from the tool itself. [Figure 13] FIG. 13 differs from FIG. 9 in that a fixed pivot is shown rather than an adjustable pivot. [Figure 14] FIG. 14 is a diagram used to explain possible disadvantages in the method of the first embodiment of the first aspect of the present invention. [Figure 15] FIG. 15 is a diagram used to explain possible disadvantages in the method of the first embodiment of the first aspect of the present invention. [Figure 16]FIG. 16 shows a conceptual diagram of a ball adaptor according to an embodiment of the second aspect of the present invention. [Figure 17] FIG. 17 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 18] FIG. 18 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 19] FIG. 19 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 20] FIG. 20 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 21] FIG. 21 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 22A] FIG. 22A shows a ballbar that has one ball on each end. [Figure 22B] FIG. 22B shows a ballbar having a ball at one end and a cup at the other, of the type used in the second embodiment of the first aspect of the invention. [Figure 23] FIG. 23 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 24] FIG. 24 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Diagram 25]FIG. 25 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 26] FIG. 26 illustrates steps of a method according to a second embodiment of the first aspect of the invention using a ball adapter according to an embodiment of the second aspect of the invention. [Figure 27] FIG. 27 illustrates a modular ball adapter system in which a universal ball adapter is adapted to accept a variety of inserts for different tools. [Figure 28] FIG. 28 illustrates a modular ball adapter system in which a universal ball adapter is adapted to accept a variety of inserts for different tools. [Figure 29] FIG. 29 illustrates a modular ball adapter system in which a universal ball adapter is adapted to accept a variety of inserts for different tools. [Diagram 30] FIG. 30 illustrates a modular ball adapter system in which a universal ball adapter is adapted to accept a variety of inserts for different tools. [Diagram 31] FIG. 31 shows a first embodiment of the third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Diagram 32] FIG. 32 shows a first embodiment of the third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Diagram 33] FIG. 33 shows a first embodiment of a third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Diagram 34] FIG. 34 shows a first embodiment of the third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Diagram 35]FIG. 35 shows a first embodiment of the third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Diagram 36] FIG. 36 shows a first embodiment of the third aspect of the invention in which an extension is used to provide additional range of motion to the ballbar. [Figure 37] Figure 37 shows the modular ballbar arrangement. [Figure 38] Figure 38 shows the modular ballbar arrangement. [Figure 39] Figure 39 shows the modular ballbar arrangement. [Diagram 40] FIG. 40 illustrates generally the use of an extension embodying a third aspect of the invention in the modular ballbar arrangement of FIGS. [Diagram 41] FIG. 41 illustrates diagrammatically the use of an extension embodying a third aspect of the invention in the modular ballbar arrangement of FIGS. [Diagram 42] FIG. 42 illustrates generally the use of an extension embodying a third aspect of the invention in the modular ballbar arrangement of FIGS. [Diagram 43] FIG. 43 illustrates diagrammatically the use of an extension embodying a third aspect of the invention in the modular ballbar arrangement of FIGS. [Diagram 44] FIG. 44 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Diagram 45] FIG. 45 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Diagram 46] FIG. 46 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Figure 47] FIG. 47 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Figure 48] FIG. 48 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Figure 49]FIG. 49 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Figure 50] FIG. 50 is a perspective view showing in more detail the main parts of the extension portion of FIGS. [Figure 51] FIG. 51 is a diagram showing an embodiment in which the extension piece of the third aspect is used with the ball adapter of the second aspect. [Figure 52] FIG. 52 provides a schematic illustration of the concept underlying an embodiment of the first aspect of the present invention. [Figure 53] FIG. 53 provides a schematic illustration of the concept underlying an embodiment of the first aspect of the present invention. [Figure 54] FIG. 54 provides a schematic illustration of the concept underlying an embodiment of the first aspect of the present invention. [Figure 55A] FIG. 55A illustrates the ball adapter concept of the second embodiment of the present invention applied to a drill bit. [Figure 55B] FIG. 55B illustrates the ball adapter concept of the second embodiment of the present invention applied to a drill bit. [Figure 56A] FIG. 56A illustrates the ball adapter concept of the second embodiment of the present invention applied to a calibration shaft. [Figure 56B] FIG. 56B illustrates the ball adapter concept of the second embodiment of the present invention applied to a calibration shaft. [Figure 57A] FIG. 57A illustrates how the ball adapter concept allows multiple calibration or measurement operations to be performed without the need to remove the tool. [Figure 57B] FIG. 57B illustrates how the ball adapter concept allows multiple calibration or measurement operations to be performed without the need to remove the tool. [Figure 58] FIG. 58 shows an embodiment of a ball adapter for mounting the grip to a tool. [Figure 59] FIG. 59 shows an embodiment of a ball adapter for threaded attachment to a tool. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0057] When programming a robot to move a tool 4 around a working area, a key piece of information is the location of the Tool Center Point (TCP) relative to the part of the robot to which the tool 4 is attached (e.g., flange 3). Setting the coordinates of the robot's Tool Center Point is a key step in installing the robot and is performed for each robot. The Tool Center Point is the point of reference from which all robot positioning is defined and constitutes the origin of the Tool Coordinate System. The Tool Center Point may correspond, for example, to the tip of an arc welding gun, the center of a spot welding gun, or the end of a grading tool. The location of the Tool Center Point therefore varies depending on the application involved. During operation, it is the Tool Center Point that is jogged or moved to the desired target position, with the desired tool orientation.

[0058] Figure 2 shows a schematic of a robot being taught to move a tool 4 so that the tool centre point 8 remains in the same position; this is a test that is usually performed to ensure that the tool centre point has been correctly identified. Such a test is known as a "tool orientation test". The aim is to assess the accuracy of the robot by measuring its ability to rotate around the tool centre point without motion. The result of the test is the spread or deviation of the distance measured by the ballbar. For most robots, the ballbar target ball cannot be mounted at the exact location of the robot's working tool. Therefore, the tool orientation test measures the distance between the target ball and the working tool, rather than the actual robot error. The actual position of the target ball on the robot must then be measured and input into the robot's controller.

[0059] However, rather than simply verifying the position of the TCP as in the tool orientation test, the purpose of the embodiments of the present invention is to measure (determine) the position. Currently, the most commonly used method is the pin-to-pin method, where an operator visually aligns two pins in different orientations (one fixed and one movable by the operator to reference the TCP). Although this is a convenient method, it is relatively inaccurate as it is highly operator dependent. It also requires removing the tool 4 and replacing it with a pin.

[0060] Before describing how embodiments of the present invention can be used to identify a TCP, some further background is provided with reference to FIGS. 3 and 4 to put embodiments of the present invention into context.

[0061] When using a distance measuring device (such as a ballbar) to measure the Tool Center Point (TCP) of a robot, the principle is to measure the distance in different directions of the tool and extrapolate the TCP coordinates from these measurements.

[0062] One problem is finding the direction in which to consider the measured distances. There are two main approaches to this: (a) consider that all measurements are taken with the measuring device pointing in the same direction, and (b) take measurements in different directions and use that information to determine the location of the pivot center.

[0063] The first approach is shown in Figure 3. In this method, the ballbar 10 is mounted between a first ballbar mount 12 fixed to the base of the machine (this is called the "pivot" of the ballbar 10) and a second ballbar mount 14 attached to the robot itself. Thus, in this example, the tool 4 of Figures 1 and 2 is replaced by a ballbar mount 14 having a magnetic cup in which the ball at one end of the ballbar 10 is kinematically or pseudo-kinematically located. Such kinematic magnetic cups are standard and well-known accessories of ballbar systems and allow the ball to seat in a known and repeatable position in the cup, so that the centre of the ball does not move as the ballbar 10 rotates around the mount. When positioning one body relative to another, kinematic design considerations are met by constraining the degrees of freedom of the body's motion using a minimum number of constraints, in particular with the avoidance of over-constraints. Over-constraining allows multiple contact points between two bodies, allowing one body to come to rest in multiple positions relative to the other. Thus, the body positions are not repeatable (i.e., unpredictable or not well-defined) since it is not known in which of several positions the body will come to rest. Surface contacts, in theory, have an infinite number of point contacts, so an ideal kinematic coupling would consist of only point contacts. However, in practice, a quasi-kinematic coupling is sufficient when there is contact over a small surface area, which also helps to reduce wear and loading on the supporting surfaces.

[0064] 3 is assumed to be configured such that the ball of the ballbar 10 seats in the mount's kinematic cup with its center coincident with the TCP of the tool 4; however, embodiments of the second aspect of the invention (described further below) provide a solution that avoids the need for such an assumption. Alternatively, appropriate offset adjustments may be made in the following manner to account for the offset between the tool's TCP and the location of the ball center.

[0065] When the robot is commanded to rotate around the same TCP, the TCP remains almost fixed, assuming that the initial values ​​of the TCP coordinates in the controller are not too far from the actual. Then, all measurements from the ballbar 10 are considered to be performed along the same direction (deviations in the direction will result in an acceptable quadratic error in the calculations). In these conditions, errors in the TCP coordinates can be identified in the controller and the TCP coordinates can be corrected using error minimization techniques as described above. Ideally, this requires a minimum of four measurements, although five or six measurements are better.

[0066] This method requires the following information as input to the error minimization algorithm: (a) the direction D along which the measurements are taken, (b) the coordinates of the TCP in the controller, and (c) the coordinates of the robot for each measurement.

[0067] In the above, the robot coordinates are Cartesian coordinates determined from the controller, based on the assumption that the robot is already perfectly calibrated (or is ideal). In other words, the errors of the robot itself are ignored. Rather, this procedure is to identify errors in the TCP coordinates, which are coordinates relative to the robot. In the above procedure, the input of a direction can be problematic, as there is a risk of confusion in the frame used to represent this direction.

[0068] The second approach is illustrated in Figure 4. The location of the centre of rotation (pivot point) of the pivot mount 12 is unknown and needs to be identified in conjunction with the TCP coordinates. In the second approach, this is achieved by taking measurements with the ballbar 10 pointing in different directions and the pivot point at the intersection of those different directions. The robot is commanded to rotate about the TCP for each of these directions, just as in the first approach.

[0069] In the second approach, the TCP coordinates and the location of the pivot center can be identified together. This requires a minimum of six measurements, but typically nine to twelve measurements are more suitable. This method can also be made more elaborate, as increasing the number of measurements makes it possible to identify more parameters of the robot.

[0070] The second approach only requires that the robot position and the TCP coordinates be input to the controller for each measurement. The complexity of this approach arises from the large number of measurements required and the need to drive the robot around the surface of the sphere.

[0071] A method according to a first embodiment of the first aspect of the invention will now be described with reference to figures 5 to 11, with figure 10 providing a schematic flow diagram of the procedure. The concept underlying this embodiment can be summarised as using the robot coordinates at the location of the pivot as input data for identifying the TCP using an error minimisation method, which is not done in the previously considered methods.

[0072] As shown in Figure 5, to begin the procedure, in step S1, a target mount 14 (for supporting the target ball of the ballbar 10) is attached to the flange of the robot arm 1, and in step S2, an adjustable pivot mount 13 (for supporting the pivot ball of the ballbar 10) is positioned on the base 2 in front of the robot. The adjustable pivot mount 13 is almost the same as the fixed pivot mount 12 of Figures 3 and 4, except that the magnetic cup can be adjusted relative to the fixed base 2 (a universal pivot could be used for the pivot mount 13, but it is sufficient that it is adapted to provide lateral movement or translation). In step S3, the desired TCP and null base frame for the robot are selected (from a variety of choices of TCP and base frames for different tools and applications). In step S4, a new empty program is created in the robot controller to record the robot coordinates (points) during the remaining procedure.

[0073] As shown in FIG. 6, in step S5, the robot is manually driven to the adjustable pivot mount 13. Before step S5, the adjustable pivot mount 13 remains unlocked and the magnetic cup is in a loosely supported state with sufficient retention force to support the cup against the action of gravity, so that it can still be rotated by a relatively insignificant bias force. In the magnetic cup, there is a dummy ball 15 that matches or mimics the pivot ball of the ballbar 10, and in particular is the same size as the pivot ball to allow the target mount 14 to seat on it. Because the pivot mount 13 is still unlocked, the target mount 14 does not need to be precisely controlled to a specific position, but may be driven roughly within the adjustable pivot mount 13 and moved downwards to the pivot ball. Even if there is a slight misalignment, the nature of the kinematic cup of the target mount 14 acting on the spherical dummy ball 15 naturally results in them being coupled in a known relative position, with play in the pivot mount 13 allowing the necessary movement to occur for this to occur. In addition to being freely pivotable, the pivot mount 13 also has some play in the Z direction to allow for further adaptability. The pivot mount 13 may also be non-adjustable, but this requires additional precision in coupling the target mount 14 to the pivot mount 13 via the dummy ball 15.

[0074] With the target mount 14 coupled to the pivot mount 13 via the dummy ball 15, the adjustable pivot is locked to prevent further movement for the remainder of the method. At this point in the procedure, the exact location of the dummy ball 15 (and therefore the pivot ball when the ballbar 10 is positioned) is not important because the robot coordinates at this location will be recorded in step S6 of the robot program. Thus, in step S6, a first point is recorded in the robot program at the current location, i.e., where the robot is pivoted. This will record the robot coordinates, or the readings of the various encoders, to allow the robot coordinates to be determined based on the machine model parameters. At this location, since the ballbar is not present, a zero value for the ballbar measurement is also recorded (at least conceptually). At this point, the ballbar is not present and therefore no separate measurement is made, but if the pivot point and target point coincide, this has effectively provided a zero length ballbar measurement (i.e., zero in three orthogonal directions that provide three pieces of information for the error minimization method, as explained in more detail below). The coordinates of a robot can be thought of as a set of information that completely characterizes the pose of the machine, e.g., the set of joint angles or readings from the various joint encoders.

[0075] As shown in Figure 7, in step S7, the target mount 14 is moved away from the pivot mount 13 until the separation is sufficient to allow attachment of the ballbar 10. As shown in Figure 8, with the ballbar 10 attached between the target mount 14 and the pivot mount 13, in step S8 a ballbar measurement (of the separation between the two balls at either end of the ballbar 10) is made and recorded, and a new point is inserted into the robot program with the robot coordinates at that location.

[0076] In step S9, the robot is commanded to rotate the target mount 14 around the TCP selected in step S3, e.g., 60° to 90°, and in step S10 another point is inserted into the robot program with the robot in the new position. During the rotation, the position of the target mount 14 may shift (due to errors in the selected TCP value or the robot itself). If the deviation drives the ballbar 10 outside its measurement range, the user can translate the robot to adjust the distance and bring the ballbar 10 back into the measurement range before a measurement is taken and the robot coordinates are recorded.

[0077] The method returns to step S9 to rotate the target mount 14 until sufficient rotations have been made (around at least the four cardinal directions) and then repeat the process of adding points to the robot program. This is shown in Figure 9. This procedure requires a minimum of four measurements, although five or six measurements are usually suitable. The more measurements, the more accurate the TCP coordinates will be, but the longer the procedure. Measurements can be made with the ballbar 10 pointing in any direction (not necessarily in a fixed direction), but one approach is to command the robot to rotate about the TCP selected in step S3.

[0078] When sufficient rotation has been performed, the method continues to step S11 where the robot program is uploaded to the controller (or some other processing unit) for processing. In step S12, the coordinates of the TCP selected in step S3 are input, or read from the robot program if already recorded there. In step S13, the error minimization method described above is performed to calculate the actual TCP coordinates, which is explained in more detail below with reference to Figure 11. As part of the process, the coordinates of the centre of the pivot are also determined, but as the pivot mount 13 is only temporarily positioned this information is of little importance. In step S14 the TCP coordinates are updated in the controller with the updated values.

[0079] Figure 11 is a schematic diagram showing the effect of an incorrect TCP position on the measurements from the ballbar 10 during the above procedure, and how these are used to determine the correct TCP position. The target ball 17 of the (robot-driven) ballbar 10 is on the left, the pivot ball 15 is on the right, and the ballbar 10 is in between (the ballbar 10 is drawn as a solid line in Figure 11 for simplicity). The programmed TCP (i.e. the TCP before the TCP identification procedure is performed) is shown as a black dot on the target ball, with the physical centre of the target ball (i.e. the actual TCP) shown as a white dot on the target ball.

[0080] In the example of Figure 11, the robot is driven about a programmed TCP and attempts to maintain a fixed position of the TCP (this is not required, but makes this explanation easier to understand). When the robot is in the position shown in the top diagram, the ballbar 10 is 1 The robot is then rotated to the position shown in the middle image. Since the programmed and actual TCP do not match, a new measurement L from the ballbar 10 is taken. 2 is actually L 1 Similarly, when the robot is rotated to the bottom-most position, the new measurement from the ballbar 10, L 3 In fact, L 1 and L 2 If the programmed TCP is already correct, then use the three measurements L instead. 1 , L 2 , L 3 were all expected to be the same. Instead, there is an error associated with each of these positions (the difference between the predicted ballbar measurement and the actual ballbar measurement). Therefore, new values ​​for the TCP positions that tend to minimize these errors are determined, and this is via the error minimization method described above.

[0081] The approach described above with reference to Figures 5 to 11 only requires recording the robot's position (i.e. robot coordinates) at the pivot point as well as the robot's position (i.e. robot coordinates) for each ballbar measurement. This is technically advantageous compared to the first and second approaches described with reference to Figures 3 and 4 respectively, because it combines the advantages of the first approach (low number of measurements) with the advantages of the second approach (robustness and ease of configuration without the need to input the ballbar orientation). This method is very easy to implement and teach, and provides a quick and easy setup procedure for ballbar testing on a robot. It may also be used to update or verify the TCP coordinates in the controller.

[0082] As mentioned above, the concept underlying the first aspect of the invention may be summarized as using the robot coordinates at the pivot location as input to the mathematical method (e.g., least squares or maximum likelihood) used to determine the TCP. This is not done in the approaches previously considered. When the robot is at the pivot location, there are obviously no measurements from the ballbar to relate to the robot coordinates at that location, since of course the ballbar is not in place. However, at the pivot point, there is effectively a zero length measurement from the ballbar to relate to the robot's coordinates. In addition, this zero length measurement may be considered as a valid measurement along three orthogonal axes, rather than just one axis (i.e., along the longitudinal axis of the ballbar), which is the case for an actual ballbar measurement. This conceptual zero length ballbar measurement is therefore particularly beneficial in the error minimization routine, by providing at least three additional constraints.

[0083] The method is described above using a single ballbar orientation with a minimum of four TCP orientations (i.e., four different ballbar orientations around the TCP), but using five would be more complete and easier to implement and teach. However, it should be noted that while it is indeed possible to use fewer TCP orientations, problematic situations may arise that are avoided when using at least four TCP orientations (e.g., ballbar 10 remains in a plane if no extraneous rotations are performed). It should also be noted that it is preferable that the ballbar 10 itself is already calibrated, otherwise at least one additional measurement is required in the method.

[0084] It is also worth considering the final error due to the robot itself. The above procedure assumes that the robot is ideal (i.e., precisely tuned) when in fact this is not the case. In the unlikely event that the actual robot errors in all four or five measurements compensate for the deviations due to the TCP errors, the method may conclude that the TCP is correct. In effect, the method can be thought of as identifying the TCP seen by the ballbar in the particular configuration of the test, rather than the actual TCP. The identified TCP tends to reduce the localized errors of the robot. This is true for any method, since any calibration strategy must deal with the dissociation of all parameters. The final error coming from the robot is of more concern than anything else for a whole-machine calibration strategy.

[0085] It will also be appreciated that the above techniques are not limited to the specific task of identifying a robot's tool center point, but are in fact applicable to identifying robot geometry generally.

[0086] The concept can be summarized as using the robot coordinates at the pivot location as data for TCP identification, but also, more generally, machine geometry identification (i.e. not limited to robots, e.g. 5-axis coordinate measuring machine), robot geometry identification. This is valid for calibration using sensors (e.g. ballbar, tripod, hexapod, etc.) that measure ball-to-ball distance. This identifies the location of the ball attached to the robot flange (wherever it may be). When this ball is aligned to the actual end effector, this identifies the coordinates of the TCP (as above). The TCP identification procedure is just one application of the concept, and is described as one example to help understand the benefits of the concept in simplifying and speeding up TCP identification by reducing the number of measurements and user inputs required.

[0087] It is also noted that for the TCP identification procedure (unlike the simple tool orientation test), there is no need to rotate around a fixed point, only provide several different orientations around the TCP, regardless of the TCP's position. On the other hand, the tool (or TCP) orientation test is a check that the robot geometry is correct: the robot is commanded to rotate around a fixed point and the ballbar deviation is measured during this process. If the robot is perfect, the ball will not move, there will be no deviation. If the robot has geometric errors, the ball will move and the ballbar reading will change. The result of the test is the width or spread of the deviation. This is just a validation, not a calibration. The geometric errors can be errors in the arm itself or errors in the TCP coordinates.

[0088] The concept is also not limited to measurements using a ballbar; any distance measuring device (e.g., measuring arm, tripod, etc.) is suitable. The concept can be further expanded by considering whether the "distance interval" can be considered as one-dimensional (distance between two points) or as two-dimensional or up to six-dimensional. In other words, the "distance interval" can relate to any interval from one degree of freedom to six degrees of freedom. For example, a six-dimensional distance interval characterizes not only the relative distance between two objects, but also their orientation with respect to each other. A conventional ballbar measures a distance interval in one degree of freedom (along a line between two points), whereas a tripod can measure a distance interval in three degrees of freedom and a hexapod can measure a distance interval in six degrees of freedom. The term "distance interval" as used herein should be interpreted accordingly.

[0089] From a calibration point of view, both the position of the tool's center point (relative to the robot on which it is mounted) and the position of the pivot can be considered as machine parameters to be optimized as part of the method of implementing the invention. At the start of the error minimization method, there is a current estimate of the tool's center point (e.g., from the tool manufacturer or from a previous calibration of the tool's TCP), and the goal of the method is a new (better) estimate of the TCP. In this respect, the TCP position can be considered like any other machine parameter from a calibration point of view, and different TCP parameters are tried during optimization to find the "best fit" to the measurements from the ballbar (or other measurement device). If the current estimate of the TCP position is wrong, this will manifest itself in the discrepancy, i.e., error, between the distance interval measured by the measurement device (e.g., ballbar) and the one expected (calculated) based on the current TCP position. The mathematical optimization procedure tries to find a better estimate of the TCP position that results in a smaller error value (or difference between the measured value and the value calculated from the parameters).

[0090] This is similar for the pivot location. Any reasonable starting point may be used for the location of the pivot location. If the target point is located coincident with the pivot point of the first "pivot" reading (as described above), it is known that the distance interval between the target point and the pivot point must be zero (in all three orthogonal directions, thereby providing three additional constraints). However, the current machine parameters may actually place the target point at a different location than the current estimate of the pivot point (so that there is a distance interval between them that is larger than expected, i.e., greater than zero). The difference between the location of the target point determined from the current machine parameters and the current estimate of the pivot point may be treated as an error value (or values) similar to other error values ​​(or values) in the machine calibration method. The same is true when there is a known offset or distance interval from the pivot and target of the first "pivot" reading, rather than a zero distance interval (when the target is located at the pivot). All of these error values, both actual and estimated distance intervals, are used in the optimization method. By performing an optimization, this results in a better estimate of both the position of the TCP (which is the most useful) and the position of the pivot (which is less important).

[0091] This is shown diagrammatically in Figures 52 to 54. Figures 52A, 53A, and 54A show the machine in pivot poses, while Figures 52B, 53B, and 54B show the machine in target poses. The machine is shown diagrammatically as being characterized by a set of machine parameters {a, b, c, d, x}, where {a, b, c} are the respective lengths of the joints, "d" is the length of the tool, and "x" is the x-coordinate of the pivot relative to the base of the machine. Thus, "d" is the TCP parameter and "x" is the pivot parameter. Of course, this example is very simplified and should not be taken literally, since in reality there are many more machine parameters and multiple target poses are used.

[0092] Figures 52A and 52B each represent the state of the machine when it is actually in the pivot pose and the target pose. The actual distance interval between the target and the pivot is known to be "s" in the pivot pose, and in the above-described embodiment, this distance interval is zero (i.e., the target is arranged to coincide with the pivot). The actual distance between the target and the pivot is measured as "S" in the target pose (by a ball bar or other measuring device). It can be seen that various parameters {a, b, c, d, x, s} or {a, b, c, d, x, S}, that is, the parameters including "s" or "S" of the distance interval respectively, form a closed measurement loop of the machine.

[0093] Figures 53A and 53B each represent the state of the machine determined from the current set of machine parameters when in the pivot pose and the target pose. The current machine parameters are {a, b, c, d o , x o}, where x 0 <x and do<d. In other words, the current estimated values of the parameters {d, x}, that is, the TCP parameter and the pivot parameter, are incorrect. For the purpose of this method, the other machine parameters {a, b, c}, that is, the parameters other than the TCP and pivot parameters, are considered correct (or at least remain constant for the method). The expected distance between the target and the pivot is, based on the current set of machine parameters, "s 0 " at the pivot pose (Figure 53A), and "S 0 " at the target pose (Figure 53B). Therefore, there is a difference between the actual distance interval and the expected distance interval, and based on these differences, the errors e o and E o related to the pivot pose and the target pose respectively, and in turn, the overall error Σ o related to the current set of machine parameters {a, b, c, d o , x o} can be determined.

[0094] To find a set of parameters that fits well with the measured / known data, while leaving the other parameters {a, b, c} unchanged, we try to find a set of parameters that fit well with the measured / known data, while achieving a lower overall error Σ 1 A new parameter {d 1 , x 1 An optimization is performed in which the parameters {d, x} are perturbed to find the new estimates of the pivot parameters, x 1 ” is close to the actual pivot parameter “x”, and the new estimate of the TCP parameter “d 1 ” is close to the actual TCP parameter “d”, and the distance interval “s 1 " and "S 1 " are similarly seen to be close to the known / measured values ​​of "s" and "S", respectively. This optimization may be repeated as necessary, for example until the overall error Σ is below a predefined threshold. The direction in which the parameters are perturbed may be based on derivatives. At each step of the optimization, the individual errors tend to decrease, but it is possible that with the goal of decreasing the overall error, some individual errors increase while others decrease (although it is also possible that the overall error may increase if this results in a larger potential error decrease later in the method). Of course, any suitable optimization method may be used, such as the least squares or maximum likelihood methods mentioned above.

[0095] By way of comparison, of the two methods described with reference to Figures 3 and 4 respectively, the first method relies only on the orientation of the ballbar 10 and does not use the pivot position at all. The second considers the pivot position as a machine parameter but does not use measurements at the pivot position as data for calibration, thus requiring more ballbar measurements. In both the method embodying the present invention and the second method (Figure 4), the TCP and pivot positions are finally determined.

[0096] This method may be considered as a calibration method based on optimizing the complete set of machine parameters, including parameters related to the TCP and pivot positions. Once enough readings are made, this results in a complete calibration of the machine, including, for example, parameters related to the rotary joints, section lengths, etc. However, it is instructive to consider a method in which only a subset of the complete set of machine parameters is optimized. In other words, the method still uses the entire set of parameters, but only some of them are actually optimized (i.e., new values ​​are determined for only some of them). The other parameters are treated as fixed, i.e., conceptually "correct", and are not considered to change during the error minimization (or similar) method. Thus, to adjust only the TCP position, only the TCP machine parameters are changed in order to determine a set of TCP parameters that better fit the measurements (both actual and conceptual). This makes the calibration procedure faster, since fewer measurements are required.

[0097] Next, a second embodiment of the first aspect of the present invention will be described with reference to Figures 12 to 26. This also constitutes the first embodiment of the second aspect of the present invention.

[0098] Figure 12 is similar to Figure 2 and shows a tool being rotated about its tool center point by a robot, however, for ease of explanation, in Figure 12 tool 4 is depicted generally as a welding tool having its tool center point offset from the tool itself, however this is not required for purposes of the second embodiment.

[0099] Figure 13 shows diagrammatically the TCP identification procedure carried out as described above, and differs from Figure 9 only in that a fixed pivot 12 is shown rather than an adjustable pivot (although the adjustable pivot of Figure 9 could be used instead, as explained below). As shown in Figure 14, a disadvantage of the method of the first embodiment of the first aspect is that the actual tool 4 needs to be removed and the ballbar mount 14 installed instead (or a modified ballbar mount added and offset to the tool 14). Not only is this inconvenient and time consuming for the operator, but as shown diagrammatically in Figure 15, the nominal centre of the ballbar mount 14 is offset from the actual TCP of the tool 4, and adjustments must be made, which adds further complications and may be a source of error.

[0100] As shown diagrammatically in FIG. 16, a second aspect of the invention introduces a ball adapter 24 adapted to fit over the tool 4 and allow the tool 4 to remain in place during the TCP identification procedure. The ball adapter 24 has a spherical (or at least partially spherical) bearing surface 20 adapted to couple to a modified ballbar (see below) and a sleeve 22 adapted to fit snugly over the tool 4 and remain in place, e.g., by a friction fit. The spherical bearing surface 20 has a center 28 that coincides with the pivot point of the tool 4 when the ball adapter 24 is fully inserted and placed on the tool 4 (right-most portion of FIG. 16). In this example, the pivot point is the tool center point 8 of the tool 4, but in another example, the tool center point 8 of the tool 4 may be at a different location than the pivot point of the spherical bearing surface 20 around which it is provided.

[0101] 16 is intended only to illustrate the concept generally, and it will be understood that a properly designed joint between ball adapter 24 and tool 4 may be used to ensure that center 28 of ball adapter 24 coincides with point of interest (e.g., tool center point) 8 of tool 4 when a user places ball adapter 24 on tool 4. One such example is described below with reference to FIGS. 27 through 30.

[0102] The TCP identification method according to the second embodiment of the first aspect and the first embodiment of the second aspect will now be briefly described with reference to Figures 17 to 26. The method is very similar to the method described above with respect to the first embodiment of the first aspect, so for the sake of brevity the description will focus on the similarities and differences.

[0103] The starting point for this embodiment is shown in Figure 17, which is equivalent to Figure 5 above. Of course, in this embodiment the tool 4 remains in place on the robot rather than the ballbar mount 14 of Figure 5. Additionally, as noted above, a fixed pivot mount 12 is used whereas the adjustable pivot mount 13 of Figure 9 would be preferred. Figure 18 shows a ball adapter 24 mounted over the tool 4 to provide a ball center 28 that coincides with the TCP 8 of the tool 4.

[0104] FIG. 19 shows a robot being controlled to move the ball adapter 24 onto the pivot mount 12, which is equivalent to that shown in FIG. 6. A fixed pivot 12 requires the robot to be controlled with high precision to align the ball adapter 24 to the fixed pivot mount 12, which is why it is desirable to use an adjustable pivot mount 13 instead. However, the dummy ball 15 of FIG. 6 is not required, since the spherical target ball is provided by the ball adapter 24 itself. As with the previous embodiment, the coordinates of the robot are recorded when it is in this position, i.e. at the pivot point.

[0105] FIG. 20 shows the robot with the ball adapter 24 being controlled to move away from the pivot mount 12 to make way for the ballbar, which is equivalent to that shown in FIG. 7. FIG. 21 is equivalent to FIG. 8 and shows the ballbar 11 in position between the ball adapter 24 and the ballbar mount 12. However, the ballbar 11 in this embodiment differs from that shown in FIG. 8 because the target ball 17 of the previous ballbar 10 is provided by the ball adapter 24 itself. The target end of the ballbar 11 in this embodiment is therefore provided with a magnetic cup 27 similar to that which forms part of the pivot mount 12, which couples to the ball adapter 24. Note that the pivot ball 15 is present in both types of ballbars, but that the pivot ball 15 of the ballbar 11 must be sized to match the size (diameter) of the sphere of the ball adapter 24. These two types of ballbars are compared in FIGS. 22A and 22B. As in the previous embodiment, in this embodiment the robot coordinates and ballbar measurements are recorded at this position.

[0106] Figures 23 to 26 show the robot being controlled to position the ball adapter 24 in four additional orientations, respectively (although three would have been sufficient), equivalent to that shown in Figure 9. As with Figure 9, the various orientations are not in the same plane, but instead provide a three-dimensional variation away from a single plane. Also, note that in the various positions of the ballbar 11 in Figures 21 and 23 to 26, the robot is not attempting to maintain the TCP 8 of the tool 4 in the same position in space, because, as discussed above, this is not necessary.

[0107] As with the method of the first aspect of the invention, the use of the ball adapter 24 according to the second aspect of the invention makes the procedure for finding the TCP simpler than it would be if it were not present. Since the process of identifying the TCP coordinates is a low level of calibration of the robot compared to a full calibration of the robot, the TCP identification procedure will only be welcomed by users if it is fast and simple to implement. This will encourage users to perform the procedure more frequently, which will in turn lead to a machine that performs more accurately.

[0108] The above ball adapter concept can be made even more convenient and flexible by providing a universal ball adapter that can be used for a variety of different tools. This can be achieved by customizing the inserts for different tools with each insert attached to a universal ball adapter. Of course, different types and sizes of universal ball adapters may be provided to suit different types or groups of tools. The inserts may be conveniently 3D printed from a variety of different materials, such as plastic, depending on the application. This is shown in Figures 27-30. Figure 27 shows a universal ball adapter 24 adapted to receive an insert 26 that is itself internally shaped to fit a welding tool such as that shown in Figure 16. When inserted into the ball adapter 24, the insert 26 may be held in place by a friction fit, as shown in Figure 28, or additional securing features may be provided. The ball adapter 24 with the insert 26 is then placed onto the tool 4, as shown in Figure 29. In this example, the insert 26 is designed to fit snugly against the tool 4, so that the operator can simply push the ball adapter 24 into the tool 4 until it stops, and find that the ball adapter 24 is properly positioned relative to the tool 4, and in particular that the ball center 28 is aligned with the TCP 8 of the tool 4 as a result. A gap can be provided between the ball adapter 24 and the robot's flange 3, so that the position of the ball adapter 24 relative to the tool 4 is defined by the bond between the ball adapter 24 and the tool 4, rather than between the ball adapter 24 and the flange 3 (in many cases, the ball adapter 24 will not cover all of the tool 4, but only the tip of the tool 4; an example of such is described below with reference to FIG. 55). Mounting directly to the tool 4 has the advantage of quicker setup and not introducing eventual errors from the ball adapter 24 not being seated exactly where it is on the tool 4.

[0109] The modularity of such a system is shown diagrammatically in Figure 30, showing two different designs of inserts 26a, 26b fitting two different types of tools 4a, 4b, with both designs of inserts 26a, 26b fitting into the same ball adapter 24. The different inserts 26a, 26b can be designed to account for the different TCP positions of each of the different tools 4a, 4b to ensure that the TCP coincides with the center of the spherical surface 20 of the ball adapter 24 when all are in place. In this way, the same ball adapter 24 can be used for a variety of tools 4 having very different configurations and TCP positions.

[0110] This versatility is further illustrated in the application shown in Figures 55A and 55B, which shows a custom insert 26c molded to fit the end of a drill 4c mounted in a machine spindle 9, such that the insert 26c fits into the same ball adapter 24 (or could be a different ball adapter of a different size, for example). The insert 26c is adapted to take into account the TCP position of the drill 4c to ensure that the TCP coincides with the center 28 of the spherical surface 20 of the ball adapter 24 when all is in place.

[0111] As shown in Fig. 56A, the calibration shaft 4d may be mounted on the machine with an insert 26, rather than the drill 4c itself, allowing the shaft 4d to fit into a wider recess in the ball adapter 24, thereby allowing the wider recess to accommodate a variety of calibration shafts (or other tools) of different diameters. Alternatively, since the use of an insert 26 introduces a potentially extra element of positional uncertainty (with respect to the centering of the ball adapter 24 on the tool 4), it is also possible to fit the calibration shaft 4d directly into a recess formed in the ball adapter 24 without using an insert 26, as shown in Fig. 56B, with the recess again adapted to take into account the TCP position of the shaft 4d to ensure that the TCP coincides with the center 28 of the spherical surface 20 of the ball adapter 24.

[0112] A method involving a ball adapter 24 and a calibration shaft 4d is illustrated in Figures 57A and 57B, showing how the removable ball adapter 24 can be placed on the calibration shaft 4d when required (e.g., to perform the TCP calibration method described above) and then removed to perform another operation, without having to remove the calibration shaft 4d. In the example shown in Figures 57A and 57B, the length of the calibration shaft 4d is already known, so a further operation is to establish the position of a laser tool setter (such as an NC-4 non-contact tool setter manufactured by Renishaw plc). Figure 57A shows diagrammatically the ball adapter 24 being removed from the shaft 4d, which is then machine-maneuvered towards a laser beam 66 of a tool setter 60, which is emitted from a transmitter element 62 and received (and detected) by a receiver element 64. 57B shows diagrammatically the shaft 4d just intersecting the laser beam 66, thereby blocking it from reaching the receiver element 64, thereby causing the end of the shaft 4d to be detected. Instead of a calibration shaft 4d, a method may be performed directly on the drill 4c, allowing the actual length of the drill 4c to be measured using the tool setter 60, without the need to remove the drill 4c. Of course, if desired, a laser tool setter 60 could be used instead, prior to TCP calibration.

[0113] An example of how an insert such as that shown in FIG. 55 is placed and fixed in a ball adapter 24 is shown in FIG. 58. The ball adapter 24 is hollow and has a bore or recess 25 that is precisely centered with the surface 20 of the ball 24. A resilient (e.g. plastic) insert 26c is a slip fit in the bore 25 and is provided with a cone-shaped contact 23 between the ball 24 and the insert 26c. The ball 24 is fixed to the insert 26c via a fastening screw 29, so that the cone-shaped contact 23 clamps the insert 26c to the tool 4c, gripping it and holding it in place. The internal bore or recess 25 of the insert 26c can be shaped to center the ball 24 at any point of the tool 4c, not necessarily at its tip. The insert 26c can be made with a cylindrical recess to accommodate most common artifacts, but in certain cases, as shown in FIG. 55A, the insert 26c can also be made to match the actual shape of the tool 4c. FIG. 59 shows how a ball 24 is threaded directly onto the end of the calibration shaft 4d of FIG. 56, locking the ball in place without the need for the conical surface 23 of FIG. 58, although such a mechanism may also be employed.

[0114] In summary, when the position of a robot needs to be measured for validation or calibration purposes, the measurement is only meaningful if it is relative to the actual operating point of the robot. This is a significant issue for most measurement devices, since they require a physical interface to be placed at the location of the point that needs to be measured. Furthermore, the TCP of a robot is often on or near a physical element of the tool. Thus, prior to the solution described here, the only solution was to either remove the robot's tool and replace it with a measurement device, or to mount the measurement device at a known offset from the actual TCP. Both solutions introduce measurement uncertainties and / or require special care during setup.

[0115] A ball adapter, as proposed here, which can be attached to the robot's tool without modification and allows direct measurement of the TCP's position, allows for fast and efficient robot calibration. As mentioned above, the robot's TCP is realized by a ball that is mechanically centered on the point to be measured. The main source of uncertainty in this solution is the quality of the centering, which mainly depends on the manufacturing quality of the ball.

[0116] The measuring device can be connected to the ball with a magnetic adapter that ensures exact coincidence of the measuring point with the ball centre. The accuracy depends on the manufacturing quality of the connector and the sphericity of the ball. The magnetic adapter can be seated on the ball using three points or a cone, thereby providing a reproducible kinematic or pseudo-kinematic coupling. While three-point contact is "metrologically pure", a cone can straddle small grooves or holes in the ball, which allows special features on the ball to facilitate machining operations. A cone also creates a smaller constraint at the contact point with the ball.

[0117] When the TCP is on or near the physical element of the tool, the ball is made hollow (centered on the TCP) to position it "around" the final element of the tool. A solution uses a deformable insert that conforms to the shape of the tool. For example, the insert can be threaded into the hollow ball and activate a cone-on-cone mechanism that exerts a force that clamps the insert to the tool (see Figure 58).

[0118] It is possible to provide universal inserts to fit tools with predominantly cylindrical features. There are inserts for the diameters primarily used in industry (e.g. 10mm to 20mm) or they can be made with one universal insert of larger diameter.

[0119] If a generic insert is not available, it is possible to create a specific insert to match the shape of the tool, which may be 3D printed from a CAD (computer-aided design) model of the insert.

[0120] If the TCP is far enough away from the final element of the tool, the hollow ball allows the TCP to be realized with a plain shaft of suitable length. For example, for machining applications where the TCP is the tip of a cutting tool, a plain shaft may be attached to the spindle. After calibration, the shaft can be left in place and used to initialize the tool setter, providing calibration continuity between the calibration shaft and the cutting tool.

[0121] Although the ball adapter is described primarily as being attached to and / or around a work tool, the adapter may be attached to and / or around any element of a coordinate positioning machine or a tool attached thereto. For example, a large gripper, e.g., an apparatus for handling door parts in an automobile manufacturing plant, may be equipped with a number of cylindrical calibration elements at different positions on the gripper for the purpose of calibrating the position of the tool frame of the gripper. A ball adapter as described herein is attached to each of these cylindrical calibration elements in turn, and then the calibration method as described herein (see, e.g., Figs. 19 to 26) is performed. Each of the cylindrical calibration elements has a pivot point (e.g., at the center of its circular end face), and the ball adapter (or the insert of the ball adapter) is adapted such that the pivot point of the ball adapter substantially coincides with the pivot point. The pivot point in this example is not the center point of such a tool, since the cylindrical calibration element is not such a tool. Also, the tool center point of a gripper may not correspond to a single point on the gripper, but may be defined as an offset from a tool frame of reference that includes, for example, a car door when held by the gripper.

[0122] The at least partially spherical support surface 20 of the ball adapter 24 can also be referred to as the sensing surface 20, since it is the surface that is sensed by the measurement device (e.g., ball bar) 11. The sensing surface 20 (at least completely, i.e., as a complete sphere) surrounds or encapsulates the critical point (e.g., the center point of a tool) 8, effectively allowing the critical point to be sensed, detected, or measured from a variety of different directions. The sensing surface 20 (at least completely, i.e., as a complete sphere) also surrounds or intersects at least a portion of the element (e.g., tool) 4, such that it is only possible to center the ball adapter 24 on the critical point 8 if the ball adapter 24 is hollow with a hole, bore, or recess that makes space for the body of the tool 4. This is in contrast to the sensing surface of the probe 46 shown in FIG. 23 of the '161 patent. The '162 patent is a planar disk of limited extent that is sensed by a planar digitizing plate and does not surround the critical point (which is the tip of tool 43) or intersect with tool 43.

[0123] With the ball adapter 24, each point of the sensing surface 20 is equidistant from the vital point (e.g., TCP) 8 of the element (e.g., tool 4) to which the ball adapter 24 is attached when the adapter 24 is in place. The measurement point of the measuring device (e.g., ballbar) 11 substantially coincides with the vital point (e.g., TCP) 8 at all times during the measurement operation. In this way, the measuring device (e.g., ballbar) 11 effectively "addresses" the vital point (e.g., TCP) 8 directly as if the measuring device (e.g., ballbar) 11 was directly connected to the vital point (e.g., TCP) 8. This is not the case with the arrangement of FIG. 23 of the '633 patent. In the '633 patent, the sensing point (origin) of the probe 46 cannot be at the same location as the tip of the tool 43, but instead it can be offset from it along the same line as the tool tip. In the hollow ball adapter 24 embodying the present invention, these problems are solved by having the two points substantially coincident. Furthermore, with a hollow ball adapter 24 embodying the invention, measurements can be taken with a measurement device (e.g. ball bar) 11 from a variety of different angles (accommodating machine movement with various degrees of freedom during the measurement operation), whereas in the arrangement of Figure 23 of the '661 patent, measurements are taken with a probe 46 at a fixed angle relative to the planar digitising plate.

[0124] In an embodiment of the second aspect of the invention, the measuring device comprises a coupling element adapted to couple to and support against the support surface of the adapter such that the measuring point of the measuring device substantially coincides with the centre point of the adapter, which in turn substantially coincides with the pivot point of the machine element to which the adapter is attached. The ball adapter thereby serves to bring together these three different points: the measuring point of the measuring device, the centre point of the ball adapter and the pivot point of the tool. This provides a significant technical advantage when trying to measure and / or calibrate the position of the pivot point, for the reasons outlined above. Figure 22B provides an example of a measuring device in the form of a ballbar 11 with a coupling element in the form of a cup 27 and shows the position of a measuring point 18 of the measuring device 11 in the centre of the spherical supporting surface (or spherical surface through the supporting points) of the cup 27, the measuring device 11 having a second measuring point 16 in the centre of a ball 15 at its other end, the measuring device 11 providing a measurement of the distance interval between the two measuring points 16, 18.

[0125] A first embodiment of the third aspect of the invention will now be described with reference to Figures 31 to 36. This may be used together with the first and / or second aspects of the invention.

[0126] Figure 31 illustrates the ballbar 10 mounted between a first ballbar mount 12 (the "pivot" for the ballbar 10) fixed to the base 2 of the machine, and a second ballbar mount 14 attached to the robot itself. In use, the ballbar 10 is driven around the working area of ​​the machine, for example to carry out the procedures described above with reference to Figures 3 or 4, or procedures according to the first or second embodiments of the first aspect of the invention. The robot is also likely to be driven manually by an operator using a joystick.

[0127] Some types of ballbars are very accurate but have a limited range of travel and an even more limited range of measurement, as shown in FIG. 32 (e.g. 2mm range of travel and 1mm range of measurement). The use of such ballbars on robots can be problematic, as the movements of the above types of robots can be extreme and under human control. In particular, attempts are made to stretch the ballbar 10 beyond its normal range of travel, with the result that there is a risk that the ballbar 10 will become dislodged (if overstretched) or damaged (if overcompressed). The third aspect of the present invention aims to address this problem.

[0128] FIG. 33 shows a schematic of a first embodiment of the third aspect of the invention. The solution is to provide a modular ballbar 19 having a measuring portion 40 with a ball 41 adapted to provide a length measurement, to which either a standard portion (not shown) or an extension portion 30 including a unique ball 31 can be attached. In this embodiment, the extension portion 30 provides an additional range of travel but no measurement. In configuration A of FIG. 33, the ballbar 19 is already overstretched beyond its normal measuring range and the extension portion 30 is in an extended state. As the ballbar 19 is gradually compressed from configuration A to D of FIG. 33, the extension portion 30 absorbs the compression and the measurements from the ballbar 19 do not change. From configuration D to E, the extension portion 30 is fully compressed (it cannot be compressed any further) and the ballbar 19 enters the measuring range in which the measurement is taken (this is indicated by the compression at the other end by the ball 36). When the ballbar 19 is again extended from configuration E to F, it is still in the measuring range but reaches the limit of the measuring range in configuration F. Next, from configuration F to I, ballbar 19 is again in the extension range, where extension portion 30 is extended, and the measurements from ballbar 19 do not change.

[0129] Figures 34 to 36 show diagrammatically the ballbar 19 with extension parts in use on a robot. In Figure 34 the ballbar 19 is at the end of its measurement range (fully compressed), corresponding to configuration E of Figure 33. In Figure 34 the ballbar 19 has been extended, still operating within its measurement range, and has been moved to the other end of the measurement range, corresponding to configuration F of Figure 33. Finally, in Figure 36 the ballbar 19 has been extended beyond its measurement range, into an overtravel range, corresponding to configurations G-I of Figure 33. Advantageously, in Figure 36 the ballbar 19 is not dislodged from the ballbar mount 14 at one end, or from the pivot mount 12 at the other end, by the action of the extension parts 30.

[0130] With the extension 30 of Figure 33 there is effectively an over-travel region to one side of the measurement region which allows over-extension but not over-compression. It is also possible for the extension 30 to provide an over-travel region or buffer on either side of the measurement region as will be explained below with reference to Figures 37-50, which relates to a second embodiment of the third aspect of the invention.

[0131] 37 shows the modular ballbar 19 with the measurement portion 40 connected to the standard portion 50, i.e. without the extension portion 30 in place yet. The standard portion 50 has a ball 51 for providing one ball of the ballbar 19, while the other ball is provided by the ball 41 of the measurement portion 40. The measurement portion 40 comprises a resilient (e.g. spring) member 46 arranged between a fixed plate 42 and a movable plate 43, with the ball 41 fixed to the movable plate 43.

[0132] The mobile plate 43 itself is arranged between stops 44 and 45 (the stop 45 being provided by an end wall of the measuring part 40). The measuring part 40 may be adapted to provide the measurement by capacitive means, i.e. using a capacitive sensor, although any type of measurement method is possible.

[0133] As shown in Figure 37, the ballbar 19 (more specifically, the measurement portion 40 of the ballbar 19) is in the middle of its measurement range. Figure 38 shows the ballbar 19 at one end of its measurement range (fully compressed, with plate 43 seated on stop 44), while Figure 39 shows the ballbar 19 at one end of its measurement range (fully extended, with plate 43 seated on stop 45).

[0134] FIG. 40 illustrates a standard end portion 50 being replaced with the extension portion 30. The assembled ballbar 19, with the extension portion 30 releasably coupled to the measurement portion 40, is illustrated in FIG. 41. As illustrated in FIG. 41, the extension portion 30 in this embodiment includes a ball 31, three movable plates 33a, 33b, 33c, three stoppers 35a, 35b, 35c, two elastic (e.g., spring) members 36a, 36b, and a number of magnets 37. The second plate 33b is connected to and moves with the ball 31, a first spring 36a is disposed between an end wall (stopper) 39a of the housing 34 and the first plate 33a, and a second spring 36b is disposed between the other end wall (stopper) 39b of the housing 34 and the third plate 33c.

[0135] In the position as shown in Figure 41, the second and third plates 33b, 33c are seated against each other and held against each other and against the second stop 35b by the magnet 37. The moveable plate 43 of the measuring part 40 is in the middle of the measuring range of the measuring part 40 so that compression or extension of the ballbar 19 in this state will cause a change in the measurement value. The ballbar 19 is therefore operating within its measuring range with the extension seated.

[0136] Figure 42 shows what happens when the ballbar 19 is compressed beyond the point where plate 43 abuts stop 44. The second plate 33b of the extension 30 pushes against the third plate 33c against the bias of the second spring member 36b, isolating the third plate 33c from the magnetic attraction of the second stop 35b, allowing both plates to move within the extension 30, which in turn allows the ball 31 to move towards the ball 41. This allows the extension 30 to absorb the extra compression without damaging the measurement portion 40, and provides a greater range of travel for the ballbar 19. The measurement output from the ballbar 19 does not change.

[0137] Figure 43 shows what happens when the ballbar 19 is extended beyond the point where plate 43 abuts stop 45. The second plate 33b of the extension 30 pushes the first plate 33a against the bias of the first spring member 36a, away from the magnetic attraction of the third plate 33c, which is itself held against the second stop 35b. This allows both plates 33a, 33b to move within the extension 30, and in turn allows ball 31 to move away from ball 41. This allows the extension 30 to accommodate the extra extension without damaging the measurement portion 40, and provides a greater range of travel for the ballbar 19. The measurement output from the ballbar 19 does not change.

[0138] 44-49 are perspective views showing the main parts of the extension portion 30, namely, the housing 34, the third plate 33c, the second stopper 35b and the second plate 33b. Other elements are not shown for clarity and to avoid confusion. The second stopper 35b is fixed to the housing 34. FIG. 50 is a perspective view corresponding to that of FIG. 44, but from the opposite direction. Also featured in FIGS. 47 and 50 are kinematic coupling features 64a and 64b (ball and v-groove, respectively) that ensure precise and predictable coupling between the second plate 33b and the third plate 33c, as well as kinematic coupling features 62a and 62b (ball and v-groove, respectively) that ensure precise and predictable coupling between the third plate 33c and the second stopper 35b.

[0139] It will be appreciated that each of the above first to third aspects of the invention are independently applicable and may be used separately or in any combination. For example, the extension part of the third aspect may be used with the ball adapter of the second aspect as illustrated diagrammatically in FIG. 51. In FIG. 51, it can be seen that the extension part 30 of the modular ballbar 19 is provided with a cup 27 rather than a ball 31, so that the cup 27 can be coupled with the ball adapter 24 of the robot. It will also be appreciated that the ball adapter of the second aspect need not always be used in conjunction with the TCP identification method of the first aspect, but may find use in other applications. Similarly, the extension piece of the third aspect is not limited to use in such a method of the first aspect, or with the ball adapter of the second aspect, but may be more generally useful. The ball adapter of the second aspect need not always be used with a ballbar as the measurement device, but may be used, for example, with a tripod-based measurement device.

[0140] A machine controller for controlling the operation of a robot (or other type of coordinate positioning machine) is also provided. The machine controller may be a dedicated electronic control system and / or may include a computer operating under the control of a computer program. For example, the machine controller may comprise a real-time controller that provides low-level instructions to the coordinate positioning machine and a PC that operates the real-time controller.

[0141] It will be appreciated that the operation of the coordinate positioning machine may be controlled by a program running on the machine, in particular a coordinate positioning machine controller such as the controller shown diagrammatically in Figure 1. Such a program may be stored on a computer readable medium or may be embodied in a signal, for example a downloadable data signal provided from an internet website. The appended claims are to be interpreted as covering a program on its own, or as a record on a carrier, or as a signal, or in any other form.

Claims

1. A kit for calibrating a coordinate positioning machine (1), said kit comprising a measuring device (11) and an adapter (24), said adapter being adapted to be attached to or around a tool (4, 4a, 4b) of a coordinate positioning machine (1); The tool (4, 4a, 4b) has a tool centre point (8), the adapter (24) comprises an at least part-spherical support surface (20) having a center point (28) that substantially coincides with the tool center point (8) when mounted on the tool (4, 4a, 4b) and / or around the tool (4, 4a, 4b); The measuring device (11) comprises a coupling element (27) adapted to couple to and support against a support surface (20) of the adapter (24) such that a measurement point (18) of the measuring device (11) substantially coincides with a center point of the adapter (24) and such that the coupling element (27) remains in place as it moves over at least a predetermined or working portion of the support surface (20).

2. 2. The kit according to claim 1, wherein the measuring device (11) is adapted to provide a measurement of the distance interval between two measuring points (16, 18) of the measuring device (11).

3. The kit according to claim 1 or 2, wherein the measuring device (11) is a length measuring device.

4. The kit according to any one of claims 1 to 3, wherein the measuring device (11) is a ball bar.

5. A kit according to any one of claims 1 to 4, wherein the joining element (27) is in the form of a cup.

6. 6. The kit of claim 5, wherein the measuring point (18) is the center of the at least partial sphere of the cup (27).

7. 7. The kit of claim 5 or 6, wherein the cup (27) is adapted to mate with the at least partially spherical surface (20) of the adapter (24).

8. A kit according to any one of the preceding claims, wherein the measuring device (11) comprises a ball (15) at one end and a cup (27) at the other end.

9. A kit according to any one of the preceding claims, wherein the measuring device (11) is provided with cups (27) on both ends.

10. The kit according to any one of claims 1 to 9, wherein the binding is kinetic or at least quasi-kinetic.

11. A method of calibrating a coordinate positioning machine using a kit according to any one of claims 1 to 10, said method comprising the steps of: - mounting said adapter (24) on said tool (4, 4a, 4b) and / or around said tool (4, 4a, 4b) while said tool (4, 4a, 4b) is still on said coordinate positioning machine; coupling the measuring device (11) to the adapter (24) such that the coupling element (27) of the measuring device (11) bears against a support surface of the at least partial spherical surface (20) of the adapter (24); and performing said measurement operations (S8, S10) such that during said measurement operations (S8, S10) said measurement point (18) of said measuring device (11) coincides with a center point (28) of said adapter (24) and remains so when said coupling element (27) of said measuring device (11) moves beyond at least a predetermined or working part of a support surface of the at least partial spherical surface (20) of said adapter. The method includes:

12. 12. The method according to claim 11, comprising performing the first operation (S8, S10) using the tool (4, 4a, 4b) before attaching the adapter (24) for the measurement operation (S8, S10) without removing the tool (4, 4a, 4b) between the first operation and the attachment of the adapter (24) for the measurement operation (S8, S10).

13. 13. The method according to claim 11 or 12, comprising performing a further measurement operation on the tool, such as determining the length of the tool using a contact or non-contact tool setter or the like, before attaching the adapter (24) or after removing the adapter (24) and without removing the tool.

14. A coordinate positioning machine (1) designed to carry out the method according to any one of claims 11 to 13.

15. A computer program which, when executed by a computer or machine controller, causes said computer or machine controller to carry out the method according to any one of claims 11 to 13.

16. A computer readable medium having stored thereon computer program instructions for controlling a computer or machine controller to carry out the method of any one of claims 11 to 13.

Citation Information

Patent Citations

  • Measuring device and error correcting method of machine

    JP2000288965A

  • Double ball bar

    JP2010137321A

  • Tool and method for calibrating tool position of robot

    JP2011011326A

  • Deriving method and calibration method for tool vector of robot

    JP2011224672A

  • Transportable measuring instrument for testing the positional accuracy of a program-controlled appliance arm

    DE3504464C1