Coordinate Positioning Machine

A method for determining tool offsets in robotic arms simplifies calibration by using relative position and orientation values, allowing quick and accurate setup for measurement tasks without full machine knowledge.

JP2025524180APending Publication Date: 2025-07-25RENISHAW PLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025504680
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-07-28
Filing Date
2023-07-28
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

Calibration of non-orthogonal coordinate positioning machines, such as robotic arms, is complex and time-consuming, especially when determining the offset of a tool's point of interest, and existing methods often require complete knowledge of machine parameters, which is not always feasible.

Method used

A method to determine the offset of a tool feature relative to a part of the machine using position and orientation values without needing full machine structure knowledge, utilizing a calibration unit to derive the offset based on relative sensing positions and a known tool shape.

Benefits of technology

Enables quick and accurate determination of tool offsets, simplifying the calibration process and maintaining measurement accuracy of robotic arms, applicable to various tools and machines without requiring detailed machine information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025524180000001_ABST
    Figure 2025524180000001_ABST
Patent Text Reader

Abstract

A method for determining an offset of a feature (16) associated with a tool (10) is described, the offset being defined with respect to a first part (3) of a machine (1) to which the tool (10) is attached. The method is characterized by determining the offset from (a) values of the position and orientation of the first part with respect to a second part for each of a plurality of sensed states of the first part in the machine, the values being such that in each of the sensed states the feature is at a sensed position, and (b) information regarding where the sensed positions are relative to each other. A particularly advantageous example is disclosed where this method is used to determine the tool center point (16) of a measurement probe (10) supported by a robot arm (1) using a tool (20) arranged within the working range of the robot arm (1).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a coordinate positioning machine. The present invention relates to a system for calibrating or characterizing at least some aspects of a coordinate positioning machine, although not limited thereto. The present invention is particularly applicable to non-orthogonal coordinate positioning machines such as hexapods, measuring arms, or articulated robots, for example.

Background Art

[0002] Articulated robots are commonly used in a variety of manufacturing applications such as assembly, welding, gluing, painting, pick-and-place (e.g., of printed circuit boards), packaging and labeling, palletizing, product inspection, etc. This robot is optimal for use in an actual operating environment due to the advantages of wide application, robustness, wide reach, and high flexibility of movement.

