Coordinate positioning machine

By using only the coordinate positioning machine and the tool connection part, combined with the sensing position information, the tool offset is quickly and efficiently determined, and the calibration complexity and time-consuming problems of non-Cartesian coordinate positioning machine are solved, and measurement accuracy and operation efficiency are improved.

CN119947859APending Publication Date: 2025-05-06RENISHAW PLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380068672.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-28
Filing Date
2023-07-28
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

The prior art is difficult to quickly and efficiently calibrate non-Cartesian type coordinate positioning machines, especially articulated robot arms with multiple rotation axes, resulting in accumulating positioning errors and affecting measurement accuracy.

Method used

By using only coordinates to locate the position and orientation values ​​of the portions of the machine coupled to the tool, combined with position information of the sensed positions relative to each other, the offset of the tool is determined without understanding the rest of the machine arrangement or its geometry.

Benefits of technology

The tool offset determination process is simplified, avoids the complexity and time-consuming of comprehensive calibrations, allows for more frequent calibrations to be performed, maintains the machine's good operating state, and improves measurement accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119947859A_ABST
    Figure CN119947859A_ABST
Patent Text Reader

Abstract

A method of determining an offset of a feature (16) associated with a tool (10) is described, where the offset is defined with respect to a first portion (3) of a machine (1) coupled to the tool (10). The method is characterized in that the offset is determined from: (a) for each of a plurality of sensing states, values of the position and orientation of the first portion (3) relative to the second portion (2) of the machine (1), in each of the plurality of sensing states, the feature (16) is in a sensing position; and (b) information about the position of the sensing positions relative to each other. Examples of particular benefits are disclosed in which a method is used to determine a tool center point (16) of a measurement probe (10) supported on a robotic arm (1) using an article (20) placed in a working volume of the robotic arm (1).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a coordinate positioning machine. The present invention particularly, but not exclusively, relates to a system for calibrating or otherwise characterizing at least some aspects of a coordinate positioning machine. The present invention is particularly applicable to coordinate positioning machines of non-Cartesian type, such as hexapod measuring arms or articulated robots, for example.

[0002] Articulated robots are commonly used in a wide variety of manufacturing applications, such as assembly, welding, gluing, painting, pick and place (e.g. for printed circuit boards), packaging and labeling, palletizing, and product inspection. Articulated robots benefit from versatility and ruggedness, with a large reach and high mobility, making them ideal for use in production environments.

