Coordinate positioning machine

The method addresses the complexity of calibrating non-orthogonal machines by using controlled contact to update model parameters, ensuring accurate tool positioning and machine performance through efficient calibration techniques.

JP2025525045APending Publication Date: 2025-08-01RENISHAW PLC
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Calibration of non-orthogonal coordinate positioning machines, such as articulated robots, is complex due to the cumulative positional errors from serially arranged rotational axes, making accurate characterization and calibration challenging.

Method used

A method involving controlled contact between reference surfaces of a tool and a tooling system to determine and update model parameters, using a sensor to measure distance intervals and adjust parameters to restore the calibrated state, focusing on the tool center point and tool frame parameters.

Benefits of technology

This method allows for rapid and cost-effective calibration of non-orthogonal machines by reducing the need for complete recalibration, ensuring accurate tool positioning and machine performance without requiring extensive recalibration procedures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025525045000001_ABST
    Figure 2025525045000001_ABST
Patent Text Reader

Abstract

A method for calibrating a coordinate positioning machine (1) having a first member (3) movable relative to a second member (2) is disclosed, the structure of the machine (1) being characterized by a set of model parameters. The machine (1) is controlled to make point contacts between a plurality of reference surfaces (23, 25) of a tool or appliance (20) attached to the first member (3) and a plurality of reference surfaces (15, 17) of an appliance (10) attached to the second member (2). The distance intervals between these contact surfaces (14, 16, 22, 24) predicted from the model parameters at that time are determined, and these distance intervals are recorded as a set of master distance intervals. Thereafter, the contact steps are repeated for at least some of the contacts for which the master distance intervals were recorded. At least one of the model parameters is updated to provide a closer correspondence between the predicted distance intervals and the master distance intervals.
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, but is not limited thereto, in particular, to a system for calibrating or characterizing at least some aspects of a coordinate positioning machine. 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, and the like. 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 exchanged, 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. The flange 3 may also be referred to as the "hand" of the robot arm 1.

