Coordinate positioning machine
By controlling point contact between the tool and multiple reference surfaces of the product on the non-Cartesian coordinate positioning machine, recording and updating model parameters, the problem of calibration complexity and time-consuming of non-Cartesian machine is solved, and the main calibration state is quickly restored and the accuracy of the robot program is improved.
Patent Information
- Application Number
- CN202380069522.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-28
- Filing Date
- 2023-07-28
- Publication Date
- 2025-05-06
AI Technical Summary
The calibration of non-Cartesian coordinate positioning machines is a major challenge, especially for articulated robot arms with multiple rotation axes, as the tandem arrangement and complex combination of their rotation axes lead to accumulation of position errors and the calibration process is complex and time-consuming.
By controlling the coordinate positioning machine, point contact between the multiple reference surfaces of the tool and the multiple reference surfaces of the article, the main interval value between the contact surfaces is determined and recorded, and the model parameters are updated to restore or return to the main calibration state.
Provides a method to quickly recover or return to an earlier master calibration state, reducing the complexity and time-consuming of the calibration process and improving the accuracy and stability of the robot program.
Smart Images

Figure CN119947862A_ABST
Abstract
Description
[0001] The present invention relates to a coordinate positioning machine. The present invention particularly, but not exclusively, relates to a system for calibrating or otherwise characterizing at least some aspects of a coordinate positioning machine. The present invention is particularly applicable to coordinate positioning machines of non-Cartesian type, such as hexapod measuring arms or articulated robots, for example.
[0002] Articulated robots are commonly used in a wide variety of manufacturing applications, such as assembly, welding, gluing, painting, pick and place (e.g. for printed circuit boards), packaging and labeling, palletizing, and product inspection. Articulated robots benefit from versatility and ruggedness, with a large reach and high mobility, making them ideal for use in production environments.
[0003] In the attached figure Figure 1 An articulated robot (or just “robot” for short) is schematically shown in FIG. , which comprises an articulated robot arm 1 extending from a fixed base 2 to a movable flange 3 , wherein the flange 3 supports a tool (or end effector) 4 . Figure 1 The tool 4 in is a drilling tool. Typically, the flange 3 is provided with a coupling that allows the tool 4 to be easily interchangeable, so that various tools or end effectors can be adopted depending on the relevant application; examples include grippers, vacuum suction cups, cutting tools (including mechanical cutting tools and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools and other special tools. More generally, the flange 3 can also be referred to as the "head" of the robot arm 1, wherein the fixed base 2 is the "base", and wherein the robot arm 1 is controlled by commands from the machine controller 8 to move the head relative to the base. The flange 3 is sometimes also referred to as the "hand" of the robot arm 1.
[0004] The arm 1 comprises a plurality of segments 5 connected by a mixture of transverse axes of rotation 6 and inline (or longitudinal) axes of rotation 7, forming a mechanical linkage from one end to the other. Figure 1 In the example shown, there are three transverse rotation axes 6 and three in-line rotation axes 7, forming a total of six rotation axes, alternating between transverse rotation axes 6 and in-line rotation axes 7. It is also possible to provide an additional in-line rotation axis 7 between the last transverse rotation axis 6 and the flange 3 ( Figure 1 ), to facilitate the tool 4 to rotate around its longitudinal axis, thereby forming a total of seven rotation axes. Generally, the rotation axes of the robot do not need to be precisely orthogonal or precisely longitudinal, but can be arranged at any desired angle.
[0005] Figure 2 Another common arrangement is shown in the arm 1 of FIG. 1 , which includes the additional in-line rotation axis 7 mentioned above between the last transverse rotation axis 6 and the flange 3 and also omits the Figure 1The second in-line rotation axis 7 in the head end (in series order from the base end to the head end) forms a total of six rotation axes. Figure 2 The tool 4 in is a gripper. Figure 2 The arm 1 is a schematic representation of the well-known IRB 140 six-axis industrial robot from ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, with the center of the wrist located at the center of the last lateral rotation axis 6. The center of the wrist is invariant to rotation of the three rotation axes 6, 7 of the wrist, so that operation of the three rotation axes 6, 7 changes the orientation of anything attached to the wrist (in this case the gripper 4), but does not change the position of the center of the wrist, where the first three rotation axes 6, 7 of the robot arm 1 determine the position of the center of the wrist. The wrist can be easily detached from the rest of the arm 1.
[0006] Figure 1 and Figure 2 The articulated robot arm 1 is an example of a non-Cartesian coordinate positioning machine because it is different from conventional three-axis (X, Y, Z) coordinate measuring machines (see, for example, PCT / GB 2020 / 052593 Figure 1 ) whose axes are not arranged orthogonally according to the Cartesian coordinate system. Figure 1 and Figure 2 The arms 1 are also examples of "serial kinematic" coordinate positioning machines, as the moving axes of the arms are arranged in series. In this sense, the machine is similar to a conventional three-axis Cartesian coordinate measuring machine, which is also an example of a "serial kinematic" coordinate measuring machine, and which is to be contrasted with "parallel kinematic" coordinate positioning machines such as hexapods (whose moving axes are instead arranged in parallel).
[0007] Each joint or axis in a coordinate positioning machine contributes to position error or uncertainty. Figure 1 and Figure 2 In the series kinematic machine shown, these errors accumulate due to the series nature of the linkage. While this accumulation of position errors does not occur in the same sense with parallel kinematic machines, it is important to calibrate the machine in order to map out these errors or uncertainties, regardless of the machine type.
[0008] Calibration of any type of non-Cartesian machine is a major challenge and is particularly important for e.g. Figure 1 and Figure 2This is particularly true for the articulated arms shown, which have multiple axes of rotation that: (a) are arranged in series; (b) are not fixed relative to each other; and (c) can be combined in complex ways to position the tool in the work volume. Calibration of Cartesian machines is generally more straightforward because such machines have three well-defined axes that are fixed relative to each other in an orthogonal arrangement, each axis being largely independent of the others. For an articulated robot, the position and orientation of each axis depends on the position and orientation of every other axis, so that the calibration will be different for each different machine pose.
[0009] A common goal of many calibration techniques is to specify a parametric model of the machine in question, where the geometry of the machine is characterized using a set of model parameters (also called machine parameters). These parameters are initially assigned uncalibrated values as a starting point for the machine geometry. During calibration, the machine is moved to a number of different poses (based on current estimates of the machine parameters). For each pose, the actual pose is measured using a calibrated measurement device, so that an indication of the error between the assumed machine pose and the actual machine pose can be determined.
[0010] The task of calibrating the machine then amounts to determining, using known numerical optimization or error minimization techniques, a set of values for the various machine parameters that minimize the errors. An example of such a technique is the well-known Levenberg-Marquardt algorithm, which uses a least squares criterion to minimize the errors given the derivatives of the errors with respect to each optimization parameter ("A Method for the Solution of Certain Non-Linear Problems in Least Squares", Kenneth Levenberg, 1944, Quarterly of Applied Mathematics, 2:164-168; and "An Algorithm for Least-Squares Estimation of Nonlinear Parameters", Donald Marquardt, 1963, SIAM Journal on Applied Mathematics, 11(2):431-441). Other techniques are possible, including those based on maximum likelihood methods.
[0011] For Figure 1 and Figure 2For the robot arm shown, these machine parameters may include various geometric parameters such as the length of each segment 5 and the rotational angle offset of each rotation axis or joint 6, 7 (the angle from the encoder plus the calibration offset that gives the actual angle), as well as various mechanical parameters such as joint compliance and friction. Machine parameters may also include the working point of the tool (e.g. Figure 1 The end of the drilling tool 4) is the offset coordinate of the head or flange 3. In this regard, the offset of the working point (or tool center point) is important information, which will be discussed in more detail below.
[0012] When calibrated correctly, with all these machine parameters known, it is possible to predict with greater certainty where the working point (or tool center point) of the tool 4 will actually be when the controller 8 commands the various axes or joints 6, 7 to move to different respective positions. In other words, the machine parameters resulting from such calibration provide a more accurate characterization of the machine geometry. These concepts (generally relating to calibration of coordinate positioning machines and in particular calibration of robotic arms) are explored in more detail in WO 2019 / 162697 A1 and WO 2021 / 116685 A1.
[0013] However, there are still challenges associated with calibrating non-Cartesian machines such as those described above, and it is desirable to find improved methods and systems for calibrating or otherwise characterizing such non-Cartesian coordinate positioning machines.Such methods and systems may also find more general applicability to other types of coordinate positioning machines.
[0014] According to a first aspect of the invention, there is provided a method for recovering or returning to a master (or reference) calibration state (or characterization state) of a coordinate positioning machine (e.g. a robot) having a first member (e.g. a flange or a spindle or a mobile platform) movable relative to a second member (e.g. a fixed platform). The geometry of the machine is characterized by a set of model parameters. In step (a), the machine is controlled to make (point) contact between a plurality of (different and / or distinct) reference surfaces of a tool mounted on the first member and a plurality of (different and / or distinct) reference surfaces of an article mounted on the second member. In step (b), a corresponding interval (between the contacting surfaces) that would be expected (or derived) from the current model parameters is determined, or in the case where the actual interval is known to be zero, at least a set of interval values representing the expected interval and / or related to the expected interval is determined. In this context, the interval can be considered to be the shortest distance between the contacting surfaces. These interval values can also be referred to as error values. These interval (or error) values are recorded as a set of master (or reference) interval (or error) values, or at least information from which the interval (or error) values can be derived is recorded. This may be considered to represent and / or characterize a master (or reference) calibration state. It should be noted that in this context, the spacing may be defined on any suitable basis, whether center-to-center (e.g., center-to-center of a spherical reference surface in contact with another reference surface) or actual surface-to-surface distance, or any other value related to or dependent on the spacing.
[0015] This set of master intervals (or error values) is then used to update (or restore) at least one of the model parameters. For example, in step (c), which may be performed, for example, after a period of use in which some drift may have occurred in one or more of the model parameters, step (a) may be repeated with respect to the same or corresponding contacts for which the intervals were recorded in step (b), or at least with respect to a subset of these contacts (since more parameters may be recorded at master than are used at restore). In step (d), at least one of these model parameters may be updated (restored) to provide a closer correspondence with the master (or reference) intervals (or errors) recorded in step (b). In other words, an updated set of model parameters may be determined that will give a closer correspondence between the intervals (or errors) expected (or derived) from the updated model parameters and the earlier master (or reference) intervals (or errors).
[0016] Thus, this approach provides a convenient way of restoring or returning to, or at least moving closer to, an earlier master (or reference) calibration state.
[0017] The method may also include identifying the location of the article and / or some other parameter associated with the article and / or the machine.
[0018] The at least one model parameter may be or may include a tool center point of the tool.
[0019] At least a nominal geometric model of the tool and / or article may be used in step (b) to determine or derive the spacing.
[0020] The master calibration state as recorded or represented in step (b) may be a known good (or at least acceptable) calibration state of the machine, or a known production good or at least acceptable calibration state.
[0021] Rather than fully performing step (a) again as a result of step (c), i.e., with respect to all contacts whose intervals were previously recorded in step (b), step (a) may first be performed with respect to a subset of these contacts and associated intervals. Then, only if it is determined that some measure of change or variation of the associated intervals determined from subsequent executions of step (a) compared to the main interval previously recorded in step (b) is above a predetermined threshold or level, step (a) may be completed with respect to the entire set of contacts and then proceed to step (d) to update at least one model parameter.
[0022] The tool may have a defined and / or identifiable axis (eg a longitudinal axis).The tool may be an elongate tool having a defined and / or identifiable axis (eg a longitudinal axis).
[0023] The end surface of the tool may be spherical at least where contact is made with the article.
[0024] The side surface of the tool may be cylindrical at least where contact is made with the article.
[0025] The side surface of the tool may be axially symmetric about a single axis of rotation (single axis of revolution), so that it may, for example, be cylindrical or conical at least where contact is made with the article.
[0026] The top surface of the article may be flat at least where contact is made with the tool.
[0027] The side surface of the article may be flat at least where contact is made with the tool.
[0028] The method may comprise using in step (b) and / or step (d) at least a nominal geometric model representing the geometry of the tool and / or the article.
[0029] The method may comprise using calibrated dimensional measurements of the article (eg from an independent and / or calibrated coordinate measuring machine) in step (b) and / or step (d).
[0030] The reference surface of the article may be a metrological surface. In this context, a metrological surface may be considered to be a metrologically accurate metrological surface, for example flat or spherical within a predetermined accuracy and / or acceptable for use as a reference surface in a metrological method.
[0031] The method may include sensing contact between the tool and the article using a sensor.
[0032] The sensor may be mounted on the second component.
[0033] The sensor is a contact sensor having a deflectable stylus and a contact member for contacting an object being sensed.
[0034] The article can be used as a contact member of a contact sensor.
[0035] The sensor can be a touch probe or a tool setter.
[0036] The article may include cuboidal features defining a plurality of planar reference surfaces and cylindrical features defining a cylindrical reference surface.
[0037] The tool may include a plurality of cylindrical features defining a corresponding plurality of cylindrical reference surfaces.
[0038] The tool may include a spherical feature defining a spherical reference surface.
[0039] Step (a) may comprise moving the first member and the second member relative to each other to bring a plurality of pairs of different reference surfaces into point contact with each other.
[0040] The coordinate positioning machine may be operable in step (a) to move the first member relative to the second member in six degrees of freedom.
[0041] At least one of the surfaces of the tool and / or the article may be a surface of revolution. In this context, a surface of revolution may be considered to be a surface that is rotationally or axially symmetric about an axis of rotation or symmetry or about an axis of curvature.
[0042] The surface of revolution may have at least one axis of revolution (or axis of rotational symmetry), for example as is the case with a cylindrical surface.
[0043] The surface of revolution may have at least two axes of revolution (eg two surfaces of revolution, such as in the case of a spherical surface).
[0044] Calibrating or otherwise characterizing a machine may include one or more of calibrating, verifying, certifying, and checking performance of the machine.
[0045] The coordinate positioning machines may be non-Cartesian and / or parallel kinematic machines.
[0046] The coordinate positioning machine may be a serial kinematic machine.The coordinate positioning machine may be an articulated arm (eg a robotic arm).The coordinate positioning machine may have a plurality of rotary actuators arranged in series.
[0047] The coordinate positioning machine may be a hexapod.The coordinate positioning machine may have six linear actuators arranged in parallel.
[0048] 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.
[0049] The second member may be a fixed member of a machine, such as a fixed platform or bed, or a base member of a serial kinematic machine, such as a robotic arm.
[0050] The article may be a calibration article. In this context, an article may be considered a calibration article when it has been measured, for example, by an independent and / or calibrated coordinate measuring machine and / or machined within predetermined and / or acceptable tolerances.
[0051] Step (d) may comprise determining one or more new values for only a subset of the model parameters.
[0052] The model parameters may include a plurality of tool frame parameters (defining the tool frame). Step (d) may include updating at least three of the tool frame parameters. Step (d) may include updating three tool frame parameters defining the position of a point of interest of the tool frame (such as a tool center point). Step (d) may include updating five tool frame parameters defining the position and orientation of an axis of the tool frame. Step (d) may include updating six tool frame parameters defining a global coordinate system of the tool frame.
[0053] According to a second aspect of the invention, there is provided a method for recovering a tool frame (e.g., a tool center point) of a tool mounted to a coordinate positioning machine such as a robot arm, the method comprising executing the method according to the first aspect of the invention, and wherein step (e) comprises recovering (one or more parameters of) the tool frame (e.g., a tool center point) from a previously calibrated state.
[0054] According to a third aspect of the present invention, there is provided a computer program which, when executed by a computer or a machine controller, causes the computer or the machine controller to perform the method according to the first aspect or the second aspect of the present invention.
[0055] According to a fourth aspect of the present invention, there is provided a computer readable medium storing computer program instructions for controlling a computer or a machine controller to execute the method according to the first aspect or the second aspect of the present invention.
[0056] 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 aspect or the second aspect of the present invention.
[0057] According to a sixth aspect of the invention, there is provided a system for calibrating or otherwise characterizing a coordinate positioning machine, the system comprising an apparatus for performing one or more steps of the method according to the first or second aspect of the invention, or a computer program according to the third aspect of the invention, or a computer-readable medium according to the fourth aspect of the invention, or a computer or machine according to the fifth aspect of the invention.
[0058] According to a seventh aspect of the invention there is provided a method of controlling a coordinate positioning machine which has been calibrated or otherwise characterised using a method according to the first or second aspect of the invention.
[0059] According to an eighth aspect of the present invention there is provided a coordinate positioning machine which has been calibrated or otherwise characterised using a method according to the first or second aspect of the present invention.
[0060] Reference will now be made, by way of example, to the accompanying drawings, in which:
[0061] Figure 1 (discussed heretofore) is a schematic representation of a coordinate positioning arm in the form of an articulated robot and carrying a drilling tool;
[0062] Figure 2 (also discussed before) is a Figure 1 Schematic representation of an articulated robot with different arrangements of rotation axes and carrying a gripping tool;
[0063] Figure 3 It is a schematic diagram used to show and describe the concept of the tool center point and tool framework in more detail;
[0064] Figure 4 Schematically showing the robot moving the attached tool so that the tool center point will remain in the same position;
[0065] Figure 5 , Figure 6 and Figure 7 For explaining the embodiments of the present invention;
[0066] Figure 8 , Fig. 9 and Fig.10 is a schematic front view for conceptually explaining a main control phase, a subsequent phase, and a recovery phase of a method for implementing the present invention, respectively, for a representative one of contact points formed in the X direction;
[0067] Fig.11 is corresponding to Figure 8 But for a schematic front view of a representative one of the contact points formed in the Z direction; and
[0068] Fig.12 is corresponding to Figure 8 and Fig.11 However, this is a schematic left side view of a representative one of the contact points formed in the Y direction.
[0069] Figure 3 A schematic representation of a tool 40 is shown, which is attached to the Figure 1 and Figure 2 3 of a robot arm of the type described. A tool 40 has an elongated member 42 mounted to the flange 3 at an angle (the mounting angle may or may not be intentional), with a tip 44 located at the distal end of the elongated member 42. The center 46 of the tip 44 is of particular interest because the center will typically be the working point of the tool 40, or some other important reference point associated with the tool 40, and in robot architecture, the center is often referred to as the tool center point or TCP of the tool 40.
[0070] The position of the tool center point 46 relative to the part of the robot to which the tool 40 is attached (i.e., in this case, the flange 3) is important information when programming the robot to move the tool 40 around the working volume. Specifying the coordinates or offsets (X, Y, Z) of the tool center point 46 is a critical step when setting up any robot for operational use. The tool center point 46 is the point that is relevant in defining all robot positioning and constitutes the origin of the tool frame (or tool coordinate system) 41 discussed in more detail below. The tool center point 46 may correspond to, for example, the tip of an arc welding gun, the center of a spot welding gun, the end of an indexing tool, or a point such as a tool. Figure 1 The tip of the drilling tool is shown. Therefore, the position of the tool center point 46 will depend on the relevant application.
[0071] It should be noted that knowledge of the coordinates or offset of the tool center point 46 does not imply knowledge of the orientation of the tool 40 relative to the flange 3, nor does it imply knowledge of the length of the tool 40, since the tool center point 46 is defined relative to a known and internally defined arbitrary point 9 on the flange 3, and this arbitrary point does not necessarily correspond to the point at which the elongated member or shaft 42 of the tool 40 is actually attached to the flange 3. Figure 3 This is indeed the case in the illustrated exemplary example. Thus, determining the tool center point 46 of the tool 40 is not the same as, nor equivalent to, determining the orientation or direction or length or size of the tool 40 .
[0072] In operation, the tool center point 46 will be jogged or moved around or to a desired target position with the desired tool orientation. Figure 2 The "wrist" concept of a robot arm of the type described, the first three rotational axes of the robot arm can be controlled to set the position of the center of the wrist, the three rotational axes of the wrist can be used to change the orientation of the flange 3 relative to the first three axes, and the position of the key points of the working tool 40 relative to the flange 3 can be determined based on the tool center point (TCP) information. By knowing and controlling these aspects of the robot architecture, the position of the working point 46 of the tool 40 can be controlled in a relatively straightforward manner.
[0073] Figure 4 The schematic diagram shows the controller 8 instructing the robot arm 1 to move the tool 40 so that the tool center point 46 of the tool 40 remains in the same position, or at least should ideally remain in the same position. This test is typically performed to verify that the tool center point 46 has been correctly identified, and is sometimes referred to as a "tool orientation test." The goal is to evaluate the accuracy of the robot by measuring its ability to rotate about the tool center point 46 programmed into the controller 8 (and the accuracy of the robot's rotation). Figure 3 The accuracy of the coordinates X, Y, Z of the tool center point 46 is shown), and ideally there is no appreciable actual movement of the tool center point 46 when the test is performed.
[0074] Rather than just verifying the position of the TCP as done by a tool orientation test, there are several methods for determining the absolute position of the TCP. The most common method currently is a pin-to-pin method, in which an operator visually aligns two pins with different orientations, one of which is fixed to a machine base, and the other pin can be moved by a robot with reference to the TCP, where the robot is manually controlled by an operator. This is a convenient method, but relatively inaccurate, because the method depends largely on the skill and experience of the operator; it is also necessary to remove the tool 40 and replace it with a pin. Other known methods may be very expensive to implement, such as those methods that utilize non-contact measurement systems (such as camera-based systems, laser scanners, etc.) or measure robot tools with a touch probe. These methods are types for determining the values of the TCP coordinates (including TCP offsets) as part of a complete calibration of the robot.
[0075] exist Figure 34 , and in this regard it should be noted that a distinction should be made between the tool center point (TCP) 46 and the tool frame 41. Although 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), it is only defined in three degrees of freedom (by a set of X, Y, Z coordinates) and therefore does not fully define the tool frame 41 by itself (which requires six degrees of freedom for complete characterization). It should be appreciated that implementing the method of the present invention involves not only the characterization of specific points of the tool frame 41 (such as the TCP 46) (in three degrees of freedom), but also the characterization of the axes of the tool frame 41 (in five degrees of freedom, i.e., position and orientation), and even the characterization of the complete coordinate system (in six degrees of freedom) of the tool frame 41. For example, for the spot welding applications described above, only the position of the TCP is typically relevant (i.e., three degrees of freedom), while for arc welding and machining applications, the orientation of the axes is also relevant (i.e., five degrees of freedom), while for assembly applications, a full coordinate system (i.e., six degrees of freedom) will typically be required.
[0076] It should also be understood that while the most standard setup for a robot is to have the tool move and the part fixed, each robotic application may be configured the other way around (i.e., the robot carries the part and moves it to the fixed tool). As an example, where multiple operations are performed on the same part, it may be preferable to have a single robot equipped with a gripper (e.g., such as Figure 2 as shown) to hold parts and multiple tools secured in front of the robot.
[0077] Now refer to Figures 5 to 7 Embodiments of the present invention are described.
[0078] A full calibration routine as described above can be complex and time consuming, particularly where only a subset of the machine parameters are required, and more particularly where only the offset of the tool center point of a tool supported on the machine needs to be determined.
[0079] The purpose of this embodiment is to detect when the tool center point has drifted, and to restore the correct tool center point so that the robot program does not require a "touch-up" (or has less need for a "touch-up"). In this regard, when the robot arm is inaccurate due to incorrect setup of the part frame and tool frame, the robot program will not drive the robot tool to the correct position relative to the part. The operator then needs to update the target position recorded in the robot program. This process is called a "touch-up" in the robotics world. By better setting up the part position and tool position, the robot is more accurate, so the relative part / tool position is more accurate, and there is less need for corrections, or less need for "touch-ups". A "touch-up" is also needed when the machine is modified in some way, such as if the tool frame drifts.
[0080] Figure 5 An example arrangement is shown in FIG. 5 , in which a touch tool setter 30 (such as a Renishaw RTS or TS27) is fitted with a multi-surface stylus article 10 . Figure 5 The stylus article 10 includes various known geometric features, such as a cuboidal feature 12 having a plurality of at least partially planar surfaces 14 (four side surfaces and a top surface) and an at least partially cylindrical surface 16. The stylus 10 may also have at least partially spherical surfaces (but not in this example).
[0081] Multi-surface stylus article 10 (characterized by Figure 6 and Figure 7 It is also apparent that the CMM has various metrology surfaces or reference surfaces (i.e., planar surface 14 and cylindrical surface 16) that can be independently measured by a calibrated CMM. This process is shown in Figure 6 The process is performed in which a stylus product 10 has been fixedly mounted on a fixed platform 2 of a CMM, wherein a measurement probe 50 (having a stylus tip 52) is moved relative to the fixed platform 2 (and the mounted stylus product 10) by the CMM to perform dimensional measurements of various geometric features 14, 16 of the stylus product 10.
[0082] The method according to this embodiment involves touching different features of the multi-surface stylus article 10 with different parts or surfaces of the tool 20 moved by the robot arm 1, such as Fig.10 (These dashed arrows show examples of points on different surfaces that are in contact with each other, i.e., have zero spacing between them.) For example, point coordinate data of a touch between the spherical tip 22 of the tool 20 and the flat surface 14 of the stylus article 10, and point coordinate data of a touch between the cylindrical feature 16 of the stylus article 10 and one or more cylindrical features 24 of the tool 20 may be collected.
[0083] The distances between these elements are also recorded. In this regard, there is a nominal geometric model representing the geometry of both the tool 20 and the stylus article 10. The robot 1 provides the position of the tool 20 when the surface of the tool 20 touches the surface of the stylus article 10. Knowing the position of the stylus article 10, the relative positions of these surfaces can be seen and the surface-to-surface distance can be derived.
[0084] The method of this embodiment differs from known methods in which only a single reference feature on the probe stylus touches the robot tool, or a single feature of the robot tool touches a single reference feature on the probe stylus. An example of such a known method would be probing with a sphere (e.g., the stylus tip of the contact probe). The drift of the TCP position of the robot tool may be large and, when probing with a sphere, this drift will cause a significant change in the normal of the touch point. Therefore, with known methods it is not possible to compare individual touch errors without measuring the entire object.
[0085] By this embodiment, the use of various flat or cylindrical features reduces this effect, and the drift of the TCP position can be checked with only three touches. This provides a very fast check of the TCP position. If a TCP change greater than a desired degree of truth (or some other predetermined threshold) is detected, further points can be probed so that a five-degree-of-freedom transformation can be calculated to update the TCP. For example, if the tool 20 has been knocked slightly out of position, or due to the above reference Figure 1 and Figure 2 The TCP may drift over time due to thermal expansion and / or contraction of various parts of the robot 1 mentioned or when the robot tool has been replaced by a new tool. As mentioned above, the model parameters defining the tool frame do not only consist of the tool center point defined in three degrees of freedom. For example, the position and orientation of the tool frame axes (defined in five degrees of freedom) may also be important and may also drift over time. Any number of model parameters of the tool frame may also drift and may benefit from being updated, so that the method of the present invention is not only applicable to updating the tool center point.
[0086] The following steps are performed in this embodiment of the present invention.
[0087] (a) The stylus article 10 is first "registered" with a known good TCP (ie a TCP known to be a reasonable estimate of the true TCP) and the feature to feature distances are recorded.
[0088] (b) To check TCP variation, select at least three feature-to-feature distances and probe to collect distance variation. If the variation is too large (e.g., greater than a predetermined threshold), then:
[0089] (c) Perform a few more touches and collect at least five distance changes in total.
[0090] (d) A five-degree-of-freedom transformation is computed to update the TCP position so that the first registered feature-to-feature distances are restored.
[0091] After step (d), the TCP geometry has been repaired or restored and the TCP behaves exactly as it did before the drift occurred (i.e., the robot 1 positions the tool 20 exactly as it did before the drift). In other words, this aspect of the calibration has been returned to the previous state, i.e., the known good state registered in step (a).
[0092] The feature-to-feature distance may also be considered (or referred to as) an error or error value. This is because, when the two reference surfaces are in contact with each other, it is known that the actual feature-to-feature distance is zero (because the relevant surfaces are known to be in contact, and therefore the separation or distance between them is known to be zero). However, the separation as derived from the joint angles (encoder readings) and based on the current calibration (i.e., the current set of model parameters characterizing the geometry of the machine) will inevitably be non-zero because the calibration (as defined by the model parameters) is inevitably not ideal or perfect.
[0093] By recording or registering the current set of intervals (or errors) in step (a) (which is the state for a machine known to provide good (or at least acceptable) performance), this enables the multi-surface touch process to be repeated at a later time to determine the same or corresponding intervals so that a transformation can be applied with respect to at least one aspect of the calibration (i.e., the TCP) to return the calibration to a previous state (known to be a good / acceptable state). This TCP update or recovery process is faster than performing a full calibration process to determine the TCP from scratch. It should be appreciated that the same type of process can be applied to aspects of the calibration (model parameters) other than the TCP.
[0094] The method according to this embodiment differs from the known method in at least the following ways:
[0095] (i) The method involves registration between multiple tool surfaces and multiple reference surfaces.
[0096] (ii) Only the update transformation is determined to restore the previous TCP behavior, so the touch upgrade point is still valid, while an absolute (full) calibration will destroy the touch upgrade point.
[0097] The registration of part (i) above is also referred to herein as the mastering phase, with part (ii) also referred to herein as the recovery phase. As explained above (and as will be further explained below), part (i) involves storing feature-to-feature distances (also referred to herein as errors or spacings), and part (ii) involves finding a new set of model parameter values that recovers to the same errors as before. Thus, it is known that after recovery, the tool is positioned exactly as it was before the drift.
[0098] In this regard, consider that when the robot integrator (or installer) is setting up the robot cell, the robot is not perfect and the settings of the tool frame and the part frame are not particularly accurate. In order to provide good performance in production, the integrator will need to spend time to do a touch upgrade for all postures. The principle of mastering and recovery involves the following consideration: after the integrator has done his job, even if the work has been performed correctly, the model is not accurate. After the machine has been changed (for example, due to drift, accident, maintenance, etc.), the goal is to have the robot position the tool relative to the part in the same position as before. The goal is not to find an accurate set of model parameters, but the goal is to find a set of model parameters that will regain the same position as before.
[0099] The method according to an embodiment of the present invention is advantageous because it provides a cheaper solution than using a non-contact tool setter, provides a fast in-production TCP check, and the triggering is robust and reliable compared to optical techniques. With reference to the above discussion on the distinction between the tool center point and the tool frame, it should also be appreciated that the method embodying the present invention can be applied not only to the inspection and recovery of the tool center point (three degrees of freedom), but also to the inspection and recovery of any number of tool frame parameters defining the tool frame, such as the axes of the tool frame (five degrees of freedom, i.e. position and orientation), or to the inspection and recovery of the complete coordinate system of the tool frame (six degrees of freedom).
[0100] Now refer to Figures 8 to 12 The schematic diagram shown describes the method according to an embodiment of the present invention in more detail. This is intended to provide an alternative way of explaining the same method as has been described above, wherein a graphical representation is added to help understand the underlying concepts of an embodiment of the present invention as has been set out above.
[0101] from Figure 8 , Fig. 9 and Fig.10 Initially, these figures are schematic front views showing respectively the main control phase, the subsequent phase and the recovery phase of the method of the present invention for a representative one of the multiple contact points formed between the stylus article 10 and the reference surface of the tool 20. For simplicity of presentation, these figures only show what occurs in the X direction.
[0102] In such Figure 8 In the master control stage shown, the ball tip 22 of the tool 20 has been moved into contact with one of the flat side surfaces 14 of the stylus article 10 (in the X direction), and this contact has been sensed by the touch setting device 30. Therefore, the actual spacing a between the reference surfaces in this state is known. m (ie, the shortest distance between the two reference surfaces) is zero because the surfaces are in direct contact with each other. However, based on the current model parameters, the reference surfaces are not expected to be touching, but rather tip 22 is expected to be separated from surface 14 by a non-zero spacing e m (It can also be called an error value because it is relative to the actual interval a which is known to be zero. m The expected position of the tool 20 (i.e., where the machine thinks the tool 20 is based on the current set of model parameters) is Figure 8 The dashed copy of tool 20 is shown in FIG. 1 , and the X component of the tool center point is Figure 8 Indicated as TCP[X] M Of course, for the purpose of this schematic illustration, offset TCP[X] M has been exaggerated, and will in reality be small. The interval value e m is derived from the current model parameters and the geometrical models of the stylus article 10 and the tool 20, and in this embodiment is determined as the distance between the reference surfaces in a direction perpendicular to the tangential contact plane between the surfaces (i.e. perpendicular to the surface of the stylus article 10 making contact), which is the shortest distance between the two surfaces. Record the primary spacing value e m for subsequent recovery phase.
[0103] In this regard, after the machine has been in use for some time, the tool center point may have moved away from the recorded master interval value e m Therefore, a recovery process can be performed from time to time, the first step of which is Fig. 9 As shown in Fig. 9 As shown, the tool 20 has been accidentally knocked during use and is now mounted at an angle to the flange 3, with the ball tip 22 displaced to one side in the X direction. Same TCP [X] M is still in use, so the ball tip 22 is now even further away from where it would have been expected to be based on the current model parameters. Fig. 9 As the first step of the recovery process shown, execute again Figure 8 The contact process causes the spherical tip 22 of the tool 20 to move again to contact the same reference surface 14 of the stylus article 10 at the same position as before (in the X direction), and the interval (or error) value e s is exported again. Fig. 9 As shown, the error value e derived this time is s Different from the previously recorded main error value e m .
[0104] Therefore, in Fig.10 In the recovery phase shown, a new value of TCP in the X direction is determined, which will provide the same value as previously provided in Figure 8 The master (or reference) interval or error value recorded during the master control phase m Match or at least closely correspond to the interval or error value e r This is Fig.10 is represented as a compensation applied to change the TCP value in the X direction from TCP[X] M (as before in the master phase) reduced to TCP[X] R (After the recovery phase). Therefore, the previous TCP state has been restored.
[0105] Fig.11 is corresponding to Figure 8 However, a schematic front view of a representative one of the contact points formed in the Z direction is shown. Fig.12 is corresponding to Figure 8 and Fig.11 However, a schematic left side view of a representative one of the contact points formed in the Y direction is shown. This shows how contact is made between multiple reference surfaces in the master control stage in order to record a set of spacing values or error values for use later in the TCP recovery process to return the TCP to a known previous state. It should be understood that Figure 8 , Fig.11 and Fig.12 The contacts shown (for the X, Z and Y directions, respectively) will not be the only contacts made between the various reference surfaces available at the master stage. In this regard, these illustrations are schematic in nature and are simplified to illustrate the general principles involved in carrying out the methods of implementing the invention, and it will be readily understood how these general principles can be applied to full three-dimensional situations and more.
[0106] Reference again Figure 8 It should be understood that the non-zero interval (or error) e determined in the master control stage m is the result of many imperfect model parameters, not just those associated with the tool center point (or tool frame in general). Figure 8 The deviation between the actual position of the tool 20 (solid outline) and the expected position of the tool 20 (dashed outline) is not only due to TCP [X] m The remaining model parameters (e.g., for various swivel joints 6, 7) predict that the flange 3 is exactly in its actual position, such as Figure 8However, it should be recalled that the change in the interval between master and recovery (from Figure 8 e in m arrive Fig. 9 e in s ) is only due to a change of machine. In this example, the only change between master and restore is in the tool frame, since only tool 20 has been struck.
[0107] Therefore, for the purpose of this description, only Fig.10 Applied to TCP (to compensate for Fig. 9 The relative compensation of the drift of the TCP is related, not the absolute value of TCP. Therefore, TCP[X] in these figures m can be considered as representative TCP rather than actual TCP, and are respectively Fig.11 and Fig.12 TCP[Z] m and TCP[X] m , the situation is similar.
[0108] It will be appreciated that the recovery of the TCP is relevant to situations where, for example, the tool 20 has been knocked out of position during use. However, the invention may be applied to recover model parameters other than those related only to the tool centre point (or more generally to the tool frame), such as those related to the joint offsets associated with the rotary joints in the robot arm 1. In practice, the problem will be to know what drift the model parameters to be recovered by the process may be subject to, and to adjust the measurement strategy accordingly, but the same principles as described above will apply.
[0109] As described above, the general approach of an embodiment of the present invention is to perform a master calibration when production is correct. A master set of measurement values is stored, and possibly some identified sensor parameters, such as the position of a reference artifact. Upon recovery, the same measurement routine as the master is performed again, and a new set of model parameters is found that will reproduce (or at least more closely reproduce) the master measurement. In the master phase, a finite set of sensor parameters can be identified, and the measured residual errors stored. In the recovery phase, some sensor parameters can be identified again, and updated model parameters are determined in order to calculate the same residual errors as in the master. In this regard, the interval (or error) value itself can be considered to be an optimized residual error, since the optimization is performed in order to find the position of the artifact.
[0110] It will be appreciated that in order to create point contact between two surfaces, the contact must be "curved to curved" or "curved to flat / flat", where the curvature is convex (curved outwards) rather than concave (curved inwards). In particular, the contact must not be "flat / flat to flat / flat", as this would create contact over the entire surface (flat to flat contact is possible in some cases, but it brings additional requirements in terms of setup and alignment). However, even in the case where one or both surfaces are curved, care must be taken to ensure that the two surfaces are adapted to each other (and also arranged relative to each other when contact is made) so as not to create multiple contact points, for example along a line, as would occur when two parallel cylinders contact along their respective side surfaces or when a cylindrical side surface contacts a plane. In the case of two cylindrical surfaces, these surfaces can be used to create suitable point contact between them, as long as they are arranged so as not to be parallel when in contact. In the case of a curved surface contacting a flat surface, the curved surface must be doubly curved (like a sphere). These are just some examples, and the skilled person will understand which properties of the surfaces are required to achieve point contact between them.
[0111] The creation of multiple points of contact between surfaces (or even the possibility of such a situation occurring) is considered undesirable because there will be uncertainty as to which of the multiple points actually creates a constraint between the two contacting members. However, it should also be understood that in the context of embodiments of the present invention, contact points need not be (and in fact will not be) mathematical points in the pure sense. Instead, in practice, points are typically small areas close to points. Therefore, as used herein, the term "point contact" should be interpreted accordingly to include within its scope point-like contacts, such as contacts that will occur in practice.
[0112] In the context of the present invention, a tool or article may be considered to have multiple reference surfaces if it has at least one reference surface that is geometrically different and / or distinct from at least one other reference surface of the tool or article, for example even if the two reference surfaces merge into each other continuously (without a clear or significant joint between them). In the context of the present invention, two reference surfaces may be considered to be different and / or distinct from each other if they have (or are defined by) different and / or distinct corresponding geometrical properties. For example, opposite sides of the same spherical surface would not be considered to provide multiple (different and / or distinct) reference surfaces in this context because they are defined by the same center and radius / diameter. On the other hand, a cylinder and a sphere at the end of a cylinder (or other type of convex curved surface) would be considered to provide multiple (different and / or distinct) reference surfaces because the two parts have different and / or distinct corresponding geometrical properties. The same applies to a flat top surface and a curved side surface of an article, which have different and / or distinct corresponding geometrical properties. Two cylinders with different respective diameters, even if arranged coaxially (i.e. arranged along the same axis), are considered to provide multiple (different and / or distinct) reference surfaces, since the diameter is considered to be a geometric property of the cylinder. Therefore, it should also be understood that the stylus of a standard contact probe will in this context be considered to have only one reference surface for contacting a workpiece, or at least only one reference surface, namely the spherical surface of the stylus tip.
[0113] The calibration data collected during execution of the method may be considered to reflect or represent the (recordable) state of the machine for each rotational position of the rotational move (or based on some other sampling rate if not for each rotational position). Information of this type (forming part of the calibration data) is also referred to herein as machine coordinates, which in this context are intended to mean a set of coordinates or values representing the state of the machine for a particular pose (e.g., encoder readings for each joint). In this regard, the various physical axes of motion of the machine (such as the linear axes defined by the extendable legs of a hexapod or the rotational axes of an articulated robot arm) may be considered herein to define a machine coordinate system, hence the term machine coordinates.
[0114] It should be understood that the present invention can be applied not only to the calibration of a machine, but also to the verification, certification or performance check of a machine. The terms calibration method, calibration product, calibration component, calibration data, calibration point, etc. used herein should be interpreted accordingly in a broad sense depending on the intended application, and are therefore not limited to calibration. In other words, the concepts described herein are not only applicable to updating model parameters (calibration), but also to checking or verifying model parameters (verification or certification). Therefore, these terms should be understood in the context of calibrating or otherwise characterizing a machine. As an example, the term calibration product includes metrology products within its scope. The terms target point, target product, and target component can be used to replace calibration point, calibration product, and calibration component, respectively.
[0115] The machine controller for controlling the operation of the coordinate positioning machine may be a dedicated electronic control system and / or may include a computer operating under the control of a computer program. For example, the machine controller may include a real-time controller for providing low-level instructions to the coordinate positioning machine and a PC for operating the real-time controller. It will be appreciated that the operation of the coordinate positioning machine may be controlled by a program operating on the machine, in particular by a program operating on a coordinate positioning machine controller (such as controller 8). Such a program may be stored on a computer readable medium, or may be embodied in a signal, such as a downloadable data signal provided from an Internet website, for example. The attached claims should be interpreted as covering the program itself, or as a record on a carrier, or as a signal, or in any other form.
Claims
1. A method of restoring a master calibration state of a coordinate positioning machine having a first member movable relative to a second member, wherein: The geometry of the machine is characterized by a set of model parameters, and wherein the method comprises: (a) controlling the machine to make point contacts between a plurality of reference surfaces of a tool mounted on the first member and a plurality of reference surfaces of an article mounted on the second member; (b) determining the spacings between the contact surfaces expected from the current model parameters, and recording these spacings as a set of master spacings; (c) subsequently performing step (a) again with respect to at least some of the contacts for which corresponding master spacings were recorded in step (b); and (d) updating at least one of the model parameters to provide a closer correspondence with the master spacings previously recorded in step (b).
2. The method of claim 1, wherein: The at least one model parameter is or comprises a tool center point of the tool.
3. The method according to claim 1 or 2, wherein: In step (b) at least a nominal geometrical model of the tool and / or the article is used to determine or derive the separation.
4. The method of claim 1, 2 or 3, wherein: The master calibration state is a known good calibration state of the machine.
5. A method as claimed in any preceding claim, wherein: Before fully performing step (a) again for all contacts whose corresponding primary intervals were previously recorded in step (b), step (a) is first performed with respect to a subset of these contacts, and step (a) is continued with respect to the entire set of contacts only when the measure of variation in the associated expected intervals is deemed to be above a predetermined threshold or level.
6. A method as claimed in any preceding claim, wherein: The tool has a defined and / or identifiable axis.
7. A method as claimed in any preceding claim, wherein: The end surface of the tool is spherical at least where it comes into contact with the article.
8. A method as claimed in any preceding claim, wherein: The side surface of the tool is cylindrical at least where it comes into contact with the article.
9. A method as claimed in any preceding claim, wherein: The top surface of the article is planar at least where contact is made with the tool.
10. A method as claimed in any preceding claim, wherein: The side surface of the article is flat at least where it comes into contact with the tool.
11. A method as claimed in any preceding claim, comprising using in step (b) and / or step (d) at least a nominal geometric model representing the geometry of the tool and / or the article.
12. A method as claimed in any preceding claim, comprising using calibrated dimensional measurements of the article in step (b) and / or step (d).
13. A method as claimed in any preceding claim, wherein: The reference surface of the article is the gage surface.
14. A method as claimed in any preceding claim, comprising sensing contact between the tool and the article using a sensor.
15. The method of claim 14, wherein: The sensor is mounted on the 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 an object being sensed.
17. The method of claim 16, wherein: The article is used as a contact member of the contact sensor.
18. The method according to any one of claims 14 to 17, wherein: The sensor is a touch probe or a tool setting device.
19. A method as claimed in any preceding claim, wherein: The article includes a plurality of planar reference surfaces and a cylindrical reference surface.
20. A method as claimed in any preceding claim, wherein: The tool includes a plurality of cylindrical reference surfaces.
21. A method as claimed in any preceding claim, wherein: The tool includes a spherical reference surface.
22. A method as claimed in any preceding claim, wherein: Step (a) includes moving the first member and the second member relative to each other to bring the reference surfaces into point contact with each other.
23. A method as claimed in any preceding claim, wherein: The coordinate positioning machine is operable in step (a) to move the first member relative to the second member in six degrees of freedom.
24. A method as claimed in any preceding claim, wherein: At least one of the surfaces of the tool and / or the article is a surface of revolution.
25. The method of claim 24, wherein: The surface of revolution has at least one axis of revolution.
26. The method of claim 24 or 25, wherein: The surface of revolution has at least two axes of revolution.
27. A method as claimed in any preceding claim, wherein: Calibrating or otherwise characterizing the machine includes one or more of calibrating, verifying, certifying, and checking performance of the machine.
28. A method as claimed in any preceding claim, wherein: The coordinate positioning machine is a non-Cartesian and / or parallel kinematic machine.
29. A method as claimed in any preceding claim, wherein: The coordinate positioning machine is an articulated arm.
30. A method as claimed in any preceding claim, wherein: The coordinate positioning machine is a hexapod.
31. A method as claimed in any preceding claim, wherein: The first member is a moving member of the machine, such as an end effector or a spindle or a flange of a robot arm.
32. A method as claimed in any preceding claim, wherein: The second member is a fixed member of the machine, such as a fixed platform or bed.
33. A method as claimed in any preceding claim, wherein: The article is a calibration article.
34. A method as claimed in any preceding claim, wherein: Step (d) comprises determining one or more new values for only a subset of the model parameters.
35. A method for recovering the tool centre point of a tool mounted to a coordinate positioning machine such as a robotic arm, the method comprising carrying out a method as claimed in any preceding claim and wherein: Step (d) includes restoring the tool center point from a previous calibration state.
36. A computer program which, when executed by a computer or machine controller, causes the computer or machine controller to perform one or more steps of the method of any preceding claim.
37. A computer readable medium having stored therein computer program instructions for controlling a computer or machine controller to perform one or more steps of the method of any one of claims 1 to 35.
38. A computer or machine controller configured to perform one or more steps of the method of any one of claims 1 to 35.
39. A system for calibrating or otherwise characterizing a coordinate positioning machine, the system comprising means for performing one or more steps of the method of any one of claims 1 to 35, or a computer program as claimed in claim 36, or a computer readable medium as claimed in claim 37, or a computer or machine controller as claimed in claim 38.
40. A method of controlling a coordinate positioning machine which has been calibrated or otherwise characterised using a method as claimed in any one of claims 1 to 35.
41. A coordinate positioning machine which has been calibrated or otherwise characterised using the method of any one of claims 1 to 35.
Citation Information
Patent Citations
Coordinate positioning machine
WO2019162697A1
Coordinate positioning arm
WO2021116685A1