[0003] An articulated robot (or simply "robot" for short) is schematically shown in the accompanying FIG. 1 and includes an articulated robot arm 1 extending from a fixed base 2 to a movable flange 3, with the flange 3 supporting a tool (or end effector) 4. The tool 4 in FIG. 1 is a drilling tool. Typically, the flange 3 is provided with a coupling that allows the tool 4 to be conveniently replaced, whereby various tools or end effectors can be used depending on the application. Examples of applications include grippers, vacuum cups, cutting tools (including both mechanical cutting tools and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools, and other special tools. The flange 3 is also more generally referred to as the "head" of the robot arm 1, the fixed base 2 is the "base", and the robot arm 1 is controlled to move the head relative to the base by commands from a machine controller 8.

[0004] The arm 1 includes a plurality of segments 5 connected by a combination of a lateral rotation axis 6 and an inline (or longitudinal) rotation axis 7, forming a mechanical linkage mechanism from one end to the other end. In the example shown in FIG. 1, there are three lateral rotation axes 6 and three inline rotation axes 7, and a total of six rotation axes are formed alternately by the lateral rotation axis 6 and the inline rotation axis 7. An additional inline rotation axis 7 (not shown in FIG. 1) can also be provided between the last lateral rotation axis 6 and the flange 3, and the tool 4 can be conveniently rotated around its longitudinal axis to form a total of seven rotation axes.

[0005] Another general configuration is shown in the arm 1 of FIG. 2, which includes the above-mentioned additional inline rotation axis 7 between the last lateral rotation axis 6 and the flange 3, and also omits the second inline rotation axis 7 from FIG. 1 (in the series from the base end to the head end), thereby forming a total of six rotation axes. The tool 4 in FIG. 2 is a gripper. The arm 1 in FIG. 2 represents the schematic of a well-known six-axis industrial robot, the IRB140 by ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, and the center of this wrist is at the center of the last lateral rotation axis 6. The center of the wrist is invariant with respect to the rotation of the three rotation axes 6, 7 of the wrist, and thereby, the operation of the three rotation axes 6, 7 changes the orientation of the thing attached to the wrist (in this case, the gripper 4) without changing the center position of the wrist, where the first three rotation axes 6, 7 of the robot arm 1 determine the center position of the wrist. The wrist can be easily removed from the remaining part of the arm 1.

[0006] The multi-joint robotic arms 1 in FIGS. 1 and 2 are examples of non-orthogonal coordinate positioning machines, in contrast to orthogonal machines such as conventional three-axis (X, Y, Z) coordinate measuring machines (see, for example, FIG. 1 of Patent Document 1), because their axes are not orthogonally arranged according to an orthogonal coordinate system. The arms 1 in FIGS. 1 and 2 are also examples of "serial kinematic" coordinate positioning machines because their moving axes are arranged in series. In this sense, such machines are similar to conventional three-axis orthogonal coordinate measuring machines, which are also examples of "serial kinematic" coordinate measuring machines, and are in contrast to "parallel kinematic" coordinate positioning machines such as hexapods in which the moving axes are arranged in parallel instead.

[0007] Each joint or axis of a coordinate positioning machine contributes to positional error or uncertainty. In serial kinematic machines such as those shown in FIGS. 1 and 2, due to the serial nature of the linkage mechanism, these errors are cumulative. This accumulation of positional error does not occur in the same sense in parallel kinematic machines, but regardless of the type of machine, it is important to calibrate the machine to accurately indicate these errors or uncertainties.

[0008] Calibration of any type of non-orthogonal machine is an important issue, especially for multi-joint arms such as those shown in FIGS. 1 and 2, which have multiple rotational axes that are (a) arranged in series, (b) not fixed relative to each other, and (c) can be combined in a complex way to place a tool within the range of motion. Calibration of orthogonal machines is usually simpler. This is because such machines have three clearly defined axes that are orthogonally arranged and fixed relative to each other, and each axis is nearly independent of the others. In the case of a multi-joint robot, the position and orientation of each axis depend on the position and orientation of the other axes, so the calibration is different for each pose of the machine.

[0009] Many calibration techniques commonly have the goal of defining a parameter model of the associated machine, and a set of model parameters (also called machine parameters) is used to characterize the structure of the machine. The uncalibrated values are first assigned to these parameters as the starting point of the machine structure. During calibration, the machine changes to various different poses (based on the then-estimated values of the machine parameters). For each pose, the actual pose can be measured using a calibrated measuring device, thereby determining an indicator of the error between the assumed pose of the machine and the actual pose of the machine. Next, in the operation of calibrating the machine, known numerical optimization or error minimization techniques are used to determine various sets of parameter values of the machine that minimize the error.

[0010] In the case of a robot as shown in FIGS. 1 and 2, these machine parameters may include various geometric parameters such as the length of each segment 5, the rotational angle offsets of each rotational joint 6, 7 (the angle from the encoder plus the calibrated offset giving the actual angle), and various mechanical parameters such as joint compliance and friction. The machine parameters may also include the offset coordinates of the working point of a tool such as the tip of the drilling tool 4 in FIG. 1 with respect to the head or flange 3. In this regard, the offset of the working point (or tool center point) is important information, which will be described in more detail below.

[0011] When properly calibrated, if all of these machine parameters are known, it becomes possible to more reliably predict the actual position of the working point (or tool center point) of the tool 4 when the various axes or joints 6, 7 are commanded by the controller 8 to move to different respective positions. In other words, the machine parameters obtained from such calibration result in a more accurate characterization of the machine structure. These concepts related to the calibration of general coordinate positioning machines, particularly robotic arms, are examined in more detail in Patent Document 2 and Patent Document 3.

Prior Art Documents

Patent Documents

[0012] [Patent Document 1] International Publication No. 2021 / 074625 [Patent Document 2] International Publication No. 2019 / 162697 [Patent Document 3] International Publication No. 2021 / 116685 [Summary of the Invention]

[0013] The applicant understands that performing such a calibration routine can be complex and time-consuming, especially when only some of the machine parameters are required, and more specifically, when only determining the offset of the point of interest of the tool supported by the machine (e.g., the working point or the tool center point) is required.

[0014] The applicant also understands that there are situations where the complete structure of the relevant machine cannot be utilized, and thus, as described above, it is desirable to provide a calibration routine that does not require complete knowledge of the set of machine parameters that typically form part of a typical calibration routine.

[0015] Robot arms such as those shown in FIGS. 1 and 2 are most typically used for positioning work and are not usually considered to be accurate enough for measurement work. However, the applicant also understands that a calibration routine that can be executed relatively quickly to find (or refind) the offset of the measurement probe supported by the robot arm is desirable.

[0016] According to a first aspect of the present invention, there is provided a method for determining an offset of a feature of a tool or an offset of a feature associated with a tool. The offset is defined with respect to a first part of a coordinate positioning machine to which the tool is coupled or attached, for example, with respect to a point or a reference frame of the first part or associated with the first part. The method comprises determining an offset from (a) values of the position and orientation of the first part with respect to a second part of the machine for each of a plurality of sensed states of the first part, wherein in each of the sensed states, the feature is at the sensed position, and (b) information regarding or related to where the sensed positions are at least relative to each other.

[0017] In embodiments of the present invention, the offset of the tool can be beneficially determined using only the values of the position and orientation of the part of the coordinate positioning machine to which the tool is coupled, for example, the head or flange of a robotic arm, without the need to know anything about the structure or parametric model of the rest of the machine or how the rest of the machine is arranged (and which can be used by a machine controller to derive the values of the position and orientation of the part of the machine to which the tool is coupled). All that is required in embodiments of the present invention is to know where the sensed positions are relative to each other and the values of the position and orientation of the part to which the tool is coupled. This simplifies the process of determining the tool offset significantly as it does not involve a full calibration of the machine (for all model parameters including the parameters of the tool offset), thereby encouraging the method to be run more frequently than otherwise and thereby enabling the machine to be maintained in good operating order. By using the values of position and orientation readily available as output from any machine controller, it is possible to implement the method independently of any proprietary (and possibly locked down) machine control software used to control the machine, where accessing detailed information regarding the structure of the machine or the parametric model used to characterize the structure of the machine is difficult or impossible.

[0018] The information may be obtained, or may already have been obtained, by measuring the relative sensing positions. The information may include at least the measured values of the relative sensing positions, or measured values that can determine where the sensing positions are relative to each other. The measured values can be obtained using a non-contact measurement system such as a camera-based system, or from a contact measurement system such as a tool setting jig probe. The method may include measuring the relative sensing positions.

[0019] The information may be obtained, or may already have been obtained, by measuring the relative sensing positions. The sensed positions may be restricted, or may already be restricted, relative to each other by moving the sensed relationship to a tool having a known shape supported by a second portion of the feature. The tool may have a spherical shape or at least a partially spherical shape. The method may include measuring the relative sensed positions.

[0020] The tool may be a measurement probe. The method may include using the measurement probe to detect when the feature is at each of the sensed positions. The method may include using the measurement probe to detect when the first portion is in each of the sensed states. The measurement probe may be a contact probe. The feature can be the tip of the measurement probe or the tip of the stylus of the measurement probe (or may be at the tip of the stylus of the measurement probe, or may be at the tip of the stylus of the measurement probe). When the tool is used as described above, the method may include detecting that the feature is at the sensed position, or that the first portion is in the sensed state, when the measurement probe moves into a sensing relationship with the tool.

[0021] The features of the tool or features associated with the tool can be points of interest of the tool or points associated with the tool, and in particular can be the tool center point of the tool. The coordinate positioning machine can include a robotic arm. In this regard, a particularly advantageous embodiment of the invention is that a method is used to determine the tool center point of a measurement probe supported by a robotic arm using a tool arranged within the movement range of the robotic arm. The method of embodying the present invention is simple to execute and makes it quicker and easier to set up the robotic arm for measurement work using the robotic arm (thereby actually creating a measurement arm), and to frequently execute the method to maintain the measurement accuracy of the robotic arm (or measurement arm). The robotic arm is usually at least partially not considered in measurement work due to its continuous kinematic structure in which positioning errors tend to accumulate along the continuous kinematic chain of links and joints, but embodiments of the present invention make this much more convenient.

[0022] However, although the application to a robotic arm supporting a measurement probe is particularly beneficial, it will be understood that the present invention is not limited to the machine being a robotic arm and the tool being a measurement probe. The machine can be any type of non-orthogonal kinematic and / or serial kinematic and / or parallel kinematic coordinate positioning machine such as a hexapod or robotic arm, and the tool can be any type of tool such as a drilling tool or welding tool or other type of machine tool or gripper. The robotic arm can also be referred to as a multi-joint robot or multi-joint robotic arm (or equivalent).

[0023] The method can include controlling the machine to move the first part to a plurality of different sensed states with respect to the second part. The machine may be controlled to move the first part to a plurality of different sensed states for the first part with respect to the second part of the machine (or at least, for example, by appropriately setting a controller). In each of the sensed states, the feature is at the sensed position with respect to the second part.

[0024] The sensed state can be characterized by the position and orientation of the first part relative to the second part (or the values of the position and orientation of the first part relative to the second part). The sensed positions can be restricted or measured relative to each other and / or relative to the second part, and these can be represented by relative restrictions or measurement values.

[0025] As already mentioned, the sensed positions can be restricted relative to each other and / or relative to the second part by moving the feature into a sensed relationship with a tool supported by the second part, the tool having a known shape. In this case, the relative restrictions described above are provided by or based on the known shape of the tool. The offset can then be determined based on (or taking into account) the known shape of the tool. The method can include the step of restricting or measuring the sensed positions relative to each other and / or relative to the second part.

[0026] The position and orientation values can specify the position and orientation of the first part relative to the second part (e.g., an intermediate joint and link disposed between the base end and the head end of a serial kinematic chain of a robotic arm) independently of and / or without reference to the state and / or structure and / or position and / or orientation of any other part of the machine that can act on and / or affect the position and orientation of the first part relative to the second part. The position and orientation values can include the values of the position and orientation of the first part relative to the second part for each of the sensed states.

[0027] The offset can be determined using only the position and orientation values and information regarding where the sensed positions are relative to each other. The offset can be determined from the position and orientation values without knowing the structure of the machine and / or without referring to the structure or model of the machine such as a parametric model that characterizes the structure of the machine.

[0028] The values of the respective positions and orientations of the sensed states can be received from an external source, such as a machine controller used to control a machine to move a first portion to a plurality of different sensed states. And these position and orientation values can be used to determine the above-described offset based on (or taking into account) relative limitations or measurements. The method can include requesting position and orientation values from an external source (such as a machine controller).

[0029] The position and orientation values may be derived from a model, such as a parametric model, that characterizes the structure of the machine, or may be being derived. The above-described external source (such as a machine controller) may already have derived the position and orientation values based on the structure of the machine or based on a model of the machine (such as a parametric model) that characterizes the structure of the machine. Accordingly, the method itself does not derive the position and orientation values and / or does not itself depend on any knowledge of the structure of the machine (or the parametric model of the machine) to derive the position and orientation values, and instead can receive the position and orientation values from another location. In other words, this method can exclude the step of deriving the position and orientation values from a model, such as a parametric model, that characterizes the structure of the machine.

[0030] The sensed state can include a plurality of different positions for the first portion relative to the second portion. The sensed state can include a plurality of different positions for the first portion relative to the second portion. The sensed state can include a plurality of different orientations for 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 can include at least three or at least four different orientations for the first portion relative to the second portion for each of the sensed positions of the feature. The sensed state can include at least three or at least four different sensed positions regarding the feature.

[0031] The method may include moving the first part to a sensed state based on a current estimate of the offset. The method may include using position and orientation values to update or optimize the current estimated value of the offset and provide a closer correspondence to relative constraints or measurements.

[0032] The machine may include a plurality of joints or axes arranged in series between the first part and the second part. The joints or axes may be rotational and / or linear joints or axes. The machine may be adapted to provide relative movement between the first part and the second part with a plurality of degrees of freedom. The machine may have a plurality of degrees of freedom for relative movement between the first part and the second part. The first part may be a movable part or head portion of the machine, and the second part may be a fixed part or base portion of the machine. Alternatively, the first part may be a fixed part or base portion of the machine, and the second part may be a movable part or head portion of the machine.

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

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

[0035] According to another aspect of the present invention, there is provided a calibration unit or some other type of processing unit configured to execute the method according to the first aspect of the present invention (or at least any optional step of a method that can be executed by or caused to be executed by the calibration unit or the processing unit).

[0036] According to another aspect of the present invention, there is provided a machine controller configured to control a machine to execute the method according to any aspect of the present invention.

Brief Description of the Drawings

[0037] Here, by way of example, the accompanying drawings are referred to.

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

[0038] Figure 3 shows a schematic view of a tool 40 attached to a flange 3 of a robotic arm of the type described above with reference to Figures 1 and 2. The tool 40 has an elongated member 42 attached at an angle (which may or may not be intentional) to the flange 3, and the elongated member 42 has a tip 44 at its distal end. The center 46 of the tip 44 is a point of particular interest since it can typically be the working point of the tool 40 or some other important reference point associated with the tool 40, and in the robotic structure, this is generally referred to as the tool center point or TCP of the tool 40.

[0039] When programming the robot to move the tool 40 within its range of motion, the position of the tool center point 46 with respect to the part of the robot to which the tool 40 is attached, i.e., in this case, the flange 3, is important information. Specifying the coordinates or offsets (X, Y, Z) of the tool center point 46 is an important step in setting up the robot for operation and use. The tool center point 46 is the point with respect to which all robot positioning is defined and constitutes the origin of the tool coordinate system. The tool center point 46 can correspond to, for example, the tip of an arc welding gun, the center of a spot welding gun, the end of a grinding tool, or the tip of a drilling tool as shown in Figure 1. Thus, the position of the tool center point 46 depends on the associated application.

[0040] It should be noted that knowing the coordinates or offsets of the tool center point 46 does not mean knowing the orientation of the tool 40 with respect to the flange 3, nor does it mean knowing the length of the tool 40. This is because the tool center point 46 is defined with respect to an arbitrary point (or coordinate system) 9 of the flange 3 that is known and defined internally. 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 as in the schematic example shown in Figure 3. Thus, determining the tool center point 46 of the tool 40 is not the same as, nor does it imply, determining the orientation or direction, or the length or size, of the tool 40.

[0041] During operation, it is the tool center point 46 that moves around the desired target position or is moved to the desired target position in the desired orientation of the tool. For example, referring to the concept of the "wrist" of a robot arm of the type described above with reference to FIG. 2, the first three rotational axes of the robot arm can be controlled to set the position of the wrist center, and the three rotational axes that make up the wrist can be used to change the orientation of the flange 3 relative to the first three axes, and the position of the principal point of the working tool 40 relative to the flange 3 can be determined from the information of the tool center point (TCP). By knowing and controlling these aspects in the robot structure, the position of the working point 46 of the tool 40 can be controlled in a relatively simple manner.

[0042] FIG. 4 schematically shows the robot arm 1 being instructed by the controller 8 to move the tool 40 such that the tool center point 46 of the tool 40 remains at the same position or at least ideally remains at the same position. Such a test is typically performed to confirm that the tool center point 46 is correctly identified and is sometimes known as a "tool orientation test". The purpose is to evaluate the accuracy of the robot (and the accuracy of the coordinates X, Y, Z of the tool center point 46 as shown in FIG. 3) by measuring, ideally without the actual movement of the tool center point 46 becoming apparent when the test is being performed, the ability programmed in the controller 8 to rotate around the tool center point 46.

[0043] However, the object of the embodiments of the present invention is not merely to check the position of the TCP as is done in the tool orientation test, but to determine the position of the TCP. The currently most common method is the pin-to-pin method in which an operator visually aligns two pins in different orientations, one of the pins being fixed to the machine base and the other being movable by the robot to reference the TCP, at which time the robot is manually controlled by the operator. This is a convenient method, but it is relatively inaccurate because it depends greatly on the skills and experience of the operator. Also, it is necessary to remove the tool 40 and replace it with a pin.

[0044] Further, the embodiments of the present invention are particularly intended to be applicable when, but not limited to, the working tools 4, 40 of FIGS. 1 to 3 are surface sensing devices such as measurement probes adapted to sense the surface of the workpiece and determine the coordinates of points on the workpiece. Such surface sensing devices are well known and will not be described in detail here. They can be optical or mechanical, contact or non-contact surface sensing devices.

[0045] The method of embodying the present invention will be described with reference to the flowchart of FIG. 5, and FIG. 6 is a schematic diagram of an example of a calibration system that implements the method of FIG. 5. The calibration system of FIG. 6 includes a robot arm 1 generally equivalent to that described above with reference to FIGS. 1 and 2, having a plurality of segments 5 connected by a combination of a lateral rotation axis 6 and an in-line rotation axis 7. Compared with FIGS. 1 and 2, the robot arm 1 of FIG. 6 holds a measurement probe 10 instead of a drilling tool or a gripper, and the calibration system of FIG. 6 also includes a calibration tool 20 and a calibration unit 30. The calibration tool 20 has a known shape and, in this example, has a spherical shape with a diameter accurately measured in advance using, for example, a coordinate measuring machine or CMM calibrated under controlled conditions.

[0046] The concept of the tool center point applies equally to surface sensing devices such as the measurement probe 10 of FIG. 6, as described above with reference to a working tool such as a drilling tool. In this regard, the measurement probe 10 shown in FIG. 6 has an elongated stylus 12 and a surface contact stylus tip 14 at the distal end of the stylus 12, and the tool center point 16 is defined at the center of the stylus tip 14, which is equivalent to that shown in the schematic of the tool 40 of FIG. 3. The stylus tip 14 defines the main point of interest (the point of interest being the tool center point 16) of the measurement probe 10, just as the tip of the drilling tool 4 of FIG. 1 defines the main point of interest (tool center point) for such a tool.

[0047] The method of FIG. 5 is performed to determine the coordinates (or offsets) of the tool center point 16 associated with the measurement probe 10, and the coordinates (or offsets) of the tool center point 16 are defined with respect to the point on the flange 3 of the robotic arm 1 to which the measurement probe 10 is attached. The flange 3 is also at the head of the robotic arm 1 and at the opposite end of the base portion 2, and is hereinafter also referred to as the head portion 3 of the robotic arm 1. As described above, the robotic arm 1 has a plurality of rotational joints (lateral rotation axis 6 and in-line rotation axis 7) arranged in series between the head portion 3 and the base portion 2. Each step on the left side of the flowchart of FIG. 5 has a reference number starting with "S" and is a step that enables a new function associated with an embodiment of the present invention. In contrast, each step on the right side has a reference number starting with "C" and is a step generally performed by a conventional machine (robot) controller 8 without the additional functions provided by the calibration unit 30.

[0048] In step S1, the calibration unit 30 sets the machine controller 8 to execute a calibration routine for collecting information or data for determining the TCP offset, as will be described in more detail below. In step C1, as shown in FIG. 7, the machine controller 8 controls the robot arm 1 to move the head portion 3 (on which the measurement probe 10 is supported) to a first sensing state with respect to the base portion 2 (on which the calibration tool 20 is supported), thereby starting the calibration routine. The sensing state is characterized by the position and orientation of the head portion 3 with respect to the base portion 2 (or the values of its position and orientation).

[0049] When the tool center point 16 of the measurement probe 10 itself is at the sensed position, the head portion 3 is in the sensing state. The sensed position of the tool center point 16 is the position where the stylus tip 14 of the measurement probe 10 is in a sensing relationship with the calibration tool 20, that is, in this embodiment where the measurement probe 10 is a contact probe, the position where the stylus tip 14 contacts the calibration tool 20. Since the stylus tip 14 of the measurement probe 10 is in contact with the calibration tool 20 at this position, the position of the tool center point 16 is thus restricted to a subset of the entire set of possible positions of the tool center point 16. This is represented by step S2 in FIG. 5. The subset of the restricted positions in this embodiment is a set of points arranged on a plane offset from the calibration tool 20 by the radius of the stylus tip 14. Using the calibration tool 20 in this way is one way to provide information about where the sensed positions are relative to each other, and this information becomes available in subsequent step S4. As an alternative means of restricting the position of the tool center point 16 and providing this information to step S4, the position of the tool center point 16 can also be directly measured for each of the sensed positions, and this alternative means will be further considered below.

[0050] When the position of the tool center point 16 is restricted in this way in step S2 and it is determined that the head unit 3 is in the state sensed as described above, in step C2, the controller 8 determines the position and orientation values of the head unit 3 with respect to the base unit 2 in this sensed state based on the existing mechanical structure (or parametric model) of the robot arm 1. In this regard, in order to be able to control the robot arm 1 to move appropriately, the controller 8 needs to know in advance the mechanical structure of the robot arm 1 (or the parametric model characterizing the structure of the robot arm 1), and based on that, the representative values of the position and orientation of the head unit 3 with respect to the base unit 2 can be determined by a conventional method.

[0051] Note that the offset of the tool center point 16 with respect to the head unit 3 is not related to the determination made in step C2. All that is required at this stage is the position and orientation of the head unit 3, that is, the part of the robot arm 1 to which the measurement probe 10 is attached. Whether the tool center point 16 is actually located where with respect to the head unit 3 or is assumed to be located where is not the issue. In the sensed state, it is only necessary to know to some extent the position of the tool center point 16 with respect to the base unit 2 due to the restrictions imposed by the calibration tool 20. Also, it should be noted that the calibration unit 30 does not require (and does not have) knowledge of the mechanical structure (or parametric model) of the robot arm 1 in order to function in this regard between the calibration unit 30 and the controller 8, even if there is no physical separation.

[0052] To collect sufficient information for the next stage (in particular, step S4 performed by the calibration unit 30), the position and orientation values of the head portion 3 need to be determined for various different sensing states. As schematically shown in FIGS. 8 to 11, for four different sensing positions of the tool center point 16 around the calibration tool 20, by repeating steps C1 and C2, the head portion 3 (and thus the measurement probe 10) can be used in three different orientations for each of the four different sensing positions to collect sufficient information. This information corresponds to 12 different sensing states for the head portion 3 and 12 corresponding pairs of position and orientation values.

[0053] Accordingly, in step C3, the controller 8 determines whether further sensed states (and corresponding position and orientation values) are required. In the case of an affirmative determination, the method returns to step C1, and the controller 8 can control the head portion 3 to different sensing states, where the tool center point 16 is restricted by the calibration tool 20 as shown in step S2, and in step C2, the position and orientation values of the head portion 3 in the new sensing state are determined. On the other hand, in step C3, for example, if it is determined that sufficient calibration data has already been collected for all 12 sensing states (and corresponding combinations of positions and orientations) shown in FIGS. 8 to 11, the control proceeds to step C4, and the controller 8 transmits the set of position and orientation values determined in each execution of step C2 to the calibration unit 30. Step C4 may also come before step C3 such that the position and orientation values are immediately transmitted to the calibration unit 30 instead of waiting until all values are collected.

[0054] In step S3, the calibration unit 30 receives the set of position and orientation values transmitted from the controller 8. In step S4, the calibration unit 30 determines the offset of the tool center point 16 using these position and orientation values. As represented by the arrow leading from step S2, the calculation performed in step S4 also takes into account the recognition that the position of the tool center point 16 is restricted with respect to the position of the tool center point 16 in another state of the sensing state by the calibration tool 20 in each of the sensing states where position and orientation data are provided. Since the shape of the calibration tool 20 is known, the position and orientation data, combined with the restriction data (e.g., by a computer model of the calibration tool), provide sufficient information to directly determine the offset of the tool center point 16 with respect to the head portion 3 in step S3. For example, for the spherical calibration tool 20, it is known that the tool center point 16 is located on a sphere offset from the spherical calibration tool 20 by the radius of the stylus tip 14 in each of the sensing states, which provides information about where the sensed positions are relative to each other.

[0055] Figures 12 to 14 show a simplified two-dimensional representation of Figures 8 to 11, where the measurement probe 10 is considered to move only within the two-dimensional plane of the pages of those drawings. The measurement probe 10 is moved so that the stylus tip 14 contacts at three different points around the tool 20, i.e., in a state where the tool center point 16 is at three different sensed positions p1, p2, and p3 around the tool 20, as shown in Figures 12, 13, and 14 respectively. For each of the sensed positions p1, p2, and p3, the head portion 3 is oriented in two different orientations corresponding to two different sensed states, e.g., the sensed state s 11 and s 12 for the sensed position p1 in Figure 12. Thus, overall, the head portion 3 has six different sensed states s 11 , s 12 , s 21 , s 22 , s 31 , s 32There is. In this simplified two-dimensional example, each sensing state of the head portion 3 is represented by the values of two positions (XY) and the orientation or angle value (R), for example, the sensing state s shown in FIG. 13 21 for (X 21 Y 21 R 21 ), or more generally (X PS Y PS R PS ). Here, P is the number of sensing positions, and S is the number of sensing states (or orientations). These are the position and orientation values of the head portion (flange) 3 with respect to the base portion 2. Therefore, it should be noted again that the position in this context is not the position of the tool center point 16 itself, but it should also be noted again that the positions of the tool center points 16 are restricted relative to each other by the calibration tool 20.

[0056] FIG. 15 shows a highly simplified two-dimensional representation of the height of the head portion 3 of the robot arm 1 moved to two different sensing states s 11 , s 21 . The sensed positions p1, p2 of the tool center point 16 in these two sensing states s 11 , s 21 are such that the first sensed position p1 is at (x1y1) = (3, 7) and the second sensed position p2 is at (x2y2) = (3, 2), that is, they are restricted (or measured) relative to each other with a relative interval of (3, 7) - (3, 2) = (0, 5). In the first (and only) sensing state s 11 of the first sensed position p1, the head portion 3 is defined by the controller 8 to have position and orientation values of (X 11 Y 11 R 11 ) = (12, 19, 180°), and in the first (and only) sensing state s 21 of the second sensed position, it is defined to have values of (X 21 Y 21 R 21 ) = (32, 16, 0°). Therefore, the head portion 3 makes a rotation of approximately 180° between the two sensing states s 11 , s 21 .

[0057] In this highly simplified example, since it is known how the coordinate systems of the sensed (and limited / measured) positions p1, p2 are related to the coordinate system of the head part 3, for example, an orientation of 90° aligns the head part 3 with the line between the first sensed position and the second sensed position, these two sensed states s 11 , s 21 alone are sufficient to determine the offset of the tool center point 16. The mutual distance between the two sensed states of the head part 3 is (32, 16) - (12, 19) = (20, -3). Taking into account the relative limitation / measurement value (0, 5) of the sensed positions, this results in an adjusted mutual distance of (20, 2), and thus, as shown in FIG. 16, a tool center point offset of (XY) = (10, 1). Furthermore, as previously described with reference to FIG. 3, this offset is relative to any point (or coordinate system) 9 of the head part 3 and does not convey information regarding the actual orientation of the measurement probe 10 (and stylus 12) which is clearly not oriented along the vector (10, 1).

[0058] Although this is a highly simplified example, it shows how, without any knowledge of how the rest of the robotic arm 1 is arranged, or the structure of the robotic arm 1, or the structure of the parametric model that characterizes the structure of the robotic arm 1, the offset coordinates can be beneficially determined solely from the values of the position and orientation of the head portion 3. All that is required is information specifying the position and orientation of the head portion 3 relative to the base portion 2, along with some knowledge of where the sensed positions are relative to each other. In fact, the rest of the robotic arm 1 (including the parts arranged between the head portion 3 and the base portion 2) is not shown in FIG. 15. In conventional methods of finding the tool center point offset, typically, the offset parameter is included as a parameter of the model that characterizes the structure of the machine, and as a result, the tool center point offset parameter is determined or optimized in parallel with the other parameters of the model. In embodiments of the present invention, the offset parameter is determined separately from and / or independently of the other parameters of the model, and is determined after the other parameters of the model have been determined or optimized.

[0059] Even if the information received from the controller 8 in step S3 is not directly specified from the perspective of explicit and final numerical values regarding the position and orientation, and some types of minimal processing are required to generate the actual numerical values regarding the position and orientation (for example, magnification / reduction, movement, or mapping of values from one coordinate space to another), the information should, at least, specify the position and orientation of the head portion 3 with respect to the base portion 2 without referring to the states and / or structures of other parts of the robotic arm 1 (such as the links 5 and joints 6 of the robotic arm 1 shown in FIG. 6) that can affect the position and orientation of the head portion 3 with respect to the base portion 2. For example, raw machine coordinate data from the controller 8 (including readings of rotary encoders and / or joint angles) includes information from which the position and orientation of the head portion 3 with respect to the base portion 2 can be derived, but this is done by referring to the states and / or structures of other mechanical components arranged in the kinematic chain between the base portion 2 and the head portion 3 and requires knowledge of the parametric model of the robotic arm 1 for processing, so it does not conform to this description.

[0060] One skilled in the art understands how to extend the simplified examples of FIGS. 15 and 16 to complete operating examples, and as shown in FIGS. 8 - 11 for three dimensions and FIGS. 12 - 14 for two dimensions, by collecting more position and orientation information about the head portion 3 through more sensing states and sensing positions, the relative position information regarding multiple sensing positions can be effectively collected not just in one dimension but in all three dimensions (FIGS. 8 - 11) or two dimensions (FIGS. 12 - 14) according to FIG. 15 (because there are only two sensed positions p1, p2). With this additional data, no assumptions need to be made about how the coordinate systems of the limited / measured sensing positions p1, p2 are related to the coordinate system of the sensing states s 11 、s 21 of the head portion 3.

[0061] Returning to the flowchart of FIG. 5, in step S5, the TCP coordinates determined in step S4 are transmitted to the controller 8 and are also loaded into the controller 8 at this step C5. Using the newly loaded TCP coordinates in the controller 8, the robot arm 1 can be operated (or continuously used), and the controller 8 can more accurately determine from the new TCP coordinates what movements of the head unit 3 are required to accurately contact the stylus tip 14 of the measurement probe 10 with the workpiece to obtain measurement data. The settings of the robot arm 1 can vary over time, or the robot arm 1 may be accidentally bumped or moved by the operator. Therefore, it is beneficial to re - execute the method sometimes or even more frequently to determine the latest TCP coordinates. For this reason, if it is determined in step S6 that new TCP coordinates are required, the method returns to step S1 for further execution; otherwise, the method remains at step S6 until it is determined that a new execution is required.

[0062] The main advantage of the method described above is that the offset of the tool center point 16 is determined by the calibration unit 30 based only on the position and orientation values of the head unit 3 transmitted from the controller 8 without knowing the structure of the robot arm 1 itself. This does not require integration into the controller 8 but can be provided as an extended function that can be used in conjunction with the conventional controller 8, resulting in simplified operation and improved versatility. Also, it provides a very quick and convenient way to set up the robot arm for measurement operations (rather than positioning), and it is possible to quickly and accurately determine the offset of the measurement probe supported by the robot arm. Moreover, all that is required is to place (or leave) the calibration tool 20 within the movable range and restart the automatic routine to determine the new value of the TCP offset, so the process can be repeated frequently.

[0063] In the above-described embodiment, the measurement probe 10 is supported by the head portion 3, and the calibration tool 20 is supported by the base portion 2. As a result, the measurement probe 10 moves in relation to the base portion 2. As shown in FIG. 17, it is also possible to reverse the arrangement so that the measurement probe 10 is supported by the (fixed) base 2 and the calibration tool 20 is supported by the (movable) head portion 3. The method for this reversed arrangement in FIG. 17 is exactly the same as the method described above. FIG. 17 also shows that the calibration unit 30 can be physically separated from the controller 8.

[0064] As already mentioned above, instead of using the calibration tool 20 to provide the relative position information about the sensed position (as represented by the flow of information from step S2 to step S4) required in step S4, it is possible to measure the position of the tool center point 46 of the general tool 40 with respect to the base portion 2 for each of the sensed states by using an external position measurement device 50 as shown in FIG. 18. This can be regarded as providing a "virtual tool" or "virtual limit" because instead of relatively knowing that the sensed position of the tool center point 16 exists around a known sphere (or other shape as defined by the calibration tool 20), the actual position of the tool center point 16 is measured so that the position where the sensed position of the tool center point 16 relatively exists can be known again, which is the same as the case of using the calibration tool 20 having a known shape. The sensed position (i.e., the position where the tool center point 46 is measured by the position measurement device 50) can be selected to exist around a sphere, thereby providing a "virtual limit" having a sensed position similar to that provided by the calibration tool 20.

[0065] Therefore, it is understood that the method associated with the configuration of FIG. 18 is exactly equivalent to the method described above. The position measurement device 50 can be a laser-based position measurement device, a camera-based position measurement device, or any other suitable type of position measurement device. The configuration of FIG. 18 is also applicable when the measurement probe 10 is supported by the head portion 3 instead of the general tool 40, and in that case, there is a position measurement device 50 that measures the position of other position measurement devices in the form of the measurement probe 10. FIG. 19 shows the possibility that the tool setter 60 is used as a measurement device, and this tool setter 60 has a stylus 62 and a sensing element 64.

[0066] The calibration tool 20 does not need to be spherical and can be of any shape such as a cube as long as the geometry of the shape is known (this information is used in step S4 of FIG. 5), because this is sufficient to limit the sensed positions relative to each other. It is also understood that the present invention is applicable not only to finding the tool center point of the tool but also to finding the offset of any feature or other point of interest associated with the tool. Alternatively, the head portion and the base portion can be more generally referred to as a first part and a second part of a machine that are movable relative to each other by the machine. Further, the terms "characteristic evaluation" and "evaluating the characteristic" can be used instead of "calibration" and "calibrating", respectively.

[0067] As shown in FIG. 6, in some of the embodiments shown and described herein, calibration unit 30 is shown to form part of controller 8. However, as shown in FIG. 17, calibration unit 30 can advantageously be functionally and / or physically separated from and / or remote from controller 8 and can simply receive the necessary information from controller 8; calibration unit 30 can also be in a location different from controller 8 and robot arm 1. The relevant data for step S4 of FIG. 5 can be transmitted to a remote location for processing rather than being processed on-site. Calibration unit 30 is associated with embodiments of the present invention and represents means for providing additional functionality not provided by conventional controllers, namely, either additional functionality of the controller (e.g., providing the servo control described above when collecting measurement data) or additional functionality external to the controller (e.g., off-site processing of the collected measurement data).

[0068] A machine controller for controlling the operation of a robot (or other type of coordinate positioning machine) can be a dedicated electronic control system and / or can include a computer operating under the control of a computer program. For example, the machine controller can include a real-time processing controller for giving low-level commands to the coordinate positioning machine and a PC for operating the real-time processing controller. It can be understood that the operation of the coordinate positioning machine is controlled by a program operating on that machine and, in particular, by a program operating on a coordinate positioning machine controller such as controller 8. Such a program can be stored on a computer-readable medium or can be embodied in a signal such as a downloadable data signal provided, for example, from an Internet website. The appended claims are to be understood as covering the operating 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 with respect to a first part of a machine to which the tool is coupled, the method comprising: (a) values of the position and orientation of the first part of the machine with respect to a second part of the machine for each of a plurality of sensed states in which the feature is in a sensed position; and (b) information regarding where the sensed positions are relative to each other, wherein the offset is determined using the values and the information.

2. The method according to claim 1, wherein the information is obtained by measuring the sensed positions relative to each other.

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

4. The method according to claim 3, wherein the sensed positions are restricted relative to each other by moving the feature into a sensed relationship with a tool having a known structure supported by the second part.

5. The method according to any one of claims 1 to 4, wherein the tool is a measurement probe such as a touch probe.

6. The method according to claim 5, including detecting when the feature is in the sensed position using the measurement probe.

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

8. The method according to any one of claims 5 to 7 when dependent on claim 4, including detecting or determining that the feature is in the sensed position when the measurement probe is moved into a sensed relationship with the tool.

9. The method according to any one of claims 1 to 8, wherein the feature is a point of interest of the tool, such as a tool center point of the tool.

10. The method according to any one of claims 1 to 9, wherein the offset is determined using only the values of the position and orientation and the information regarding where the sensed positions are relative to each other.

11. The method according to any one of claims 1 to 10, wherein the machine comprises a plurality of joints or axes arranged in series between the first part and the second part, such as rotational and / or linear joints or axes.

12. The method according to any one of claims 1 to 11, wherein the machine is adapted to impart relative movement between the first part and the second part with a plurality of degrees of freedom.

13. The method according to any one of claims 1 to 12, wherein the first part is a movable part or a head part of the machine, and the second part is a fixed part or a base part of the machine.

14. The method according to any one of claims 1 to 13, wherein the position and orientation values are derived from a model such as a parametric model characterizing the structure of the machine.

15. The method according to any one of claims 1 to 14, wherein the offset is determined from the position and orientation values without knowing and / or referring to a model such as the structure of the machine or a parametric model characterizing the structure of the machine.

16. The method according to any one of claims 1 to 15, wherein the position and orientation values define the position and orientation of the first part relative to the second part without referring to the state and / or structure of any other part of the machine that may affect the position and orientation of the first part relative to the second part.

17. The method according to any one of claims 1 to 16, wherein the position and orientation values include the position and orientation values of the first part relative to the second part for each of the sensed states.

18. The method according to any one of claims 1 to 17, wherein the method does not include the step of deriving the position and orientation values from a model such as a parametric model characterizing the structure of the machine.

19. The method according to any one of claims 1 to 18, including receiving the position and orientation values from an external source such as a machine controller used to control the machine to move the first part relative to the second part to a plurality of different sensed states.

20. The method according to claim 19, including requesting the position and orientation values from the external source.

21. The method according to any one of claims 1 to 20, wherein the sensed states include a plurality of different orientations of the first part relative to the second part.

22. The method according to any one of claims 1 to 21, wherein the sensed state includes a plurality of different orientations of the first part with respect to the second part for at least one of the sensed positions of the feature.

23. The method according to any one of claims 1 to 22, wherein the sensed state includes at least three or at least four different orientations of the first part with respect to the second part for each of the sensed positions of the feature.

24. The method according to any one of claims 1 to 23, wherein the sensed state includes at least three or at least four different sensed positions of the feature.

25. The method according to any one of claims 1 to 24, including moving the first part to the sensed state based on the current estimation of the offset.

26. The method according to claim 25, including updating or optimizing the current estimated value of the offset using the position and orientation values to provide a correspondence closer to the relative limitation or measurement value.

27. The method according to any one of claims 1 to 26, including controlling the machine to move the first part to the plurality of different sensed states with respect to the second part.

28. The method according to any one of claims 1 to 27, including restricting the sensed positions relative to each other.

29. The method according to any one of claims 1 to 28, including measuring the sensed positions relative to each other.

30. The method according to any one of claims 1 to 29, wherein the machine is a non-orthogonal and / or serial kinematic and / or parallel kinematic coordinate positioning machine.

31. The method according to any one of claims 1 to 30, wherein the machine is a robotic arm.

32. A program that causes the processing unit to execute the method according to any one of claims 1 to 31 when executed by the processing unit.

33. A medium storing program instructions for causing the processing unit to execute the method according to any one of claims 1 to 31.

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

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

Citation Information

Patent Citations

  • Coordinate positioning machine

    WO2019162697A1

  • Coordinate positioning machine

    WO2021074625A1

  • Coordinate positioning arm

    WO2021116685A1