[0003] In the attached figure Figure 1 An articulated robot (or just “robot” for short) is schematically shown in FIG. , which comprises an articulated robot arm 1 extending from a fixed base 2 to a movable flange 3 , wherein the flange 3 supports a tool (or end effector) 4 . Figure 1 The tool 4 in the embodiment is a drilling tool. Typically, the flange 3 is provided with couplings that allow the tool 4 to be easily interchangeable, so that various tools or end effectors can be employed depending on the relevant application; examples include grippers, vacuum suction cups, cutting tools (including mechanical cutting tools and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools and other special tools. More generally, the flange 3 is also referred to as the "head" of the robot arm 1, wherein the fixed base 2 is the "base", and wherein the robot arm 1 is controlled by commands from the machine controller 8 to move the head relative to the base.

[0004] The arm 1 comprises a plurality of segments 5 connected by a mixture of transverse axes of rotation 6 and inline (or longitudinal) axes of rotation 7, forming a mechanical linkage from one end to the other. Figure 1 In the example shown, there are three transverse rotation axes 6 and three in-line rotation axes 7, forming a total of six rotation axes, alternating between transverse rotation axes 6 and in-line rotation axes 7. It is also possible to provide an additional in-line rotation axis 7 between the last transverse rotation axis 6 and the flange 3 ( Figure 1 ), to facilitate the rotation of the tool 4 about its longitudinal axis, thereby forming a total of seven rotation axes.

[0005] Figure 2 Another common arrangement is shown in the arm 1 of FIG. 1 , which includes the additional in-line rotation axis 7 mentioned above between the last transverse rotation axis 6 and the flange 3 and also omits the Figure 1 The second in-line rotation axis 7 in the head end (in series order from the base end to the head end) forms a total of six rotation axes. Figure 2 The tool 4 in is a gripper. Figure 1The arm 1 is a schematic representation of the well-known IRB 140 six-axis industrial robot from ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, with the center of the wrist located at the center of the last lateral rotation axis 6. The center of the wrist is invariant to rotation of the three rotation axes 6, 7 of the wrist, so that operation of the three rotation axes 6, 7 changes the orientation of anything attached to the wrist (in this case the gripper 4), but does not change the position of the center of the wrist, where the first three rotation axes 6, 7 of the robot arm 1 determine the position of the center of the wrist. The wrist can be easily detached from the rest of the arm 1.

[0006] Figure 1 and Figure 2 The articulated robot arm 1 is an example of a non-Cartesian coordinate positioning machine because it is different from, for example, a conventional three-axis (X, Y, Z) coordinate measuring machine (see, for example, PCT / GB 2020 / 052593 Figure 1 ) compared to other Cartesian machines, the axes of the articulated robot arm are not arranged orthogonally according to the Cartesian coordinate system. Figure 1 and Figure 2 The arms 1 are also examples of "serial kinematic" coordinate positioning machines, since the moving axes of the arms are arranged in series. In this sense, the machine is similar to a conventional three-axis Cartesian coordinate measuring machine, which is also an example of a "serial kinematic" coordinate measuring machine, and which is to be contrasted with a "parallel kinematic" coordinate positioning machine such as a hexapod (whose moving axes are instead arranged in parallel).

[0007] Each joint or axis in a coordinate positioning machine contributes to position error or uncertainty. Figure 1 and Figure 2 In the series kinematic machine shown, these errors accumulate due to the series nature of the linkage. While this accumulation of position errors does not occur in the same sense with parallel kinematic machines, it is important to calibrate the machine in order to map out these errors or uncertainties, regardless of the machine type.

[0008] Calibration of any type of non-Cartesian machine is a major challenge and is particularly important for e.g. Figure 1 and Figure 2This is particularly true for the articulated arms shown, which have multiple axes of rotation that: (a) are arranged in series; (b) are not fixed relative to each other; and (c) can be combined in complex ways to position the tool in the work volume. Calibration of Cartesian machines is generally more straightforward because such machines have three well-defined axes that are fixed relative to each other in an orthogonal arrangement, each axis being largely independent of the others. For an articulated robot, the position and orientation of each axis depends on the position and orientation of every other axis, so that the calibration will be different for each different machine pose.

[0009] A common goal of many calibration techniques is to specify a parametric model of the machine in question, in which the geometry of the machine is characterized using a set of model parameters (also called machine parameters). These parameters are initially assigned uncalibrated values ​​as a starting point for the machine geometry. During calibration, the machine is moved into a number of different poses (based on current estimates of the machine parameters). For each pose, the actual pose is measured using a calibrated measurement device so that an indication of the error between the assumed machine pose and the actual machine pose can be determined. The task of calibrating the machine then amounts to determining a set of values ​​for the various machine parameters that minimize the error, using known numerical optimization or error minimization techniques.

[0010] For Figure 1 and Figure 2 For the robot arm shown, these machine parameters may include various geometric parameters such as the length of each segment 5 and the rotational angle offset of each rotation axis or joint 6, 7 (the angle from the encoder plus the calibration offset that gives the actual angle), as well as various mechanical parameters such as joint compliance and friction. Machine parameters may also include the working point of the tool (e.g. Figure 1 The end of the drilling tool 4) is the offset coordinate of the head or flange 3. In this regard, the offset of the working point (or tool center point) is important information, which will be discussed in more detail below.

[0011] When calibrated correctly, with all these machine parameters known, it is possible to predict with greater certainty where the working point (or tool center point) of the tool 4 will actually be when the controller 8 commands the various axes or joints 6, 7 to move to different respective positions. In other words, the machine parameters resulting from such calibration provide a more accurate characterization of the machine geometry. These concepts (generally relating to calibration of coordinate positioning machines and in particular calibration of robotic arms) are explored in more detail in WO 2019 / 162697 A1 and WO 2021 / 116685 A1.

[0012] The present applicant has recognized that performing such a calibration routine can be complex and time consuming, particularly where only a subset of machine parameters are required, and more particularly where only the offset of a point of interest (e.g., the work point or tool center point) of a tool supported on the machine needs to be determined.

[0013] The applicant has also recognised that there may be circumstances where the complete geometry of the machine in question is not available and therefore it is desirable to provide a calibration routine as discussed above which does not require knowledge of the full set of machine parameters which normally form part of a typical calibration routine.

[0014] for example Figure 1 and Figure 2 The depicted robotic arms are most typically used for positioning tasks, and are typically considered to be insufficiently accurate for measurement tasks. However, the present application has also recognized the need for a calibration routine that can be performed relatively quickly to find (or re-find) the offset of a measurement probe supported on a robotic arm.

[0015] According to a first aspect of the invention, there is provided a method of determining an offset of a feature of a tool or a feature associated with the tool. The offset is defined relative to a first part of a coordinate positioning machine to which the tool is connected or attached, for example the offset is defined relative to a point or reference system on or associated with the first part. The method is characterized in that the offset is determined from: (a) a value of the position and orientation of the first part relative to a second part of the machine for each of a plurality of sensed states of the first part, in each of which the feature is located at a sensed position; and (b) information relating to or about the position of the sensed positions at least relative to each other.

[0016] According to embodiments of the invention, the offset of the tool can be determined using only the values ​​of the position and orientation of the part of the coordinate positioning machine to which the tool is coupled (e.g., the head or flange of the robot arm), without knowing anything about how the rest of the machine is arranged, or about the geometry of the machine or the parametric model used to characterize the geometry of the machine (and the machine controller will use this parametric model to derive the values ​​of the position and orientation of the part of the machine to which the tool is coupled. In embodiments of the invention, all that is required are the values ​​of the position and orientation of the part to which the tool is coupled, and knowledge of the positions of the sensed positions relative to each other. This greatly simplifies the process of determining the offset of the tool, as it does not involve a full calibration of the machine (for all model parameters, including those of the tool offset), which in turn facilitates performing the method more frequently than would otherwise be the case, thereby allowing the machine to remain in good operating condition. By having position and orientation values ​​that are easily available as outputs of any machine controller, this also allows the method to be implemented independently of any proprietary (and possibly locked) machine control software used to control the machine, in which detailed information about the geometry of the machine or the parametric model used to characterize the geometry of the machine may be difficult or impossible to access.

[0017] The information may be obtained by measuring the sensed locations relative to each other, or the information may have been obtained by measuring the sensed locations relative to each other. The information may include measurements of the sensed locations at least relative to each other, or measurements from which the positions of the sensed locations relative to each other can be determined. The measurements may be made using a non-contact measurement system, such as a camera-based system, or by a contact measurement system, such as using a tool setter probe. The method may include measuring the sensed locations relative to each other.

[0018] The information may be obtained by constraining the sensed positions relative to each other, or the information may have been obtained by constraining the sensed positions relative to each other. The sensed positions may or may have been constrained relative to each other by moving the features into sensing relationship with an article having a known geometry supported on the second portion. The article may have a spherical geometry or an at least partially spherical geometry. The method may include constraining the sensed positions relative to each other.

[0019] The tool may be a measuring probe. The method may include using the measuring probe to detect when the feature is in each sensing position. The method may include using the measuring probe to detect when the first part is in each sensing state. The measuring probe may be a contact probe. The feature may be the tip of the measuring probe or the tip of a stylus of the measuring probe, or the feature may be located at or within the tip of the measuring probe or the tip of a stylus of the measuring probe. When the article is used as described above, the method may include detecting that the feature is in the sensing position or the first part is in the sensing state when the measuring probe has been moved to be in sensing relationship with the article.

[0020] A feature of or associated with a tool may be a point of interest of or associated with a tool, and in particular may be a tool center point of the tool. The coordinate positioning machine may be a robotic arm. In this respect, a particularly beneficial embodiment of the invention is that the method is used to determine the tool center point of a measuring probe supported on a robotic arm using an article placed in a working volume of the robotic arm. The method embodying the invention is easy to perform, making it faster and easier to set up a robotic arm to use the robotic arm for measurement tasks (thereby actually forming a measurement arm), and to perform the method more frequently to maintain the measurement accuracy of the robotic arm (or measurement arm). Robotic arms are generally not considered to be useful for measurement tasks, at least in part because of their serial kinematic architecture, in which positioning errors tend to accumulate along the serial kinematic chain of links and joints, but embodiments of the invention make it much more convenient to use a robotic arm for measurement tasks.

[0021] However, while the application of a robotic arm carrying a measuring probe is particularly beneficial, it will be appreciated that the invention is not limited to the machine being a robotic arm, nor to the tool being a measuring probe. The machine may be any type of non-Cartesian and / or serial kinematic and / or parallel kinematic coordinate positioning machine, such as a hexapod or robotic arm, and the tool may be any type of tool, such as a drilling tool or welding tool or other type of machine tool or gripper. The robotic arm may also be referred to as (and equivalent to) an articulated robot or an articulated robotic arm.

[0022] The method may comprise controlling the machine to move the first part relative to the second part to a plurality of different sensing states. The machine may be controlled (or at least may be caused to be controlled, for example by appropriately arranging the controller) to move the first part of the machine relative to the second part to a plurality of different sensing states of the first part. In each sensing state, the feature is located at a sensing position relative to the second part.

[0023] The sensed state may be characterized by the position and orientation (or position and orientation values) of the first portion relative to the second portion. The sensed positions may be constrained or measured relative to each other and / or relative to the second portion, and these sensed positions may be expressed as relative constraints or relative measurements.

[0024] As already noted, the sensed positions may be constrained relative to each other and / or relative to the second portion by moving the features into sensing relationship with an article supported on the second portion (the article having a known geometry). In this case, the relative constraints referred to above will be provided by or based on the known geometry of the article. The offset may then be determined based on (or taking into account) the known geometry of the article. The method may include the step of constraining or measuring the sensed positions relative to each other and / or relative to the second portion.

[0025] The position and orientation values ​​may specify the position and orientation of the first part relative to the second part independently and / or without reference to the state and / or geometry and / or position and / or orientation of any other part of the machine, which other parts (such as intermediate joints and links arranged between the base end and the head end of the serial kinematic chain of the robot arm) may affect and / or interfere with the position and orientation of the first part relative to the second part. The position and orientation values ​​may include numerical values ​​of the position and orientation of the first part relative to the second part for each of the sensed states.

[0026] The offset may be determined using only the position and orientation values ​​and information about the positions of the sensed positions relative to each other. The offset may be determined from the position and orientation values ​​without knowledge and / or reference to the machine geometry or a model, such as a parameterized model, representing the geometry of the machine.

[0027] The position and orientation values ​​for each of the sensed states may be received from an external source (e.g., from a machine controller for controlling the machine to move the first part to a plurality of different sensed states). These position and orientation values ​​may then be used to determine the offsets mentioned above based on (or taking into account) the relative constraints or relative measurements. The method may include requesting the position and orientation values ​​from an external source (e.g., a machine controller).

[0028] The position and orientation values ​​may be derived from a model, such as a parametric model, characterizing the geometry of the machine, or may have been derived from a model, such as a parametric model, characterizing the geometry of the machine. The external source mentioned above, such as a machine controller, may have derived the position and orientation values ​​based on the machine geometry or based on a machine model, such as a parametric model, characterizing the geometry of the machine. Accordingly, the method may not derive the position and orientation values ​​itself and / or may not itself rely on any knowledge of the machine geometry (or a parametric model of the machine) to derive the position and orientation values, but instead receive the position and orientation values ​​from elsewhere. In other words, the method may not include the step of deriving the position and orientation values ​​from a model, such as a parametric model, characterizing the geometry of the machine.

[0029] The sensed state may include a plurality of different positions of the first portion relative to the second portion. The sensed state may include a plurality of different orientations of the first portion relative to the second portion. For at least one (or at least some, or each) of the sensed positions of the feature, the sensed state may include a plurality of different orientations of the first portion relative to the second portion. For each of the sensed positions of the feature, the sensed state may include at least three or at least four different orientations of the first portion relative to the second portion. The sensed state may include at least three or at least four different sensed positions of the feature.

[0030] The method may include moving the first portion to a sensing state based on the current estimate of the offset. The method may include updating or optimizing the current estimate of the offset using the position and orientation values ​​to provide a closer correspondence with the relative constraint or relative measurement.

[0031] The machine may include a plurality of joints or shafts arranged in series between the first part and the second part. The joints or shafts may be rotational and / or linear joints or shafts. The machine may be adapted to provide a plurality of degrees of freedom of relative movement between the first part and the second part. The machine may be provided with a plurality of degrees of freedom of relative movement between the first part and the second part. The first part may be a moving part or head of the machine, and the second part may be a fixed part or base of the machine. Alternatively, the first part may be a fixed part or base of the machine, and the second part may be a moving part or head of the machine.

[0032] According to another aspect of the invention, a program is provided which, when run by a computer or a calibration unit or some other type of processing unit, causes the computer or calibration unit or processing unit to perform the method according to the first aspect of the invention (or at least any steps of the method that can be performed by or caused to be performed by a computer or calibration unit or processing unit).

[0033] According to another aspect of the present invention, a medium is provided, in which program instructions are stored, and these program instructions are used to control a computer or a calibration unit or some other type of processing unit to perform the method according to the first aspect of the present invention (or at least any step of the method that can be executed by or caused to be executed by a computer or a calibration unit or a processing unit).

[0034] According to another aspect of the invention, a calibration unit or some other type of processing unit is provided, which calibration unit or some other type of processing unit is configured to perform the method according to the first aspect of the invention (or at least any steps of the method that can be performed by or caused to be performed by the calibration unit or the processing unit).

[0035] According to another aspect of the present invention, there is provided a machine configured to perform the method according to the first aspect of the present invention.

[0036] Reference will now be made, by way of example, to the accompanying drawings, in which:

[0037] Figure 1 (discussed heretofore) is a schematic representation of a coordinate positioning arm in the form of an articulated robot and carrying a drilling tool;

[0038] Figure 2 (also discussed before) is a Figure 1 Schematic representation of an articulated robot with different arrangements of rotation axes and carrying a gripping tool;

[0039] Figure 3 is a schematic diagram used to show and describe the concept of the tool center point in more detail;

[0040] Figure 4 Schematically showing the robot moving the attached tool so that the tool center point will remain in the same position;

[0041] Figure 5 A method for implementing the present invention is shown in the form of a flow chart, in which the method is used to determine the offset of a tool center point of a measurement probe carried on a robot arm;

[0042] Figure 6 is a robot arm that carries the measurement probe and is used to implement Figure 5 A schematic representation of a calibration article and a calibration unit for the method;

[0043] Figure 7 shows that when the head of the robot arm has moved to Figure 5 The method of sensing the state Figure 6 The robot arm;

[0044] Figures 8 to 11 Demonstrates the movement of the robot arm's head to the Figure 5 A plurality of different sensing states of the method;

[0045] Figure 12 to Figure 14 A simplified two-dimensional representation of a head of a robotic arm moving to a plurality of different sensing states is shown;

[0046] Fig.15 A highly simplified two-dimensional representation of the head of a robotic arm moving into two different sensing states is shown;

[0047] Fig.16 Shown based on Fig.15 The tool center point offset value determined by the sensing state and constraints depicted in;

[0048] Fig.17 An alternative arrangement for implementing the invention is shown in which the measurement probe is supported on a fixed base and the calibration artefact is supported on a moving head of a robotic arm;

[0049] Fig.18 Demonstrates that an external position measurement device may be used in embodiments of the present invention in place of a calibration artifact; and

[0050] Fig.19 The possibility of using the tool setter as an external measuring device is demonstrated.

[0051] Figure 3 A schematic representation of a tool 40 is shown, which is attached to the Figure 1 and Figure 2 3 of a robot arm of the type described. A tool 40 has an elongated member 42 mounted to the flange 3 at an angle (the mounting angle may or may not be intentional), with a tip 44 located at the distal end of the elongated member 42. The center 46 of the tip 44 is of particular interest because the center will typically be the working point of the tool 40, or some other important reference point associated with the tool 40, and in robot architecture, the center is often referred to as the tool center point or TCP of the tool 40.

[0052] The position of the tool center point 46 relative to the part of the robot to which the tool 40 is attached (i.e., in this case the flange 3) is important information when programming the robot to move the tool 40 around the working volume. Specifying the coordinates or offsets (X, Y, Z) of the tool center point 46 is a critical step when setting up any robot for operational use. The tool center point 46 is the point relevant to defining all robot positioning and constitutes the origin of the tool coordinate system. The tool center point 46 may correspond to, for example, the tip of an arc welding gun, the center of a spot welding gun, the end of an indexing tool, or a point such as a Figure 1The tip of the drilling tool is shown. Therefore, the position of the tool center point 46 will depend on the relevant application.

[0053] It should be noted that knowing the coordinates or offset of the tool center point 46 does not imply knowing the orientation of the tool 40 relative to the flange 3, nor does it imply knowing the length of the tool 40, because the tool center point 46 is defined relative to a known and internally defined arbitrary point (or reference frame) 9 on the flange 3, and this arbitrary point does not necessarily correspond to the point at which the elongated member or shaft 42 of the tool 40 is actually attached to the flange 3. Figure 3 This is indeed the case in the illustrated exemplary example. Thus, determining the tool center point 46 of the tool 40 is not the same as, nor equivalent to, determining the orientation or direction or length or size of the tool 40 .

[0054] In operation, the tool center point 46 will be jogged or moved around or to a desired target position with the desired tool orientation. Figure 2 The "wrist" concept of a robot arm of the type described, the first three rotational axes of the robot arm can be controlled to set the position of the center of the wrist, the three rotational axes of the wrist can be used to change the orientation of the flange 3 relative to the first three axes, and the position of the key points of the working tool 40 relative to the flange 3 can be determined based on the tool center point (TCP) information. By knowing and controlling these aspects of the robot architecture, the position of the working point 46 of the tool 40 can be controlled in a relatively straightforward manner.

[0055] Figure 4 The schematic diagram shows the controller 8 instructing the robot arm 1 to move the tool 40 so that the tool center point 46 of the tool 40 remains in the same position, or at least should ideally remain in the same position. This test is typically performed to verify that the tool center point 46 has been correctly identified, and is sometimes referred to as a "tool orientation test." The goal is to evaluate the accuracy of the robot by measuring its ability to rotate about the tool center point 46 programmed into the controller 8 (and the accuracy of the robot's rotation). Figure 3 The accuracy of the coordinates X, Y, Z of the tool center point 46 is shown), and ideally there is no appreciable actual movement of the tool center point 46 when the test is performed.

[0056] However, the purpose of embodiments of the present invention is not to verify only the position of the TCP, as is done by a tool orientation test, but to determine the position of the TCP. The most common method currently is a pin-to-pin method, in which an operator visually aligns two pins with different orientations, one of which is fixed to the machine base, and the other pin can be moved by a robot with reference to the TCP, where the robot is manually controlled by the operator. This is a convenient method, but relatively inaccurate because the method depends largely on the skill and experience of the operator; it also requires that the tool 40 be removed and replaced with a pin.

[0057] Furthermore, embodiments of the present invention are particularly but not exclusively intended to be applicable to Figures 1 to 3 In the case of the working tool 4, 40 being a surface sensing device (such as a measuring probe), the surface sensing device is adapted to sense the surface of a workpiece and determine the coordinates of a point on the workpiece. Such surface sensing devices are well known and will not be described in detail here. These surface sensing devices may be contact or non-contact surface sensing devices, and may be optical or mechanical.

[0058] Now refer to Figure 5 The flowchart of the present invention is described in Figure 6 Is implemented Figure 5 Schematic representation of an example of a calibration system for the method. Figure 6 The calibration system comprises a robot arm 1 which is generally equivalent to the robot arm described above with reference to Figure 1 and Figure 2 The robot arm described has a plurality of segments 5 connected by a combination of transverse rotation axes 6 and inline rotation axes 7. Figure 1 and Figure 2 compared to, Figure 6 The robot arm 1 carries a measuring probe 10 instead of a drilling tool or a gripper, and Figure 6 The calibration system also comprises a calibration artefact 20 and a calibration unit 30. The calibration artefact 20 has a known geometry, in this example a spherical form, wherein the diameter has been accurately measured beforehand (eg under controlled conditions using a calibrated coordinate measuring machine or CMM).

[0059] The concept of tool center point as described above with reference to working tools (such as drilling tools) is also applicable to Figure 6 The measuring probe 10 is a surface sensing device. In this regard, Figure 6 The depicted measurement probe 10 has an elongated stylus 12 and a surface contacting stylus tip 14 at the distal end of the stylus 12, wherein a tool center point 16 is defined at the center of the stylus tip 14, which is equivalent to Figure 3The stylus tip 14 defines the key point of interest of the measurement probe 10 (which is the tool center point 16), as shown in FIG. Figure 1 The tip of the drilling tool 4 defines the critical point of interest (tool center point) of such a tool.

[0060] implement Figure 5 The method is used to determine the coordinates (or offsets) of the tool center point 16 associated with the measuring probe 10, wherein the coordinates (or offsets) of the tool center point 16 are defined relative to the point on the flange 3 of the robot arm 1 to which the measuring probe 10 is connected. The flange 3 will also be referred to as the head portion 3 of the robot arm 1 below, because it is located at the head of the robot arm 1 and is located at the opposite end of the base portion 2. As previously described, the robot arm 1 has a plurality of rotary joints (lateral rotary axes 6 and inline rotary axes 7) arranged in series between the head portion 3 and the base portion 2. Figure 5 The steps on the left side of the flowchart (with reference numbers beginning with "S") are steps that implement new functions associated with embodiments of the present invention, while the steps on the right side (with reference numbers beginning with "C") are steps that are typically performed by a conventional machine (robot) controller 8 without the need for additional functions to be provided by the calibration unit 30.

[0061] In step S1, the calibration unit 30 configures the machine controller 8 to perform a calibration routine to collect information or data from which the TCP offset can be determined, as will be described in more detail below. Figure 7 As shown, the machine controller 8 starts the calibration routine in step C1 by controlling the robot arm 1 to move the head portion 3 (on which the measurement probe 10 is supported) relative to the base portion 2 (on which the calibration article 20 is supported) to a first sensing state. The sensing state is characterized by the position and orientation (or position and orientation values) of the head portion 3 relative to the base portion 2.

[0062] The head portion 3 is in the sensing state when the tool center point 16 of the measurement probe 10 is itself in the sensing position. In this embodiment where the measurement probe 10 is a contact probe, the sensing position of the tool center point 16 is the position where the stylus tip 14 of the measurement probe 10 is in sensing relationship with the calibration article 20 (i.e., touching the calibration article 20). Since the stylus tip 14 of the measurement probe 10 is in contact with the calibration article 20 in this position, the position of the tool center point 16 has been constrained to be a subset of the entire set of possible positions of the tool center point 16. This is achieved by Figure 5The subset of constrained positions in this embodiment is a set of points arranged on a surface that is offset by a radius of the stylus tip 14 from the calibration artefact 20. Using the calibration artefact 20 like this is one way of providing information about the positions of the sensed positions relative to each other, which information is then available in step S4. As an alternative to constraining the position of the tool centre point 16 in this way to provide this information to step S4, the position of the tool centre point 16 for each sensed position may also be measured directly, an alternative discussed further below.

[0063] Using the position of the tool center point 16 constrained in this way in step S2, and using the head portion 3 determined to be in the sensed state as described above, the controller 8 determines in step C2 the values ​​of the position and orientation of the head portion 3 relative to the base portion 2 in this sensed state based on the existing machine geometry (or parameterized model) of the robot arm 1. In this respect, in order to be able to control the robot arm 1 to move appropriately, the controller 8 must already have knowledge of the machine geometry of the robot arm 1 (or a parameterized model characterizing the geometry of the robot arm 1) and be able to determine representative values ​​of the position and orientation of the head portion 3 relative to the base portion 2 in a conventional manner from this machine geometry.

[0064] It should be noted that the offset of the tool centre point 16 relative to the head portion 3 is not relevant to the determination made in step C2. All that is required at this stage is the position and orientation of the head portion 3 (i.e. the portion of the robot arm 1 to which the measurement probe 10 is coupled). The actual or assumed position of the tool centre point 16 relative to the head portion 3 is not important, only that in the sensing state there is some knowledge of the position of the tool centre point 16 relative to the base portion 2 due to the constraints imposed by the calibration artefact 20. It should also be noted that the calibration unit 30 does not need to (and does not) have any knowledge of the machine geometry (or parameterised model) of the robot arm 1, so that in this respect there is a functional separation (even if not a physical separation) between the calibration unit 30 and the controller 8.

[0065] In order to collect sufficient information for the next stage (in particular, for step S4 performed by the calibration unit 30), it is necessary to determine the position and orientation values ​​of the head portion 3 for various different sensing states. Figures 8 to 11 As schematically shown, sufficient information can be collected by repeating steps C1 and C2 at four different sensing positions of the tool center point 16 around the calibration artefact 20, wherein for each of the four different sensing positions the head portion 3 (and therefore the measurement probe 10) has three different orientations. This is equivalent to twelve different sensing states of the head portion 3 and corresponding twelve pairs of position and orientation values.

[0066] Accordingly, in step C3, the controller 8 determines whether a further sensing state (and corresponding position and orientation values) is required. If so, the method returns to step C1 so that the controller 8 can control the head portion 3 to a different sensing state, wherein the tool center point 16 is constrained by the calibration artefact 20 as represented by step S2, and wherein the position and orientation values ​​of the head portion 3 in the new sensing state are determined in step C2. On the other hand, if it is determined in step C3 that sufficient calibration data has been collected, e.g. Figures 8 to 11 If the controller 8 has calibration data for all twelve sensing states (and corresponding position and orientation combinations) shown, control passes to step C4, in which the controller 8 sends the set of position and orientation values ​​determined for each execution of step C2 to the calibration unit 30. Step C4 may also precede step C3, so that the position and orientation values ​​are sent to the calibration unit 30 immediately, rather than waiting until all values ​​have been collected.

[0067] In step S3, the calibration unit 30 receives the set of position and orientation values ​​sent by the controller 8, which it uses in step S4 to determine the offset of the tool centre point 26. As indicated by the arrow leading from step S2, the calculations performed in step S4 also take into account the knowledge that in each of the sensing states for which position and orientation data is provided, the position of the tool centre point 16 is constrained relative to the position of the tool centre point 16 in the other sensing states by means of the calibration artefact 20. Since the geometry of the calibration artefact 20 is known, the position and orientation data combined with the constraint data (e.g. from a computer model of the calibration artefact) provides sufficient information to enable the offset of the tool centre point 16 relative to the head 3 to be determined directly in step S3. For example, for a spherical calibration artefact 20, it is known that the tool centre point 16 will in each sensing state be located on a spherical surface offset from the spherical calibration artefact 20 by the radius of the stylus tip 14, and this provides information about the positions of the sensed positions relative to each other.

[0068] Figure 12 to Figure 14 Shows Figures 8 to 11 A simplified two-dimensional representation of the measuring probe 10 is shown in FIG. 1 , wherein the measuring probe 10 is considered to move only within the two-dimensional plane of the drawing page. Fig.12 , Fig.13 and Fig.14 As shown respectively, the measuring probe 10 is moved so as to contact the stylus tip 14 at three different points of the wound product 20, i.e., the tool center point 16 is located at three different sensing positions p1, p2 and p3 of the wound product 20. For each of the sensing positions p1, p2 and p3, the head portion 3 is oriented in two different orientations, corresponding to two different sensing states, e.g. Fig.12 The sensing state s of the sensing position p111 and 12 Therefore, in general, the head portion 3 has six different sensing states s 11 、s 12 、s 21 、s 22 、s 31 、s 32 In this simplified two-dimensional example, each sensed state of the head portion 3 is characterized by two position values ​​(XY) and one orientation value or angle value (R), e.g. Fig.13 The sensing state shown is 21 (X 21 Y 21 R 21 ), or more generally (X PS Y PS R PS ), where P is the number of the sensed position and S is the number of the sensed state (or orientation). It should be noted again that these are the position and orientation values ​​of the head portion (flange) 3 relative to the base portion 2, so that the position in this context is not the position of the tool center point 16 itself, although it should also be noted again that the position of the tool center point 16 is constrained relative to each other by means of the calibration artefact 20.

[0069] Fig.15 shows the movement to two different sensing states s 11 、s 21 A highly simplified two-dimensional representation of the head portion 3 of the robot arm 1. In the two sensing states s 11 、s 21 The sensing positions p1 and p2 of the tool center point 16 under the control of the operator are constrained (or measured) relative to the other sensing positions, so that the first sensing position p1 is located at (x1 y1) = (3, 7) and the second sensing position p2 is located at (x2 y2) = (3, 2), that is, the relative spacing is (3, 7) - (3, 2) = (0, 5). The first (and only) sensing state s at the first sensing position p1 is 11 Next, the head portion 3 is determined by the controller 8 to have (X 11 Y 11 R 11 ) = (12, 19, 180°) and the first (and only) sensing state s at the second sensing position 21 Next, (X 21 Y 21 R 21 )=(32, 16, 0°). Therefore, the head portion 3 is in two sensing states s 11 、s 21 It has rotated a full 180°.

[0070] Since in this highly simplified example it is known how the coordinate system of the sensed (and constrained / measured) positions p1, p2 relates to the coordinate system of the head portion 4, e.g. an orientation of 90° will align the head portion 3 with a line between the first and second sensed positions, it is possible to determine the position of the head portion 4 from just these two sensed states s 11 、s 21 to determine the offset of the tool center point 16. The relative spacing between the head portion 3 in the two sensing states is (32, 16)-(12, 19)=(20,-3). Considering the relative constraint / measurement of the sensing position as (0, 5), this is equivalent to an adjusted relative spacing of (20, 2), and thus equivalent to Fig.16 The offset of the tool center point is shown as (XY) = (10, 1). Again, as previously referred to Figure 3 As explained, the offset is relative to an arbitrary point (or reference frame) 9 on the head portion 3 and does not convey any information about the actual orientation of the measurement probe 10 (and stylus 12), which is obviously not oriented along the vector (10, 1).

[0071] Although this is a highly simplified example, it shows how the offset coordinates can be beneficially determined solely from the position and orientation values ​​of the head portion 3, without knowing anything about how the rest of the robot arm 1 is arranged, or about the geometry of the robot arm 1 or a parameterized model characterizing the geometry of the robot arm 1. All that is required is information specifying the position and orientation of the head portion 3 relative to the base portion 2, and some knowledge of the positions of the sensed positions relative to each other; in fact, the rest of the robot arm 1 (including the portion arranged between the head portion 3 and the base portion 2) is located in the Fig.15 Conventional methods of finding a tool center point offset will typically include an offset parameter (e.g., a parameter in a model characterizing the geometry of the machine) such that the tool center point offset parameter will be determined or optimized in parallel with other parameters in the model. According to an embodiment of the present invention, the offset parameter is determined separately and / or independently from the other parameters of the model, and the offset parameter is determined after the other parameters of the model have been determined or optimized.

[0072] Even if the information received from the controller 8 in step S3 is not directly specified in terms of unambiguous and final numerical values ​​of position and orientation, and even if some type of minimal processing is required to produce actual numerical values ​​of position and orientation (e.g. scaling, shifting or mapping the values ​​from one coordinate space to another), the information is still valid without reference to any other parts of the robot arm 1 that may affect the position and orientation of the head portion 3 relative to the base portion 2 (e.g. Figure 6In the case of the state and / or geometry of the links 5 and joints 6 of the robot arm 1 shown, at least the position and orientation of the head part 3 relative to the base part 2 should also be specified. For example, raw machine coordinate data from the controller 8 (including rotary encoder readings and / or joint angles) will not meet this description because, although this data contains information from which the position and orientation of the head part 3 relative to the base part 2 can be derived, the derivation of this information is achieved with reference to the state and / or geometry of other machine parts arranged in the kinematic chain between the base part 2 and the head part 3, and in doing so, knowledge of a parameterized model of the robot arm 1 is required for processing.

[0073] The skilled person will understand how to Fig.15 and Fig.16 The simplified example in expands to a fully working example like Figures 8 to 11 The three dimensions shown and Figure 12 to Figure 14 The two dimensions shown, thereby collecting more position and orientation information of the head portion 3 via more sensing states and sensing positions, so that it is possible to detect the position and orientation of the head portion 3 in all three dimensions ( Figures 8 to 11 ) or two dimensions ( Figure 12 to Figure 14 ) to collect the relative position information of multiple sensing locations, rather than just based on Fig.15 With this additional data, there is no need to constrain / measure the reference system of the sensing positions p1, p2 to the sensing state s of the head portion 3. 11 、s 21 No assumptions are made about the reference frame.

[0074] Return to Figure 5 , in step S5, the TCP coordinates determined in step S4 are sent to the controller 8 and loaded into the controller 8 in step C5. With the new TCP coordinates loaded into the controller 8, the robot arm 1 can then be used operatively (or can continue to be used operatively), wherein the controller 8 is able to more accurately determine from the new TCP coordinates how the head portion 3 needs to be moved to bring the stylus tip 14 of the measurement probe 10 into precise contact with the workpiece to obtain measurement data. The settings of the robot arm 1 may drift over time, or the robot arm 1 may be accidentally knocked or moved by an operator, so that it is beneficial to occasionally or even frequently perform the method again to determine updated TCP coordinates, so if it is determined in step S6 that new TCP coordinates are required, the method returns to step S1 for another round of travel, otherwise the method remains at step S6 until a new travel is deemed necessary.

[0075] A key benefit of the method described above is that the calibration unit 30 determines the offset of the tool centre point 16 based solely on the position and orientation values ​​of the head portion 3 sent by the controller 8, without requiring any knowledge of the geometry of the robot arm 1 itself. This provides increased operational simplicity and versatility, as it does not need to be integrated into the controller 8, but can be provided as an added feature for use in conjunction with a conventional controller 8. This also provides a very quick and convenient way of setting up the robot arm for measurement (rather than positioning) tasks, thereby allowing the offset of a measurement probe supported on the robot arm to be determined quickly and accurately, and also allows the process to be repeated frequently, as all that is required is to place (or even hold) the calibration artefact 20 in the working volume and restart the automated routine to determine a new value for the TCP offset.

[0076] According to the embodiment described above, the measuring probe 10 is supported on the head portion 3, and the calibration artifact 20 is supported on the base portion 2, so that the measuring probe 10 moves relative to the base portion 2. Fig.17 As shown, this situation can also be reversed, so that the measuring probe 10 is supported on the (fixed) base 2 and the calibration artefact 20 is supported on the (movable) head part 3. Fig.17 This reverse arrangement method is completely equivalent to the method described above. Fig.17 It is also shown that the calibration unit 30 may be physically separated from the controller 8 .

[0077] As already mentioned briefly above, it is possible to use, instead, Fig.18 Rather than using the calibration artefact 20 to provide relative position information of the sensed positions as required in step S4 (and as represented by the information flow from step S2 to step S4), an external position measurement device 50 is shown to measure the position of the tool centre point 46 of the generic tool 40 relative to the base portion 2 in each sensed state. This can be considered to provide a "virtual artefact" or "virtual constraint" because instead of knowing where the sensed positions of the tool centre point 16 are located relative to each other around a known sphere (or other shape as defined by the calibration artefact 20), the actual position of the tool centre point 16 is measured so that again the sensed positions of the tool centre point 16 are known relative to each other, as would be the case if a calibration artefact 20 of known geometry was used. One may even choose to have the sensed positions (i.e. the positions of the tool centre point 46 as measured by the position measurement device 50) be located around a sphere, thereby providing a "virtual constraint" having sensed positions similar to those that would be provided by the calibration artefact 20.

[0078] It will therefore be understood that Fig.18The method associated with the arrangement is completely identical to the method described above. The position measurement device 50 may be a laser-based position measurement device or a camera-based position measurement device, or any other suitable type of position measurement device. Fig.18 The arrangement also applies to the case where the measuring probe 20 is supported on the head portion 3 rather than on the general tool 40 , in which case there is a position measuring device 50 which measures the position of another position measuring device in the form of the measuring probe 20 . Fig.19 The possibility is shown that a tool setter 60 can be used as a measuring device, the tool setter 60 having a stylus 62 and a sensing element 64 .

[0079] It will be appreciated that the calibration artefact 20 need not be spherical but can be any shape (such as a cube) as long as the geometry of the shape is known (this information is used to Figure 5 The head portion and base portion may be referred to more generally as first and second parts of a machine, which parts are moveable by the machine relative to each other. Furthermore, the terms 'characterisation' and 'characterise' may be used instead of 'calibration' and 'calibrate' respectively.

[0080] In some embodiments shown and described herein, such as Figure 6 As illustrated, the calibration unit 30 is shown as forming part of the controller 8. However, as Fig.17 As shown in , the calibration unit 30 can be conveniently separated and / or remote from the controller 8 functionally and / or physically, and only receives the information it needs from the controller 8; the calibration unit 30 can even be at different sites of the controller 8 and the robot arm 1. Figure 5 The relevant data of step S4 can even be sent to a remote site for processing instead of on-site processing. The calibration unit 30 is intended to represent a device for providing additional functions associated with embodiments of the present invention and not provided by conventional controllers, which can be additional functions for the controller (e.g., providing the above-mentioned servo control when collecting measurement data) or additional functions external to the controller (e.g., performing off-site processing on the collected measurement data).

[0081] A machine controller for controlling the operation of a robot (or other type of coordinate positioning machine) 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 include a real-time controller for providing low-level instructions to the coordinate positioning machine and a PC for operating the real-time controller. It will be appreciated that the operation of the coordinate positioning machine may be controlled by a program operating on the machine, in particular by a program operating on a coordinate positioning machine controller (such as controller 8). Such a program may be stored on a computer readable medium, or may be embodied in a signal, such as a downloadable data signal provided from an Internet website, for example. The attached claims should be interpreted as covering the program itself, or as a record on a carrier, or as a signal, or in any other form.

Claims

1. A method for determining an offset of a feature associated with a tool, the offset being defined relative to a first part of a machine coupled to the tool, wherein the offset is determined using: (a) values ​​of the position and orientation of the first part relative to a second part of the machine for each of a plurality of sensing states in which the feature is located at a sensing position; and (b) information about the positions of the sensing positions relative to each other.

2. The method of claim 1, wherein: The information is obtained by measuring the sensed locations relative to each other.

3. The method according to claim 1 or 2, wherein: The information is obtained by constraining the sensed locations relative to each other.

4. The method of claim 3, wherein: The sensed locations are constrained relative to each other by moving the feature into sensing relationship with an article of known geometry supported on the second portion.

5. A method as claimed in any preceding claim, wherein: The tool is a measuring probe, such as a contact probe.

6. A method as claimed in claim 5, comprising using the measurement probe to detect when the feature is at a sensing location.

7. The method according to claim 5 or 6, wherein: The feature is or is located at the tip of the measurement probe or at the tip of a stylus of the measurement probe.

8. A method as claimed in claim 5, 6 or 7 when dependent on claim 4, comprising detecting or determining that the feature is at a sensing position when the measurement probe has been moved into sensing relationship with the article.

9. A method as claimed in any preceding claim, wherein: The feature is a point of interest of the tool, such as a tool center point of the tool.

10. A method as claimed in any preceding claim, wherein: The offset is determined using only the position and orientation values ​​and the information about the positions of the sensed positions relative to each other.

11. A method as claimed in any preceding claim, wherein: The machine comprises a plurality of joints or shafts, such as rotary and / or linear joints or shafts, arranged in series between the first part and the second part.

12. A method as claimed in any preceding claim, wherein: The machine is adapted to provide relative movement between the first part and the second part in multiple degrees of freedom.

13. A method as claimed in any preceding claim, wherein: The first part is the moving part or head of the machine and the second part is the fixed part or base of the machine.

14. A method as claimed in any preceding claim, wherein: The position and orientation values ​​are derived from a model, such as a parameterized model, representing the geometry of the machine.

15. A method as claimed in any preceding claim, wherein: The offset is determined from the position and orientation values ​​without knowledge of and / or reference to the machine geometry or a model, such as a parameterized model, representing the geometry of the machine.

16. A method as claimed in any preceding claim, wherein: The position and orientation values ​​specify the position and orientation of the first part relative to the second part without reference to the state and / or geometry of any other part of the machine that may affect the position and orientation of the first part relative to the second part.

17. A method as claimed in any preceding claim, wherein: The position and orientation values ​​include numerical values ​​of the position and orientation of the first portion relative to the second portion for each of the sensed states.

18. A method as claimed in any preceding claim, wherein: The method does not comprise the step of deriving the position and orientation values ​​from a model representing the geometry of the machine, such as a parametric model.

19. A method as claimed in any preceding claim, comprising receiving the position and orientation values ​​from an external source, such as from a machine controller for controlling the machine to move the first part relative to the second part to a plurality of different sensed states.

20. The method of claim 19, comprising requesting the position and orientation values ​​from the external source.

21. A method as claimed in any preceding claim, wherein: The sensed states include a plurality of different orientations of the first portion relative to the second portion.

22. A method as claimed in any preceding claim, wherein: For at least one of the sensed locations of the feature, the sensed state comprises a plurality of different orientations of the first portion relative to the second portion.

23. A method as claimed in any preceding claim, wherein: The sensed state comprises, for each of the sensed locations of the feature, at least three or at least four different orientations of the first portion relative to the second portion.

24. A method as claimed in any preceding claim, wherein: The sensed states include at least three or at least four different sensed positions of the feature.

25. A method as claimed in any preceding claim, comprising moving the first portion to the sensing state based on a current estimate of the offset.

26. A method as claimed in claim 25, comprising using the position and orientation values ​​to update or optimize a current estimate of the offset to provide a closer correspondence with a relative constraint or relative measurement.

27. A method as claimed in any preceding claim, comprising controlling the machine to move the first part relative to the second part to a plurality of different sensing states.

28. A method as claimed in any preceding claim, comprising constraining the sensed locations relative to each other.

29. A method as claimed in any preceding claim, comprising measuring the sensed locations relative to each other.

30. A method as claimed in any preceding claim, wherein: The machine is a non-Cartesian and / or serial kinematic and / or parallel kinematic coordinate positioning machine.

31. A method as claimed in any preceding claim, wherein: The machine is a robotic arm.

32. A program which, when executed by a processing unit, causes the processing unit to perform a method as claimed in any preceding claim.

33. A medium storing program instructions, wherein the program instructions are used to cause a processing unit to execute the method according to any one of claims 1 to 31.

34. A processing unit configured to perform the method of any one of claims 1 to 31.

35. A machine configured to perform the method of any one of claims 1 to 31.

Citation Information

Patent Citations

  • Coordinate positioning machine

    WO2019162697A1

  • Coordinate positioning arm

    WO2021116685A1