GB2632405A - Coordinate positioning machine - Google Patents
Coordinate positioning machine Download PDFInfo
- Publication number
- GB2632405A GB2632405A GB2311762.5A GB202311762A GB2632405A GB 2632405 A GB2632405 A GB 2632405A GB 202311762 A GB202311762 A GB 202311762A GB 2632405 A GB2632405 A GB 2632405A
- Authority
- GB
- United Kingdom
- Prior art keywords
- machine
- parameters
- platform
- computer
- coordinate positioning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 31
- 241000238631 Hexapoda Species 0.000 claims abstract description 10
- 239000000654 additive Substances 0.000 claims abstract description 4
- 230000000996 additive effect Effects 0.000 claims abstract description 4
- 230000000694 effects Effects 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 description 17
- 239000000523 sample Substances 0.000 description 13
- 238000000926 separation method Methods 0.000 description 4
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q11/00—Accessories fitted to machine tools for keeping tools or parts of the machine in good working condition or for cooling work; Safety devices specially combined with or arranged in, or specially adapted for use in connection with, machine tools
- B23Q11/0003—Arrangements for preventing undesired thermal effects on tools or parts of the machine
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
- G01B21/042—Calibration or calibration artifacts
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
- G01B21/045—Correction of measurements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B5/00—Measuring arrangements characterised by the use of mechanical techniques
- G01B5/0011—Arrangements for eliminating or compensation of measuring errors due to temperature or weight
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B5/00—Measuring arrangements characterised by the use of mechanical techniques
- G01B5/0011—Arrangements for eliminating or compensation of measuring errors due to temperature or weight
- G01B5/0014—Arrangements for eliminating or compensation of measuring errors due to temperature or weight due to temperature
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B5/00—Measuring arrangements characterised by the use of mechanical techniques
- G01B5/004—Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
- G01B5/008—Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37211—Measure temperature, compensate cmm program for temperature
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39192—Compensate thermal effects, expansion of links
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49175—Compensate for errors in cmm, especially mirror errors, not flat enough
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49207—Compensate thermal displacement using measured distance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49219—Compensation temperature, thermal displacement
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Automatic Control Of Machine Tools (AREA)
- Numerical Control (AREA)
Abstract
A method is provided for compensating for thermal or temperature-related effects in a coordinate positioning machine, the geometry of the machine being characterized by a set of model parameters, wherein the method involves applying an adjustment to one or more of the parameters of the model based on a measure of temperature. The adjustment may be applied to one or more of the parameters alone or in combination, and either before or after applying them to the relevant machine coordinates. The machine coordinates may comprise a set of actuator encoder readings. The thermal compensation adjustments may be multiplicative, additive, or a combination of these, and the set of model parameters can be used to determine the pose of the machine. The coordinate positioning machine may be a hexapod having six actuators arranged in parallel (figure 1).
Description
Coordinate Positioning Machine The present invention relates to a coordinate positioning machine. The present invention relates in particular, but not exclusively, to a non-Cartesian coordinate positioning machine such as a hexapod or an articulated robot.
According to a first aspect of the present invention, there is provided a method of compensating for thermal or temperature-related effects in a coordinate positioning machine, wherein the geometry of the machine is characterised by a set of model parameters, and wherein the method comprises applying an adjustment to one or more of the parameters of the model based on a measure of temperature.
An adjustment may be applied to one or more of the parameters either alone or in combination.
An adjustment may be applied to one or more of the parameters either before or after applying them to the relevant machine coordinates.
The machine coordinates may comprise a set of actuator encoder readings.
The thermal compensation may be applied based on a thermal model of the machine or the relevant part thereof The thermal compensation may be applied based on one or more thermal compensation parameters that form part of the set of model parameters.
The thermal compensation adjustments may be multiplicative, additive, or a combination of these.
The method may comprise using temperature information from at least one temperature sensor on or associated with the relevant machine part, for example approximate a length or angle measuring transducer, or a temperature sensor located in a suitable location in or near a working volume of the machine.
The method may comprise using or applying the set of model parameters to determine the pose of the machine.
The machine may comprise a first platform that is moveable relative to a second platform.
The first platform may be a moving platform and the second platform may be a fixed platform.
The coordinate positioning machine may be a non-Cartesian and/or parallel kinematic machine, such as a hexapod having six (e.g. linear) actuators arranged in parallel or an articulated arm having a plurality of (e.g. rotary) actuators arranged in series.
According to a second aspect of the present invention, there is provided a computer program which, when run by a computer or a machine controller, causes the computer or machine controller to perform a method according to the first aspect of the present invention.
According to a third aspect of the present invention, there is provided a computer-readable medium having stored therein computer program instructions for controlling a computer or a machine controller to perform a method according to the first aspect of the present invention.
According to a fourth aspect of the present invention, there is provided a computer or machine controller configured to perform a method according to the first aspect of the present invention.
Reference will now be made, by way of example, to the accompanying drawings, in which: Figure 1 is schematic illustration of a non-Cartesian coordinate positioning machine; Figure 2 is a schematic illustration of a bottom-up arrangement for a non-Cartesian coordinate positioning machine, corresponding to the arrangement of Figure 1; Figure 3 is a schematic illustration of a top-down arrangement, which is an alternative to the bottom-up arrangement of Figure 2; and Figure 4 is a schematic illustration of a Cartesian coordinate positioning machine.
A non-Cartesian coordinate positioning machine 10 is illustrated schematically in Figure 1. The coordinate positioning machine 10 generally comprises a moveable platform 12 and a fixed platform 14 that are supported and moved relative to each other by a plurality of telescopic or extendable legs 16 provided between them.
The fixed platform 12 forms part of a fixed structure of the machine 10. The moveable and fixed platforms 12, 14 can also be referred to as stages (or structures or parts), and the extendable legs 16 can also be referred to as struts (or actuators). Where there are six such extendable legs 16 (as illustrated in Figure 2), the machine 10 is commonly called a hexapod.
The extendable legs 16 are typically mounted on the platforms 12, 14 via ball joints 18, with each leg 16 either having its own ball joint 18 at one or both ends thereof (as illustrated in Figure 2) or sharing a ball joint 18 with an adjacent leg 16 at one or both ends. Each extendible leg 16 is typically formed as a pair of tubes, with one tube being moved telescopically within the other by a drive mechanism (e.g. linear motor) to provide extension and retraction of the extendible leg 16, as indicated by the arrows within each extendible leg 16 and as described in more detail in WO 2017/174966. A degree of separation between the drive and metrology parts of each strut can also be provided, as described in WO 2007/144573. It is also possible to provide a drive arrangement that is not only separate from but also different to the metrology arrangement, as described in WO 2019/073246.
Various relative positions between the moveable platform 12 and the fixed platform 14 can be achieved by extending the legs 16 by differing amounts. The relative position at any instant is monitored by a plurality of length-measuring transducers 17, with one such transducer for each extendable leg 16. Each length-measuring transducer 17 may comprise an encoder scale paired with a readhead, with the encoder scale being mounted suitably to one of the pair of telescopic tubes and the readhead mounted suitably on the other. Extension of the leg 16 thus causes the encoder scale to move past the readhead thereby allowing the length of the extendible leg 16 to be measured (or derived from measurements).
A machine controller 15 operates to set the length of each extendible leg 16 to provide the required relative movement between the platforms 12, 14. By having six such length-measuring transducers 17, the relative position can be measured in six corresponding respective degrees of freedom (three translational degrees of freedom and three rotational degrees of freedom).
A workpiece 19 is mounted on the lower (fixed) platform 14 and a measurement probe 13 is mounted on the upper (moveable) platform 12. A working volume (or operating volume) 11 is defined between the upper (moveable) platform 12 and the lower (fixed) platform 14, with the measurement probe 13 being positioned (i.e. moved to a desired position) in the working volume 11 by operation of the extendible legs 16. The arrangement of Figure 1 can be referred to as a "bottom-up" arrangement because the extendible legs 16 extend up from the fixed platform 14 to the moveable platform 12. This arrangement is illustrated more schematically in Figure 2.
Alternatively, as illustrated schematically in Figure 3, with a "top-down" arrangement the extendible legs 16 extend down from the fixed structure 14 to the moveable platform 12, with the measurement probe 13 mounted to a lower surface of the moveable platform 12 and a workpiece mounted to another part of the fixed structure 14 below that. These types of arrangement are discussed in more detail in WO 2019/073246, which also describes the use of a non-hexapod drive arrangement in combination with an independent hexapod metrology arrangement.
A measurement probe 13 is just one example of an operating tool that can be mounted on the moveable platform 12 to enable an operation to be performed on the workpiece 19. Where a measurement probe 13 is used, the coordinate positioning machine 10 can be referred to also as a coordinate measuring machine. Depending on the intended application, the operating tool can be adapted for measuring, probing or scanning in the case of a coordinate measuring machine, or machining or drilling in the case of a machine tool. It is also possible to mount the workpiece 19 on the moveable platform 12 and the measurement probe 13 (or other operating tool) on the fixed platform 14.
The coordinate positioning machine 10 of Figure 1 can be referred to as a non-Cartesian coordinate positioning machine because, in contrast to a Cartesian machine such as a traditional three-axis (X, Y, Z) coordinate measuring machine (described below with reference to Figure 4), its axes are not arranged orthogonally according to a Cartesian coordinate system. The coordinate positioning machine 10 of Figure 1 can be considered to have six axes of movement (or six drive axes), corresponding to (and defined by) the six extendable legs 16. In this sense, an axis of a coordinate positioning machine can be considered to relate to a degree of freedom that is sensed (e.g. by a transducer or encoder), noting that an axis can be linear or rotary, and that a coordinate positioning machine can have a combination of linear and rotary axes.
The coordinate positioning machine 10 of Figure 1 can also be referred to as a "parallel kinematic" coordinate positioning machine, because its axes of movement are arranged in parallel. This is to be contrasted with a traditional three-axis Cartesian coordinate measuring machine, which can be referred to as a "serial kinematic" coordinate positioning machine because its axes of movement are arranged instead in series. Another type of serial kinematic machine is an inspection robot or a manual articulating arm, with multiple articulating arm members connected in series by multiple rotary joints.
Each joint or axis in a coordinate positioning machine contributes a positional error or uncertainty. In a serial kinematic machine, because of the serial nature of the linkages these errors are cumulative. Whilst this accumulation of positional errors does not occur in the same sense with a parallel kinematic machine such as that shown in Figure 1, regardless of machine type it is important to calibrate the machine in order to map out these errors or uncertainties.
Calibration of any type of non-Cartesian machine is a significant challenge, and particularly so for a parallel kinematic machine such as that illustrated in Figure 1 having a plurality of axes that are not fixed relative to one another and that can combine in complicated ways to position the moving platform 12 in the working volume 11. Calibration of a Cartesian machine is typically more straightforward, because such a machine has three well-defined axes that are fixed relative to one another in an orthogonal arrangement, with each axis being largely independent of another. With a parallel kinematic machine such as that of Figure 1, the position and orientation of each axis depends on the position and orientation of each other axis, so that the calibration will be different for each different machine pose, thus posing a significant calibration challenge.
Many calibration techniques have in common the goal of specifying a parametric model of the machine concerned, in which a plurality of model parameters is used to characterise the machine's geometry. The model parameters can also be referred to as machine parameters. Uncalibrated values are initially assigned to these parameters as a starting point for the machine geometry. During the calibration, the machine is moved into a variety of different poses (based on the current estimates of the machine parameters). For each pose, a calibrated measuring device is used to measure the actual pose, so that an indication of the en-or between the assumed machine pose and the actual machine pose can be determined.
The task of calibrating the machine then amounts to determining a set of values for the machine various parameters that minimises the errors, using known numerical optimisation or error minimisation techniques. An example of such a technique is the well-known Levenberg-Marquardt algorithm, which uses a least-squares approach to minimise errors knowing the derivatives of the errors according to each parameter optimised ("A Method for the Solution of Certain Non-Linear Problems in Least Squares", Kenneth Levenberg, 1944, Quarterly of Applied Mathematics, 2: 164-168; and "An Algorithm for Least-Squares Estimation of Nonlinear Parameters", Donald Marquardt, 1963, SIAM Journal on Applied Mathematics, 11 (2) : 431-441). Other techniques are also possible, including those based on a maximum likelihood approach.
For a machine such as illustrated in Figure 1, these machine parameters might include various geometrical parameters such as the separation between each of the ball joints 18 and the offset of each of the length-measuring transducers or encoders 17 (with the reading from the encoder plus the calibrated offset being used to derive the actual strut extension), as well as various mechanical parameters such as joint compliance and friction. When properly calibrated, with all of these machine parameters known, it is possible to predict with more certainty in what position the measurement probe 13 (or other tool) will actually be when the various struts (or actuators) 16 are commanded by the machine controller 15 to extend by different respective amounts. In other words, the machine parameters resulting from such a calibration provide a more accurate characterisation of the machine geometry.
However, even using standard calibration techniques, due to the challenges associated with calibrating a non-Cartesian machine such as shown in Figure 1, errors will typically remain. As a result, the absolute accuracy of such a non-Cartesian machine is typically not as good as that of a traditional three-axis Cartesian machine, for example, meaning that a non-Cartesian machine typically finds use more as a comparator (comparing measurements made on a master workpiece with measurements made on workpieces coming off a production line in a factory, i.e. providing relative coordinate measurements) rather than as a coordinate measuring machine per se (i.e. providing absolute coordinate measurements).
Each extendible leg 16 would typically be associated with more than one model parameter. In this respect, in one example of a model for the machine geometry, the main mod& parameters used to characterise an extendible leg 16 (or indeed any actuator, whether linear or rotary) would be a scale parameter and an offset parameter. In simple terms, the total the length of an extendible leg 16 is determined by multiplying the raw encoder reading (from the corresponding length-measuring transducer 17) by the scale parameter and then adding the offset parameter, i.e. L = (k x r) + o, where L is the length of the extendible leg 15, k is the scale parameter, r is the linear encoder reading (a machine coordinate as referred to elsewhere herein), and o is the offset parameter, or alternatively adding the offset parameter to the encoder reading and then multiplying by the scale parameter, i.e. L = k x (r + o).
In this way, strut lengths (or changes in length) can be derived by applying the relevant model parameters to the raw values from the length-measuring transducers 17 shown in Figure 1. In other types of machine architecture having rotary joints instead of linear joints, such as in an articulated robot arm, the raw values would be from the angle encoders associated with the various rotary joints. This type of information, such as the linear encoder reading r in the above-mentioned expression L = (k x r) + o, can also be referred to as a set of machine coordinates, which in this context is intended to mean a set of coordinates or values representing the state of the machine (e.g. encoder readings for each joint) for a particular machine pose. In this respect, the various physical motion axes of a machine, such as the linear axes defined by the extendible legs 16 of a hexapod machine 10 or the rotary axes of an articulated robot arm, can be considered herein to define a machine coordinate system, hence the term machine coordinates in this context.
According to an embodiment of the present invention, thermal compensation can be applied to one of both of the scale and offset parameters mentioned above, for example based on readings from a temperature sensor on the extendible leg 16 (preferably near to the length-measuring transducer 17), or a temperature sensor located in a suitable location in or near the working volume 11, to account for the effect that temperature has on the length of the extendible leg 16. A calibration routine could be repeated for different temperatures, with the thermal compensation values effectively forming part of the model parameter set. Alternatively, temperature compensation could be applied based on a separate thermal model of the extendible leg 16. Thermal compensation can be applied to one or more of the parameters of the model, either alone or in combination, and either before or after applying them to the machine coordinates to determine the pose of the machine 10. For example, L = t r) + o) or L = ((tl x k x r) + t2 x o) where t, tl and t2 are thermal compensation parameters. The thermal compensation parameters could be multiplicative, additive, or a combination of both.
In addition to these six pairs of scale/offset parameters for the six extendible legs 16, for the machine 10 of Figure 10 there would be six further parameters representing the separation between the three balls of the ball joints 18 of the fixed platform 14 (three between pairs of balls along each side of the triangle and another three between pairs of balls at each corner of the triangle), and another six separation parameters for the ball joints 18 of the moving platform 12. There would typically also be three offset values that define where the origin of the tool frame is relative to the centre of the moving platform 12, for example the offset to a tool centre point. Again, thermal compensation can be applied to one or more of these parameters in a manner analogous to that described above for the scale and offset parameters of the extendible legs 16, using one or more temperature sensors on the fixed and/or moving platforms 14, 12, or a temperature sensor located in a suitable location in or near the working volume 11.
This amounts to at least 27 model parameters for a relatively simple model of the machine 10, and it is these model parameters that are optimised by a calibration routine. Before calibration, estimates for these parameters would be determined by other means, to use as a starting point for the calibration. It will be appreciated that the model parameters described above are intended only to be representative, purely for explanatory purposes, and it will be appreciated that different and/or additional model parameters can be included to define a more complicated machine geometry. For example, there may be additional model parameters to define the geometry of the fixed outer frame in a top-down arrangement as shown in Figure 3 (referred to above as the fixed structure 14), or this can be considered to be a separate model with its own set of model parameters, and thermal compensation can be applied to the parameters of this part of the overall model too An objective function can be defined which takes the raw encoder readings from each of the extendible legs 16, and which determines the length of each extendible leg 16 from these raw encoder readings using the scale and offset parameters mentioned above. The length of each extendible leg 16, together with the ball joint parameters that define the geometry of the platforms 12, 14, plus any other relevant model parameters, enables the expected relative position of the platforms 12, 24 to be determined. Use of the above-mentioned offset values for the reference point (e.g. tool centre point) would locate the reference point relative to the moving platform 12, and this would enable the position of the reference point to be determined relative to the fixed platform (i.e. within the machine 10). This expected position (based on the model parameters) would be compared against an actual measurement of the position (for example using a separate position sensing system) to derive an error value representing the difference between what has been measured and what is expected from the current model parameters.
The goal of the optimisation routine would then be to minimise the objective function (or the error returned by the objective function) by iteratively perturbing the model parameters in a way that will reduce the overall error at each iteration, or at least over a plurality of iterations if not for every iteration. By reducing this error function, a new set of model parameters is produced that fits or matches the recorded data (e.g. actuator extension values) better than the set of model parameters from the previous iteration. This iterative process can be repeated until a predetermined test is met, such as when the overall deviation (or error) is below a predetermined threshold. The final set of model parameters produced by the optimisation routine thereby characterises the geometry of the machine better than the existing or previous set of model parameters, and in doing so the machine 10 will be better calibrated than before and will accordingly be more accurate in terms of positioning performance.
It will be appreciated that the present invention is not limited to use in connection with a hexapod coordinate positioning machine, and would also be applicable to other types of coordinate positioning machine such as the Cartesian coordinate measuring machine 1 shown in Figure 4. The coordinate measuring machine 1 of Figure 4 has three linear axes x, y and z that are arranged orthogonally to one another in series, with the z axis being aligned with gravity g. A measurement probe 3 is mounted to a vertical column 8 which is slidable in the z direction within a carriage 2; this relative movement defines the z axis. The carriage 2 is itself supported on a horizontal beam 7 and is slidable in the y direction along the beam 7; this relative movement defines the y axis. In turn, the beam 7 is slidable in the x direction on a pair of rails 6; this relative movement defines the x axis. A computer controller 5 operates to drive each component (column 8, carriage 2, beam 7) along its corresponding respective axis to the appropriate position to place the measurement probe 3 in the desired position within a working volume 11 of the machine 1, and to move it into a sensing relationship with a workpiece 9 which is supported on a fixed platform 4. The measurement probe 3 may be mounted to the vertical column 8 in a fixed manner as shown, or it may be mounted to the vertical column 8 via an articulated probe head as shown in the inset part of Figure 4, with the articulated probe head providing two rotational axes a, b in addition to the three linear axes x, y, z Each axis x, y, z is driven independently of each other axis by a corresponding respective motor (not shown). Each axis x, y, z is also encoded or sensed independently of each other axis by a corresponding respective sensor, with the outputs from the sensors being used to determine the position of the measurement probe 3 (or whatever tool is attached to the column 8). Each axis is provided with a length-measuring transducer having an encoder scale (depicted schematically in Figure 4 as a series of parallel lines along each axis) paired with a readhead (not shown). To measure relative movement between two parts, the encoder scale is mounted suitably to one part and the readhead is mounted suitably on the other part.
As mentioned above in respect of the hexapod coordinate positioning machine 10 of Figure 1, the coordinate measuring machine 1 of Figure 4 would likewise have a geometry which can be characterised by a set of model parameters, and thermal compensation can be applied to one or more of these model parameters in an entirely equivalent way to what is described above. Accordingly, a detailed
description is not required.
A machine controller for controlling the operation of the coordinate positioning machine 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. 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 5 or 15. Such a program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website. The appended claims are to be interpreted as covering a program by itself, or as a record on a carrier, or as a signal, or in any other form.
Claims (15)
- CLAIMS1. A method of compensating for thermal or temperature-related effects in a coordinate positioning machine, wherein the geometry of the machine is characterised by a set of model parameters, and wherein the method comprises applying an adjustment to one or more of the parameters of the model based on a measure of temperature.
- 2. A method as claimed in claim 1, wherein an adjustment is applied to one or more of the parameters either alone or in combination.
- 3. A method as claimed in claim 1 or 2, wherein an adjustment is applied to one or more of the parameters either before or after applying them to the relevant machine coordinates.
- 4. A method as claimed in claim 3, wherein the machine coordinates comprise a set of actuator encoder readings.
- 5. A method as claimed in any preceding claim, wherein the thermal compensation is applied based on a thermal model of the machine or the relevant part thereof
- 6. A method as claimed in any preceding claim, wherein the thermal compensation is applied based on one or more thermal compensation parameters that form part of the set of model parameters.
- 7. A method as claimed in any preceding claim, wherein the thermal compensation adjustments are multiplicative, additive, or a combination of these.
- 8. A method as claimed in any preceding claim, using temperature information from at least one temperature sensor on or associated with the relevant machine part, for example approximate a length or angle measuring transducer, or a temperature sensor located in a suitable location in or near a working volume of the machine.
- 9. A method as claimed in any preceding claim, comprising using or applying the set of model parameters to determine the pose of the machine.
- 10. A method as claimed in any preceding claim, wherein the machine comprises a first platform that is moveable relative to a second platform.
- 11. A method as claimed in claim 10, wherein the first platform is a moving platform and the second platform is a fixed platform.
- 12. A method as claimed in any preceding claim, wherein the coordinate positioning machine is a non-Cartesian and/or parallel kinematic machine, such as a hexapod having six actuators arranged in parallel or an articulated arm having a plurality of actuators arranged in series.
- 13. A computer program which, when run by a computer or a machine controller, causes the computer or machine controller to perform a method as claimed in any preceding claim.
- 14. A computer-readable medium having stored therein computer program instructions for controlling a computer or a machine controller to perform a method as claimed in any one of claims 1 to 12.
- 15. A computer or machine controller configured to perform a method as claimed in any one of claims 1 to 12.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2311762.5A GB2632405A (en) | 2023-07-31 | 2023-07-31 | Coordinate positioning machine |
PCT/GB2024/052023 WO2025027329A1 (en) | 2023-07-31 | 2024-07-31 | Calibration and thermal compensation of a coordinate positioning machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2311762.5A GB2632405A (en) | 2023-07-31 | 2023-07-31 | Coordinate positioning machine |
Publications (2)
Publication Number | Publication Date |
---|---|
GB202311762D0 GB202311762D0 (en) | 2023-09-13 |
GB2632405A true GB2632405A (en) | 2025-02-12 |
Family
ID=87929891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB2311762.5A Pending GB2632405A (en) | 2023-07-31 | 2023-07-31 | Coordinate positioning machine |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2632405A (en) |
WO (1) | WO2025027329A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325907A1 (en) * | 2009-06-30 | 2010-12-30 | Hexagon Metrology Ab | Coordinate measurement machine with vibration detection |
WO2017080612A1 (en) * | 2015-11-13 | 2017-05-18 | Hexagon Technology Center Gmbh | Error compensation for coordinate measuring machines using a reference module |
EP3502611A1 (en) * | 2017-12-21 | 2019-06-26 | Hexagon Technology Center GmbH | Machine geometry monitoring |
EP4310441A1 (en) * | 2022-07-18 | 2024-01-24 | Hexagon Technology Center GmbH | Active thermal management for coordinate measuring machines |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH672089A5 (en) | 1985-12-16 | 1989-10-31 | Sogeva Sa | |
WO1997043703A1 (en) * | 1996-05-10 | 1997-11-20 | Automated Precision, Inc. | Real time machine tool error correction using global differential wet modeling |
US6269284B1 (en) * | 1997-05-09 | 2001-07-31 | Kam C. Lau | Real time machine tool error correction using global differential wet modeling |
EP1414626A4 (en) | 2001-07-05 | 2008-08-13 | Microdexterity Systems Inc | Parallel manipulator |
GB0612914D0 (en) | 2006-06-16 | 2006-08-09 | Renishaw Plc | Metrology apparatus |
US7753642B2 (en) | 2007-09-06 | 2010-07-13 | Ohio University | Apparatus and method associated with cable robot system |
US10830567B2 (en) | 2016-04-08 | 2020-11-10 | Renishaw Plc | Coordinate positioning machine |
GB2568459B (en) | 2017-10-13 | 2020-03-18 | Renishaw Plc | Coordinate positioning machine |
-
2023
- 2023-07-31 GB GB2311762.5A patent/GB2632405A/en active Pending
-
2024
- 2024-07-31 WO PCT/GB2024/052023 patent/WO2025027329A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325907A1 (en) * | 2009-06-30 | 2010-12-30 | Hexagon Metrology Ab | Coordinate measurement machine with vibration detection |
WO2017080612A1 (en) * | 2015-11-13 | 2017-05-18 | Hexagon Technology Center Gmbh | Error compensation for coordinate measuring machines using a reference module |
EP3502611A1 (en) * | 2017-12-21 | 2019-06-26 | Hexagon Technology Center GmbH | Machine geometry monitoring |
EP4310441A1 (en) * | 2022-07-18 | 2024-01-24 | Hexagon Technology Center GmbH | Active thermal management for coordinate measuring machines |
Also Published As
Publication number | Publication date |
---|---|
GB202311762D0 (en) | 2023-09-13 |
WO2025027329A1 (en) | 2025-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108351203B (en) | Method for providing accurate coordinate measurement, independent reference module and coordinate measuring machine | |
US7131207B2 (en) | Workpiece inspection method | |
CN105793666B (en) | Calibrating a coordinate measuring machine using a calibration laser head at a tool center point | |
JP6420317B2 (en) | Method and apparatus for inspecting a workpiece | |
JP6189921B2 (en) | Method and apparatus for inspecting a workpiece | |
US20050283989A1 (en) | Method of inspecting workpieces on a measuring machine | |
US20170363403A1 (en) | Method and apparatus for inspecting workpieces | |
CN113195176B (en) | Manufacturing system and method | |
WO1993008449A1 (en) | Measuring the accuracy of multi-axis machines | |
WO2023170166A1 (en) | System and method for calibration of an articulated robot arm | |
JP6735735B2 (en) | A coordinate measuring method and apparatus for inspecting a workpiece, the method comprising generating a measurement correction value using a reference shape known not to substantially deviate from an ideal form, Coordinate measuring method and apparatus for inspecting a workpiece | |
JP7599393B2 (en) | Method for calculating correction parameters for motion error in machine tool, machine tool | |
GB2632405A (en) | Coordinate positioning machine | |
Klobucar et al. | Automatic high resolution measurement set-up for calibrating precise line scales | |
EP3101384B1 (en) | Calibration method for calibrating the drive axis of a machine tool | |
WO2024023310A1 (en) | Coordinate positioning machine | |
WO2024157012A1 (en) | Coordinate positioning machine | |
GB2632400A (en) | Coordinate positioning machine | |
GB2632401A (en) | Coordinate positioning machine | |
Wang et al. | Measurement of 18 positioning errors using a simple laser Doppler displacement meter |