[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 axes 6 and the inline rotation axes 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, enabling the tool 4 to be conveniently rotated around its longitudinal axis to form a total of seven rotation axes. Generally, the rotation axes of the robot do not necessarily have to be strictly orthogonal or strictly longitudinal axes and can be arranged at any desired angle.

[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 6-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, whereby the operation of the three rotation axes 6, 7 changes the orientation of the object attached to the wrist (in this case the gripper 4) without changing the center position of the wrist. Here, 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 arm 1 in FIGS. 1 and 2 is an example of a non-orthogonal coordinate positioning machine, 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 its 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 a machine is similar to a conventional three-axis orthogonal coordinate measuring machine, which is also an example of a "serial kinematic" coordinate measuring machine, and is in contrast to a "parallel kinematic" coordinate positioning machine such as a hexapod 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 a serial kinematic machine such as shown in FIGS. 1 and 2, due to the serial nature of the link mechanism, these errors are cumulative. This accumulation of positional error does not occur in the same sense in a parallel kinematic machine, 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 a multi-joint arm as shown in FIGS. 1 and 2, which has a plurality of 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 approximately 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, and thus 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 relevant 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.

[0010] Next, in the operation of calibrating the machine, various sets of machine parameter values that minimize the error are determined using known numerical optimization or error minimization techniques. Examples of such techniques include the well-known Levenberg-Marquardt method, which knows the derivative of the error in response to the optimization of each parameter and uses the least squares method to minimize the error. ("A Method for Solving Certain Nonlinear Problems in the Least Squares Method", Kenneth Levenberg, 1944, Quarterly of Applied Mathematics, 2:164-168, and "An Algorithm for the Least Squares Estimation of Nonlinear Parameters", Donald Marquardt, 1963, SIAM Journal on Applied Mathematics, 11(2):431-441). Other techniques are also possible, such as techniques based on the maximum likelihood approach.

[0011] In the case of a robot as shown in FIGS. 1 and 2, these mechanical parameters may include various geometric parameters such as the length of each segment 5, the rotation angle offsets of each rotary joint 6, 7 (the calibrated offset obtained by adding the actual angle to the angle from the encoder), and various mechanical parameters such as joint compliance and friction. The mechanical 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.

[0012] When properly calibrated, if all of these mechanical 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 mechanical parameters obtained from such calibration result in a more accurate characterization of the mechanical structure. These concepts related to the calibration of general coordinate positioning machines, particularly robotic arms, are discussed in more detail in Patent Document 2 and Patent Document 3.

[0013] However, the problems associated with the calibration of non-orthogonal machines as described above still remain, and it is desirable to find improved methods and systems for calibrating or characterizing such non-orthogonal coordinate positioning machines. Such methods and systems may also find more general applicability to other types of coordinate positioning machines.

Prior Art Documents

Patent Documents

[0014]

Patent Document 1

Patent Document 2

Patent Document 3

[0015] According to a first aspect of the present invention, there is provided a method of restoring or returning to a calibrated state (or characterized state) of a master (or reference) of a coordinate positioning machine (e.g., a robot) having a first member (e.g., a flange or a spindle or a moving platform) movable relative to a second member (e.g., a fixed platform). The structure of the machine is characterized by a set of model parameters. In step (a), the machine is controlled to (point) contact between a plurality of (different and / or separate) reference surfaces of a tool attached to the first member and a plurality of (different and / or separate) reference surfaces of a tooling attached to the second member. In step (b), a corresponding distance interval (between the contact surfaces) expected (or derived) from the current model parameters is determined, or it is known that the actual distance interval is zero, and at least a set of values of the distance interval representing and / or related to the expected distance interval is determined. The distance interval in this context can be regarded as the shortest distance between the contact surfaces. The values of these distance intervals may also be called error values. The values of these distance intervals (or errors) are recorded as a set of values of the distance intervals (or errors) of the master (or reference), or at least information from which the values of the distance intervals (or errors) can be derived is recorded. This can be regarded as representing and / or characterizing the calibrated state of the master (or reference). It should be noted that the distance interval can be defined based on any suitable criterion, regardless of whether it is a center-to-center (e.g., a spherical reference surface in contact with another reference surface), or an actual surface-to-surface distance, or any other value related to or dependent on the distance interval.

[0016] This set of distance intervals (or error values) of the master is then used to update (or recover) at least one of the model parameters. For example, it can be executed after a period of use during which some change can occur to one of the plurality of model parameters. For example, in step (c), step (a) can be repeated for the same or corresponding contacts, or at least some of those contacts, for which the distance intervals were recorded in step (b) (because more parameters can be recorded in the master than are used during recovery). In step (d), at least one of the model parameters can be updated (recovered) to result in something closer to the distance interval (or error) of the master (or reference) recorded in step (b). In other words, an updated set of model parameters can be determined that gives a closer value between the distance interval (or error) expected (or derived) from the updated model parameters and the previous master (or reference) distance interval (or error).

[0017] Thereby, such a method provides a convenient way to restore or return to, or at least approach, the calibration state of a previous master (or reference).

[0018] The method can also include identifying the position of the tool and / or some other parameters associated with the tool and / or machine.

[0019] At least one model parameter can be, or can include, the tool center point of the tool.

[0020] At least the nominal geometry model of the tool and / or appliance can be used in step (b) to determine or derive the distance interval.

[0021] The calibration state of the master as recorded or represented in step (b) can be a known good (or at least acceptable) calibration state of the machine, or a calibration state for which it is known that the manufacturing is good or at least acceptable.

[0022] Rather than performing step (a) again completely as a result of step (c), that is, for all the contacts for which the distance intervals were previously recorded in step (b), step (a) can be first performed for some of those contacts and the associated distance intervals. Step (a) can then be completed for the complete set of contacts, and proceed to step (d) and update at least one model parameter only if it is determined that the degree of variation or change of the associated distance intervals determined by the subsequent execution of step (a), compared to the master distance intervals previously recorded in step (b), exceeds a predetermined threshold or level.

[0023] The tool can have a defined and / or specifiable axis, for example, a longitudinal axis. The tool can be an elongated tool having a defined and / or specifiable axis, for example, a longitudinal axis.

[0024] The end face of the tool can be spherical at least where it contacts the appliance.

[0025] The side surface of the tool can be cylindrical at least where it contacts the appliance.

[0026] The side surface of the tool can be axisymmetric with respect to a single axis of rotation (a single rotating axis) and can be, for example, cylindrical or conical at least where it contacts the appliance.

[0027] The upper surface of the appliance can be planar at least where it contacts the tool.

[0028] The side surface of the appliance can be planar at least where it contacts the tool.

[0029] The method can include using at least a nominal geometric model representing the geometric shape of the tool and / or the appliance in step (b) and / or step (d).

[0030] The method may include using calibrated dimensional measurements of the tooling (e.g., from a coordinate measuring machine, separately and / or calibrated) in step (b) and / or step (d).

[0031] The reference surface of the tooling may be the measurement surface. The measurement surface may be considered, in this context, to be accurate in the metrological sense, e.g., planar or spherical within a given accuracy, and / or acceptable for use as a reference surface in the measurement method.

[0032] The method may include sensing the contact between the tool and the tooling using a sensor.

[0033] The sensor may be attached to the second member.

[0034] The sensor may be a contact sensor having a deflectable stylus and a contact member for contacting the object to be sensed.

[0035] The tooling may be used as the contact member of the contact sensor.

[0036] The sensor may be a touch probe or a tool setter.

[0037] The tooling may include a cubic shape defining a plurality of planar reference surfaces and a cylindrical shape defining a cylindrical reference surface.

[0038] The tool may include a plurality of cylindrical shapes defining corresponding cylindrical reference surfaces.

[0039] The tool may include a spherical shape defining a spherical reference surface.

[0040] Step (a) may include moving the first and second members relative to each other to bring a plurality of different pairs of reference surfaces into point contact with each other (in sequence).

[0041] The coordinate positioning machine may be operable to move a first member relative to a second member with six degrees of freedom in step (a).

[0042] At least one of the surfaces of the tool and / or implement may be a rotating surface. In this context, a rotating surface may be regarded as a surface that is rotationally symmetric or axially symmetric with respect to an axis of rotation or axis of symmetry, or with respect to an axis of curvature.

[0043] The rotating surface may have at least one axis of rotation (or axis of rotational symmetry), as in the case of a cylindrical surface for example.

[0044] The rotating surface may have at least two axes of rotation (for example, of two rotating surfaces), as in the case of a spherical surface for example.

[0045] Calibrating or characterizing the machine may include one or more of calibrating, verifying, specifying, and inspecting the performance of the machine.

[0046] The coordinate positioning machine may include a non-orthogonal machine and / or a parallel kinematic machine.

[0047] The coordinate positioning machine may be a serial kinematic machine. The coordinate positioning machine may be a multi-joint arm (for example, a robotic arm). The coordinate positioning machine may have a plurality of rotational actuators arranged in series.

[0048] The coordinate positioning machine may be a hexapod machine. The coordinate positioning machine may have six linear actuators arranged in parallel.

[0049] The first member may be a moving member of the machine, such as an end effector or a spindle or a flange of a robotic arm.

[0050] The second member may be a fixed member of the machine, such as a fixed platform or a fixed bed, or a base member of a serial kinematic machine such as a robotic arm.

[0051] The tool can be a calibration tool. The tool can be regarded as a calibration tool in this context if, for example, it is measured by a separate and / or calibrated coordinate measuring machine and / or if it is machined within predetermined and / or acceptable tolerances.

[0052] Step (d) can include determining new values or a plurality of new values for only some of the model parameters.

[0053] The model parameters can include a plurality of tool frame parameters (defining the tool frame). Step (d) can include updating at least three tool frame parameters. Step (d) can include updating three tool frame parameters that define the position of a point of interest of the tool frame, such as the tool center point. Step (d) can include updating five tool frame parameters that define the position and orientation of the axes of the tool frame. Step (d) can include updating six tool frame parameters that define the complete coordinate system of the tool frame.

[0054] According to a second aspect of the invention, there is provided a method of recovering a tool frame (e.g., a tool center point) of a tool attached to a coordinate positioning machine such as a robotic arm, including performing the method according to the first aspect of the invention, wherein step (e) includes recovering the tool frame (e.g., the tool center point) (one or more parameters thereof) from a previous calibrated state.

[0055] According to a third aspect of the invention, there is provided a computer program that, when executed by a computer or a machine controller, causes the computer or the machine controller to perform one or more steps of the method according to the first or second aspect of the invention.

[0056] According to a fourth aspect of the present invention, there is provided a computer-readable medium storing therein computer program instructions for controlling a computer or a machine controller to execute one or more steps of the method according to the first or second aspect of the present invention.

[0057] According to a fifth aspect of the present invention, there is provided a computer or a machine controller configured to execute one or more steps of the method according to the first or second aspect of the present invention.

[0058] According to a sixth aspect of the present invention, there is provided a system for calibrating or characterizing a coordinate positioning machine including means for executing one or more steps of the method according to the first or second aspect of the present invention, or a computer program according to the third aspect of the present invention, or a computer-readable medium according to the fourth aspect of the present invention, or a computer or a machine controller according to the fifth aspect of the present invention.

[0059] According to a seventh aspect of the present invention, there is provided a method for controlling a coordinate positioning machine calibrated or characterized using the method according to the first or second aspect of the present invention.

[0060] According to an eighth aspect of the present invention, there is provided a coordinate positioning machine calibrated or characterized using the method according to the first or second aspect of the present invention.

Brief Description of the Drawings

[0061] Here, by way of example, reference is made to the accompanying drawings. [Figure 1] FIG. 1 is a schematic view of a coordinate positioning arm holding a drilling drill in the form of an articulated robot described above. [Figure 2] FIG. 2 is a schematic view of an articulated robot having a different arrangement of rotational axes from that of FIG. 1 and holding a gripping tool, also described above. [Figure 3]It is a schematic diagram used to illustrate and explain the concepts of the tool center point and the tool frame in more detail. [Figure 4] Figure 4 schematically shows a robot that moves an attached tool so that the center point of the tool remains in the same position. [Figure 5] Figure 5 is a diagram used to explain an embodiment of the present invention. [Figure 6] Figure 6 is a diagram used to explain an embodiment of the present invention. [Figure 7] Figure 7 is a diagram used to explain an embodiment of the present invention. [Figure 8] Figure 8 is a schematic front view for conceptually explaining the master, subsequent, and recovery stages of a method of embodying the present invention for a representative one of the contact points created in the X direction. [Figure 9] Figure 9 is a schematic front view for conceptually explaining the master, subsequent, and recovery stages of a method of embodying the present invention for a representative one of the contact points created in the X direction. [Figure 10] Figure 10 is a schematic front view for conceptually explaining the master, subsequent, and recovery stages of a method of embodying the present invention for a representative one of the contact points created in the X direction. [Figure 11] Figure 11 corresponds to Figure 8, but is a schematic front view for a representative one of the contact points created in the Z direction. [Figure 12] Figure 12 is a schematic left view corresponding to Figures 8 and 11, but is a schematic left view for a representative one of the contact points created in the Y direction.

Embodiment for Carrying Out the Invention

[0062] FIG. 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 FIGS. 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.

[0063] 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 a tool frame (or tool coordinate system) 41, which will be described in more detail below. The tool center point 46 can correspond, for example, to 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 FIG. 1. Thus, the position of the tool center point 46 depends on the associated application.

[0064] 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 relative 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 relative to an arbitrary point 9 on the internally known and defined flange 3. And this arbitrary point does not necessarily correspond to the point where the elongated member or shaft 42 of the tool 40 is actually attached to the flange 3, as in the schematic example shown in FIG. 3. Therefore, 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.

[0065] 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 robotic arm of the type described above with reference to FIG. 2, the first three rotational axes of the robotic 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 main point of the working tool 40 relative to the flange 3 can be determined from the tool center point (TCP) information. By knowing and controlling these aspects in the robotic structure, the position of the working point 46 of the tool 40 can be controlled in a relatively straightforward manner.

[0066] Figure 4 schematically shows a robotic arm 1 instructed by a controller 8 to move a tool 40 such that the tool center point 46 of the tool 40 remains in the same position, or at least ideally remains in the same position. Such tests are typically performed to confirm that the tool center point 46 is correctly specified and are sometimes known as "tool orientation tests". 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 revealing the actual movement of the tool center point 46 when the test is being performed, the ability programmed into the controller 8 to rotate around the tool center point 46.

[0067] There are several methods for determining the absolute position of the TCP rather than simply specifying the position of the TCP as is done in a tool orientation test. The most common method currently is the pin-to-pin method where an operator visually aligns two pins in different orientations, one pin being fixed to the machine base and the other being movable by the robot to reference the TCP, with the robot being manually controlled by the operator at this time. This is a convenient method but is relatively inaccurate as it depends heavily on the skills and experience of the operator. Also, the tool 40 needs to be removed and replaced with the pins. Other known methods can be very costly to implement, such as methods that utilize non-contact measurement systems like camera-based systems, laser scanners, or methods that measure the robot tool with a touch probe. These methods are of the type that determine the values of the TCP coordinates as part of a complete calibration of the robot including the TCP offset.

[0068] Also, as shown in FIG. 3, a tool frame 41 is shown, and in this regard, it should be noted that the difference between the tool center point (TCP) 46 and the tool frame 41 should be clarified. The tool center point 46 is an important point of interest within the tool frame 41 (it is the origin of the tool frame 41 as described above), but it is defined by only three degrees of freedom (by a set of X, Y, and Z coordinates), and thus, by itself, it does not fully define the tool frame 41 (six degrees of freedom are required for a complete characterization). The method of embodying the present invention is related not only to the characterization (three degrees of freedom) of a specific point (such as TCP 46) of the tool frame 41, but also to the characterization (five degrees of freedom, i.e., position and orientation) of the axes of the tool frame 41, and further to the characterization (six degrees of freedom) of the complete coordinate system of the tool frame 41. For example, for the above-described spot welding application, only the position of the TCP is usually relevant (i.e., three degrees of freedom), but for arc welding and machining applications, the axis direction is also relevant (i.e., five degrees of freedom), while for assembly applications, a complete coordinate system (i.e., six degrees of freedom) will usually be required.

[0069] Also, the most standard procedure of a robot is to move the tool and fix the part, but it will also be understood that in all robot applications, the reverse configuration (i.e., the robot carries the part and moves it to the fixed tool) is also possible. As an example, when there are multiple operations to be performed on the same part, it may be preferable to have a single robot equipped with a gripper (as shown in FIG. 2, for example) and hold a plurality of tools prepared in front of the part and the robot.

[0070] Next, embodiments of the present invention will be described with reference to FIGS. 5 to 7.

[0071] A complete calibration routine as described above may be complex and time-consuming, especially when only some of the machine parameters are required, more specifically, when only determining the offset of the tool center point of the machine-supported tool is required.

[0072] The object of the present embodiment is to detect when the tool center point has changed (drifted) and to restore the correct tool center point so that the robot program does not require (or requires less) "correction". In this regard, when the robot arm is inaccurate due to incorrect settings of the part frame and the tool frame, the robot program does not drive the robot tool to the correct position relative to the part. Furthermore, the operator needs to update the target positions recorded in the robot program. This process is called "correction" in the robotics industry. By better setting the part position and the tool position, the robot becomes more accurate, and thus the relative part / tool position becomes more accurate, reducing the need for correction, or the need for "correction" is reduced. When the machine is changed in some way, for example, when the tool frame changes, "correction" is also required.

[0073] An exemplary setup is shown in FIG. 5, where a touch probe fixture 30, such as a Renishaw RTS or TS27, has a multi-sided stylus fixture 10 attached thereto. The stylus fixture 10 of FIG. 5 includes a cube feature 12 having a plurality of at least partially planar faces 14 (four side faces and an upper face), and various known geometric features such as at least partially cylindrical surfaces 16. The stylus 10 can also have at least a partial spherical surface (although this example does not).

[0074] The multi-sided stylus fixture 10, the features of which are also apparent from FIGS. 6 and 7, has various measurement surfaces or reference surfaces (i.e., the planar surface 14 and the cylindrical surface 16) that can be independently measured by a calibrated CMM. This procedure involves the stylus fixture 10 being fixedly attached to the fixed platform 2 of the CMM, and the measurement probe 50 (having a stylus tip 52) being moved by the CMM relative to the fixed platform 2 (and the attached stylus fixture 10) to perform dimensional measurements of the various geometric features 14, 16 of the stylus fixture 10, as shown in FIG. 6.

[0075] The method according to this embodiment involves bringing different features of the multi-faceted stylus tool 10 into contact with different parts or surfaces of the tool 20 moved by the robotic arm 1, as represented by the dashed arrows in FIG. 7 (this shows an example of points on different surfaces that come together, i.e., at a zero distance interval between them). For example, point coordinate data regarding the contact between the spherical tip 22 of the tool 20 and the planar surface 14 of the stylus tool 10, as well as point coordinate data regarding the contact between the cylindrical feature 16 of the stylus tool 10 and one or more cylindrical features 24 of the tool 20 can be collected.

[0076] The distance between the elements is also recorded. In this regard, there is a nominal geometric model representing the geometries of both the tool 20 and the stylus tool 10. When the surface of the tool 20 contacts the surface of the stylus tool 10, the robot 1 provides the position of the tool 20. By knowing the position of the stylus tool 10, the relative positions of these surfaces can be confirmed and the face-to-face distance can be estimated.

[0077] The method of this embodiment is different from the known method where only a single reference feature of the probe stylus contacts the robotic tool, or a single feature of the robotic tool contacts a single reference feature of the probe stylus. An example of such a known method is probing with a sphere (e.g., the stylus tip of a contact probe). The change in the TCP position of the robotic tool can be large, and when probing with a sphere, the change induces significant variations in the normal of the contact point. Thus, with the known method, it is impossible to compare individual contact errors without measuring the entire object.

[0078] In this embodiment, by using various planar or cylindrical features, this influence is reduced, and it becomes possible to inspect the change in the TCP position with only three contacts. This results in a very rapid inspection of the TCP position. If a TCP variation greater than the required accuracy (or some other predetermined threshold) is detected, further points can be explored to calculate a five-degree-of-freedom transformation to update the TCP. For example, when the tool 20 is slightly displaced from its proper position, or due to thermal expansion and / or contraction of various parts of the robot 1 described above with reference to FIGS. 1 and 2, or when the robot tool is replaced with a new one, the TCP may change over time. As described above, the model parameters that define the tool frame are not only the tool center point defined by three degrees of freedom. For example, the position and orientation of the tool frame axis (defined by five degrees of freedom) are also important and can vary over time. Any number of model parameters of the tool frame may similarly vary, and as in the case where the method of implementing the present invention is applicable to updating not only the simple tool center point, benefits can be obtained by being updated.

[0079] In this embodiment of the present invention, the following steps are executed.

[0080] (a) First, register the stylus tool 10 to a known good TCP (i.e., a TCP known to be a reasonable estimate of the true TCP), and record the feature-to-feature distance.

[0081] (b) To inspect the variation of the TCP, select at least three feature-to-feature distances, explore and collect the variation of the distances. If the variation is too large (e.g., exceeds a predetermined threshold): (c) Make further contacts to collect a total of at least five distance variations.

[0082] (d) Calculate a five-degree-of-freedom transformation to update the TCP position in order to recover the initially registered feature-to-feature distance.

[0083] After step (d), the TCP configuration is repaired or restored, and the TCP operates exactly as it did before the change (i.e., Robot 1 positions Tool 20 in exactly the same way as before the change). In other words, this aspect of the calibration has been returned to its previous state, i.e., the known good state registered in step (a).

[0084] The feature-to-feature distance can also be regarded as an error or error value (or be referred to as an error or error value). This is because when two reference planes are in contact with each other, it is known that the actual feature-to-feature distance is zero (it is known that the relevant surfaces are in contact, and thus it is known that the distance interval or distance between them is zero). However, since the calibration (as defined by the model parameters) is of course not ideal or perfect, the distance interval derived from the joint angles (encoder readings) and based on the current calibration (i.e., the current set of model parameters that characterize the structure of the machine) may of course not be zero.

[0085] By recording or registering the current set of distance intervals (or errors) in step (a) for a state of the machine known to result in good (or at least acceptable) performance, it becomes possible to repeat the multi-surface contact procedure later to determine the same or corresponding distance intervals, and to apply a transformation to return the calibration (at least with respect to one aspect of the calibration, i.e., TCP) to its previous state (which is known to be in a good / acceptable state). This TCP update or recovery procedure is faster than performing a complete calibration procedure to determine the TCP from zero. It will be understood that a similar procedure can be applied to aspects of calibration other than TCP (model parameters).

[0086] The method according to this embodiment differs from known methods at least in the following respects.

[0087] (i) This method includes aligning a plurality of tool surfaces with a plurality of reference surfaces.

[0088] (ii) The update transformation is determined only to restore the previous TCP behavior. Thus, the correction points are still valid, but the absolute (complete) calibration may destroy the correction points.

[0089] The registration in the above part (i) is also called the master stage in this specification, and part (ii) is also called the recovery stage in this specification. As described above (and further described below), part (i) includes storing the feature-to-feature distance (also referred to as error or distance interval in this specification), and part (ii) includes finding a new set of model parameter values that recover to the same error as before. Thus, it has been found that after recovery, the tool is placed in exactly the same position as before the change.

[0090] In this regard, when the robot builder (or installer) is setting up the robot cell, it should be considered that the robot is not perfect and the setting of the tool and the part frame is not particularly accurate. To provide good performance in manufacturing, the builder needs to spend time correcting for all poses. The master and recovery principles include considering that after the builder has done the work, the model is not accurate even though the job has been executed correctly. After a change to the machine (e.g., due to a change, accident, maintenance, etc.), the goal is for the robot to place the tool in the same position relative to the part as before. The goal is not to find the exact set of such model parameters, but rather to find the set of model parameters that achieve the same position as before.

[0091] The method according to an embodiment of the present invention provides a lower-cost solution than using a non-contact tool setter, provides a rapid in-operation TCP inspection, and is advantageous because the trigger is robust and highly reliable compared to optical technologies. Referring to the above discussion regarding the distinction between the tool center point and the tool frame, the method embodying the present invention is applicable not only to the inspection and recovery of the tool center point (three degrees of freedom), but also to any number of tool frame parameters that define the tool frame, for example, the inspection and recovery of the axes of the tool frame (five degrees of freedom, i.e., position and orientation), or the inspection and recovery of the complete coordinate system of the tool frame (six degrees of freedom).

[0092] Next, with reference to the schematic diagrams shown in FIGS. 8 to 12, a method according to an embodiment of the present invention will be described in more detail. This description is intended to provide an alternative way of explaining the same method as described above by adding a description of the figures to assist in understanding the concepts underlying the embodiments of the present invention as already described above.

[0093] Starting with FIGS. 8, 9, and 10, these are schematic front views showing, for a representative one of a plurality of contact points made between the reference plane of the stylus tool 10 and the reference plane of the tool 20, each of the master, subsequent, and recovery stages of the method of embodying the present invention, respectively. For the sake of brevity in the illustration, these figures show only what occurs in the X direction.

[0094] In the master stage as shown in FIG. 8, the spherical tip 22 of the tool 20 is moved (in the X direction) to contact one of the side planes 14 of the stylus tool 10, and this contact is sensed by the contact tool setter 30. Accordingly, it is known that the actual distance interval between the reference planes in this state (i.e., the shortest distance between the two reference planes) is zero because the surfaces are in direct contact with each other. However, based on the model parameters at that time, contact between the reference planes is not expected. Instead, the tip 22 is expected to be separated from the surface 14 by a non-zero distance interval e m only (this is the actual distance interval a that is known to be zero)m Since it is a deviation or error from , it may also be referred to as an error value). The predicted position of the tool 20 (i.e., the position that the machine considers the tool 20 to be based on the then set of model parameters) is shown in FIG. 8 by a dashed copy of the tool 20, and the X component of the tool center point is TCP[X] M as represented in FIG. 8. Of course, the offset TCP[X] M is exaggerated for the purpose of this schematic and is actually small. The distance interval value e m is derived from the then model parameters and geometric model of the stylus tool 10 and the tool 20, and in this embodiment, it is the distance between the reference surfaces in the direction perpendicular to the tangent contact surface between the two surfaces (i.e., perpendicular to the surface of the stylus tool 10 where the contact occurs), which is the shortest distance between the two surfaces. The distance interval e m at the master is recorded for use in a subsequent recovery stage.

[0095] In this regard, after the machine has been used for some time, the tool center point may move from the position when the distance interval value e m of the master was recorded. Therefore, sometimes a recovery procedure may be performed, and the first step of which is shown in FIG. 9. As shown in FIG. 9, the tool 20 is collided with unnoticed during use, and at that time the spherical tip 22 moves to one side in the X direction and is attached to the flange 3 at an angle. Since the same TCP[X] M is still being used, the spherical tip 22 is further away from the position predicted based on the then model parameters. Therefore, in the first step of the recovery procedure as shown in FIG. 9, the contact procedure of FIG. 8 is performed again so that the spherical tip 22 of the tool 20 contacts the same reference surface 14 of the stylus tool 10 at the same position as before (in the X direction), and the value of the distance interval (or error) is derived again. As shown in FIG. 9, the error value e s derived at this time is different from the previously recorded error value e m of the master.

[0096] As a result, in the recovery stage shown in FIG. 10, the distance interval or error value e of the master (or reference) previously recorded in the master stage of FIG. 8 m is matched or at least corresponds as a closer value, and a new value of TCP in the X direction that provides the distance interval or error value e r is determined. This is represented in FIG. 10 as compensation applied to reduce the TCP value in the X direction from TCP[X] M to TCP[X] R (after the recovery stage). As a result, the previous TCP state is restored.

[0097] FIG. 11 corresponds to FIG. 8 and is a schematic front view of representative contact points made in the Z direction, and FIG. 12 corresponds to FIGS. 8 and 11 and is a schematic left side view of representative contact points made in the Y direction. These show how to contact between multiple reference planes in the master stage to record a set of distance interval values or error values for use in subsequent TCP recovery procedures and return the TCP to a known previous state. It will be understood that the contact points shown in FIGS. 8, 11, and 12 (in the X, Z, and Y directions respectively) are not the only contact points made between the various reference planes available in the master stage. In this regard, these illustrations are in fact schematic and are simplified to illustrate the general principles involved in the implementation of the method of embodying the present invention, and it will be readily understood how these general principles can be applied to a complete three-dimensional situation with more degrees of freedom.

[0098] Referring back to FIG. 8, the non-zero distance interval (or error) e determined in the master stage m is understood to be the result of many imperfect model parameters and not only associated with the tool center point (or generally the tool frame). Therefore, the deviation shown in FIG. 8 between the actual position (solid line contour) of the tool 20 and the expected position (dashed line contour) of the tool 20 is TCP[X] mNot only due to the incomplete values, but other model parameters (e.g., in the case of various rotary joints 6, 7) predict that the flange 3 is exactly at the position where it actually is, as schematically shown in FIG. 8. However, it should be recalled that the variation in the distance interval between the master and the recovery (from e in FIG. 8 m to e in FIG. 9 s up to) is due only to the change of the machine. In this example, since only the tool 20 is abutted, the only change between the master and the recovery occurs in the tool frame. Therefore, for the purpose of this illustration, not the absolute value of TCP, but only the relative compensation applied to TCP in FIG. 10 (to compensate for the change shown in FIG. 9) is relevant. Therefore, TCP[X] m in these figures can be regarded as a representative TCP rather than the actual TCP, and the same applies to TCP[Z] m and TCP[X] m in FIGS. 11 and 12.

[0099] The recovery of TCP can be understood to be related to a situation where, for example, the tool 20 deviates from its position during use. However, the present invention can also be applied to recover model parameters other than those related only to the tool center point (or more generally the tool frame), such as those related to the joint offset related to the rotary joints of the robot arm 1. In practice, it is to know what changes the model parameters recovered by the procedure may face, and adapt the measurement strategy accordingly, but the same principle as described above applies.

[0100] As described above, a general approach of embodiments of the present invention is to perform calibration of the master when manufacturing is accurate. A set of measured values of the master is stored, and some specified sensor parameters such as the position of the reference tool are probably stored. At the time of recovery, the same measurement routine as that of the master is executed again, and a new set of model parameters that reproduce (or at least reproduce with a closer value) the master measurement values is found. At the master stage, a limited set of sensor parameters can be specified, and the residual error of the measured values is stored. At the recovery stage, some sensor parameters are specified again, and updated model parameters are determined to calculate the same residual error in the master. In this regard, since optimization is performed to find the position of the tool, the value itself of the distance interval (or error) can be regarded as the residual error of the optimization.

[0101] It will be understood that in order to make point contact between two surfaces, the contact needs to be "curved to curved" or "curved to flat / plane", rather than concave (curving inward), and in particular, it should not be "flat / plane to flat / plane" (although plane-to-plane contact is possible in some situations, it brings additional requirements in terms of setting and adjustment). However, even when one or both surfaces are curved, care should be taken to ensure that the two surfaces conform to each other (and are arranged relative to each other when contact is made) so as not to create multiple contact points, such as along a line that occurs when two parallel cylinders contact along their respective sides or when a cylinder side contacts a plane. In the case of two cylindrical surfaces, these can be used to generate an appropriate point contact between them as long as they are arranged non-parallel when they contact. In the case of a curved surface contacting a plane, the curved surface needs to be doubly curved (like a sphere). These are just a few examples, and those skilled in the art will understand what characteristics the surfaces need to have to achieve point contact between them.

[0102] Since it is uncertain which of the plurality of points is actually creating the constraint between the two contact members, creating a plurality of point contacts between the surfaces (or the possibility thereof occurring) is considered undesirable. However, it will also be understood that the contact points in the context of the embodiments of the present invention need not be (and in fact are not) mathematical points in the purest sense. Instead, in practice, a point is typically a small area approximating a point. Accordingly, the term "point contact" as used herein should be construed to include within its scope point-like contacts as actually occurring.

[0103] In the context of the present invention, a tool or implement can be considered to have multiple reference planes if the tool or implement has at least one other reference plane that is geometrically different from and / or another at least one reference plane. For example, even if the two reference planes merge continuously with each other (even if there is no distinct or prominent joint between them), the tool or implement can be considered to have multiple reference planes. Two reference planes can be considered different from and / or another from each other in the context of the present invention if they have (or are defined by) different and / or another respective geometric properties. For example, the opposite sides of the same spherical surface are defined by the same center and radius / diameter, so in this context, they are not considered to provide multiple (different and / or another) reference planes. On the other hand, a cylinder and a sphere (or another type of convex curved surface) at the end of a cylinder are considered to provide multiple (different and / or another) reference planes because these two parts have different and / or another respective geometric properties. The same applies to the flat upper surface and the curved side surface of an implement that have different and / or another respective geometric properties. Two cylinders having different respective diameters are considered to provide multiple (different and / or another) reference planes even if they are coaxial, i.e., arranged along the same axis, because the diameter is considered a geometric property of the cylinder. Thus, it will also be understood that a stylus of a standard contact probe is considered in this context to have only one reference plane, or at least one reference plane that is the spherical surface of the stylus tip used to contact the workpiece.

[0104] Calibration data collected during the execution of the method can be regarded as reflecting or representing the (recordable) state of the machine for each rotational position of the rotational movement (or, if not for each rotational position, based on some other sampling rate). This type of information (which forms part of the calibration data) is also referred to herein as machine coordinates and, in this context, is intended to mean a set of coordinates or values representing the state of the machine in a particular posture (e.g., the encoder readings of each joint). In this regard, the various physical axes of movement of the machine, such as the telescopic legs of a hexapod machine or the linear axes defined by the axes of rotation of a multi-joint robotic arm, can be considered for the purpose of defining the term machine coordinate system and thus machine coordinates herein.

[0105] It will be understood that the present invention is applicable not only to the calibration of machines, but also to the verification, identification, or performance testing of machines. Terms used herein such as calibration method, calibration tool, calibration member, calibration data, calibration point, etc. should be interpreted in a broad sense according to the intended use and should not be limited to calibration itself. In other words, the concepts described herein are applicable not only to the update (calibration) of model parameters, but also to the inspection or verification (verification or identification) of model parameters. Therefore, these terms should be understood in the context of calibrating or otherwise characterizing a machine. As an example, the term calibration tool includes gauge tools within its scope. The terms target point, target tool, and target member can be used instead of calibration point, calibration tool, and calibration member, respectively.

[0106] The machine controller for controlling the operation of the 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 comprise a real-time processing controller for giving low-level instructions 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 by a signal such as, for example, a downloadable data signal provided 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 restoring the calibration state of a master of a coordinate positioning machine having a first member movable relative to a second member, the structure of the machine being characterized by a set of model parameters, the method comprising: (a) controlling the machine to bring about point contact between a plurality of reference surfaces of a tool attached to the first member and a plurality of reference surfaces of a tooling attached to the second member; (b) determining the distance intervals between the contact surfaces as predicted from the model parameters at that time and recording the distance intervals as a set of values of the master distance intervals; (c) subsequently, in step (b), repeating step (a) at least for the contacts for which the corresponding master distance intervals have been recorded; and (d) updating at least one of the model parameters to give a closer one to the master distance intervals previously recorded in step (b).

2. The method according to claim 1, wherein at least one of the model parameters is the tool center point of the tool or includes the tool center point of the tool.

3. The method according to claim 1 or 2, wherein at least a nominal geometry model of the tool and / or the tooling is used in step (b) to determine or derive the distance intervals.

4. The method according to any one of claims 1 to 3, wherein the calibration state of the master is a known good calibration state of the machine.

5. For all the contacts for which the corresponding master distance intervals have been previously recorded in step (b), before repeating step (a) completely, step (a) is first carried out for a part of those contacts and only if the degree of variation of the predicted associated distance intervals is considered to exceed a predetermined threshold, then step (a) is continued for all those contacts. The method according to any one of claims 1 to 4.

6. The method according to any one of claims 1 to 5, wherein the tool has a defined and / or specifiable axis.

7. The method according to any one of claims 1 to 6, wherein the end face of the tool is spherical at least where it contacts the tooling.

8. The method according to any one of claims 1 to 7, wherein the side face of the tool is cylindrical at least where it contacts the tooling.

9. The method according to any one of claims 1 to 8, wherein the upper surface of the tooling is planar at least where it contacts the tool.

10. The method according to any one of claims 1 to 9, wherein the side surface of the tool is a flat surface at least where it contacts the tool.

11. The method according to any one of claims 1 to 10, comprising using at least a nominal geometric model representing the geometric shape of the tool and / or the tool in step (b) and / or step (d).

12. The method according to any one of claims 1 to 11, comprising using calibrated dimensional measurements of the tool in step (b) and / or step (d).

13. The method according to any one of claims 1 to 12, wherein the reference plane of the tool is a measurement plane.

14. The method according to any one of claims 1 to 13, comprising sensing the contact between the tool and the tool using a sensor.

15. The method according to claim 14, wherein the sensor is attached to a second member.

16. The method according to claim 14 or 15, wherein the sensor is a contact sensor having a deflectable stylus and a contact member for contacting the object to be sensed.

17. The method according to claim 16, wherein the tool is used as the contact member of the contact sensor.

18. The method according to any one of claims 14 to 17, wherein the sensor is a contact probe or a tool setter.

19. The method according to any one of claims 1 to 18, wherein the tool includes a plurality of flat reference planes and a cylindrical reference plane.

20. The method according to any one of claims 1 to 19, wherein the tool includes a plurality of cylindrical reference planes.

21. The method according to any one of claims 1 to 20, wherein the tool includes a spherical reference plane.

22. Step (a) includes moving the first member and the second member relative to each other to bring a plurality of different pairs of reference planes into point contact with each other, according to the method of any one of claims 1 to 21.

23. The coordinate positioning machine is operable to move the first member relative to the second member with six degrees of freedom in step (a), according to the method of any one of claims 1 to 22.

24. At least one of the surfaces of the tool and / or the tool is a rotating surface, according to the method of any one of claims 1 to 23.

25. The method according to claim 24, wherein the rotating surface has at least one axis of rotation.

26. The method according to claim 24 or 25, wherein the rotating surface has at least two rotation axes.

27. Calibrating or characterizing a machine includes one or more of calibrating, verifying, specifying, and inspecting the performance of the machine, according to any one of claims 1 to 26.

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

29. The method according to any one of claims 1 to 28, wherein the coordinate positioning machine is a multi-joint arm.

30. The method according to any one of claims 1 to 29, wherein the coordinate positioning machine is a hexapod machine.

31. The method according to any one of claims 1 to 30, wherein the first member is a moving member of the machine, such as an end effector or a spindle or a flange of a robotic arm.

32. The method according to any one of claims 1 to 31, wherein the second member is a fixed member of the machine, such as a fixed platform or a fixed bed.

33. The method according to any one of claims 1 to 32, wherein the tool is a calibration tool.

34. The method according to any one of claims 1 to 33, wherein step (d) includes determining new value or values for only some of the model parameters.

35. A method for recovering the tool center point of a tool attached to a coordinate positioning machine such as a robotic arm, including performing the method according to any one of claims 1 to 34, and step (e) includes recovering the tool center point from a previous calibration state.

36. A computer program that, when executed by a computer or a machine controller, causes the computer or the machine controller to execute one or more steps of the method according to any one of claims 1 to 35.

37. A computer-readable medium storing therein computer program instructions for controlling a computer or a machine controller to execute one or more steps of the method according to any one of claims 1 to 35.

38. A computer or a machine controller configured to execute one or more steps of the method according to any one of claims 1 to 35.

39. A system for calibrating or characterizing a coordinate positioning machine comprising means for performing one or more steps of the method according to any one of claims 1 to 35, or the computer program according to claim 36, or the computer-readable medium according to claim 37, or the computer or machine controller according to claim 38.

40. A method for controlling a coordinate positioning machine calibrated or characterized using the method according to any one of claims 1 to 35.

41. A coordinate positioning machine calibrated or characterized using the method according to any one of claims 1 to 35.

Citation Information

Patent Citations

  • Coordinate positioning machine

    WO2019162697A1

  • Coordinate positioning machine

    WO2021074625A1

  • Coordinate positioning arm

    WO2021116685A1