Coordinate Positioning Machine
The method of making point contacts between reference surfaces on movable and fixed members in non-orthogonal machines updates model parameters to reduce errors, enhancing the accuracy of machine characterization and tool center point determination.
Patent Information
- Application Number
- JP2025504682
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-28
- Filing Date
- 2023-07-28
- Publication Date
- 2025-07-25
AI Technical Summary
Calibration of non-orthogonal coordinate positioning machines, such as articulated robots, is challenging due to cumulative positional errors from serially arranged axes, making accurate characterization difficult.
A method involving point contacts between reference surfaces of tools attached to movable and fixed members to update model parameters, ensuring actual distance intervals are zero, even if expected distances are not, using a sensor to sense contact and perform error minimization or optimization routines.
This method enhances the accuracy of characterizing the machine structure by updating model parameters, reducing overall error, and improving the precision of tool center point determination and tool frame orientation.
Smart Images

Figure 2025524182000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a coordinate positioning machine. The present invention relates, but is not limited to, in particular, a system for calibrating or characterizing at least some aspects of a coordinate positioning machine. The present invention is particularly applicable, for example, to non-orthogonal coordinate positioning machines such as hexapods, measuring arms, or articulated robots.
Background Art
[0002] Articulated robots are commonly used in a variety of manufacturing applications such as assembly, welding, bonding, painting, pick-and-place (e.g., of printed circuit boards), packaging and labeling, palletizing, product inspection, and the like. This robot is optimal for use in an actual operating environment due to the advantages of wide application, robustness, wide reach, and high flexibility of movement.
[0003] An articulated robot (or simply “robot” for short) is schematically shown in the accompanying FIG. 1 and includes an articulated robot arm 1 extending from a fixed base 2 to a movable flange 3, with the flange 3 supporting a tool (or end effector) 4. The tool 4 in FIG. 1 is a drilling tool. Typically, the flange 3 is provided with a coupling that allows the tool 4 to be conveniently exchanged, whereby various tools or end effectors can be used depending on the application. Examples of applications include grippers, vacuum cups, cutting tools (including both mechanical cutting tools and laser cutting tools), drilling tools, milling tools, deburring tools, welding tools, and other special tools. The flange 3 is also more generally referred to as the “head” of the robot arm 1, the fixed base 2 is the “base”, and the robot arm 1 is controlled to move the head relative to the base by commands from a machine controller 8. The flange 3 may also be referred to as the “hand” of the robot arm 1.
[0004] The arm 1 includes a plurality of segments 5 connected by a combination of a lateral rotation axis 6 and an inline (or longitudinal) rotation axis 7, forming a mechanical linkage mechanism from one end to the other end. In the example shown in FIG. 1, there are three lateral rotation axes 6 and three inline rotation axes 7, and a total of six rotation axes are formed alternately by the lateral rotation axes 6 and the inline rotation axes 7. An additional inline rotation axis 7 (not shown in FIG. 1) can also be provided between the last lateral rotation axis 6 and the flange 3, and the tool 4 can be conveniently rotated around its longitudinal axis to form a total of seven rotation axes. Generally, the rotation axes of the robot do not necessarily have to be exactly orthogonal or exactly longitudinal axes, and can be arranged at any desired angle.
[0005] Another general configuration is shown in the arm 1 of FIG. 2, which includes the above-mentioned additional inline rotation axis 7 between the last lateral rotation axis 6 and the flange 3, and also omits the second inline rotation axis 7 from FIG. 1 (in the series from the base end to the head end), thereby forming a total of six rotation axes. The tool 4 in FIG. 2 is a gripper. The arm 1 in FIG. 2 represents the schematic of a well-known 6-axis industrial robot, the IRB140 by ABB Robotics. The last three axes 6, 7 form the "wrist" of the robot arm 1, and the center of this wrist is at the center of the last lateral rotation axis 6. The center of the wrist is invariant with respect to the rotation of the three rotation axes 6, 7 of the wrist, whereby the operation of the three rotation axes 6, 7 changes the orientation of the thing (in this case the gripper 4) attached to the wrist without changing the center position of the wrist. Here, the first three rotation axes 6, 7 of the robot arm 1 determine the center position of the wrist. The wrist can be easily removed from the remaining part of the arm 1.
[0006] The multi-joint robotic arms 1 in FIGS. 1 and 2 are examples of non-orthogonal coordinate positioning machines, in contrast to orthogonal machines such as conventional three-axis (X, Y, Z) coordinate measuring machines (see, for example, FIG. 1 of Patent Document 1), because their axes are not orthogonally arranged according to an orthogonal coordinate system. The arms 1 in FIGS. 1 and 2 are also examples of "serial kinematic" coordinate positioning machines because their moving axes are arranged in series. In this sense, such a machine is similar to a conventional three-axis orthogonal coordinate measuring machine, which is also an example of a "serial kinematic" coordinate measuring machine, and is in contrast to a "parallel kinematic" coordinate positioning machine such as a hexapod where the moving axes are arranged in parallel instead.
[0007] Each joint or axis of a coordinate positioning machine contributes to positional error or uncertainty. In a serial kinematic machine such as shown in FIGS. 1 and 2, due to the serial nature of the link mechanism, these errors are cumulative. This accumulation of positional error does not occur in the same sense in a parallel kinematic machine, but regardless of the type of machine, it is important to calibrate the machine to accurately indicate these errors or uncertainties.
[0008] Calibration of any type of non-orthogonal machine is an important issue, especially for the multi-joint arms shown in FIGS. 1 and 2, which have multiple rotating axes that are (a) arranged in series, (b) not fixed relative to each other, and (c) can be combined in a complex way to place a tool within the working range. Calibration of orthogonal machines is usually simpler. This is because such machines have three clearly defined axes that are orthogonally arranged and fixed relative to each other, and each axis is approximately independent of the others. In the case of a multi-joint robot, the position and orientation of each axis depend on the position and orientation of the other axes, so the calibration varies for each pose of the machine.
[0009] In many calibration techniques, commonly, there is a goal to define a parameter model of the relevant machine, and a set of model parameters (also called machine parameters) is used to characterize the structure of the machine. The uncalibrated values are initially assigned to these parameters as the starting point of the machine structure. During calibration, the machine changes to various different poses (based on the then estimated values of the machine parameters). For each pose, the actual pose is measured using a calibrated measuring device, and thereby, an indicator of the error between the assumed pose of the machine and the actual pose of the machine can be determined.
[0010] Next, in the operation of calibrating the machine, known numerical optimization or error minimization techniques are used to determine various sets of parameter values of the machine that minimize the error. Examples of such techniques include the well-known Levenberg-Marquardt method, which knows the derivative of the error according to the optimization of each parameter and uses the least squares method to minimize the error. (“A Method for Solving Certain Nonlinear Problems in the Least Squares Method”, Kenneth Levenberg, 1944, Quarterly of Applied Mathematics, 2:164 - 168, and “An Algorithm for the Least Squares Estimation of Nonlinear Parameters”, Donald Marquardt, 1963, SIAM Journal on Applied Mathematics, 11(2):431 - 441). Other techniques are also possible, such as techniques based on the maximum likelihood approach.
[0011] In the case of a robot as shown in FIGS. 1 and 2, these mechanical parameters may include various geometric parameters such as the length of each segment 5, the rotational angle offsets of each rotary joint 6, 7 (the calibrated offset obtained by adding the actual angle to the angle from the encoder), and various mechanical parameters such as joint compliance and friction. The mechanical parameters may also include the offset coordinates of the working point of a tool such as the tip of the drilling tool 4 in FIG. 1 with respect to the head or flange 3. In this regard, the offset of the working point (or tool center point) is important information, which will be described in more detail below.
[0012] When properly calibrated, if all of these mechanical parameters are known, it becomes possible to more reliably predict the actual position of the working point (or tool center point) of the tool 4 when the various axes or joints 6, 7 are commanded by the controller 8 to move to different respective positions. In other words, the mechanical parameters obtained from such calibration result in a more accurate characterization of the mechanical structure. These concepts related to the calibration of general coordinate positioning machines, particularly robotic arms, are discussed in more detail in Patent Document 2 and Patent Document 3.
[0013] However, the problems related to the calibration of non-orthogonal machines as described above still remain, and it is desirable to find improved methods and systems for calibrating or characterizing such non-orthogonal coordinate positioning machines. Such methods and systems can also find more general applicability to other types of coordinate positioning machines.
Prior Art Documents
Patent Documents
[0014]
Patent Document 1
Patent Document 2
Patent Document 3
[0015] According to a first aspect of the present invention, there is provided a method of calibrating (or characterizing) a coordinate positioning machine (e.g., a robot) having a first member (e.g., a flange or a spindle or a moving platform) movable relative to a second member (e.g., a fixed platform). The structure of the machine is characterized by a set of model parameters. The method includes: (a) controlling the machine to make (point) contact between a plurality of (different and / or distinct) reference planes of a tool or implement attached to the first member (which is denoted as the first tool) and a plurality of (different and / or distinct) reference planes of an implement attached to the second member (which is denoted as the second tool); and (b) updating at least one of the model parameters knowing (or taking into account) that the actual (inter-contact surface) distance is zero. In this regard, in step (b), since the contact surfaces are known to be in contact with each other, the actual distance interval between them is known to be zero, whereby the distance interval between them (or at least the closest distance interval between them) becomes zero (i.e., the contact point). This is valid even if the expected distance interval between the relevant surfaces, i.e., the distance interval as expected (or derived) from the current model parameters, is not zero (because the model parameters do not actually usually give the complete characteristics of the machine structure).
[0016] Step (a) may include, for each contact, making (e.g., at least three) point contacts between the end face of the first tool and the upper surface of the second tool in the same orientation of the first tool. This may enable the characterization of the orientation of the upper surface or the normal to the upper surface, for example, to update the Z vector of the tool setting fixture frame.
[0017] Step (a) may include (ii) making (e.g., at least four) point contacts between the end face of the first tool / appliance and the upper surface of the second tool / appliance in different orientations of the first tool / appliance for each contact. This may enable the characterization of a reference point associated with the end face of the first tool / appliance, e.g., the center of the spindle sphere, for example, to update a spindle frame having an origin at the center of the spindle sphere.
[0018] Step (a) may include (iii) making (e.g., at least three) point contacts at different positions around the side surface of the second tool between the end face of the first tool / appliance and the side surface of the second tool. These positions may be in a reference plane passing through the second tool, around a reference circle such as the equator of the tool setting sphere in the second tool. The axis of the first tool / appliance in step (a)(iii) may be aligned with or parallel to the orientation (e.g., the normal to the upper surface) determined in a previous step, such as step (a)(i), e.g., the Z vector of the tool setting frame. This may enable the characterization of the position of a reference point of the second tool, e.g., the center of the tool setting sphere, and / or the dimensions of the first tool / appliance, e.g., the apparent radius of the spindle sphere, and / or the dimensions of the second tool, e.g., the apparent radius of the tool setting sphere. This may be used to update the origin of the tool setting frame with a Z position offset from the XY position of the tool setting sphere center and the known (calibrated or machined within specifications) radius of the spindle sphere.
[0019] Step (a) may include making (e.g., at least three) point contacts between the side surface of the first implement / tool and the side surface of the second implement. This may enable the characterization of the orientation of the axis of the first implement / tool and / or the position of the reference point or axis of the first implement / tool (at least with respect to the first member). The axis of the first implement / tool in step (a)(iii) may be aligned with or parallel to the orientation (e.g., the normal to the upper surface) determined in a previous step, such as step (a)(i), like the Z vector of the tool setting frame. This can be used to update the tool setting frame using the Z vector from the center of the shaft portion to the center of the stylus sphere.
[0020] The method may include performing step (a)(iv) at at least two different positions along the length (or axis) of the first implement / tool. This may be done instead of performing step (a)(iii).
[0021] The first implement / tool may have a defined and / or specifiable axis, e.g., a longitudinal axis. The first implement / tool may be an elongated implement / tool having a defined and / or identifiable axis, e.g., a longitudinal axis.
[0022] If the first implement / tool is an implement rather than a tool, the first implement may have a rotational surface (e.g., a sphere on the axis, a cylinder parallel or coincident with the axis) along the tool axis. The desired tool frame may coincide with the tool axis (e.g., the TCP on the line and / or vector of the frame parallel to the axis).
[0023] The end face of the first implement / tool may be spherical or at least a rotational surface where it contacts at least the second implement. The center of at least the partial spherical surface or rotational surface may be substantially located on the defined and / or specifiable axis of the first implement / tool.
[0024] The side of the first implement / tool can be cylindrical where it contacts at least the second implement. The axis of at least a part of the cylindrical surface can be substantially parallel to and / or substantially coincide with the defined axis and / or identifiable axis of the first implement / tool, for example, such that it coincides with the defined axis of the first implement / tool and / or an identifiable axis.
[0025] The side of the first implement / tool can be axisymmetric with respect to a single axis of rotation (single rotation axis) and can be, for example, cylindrical or conical where it contacts at least the second implement.
[0026] The upper surface of the second implement can be planar where it contacts at least the first implement / tool.
[0027] The side of the second implement can be spherical where it contacts at least the first implement / tool.
[0028] The second implement can include a plane and a spherical surface (where it contacts at least the first implement / tool). It is not necessary to know the relative positional relationship between these two surfaces.
[0029] The first tool / implement can include a cylindrical surface having an axis that is substantially parallel to (and optionally substantially coincides with) the defined and / or identifiable axis of the first tool / implement where it contacts at least the second artifact / tool.
[0030] The first tool / implement can include a spherical surface or a surface of revolution having a center that is substantially located on the defined and / or identifiable axis of the first tool / implement where it contacts at least the second implement / tool.
[0031] If the first implement / tool is an implement rather than a tool, the method may further include attaching a tool to the first member instead of the first implement (preferably providing a common arrangement between the tool frame and the first implement frame using a common attachment system), and making at least one further contact between the end face of the tool and the upper surface of the second implement, and determining a length associated with the tool (or a value related to the tool length). Since it is quite possible to calibrate with a first cutting tool and then attach and adjust the length of a second cutting tool, it will be understood that this also applies when the first implement / tool is a tool rather than an implement. This step may be performed, for example, in view of the relative arrangement between the tool and the second implement, taking into account the updated model parameter(s) resulting from step (b).
[0032] The method may include updating a tool center point associated with the tool based on the length. In this regard, the tool center point can be regarded as forming part of the model parameters of the machine.
[0033] The method may include using at least a nominal geometric model representing the geometric shape of the first implement / tool and / or the second implement in step (a) and / or step (b).
[0034] The method may include using calibrated dimensional measurements of the second implement (e.g., from a separate and / or calibrated coordinate measuring machine) in step (a) and / or step (b).
[0035] The reference plane of the second implement may be a measurement plane. If the first implement / tool is an implement rather than a tool, the reference plane of the first implement may be a measurement plane. The measurement plane can be regarded as being accurate in the metrological sense in this context, e.g., planar or spherical within a given accuracy, and / or being acceptable for use as a reference plane in the measurement method.
[0036] The method may include using a sensor to sense contact between a first tool and a second tool.
[0037] The sensor may be attached to the second member.
[0038] The sensor may be a contact sensor having a deflectable stylus and a contact member for contacting the object being sensed.
[0039] The second tool may be used as the contact member of the contact sensor.
[0040] The sensor may be a contact probe or a tool setter.
[0041] The second tool may include a planar reference surface and a spherical reference surface (or at least a partially spherical reference surface). The (at least partially) spherical reference surface may define a plurality of possible contact points in a circular (or at least partially circular) arrangement. These contact points may be arranged in a plane parallel to the planar reference surface.
[0042] The second tool may be in the form of a frustum of a sphere (a section of a sphere between two parallel planes intersecting the sphere) or a truncated sphere (a part of a sphere on one side of a plane intersecting the sphere).
[0043] Step (a) may include moving the first and second members relative to each other to bring a plurality of different pairs of reference surfaces into point contact with each other (in sequence).
[0044] The coordinate positioning machine may be operable to move the first member relative to the second member with six degrees of freedom in step (a).
[0045] At least one of the surfaces of the first tool and / or the second tool may be a rotational surface. In this context, a rotational surface may be regarded as a surface that is rotationally symmetric or axially symmetric with respect to a rotation axis or axis of symmetry, or with respect to an axis of curvature, for example, as in the case of the surface of a cylinder, a sphere, or a torus.
[0046] A rotational surface may have at least one axis of rotation (or axis of rotational symmetry), such as in the case of a cylindrical surface.
[0047] A rotational surface may have at least two axes of rotation (e.g., two axes of the rotational surface), such as in the case of a spherical surface.
[0048] Calibrating or characterizing a machine may include one or more of calibrating, verifying, specifying, and inspecting the performance of the machine.
[0049] A coordinate positioning machine may include a non-orthogonal machine and / or a parallel kinematic machine.
[0050] A coordinate positioning machine may be a serial kinematic machine. A coordinate positioning machine may be a multi-joint arm (e.g., a robotic arm). A coordinate positioning machine may have a plurality of rotational actuators arranged in series.
[0051] A coordinate positioning machine may be a hexapod machine. A coordinate positioning machine may have six linear actuators arranged in parallel.
[0052] The first member may be a moving member of a machine, such as an end effector or a spindle or a flange of a robotic arm.
[0053] The second member may be a fixed member of a machine, such as a fixed platform or a fixed bed, or a base member of a serial kinematic machine, such as a robotic arm.
[0054] The second tool may be a calibration tool. If the first tool is not a tool but a fixture, the first fixture may be a calibration fixture. A fixture may be considered a calibration fixture in this context if it is measured, for example, by a separate and / or calibrated coordinate measuring machine and / or if it is machined within a predetermined and / or acceptable range.
[0055] Step (b) may include determining, for the recorded contacts, a new set of model parameters that may fit better than an existing set of model parameters, e.g., based on an objective function, thereby characterizing the structure of the machine better than the existing set of model parameters.
[0056] Step (b) may include determining an overall error value representing the expected distance intervals and updating at least one model parameter to reduce the overall error value, thereby bringing the expected distance intervals based on the updated model parameters overall or balanced closer to zero, thereby characterizing the structure of the machine better than the existing set of model parameters.
[0057] Step (b) may include repeatedly updating at least one model parameter, e.g., using an error minimization or optimization routine, until a predetermined test (e.g., based on the output of an objective function) is satisfied.
[0058] The model parameters may include a plurality of tool frame parameters (defining a tool frame). Step (b) may include updating at least three tool frame parameters. Step (b) may include updating three tool frame parameters that define the position of a point of interest of the tool frame, such as a tool center point. Step (b) may include updating five tool frame parameters that define the position and orientation of the axes of the tool frame. Step (b) may include updating six tool frame parameters that define the complete coordinate system of the tool frame.
[0059] The model parameters may include a plurality of component frame parameters (defining the component frames). Step (b) may include updating at least three component frame parameters. Step (b) may include updating three component frame parameters that define the position of the point of interest of the component frame. Step (b) may include updating five component frame parameters that define the position and orientation of the axis of the component frame. Step (b) may include updating six component frame parameters that define the complete coordinate system of the component frame.
[0060] Step (b) may include determining new value or values for only a part of the model parameters.
[0061] According to a second aspect of the present invention, there is provided a method of calibrating the axis of a spindle attached to a coordinate positioning machine such as a robotic arm, including performing the method according to the first aspect of the present invention, wherein step (b) includes determining at least the orientation of the axis (and preferably the position of the axis).
[0062] According to a third aspect of the present invention, there is provided a method of inspecting and / or updating a tool frame or a component frame of a tool or a component attached to a moving or fixed member of a coordinate positioning machine such as a robotic arm, including performing the method according to the first aspect of the present invention, wherein step (b) includes inspecting and / or updating one or more parameters of the tool frame or the component frame.
[0063] According to a fourth aspect of the present invention, there is provided a computer program that, when executed by a computer or a machine controller, causes the computer or the machine controller to perform one or more steps of the method according to the first aspect of the present invention.
[0064] According to a fifth aspect of the present invention, there is provided a computer-readable medium storing therein computer program instructions for controlling a computer or a machine controller to execute one or more steps of the method according to the first aspect of the present invention.
[0065] According to a sixth 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 of the present invention.
[0066] According to a seventh aspect of the present invention, there is provided a system for calibrating or characterizing a coordinate positioning machine, including means for executing one or more steps of the method according to the first aspect of the present invention, or the computer program according to the fourth aspect of the present invention, or the computer-readable medium according to the fifth aspect of the present invention, or the computer or the machine controller according to the sixth aspect of the present invention.
[0067] According to an eighth aspect of the present invention, there is provided a method for controlling a coordinate positioning machine calibrated or characterized using the method according to the first aspect of the present invention.
[0068] According to a ninth aspect of the present invention, there is provided a coordinate positioning machine calibrated or characterized using the method according to the first aspect of the present invention.
Brief Description of the Drawings
[0069] Here, by way of example, reference is made to the accompanying drawings.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
[0070] Figure 3 shows a schematic view of a tool 40 attached to a flange 3 of a robot arm of the type described above with reference to Figures 1 and 2. The tool 40 has an elongated member 42 attached at an angle (which may or may not be intentional) to the flange 3, and the elongated member 42 has a tip 44 at its distal end. The center 46 of the tip 44 is a particular point of interest because it can typically be the working point of the tool 40 or some other important reference point associated with the tool 40, and in the robot structure, this is generally referred to as the tool center point or TCP of the tool 40.
[0071] When programming the robot to move the tool 40 within its range of motion, the position of the tool center point 46 relative to the part of the robot to which the tool 40 is attached, in this case the flange 3, is important information. Specifying the coordinates or offsets (X, Y, Z) of the tool center point 46 is an important step in setting up the robot for operation. The tool center point 46 is the point with respect to which all robot positioning is defined and constitutes the origin of the tool frame (or tool coordinate system) 41, which will be described in more detail below. The tool center point 46 can correspond, for example, to the tip of an arc welding gun, the center of a spot welding gun, the end of a grinding tool, or the tip of a drilling tool as shown in Figure 1. Thus, the position of the tool center point 46 depends on the associated application.
[0072] It should be noted that knowing the coordinates or offsets of the tool center point 46 does not mean knowing the orientation of the tool 40 relative to the flange 3, nor does it mean knowing the length of the tool 40. This is because the tool center point 46 is defined relative to an arbitrary point 9 on the internally known and defined flange 3. And this arbitrary point does not necessarily correspond to the point where the elongated member or shaft 42 of the tool 40 is actually attached to the flange 3, as in the schematic example shown in FIG. 3. Therefore, determining the tool center point 46 of the tool 40 is not the same as, nor does it imply, determining the orientation or direction, or the length or size, of the tool 40.
[0073] During operation, it is the tool center point 46 that moves around the desired target position or is moved to the desired target position in the desired orientation of the tool. For example, referring to the concept of the "wrist" of a robotic arm of the type described above with reference to FIG. 2, the first three rotational axes of the robotic arm can be controlled to set the position of the wrist center, and the three rotational axes that make up the wrist can be used to change the orientation of the flange 3 relative to the first three axes. The position of the main point of the working tool 40 relative to the flange 3 can be determined from the information of the tool center point (TCP). By knowing and controlling these aspects in the robotic structure, the position of the working point 46 of the tool 40 can be controlled in a relatively simple manner.
[0074] Figure 4 schematically shows a robotic arm 1 instructed by a controller 8 to move a tool 40 such that the tool center point 46 of the tool 40 remains at the same position, or at least ideally remains at the same position. Such tests are typically performed to confirm that the tool center point 46 is correctly specified and are sometimes known as "tool orientation tests". The purpose is to evaluate the accuracy of the robot (and the accuracy of the coordinates X, Y, Z of the tool center point 46 as shown in Figure 3) by measuring, ideally without revealing the actual movement of the tool center point 46 when the test is being performed, the ability programmed into the controller 8 to rotate around the tool center point 46.
[0075] There are several methods for determining the absolute position of the TCP rather than simply specifying the position of the TCP as is done in a tool orientation test. The most common method currently is the pin-to-pin method where an operator visually aligns two pins in different orientations, one pin fixed to the machine base and the other movable by the robot to reference the TCP, at which time the robot is manually controlled by the operator. This is a convenient method but is relatively inaccurate as it depends heavily on the skill and experience of the operator. Also, the tool 40 needs to be removed and replaced with the pins. Other known methods can be very costly to implement, such as methods that utilize non-contact measurement systems like camera-based systems, laser scanners, or methods that measure the robot tool with a touch probe. These methods are of the type that determine the values of the TCP coordinates as part of a complete calibration of the robot including TCP offsets.
[0076] Also, Figure 3 shows the tool frame 41, and in this regard, it should be noted that the difference between the tool center point (TCP) 46 and the tool frame 41 should be made clear. The tool center point 46 is an important point of interest within the tool frame 41 (it is the origin of the tool frame 41 as described above), but it is defined by only three degrees of freedom (by a set of X, Y, and Z coordinates), and thus, by itself, it does not fully define the tool frame 41 (six degrees of freedom are required for a complete characterization). The method of embodying the present invention is related not only to the characterization (three degrees of freedom) of a specific point (such as TCP 46) of the tool frame 41, but also to the characterization (five degrees of freedom, i.e., position and orientation) of the axes of the tool frame 41, and further to the characterization (six degrees of freedom) of the complete coordinate system of the tool frame 41. For example, for the spot welding application described above, only the position of the TCP is usually relevant (i.e., three degrees of freedom), but for arc welding and machining applications, the direction of the axes is also relevant (i.e., five degrees of freedom), while for assembly applications, a complete coordinate system (i.e., six degrees of freedom) will usually be required.
[0077] Also, the most standard procedure of a robot is to move the tool and fix the part, but it will also be understood that in all robot applications, the reverse method (i.e., the robot carries the part and moves it to a fixed tool) can also be configured. As an example, when there are a plurality of operations to be performed on the same part, it may be preferable to have a single robot equipped with a gripper (as shown in Figure 2, for example) and hold a plurality of tools prepared in front of the part and the robot.
[0078] Next, embodiments of the present invention will be described with reference to Figures 5 to 7.
[0079] For the reasons described above with reference to FIG. 3, knowing the coordinates or offsets of the center point of the tool does not mean knowing the length or size of the tool, or the orientation or direction of the tool relative to the flange of the robotic arm. Similarly, when the tool is a rotatable (having a defined spindle axis) spindle attached to, for example, the head of the robotic arm, knowing the center point offset of the tool also does not mean knowing the orientation or direction of the spindle axis.
[0080] The object of the present embodiment is to provide a method that can be used to calibrate the axis 29 (position and orientation) of the spindle 27 attached to the robot. The present embodiment uses a contact tool setter 30 such as a Renishaw RTS or TS27 equipped with a multi-sided stylus tool 10. The stylus tool 10 is shown as a disk stylus having a partial spherical surface 17 on the side and a reference surface 15 on the top, as shown in FIGS. 5 to 7. At the end of a short setting (usually including at least 13 measurements), five degrees of freedom of the spindle axis 29 are specified, and the tool setter 30 is arranged to be able to adjust the manufacturing TCP according to the length of the tool (for example, a drill).
[0081] More specifically, the method of the present embodiment uses a tool setter 30 on the bed 2 of the machine 1 equipped with a stylus tool 10 having two surfaces. The tool setting spherical surface 17 is the spherical surface of the disk stylus tool 10 having a known radius, and the tool setting surface 15 is the upper plane of the disk stylus tool 10. The disk stylus tool 10 clearly shown in FIGS. 5 to 7 has a plurality of measurement surfaces or reference surfaces (that is, the tool setting spherical surface 17 and the tool setting plane 15) that can be individually measured by a calibrated coordinate measuring machine (CMM).
[0082] The disk stylus tool 10 in this embodiment is in the form of a spherical portion, i.e., the portion between two parallel planes in a spherical object, and is convenient for manufacturing with high precision. This is most clearly shown in the insertion portion of FIG. 5. In this embodiment, the spherical portion is centered on the center of the sphere. As can be understood from the steps shown below, the lower surface of the disk stylus tool 10 does not form part of the method and thus can take any form and does not need to be formed with the accuracy of measurement. The main features of the tool 10 are the planar upper surface 15 and at least a partially spherical side surface 17 that defines a circle of available contact points parallel to the planar upper surface 15. Instead of those shown in FIGS. 5 to 7, it will be understood that other geometric shapes having a convexly curved side surface (similar to the convex side surface of the tool 10), generally triangular (not circular like the tool 10), can be used for the tool 10.
[0083] The method of this embodiment has two main steps: a setting step and a length correction step. In the setting step, as shown in FIGS. 5 and 6, the multi - face spindle stylus tool 20 is attached to the spindle 27. The spindle stylus tool 20 in this example has two reference planes: a spindle sphere 23 centered on the spindle axis 29 and a spindle shaft portion 25 which is a cylinder with its axis coinciding with the spindle axis 29. In the length correction step, as shown in FIG. 7, (as an example) a cutting tool 40 is attached to the spindle 27.
[0084] The steps performed in the setting step (to determine the tool setting frame 11 and the spindle frame 21) are as follows.
[0085] (a) Contact the spindle sphere 23 with the plane 15 of the tool setting device and perform three or more measurements without changing the orientation of the spindle 27. Using this data, identify the direction of the normal line to the plane 15 of the tool setting device. Update the tool setting frame 11 using the Z - vector along the normal line of the plane 15 of the tool setting device and the origin of the measurement height (Z - position).
[0086] (b) Bring the spindle ball 23 into contact with the tool setting tool plane 15 and perform four or more measurements while changing the orientation of the spindle 27 for each measurement. Using this data, identify the center of the spindle ball 23 (using well-known methods not described herein). Update the spindle frame 21 with the center of the spindle ball 23 as the origin.
[0087] (c) Bring the spindle ball 23 into contact with the ball 17 of the tool setting tool and perform three or more measurements. The measurements need to be performed on the equidistant circle of the nominal tool setting tool ball 17 where the shaft portion 25 is along the Z vector of the nominal tool setting tool frame 11. Identify the XY coordinates of the center of the tool setting tool ball 17 and the apparent radius of the spindle ball 23 (i.e., the radius when the balls are in contact minus the known radius of the tool setting tool ball 17). Update the origin of the tool setting tool frame 11 with the XY position of the center of the tool setting tool ball 17 and the Z position offset of the apparent radius of the spindle ball 23.
[0088] (d) Bring the spindle shaft portion 25 into contact with the tool setting tool ball 17 and perform three or more measurements. The measurements need to be performed nominally along the Z vector of the tool setting tool frame 11 for the shaft portion 25. Identify the XY coordinates of the local portion of the tool setting tool shaft portion 25. Update the tool setting frame 11 with the Z vector from the center of the shaft portion towards the center of the stylus ball 23.
[0089] In the stage of correcting or compensating for the length (of the cutting tool 40), the following steps are executed.
[0090] (a) Bring the cutting tool face 43 into contact with the tool setting tool plane 15 and perform one measurement. The measurement needs to be performed along the Z axis of the tool setting tool frame 11 for the Z axis of the spindle frame 21. Identify the length variation as the Z coordinate of the measurement. The cutting tool frame 41 is the same as the spindle frame 21 with respect to the length variation transformed in the Z direction.
[0091] Referring to the length variation determined in the above-described length correction step, this is related to the height (Z position) of the tool setting tool plane 15, which can be inferred from step (a) or step (b) in the above-described setting step. Alternatively, an additional step (e) can be added to the setting step, in which a single measurement is taken with the stylus ball 17 in contact with the tool setting tool plane 15 and the Z-axis of the spindle frame along the Z-axis of the tool setting tool frame. Then, the tool setting tool frame is set at a measurement position offset in the Z direction by the radius of the stylus ball 17.
[0092] The above method includes at least 14 measurements (at least 13 for the setting step and at least 1 for the length correction step), but in practice it can be reduced to at least 8 measurements by using some acceptable approximations. If the above additional step (e) is also performed, one additional measurement is added. That is, at least 15 measurements or at least 9 measurements with appropriate approximations at predetermined positions are made.
[0093] Referring to the spindle stylus tool 20, the diameter of the spindle ball 23 is known, for example, pre-measured by a separate coordinate measuring machine or manufactured to a known diameter within a predetermined and / or acceptable range. When measuring the diameter of the cutting tool 40, the diameter of the spindle shaft portion 25 also needs to be known in a similar sense.
[0094] Possible variations of the method are as follows.
[0095] Referring to the above steps (c) and (d), in step (b), the spindle ball 23 is brought into contact with the tool setting ball 17 for more than three measurements, and then in step (d), the spindle shaft portion 25 is brought into contact with the tool setting ball 17 for more than three measurements. If this is described, instead of performing step (c) at all, it is possible to perform step (d) twice at two different respective positions (or heights) along the spindle shaft portion 25. For this modification, the axis of the spindle shaft portion 25 only needs to be parallel to the spindle axis 29 (it does not necessarily have to coincide).
[0096] The setting stage can be carried out directly with the manufacturing tool (for example, the cutting tool 40) without performing the length compensation stage. In this regard, if the manufacturing tool has a spherical end, the setting stage can be carried out directly as described above using the manufacturing tool. It is necessary to consider the calibration of a cutting tool that can be regarded as a cylinder with a flat end or a cylinder having a known radius between the cylinder and the surface (i.e., like a torus).
[0097] The spindle 27 can be rotated during measurement. In this regard, it is generally known to rotate the spindle during the calibration of the cutting tool so that they appear like perfect cylinders or spheres. In the spindle stylus tool 20 according to this embodiment, when measuring by rotating the spindle 27, it is not necessary to ensure that the spindle ball 23 and the spindle shaft portion 25 coincide with the spindle axis 29.
[0098] The setting stage can be re-executed with fewer measurements. In this regard, some parameters in the setting may not need to be re-measured every time. The direction of the normal to the tool setting tool plane 15 and the apparent radius of the tool setting ball 17 can be obtained after the first setting. As a result, it becomes possible to delete five measurements in the setting.
[0099] It is also possible to attach the spindle 27 to the fixed bed 2 of the machine 1, and it will be understood that the spindle 27 is calibrated in exactly the same way as described above for the reverse configuration using the probe 30 attached to the moving member 3 of the robot 1.
[0100] The method of this embodiment can be applied to the calibration of any robot tool having a rotational surface, provided that the robot tool can be replaced with the spindle stylus tool 20 for performing the setting. When the robot tool has a spherical surface or a pointed pin at its end, the method can be applied directly without the need for length correction. Exemplary applications can be arc welding, laser cutting, water jet, dispensing, spraying, etc.
[0101] Since the machine can be considered to include not only the robot arm but also any member attached thereto (including, for example, the spindle 27 as a tool), the robot controller needs to know the spindle frame coordinates in order to move the robot to the correct position, and thus it will be understood that the spindle frame coordinates can be considered to form part of the machine's model parameters. In this context, the machine can be considered to include the combination of the machine and any end effector or tool or member attached thereto.
[0102] It will be appreciated that in order to have a point contact between two surfaces, the contact must be "curved to curved" or "curved to flat / flat", convex (curved outward) rather than concave (curved inward). In particular, the contact cannot be "flat / flat to flat / flat" because it creates contact across the surfaces (flat to flat contact is possible in some circumstances, but brings additional requirements in terms of setup and adjustment). However, even when one or both surfaces are curved, care must be taken to ensure that the two surfaces fit together (and are positioned relative to each other when contact is made) in a way that does not create multiple contact points along a line, such as occurs when two parallel cylinders contact along their respective sides, or when a cylinder side contacts a flat surface. In the case of two cylindrical surfaces, these can be used to create a suitable point contact between them, as long as they are positioned non-parallel when they 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 a few examples, and one of skill in the art will understand what properties the surfaces need to have to achieve point contact between them.
[0103] Creating (or even the possibility of) multiple point contact between surfaces may be undesirable due to the uncertainty as to which of the multiple points actually creates a constraint between two contacting members. However, it will also be understood that contact points in the context of embodiments of the present invention need not be (and in fact are not) mathematical points in the pure sense. Instead, in practice, points are typically small areas that approximate points. Thus, the term "point contact" as used herein should be interpreted as including within its scope point-like contacts as they actually occur.
[0104] Plane-to-plane contact is generally not desirable, but this type of contact occurs in the aforementioned length correction stage where the cutting tool face 43 is brought into contact with the tool setting fixture plane 15. However, this is the reason why measurements are taken along the Z-axis of the tool setting fixture frame 11 with respect to the Z-axis of the spindle frame 21. Thus, although it will be understood that plane-to-plane contact is possible in some situations, it presents additional requirements.
[0105] In the context of the present invention, a tool or implement can be considered to have a plurality of reference planes if the tool or implement has at least one reference plane that is geometrically different from and / or distinct from at least one other reference plane of the tool or implement. For example, even if the two reference planes merge continuously with each other (even if there is no distinct or prominent junction between them), the tool or implement can be considered to have a plurality of reference planes. Two reference planes can be considered different from and / or distinct from each other in the context of the present invention if they have (or are defined by) different and / or distinct respective geometric characteristics. For example, since the opposite sides of the same spherical surface are defined by the same center and radius / diameter, in this context, they are not considered to provide a plurality of (different and / or distinct) reference planes. On the other hand, the cylinder at the end of a cylinder or a sphere (or other type of convex curved surface) is considered to provide a plurality of (different and / or distinct) reference planes because these two parts have different and / or distinct respective geometric characteristics. The same applies to the flat upper surface and the curved side surface of an implement that have different and / or distinct respective geometric characteristics. Two cylinders having different respective diameters are considered to provide a plurality of (different and / or distinct) reference planes even if they are coaxial, i.e., arranged along the same axis, since the diameter is considered a geometric characteristic of the cylinder. Thus, it will also be understood that a stylus of a standard contact probe is considered in this context to have only one reference plane, or only at least one reference plane that is the spherical surface of the stylus tip used to contact the workpiece. Furthermore, the different side surfaces of the triangular implement described above (i.e., those having a generally triangular side surface with a convex curved side surface) can be considered to provide a single reference plane (side surface), and each side surface has a common shape, a common axis, and a common spacing and orientation with respect to the common axis.
[0106] Calibration data collected during the execution of the method can be regarded as reflecting or representing the (recordable) state of the machine for each rotational position of the rotational movement (or, if not for each rotational position, based on some other sampling rate). This type of information (which forms part of the calibration data) is also referred to herein as machine coordinates and, in this context, is intended to mean a set of coordinates or values representing the state of the machine in a particular posture (e.g., the encoder readings of each joint). In this regard, various physical movement axes of the machine, such as the linear axes defined by the extensible legs of a hexapod machine or the rotational axes of a multi-joint robotic arm, can be considered for the purpose of defining the term machine coordinate system and thus machine coordinates herein.
[0107] It will be understood that the present invention is applicable not only to the calibration of machines, but also to the verification, identification, or performance testing of machines. Terms used herein such as calibration method, calibration tool, calibration member, calibration data, calibration point, etc. should be interpreted in a broad sense according to the intended use and should not be limited to calibration itself. In other words, the concepts described herein are applicable not only to the update (calibration) of model parameters, but also to the inspection or verification (verification or identification) of model parameters. Therefore, these terms should be understood in the context of calibrating or otherwise characterizing a machine. As an example, the term calibration tool includes gauge tools within its scope. The terms target point, target tool, and target member can be used instead of calibration point, calibration tool, and calibration member, respectively.
[0108] A machine controller for controlling the operation of a coordinate positioning machine can be a dedicated electronic control system and / or can include a computer operating under the control of a computer program. For example, the machine controller can comprise a real-time controller for giving low-level instructions to the coordinate positioning machine and a PC for operating the real-time controller. It can be understood that the operation of the coordinate positioning machine is controlled by a program operating on the machine, and in particular, by a program operating on a coordinate positioning machine controller such as controller 8. Such a program can be stored on a computer-readable medium or can be embodied by a signal such as a downloadable data signal provided, for example, from an Internet website. The appended claims are to be understood as covering the operating program itself, or as a record on a carrier, or as a signal, or in any other form.
Claims
Claim 1 A method of calibrating a coordinate positioning machine having a first member movable relative to a second member, the structure of the machine being characterized by a set of model parameters, the method comprising: (a) controlling the machine to make point contacts between a plurality of reference surfaces of a tool or implement attached to the first member and a plurality of reference surfaces of an implement attached to the second member; and (b) updating at least one of the model parameters knowing that the actual distance between the contact surfaces is zero. Claim 2 The method of claim 1, wherein step (a) includes, for each contact, making a point contact between an end face of the first tool / implement and an upper face of the second implement with the first tool / implement in the same orientation. Claim 3 The method of claim 1 or 2, wherein step (a) includes, for each contact, making a point contact between an end face of the first tool / implement and an upper face of the second implement with the first tool / implement in a different orientation for each contact. Claim 4 The method according to any one of claims 1 to 3, wherein step (a) includes making point contacts at different positions around a side face of the second implement between an end face of the first tool / implement and the side face of the second implement. Claim 5 The method according to any one of claims 1 to 4, wherein step (a) includes making a point contact between a side face of the first tool / implement and a side face of the second implement. Claim 6 The method of claim 5, including performing step (a)(iv) at at least two different positions along the length of the first tool / implement. Claim 7 The method according to any one of claims 1 to 6, wherein the first tool / implement has a defined and / or specifiable axis. Claim 8 The method according to any one of claims 1 to 7, wherein the end face of the first tool / implement is spherical or at least a rotating surface at least where it contacts the second implement. Claim 9 The method of claim 8, wherein the center of the at least partial spherical or rotating surface is substantially located on a defined and / or specifiable axis of the first tool / implement. Claim 10 The method according to any one of claims 1 to 9, wherein the side face of the first tool / implement is cylindrical at least where it contacts the second implement. Claim 11 The method according to claim 7, wherein the axis of at least a part of the cylindrical surface is substantially parallel to the defined axis and / or the specifiable axis of the first tool / implement, for example, so as to coincide with the axis thereof.
12. The method according to any one of claims 1 to 11, wherein the upper surface of the second tool / implement is planar at least where it contacts the first tool / implement.
13. The method according to any one of claims 1 to 12, wherein the side surface of the second tool / implement is spherical at least where it contacts the first tool / implement.
14. When the first tool / implement is an implement rather than a tool, the method further includes attaching a tool to the first member instead of the first implement, and making at least one further contact between the end face of the tool and the upper surface of the second implement, and determining the length associated with the tool. The method according to any one of claims 1 to 13.
15. The method according to claim 14, including updating the tool center point associated with the tool based on the length.
16. The method according to any one of claims 1 to 15, including using at least a nominal geometric model representing the geometric shape of the first tool / implement and / or the second tool / implement in the step (a) and / or the step (b).
17. The method according to any one of claims 1 to 16, including using the calibrated dimensional measurement values of the second tool / implement in the step (a) and / or the step (b).
18. The method according to any one of claims 1 to 17, wherein the reference surface of the second tool / implement is a measurement surface.
19. The method according to any one of claims 1 to 18, wherein when the first tool / implement is an implement rather than a tool, the reference surface of the first tool / implement is a measurement surface.
20. The method according to any one of claims 1 to 19, including sensing the contact between the first tool / implement and the second tool / implement using a sensor.
21. The method according to claim 20, wherein the sensor is attached to the second member.
22. The method according to claim 20 or 21, wherein the sensor is a contact sensor having a deflectable stylus and a contact member for contacting the object to be sensed.
23. The method according to claim 22, wherein the second tool / implement is used as the contact member of the contact sensor.
24. The method according to any one of claims 20 to 23, wherein the sensor is a touch probe or a tool setter. **Claim 25** The method according to any one of claims 1 to 24, wherein the second tool includes a planar reference surface and at least a partially spherical reference surface. **Claim 26** The method according to claim 25, wherein the at least partially spherical reference surface is at least a partially circular arrangement in a plane parallel to the planar surface of the second tool, defining a plurality of possible contact points. **Claim 27** The method according to any one of claims 1 to 26, wherein the second tool is in the form of a spherical segment or a truncated sphere. **Claim 28** The method according to any one of claims 1 to 27, wherein step (a) includes moving the first member and the second member relative to each other to bring a plurality of reference surfaces into point contact with each other. **Claim 29** The method according to any one of claims 1 to 28, wherein the coordinate positioning machine is operable to move the first member relative to the second member with six degrees of freedom in step (a). **Claim 30** The method according to any one of claims 1 to 29, wherein at least one of the surfaces of the first tool / tool and / or the second tool is a rotating surface. **Claim 31** The method according to claim 30, wherein the rotating surface has at least one axis of rotation. **Claim 32** The method according to claim 30 or 31, wherein the rotating surface has at least two axes of rotation. **Claim 33** The method according to any one of claims 1 to 32, wherein calibrating or characterizing the machine includes one or more of calibrating, verifying, specifying, and inspecting the performance of the machine. **Claim 34** The method according to any one of claims 1 to 33, wherein the coordinate positioning machine includes a non-orthogonal machine and / or a parallel kinematic machine. **Claim 35** The method according to any one of claims 1 to 34, wherein the coordinate positioning machine is a multi-jointed arm such as a robotic arm. **Claim 36** The method according to any one of claims 1 to 35, wherein the coordinate positioning machine is a hexapod machine. **Claim 37** The method according to any one of claims 1 to 36, wherein the first member is a moving member of a machine such as an end effector, a spindle, or a flange of a robotic arm. **Claim 38** The method according to any one of claims 1 to 37, wherein the second member is a fixing member of a machine such as a fixed platform or a fixed bed.
39. The method according to any one of claims 1 to 38, wherein the second tool is a calibration tool.
40. The method according to any one of claims 1 to 39, wherein when the first tool / instrument is an instrument rather than a tool, the first tool is a calibration tool.
41. The method according to any one of claims 1 to 40, wherein step (b) includes determining a new set of model parameters that can better fit the recorded contacts than an existing set of model parameters, for example, based on an objective function.
42. The method according to any one of claims 1 to 41, wherein step (b) includes determining an overall error value representing an expected distance interval and updating at least one model parameter to reduce the overall error value.
43. The method according to claim 42, wherein step (b) includes repeatedly updating at least one model parameter until a predetermined test is satisfied.
44. The model parameters include a plurality of tool frame parameters, and step (b) includes updating at least three tool frame parameters, for example, three tool frame parameters that define the position of the tool center point. The method according to any one of claims 1 to 43.
45. The model parameters include a plurality of component frame parameters, and step (b) includes updating at least three component frame parameters, for example, three component frame parameters that define the position of the point of interest of the component frame. The method according to any one of claims 1 to 44.
46. The method according to any one of claims 1 to 45, wherein step (b) includes determining new values or a plurality of new values for only a part of the model parameters.
47. A method for calibrating the axis of a spindle attached to a coordinate positioning machine such as a robotic arm, including performing the method according to any one of claims 1 to 46, wherein step (b) includes determining at least the orientation of the axis. A method for calibration.
48. A method for inspecting and / or updating a tool frame or a component frame of a tool or a component attached to a coordinate positioning machine such as a robotic arm, the method including performing the method according to any one of claims 1 to 46, wherein the step (b) includes inspecting and / or updating one or more parameters of the tool frame or the component frame.
49. A computer program that causes the computer or the machine controller to execute one or more steps of the method according to any one of claims 1 to 48 when executed by the computer or the machine controller.
50. A computer-readable medium storing computer program instructions for controlling a computer or a machine controller to execute one or more steps of the method according to any one of claims 1 to 48.
51. A computer or a machine controller configured to execute one or more steps of the method according to any one of claims 1 to 48.
52. A system for calibrating or characterizing a coordinate positioning machine, including means for executing one or more steps of the method according to any one of claims 1 to 48, or the computer program according to claim 49, or the computer-readable medium according to claim 50, or the computer or the machine controller according to claim 51.
53. A method for controlling a coordinate positioning machine calibrated or characterized using the method according to any one of claims 1 to 48.
54. A coordinate positioning machine calibrated or characterized using the method according to any one of claims 1 to 48.
Citation Information
Patent Citations
Coordinate positioning machine
WO2019162697A1
Coordinate positioning machine
WO2021074625A1
Coordinate positioning arm
WO2021116685A1