COORDINATE POSITIONING MACHINE
20240316781 ยท 2024-09-26
Assignee
Inventors
Cpc classification
G05B19/402
PHYSICS
International classification
Abstract
A method of calibrating a coordinate positioning machine is described. The machine is controlled into a pivot pose in which a target point associated with a moveable part of the machine and a pivot point associated with a fixed part of the machine are separated from one another by a known separation. An error value for that pose is determined based on the known separation and a separation expected for that pose from the existing model parameters of the machine. The machine is controlled into a plurality of different target poses, and for each target pose a separation between the target point and the pivot point is measured and an error value for that pose is determined based on the measured separation and a separation expected for that pose from the existing model parameters.
Claims
1. A method of calibrating or otherwise characterizing a coordinate positioning machine, wherein a geometry of the machine is characterized by a parametric model and wherein the method is intended to determine a new set of model parameters that characterizes the geometry of the machine better than an existing set of model parameters, and wherein the method comprises: (a) controlling the machine into a plurality of different target poses in each of which a target point associated with a moveable part of the machine remains in substantially the same position, at least based on the existing set of model parameters; (b) for each of the target poses of step (a), (i) measuring a separation between the target point and a pivot point associated with a fixed part of the machine and (ii) determining an error value for that target pose based on the measured separation and a separation expected for that target pose from the existing set of model parameters; (c) determining an overall error measure from the error values; and (d) determining a new set of model parameters that would result in a lower overall error measure than for the existing set of model parameters.
2. The method as claimed in claim 1, comprising controlling the machine to move the target point to a new position, and performing steps (a) and (b) for the new position of the target point, wherein the overall error measure determined in step (c) is based on the error values determined from each performance of step (b).
3. The method as claimed in claim 1, further comprising: determining a new set of error values based on the new set of model parameters; from the new set of error values determining a newer set of model parameters; repeating this process until the overall error measure is below a predetermined threshold.
4. The method as claimed in claim 1, wherein a new value is determined in step (d) for only a subset of the existing set of model parameters.
5. The method as claimed in claim 4, wherein the subset of the existing set of model parameters relates to a tool center point of the machine.
6. The method as claimed in claim 1, wherein the separation is measured by a length-measuring device.
7. The method as claimed in claim 6, wherein the length-measuring device is a ballbar.
8. The method as claimed in claim 6, wherein the length-measuring device is a telescoping ballbar.
9. The method as claimed in claim 6, wherein the length-measuring device is coupled between the target point and the pivot point so as to enable a separation between the target point and the pivot point to be measured.
10. The method as claimed in claim 6, wherein the length-measuring device is readily couplable and decouplable between the target point and the pivot point.
11. The method as claimed in claim 6, wherein a coupling between the length-measuring device and the target point and/or the pivot point is kinematic or at least pseudo kinematic.
12. The method as claimed in claim 6, wherein the length-measuring device comprises a ball at one end and a cup at the other end, or a cup at both ends, or a ball at both ends.
13. The method as claimed in claim 6, wherein the length-measuring device is coupled magnetically to the target point and/or the pivot point.
14. The method as claimed in claim 6, wherein the length-measuring device is a telescopic measurement rod.
15. The method as claimed in claim 6, wherein the length-measuring device is coupled to the target point via a coupling in which a ball on one of the machine and the length-measuring device sits within a cup on the other of the machine and the length-measuring device, with a measurement point of the length-measuring device being substantially coincident with a centre of the ball and remaining substantially coincident with the target point as the machine is moved from each of the target poses to the next and as the ball rotates within the cup.
16. The method as claimed in claim 6, wherein the length-measuring device is coupled to the target point via a coupling in which a coupling element on one of the machine and the length-measuring device bears against an at least partly spherical bearing surface on the other of the machine and the length-measuring device, with a measurement point of the length-measuring device being substantially coincident with a centre of the at least partly spherical bearing surface and remaining substantially coincident with the target point as the machine is moved from each of the target poses to the next and as the coupling element moves over at least a predetermined or working part of the bearing surface.
17. The method as claimed in claim 6, wherein the length-measuring device points in a substantially fixed direction for each of the target poses of step (a).
18. The method as claimed in claim 1, wherein the machine is controlled into each of the plurality of the target poses of step (a) by commanding the machine to rotate around a tool center point of the machine.
19. The method as claimed in claim 1, wherein the pivot point is defined in relation to a pivot mount provided on the fixed part of the machine.
20. The method as claimed in claim 1, wherein the target point is defined in relation to a target mount provided on the moveable part of the machine.
21. The method as claimed in claim 1, wherein the coordinate positioning machine is one or more of: a robot; an industrial robot; an articulated robot; a robot arm; an articulated arm; and an articulated industrial robot.
22. The method as claimed in claim 21, wherein the target point is defined in relation to a target mount provided on a moveable flange of the robot.
23. The method as claimed in claim 1, further comprising: (e) controlling the machine into a pivot pose in which the target point and the pivot point are separated from one another by a known separation; and (f) determining an error value for the pivot pose based on the known separation and a separation expected for the pivot pose from the existing set of model parameters; wherein the overall error measure is determined in step (c) from the error value determined for the pivot pose in step (f) and the error values for each target pose determined in step (b).
24. The method as claimed in claim 23, wherein the known separation is a null vector, with the target point and the pivot point being substantially coincident in the pivot pose.
25. The method as claimed in claim 6, further comprising: fitting an adaptor onto and/or around an element on the moveable part of the machine, the element having a point of interest, and the adaptor comprising an at least part-spherical bearing surface having a center point that, when fitted onto and/or around the element, substantially coincides with the point of interest, and the length-measuring device comprising a coupling element that is configured to couple to and bear against the bearing surface of the adaptor such that a measurement point of the length-measuring device is substantially coincident with the center point of the adaptor and remains so as the coupling element moves over at least a predetermined or working part of the bearing surface; coupling the length-measuring device to the adaptor so that the coupling element of the length-measuring device bears against the at least part-spherical bearing surface of the adaptor; and performing a measurement operation to measure the separation between the target point and the pivot point in each of the target poses of step (b), such that during the measurement operation the measurement point of the length-measuring device is substantially coincident with the center point of the adaptor and remains so as the coupling element of the length-measuring device moves over at least the predetermined or working part of the bearing surface of the adaptor when moving into a different one of the target poses in step (a).
26. The method as claimed in claim 25, wherein the target point is substantially coincident with the point of interest.
27. The method as claimed in claim 25, wherein the element is a tool, and wherein the point of interest is a tool center point of the tool.
28. The method as claimed in claim 25, wherein the adaptor is configured to receive a plurality of different inserts in a generic manner, with the inserts being adapted to receive different respective elements or types of element, thereby enabling the adaptor to be used with a variety of different elements or types of element.
29. The method as claimed in claim 28, wherein each insert is shaped internally to match an external shape of its corresponding element.
30. The method as claimed in claim 28, wherein each insert is adapted to account for a location of the point of interest of its corresponding element to ensure that the point of interest is substantially coincident with the center of the bearing surface of the adaptor when fitted onto and/or around the element.
31. The method as claimed in claim 6, wherein the length-measuring device is adapted to provide a measurement of a separation between two measurement points of the length-measuring device.
32. The method as claimed in claim 31, wherein the two measurement points of the length-measuring device are substantially coincident with the target point and the pivot point respectively.
33. A coordinate positioning machine configured to perform the method as claimed in claim 1.
34. A non-transitory computer-readable medium having stored therein computer program instructions for controlling a computer or a machine controller to perform the method as claimed in claim 1.
Description
[0061] Reference will now be made, by way of example, to the accompanying drawings, in which:
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086] When programming a robot to move the tool 4 around the working volume, an important piece of information is the location of the tool centre point (TCP) relative to the part of the robot to which the tool 4 is attached (e.g. the flange 3). Setting up the coordinates of the tool centre point of a robot is a key step when installing a robot, and it is done on every robot. The tool centre point is the point in relation to which all robot positioning is defined, and constitutes the origin of the tool coordinate system. The tool centre point might correspond, for example, to the tip of an arc welding gun, the centre of a spot welding gun, or the end of a grading tool. The location of the tool centre point will therefore depend on the application concerned. In operation, it is the tool centre point that will be jogged or moved to the desired target position with the desired tool orientation.
[0087]
[0088] However, rather than merely verify the position of the TCP as with the tool orientation test, the aim of an embodiment of the present invention to determine the position. The most commonly-used method currently is the pin-to-pin method in which the operator visually aligns two pins with different orientations (one of which is fixed and the other of which is moveable by the operator to reference the TCP). This is a convenient method but it is relatively inaccurate because it depends to a large extent on the operator; it also requires the tool 4 to be removed and replaced by the pin.
[0089] Before describing how an embodiment of present invention is used to identify the TCP, some further background will be provided with reference to
[0090] In the matter of measuring the tool centre point (TCP) of a robot with a distance measurement device (such as a ballbar), the principle is to measure distances with different orientations of the tool and to deduce the TCP coordinates from these measurements. One issue is to find out in which direction to consider the distances measured. There are two main approaches for this: (a) consider that all measurements are taken with the measurement device pointing in the same direction; and (b) take measurements with various directions and identify the position of the pivot centre from that information.
[0091] The first approach is illustrated in
[0092] For this example, it is assumed that the ballbar mount 14 in
[0093] When the robot is commanded to rotate around the same TCP, assuming that the initial value of the TCP coordinates in the controller are not far from reality, the TCP remains almost fixed. It can then be considered that all measurements from the ballbar 10 are performed along the same direction (deviations in the direction result in second order errors in the computations, which are tolerable). In these conditions the error in the TCP coordinates can be identified in the controller and the TCP coordinates can then be corrected, using an error minimisation technique like that mentioned previously. This ideally requires a minimum of four measurements, though five or six measurements are better.
[0094] For this method, the following information is required as input to the error minimisation algorithm: [0095] (a) the direction D from which the measurements are taken; [0096] (b) the coordinates of the TCP in the controller; and [0097] (c) the coordinates of the robot for each measurement.
[0098] In the above, the robot coordinates are the Cartesian coordinates determined from the controller on the assumption that the robot is already fully calibrated (or ideal). In other words, any errors from the robot itself are ignored. Rather, this procedure is to identify errors in the TCP coordinates, which are coordinates relative to the robot. In the above procedure, the input of the direction can be problematic as there is a risk of confusion in the frame used to express this direction.
[0099] The second approach is illustrated in
[0100] With the second approach, the TCP coordinates and the position of the pivot centre can be identified together. This requires a minimum of six measurements, though usually nine to twelve measurements are better. This method can also be made more elaborate, because by increasing the number of measurements it becomes possible to identify more parameters of the robot.
[0101] For the second approach it is only required to input the position of the robot and the coordinates of the TCP in the controller for each measurement. The complexity of this approach results from the large number of measurements required and the necessity to drive the robot around the surface of a sphere.
[0102] An approach according to a first embodiment of a first aspect of the present invention will now be described with reference to
[0103] As illustrated in
[0104] As illustrated in
[0105] With the target mount 14 coupled onto the pivot mount 13 via the dummy ball 15, the adjustable pivot is locked to prevent further movement for the remainder of the method. At this point in the procedure, the exact position of the dummy ball (and therefore the pivot ball of the ballbar 10 when it is put in place) does not matter because the robot coordinates at this position are recorded in the robot program in step S6. So, in step S6, a first point is recorded in the robot program at the current position, i.e. with the robot at the pivot position. This amounts to recording the robot coordinates, or the various encoder readings to enable the robot coordinates to be determined based on the machine model parameters. In this position, since no ballbar is present, a null or zero value for the ballbar measurement is also recorded (at least notionally). In this respect, although no ballbar is present and therefore no separate measurement is actually taken, when the pivot and target points are coincident this effectively provides a zero-length ballbar measurement (i.e. zero in three orthogonal directions, which provides three pieces of information for the error minimisation method, as will be explained in more detail below). The robot coordinates can be considered to be a set of information that fully characterises the machine pose, e.g. a set of joint angles or readings from the various joint encoders).
[0106] As illustrated in
[0107] In step S9 the robot is commanded to rotate the target mount 14 by e.g. 60? to 90? around the TCP selected in step S3, and in step S10 another point is inserted into the robot program with the robot in the new position. During the rotation, the position of the target mount 14 may deviate (due to errors in the selected TCP values or in the robot itself). If the deviation drives the ballbar 10 out of its measuring range, the user can drive the robot in translation to adjust the distance to bring the ballbar 10 back into its measuring range before a measurement is taken and the robot coordinates recorded.
[0108] The method returns to step S9 to repeat the process of rotating the target mount 14 and adding points in the robot program until sufficient rotations have been performed (around at least four principle directions). This is illustrated in
[0109] When sufficient rotations have been performed, the method continues to step S11, when the robot program is uploaded to the controller (or some other processing unit) for processing. In step S12, the coordinates of the TCP selected in step S3 are input, read from the robot program if already recorded in there. In step S13, the error minimisation method referred to above is performed, in order to compute the actual TCP coordinates. This is explained in more detail below with reference to
[0110]
[0111] In the example of
[0112] For the approach described above with reference to
[0113] As mentioned above, the concept underlying the first aspect of the present invention can be summarised as using the robot coordinates at the position of the pivot as input for the mathematical method (e.g. least squares or maximum likelihood) used to determine the TCP. This is not done with previously-considered techniques. With the robot at the pivot position, there is of course no ballbar in place and therefore apparently no measurement from the ballbar to associate with the robot coordinates at that position. However, at the pivot point there is effectively a zero-length measurement from ballbar to associate with the robot coordinates. In addition, this zero-length measurement can be considered as one that is effective along three orthogonal axes, rather than just one axis which is the case for an actual ballbar measurement (i.e. along the longitudinal axis of the ballbar). Therefore, this notional zero-length ballbar measurement is particularly beneficial in the error minimisation routine by providing at least three additional constraints.
[0114] Although it is described above that the method uses a single ballbar direction with a minimum of four TCP orientations (i.e. four different orientations of the ballbar around the TCP), using five makes it more complete and more straightforward to implement and teach. However, it should be noted that, using fewer TCP orientations is actually possible, but there are certain problematic situations which might arise which are avoided when using at least four TCP orientations (unless irrelevant rotations are made, for example so that the ballbar 10 remains in a plane). It is also noted that the ballbar 10 is preferably itself already calibrated; otherwise at least one additional measurement is required in the method.
[0115] It is also worth considering eventual errors coming from the robot itself. In the above procedure, it is assumed that the robot is ideal (or accurately calibrated), even when in practice it is not. In the unlikely event where the actual robot errors in all four or five measurements would compensate the deviations due to TCP errors, the method might conclude that the TCP is correct. In fact, it can be considered that the method does not identify the actual TCP but rather the TCP as seen by the ballbar in the specific configuration of the test. The TCP identified will tend to reduce the local errors of the robot. This is the case for any method, as any calibration strategy should take care of dissociating all parameters. The eventual errors coming from the robot are more a question of overall machine calibration strategy.
[0116] It will also be appreciated that the technique described above is not limited to the specific task of identifying the tool centre point of a robot, but is in fact applicable to robot geometry identification in general.
[0117] The concept can be summarised as using the robot coordinates at the position of the pivot as data for robot geometry identification, not only TCP identification, or even more generally to machine geometry identification (i.e. not limited to robots, e.g. a five-axis coordinate measuring machine). This is valid for any calibration with any sensor that measures ball to ball distances (e.g. ballbar, tripod, hexapod, etc.). This will identify the position of the ball attached to the robot flange (wherever it is). If this ball is aligned with the actual end effector, this will identify the coordinates of the TCP (as described above). The TCP identification procedure is just one application of the concept, and has been described as one example to help understand the advantages of the concept, which are to simplify and speed up the TCP identification by reducing the number of measurements and user input required.
[0118] It is also noted that, for the TCP identification procedure (unlike for a simple tool orientation test), it is not necessary to rotate around a fixed point, and merely necessary to provide a number of different orientations around the TCP regardless of the position of the TCP. On the other hand, the tool (or TCP) orientation test is to check that the robot geometry is correct, in which the robot is commanded to rotate around a fixed point and the ballbar deviations are measured during this process. If the robot was perfect, the ball would not move and there would be no deviation. Any geometrical error in the robot will result in the ball moving and the ballbar reading changing. The result of the test is the width or spread of the deviations. This is just a verification, not a calibration. The geometrical errors can be any error in the arm itself or errors in the TCP coordinates.
[0119] The concept is also not limited to measurement using a ballbar, and any distance measuring device would be suitable (e.g. a measuring arm, tripod). The concept can be extended further by considering that a separation can be one-dimensional (just a distance between two points) or it can be considered to be two-dimensional or anything up to six-dimensional. In other words, the separation can relate to a separation in anything from one degree of freedom to six degrees of freedom. For example, a six-dimensional separation would characterise not only the relative distance between two entities but also their orientation relative to one another. A traditional ballbar would measure separation in one degree of freedom (along the line between two points) but a tripod can measure a separation in three degrees of freedom and a hexapod can measure a separation in six degrees of freedom. The term separation used herein is to be interpreted accordingly.
[0120] From a calibration point of view, the position of the tool centre point (relative to the robot to which the tool is attached) and the position of the pivot can both be considered as machine parameters that are to be optimised as part of a method embodying the present invention. At the start of the error minimisation method, there will be a current estimate of the tool centre point (for example from the manufacturer of the tool, or from a previous calibration of the tool's TCP), and the goal of the method is to find a new (better) estimate for the TCP. In this respect, the TCP position can be considered to be just like any other machine parameter from a calibration point of view, with different TCP parameters being tried during the optimisation in order to find a best fit to the measurements from the ballbar (or other measurement device). If the current estimate of the TCP position is wrong, then this will manifest itself in a difference or error between a separation as measured by the measurement device (e.g. ballbar) and what is expected (calculated) based on the current TCP position. The mathematical optimisation procedure will attempt to find a better estimate of the TCP position that results in a smaller error value (or difference between what has been measured and what is calculated from the parameters).
[0121] This is similar for the pivot position. Any reasonable starting point can be used for the position of the pivot position. If the target point is placed coincident with the pivot point for the initial pivot reading (as described above), then it is known that the separation between the target point and the pivot point should be zero (in all three orthogonal directions, thereby providing three extra constraints). However, the current machine parameters may actually put the target point in a different location to the current estimate for the pivot point (so that there is a separation between them of greater than expected, i.e. greater than zero). That difference between the position of the target point as determined from the current machine parameters and the current guess for the pivot point can be treated as an error value (or values) just like any other error value (or values) in the machine calibration method. It is similar if, rather than there being a zero separation (where the target is placed at the pivot), there is a known offset or separation from the pivot and target for the initial pivot reading. All of these error values, both from actual separations and from the inferred separations, are used in the optimisation method. By running the optimisation, this will result in a better estimate both of the TCP position (which is what is most useful) and of the pivot position (which is of less interest).
[0122] This is illustrated schematically in
[0123]
[0124]
[0125] The expected separation between the target and the pivot, based on the current set of machine parameters, is calculated to be s.sub.0 when in the pivot pose (
[0126] In order to find a parameter set that is a better fit to the measured/known data, an optimisation is performed in which the parameters {d, x} are perturbed in order to find new parameters {d.sub.1, x.sub.1} that give a lower overall error 21, while leaving the other parameters {a, b, c} alone. This is illustrated schematically in
[0127] By way of comparison, of the two methods described with reference to
[0128] The method can be considered to be a calibration method based on optimising a full set of machine parameters, including parameters relating to the TCP and to the position of the pivot. If enough readings are taken then this could result in a full calibration of the machine including e.g. parameters relating to the rotary joints and section lengths, and so on. However, it is beneficial to consider a method in which just a subset of the full set of machine parameters is optimised. In other words, the full parameter set is still used in the method, but only some of them are actually optimised (i.e. new values are determined for only some of them). The other parameters are treated as fixed, i.e. notionally correct and are not considered for varying during the error minimisation (or similar) method. To calibrate just the TCP position, therefore, only the TCP machine parameters are varied in order to determine a TCP parameter set that fits the measurements (both actual and notional) better. This results in fewer measurements being needed, and therefore results in a quicker calibration procedure.
[0129] A second embodiment of the first aspect of the present invention will now be described with reference to
[0130]
[0131]
[0132] As illustrated schematically in
[0133] The illustration of
[0134] A TCP identification method according to the second embodiment of the first aspect and first embodiment of the second aspect will now be described briefly with reference to
[0135] The starting point for this embodiment is shown in
[0136]
[0137]
[0138]
[0139] Like the method of the first aspect of the present invention, the use of a ball adaptor 24 according to the second aspect of the present invention makes the procedure for finding the TCP more straightforward than without. Since the process of identifying TCP coordinates is at a lower level of robot calibration, compared to a full calibration of the robot, a TCP identification procedure will be welcome to the user only if it is fast and easy to implement. This encourages the user to perform the procedure more frequently, which in turn leads to a more accurately-performing machine.
[0140] The ball adaptor concept as described above can be made even more convenient and flexible by providing a generic ball adaptor that can be used for a variety of different tools. This can be achieved by customising an insert for different tools, with each insert fitting into the generic ball adaptor. Of course, a number of different types or sizes of generic ball adaptor can be provided to suit different types or groups of tools. The inserts can conveniently be 3D printed from a variety of different materials, for example plastic, depending on the application. This is illustrated in
[0141] The modularity of such a system is depicted schematically in
[0142] This versatility is further illustrated by the application shown in
[0143] As illustrated in
[0144] A method involving the ball adaptor 24 and calibration shaft 4d is illustrated in
[0145] An example of how an insert such as that shown in
[0146] In summary, whenever it is required to measure the position of a robot for the purpose of verification or calibration, the measurement only makes sense if it can be related to the actual working point of the robot. This is a key issue with most measurement devices as they require to position a physical interface at the location of the point which required to be measured; furthermore, the robot's TCP is often on or very close to the physical element of the tool. Hence, prior to the solution described herein, the only choice was either to remove the robot's tool and replace it with the measurement device or to mount the measurement device at some known offset from the actual TCP. Both solutions lead to measurement uncertainty and/or require special care in setup.
[0147] A ball adaptor such as that proposed herein, that would mount on the tool of a robot without altering it and that would enable direct measurement of the position of the TCP, enables quick and efficient robot calibration.
[0148] As set out above, the TCP of the robot is materialised with a ball mechanically centred on the point that is to be measured. The main source of uncertainty for this solution is the quality of the centring; it mainly depends on the manufacturing quality of the ball.
[0149] Measurement devices can connect to the ball with a magnetic adaptor that ensures accurate coincidence of the measured point with the ball centre. The accuracy depends on the manufacturing quality of the connector and the sphericity of the ball. The magnetic adaptor can sit on the ball with three points or with a cone, thereby providing a repeatable kinematic or pseudo-kinematic coupling. A three-point contact is metrologically pure, but a cone is able to step over small grooves or holes in the ball; this allows special features in the ball to ease machining operations. A cone also generates smaller constraints at the contact points with the ball.
[0150] When the TCP is on or very close to the physical element of the tool, the ball is made hollow (centred on the TCP) to place it around the final element of the tool. The solution uses a deformable insert that matches the shape of the tool. For example, the insert can be screwed into the hollow ball and can activate a cone on cone mechanism that forces the insert to tighten on the tool (see
[0151] It is possible to provide universal inserts that mount on tools with a main cylindrical feature. There would be inserts ready for the diameters mostly used in industry (e.g. 10 mm to 20 mm) or make diameter reducers could be made with one single universal insert of the larger diameter.
[0152] Where a universal insert cannot be used, it is possible to produce specific inserts that match any tool shape, which could be 3D printed from a CAD (computer aided design) model of the insert.
[0153] Where the TCP is far enough from the tool final element, the hollow ball enables the TCP to be materialised with a simple shaft of the appropriate length. For example, in the case of machining applications whose TCP is the tip of the cutting tool, a plain shaft can be mounted into the spindle. After calibration the shaft can be left on and used to initialise a tool setter, providing calibration continuity between the calibration shaft and the cutting tool.
[0154] The ball adaptor is mainly described above as being fitted onto and/or around a working tool, but the adaptor can be fitted onto and/or around any element of or associated with the coordinate positioning machine or a tool attached thereto. For example, a large gripper e.g. for handling door parts in a car manufacturing plant may comprise a plurality of cylindrical calibration elements at different locations on the gripper, for the purpose of calibrating the position of the tool frame of the gripper. A ball adaptor as described herein could be fitted onto each of these cylindrical calibration elements in turn, with a calibration method as described herein (e.g. with reference to
[0155] The at least part-spherical bearing surface 20 of the ball adaptor 24 can also be referred to as a sensing surface 20, because it is a surface that is sensed by the measuring device (e.g. ballbar) 11. The sensing surface 20 (at least in complete form, i.e. as a complete sphere) surrounds or encapsulates the point of interest (e.g. tool centre point) 8, effectively allowing the point of interest to be sensed or probed or measured from a variety of different directions. The sensing surface 20 (at least in complete form, i.e. as a complete sphere) also surrounds or intersects at least part of the element (e.g. tool) 4, so that it is possible to place the ball adaptor 24 centred on the point of interest 8 only if the ball adaptor 24 is hollow, with a hole or bore or recess that make rooms for the body of the tool 4. This is in contrast with the sensing surface of the probe 46 shown in FIG. 23 of U.S. Pat. No. 5,297,238, which is a planar disc with a limited extent that is sensed by a planar digitizing plate, and which does not surround the point of interest (which is the tip of the tool 43) or intersect with the tool 43.
[0156] With the ball adaptor 24, each point on the sensing surface 20 is substantially equidistant from the point of interest (e.g. TCP) 8 of the element (e.g. tool 4) to which the ball adaptor 24 is attached, when the adaptor 24 is in place. The measurement point of the measuring device (e.g. ballbar) 11 is substantially coincident with the point of interest (e.g. TCP) 8 at all times during a measurement operation. In this way, the measuring device (e.g. ballbar) 11 is effectively addressing the point of interest (e.g. TCP) 8 directly, almost as if the measuring device (e.g. ballbar) 11 is connected directly to the point of interest (e.g. TCP) 8. This is not the case with the arrangement of FIG. 23 of U.S. Pat. No. 5,297,238, where the sensing point (origin) of the probe 46 cannot be in the same position as the tip of the tool 43, with it only being possible instead to put it along the same line as the tool tip at an offset therefrom. With the hollow ball adaptor 24 embodying the present invention, these issues are solved by making the two points substantially coincident. Furthermore, with the hollow ball adaptor 24 embodying the present invention, measurements can be taken by the measuring device (e.g. ballbar) 11 from a variety of different angles (allowing machine movements during a measurement operation in a variety of degrees of freedom), whereas with the arrangement of FIG. 23 of U.S. Pat. No. 5,297,238 measurements are made with the probe 46 at a fixed angle relative to the planar digitizing plate.
[0157] In an embodiment of the second aspect of the present invention, the measuring device comprises a coupling element which is adapted to couple to and bear against the bearing surface of the adaptor such that a measurement point of the measuring device is substantially coincident with the centre point of the adaptor, with the centre point of the adaptor in turn being substantially coincident with the point of interest of the machine element to which the adaptor is attached. The ball adaptor thereby acts to bring these three different points together: the measurement point of the measuring device; the centre point of the ball adaptor; and the point of interest of the tool. This provides a huge technical benefit when attempting to measure and/or calibrate the position of the point of interest, for the reasons outlined above.
[0158] A first embodiment of the third aspect of the present invention will now be described with reference to
[0159]
[0160] Some types of ballbar, whilst being extremely accurate, have a limited range of travel and some have an even more limited range of measurement (for example a 2 mm range of travel and a 1 mm range of measurement), as illustrated in
[0161]
[0162]
[0163] With the extension part 30 of
[0164]
[0165] The moveable plate 43 is itself arranged between stops 44 and 45 (with stop 45 being provided by an end wall of the measurement part 40). The measurement part 40 may be adapted to provide measurements by capacitive means, i.e. using a capacitive sensor, but any type of measurement method is possible.
[0166] As shown in
[0167]
[0168] In the position as shown in
[0169]
[0170]
[0171]
[0172] It will be appreciated that each of the above-described first to third aspects of the present invention are independently applicable, and can be used separately or in any combination. For example, the extension piece of the third aspect can be used with the ball adaptor of the second aspect, as is illustrated schematically in
[0173] It will also be appreciated that the ball adaptor of the second aspect need not always be used in conjunction with a TCP identification method of the first aspect, and will also find uses in other applications. Similarly, the extension piece of the third aspect is not limited to use in such a method of the first aspect or with the ball adaptor of the second aspect, but will be useful more generally. The ball adaptor of the second aspect need not always be used in conjunction with a ballbar as the measuring device, but could for example be used in conjunction with a tripod-based measuring device.
[0174] A machine controller for controlling the operation of the robot (or other type of coordinate positioning machine) is also provided. The machine controller may be a dedicated electronic control system and/or may comprise a computer operating under control of a computer program. For example, the machine controller may comprise a real-time controller to provide low-level instructions to the coordinate positioning machine, and a PC to operate the real-time controller.
[0175] It will be appreciated that operation of the coordinate positioning machine can be controlled by a program operating on the machine, and in particular by a program operating on a coordinate positioning machine controller such as the controller illustrated schematically in