Coordinate positioning machine
The method using multiple measurement struts in articulated robots addresses the challenge of accumulated errors by calibrating joint offsets, improving precision and reducing complexity and cost in non-Cartesian machines.
Patent Information
- Application Number
- JP2025547458
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-26
- Filing Date
- 2024-01-25
- Publication Date
- 2026-02-24
AI Technical Summary
Calibration of non-Cartesian coordinate positioning machines, particularly articulated robots, is challenging due to the serial arrangement of multiple rotary axes, which leads to accumulated position errors and uncertainties, and existing methods are complex, costly, or skill-dependent.
A method using multiple measurement struts or ballbars in various configurations to calibrate joint offsets by coupling them between movable and fixed supports, collecting calibration data, and determining improved model parameters to reduce errors.
This approach provides accurate and cost-effective calibration of joint offsets, enhancing the precision of articulated robots by minimizing position uncertainties through flexible and efficient data collection.
Smart Images

Figure 2026506392000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to coordinate positioning machines. The invention particularly, but not exclusively, relates to a system for calibrating or characterizing at least some aspects of a coordinate positioning machine. The invention is particularly applicable to non-Cartesian positioning machines, such as hexapods, measuring arms, articulated robots, etc. [Background technology]
[0002] Articulated robots are commonly used in a variety of manufacturing applications, including assembly, welding, gluing, painting, picking and placing (e.g., for printed circuit boards), packing and labeling, palletizing, and product inspection. They benefit from being versatile and rugged, with a large reach and high flexibility of movement, making them ideal for use in production environments.
[0003] FIG. 1 of the accompanying drawings shows a schematic representation of an articulated robot (or simply "robot" for short) comprising an articulated robot arm 1 extending from a fixed base 2 to a movable flange 3, 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 interchangeable, so that a variety of tools or end effectors may be employed depending on the application involved, including, for example, grippers, vacuum cups, cutting tools (including both mechanical and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools, and other specialty tools. The flange 3 is also more commonly 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 is also often referred to as the "hand" of the robot arm 1.
[0004] Arm 1 comprises multiple segments 5 connected by a mixture of lateral rotation axes 6 and in-line (or longitudinal) rotation axes 7, forming a mechanical link from one end to the other. In the example shown in FIG. 1, there are three lateral rotation axes 6 and three in-line rotation axes 7, forming a total of six rotation axes, alternating between the lateral rotation axes 6 and the in-line rotation axes 7. An additional in-line rotation axis 7 (not shown in FIG. 1) may be provided between the last lateral rotation axis 6 and flange 3 to provide convenient rotation of tool 4 about its longitudinal axis, forming a total of seven rotation axes. In general, the rotation axes of a robot need not be exactly orthogonal or exactly longitudinal, but may be arranged at any desired angle.
[0005] Another common arrangement is shown in the arm 1 of FIG. 2, which includes the aforementioned additional in-line rotary axis 7 between the last lateral rotary axis 6 and the flange 3, and also omits the second in-line rotary axis 7 (in serial order from the base end to the head end) of FIG. 1, thereby creating a total of six rotary axes. The tool 4 in FIG. 2 is a gripper. The arm 1 of FIG. 2 is a schematic representation of a well-known six-axis industrial robot, IRB140, from ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, with the center of the wrist at the center of the last lateral rotary axis 6. The center of the wrist is invariant to the rotation of the three rotation axes 6, 7 of the wrist. As a result, manipulation of the three rotation axes 6, 7 reorients what is attached to the wrist (in this case, the gripper 4) without changing the position of the center of the wrist, and 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] The articulated robot arm 1 of Figures 1 and 2 is an example of a non-Cartesian coordinate positioning machine because its axes are not arranged orthogonally according to a Cartesian coordinate system, in contrast to Cartesian machines such as conventional three-axis (X, Y, Z) coordinate measuring machines (see, for example, Figure 1 of Patent Document 1). The arm 1 of Figures 1 and 2 is also an example of a "serial kinematic" coordinate positioning machine because their axes of motion are arranged serially. In this sense, such machines are similar to conventional three-axis Cartesian coordinate measuring machines, which are also an example of a "serial kinematic" coordinate measuring machine and can be contrasted with "parallel kinematic" coordinate positioning machines, such as hexapods, whose axes of motion are instead arranged in parallel.
[0007] Each joint or axis of a coordinate positioning machine contributes to position errors or uncertainties. In serial kinematic machines, such as those shown in Figures 1 and 2, these errors accumulate due to the serial nature of the linkages. This accumulation of position errors does not occur in the same way in parallel kinematic machines, but regardless of the type of machine, it is important to calibrate the machine to adjust for these errors and uncertainties.
[0008] Calibrating any type of non-Cartesian machine is a significant challenge, especially for articulated arms, such as those shown in Figures 1 and 2, which have multiple rotary axes that are (a) arranged in series, (b) not fixed relative to each other, and (c) can combine in complex ways to position the tool within the work envelope. Calibrating a Cartesian machine is usually simpler because such machines have three well-defined axes fixed in an orthogonal arrangement relative to each other, each axis being largely independent of the others. In the case of an articulated robot, the position and orientation of each axis depends on the position and orientation of each other axis, and as a result, calibration will vary for different machine poses.
[0009] Many calibration techniques have in common the goal of identifying a parametric model of the machine of interest, where a set of model parameters (also referred to as mechanical or kinematic parameters) are used to characterize the machine's geometry. As a starting point for the machine's geometry, uncalibrated values are initially assigned to these parameters. During calibration, the machine is moved to various poses (based on current estimates of the machine parameters). For each pose, a calibrated measurement device is used to measure the actual pose, and a measure of the error between the expected and actual machine pose can be determined.
[0010] The task of calibrating the machine then consists of determining a set of values for the various machine parameters that minimizes the error using known numerical optimization or error minimization techniques. One example of such a technique is the well-known Levenberg-Marquardt method, which uses a least-squares method to minimize the error, knowing the derivative of the error as a function of each parameter being optimized (Non-Patent Documents 1 and 2). Other techniques, including those based on maximum likelihood approaches, can also be used.
[0011] 1 and 2, these machine parameters could include various geometric parameters such as the length of each segment 5 and the rotational angle offset of each rotary axis or joint 6, 7 (the angle from the encoder plus a calibrated offset gives the actual angle), as well as various mechanical parameters such as joint compliance and friction. The machine parameters could also include the offset coordinate of the tool's operating point relative to the head or flange 3, such as the tip of the drilling tool 4 in FIG. 1. In this regard, the offset of the operating point (or tool center point) is important information, and this will be explained in more detail below.
[0012] When properly calibrated and all of these machine parameters are known, it is possible to more reliably predict where the operating point (or tool centre point) of the tool 4 will actually be when the various axes or joints 6, 7 are commanded by the controller 8 to move to different positions. In other words, the machine parameters resulting from such calibration provide a more accurate characterization of the machine geometry. These concepts, relating to the calibration of coordinate positioning machines in general, and robotic arms in particular, are explored in further detail in U.S. Patent Nos. 5,929,995 and 5,929,995.
[0013] Figure 3 of the accompanying drawings shows a schematic representation of a tool 40 mounted on a flange 3 of a robotic arm of the type described above with reference to Figures 1 and 2. The tool 40 has an elongated member 42 mounted at an angle to the flange 3 (the mounting angle could be deliberate or it could be accidental), with a tip 44 at the distal end of the elongated member 42. The centre 46 of the tip 44 is of particular interest as this will usually be the operating point of the tool 40 or some other important reference point associated with the tool 40; in robotic architecture this is commonly referred to as the tool centre point, or TCP, of the tool 40.
[0014] When programming a robot to move tool 40 around a working volume, the location of tool center point 46 relative to the portion of the robot to which tool 40 is attached, i.e., flange 3 in this case, is important information. Identifying the coordinates or offset (X, Y, Z) of tool center point 46 is a critical step in configuring any robot for a work application. Tool center point 46 is the point relative to which all robot positioning is defined and constitutes the origin of tool frame (or tool coordinate system) 41. Tool center point 46 could correspond, for example, to the tip of an arc welding gun, the center of a spot welding gun, the end of a grading tool, or the tip of a drilling tool such as the one shown in FIG. 1. Thus, the location of tool center point 46 will depend on the application involved.
[0015] Knowledge of the coordinates or offset of the tool center point 46 does not entail knowledge of the orientation of the tool 40 relative to the flange 3, nor does it entail knowledge of the length of the tool 40, because the tool center point 46 is defined relative to an arbitrary point (or reference frame) 9 on the flange 3 that is internally known and internally defined, which does not necessarily coincide with the point at which the elongated member or shaft 42 of the tool 40 actually attaches to the flange 3, as is the case in the schematic example shown in FIG. 3. Thus, determining the tool center point 46 of the tool 40 is not the same as and does not amount to determining the orientation, direction, length, or size of the tool 40.
[0016] During operation, the tool center point 46 will be moved slowly around or to a desired target position at a desired tool orientation. For example, referring to the "wrist" concept of a robotic arm of the type described above with reference to FIG. 2, the first three rotational axes of the robotic arm may be controlled to set the position of the wrist center, the three rotational axes of the wrist may be used to change the orientation of the flange 3 relative to the first three axes, and the location of key points of the work tool 40 relative to the flange 3 may be determined from the tool center point (TCP) information. By recognizing and controlling these properties of the robot architecture, the location of the operating point 46 of the tool 40 may be controlled in a relatively simple manner.
[0017] Figure 4 of the accompanying drawings shows schematically a robot arm 1 being instructed by a controller 8 to move a tool 40 so that its center point 46 remains in the same position, or at least ideally so. Such a test is typically performed to ensure that the tool center point 46 is correctly identified, and is sometimes known as a "tool orientation test." The objective is to assess the accuracy of the robot (and the accuracy of the X, Y, Z coordinates of the tool center point 46 shown in Figure 3) by measuring the robot's ability to rotate about the tool center point 46 programmed into the controller 8, ideally without any actual movement of the tool center point 46 being evident when the test is performed.
[0018] There are several methods for determining the absolute position of the TCP, rather than simply verifying its position, as is done in tool orientation inspection. Currently, the most common method is the pin-to-pin method, in which an operator visually aligns two pins in different orientations; one pin is fixed to the machine base, and the other pin is movable by a robot to reference the TCP, which is manually controlled by the operator. While this is a convenient method, it is relatively inaccurate because it relies heavily on the skill and experience of the operator, and it also requires that the tool 40 be removed and replaced with a pin. Other known methods, such as using non-contact measurement systems such as camera-based systems or laser scanners, or using contact probes to measure the robot tool, can be very costly to implement. These methods involve determining the TCP coordinate values as part of a complete calibration of the robot, including the TCP offset.
[0019] A complete calibration routine such as the one described above can be complex and time-consuming, especially when only a subset of machine parameters is required. As noted in [3], some machine parameters, such as joint offsets, may need to be updated frequently, for example, whenever a motor or rotary encoder in a rotary joint is replaced or adjusted. In this regard, joint offsets relate to the offset or error between a home reference position for a joint according to a parametric (or kinematic) model of the robot and the actual reading or signal from the associated rotary encoder on the robot itself. Joint offsets can be thought of as defining a fixed offset value that is added to the angle reported by the rotary encoder for the associated joint. The positioning accuracy of a robot can be significantly affected by even small changes in joint offsets. According to a previous study discussed in Liu et al., more than 90% of the positioning inaccuracies of industrial robots can be attributed to errors related to these joint offsets. [Prior art documents] [Patent documents]
[0020] [Patent Document 1] International Publication No. 2021 / 074625 [Patent Document 2] International Publication No. 2019 / 162697 [Patent Document 3] International Publication No. 2021 / 116685 [Patent Document 4] International Publication No. 2023 / 037110 [Non-patent literature]
[0021] [Non-Patent Document 1] "A Method for the Solution of Certain Non-Linear Problems in Least Squares" (Kenneth Levenberg, 1944, Quarterly of Applied Mathematics, Vol. 2, pp. 164-168) [Non-patent document 2] "An Algorithm for Least-Squares Estimation of Nonlinear Parameters" (Donald Marquardt, 1963, SIAM Journal on Applied Mathematics, Vol. 11(2): pp. 431-441) [Non-patent document 3] "An Automated Method to Calibrate Industrial Robot Joint Offset Using Virtual Line-based Single-point Constraint Approach" (Liu et al., DOI:10.1109 / IROS.2009.5354312, 2009 IEEE / RSJ International Conference on Intelligent Robots and Systems, October 11-15, 2009, St. Louis, USA) [Non-patent document 4] "Absolute robot calibration with a single telescoping ballbar," by Albert Nubiola and Ilian Bonev, Precision Engineering, Vol. 38, No. 3, July 2014, pp. 472-480 Summary of the Invention [Problem to be solved by the invention]
[0022] Applicant has therefore recognised that the calibration of these joint offsets is an important task for any serial kinematic machine with revolute joints, such as the robotic arm described above. [Means for solving the problem]
[0023] According to a first aspect of the present invention, there is provided a method of calibrating or characterizing a coordinate positioning machine having a first member movable relative to a second member, the machine geometry being characterized by a set of model parameters, the method comprising: (a) coupling one or more length measuring devices between at least one support attached to the first member and a plurality of supports attached to the second member in a plurality of different configurations; (b) controlling the machine to move the first member relative to the second member (e.g., to a plurality of positions or orientations) for each of the plurality of configurations and collect calibration data (e.g., for each position or orientation); and (c) using the calibration data to determine a better estimate for and / or update at least one of the model parameters.
[0024] According to one embodiment of the present invention, there is provided a method for calibrating or characterizing at least one joint offset of a coordinate positioning machine, such as a robotic arm, having multiple rotary joints arranged in series between a base end and a head end. The method according to this embodiment includes coupling up to three measurement struts in different configurations between a triangular arrangement of movable and fixed supports, controlling the machine to move the movable supports and collect calibration data at each configuration, and using the calibration data to determine a better estimate of at least one joint offset. The measurement struts may more generally be referred to as length measurement devices.
[0025] The method may be used to characterize multiple joint offsets, for example, all joint offsets, of a coordinate positioning machine. The coordinate positioning machine may be a robotic arm. Two or more measurement struts (e.g., two or three measurement struts) may be used in at least some or all configurations. When two or more measurement struts are used in a configuration, the two or more measurement struts may be coupled together (or simultaneously) between associated supports, i.e., a single measurement strut is not coupled sequentially between different pairs of supports to reproduce the configuration. Fewer than three measurement struts (e.g., one or two measurement struts) may be used in at least some or all configurations.
[0026] The use of multiple measurement struts in this manner and combining them in a flexible manner to achieve a wide range of joint motion allows more accurate and / or effective calibration or characterization of joint offsets to be performed, particularly for those joint offsets closest to the base end of a serial kinematic coordinate positioning machine such as a robotic arm. The procedure is also relatively simple and inexpensive to perform compared to other known systems and procedures.
[0027] The length measuring device has a connecting element at each end configured to connect to and abut an abutment surface of the spherical support, so that the measuring point of the measuring device coincides with the center of the spherical support or is at a known offset from the center of the spherical support and remains in that state as the connecting element moves over at least a predetermined or working portion of the abutment surface.
[0028] The length measuring device may be adapted to measure the distance (or the change in this distance) between two measuring points of the device. The measuring points may be the centers of balls at the ends of the measuring device or the centers of balls to which the measuring device is coupled. The coupling element may be cup-shaped. The measuring device may have a ball at one end and a cup at the other end, or may have cups at both ends, the cups adapted to be coupled at least partially to the spherical surface of the adapter.
[0029] The linkage may be kinematic, or at least quasi-kinematic.The measurement device may be a measurement strut.
[0030] The movable support (i.e., the one that is moved by the machine) and the fixed support may each be spherical or at least partially spherical and have a spherical or at least partially spherical abutment surface to which the connecting element of the length measuring device may connect.
[0031] Arrangements of movable and fixed supports different from those described above may be used. For example, there could be an artifact with three supports moved by the machine and a single fixed support. A different number of fixed and movable supports (i.e., other than 3-1 or 1-3, e.g., 3-2 or 2-3 or 3-3) could also be used, with a corresponding number of measurement struts. In general, the use of multiple measurement struts in a flexible manner to calibrate or characterize the joint offsets of a coordinate positioning machine, such as a robotic arm, has not previously been proposed.
[0032] The method may also be applied to the calibration or characterization of other model parameters of a coordinate positioning machine as well as, or instead of, the calibration or characterization of at least one joint offset.
[0033] With respect to step (a) of the method, each configuration may comprise (or consist of) one or more length measuring devices coupled between different combinations of supports (compared to each other configuration).
[0034] At least one configuration (eg, all configurations) may comprise (or be comprised of) a different number of length measuring devices relative to at least one other configuration.
[0035] At least one configuration (e.g., all configurations) may comprise (or consist of) the same number of length measuring devices as at least one other configuration, but connected between different combinations of supports.
[0036] With respect to step (b) of the method, the relative movement between the first member and the second member performed for each configuration may be different from that performed for at least one other configuration (e.g., all other configurations).
[0037] The model parameters may include at least one joint offset, and step (c) may include using the calibration data to determine a better estimate of the at least one joint offset. The method may be used to calibrate or characterize multiple joint offsets, such as all joint offsets.
[0038] At least one arrangement may consist of a plurality of length measuring devices simultaneously coupled between associated supports.
[0039] When at least one configuration is comprised of multiple length measurement devices, at least two of the length measurement devices comprising that configuration may be coupled at different times between associated supports (coupled as different subsets of length measurement devices, each subset including one or more length measurement devices), and the same movement may be performed on each of these length measurement devices (or subsets of length measurement devices), thereby effectively recreating a configuration in which the same movement is performed on all length measurement devices simultaneously coupled between associated supports. References herein to a configuration having (or consisting of) a particular number of length measurement devices (e.g., three length measurement devices) should be understood in this context, such that it is not a requirement that all of these length measurement devices be simultaneously coupled between associated supports.
[0040] Step (a) of the method may include coupling up to three length measuring devices in a number of different configurations between a single support attached to a first member and a triangular arrangement of three supports attached to a second member.
[0041] Step (a) of the method may include coupling up to six length measuring devices in a plurality of different configurations between a triangular arrangement of three supports attached to a first member and a triangular arrangement of three supports attached to a second member.
[0042] At least one of the configurations (eg, all of the configurations) may have two or more length measuring devices coupled between the supports.
[0043] At least one of the configurations may have one or more length measurement devices coupled between the supports and fewer than six length measurement devices.
[0044] At least one of the configurations may have fewer than three length measuring devices coupled between the supports.
[0045] At least one of the configurations may have (just) a single length measuring device coupled between the supports.
[0046] Each configuration may have (exactly) a single length measurement device coupled between the supports. Each configuration may have (exactly) two length measurement devices coupled between the supports. Each configuration may have (exactly) three length measurement devices coupled between the supports.
[0047] At least one of the configurations may have (exactly) two length measuring devices connected simultaneously (in a triangular configuration) between the supports.
[0048] At least one of the configurations may have (exactly) three length measuring devices connected simultaneously (in a tripod configuration) between the supports.
[0049] Where multiple supports are attached to an associated (i.e., first or second) member, the supports may be mounted (on the associated member) in fixed positions relative to each other (with known, measured, or calibrated geometric relationships to each other).
[0050] The relative positions between the supports (on the members involved) may be measured using a separate coordinate measuring machine (thereby characterising the geometry of the arrangement of supports) and this relative position information may be used in step (c).
[0051] The method may include measuring the relative positions between the supports (on the members involved) using one or more length measuring devices (thereby characterizing the geometry of the arrangement of the supports).
[0052] The supports (on the associated members) may be arranged relative to one another in such a way that the geometry of the arrangement of the supports can be (completely) characterized by measurements between different pairs of supports that are within the measurement range of the length measuring device used in the method, in other words the spacing between these pairs of supports may be within the measurement range of the length measuring device.
[0053] The supports (on the members involved) may be attached in a non-planar (or three-dimensional) arrangement relative to each other, for example, a tetrahedral arrangement.
[0054] Each length measuring device may be adapted to provide a measurement of the distance between two measuring points of the device, or at least a measurement of the change in this distance.
[0055] The measurement point can be the ball at the end of the measuring device or the center of the ball to which the measuring device is connected.
[0056] Each support may have an at least partly spherical abutment surface, and each length measuring device may have a connecting element at each end adapted to connect to and abut the abutment surface of the corresponding support, such that the measuring point of the measuring device will coincide with or be at a known offset from the centre of the at least partly spherical abutment surface and will remain so as the connecting element moves over at least a predetermined portion or working portion of the abutment surface.
[0057] Each length measuring device may have a limited range of movement and / or measurement range.
[0058] Each length measuring device may be of the same type, for example, having the same limited range of movement and / or measuring range.
[0059] Each length measuring device may be or may comprise a measuring strut or a ballbar and / or may be based on a cable system or an interferometric measuring system.
[0060] The calibration data may include measurement data (such as length or spacing) from a length measuring device.
[0061] The calibration data may include machine coordinate data.
[0062] Calibrating or characterizing a machine may include one or more of calibrating, verifying, authenticating, and verifying performance of the machine.
[0063] The coordinate positioning machine may be a non-Cartesian machine and / or a parallel kinematic machine.
[0064] The coordinate positioning machine may be a robotic arm (or an articulated arm like a robotic arm).
[0065] The robotic arm may include multiple revolute joints arranged in series between a base end and a head end.
[0066] The coordinate positioning machine may be a hexapod.
[0067] The first member may be a moving member of a machine, such as an end effector or spindle or flange of a robot arm.
[0068] The second member may be a fixed member of the machine, such as a fixed platform or bed.
[0069] Step (c) of the method may include determining a set of new model parameters that will fit the calibration data (e.g., recorded lengths and / or intervals) better than an existing set of model parameters, e.g., based on an objective function.
[0070] Step (c) of the method may include determining an overall error value, representing the expected length / spacing, and updating at least one model parameter to reduce the overall error value.
[0071] Step (c) of the method may include iteratively updating at least one model parameter until a predetermined test is satisfied.
[0072] The model parameters may include a plurality of tool frame parameters, and step (c) may include updating at least three tool frame parameters, for example three tool frame parameters that define the location of the tool centre point.
[0073] The model parameters may include a plurality of partial frame parameters, and step (c) may include updating at least three of the partial frame parameters, for example, three partial frame parameters that define the position of the point of interest in the partial frame.
[0074] Step (c) of the method may involve determining new values or new values for only a subset of the model parameters (or could involve determining new values for most or all of the model parameters).
[0075] According to a second aspect of the present invention there is provided a method of verifying and / or updating a tool frame or part frame of a tool or part mounted on a coordinate positioning machine such as a robotic arm, the method comprising carrying out a method according to the first aspect, wherein step (c) comprises verifying and / or updating one or more parameters of the tool frame or part frame.
[0076] According to a third aspect of the present invention, there is provided a set of instructions which, when executed (e.g. by an operator), cause the method according to the first aspect to be performed. The instructions may be in printed form, electronic form, or a combination thereof. The instructions may form part of an operating manual. The instructions may be provided on a display by a computer program.
[0077] According to a fourth aspect of the present invention there is provided a kit (e.g. a calibration kit) for use in a method according to the first aspect, the kit comprising one or more length measuring devices, a first support arrangement comprising at least one support attached to a first member of the machine, and a second support arrangement (or calibration artefact) comprising a plurality of supports attached to a second member of the machine. The kit may include a set of instructions according to the third aspect or at least a link to or information on how to obtain such a set of instructions.
[0078] According to a fifth aspect of the present invention there is provided a support arrangement (or calibration artefact) for use in a method according to the first aspect, the support arrangement (or calibration artefact) comprising a plurality of supports attached to a second member of the machine.
[0079] According to a sixth aspect of the present invention there is provided 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 according to the first aspect, for example one or both of steps (b) and (c).
[0080] According to a seventh aspect of the present invention there is provided a computer readable medium having stored thereon computer program instructions for controlling a computer or machine controller to perform one or more steps of the method according to the first aspect, for example one or both of steps (b) and (c).
[0081] According to an eighth aspect of the present invention there is provided a computer or machine controller configured to carry out one or more steps of the method according to the first aspect, for example one or both of steps (b) and (c).
[0082] According to a ninth aspect of the present invention there is provided a system for calibrating or characterising a coordinate positioning machine comprising means for carrying out one or more steps of the method according to the first aspect, such as one or both of steps (b) and (c).
[0083] According to a tenth aspect of the present invention there is provided a method of controlling a coordinate positioning machine that has been calibrated or characterised using a method according to the first aspect.
[0084] According to an eleventh aspect of the present invention there is provided a coordinate positioning machine calibrated or characterised using a method according to the first aspect.
[0085] Reference will now be made, by way of example, to the accompanying drawings in which: [Brief explanation of the drawings]
[0086] [Figure 1] 1 is a schematic diagram of a coordinate positioning arm in the form of an articulated robot, as previously described, with a drilling tool mounted thereon; FIG. [Figure 2] 2 is a schematic diagram of an articulated robot with a gripping tool mounted thereon and with a different arrangement of rotation axes from that of FIG. 1, as previously described. [Figure 3] FIG. 1 is a schematic diagram previously mentioned and used to explain and describe the concept of tool center point in more detail. [Figure 4] 10A-10C are diagrams of the aforementioned figures that schematically illustrate a robot that moves an attached tool so that the tool's center point remains in the same position. [Figure 5] FIG. 1 illustrates a calibration kit for use in performing a joint offset calibration method according to one embodiment of the present invention. [Figure 6] FIG. 6 shows one of the measurement struts from the calibration kit of FIG. 5 connected between two spherical mounts. [Figure 7] FIG. 10 shows one of the measurement struts from the calibration kit housed between two spherical mounts of the calibration artifact. [Figure 8] FIG. 10 shows all three measurement struts of the calibration kit connected in a tripod configuration between the calibration artifact and a spherical mount attached to the end of the robot arm. [Figure 9] FIG. 10 shows two of the three measurement struts connected in different triangular configurations between a calibration artifact and a spherical mount attached to the end of a robot arm. [Figure 10] FIG. 10 shows two of the three measurement struts connected in different triangular configurations between a calibration artifact and a spherical mount attached to the end of a robot arm. [Figure 11]FIG. 10 shows two of the three measurement struts connected in different triangular configurations between a calibration artifact and a spherical mount attached to the end of a robot arm. [Figure 12] 10A-10C show just one of three measurement struts connected in different configurations between a calibration artifact and a spherical mount on the end of a robot arm. [Figure 13] 10A-10C show just one of three measurement struts connected in different configurations between a calibration artifact and a spherical mount on the end of a robot arm. [Figure 14] 10A-10C show just one of three measurement struts connected in different configurations between a calibration artifact and a spherical mount on the end of a robot arm. [Figure 15] FIG. 15 shows a series of photographs of an actual robotic arm performing the method illustrated generally in FIGS. 8-14. [Figure 16] FIG. 10 shows a more detailed measurement strategy using multiple measurement struts. [Figure 17] FIG. 10 shows a calibration plate for calibrating the measurement struts. [Figure 18] FIG. 10 illustrates a tetrahedral calibration artifact as an alternative to the flat calibration artifact of the previous embodiment. [Figure 19] FIG. 19 is a plan view of the tetrahedron calibration artifact of FIG. 18. [Figure 20] FIG. 20 shows a calibration artifact with an alternative arrangement of four supports compared to the support arrangement shown in FIGS. 18 and 19. [Figure 21A] FIG. 20 shows a three-dimensional alternative to the tetrahedral arrangement of FIGS. 18 and 19. [Figure 21B] FIG. 20 shows a three-dimensional alternative to the tetrahedral arrangement of FIGS. 18 and 19. [Figure 22] FIG. 21C shows a slight variation of the calibration artifact of FIGS. 21A and 21B used to calibrate a robotic arm. [Figure 23]15A-15C show schematic representations of various strut configurations used in the embodiment of FIGS. 8-14. [Figure 24] FIG. 10 illustrates how a single strut can be connected in three different configurations. [Figure 25] 17A-17D show schematic representations of various strut configurations used in the embodiment described with reference to FIG. 16. [Figure 26] 19A-19C show schematic representations of various strut configurations used in the embodiment described with reference to FIGS. 18 and 19. [Figure 27] 1A-1C show some examples of strut configurations where the first member has two supports and the second member has three supports. [Figure 28] 10A-10C illustrate several examples of strut configurations where both the first and second members have three supports. DETAILED DESCRIPTION OF THE INVENTION
[0087] As mentioned previously, calibration of the joint offsets of a robot arm is important. Liu et al. (see above) proposed the use of a laser pointer and a position-sensitive detector (PSD) attached to the end effector of the robot, with the laser aimed at the center of the PSD surface from various positions and orientations of the robot.
[0088] Applicant proposes a completely different approach to determining robot joint offsets, using multiple measurement struts (or ballbars) in different positions.
[0089] 5 shows a calibration kit 100 for use in carrying out a joint offset calibration method according to an embodiment of the present invention, the calibration kit 100 comprising a first support arrangement 30, a second support arrangement 20, and a set of three length measurement devices 50 (e.g. in the form of three measurement struts or ball bars). Also shown schematically as part of the calibration kit 100 is a set of instructions 60 that explains to an operator what manual steps need to be performed in a method embodying the present invention.
[0090] The first support arrangement 30, comprising a base member 32 and a spherical support, or ball, or mount 34, may be supported, for example, on the head end of the robot arm 1. The second support arrangement 20 comprises a rigid, substantially flat base plate 22 that supports three spherical supports or balls 24 in fixed positions relative to each other, for example to form an equilateral triangular arrangement. The second support arrangement 20 is also referred to herein as the calibration artefact 20.
[0091] As shown more clearly in FIG. 6 , each length measuring device 51 of the set 50 has a measuring body 52 and a connecting element 54 at each end. Each connecting element 54 is adapted to connect to and abut an abutment surface of a corresponding spherical support 24, 34, with a measuring point 56 of the measuring device 51 coinciding with the center of the spherical support 24, 34 or at a known offset from the center of the spherical support 24, 34 and remaining in that state as the connecting element moves over at least a predetermined portion or operating portion of the abutment surface. In the example shown in FIGS. 5 and 6 , each measuring strut 51 has a connecting element 54 in the form of a kinematic cup at each end, which connects to a corresponding spherical support 24, 34 as shown in FIG. 6 . The kinematic cup used for each connecting element 54 can be more clearly seen in the measuring device 51 shown in FIG. 17 .
[0092] FIG. 7 shows one of the measurement struts 51 of set 50 connected between two spherical supports 24. This allows the measurement strut 51 to be conveniently stored on the base plate 22 when not in use. However, when connected between the spherical supports 24 and activated to take a measurement, as shown in FIG. 7, it also allows the spacing between the spherical supports 24 (i.e., between the center points of the spherical supports 24) to be measured. In this way, by measuring each of the three sides of the triangular arrangement of supports 24 (each using three different measurement struts 51 of set 50, or using the same measurement strut 51), the geometry of the calibration artifact 20 can be fully characterized (the three points always lie on a plane, so all that is needed is the length of each side). The measurement strut 51 itself would be pre-calibrated, but can be re-calibrated in the field using a calibration plate such as the calibration plate for the QC-20W (ballbar) product from Renishaw plc, as shown in Figure 17. The calibration plate 62 would be made of a material with a low thermal expansion coefficient such as Zerodur, and would have two cups 63 for receiving two spherical supports or balls 64, between which the strut 51 is connected. This would be used to calibrate the "rest length" of the strut 51 (at one particular length), but calibration of the strut movement could be carried out beforehand using, for example, a laser calibration system such as the XL-80 product from Renishaw plc.
[0093] A method for calibrating or characterizing at least one joint offset of a coordinate positioning machine will now be described with reference to FIGS. 8 to 14. The coordinate positioning machine is of the type described above with reference to FIG. 2, having a first member (flange 3) movable relative to a second member (fixed base 2), and the machine geometry is characterized by a set of model parameters. As shown in FIG. 8, all three measurement struts 51 of the calibration kit 100 described above are initially connected in a tripod arrangement or configuration between the spherical supports 34 (attached to the first member, i.e., flange 3, of the robot arm 1) and different respective ones of the spherical supports 24 of the calibration artifact 20 (attached to the second member, i.e., fixed base 2). For simplicity, the base member 32 of the first support arrangement 30 is not shown. The spherical supports 34 on the robot arm 1 may conveniently be adapters, such as those described in U.S. Pat. No. 6,613,994 (see, for example, FIGS. 16-30 of U.S. Pat. No. 6,613,994). To avoid collisions, a connecting element 54 offset to one side of the longitudinal axis A of the measuring strut 51 can be used, as described, for example, in US Pat. No. 5,649,999.
[0094] A controller 8 (not shown in FIG. 8, but see FIGS. 1, 2, and 5) is used to control the robot 1 in this configuration to produce a series of movements, such as a nominal rotational movement about a fixed point. The robot 1 is controlled to stop at each of a number of discrete positions, at each of which measurements from the three measurement struts 51 are recorded as calibration data (along with the machine coordinates at the time the measurements were made). As mentioned above, the tool center point 46 is the point relative to which all robot positions are defined; therefore, in this context, rotation of the robot 1 about a fixed point implies rotation about the tool center point 46, which remains stationary (at least in the ideal calibration case).
[0095] For example, by using an adapter such as that described in U.S. Patent No. 5,999,149, if measurement point 56 is coincident with tool center point 46, and motion is about a nominally fixed point, measurements from the three struts 51 should ideally all be constant, and deviations (or errors) from that expectation would allow the machine parameters (or model parameters) to be updated, providing a more accurate estimate of the machine parameters (using known error minimization methods discussed above). This would equally apply to expected motions that result in changes in the length of each of the three struts 51, in which case optimization would be based on a comparison (or difference or error) of the expected and measured lengths.
[0096] In FIG. 8 , due to the potentially limited range of motion for each measurement strut 51, motion is primarily limited to rotation about the apex of the tripod arrangement or configuration and relatively small translational movements within the tripod arrangement or configuration. However, the modular design of the calibration kit 100 conveniently allows one of the measurement struts 51 to be removed, thereby leaving only two measurement struts 51 in the tripod arrangement or configuration, as shown in FIG. 9 . This different configuration of the measurement struts 51 now allows for a greater range of motion for the robot 1, e.g., movement in a wider vertical arc from one side to the other. In doing so, the joints of the robot 1 will experience a greater range of motion, and therefore better calibration. The use of arrows (representing motion) of the same position, size, and shape (compare FIGS. 8 and 9 ) does not imply that the same motions are performed, as these are purely schematic in nature; in fact, the opposite is true, as a much wider range of motion is performed in the configuration shown in FIG. 9 , as discussed above.
[0097] Execution of the calibration routine based only on the types of movement possible with the tripod arrangement of FIG. 8 is not optimal for calibrating joint offsets, particularly for lower robot joints (i.e., joints closer to the base end), such as the offsets of A2, A3 circled in FIG. 8, because these joints are not used much due to the limited movement range at the apex of the tripod. By expanding the movement range with only the two attached measurement struts 51, the movement range of these lower joints is expanded, which can result in better calibration of these joint offsets. The applicant has noticed that calibration of the joint offset of axis A2 is particularly problematic, and the method embodying the present invention is particularly beneficial with respect to this joint offset.
[0098] Measurements from the two measurement struts 51 are recorded as calibration data (again, along with the corresponding machine coordinates), and if the measurements are taken with the measurement points 56 being nominally moved along an arc, the measurements from the two struts 51 should ideally both be constant. As shown in FIGS. 10 and 11, this can be repeated for a pair of measurement struts 51 connected in different triangular configurations between two different corresponding pairs of spherical supports 24 on the calibration artifact 20. These can be considered different configurations of the measurement struts 51 as it can be understood that different configurations in this context mean different numbers of measurement struts 51, or the same number but measurement struts 51 connected between different pairs of supports 24, 34 (which will be explored in more detail below, referring to FIGS. 23 - 28). Again, the deviation (or error) from the expectation that the measurements from the two struts 51 will be constant allows the machine parameters (or model parameters) to be updated and will provide a more accurate estimate of the machine parameters (using the known error minimization method described above).
[0099] FIG. 12 goes a step further by removing another measurement strut 51, leaving only one of the three measurement struts 51 connected between the calibration artifact 20 and the spherical support 34 at the end of the robot arm 1. This configuration allows an even greater range of motion for the robot 1, particularly its joints, and more specifically the lower joint associated with axis A2. This can be repeated to collect more calibration data with a single strut 61 connected between the support of the robot arm 1 and the other two supports 24 of the calibration artifact 20, as shown in FIGS. 13 and 14 (all of which are considered different configurations of the measurement strut 51). Measurements from the single measurement strut 51 are recorded as calibration data (along with the corresponding machine coordinates); ideally, measurements from the strut 51 should remain constant as the measurement point 56 is nominally moved along the spherical surface. Again, the deviation (or error) from that expected value will allow the machine parameters (or model parameters) to be updated, providing a more accurate estimate of the machine parameters (using known error minimization methods, as discussed above).
[0100] Methods embodying the present invention allow calibration data to be collected as measurements taken with one, two, or three attached measurement struts 51, or a combination of two or more of these. If two measurement struts 51 are used, they may be coupled between any of three different pairs of spherical supports 24 on the base plate 22, each considered a different configuration, as well as if only one measurement strut 51 is used; calibration data may be collected for these alternative configurations and used in an error minimization routine to determine better estimates of machine parameters, particularly joint offsets, resulting in a better characterization of the machine geometry.
[0101] These concepts described with reference to the schematic diagrams of Figures 8 to 14 are illustrated in action on an actual robot arm in Figure 15, which is shown performing movements with three (x3), then two (x2), then one (x1) measurement struts attached.
[0102] 16 shows a more specific calibration strategy to enable robust identification of the joint offsets (or axis offsets) of a robot using multiple measurement struts 51. The proposed strategy includes instructions on where to place the tripod base as well as the position, orientation, and configuration selected to take the measurements.
[0103] There are 13 parameters to identify when calibrating joint offsets according to this proposed strategy. Articulation offsets for axes A2, A3, A4, and A5 ·Tool center point (TCP) Tripod base position and orientation To define a proposed strategy, a group of positions that would allow the parameters to be separated (such as when reversing the direction of a parameter) is identified, and the strategy can be verified with Monte Carlo simulations (parameter errors and stability, correlation, and position errors can be verified with ISO testing).
[0104] A set of robot positions was discovered that did not properly correlate with the calibrated parameters. The efficiency of this strategy depended on the initial choice of tripod position. It was discovered that this set of positions should preferably be replicated in various configurations to avoid corruption from uncalibrated (e.g., Denavit-Hartenberg) robot parameters.
[0105] The proposed strategy is tested in Monte Carlo simulations and it provides good results both when calibrating the offset of axis A2 (with inverting the configuration of axis A1) and without calibrating it.
[0106] The proposed strategy is as follows:
[0107] (a) Move robot 1 to the "folded" position. In this position, the elbow (at axis A3) is somewhere above TCP 46 and tool 40 is oriented to offset TCP 46 as far as possible horizontally from axis A1. A line 43 is marked between the elbow (axis A3) and TCP 46, and when axis A3 is actuated in this position, TCP 46 will move along arc 45.
[0108] (b) Position the tripod base 22 so that the TCP 46 in the "folded" position is in the lower triangle "a" closest to the robot 1.
[0109] (c) When in the lower triangle "a" closest to the robot 1 (in the "folded" position), with the two struts 51 connected in a triangular configuration between the base 22 and the TCP 46, two measurements are taken as the robot rotates about the Z axis such that axis A5 moves along arc 47, thereby determining the maximum rotation of axis A1.
[0110] (d) A movement is performed to reach the main position (top of the tripod) and the first measurements are taken on the three struts 51 connected to the tripod configuration.
[0111] (e) When in the main position (top of the tripod) with three struts 51 connected in a tripod configuration between the base 22 and the TCP 46, take six measurements as you rotate around X, Y, and Z (seeking ±90°).
[0112] (f) Take one measurement at each of triangles “a,” “b,” and “c” below the tripod base (i.e., with the two struts 51 connected between the base 22 and the TCP 46 in three different configurations, each of which is different from the tripod configuration).
[0113] (g) After reversing the configuration of axis A5, the robot 1 is returned to the main position (the apex of the tripod) and measurements are taken on the three struts 51 connected in a tripod configuration between the base 22 and the TCP 46.
[0114] (h) While in the main position (the apex of the tripod), with the three struts 51 connected in a tripod configuration between the base 22 and the TCP 46, three measurements are taken as it is rotated around X, Y, and Z (seeking 90°).
[0115] (i) If possible, move the robot 1 to a position where axis A1 is rearward, return to the primary position (top of the tripod) and take measurements with the three struts 51 connected in tripod configuration between the base 22 and the TCP 46.
[0116] (j) While in the main position (the apex of the tripod), three measurements are taken as the three struts 51 are rotated (seeking 90°) around X, Y, and Z while connected in a tripod configuration between the base 22 and the TCP 46.
[0117] It will be understood that other alternatives are possible within the general concepts described herein. For example, while the embodiment described above has a single movable support 34 (moving with the flange 3 of the robot 1) and a triangular arrangement of fixed supports 24 (fixed to the base 2 of the robot 1), it will be understood that this could be reversed so that the triangular arrangement of supports 24 is instead attached to the flange 3 of the robot 1 and the single support 34 is attached to the base 2 of the robot 1.
[0118] Different numbers of fixed and movable supports could also be used, i.e., other than a 1-3 arrangement of one movable and three fixed supports, or a 3-1 arrangement of three movable and one fixed support. For example, a 3-2 or 2-3, 3-3, 2-4 or 4-2 arrangement could be used, with a corresponding number of measurement struts 51 provided in set 50. In a 3-3 arrangement, there would be six measurement struts 51 provided in set 50, with anywhere from one to six used simultaneously in various configurations. In general, the flexible use of multiple measurement struts to calibrate or characterize joint offsets of a coordinate positioning machine, such as a robotic arm, has not previously been proposed.
[0119] While it may often be desirable to use different numbers of measurement struts 51 in different configurations during the course of performing a calibration or characterization method embodying the present invention, it will be understood that it is also possible to use the same number of measurement struts 51 in all of the different configurations. A configuration may be understood to be defined by the number of measurement struts 51 used in the configuration and the combination of the particular pairs of supports 24, 34 to which the measurement struts 51 are connected in the configuration. For example, the examples described above with reference to FIGS. 8 through 14 use one to three measurement struts 51 in each configuration, with different combinations of supports 24, 34 used for those configurations sharing the same number of measurement struts 51. Meanwhile, the example described above with reference to FIG. 16 uses three measurement struts 51 in a tripod configuration, but also uses two measurement struts 51 in three different triangular configurations, each based on a different combination of supports 24, 34 (to generate triangles "a," "b," and "c" above). For a more detailed discussion of this, see the description below with reference to Figures 23-28.
[0120] It is also possible to use a tripod arrangement of measurement struts 51 in any configuration, for example, a tetrahedral arrangement of four supports 24 on the calibration artifact 20 (rather than the triangular arrangement of three supports 24 described above). This would allow the tripod arrangement of measurement struts 51 to be coupled between different combinations of supports 24, 34 to generate different configurations, and calibration data to be collected in each of these configurations as described above. In such an embodiment, it would not be necessary to use any configuration with two or one measurement struts 51 (although it could be useful).
[0121] The tetrahedral calibration artifact 20 described above is shown in FIG. 18 , and its top view in FIG. 19 . Similar to the previous embodiment, the tetrahedral calibration artifact 20 includes a rigid, substantially flat base plate 22 supporting three spherical supports 24 in a fixed triangular arrangement. The tetrahedral calibration artifact 20 also includes a post or strut 26 extending upward from the base plate 22, which supports a fourth spherical support 24 to create the tetrahedral arrangement of supports 24. This non-planar (or three-dimensional) arrangement of supports 24, unlike the previously described planar (or two-dimensional) arrangement of supports 24, effectively creates three base triangles at different angles to one another. The measurement strut 51 may be coupled to the robot 1 in a tripod arrangement as described above, but this may now be repeated for three different configurations (each associated with three base triangles), performing various movements for each to collect calibration data for the optimization routine. This allows calibration data to be collected for a wider range of motion at the problematic joints described above (e.g., A2, A3 circled in FIG. 8), thereby resulting in better calibration of the associated joint offsets. Additionally, the spacing between pairs of supports 24 of tetrahedral calibration artifact 20 can be measured in a similar manner as described above by sequentially connecting measurement struts 51 between each pair, thereby allowing the geometry of tetrahedral calibration artifact 20 to be characterized (and with the position and orientation of each base triangle relative to one another known).
[0122] As an alternative to the tetrahedral arrangement of four supports 24 shown in FIGS. 18 and 19, a substantially flat or planar arrangement of four supports 24, as shown in FIG. 20, may instead be used. In the calibration artifact 20 of FIG. 20, the fourth support 24 is attached directly to the same base plate 22 as the other supports. However, this may be less preferable than the tetrahedral arrangement because deformation of the plate 22 (e.g., when bolted to the base 2) may result in three of the balls naturally lying in a plane, while the remaining one may not lie in the same plane. Because it is not readily possible to measure the height of the other balls using the struts 51, an external calibration (e.g., using an independent CMM) may need to be performed. The three-dimensional tetrahedral arrangement of four balls (see FIG. 18) allows the geometry of the artifact 20 to be fully characterized using the struts 51 themselves.
[0123] An alternative to the tetrahedral arrangement of FIGS. 18 and 19 is shown in FIGS. 21A and 21B. The calibration artifact 20 of FIGS. 21A and 21B includes five supports 24. The base framework 22 is suitably adapted to mount the supports 24 in predetermined, fixed spatial relationships relative to one another to generate five base triangles at different angles relative to one another. These base triangles are apparent in FIG. 21B, which shows measurement struts 51 connected between each of nine different pairs of supports 24 to define the five base triangles and characterize the overall geometry of the calibration artifact 20 as described above. The measurement struts 51 can then be connected in five different tripod configurations for a calibration routine, thereby fully exercising the various joints (through movements performed while in each of the different tripod configurations) and providing a rich calibration data set for the optimization routine. FIG. 22 shows a slight variation of the calibration artifact 20 of FIGS. 21A and 21B used to calibrate the robot 1, with one of the tripod arrangements of measurement struts 51 in place.
[0124] What is meant by "configuration" in the context of embodiments of the present invention will now be explained in more detail with reference to the schematic diagrams of FIGS. 23-28. Starting with FIG. 23, this shows a schematic representation of seven different configurations C1 through C7, corresponding to those of FIGS. 8-14, respectively. A single support attached to the first (upper, movable) member of the machine is designated as Support A, and three supports attached to the second (lower, fixed) member of the machine are designated as Supports 1, 2, and 3, respectively. In configuration C1, there are three measurement struts connected respectively between (a) Support A and Support 1 (denoted as A1), (b) Support A and Support 2 (denoted as A2), and (c) Support A and Support 3 (denoted as A3). Thus, configuration C1 can be designated as {A1, A2, A3}. Similarly, configuration C2 is designated as {A1, A3}, and so on. A summary of each configuration is shown in FIG.
[0125] Thus, each different configuration is defined by a different combination of supports, whether by a different number of struts within the configuration, or the same number of struts connected between different pairs of supports, or a combination thereof. It is important to note that configuration C1 is not generally equivalent to the combination or union of configurations C5, C6, and C7, since different movements would generally be performed by the machine in each of these configurations. However, if the same movements were specifically provided by the machine to be performed for each of configurations C5, C6, and C7, that would be considered equivalent to performing those movements in configuration C1 (because the same measurements would be recorded for the calibration data). Second, additional (different) movements may be performed individually for each of configurations C5, C6, and C7 (i.e., different from the movements performed for the C5, C6, and C7 combination that replicates C1), and thus each of these would also be considered a different configuration in its own right, since they would each generate different measurements for the calibration data. Similarly, configuration C2 is not generally equivalent to a combination or union of configurations C5 and C6, but if specific provision is made for the same machine movements to be made for each of configurations C5 and C6, this would be considered equivalent to making those movements for configuration C2. In this manner, it would be possible to use a single measurement strut (or two measurement struts) to form all of configurations C1 through C7 shown in Figure 23, although this would of course lengthen and complicate the calibration procedure compared to using three measurement struts.
[0126] In another embodiment, only one measurement strut 51 could be coupled in different configurations between different pairs of supports 24, 34 (i.e., without using any configuration with more than one measurement strut 51). This is shown schematically in FIG. 24 , which uses the same scheme used with reference to FIG. 23 to illustrate three configurations C1 to C3 (so no further detailed explanation is needed). This embodiment differs from that previously proposed in [Illegible Text], because that proposal suggested coupling a single ballbar between different pairs of supports but moving between the same set of machine poses for each ballbar. This is equivalent to simply using a single ballbar to generate a hexapod arrangement, and thus just a single (hexapod) configuration of the ballbar (see the discussion above regarding FIG. 23 ). In one embodiment of the present invention, multiple different configurations are used, and the machine is not constrained to move between the same poses in each configuration. There is no requirement that in each position, the measurement struts 51 be able to be coupled between all pairs of supports simultaneously (i.e., within the normal measurement range of the measurement struts 51). This allows for more extreme mechanical movements, not constrained by the limited range of available movement / measurement produced by the combination of all six struts, and therefore results in improved overall calibration.
[0127] It should be noted that the spacing between the three supports attached to the second (lower, fixed) member of FIG. 24 does not need to be known (as described above for the tetrahedral calibration artifact 20 of FIG. 18 ), or in other words, the geometric shape of the artifact is not known. For example, it is sufficient to move the first member around the upper support, keeping that support nominally in a constant position, while rotating it between different measurement positions, knowing that the measurements from the measurement strut should be constant for each configuration, and that if they are not constant, the calibration can be updated (i.e., to better fit the measurement data). This does not require that the spacing between the lower supports be known; it is sufficient simply to know that each lower support is in a fixed position. While knowing those distances may speed up the calibration process, it is not essential. In fact, this is true for all embodiments described herein.
[0128] Figure 25 shows a schematic representation of four different configurations C1-C4, which correspond to the configurations used in the embodiment described above with reference to Figure 16. Configuration C1 is the configuration used for measurements made at the main position (top of the tripod), while configurations C2, C3, and C4 are configurations used at the lower triangles "a," "b," and "c" of the tripod base, respectively. Again, as described above, this could be reproduced using only one or two measurement struts.
[0129] Figure 26 shows a schematic representation of three different configurations C1-C3, which correspond to the configurations used in the embodiment described above with reference to Figures 18 and 19. In Figure 26, a tetrahedral arrangement of four supports is represented schematically by a linear arrangement of supports, with support 1 on the second (lower, fixed) member corresponding to the central (higher) support 24 shown in Figures 18 and 19. This is an example where each of the three different configurations C1-C3 has the same number of measurement struts, but connected between different pairs of supports. Again, as described above, this could be reproduced using one or two measurement struts.
[0130] FIG. 27 shows an example in which the first (upper, movable) member of the machine is provided with two supports, designated A and B, respectively, and the second (lower, fixed) member has three supports, designated 1, 2, and 3, respectively. Five representative configurations C1 through C5 are shown by way of example, with configuration C1 defined by six measurement struts in pairs designated {A1, A2, A3, B1, B2, B3}. Configuration C2 removes one of these pairs (designated B2), leaving {A1, A2, A3, B1, B3}, and so on, up to configuration C5, which has only one strut, designated {B3}. Calibration data will be collected with each of these configurations, but there may be many configurations used, hence the ellipsis (three dots) in FIG. 27. Again, as noted above, these configurations could be reproduced using fewer than five measurement struts (or even a single measurement strut).
[0131] FIG. 28 shows an example in which the first (upper, movable) member of a machine is provided with three supports, labeled A, B, and C, respectively, and the second (lower, fixed) member has three supports, labeled 1, 2, and 3, respectively. Five representative configurations C1 through C5 are shown as examples. Configuration C1 is defined by six measuring struts in combinations labeled {A1, A2, B1, B3, C2, C3}. This is a hexapod configuration of struts. Configuration C2 rearranges these six struts into a different configuration, {A1, A2, A3, B1, B2, C3}. Configuration C3 uses only four struts, labeled {A1, A3, B1, B2}, while configuration C4 uses three struts arranged as {B1, B2, B3}, and configuration C5 uses two struts arranged as {A2, C2}. Calibration data would be collected for each of these configurations, but there could be many configurations used, hence the ellipsis (three dots) in Figure 28. Again, as noted above, these configurations could be reproduced using fewer than six measurement struts (or even one measurement strut).
[0132] It will be understood that the various configurations shown in Figures 23-28 are merely representative and are not intended to be limiting. For example, a different number of supports than those shown could be used in the first and / or second members, and different combinations of these supports than those shown could be used to form different sets of configurations. For the set of configurations shown in Figure 24, for example, only two supports could be provided in the second (lower, fixed) member, in which case there would be only two possible configurations: configuration C1 with a single strut arranged as {A1} and configuration C2 with a single strut arranged as {A2}.
[0133] Calibration data collected during the performance of methods embodying the present invention includes measurements (e.g., lengths or spacings or changes thereto) from the measurement struts. The calibration data also includes information reflecting or representing the (recordable) state of the machine at the time each measurement was taken. This type of information (forming part of the calibration data) may be referred to as machine coordinates (or machine coordinate data), which in this context is intended to mean a set of coordinates or values representing the state of the machine (e.g., encoder readings for each joint) for a particular machine pose. In this regard, the various physical axes of motion of a machine, such as the linear axes defined by the telescoping legs of a hexapod machine or the rotational axes of an articulated robotic arm, may be considered to define the machine coordinate system, and hence the term machine coordinates, as used herein.
[0134] It will be understood that the present invention can be applied not only to machine calibration, but also to machine verification, certification, or performance confirmation. Terms such as calibration method, calibration artifact, calibration member, calibration data, and calibration point used herein should therefore be interpreted broadly and appropriately depending on the intended application, and should not be limited to calibration per se. In other words, the concepts described herein apply not only to updating model parameters (calibration) but also to confirming or verifying model parameters (verification or certification). These terms should therefore be understood in the context of machine calibration or other characterization. As an example, the term calibration artifact includes within its scope a gage artifact. The terms target point, target artifact, and target member could be used in place of calibration point, calibration artifact, and calibration member, respectively.
[0135] The machine controller that controls the operation of the coordinate positioning machine may be a dedicated electronic control system and / or may comprise 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 running on the machine, and in particular a program running on a coordinate positioning machine controller such as controller 8. Such a program could be stored on a computer-readable medium or embodied in a signal, such as a downloadable data signal provided from an internet website. The appended claims should be interpreted as covering the program itself, or a record on a carrier wave, or a signal, or any other form.
Claims
1. 1. A method of calibrating or characterizing a coordinate positioning machine having a first member moveable relative to a second member, wherein the geometry of the machine is characterized by a set of model parameters, the method comprising: (a) coupling one or more length measuring devices between at least one support attached to the first member and a plurality of supports attached to the second member in a plurality of different configurations; (b) controlling the machine to move the first member relative to the second member and collect calibration data for each of the plurality of configurations; and (c) using the calibration data to determine a better estimate for at least one of the model parameters.
2. 10. The method of claim 1, wherein each configuration comprises one or more length measuring devices coupled between different combinations of supports for different configurations.
3. 3. The method of claim 1 or 2, wherein at least one arrangement comprises a different number of length measuring devices than at least one other arrangement.
4. 4. The method of claim 1, 2 or 3, wherein at least one arrangement comprises length measuring devices coupled between the same number of supports as at least one other arrangement, but in a different combination.
5. 5. The method of claim 1, wherein the relative movement between the first member and the second member performed for each configuration is different from the movement performed for at least one other configuration.
6. 6. The method of claim 1, wherein the model parameters include at least one joint offset, and step (c) includes using the calibration data to determine a better estimate for the at least one joint offset.
7. A method according to any one of claims 1 to 6, characterized in that at least one arrangement consists of a plurality of length measuring devices simultaneously connected between associated supports.
8. 8. A method according to any one of claims 1 to 7, characterized in that at least one arrangement consists of a plurality of length measuring devices, at least two of the plurality of length measuring devices being coupled between associated supports at different times, and the same movement being performed for each of these length measuring devices.
9. 9. The method of any one of claims 1 to 8, wherein step (a) comprises coupling up to three length measuring devices in a plurality of different configurations between a single support attached to the first member and a triangular arrangement of supports attached to the second member.
10. 10. The method of any one of claims 1 to 9, wherein step (a) comprises coupling up to six length measuring devices in a plurality of different configurations between a triangular arrangement of supports attached to the first member and a triangular arrangement of supports attached to the second member.
11. A method according to any one of claims 1 to 10, characterized in that at least one of said arrangements comprises two or more length measuring devices connected between said supports.
12. 12. The method according to any one of claims 1 to 11, wherein at least one of the arrangements comprises more than one length measurement device and fewer than six length measurement devices coupled between the supports.
13. A method according to any one of claims 1 to 12, characterized in that at least one of said arrangements comprises less than three length measuring devices connected between said supports.
14. A method according to any one of claims 1 to 13, characterized in that at least one of said arrangements comprises a single length measuring device connected between said supports.
15. A method according to any one of claims 1 to 14, characterized in that each of said arrangements comprises a single length measuring device connected between said supports.
16. A method according to any one of claims 1 to 15, characterized in that at least one of said arrangements comprises two length measuring devices simultaneously connected between said supports.
17. A method according to any one of claims 1 to 16, characterized in that at least one of said arrangements comprises three length measuring devices simultaneously connected between said supports.
18. 18. A method according to any one of claims 1 to 17, characterized in that when there are multiple supports attached to the associated member, the supports are attached in fixed positions relative to each other.
19. 20. The method of claim 18, wherein the relative position between the supports is measured using a separate coordinate measuring machine, and this relative position information is used in step (c).
20. 20. A method according to claim 18 or 19, comprising measuring the relative position between the supports using one or more of the length measuring devices.
21. 21. A method according to claim 18, 19 or 20, characterized in that the supports are arranged relative to one another such that the geometry of the arrangement of the supports can be characterized by measurements between different pairs of the supports that are within the measurement range of the length measuring device used in the method.
22. A method according to any one of claims 18 to 21, characterized in that the supports are mounted in a non-planar arrangement relative to each other, for example a tetrahedral arrangement.
23. A method according to any one of claims 1 to 22, characterized in that each of the length measuring devices is adapted to provide a measurement of the distance between two measuring points of the device.
24. 24. The method of claim 23, wherein the measurement point is at the center of a ball at the end of the measurement device or at the center of a ball that the measurement device couples to.
25. 25. A method according to any one of claims 1 to 24, wherein each support has an at least partially spherical abutment surface, and each length measuring device has at each end a connecting element adapted to connect to and abut the abutment surface of the corresponding support, the measuring point of the measuring device coinciding with the centre of the at least partially spherical abutment surface or at a known offset from the centre of the at least partially spherical abutment surface and remaining in that state when the connecting element moves over at least a predetermined part or working part of the abutment surface.
26. A method according to any one of claims 1 to 25, characterized in that each length measuring device has a limited range of movement and / or measuring range.
27. 27. The method according to any one of claims 1 to 26, characterized in that each length measuring device is of the same type, e.g. has the same limited range of movement and / or measuring range.
28. A method according to any one of claims 1 to 27, characterized in that each length measuring device is a measuring strut or a ball bar.
29. A method according to any one of claims 1 to 28, characterized in that the calibration data includes measurement data from the length measuring device and machine coordinate data.
30. 30. The method of any one of claims 1-29, wherein calibrating or characterizing the machine comprises one or more of calibrating, verifying, authenticating, and verifying the performance of the machine.
31. A method according to any one of claims 1 to 30, characterised in that the coordinate positioning machine is a non-Cartesian machine and / or a parallel kinematic machine.
32. A method according to any one of claims 1 to 31, characterised in that the coordinate positioning machine is a robotic arm.
33. 33. The method of claim 32, wherein the robotic arm comprises a plurality of revolute joints arranged in series between a base end and a head end.
34. A method according to any one of claims 1 to 33, wherein the coordinate positioning machine is a hexapod.
35. 35. The method of any one of claims 1-34, wherein the first member is a moving member of a machine, such as an end effector of a robot arm, a spindle, or a flange.
36. A method according to any one of claims 1 to 35, wherein the second member is a fixed member of the machine, such as a fixed platform or bed.
37. 37. A method according to any one of claims 1 to 36, wherein step (c) comprises determining a new set of model parameters that fits the calibration data better than the existing set of model parameters, e.g. based on an objective function.
38. 38. The method of any one of claims 1 to 37, wherein step (c) comprises determining an overall error value representative of the expected length / spacing, and updating at least one model parameter to reduce the overall error value.
39. 39. A method according to any one of claims 1 to 38, wherein step (c) comprises iteratively updating the at least one model parameter until a predetermined test is satisfied.
40. A method according to any one of claims 1 to 39, wherein the model parameters comprise a plurality of tool frame parameters, and step (c) comprises updating at least three tool frame parameters, for example three tool frame parameters defining the position of the tool centre point.
41. A method according to any one of claims 1 to 40, wherein the model parameters comprise a plurality of partial frame parameters, and step (c) comprises updating at least three of the partial frame parameters, for example three partial frame parameters that define the position of a point of interest in the partial frame.
42. 42. A method according to any one of claims 1 to 41, wherein step (c) comprises determining a new value or new values for only a subset of the model parameters.
43. 43. A method of validating and / or updating a tool frame or part frame of a tool or part attached to a coordinate positioning machine such as a robot arm, the method comprising carrying out a method according to any one of claims 1 to 42, wherein step (c) comprises validating and / or updating one or more parameters of the tool frame or part frame.
44. A set of instructions which, when executed, cause the method of any one of claims 1 to 43 to be performed.
45. 44. A kit for use in a method according to any one of claims 1 to 43, the kit comprising one or more length measuring devices, a first support arrangement comprising at least one support attached to the first member of the machine, and a second support arrangement comprising the plurality of supports attached to the second member of the machine.
46. 46. A kit according to claim 45, further comprising the set of instructions of claim 44, or at least a link to or information on how to obtain such a set of instructions.
47. A support arrangement for use in a method according to any one of claims 1 to 43, characterized in that the support arrangement comprises the plurality of supports attached to the second member of the machine.
48. 44. 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 one of claims 1 to 43, such as one or both of steps (b) and (c).
49. 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 43, such as one or both of steps (b) and (c).
50. A computer or machine controller, characterized in that the computer or machine controller is configured to perform one or more steps of the method of any one of claims 1 to 43, for example one or both of steps (b) and (c).
51. A system for calibrating or characterising a coordinate positioning machine, said system comprising means for carrying out one or more steps of the method of any one of claims 1 to 43, such as one or both of steps (b) and (c).
52. A method of controlling a coordinate positioning machine, characterised in that the coordinate positioning machine has been calibrated or characterised using a method according to any one of claims 1 to 43.
53. A coordinate positioning machine, characterized in that the coordinate positioning machine has been calibrated or characterised using a method according to any one of claims 1 to 43.
Citation Information
Patent Citations
Coordinate positioning machine
WO2019162697A1
Coordinate positioning machine
WO2021074625A1
Coordinate positioning arm
WO2021116685A1
Measurement strut
WO2023037110A1