[go: up one dir, main page]

WO2025027329A1 - Calibration and thermal compensation of a coordinate positioning machine - Google Patents

Calibration and thermal compensation of a coordinate positioning machine Download PDF

Info

Publication number
WO2025027329A1
WO2025027329A1 PCT/GB2024/052023 GB2024052023W WO2025027329A1 WO 2025027329 A1 WO2025027329 A1 WO 2025027329A1 GB 2024052023 W GB2024052023 W GB 2024052023W WO 2025027329 A1 WO2025027329 A1 WO 2025027329A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine
parameters
model parameters
coordinate positioning
model
Prior art date
Application number
PCT/GB2024/052023
Other languages
French (fr)
Inventor
Stephen Mark Angood
Original Assignee
Renishaw Plc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renishaw Plc filed Critical Renishaw Plc
Publication of WO2025027329A1 publication Critical patent/WO2025027329A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/404Numerical 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, 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/00Accessories 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/0003Arrangements for preventing undesired thermal effects on tools or parts of the machine
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring 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/04Measuring 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/042Calibration or calibration artifacts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring 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/04Measuring 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/045Correction of measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/0011Arrangements for eliminating or compensation of measuring errors due to temperature or weight
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/0011Arrangements for eliminating or compensation of measuring errors due to temperature or weight
    • G01B5/0014Arrangements for eliminating or compensation of measuring errors due to temperature or weight due to temperature
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/004Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
    • G01B5/008Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37211Measure temperature, compensate cmm program for temperature
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39192Compensate thermal effects, expansion of links
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49175Compensate for errors in cmm, especially mirror errors, not flat enough
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49207Compensate thermal displacement using measured distance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49219Compensation temperature, thermal displacement

Definitions

  • the present invention relates to a coordinate positioning machine.
  • the present invention relates in particular to a non-Cartesian coordinate positioning machine such as a hexapod or an articulated robot.
  • a method of compensating for thermal or temperature-related effects in a non-Cartesian coordinate positioning machine comprising applying an adjustment during operational use of the machine to one or more of the parameters of the model based on a measure of temperature.
  • the interdependent model parameters may have been optimised together (or collectively as a group) via an iterative numerical optimisation or error minimisation routine (or process) carried out previously as part of a calibration method.
  • a non-Cartesian coordinate positioning machine can be considered as being a coordinate positioning machine having motion axes that are not arranged according to a Cartesian coordinate system.
  • 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 deriving the measure of temperature from at least one temperature sensor on or associated with or in proximity to the relevant machine part, for example a length or angle measuring transducer, and/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 during operational use.
  • One or more of the parameters may be or may relate directly to a separation between a different pair of features of the machine, for example between a different pair of geometrically significant features of the machine.
  • the separation may be expressed as or represented by a distance or an angle.
  • a feature may be considered to be a geometrically significant feature of the machine if it is key to the characterisation of the geometry.
  • the support (or ball joint) at either end of a strut in a hexapod coordinate positioning machine is considered to be a geometrically significant feature of the machine.
  • an error value from a mapping that is associated with a position part way along or around a linear or rotary axis would not be considered in this context to be a model parameter of the machine, whereas a scale or offset value that is applied globally to a motion axis would be.
  • the features of at least one of the pairs may be fixed relative to one another, such as for a separation between support members on the same platform, or the length/height of a structural feature of the machine such as the frame.
  • the features of at least one of the pairs may be moveable relative to one another, such as for a separation between support members at either end of a strut (for example as defined by scale and/or offset parameters).
  • the method may comprise performing the calibration method (in which the model parameters which characterise the geometry of the machine are optimised via an iterative numerical optimisation or error minimisation routine) prior to applying an adjustment during operational use to one or more of the parameters of the model based on a measure of temperature.
  • 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 parallel kinematic machine.
  • the coordinate positioning machine may comprise a plurality of actuators arranged in parallel.
  • the coordinate positioning machine may be a hexapod.
  • the coordinate positioning machine may have six (e.g. linear) actuators (or extendible legs or struts) arranged in parallel between the first and second platforms.
  • the first and second platforms may each comprise six support members (a six-on- six arrangement), with each of the six struts being coupled between a different one of the support members of the first platform and a different one of the support members of the second platform.
  • each of the six struts may be coupled between a different one of the support members of the first platform and a different one of the support members of the second platform.
  • the support members may be at least part spherical and/or may provide different respective ball joints for the struts.
  • the coordinate positioning machine may be an articulated arm having a plurality of (e.g. rotary) actuators arranged in series.
  • the coordinate positioning machine may be a robot arm.
  • the method may comprise applying an adjustment during use of the machine to one or more of the parameters of the model based a measure of an environmental condition (or property or characteristic) other than temperature, such as based on a measure of humidity.
  • a method of compensating for at least one environmental condition (or property or characteristic) in a non-Cartesian coordinate positioning machine comprising applying an adjustment during operational use of the machine to one or more of the parameters of the model based on a measure of the at least one environmental condition (or property or characteristic).
  • the at least one environmental condition (or property or characteristic) may include temperature.
  • the at least one environmental condition (or property or characteristic) may include humidity.
  • a method of operating (or calibrating and controlling) a non-Cartesian coordinate positioning machine The geometry of the machine is characterised by a set of interdependent model parameters (of a parametric model).
  • a calibration is performed to determine a new set of model parameters using an iterative numerical optimisation or error minimisation routine (or process) which optimises the model parameters together (or collectively as a group) to reduce an overall error measure compared to an existing set of model parameters to produce a new set of model parameters which thereby characterises the geometry of the machine better than the existing set of model parameters.
  • an adjustment is applied to one or more of the parameters of the model based on a measure of temperature (which may be referred to an operational temperature), with the machine being controlled based on the adjusted model parameters. It is possible to apply such an adjustment (even to a single model parameter) based on more than one measure of operational temperature.
  • the calibration may comprise controlling the machine into a plurality of poses and for each pose (or for each of a group of poses) measuring or deducing or determining an actual value of something (e.g. a property such as a position or dimension). This may be achieved by taking (or by having earlier taken) a “true” measurement of that something using an independent CMM or by knowing the true measurement of that something for example by virtue of a calibrated artefact.
  • An error value may be determined based on the actual value and an expected value that is derived based on the existing model parameters.
  • the overall error measure may be determined from the error values.
  • a new set of model parameters may be determined that would result in a lower overall error measure than for the existing set of model parameters.
  • the calibration may comprise recording a reference temperature (or calibration temperature) that is applicable during the process of controlling the machine into the plurality of poses (to determine the expected values).
  • the method may comprise applying the adjustment to the one or more model parameters based on the reference temperature (or calibration temperature), for example based on a comparison or difference between the reference temperature (or calibration temperature) and the operational temperature. Again, it is possible to apply such an adjustment (even to a single model parameter) based on more than one reference temperature (or calibration temperature) value.
  • An adjustment may be made in each iteration (of the iterative numerical optimisation or error minimisation routine or process) to more than one model parameter.
  • An adjustment to one or more parameters in isolation might increase the error measure even though in combination with an adjustment to one or more other parameters this actually has the effect of decreasing the error measure.
  • An optimum value for one of the parameters may be dependent on the value selected for another one of the parameters. This is unlike a Cartesian machine where each axis can be calibrated or mapped separately and/or independently.
  • 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 any of the first to third aspects of the present invention.
  • a computer- readable medium having stored therein computer program instructions for controlling a computer or a machine controller to perform a method according to any of the first to third aspects of the present invention.
  • a computer or machine controller configured to perform a method according to any of the first to third aspects of the present invention.
  • 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 nonCartesian coordinate positioning machine, corresponding to the arrangement of
  • Figure 3 is a schematic illustration of a top-down arrangement, which is an alternative to the bottom-up arrangement of Figure 2;
  • Figure 4 shows a simplified set of model parameters which are used to characterise the geometry of the top-down non-Cartesian arrangement illustrated schematically in Figure 3;
  • Figure 5 provides a more detailed representation of a parametric model which is used to characterise the geometry of a hexapod coordinate positioning machine having a top-down arrangement as shown in Figure 3;
  • Figures 6A and 6B illustrate the model parameters associated with the lower (moving) and upper (fixed) platforms of the machine of Figure 5;
  • Figure 7 shows a flowchart of the steps which are performed in an embodiment of the present invention to optimise the set of interdependent model parameters (as part of a calibration routine) and then to use those model parameters (as part of a machine control routine) with temperature compensation applied;
  • Figure 8 is a schematic representation of the iterative optimisation process which makes adjustments or perturbations to the interdependent model parameters with the aim being to reduce an overall error value for a given set of calibration data;
  • Figures 9A and 9B provide a schematic representation of a tri-glide arrangement as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
  • Figures 10A and 10B provide a schematic illustration of a type of linear delta robot as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
  • Figures 11 A and 1 IB provide a schematic illustration of a rotary delta robot as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
  • Figures 12A and 12B provide a schematic illustration of a robot arm as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
  • Figure 13 is a schematic illustration of a Cartesian coordinate positioning machine
  • Figure 14 shows a schematic representation of the Cartesian coordinate positioning machine of Figure 13, for comparison with the schematic representation of a non-Cartesian coordinate positioning machine as shown in Figure 3.
  • 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 1), 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 1) 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 lengthmeasuring 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 9 is mounted on the lower (fixed) platform 14 and a measurement probe 13 is mounted on the underside of 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, which also shows the lower (fixed) platform 14 itself being supported on a fixed base 22.
  • the extendible legs 16 extend down from the fixed platform 14 to the moveable platform 12, with the fixed platform 14 being supported and held above the moveable platform 12 by a fixed structure or frame 26, which is itself supported on the fixed base 22.
  • the measurement probe 13 is mounted to a lower surface of the moveable platform 12 and a workpiece is supported on a workpiece table 24 below that, with the working volume 11 being defined between the moving platform 12 and the workpiece table 24.
  • 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 9.
  • the coordinate positioning machine 10 can be referred to also as a coordinate measuring machine.
  • 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 9 on the moveable platform 12 and the measurement probe 13 (or other operating tool) on the fixed platform 14 or workpiece table 24.
  • the coordinate positioning machine 10 of Figure 1 can be referred to as a nonCartesian coordinate positioning machine because, in contrast to a Cartesian machine such as a traditional three-axis (X, Y, Z) coordinate measuring machine or CMM (described below with reference to Figure 13), 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.
  • 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 (or actuators) are arranged in parallel.
  • 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 (or actuators) are arranged instead in series.
  • serial kinematic machine is an inspection robot or a manual articulating arm, with multiple articulating arm members connected in series by multiple rotary joints.
  • An articulating arm is also another example of a non-Cartesian coordinate positioning machine.
  • 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.
  • 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, and this interdependence between motion axes poses a significant calibration challenge.
  • the machine may be controlled to move the measurement probe 13 into contact with a calibration artefact to collect calibration data.
  • the calibration artefact is one that has been measured in advance using an already-calibrated and highly-accurate CMM, and therefore can be considered to have a known and accurate geometry.
  • the calibration artefact may, for example, be a calibration sphere having a near-perfect sphericity and a known diameter. If from the calibration measurements (or calibration data) the diameter of the calibration sphere is determined (in effect measured) to be 25.2 mm, and it is known that the actual diameter of the calibration sphere is 25.0 mm, then this represents an error of +0.2 mm.
  • the measured diameter of 25.2 mm has been determined based on the current set of model parameters, for example by applying the encoder readings from the various length-measuring transducer 17 (these form part of the calibration data) to the existing model parameters to determine a spatial position of a measurement point at one side of the sphere, and similarly for a measurement point at the diametrically opposite side of the sphere. A diameter of 25.2 mm is then determined based on the distance or separation between those points, and this is the measured diameter (and is based on the current model parameters).
  • the goal of the optimisation routine is to iterate towards an improved set of model parameters which reduces the error value E so far as possible, by perturbing the model parameters by a small amount in each iteration in a way which tends to reduce the error value by a small amount, such that the same encoder readings (from the calibration data) will produce a diameter that is closer to the calibrated value of 25.0 mm, but based on the improved set of model parameters.
  • the error value it may not be possible to reduce the error value to zero, but instead a “best fit” is achieved which minimises the error or at least reduces it as far as possible or until it is below a predetermined threshold.
  • the error function will reduce with every iteration, and instead it may go up slightly in any particular iteration, for example to escape a local minimum.
  • the task of calibrating the machine amounts to determining a set of values for the various model parameters that minimises the errors, and this can be achieved 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.
  • these model 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.
  • 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)
  • various mechanical parameters such as joint compliance and friction.
  • Figure 4 shows a simplified set of model parameters which can be used to characterise the geometry of a hexapod coordinate positioning machine having a top-down arrangement like that as illustrated schematically in Figure 3.
  • the set S of model parameters includes a parameter pai which represents the distance or separation between the struts 16 where they couple to the lower (moving) platform 12 via the ball joints 18, and a corresponding parameter pa2 for the upper (fixed) platform 14.
  • the set S of model parameters also includes parameters phi and ph2 which represent the height of the frame 26 on left and right sides respectively thereof.
  • the set S of model parameters also includes parameters p si and p S 2 which define the geometry and behaviour of the first and second struts 16 respectively. Therefore, the full set S of model parameters is ⁇ pai, pa2, phi, piu, p s i, Ps2 ⁇ .
  • a temperature sensor 28 which will be discussed further below.
  • Each extendible leg 16 would typically be associated with more than one model parameter.
  • the main model 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. Therefore, each of the strut parameters p sn shown in Figure 4 (where n represents the strut number) would itself actually be a set (or subset) of parameters ⁇ Psnk, p S no ⁇ , where p sn k is the scale parameter for strut n and p S no is the offset parameter for strut n.
  • strut lengths can be derived by applying the relevant model parameters to the raw values from the length-measuring transducers 17 shown in Figure 1.
  • the raw values would be from the angle encoders associated with the various rotary joints.
  • This type of information 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.
  • 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.
  • thermal compensation can be applied to one of both of the scale and offset parameters pk, p 0 mentioned above, for example based on readings from a temperature sensor 28 located in a suitable location in or near the working volume 11 (such as attached to the frame 26 as shown in Figure 4), to account for the effect that temperature has on the length of the extendible leg 16.
  • a temperature sensor 28 could be provided on each of the extendible legs 16 (preferably near to the length-measuring transducer 17), instead of or in addition to the temperature sensor 28 attached to the frame 26.
  • a calibration routine could be repeated for different temperatures, with the thermal compensation values effectively forming part of the model parameter set.
  • 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 (encoder readings) to determine the pose of the machine 10.
  • the thermal compensation parameters could be multiplicative, additive, or a combination of both, and would be a function of the temperature value from one or more of the temperature sensors 28.
  • the amount of thermal compensation applied could be based for example on a difference or comparison between the relevant temperature value during operational use and the corresponding temperature value during the earlier calibration process (and for this purpose the temperature value that was applicable during the calibration process would be recorded at the time of carrying out the calibration).
  • thermal compensation parameters may for example be dependent on the coefficient of thermal expansion (CTE) of the material used to form the platforms 12, 14.
  • CTE coefficient of thermal expansion
  • thermal compensation can be applied based for example on a difference or comparison between the relevant temperature value(s) during operational use and the corresponding temperature value(s) during the earlier calibration process, and for this purpose the temperature value(s) that was/were applicable during the calibration process would be recorded at the time of carrying out the calibration.
  • model parameters for a relatively simple model of the machine 10 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.
  • 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.
  • 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
  • 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 numerical optimisation or error minimisation 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.
  • 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 numerical optimisation or error minimisation 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.
  • Figure 5 provides a more detailed representation of the parametric model than that which is shown in and described above with reference to Figure 4, again for a top- down type of hexapod coordinate positioning machine 10.
  • the more detailed parametric model shown in Figure 5 includes the 27 model parameters referred to above as well as three additional model parameters representing the height of the upper (fixed) platform 14 at or near each of the three corners of the triangle of ball joints 18 (i.e. corresponding to parameters phi and ph2 in Figure 4). This makes a total of thirty model parameters.
  • the labelling convention used for these parameters is similar to that used above for Figure 4, so that a detailed further description of these is not required.
  • the fuller set S of model parameters in Figure 5 are as follows: ⁇ pan, pan, pan, pai4, pais, pai6 ⁇ is a subset of model parameters defining the geometry of the strut support members (i.e. the balls of the ball joints 18) for the lower (moving) platform 12, as shown in more detail in Figure 6A.
  • pa2i, pa22, pa23, pa24, pa25, pa26 ⁇ is a subset of model parameters defining the geometry of the strut support members (i.e. the balls of the ball joints 18) for the upper (fixed) platform 14, as shown in more detail in Figure 6B.
  • ⁇ Psik, psio ⁇ is a subset of model parameters defining the behaviour of the first strut si, and a similar set of model parameters ⁇ p sn k, p S no ⁇ for each of the other struts sn.
  • phi, ph2, ph3 ⁇ is a subset of model parameters representing the height of the upper (fixed) platform 14 above the workpiece table 24 at each comer of the triangle formed by the three pairs of stmt support members on the upper (fixed) platform 14.
  • ⁇ ptx, pty, ptz ⁇ is a subset of model parameters 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 (e.g. the tip of the measurement probe 13).
  • the complete set S of model parameters for the parametric model shown in Figure 5 is therefore as follows: ⁇ ⁇ pan, pan, pan, pai4, pan, pan ⁇ , ⁇ pa2i, pa22, pa23, pa24, pa25, pa26 ⁇ , ⁇ Psik, Pslo ⁇ , ⁇ Ps2k, Ps2o ⁇ , ⁇ Ps3k, Ps3o ⁇ , ⁇ Ps4k, Ps4o ⁇ , ⁇ Ps5k, Ps5o ⁇ , ⁇ Ps6k, Ps6o ⁇ , ⁇ Phi, Ph2, Ph3 ⁇ , ⁇ Ptx, Pty, Ptz ⁇ ⁇ .
  • FIG. 5 Also shown in Figure 5 are three temperature sensors 18 located respectively on the workpiece table 24, the first (moveable) platform 12, and the second (fixed) platform 14, providing temperature readings for a thermal compensation scheme as described above. As mentioned above, there could be temperature sensors 18 on each of (or at least one of) the struts 16, preferably in close proximity to the length-measuring transducer 17 (in particular the encoder scale thereof), in addition to or instead of those shown in Figure 5.
  • model parameters for the first and second platforms 12 and 14 could be based on the radius and/or angle of the support member (ball) relative to the centre point of the platform 12, 14 (the centre point being marked in the drawings) rather than based on separations between the support members (balls).
  • the parametric model as a whole, as shown in Figure 5, is purely intended to be an example and is not intended to be limiting.
  • FIG. 7 shows a flowchart of the steps which are performed in an embodiment of the present invention to optimise the set of interdependent model parameters (as part of a calibration routine) and then to use those model parameters (as part of a machine control routine) with temperature compensation applied.
  • the existing set of model parameters is loaded; this could be estimates for the model parameters described above as being a starting point for the calibration, or they could be the model parameters determined from a previous calibration run.
  • calibration data is collected, for example by probing a calibration artefact or a set of calibration artefacts as described above.
  • an iterative numerical optimisation or error minimisation routine is performed based on the calibration data from step S2 and the existing model parameters from step SI.
  • Step S3 can be considered to be divided into sub-steps S3 a to S3c as shown in Figure 7.
  • step S3a the current model parameters are perturbed, i.e. subject to small adjustments, and in step S3b an overall error measure E is determined as described above based on the calibration data and existing model parameters (for example this error value E could be based around the measurement error of +0.2 mm for the spherical calibration artefact described above).
  • step S3c it is determined whether the error value E determined in step S3b is below a predetermined threshold error ET and if not then processing returns to step S3 a for the next iteration of the optimisation routine. If it is determined in step S3c that the error value E determined in step S3b is below the threshold error ET then the optimisation routine is considered to be complete, with a new set of model parameters having been determined, and processing continues to step S4.
  • the iterative numerical optimisation routine of step S3 (and sub-steps S3a to S3c) is represented schematically in Figure 8, in order to provide a more conceptual representation of how the set S of interdependent model parameters is optimised.
  • All thirty model parameters from the parametric model of Figure 5 are shown at the top of Figure 8 as being held together as a group inside a container, with the extent of the container being considered to represent an energy state (or error value) E for those parameters.
  • This is the start of iteration 1 of the optimisation routine, where the energy state has a value of Eo.
  • the container is “shaken up” to perturb the model parameters contained therein, with the intention of causing the model parameters to settle into a lower energy state than before.
  • step S4 the new (optimised) set S of model parameters (as determined in step S3) is loaded and ready for operational use.
  • a loop comprising steps S5 to S7 is performed for as long as is necessary.
  • step S5 the temperature sensor(s) 28 are queried to determine corresponding temperature value(s).
  • step S6 one or more of the model parameters is adjusted described above to take account of the temperature values(s) from step S5, such that motion control of the machine 10 in step S7 is performed based on the thermally compensated set of model parameters.
  • non-Cartesian coordinate positioning machine having a serial rather than parallel kinematic architecture.
  • a non-Cartesian coordinate positioning machine having a serial rather than parallel kinematic architecture would be an industrial robot (or robot arm) or a manual articulating arm, with multiple articulating arm members connected in series by multiple rotary joints.
  • Another example of a non-Cartesian coordinate positioning machine having a parallel kinematic architecture is a rotary delta robot (see e.g. US4976582) or a cable robot (see e.g.
  • FIG. 9A and 9B A schematic representation of a tri-glide arrangement is shown in Figures 9A and 9B, while Figures 10A and 10B provide a schematic illustration of a type of linear delta robot (which corresponds generally to the architecture of the EquatorTM gauging machine from Renishaw pic).
  • Figures 11 A and 1 IB A schematic representation of a rotary delta robot is shown in Figures 11 A and 1 IB, and a robot arm is illustrated schematically in Figures 12A and 12B (shown carrying a gripper 23 rather than a measurement probe 13).
  • Each of these other types of non-Cartesian machine also has a geometry which can be characterised by a set of interdependent 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 for these other types of non-Cartesian machine.
  • model parameters that characterise the geometry of the machine might include various geometrical parameters such as the length of each of the links between rotary joints and the rotation angle offset of each of the rotational joints (with the angle from the encoder plus the calibrated offset giving the actual angle), as well as various mechanical parameters such as joint compliance and friction; any or all of these interdependent model parameters could be subject to thermal compensation in an entirely equivalent manner to what is described above in respect of a hexapod coordinate positioning machine.
  • a Cartesian coordinate positioning machine 1 is shown in Figure 13.
  • the coordinate positioning machine 1 of Figure 13 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 13 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 (since the machine 1 is set up for measurement tasks it can be referred to as a coordinate measuring machine or CMM).
  • 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.
  • 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 13 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 base 22.
  • the measurement probe 13 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 13, 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 13 (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 13 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.
  • a coordinate positioning machine 1 of a type as shown in Figure 13 is not considered in the context of the present application to have a geometry that is characterised by a set of interdependent model parameters. Because a Cartesian coordinate positioning machine is not characterised by a parametric model in the same way as a non-Cartesian coordinate positioning machine, it is also not calibrated in the same sense as a non-Cartesian coordinate positioning machine (for example as described above with reference to Figures 7 and 8).
  • a volumetric analysis (or volumetric compensation) can be performed based on data from all three axes in different positions within the working volume and so that positioning errors in multiple degrees of freedom can be corrected throughout the working volume.
  • a volumetric analysis is not applicable to a non-Cartesian machine in which the various motion axes are interdependent, and where it is not possible to effect motion along (or around) one motion axis without affecting the position and/or orientation of another motion axis.
  • Each of the struts 16 in a hexapod coordinate positioning machine may be subject to a calibration or error mapping procedure before being assembled into the hexapod machine 10, but this is merely to provide an improved length-measuring performance for that strut 16 in isolation, as a starting point for an overall machine calibration (as described above) once all of the struts 16 are in place.
  • the model parameters that are optimised by an iterative process as described above are applied on top of any underlying individual strut mappings.
  • the set of model parameters that form the basis of an embodiment of the present invention are those that are invariant to the state or actuation of the motion axes of the machine, i.e. they are intended to characterise the core geometry of the machine regardless of state.
  • volumetric corrections are not therefore invariant to the state of the machine and are not considered in the context of the present application to be model parameters that characterise the core geometry of the machine. Rather, they are corrections that are applied on top of the theoretical Cartesian geometry to account for departures from pure Cartesian motion in different parts of the working volume.
  • an adjustment is typically made at each stage of the optimisation or error minimisation routine to multiple model parameters in order to iterate towards a best fit. Due to the interdependence between the model parameters, an adjustment to a particular model parameter in isolation might have the effect of increasing the overall error measure (thereby making the calibration worse), even though in combination with an adjustment to one or more other model parameters the combined effect is a decrease in the overall error measure (thereby making the calibration better).
  • the interdependence between the model parameters is such that an optimum value for one of the model parameters is dependent on the value selected for another of the model parameters.
  • 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.
  • 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 realtime controller.
  • 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 15.
  • 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.

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)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)

Abstract

A method of compensating for thermal or temperature-related effects in a non- Cartesian coordinate positioning machine is described, wherein the geometry of the machine is characterised by a set of interdependent model parameters which have been optimised together via an iterative numerical optimisation or error minimisation routine carried out previously as part of a calibration method, and wherein the method comprises applying an adjustment to one or more of the parameters of the model based on a measure of temperature.

Description

CALIBRATION AND THERMAL COMPENSATION OF A COORDINATE POSITIONING MACHINE
The present invention relates to a coordinate positioning machine. The present invention relates in particular 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 non-Cartesian coordinate positioning machine. The geometry of the machine is characterised by a set of interdependent model parameters (of a parametric model). The method comprises applying an adjustment during operational use of the machine to one or more of the parameters of the model based on a measure of temperature.
The interdependent model parameters may have been optimised together (or collectively as a group) via an iterative numerical optimisation or error minimisation routine (or process) carried out previously as part of a calibration method.
A non-Cartesian coordinate positioning machine can be considered as being a coordinate positioning machine having motion axes that are not arranged according to a Cartesian coordinate system.
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 deriving the measure of temperature from at least one temperature sensor on or associated with or in proximity to the relevant machine part, for example a length or angle measuring transducer, and/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 during operational use.
One or more of the parameters may be or may relate directly to a separation between a different pair of features of the machine, for example between a different pair of geometrically significant features of the machine. The separation may be expressed as or represented by a distance or an angle. A feature may be considered to be a geometrically significant feature of the machine if it is key to the characterisation of the geometry. For example, the support (or ball joint) at either end of a strut in a hexapod coordinate positioning machine is considered to be a geometrically significant feature of the machine. On the other hand, an error value from a mapping that is associated with a position part way along or around a linear or rotary axis would not be considered in this context to be a model parameter of the machine, whereas a scale or offset value that is applied globally to a motion axis would be.
The features of at least one of the pairs may be fixed relative to one another, such as for a separation between support members on the same platform, or the length/height of a structural feature of the machine such as the frame. The features of at least one of the pairs may be moveable relative to one another, such as for a separation between support members at either end of a strut (for example as defined by scale and/or offset parameters).
The method may comprise performing the calibration method (in which the model parameters which characterise the geometry of the machine are optimised via an iterative numerical optimisation or error minimisation routine) prior to applying an adjustment during operational use to one or more of the parameters of the model based on a measure of temperature.
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 parallel kinematic machine.
The coordinate positioning machine may comprise a plurality of actuators arranged in parallel.
The coordinate positioning machine may be a hexapod.
The coordinate positioning machine may have six (e.g. linear) actuators (or extendible legs or struts) arranged in parallel between the first and second platforms.
The first and second platforms may each comprise six support members (a six-on- six arrangement), with each of the six struts being coupled between a different one of the support members of the first platform and a different one of the support members of the second platform. In other words, in such a machine architecture none of the struts couple onto or share the same support member.
The support members may be at least part spherical and/or may provide different respective ball joints for the struts.
The coordinate positioning machine may be an articulated arm having a plurality of (e.g. rotary) actuators arranged in series.
The coordinate positioning machine may be a robot arm.
The method may comprise applying an adjustment during use of the machine to one or more of the parameters of the model based a measure of an environmental condition (or property or characteristic) other than temperature, such as based on a measure of humidity.
According to a second aspect of the present invention, there is provided a method of compensating for at least one environmental condition (or property or characteristic) in a non-Cartesian coordinate positioning machine. The geometry of the machine is characterised by a set of interdependent model parameters (of a parametric model). The method comprises applying an adjustment during operational use of the machine to one or more of the parameters of the model based on a measure of the at least one environmental condition (or property or characteristic). The at least one environmental condition (or property or characteristic) may include temperature. The at least one environmental condition (or property or characteristic) may include humidity. Each of the ancillary features described above in relation to the first aspect of the present invention apply equivalently to the second aspect of the present invention.
According to a third aspect of the present invention, there is provided a method of operating (or calibrating and controlling) a non-Cartesian coordinate positioning machine. The geometry of the machine is characterised by a set of interdependent model parameters (of a parametric model). A calibration is performed to determine a new set of model parameters using an iterative numerical optimisation or error minimisation routine (or process) which optimises the model parameters together (or collectively as a group) to reduce an overall error measure compared to an existing set of model parameters to produce a new set of model parameters which thereby characterises the geometry of the machine better than the existing set of model parameters. During subsequent operational use of the calibrated machine an adjustment is applied to one or more of the parameters of the model based on a measure of temperature (which may be referred to an operational temperature), with the machine being controlled based on the adjusted model parameters. It is possible to apply such an adjustment (even to a single model parameter) based on more than one measure of operational temperature.
The calibration may comprise controlling the machine into a plurality of poses and for each pose (or for each of a group of poses) measuring or deducing or determining an actual value of something (e.g. a property such as a position or dimension). This may be achieved by taking (or by having earlier taken) a “true” measurement of that something using an independent CMM or by knowing the true measurement of that something for example by virtue of a calibrated artefact. An error value may be determined based on the actual value and an expected value that is derived based on the existing model parameters. The overall error measure may be determined from the error values. A new set of model parameters may be determined that would result in a lower overall error measure than for the existing set of model parameters.
The calibration may comprise recording a reference temperature (or calibration temperature) that is applicable during the process of controlling the machine into the plurality of poses (to determine the expected values). During subsequent operational use of the calibrated machine the method may comprise applying the adjustment to the one or more model parameters based on the reference temperature (or calibration temperature), for example based on a comparison or difference between the reference temperature (or calibration temperature) and the operational temperature. Again, it is possible to apply such an adjustment (even to a single model parameter) based on more than one reference temperature (or calibration temperature) value.
An adjustment may be made in each iteration (of the iterative numerical optimisation or error minimisation routine or process) to more than one model parameter. An adjustment to one or more parameters in isolation might increase the error measure even though in combination with an adjustment to one or more other parameters this actually has the effect of decreasing the error measure. An optimum value for one of the parameters may be dependent on the value selected for another one of the parameters. This is unlike a Cartesian machine where each axis can be calibrated or mapped separately and/or independently.
According to a fourth 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 any of the first to third aspects of the present invention.
According to a fifth 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 any of the first to third aspects of the present invention.
According to a sixth aspect of the present invention, there is provided a computer or machine controller configured to perform a method according to any of the first to third aspects 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 nonCartesian 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;
Figure 4 shows a simplified set of model parameters which are used to characterise the geometry of the top-down non-Cartesian arrangement illustrated schematically in Figure 3;
Figure 5 provides a more detailed representation of a parametric model which is used to characterise the geometry of a hexapod coordinate positioning machine having a top-down arrangement as shown in Figure 3;
Figures 6A and 6B illustrate the model parameters associated with the lower (moving) and upper (fixed) platforms of the machine of Figure 5;
Figure 7 shows a flowchart of the steps which are performed in an embodiment of the present invention to optimise the set of interdependent model parameters (as part of a calibration routine) and then to use those model parameters (as part of a machine control routine) with temperature compensation applied;
Figure 8 is a schematic representation of the iterative optimisation process which makes adjustments or perturbations to the interdependent model parameters with the aim being to reduce an overall error value for a given set of calibration data;
Figures 9A and 9B provide a schematic representation of a tri-glide arrangement as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable; Figures 10A and 10B provide a schematic illustration of a type of linear delta robot as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
Figures 11 A and 1 IB provide a schematic illustration of a rotary delta robot as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
Figures 12A and 12B provide a schematic illustration of a robot arm as another example of a non-Cartesian coordinate positioning machine to which thermal compensation in accordance with an embodiment of the present invention is applicable;
Figure 13 is a schematic illustration of a Cartesian coordinate positioning machine; and
Figure 14 shows a schematic representation of the Cartesian coordinate positioning machine of Figure 13, for comparison with the schematic representation of a non-Cartesian coordinate positioning machine as shown in Figure 3.
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 1), 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 1) 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 lengthmeasuring 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 9 is mounted on the lower (fixed) platform 14 and a measurement probe 13 is mounted on the underside of 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, which also shows the lower (fixed) platform 14 itself being supported on a fixed base 22.
Alternatively, as illustrated schematically in Figure 3, with a “top-down” arrangement the extendible legs 16 extend down from the fixed platform 14 to the moveable platform 12, with the fixed platform 14 being supported and held above the moveable platform 12 by a fixed structure or frame 26, which is itself supported on the fixed base 22. The measurement probe 13 is mounted to a lower surface of the moveable platform 12 and a workpiece is supported on a workpiece table 24 below that, with the working volume 11 being defined between the moving platform 12 and the workpiece table 24.
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. It will be appreciated that 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 9. 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 9 on the moveable platform 12 and the measurement probe 13 (or other operating tool) on the fixed platform 14 or workpiece table 24.
The coordinate positioning machine 10 of Figure 1 can be referred to as a nonCartesian coordinate positioning machine because, in contrast to a Cartesian machine such as a traditional three-axis (X, Y, Z) coordinate measuring machine or CMM (described below with reference to Figure 13), 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 (or actuators) 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 (or actuators) 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. An articulating arm is also another example of a non-Cartesian coordinate positioning machine.
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, and this interdependence between motion axes poses a significant calibration challenge.
Many calibration techniques for non-Cartesian machines 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 (these measurements are referred to as calibration data), so that an indication of the error between the assumed machine pose and the actual machine pose can be determined.
For example, the machine may be controlled to move the measurement probe 13 into contact with a calibration artefact to collect calibration data. The calibration artefact is one that has been measured in advance using an already-calibrated and highly-accurate CMM, and therefore can be considered to have a known and accurate geometry. The calibration artefact may, for example, be a calibration sphere having a near-perfect sphericity and a known diameter. If from the calibration measurements (or calibration data) the diameter of the calibration sphere is determined (in effect measured) to be 25.2 mm, and it is known that the actual diameter of the calibration sphere is 25.0 mm, then this represents an error of +0.2 mm. This can be considered to be an overall error value E, or at least to form part of the overall error value E because in practice a more diverse set of calibration measurements would be used to define an error function, with the aim of the calibration being to find an improved set of model parameters that provides a better fit to the calibration data (and therefore a lower overall error E).
It will be noted that the measured diameter of 25.2 mm has been determined based on the current set of model parameters, for example by applying the encoder readings from the various length-measuring transducer 17 (these form part of the calibration data) to the existing model parameters to determine a spatial position of a measurement point at one side of the sphere, and similarly for a measurement point at the diametrically opposite side of the sphere. A diameter of 25.2 mm is then determined based on the distance or separation between those points, and this is the measured diameter (and is based on the current model parameters).
The goal of the optimisation routine is to iterate towards an improved set of model parameters which reduces the error value E so far as possible, by perturbing the model parameters by a small amount in each iteration in a way which tends to reduce the error value by a small amount, such that the same encoder readings (from the calibration data) will produce a diameter that is closer to the calibrated value of 25.0 mm, but based on the improved set of model parameters. Because of the interdependent nature of the model parameters, it may not be possible to reduce the error value to zero, but instead a “best fit” is achieved which minimises the error or at least reduces it as far as possible or until it is below a predetermined threshold. It will also be noted that it is not necessarily the case that the error function will reduce with every iteration, and instead it may go up slightly in any particular iteration, for example to escape a local minimum.
Therefore, the task of calibrating the machine amounts to determining a set of values for the various model parameters that minimises the errors, and this can be achieved 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 model 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 model 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 nonCartesian 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).
With the above in mind, Figure 4 shows a simplified set of model parameters which can be used to characterise the geometry of a hexapod coordinate positioning machine having a top-down arrangement like that as illustrated schematically in Figure 3. The set S of model parameters includes a parameter pai which represents the distance or separation between the struts 16 where they couple to the lower (moving) platform 12 via the ball joints 18, and a corresponding parameter pa2 for the upper (fixed) platform 14. The set S of model parameters also includes parameters phi and ph2 which represent the height of the frame 26 on left and right sides respectively thereof. Finally, the set S of model parameters also includes parameters psi and pS2 which define the geometry and behaviour of the first and second struts 16 respectively. Therefore, the full set S of model parameters is { pai, pa2, phi, piu, psi, Ps2 }. Also shown in Figure 4 is a temperature sensor 28 which will be discussed further below.
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 model 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. Therefore, each of the strut parameters psn shown in Figure 4 (where n represents the strut number) would itself actually be a set (or subset) of parameters { Psnk, pSno }, where psnk is the scale parameter for strut n and pSno is the offset parameter for strut n. 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 = (pk x r) + p0, where L is the length of the extendible leg 16, pk is the scale parameter, r is the linear encoder reading (a machine coordinate as referred to elsewhere herein), and p0 is the offset parameter, or alternatively adding the offset parameter to the encoder reading and then multiplying by the scale parameter, i.e. L = pk x (r + p0). There could also be an underlying error map for the strut 16 which is applied before using the scale and offset parameters, where the error map for each strut 16 is produced in advance (i.e. before installing the strut 16 into the hexapod coordinate positioning machine 10) for example using an XL-80 or XM-60 calibrator from Renishaw pic. 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 = (pk x r) + p0, 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 pk, p0 mentioned above, for example based on readings from a temperature sensor 28 located in a suitable location in or near the working volume 11 (such as attached to the frame 26 as shown in Figure 4), to account for the effect that temperature has on the length of the extendible leg 16. Such a temperature sensor 28 could be provided on each of the extendible legs 16 (preferably near to the length-measuring transducer 17), instead of or in addition to the temperature sensor 28 attached to the frame 26. 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 (encoder readings) to determine the pose of the machine 10. For example, L = t x ((pk x r) + p0) or L = ((tk x pk x r) + to x p0) where t, tk and to are the thermal compensation parameters. The thermal compensation parameters could be multiplicative, additive, or a combination of both, and would be a function of the temperature value from one or more of the temperature sensors 28. The amount of thermal compensation applied could be based for example on a difference or comparison between the relevant temperature value during operational use and the corresponding temperature value during the earlier calibration process (and for this purpose the temperature value that was applicable during the calibration process would be recorded at the time of carrying out the calibration).
In addition to these six pairs of scale/offset parameters for the six extendible legs 16, for the machine 10 of Figure 1 there would be six further parameters representing the separation between the six 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, for example using one or more temperature sensors 28 on the fixed and/or moving platforms 14, 12, or a temperature sensor 28 located in a suitable location in or near the working volume 11.
For example, where applied to the parameters representing the separation between the balls (or support members) of the ball joints 18, this would amount to moving the centres of these support members relative to one another, for example moving them further apart to account for thermal expansion of the moving platform 12 or fixed platform 14 due to a change in temperature, or likewise moving them closer together to account for thermal contraction. The associated thermal compensation parameters may for example be dependent on the coefficient of thermal expansion (CTE) of the material used to form the platforms 12, 14. Similar to what is described above, thermal compensation can be applied based for example on a difference or comparison between the relevant temperature value(s) during operational use and the corresponding temperature value(s) during the earlier calibration process, and for this purpose the temperature value(s) that was/were applicable during the calibration process would be recorded at the time of carrying out the calibration. It would be possible to apply temperature compensation only to the model parameters which define the geometry of the fixed structure (e.g. separation between the support members on either or both of the platforms 12, 14 and/or the height or length of the supporting frame 26), and not those which relate to the struts 16 (i.e. the scale and offset parameters).
The above 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 26 in a top-down arrangement as shown in Figure 3, 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 numerical optimisation or error minimisation 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 numerical optimisation or error minimisation 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.
Figure 5 provides a more detailed representation of the parametric model than that which is shown in and described above with reference to Figure 4, again for a top- down type of hexapod coordinate positioning machine 10. The more detailed parametric model shown in Figure 5 includes the 27 model parameters referred to above as well as three additional model parameters representing the height of the upper (fixed) platform 14 at or near each of the three corners of the triangle of ball joints 18 (i.e. corresponding to parameters phi and ph2 in Figure 4). This makes a total of thirty model parameters. The labelling convention used for these parameters is similar to that used above for Figure 4, so that a detailed further description of these is not required. In summary, the fuller set S of model parameters in Figure 5 are as follows: { pan, pan, pan, pai4, pais, pai6 } is a subset of model parameters defining the geometry of the strut support members (i.e. the balls of the ball joints 18) for the lower (moving) platform 12, as shown in more detail in Figure 6A.
{ pa2i, pa22, pa23, pa24, pa25, pa26 } is a subset of model parameters defining the geometry of the strut support members (i.e. the balls of the ball joints 18) for the upper (fixed) platform 14, as shown in more detail in Figure 6B.
{ Psik, psio } is a subset of model parameters defining the behaviour of the first strut si, and a similar set of model parameters { psnk, pSno } for each of the other struts sn.
{ phi, ph2, ph3 } is a subset of model parameters representing the height of the upper (fixed) platform 14 above the workpiece table 24 at each comer of the triangle formed by the three pairs of stmt support members on the upper (fixed) platform 14.
{ ptx, pty, ptz } is a subset of model parameters 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 (e.g. the tip of the measurement probe 13).
The complete set S of model parameters for the parametric model shown in Figure 5 is therefore as follows: { { pan, pan, pan, pai4, pan, pan }, { pa2i, pa22, pa23, pa24, pa25, pa26 }, { Psik, Pslo }, { Ps2k, Ps2o }, { Ps3k, Ps3o }, { Ps4k, Ps4o }, { Ps5k, Ps5o }, { Ps6k, Ps6o }, { Phi, Ph2, Ph3 }, { Ptx, Pty, Ptz } } .
Also shown in Figure 5 are three temperature sensors 18 located respectively on the workpiece table 24, the first (moveable) platform 12, and the second (fixed) platform 14, providing temperature readings for a thermal compensation scheme as described above. As mentioned above, there could be temperature sensors 18 on each of (or at least one of) the struts 16, preferably in close proximity to the length-measuring transducer 17 (in particular the encoder scale thereof), in addition to or instead of those shown in Figure 5.
It will be appreciated that the model parameters for the first and second platforms 12 and 14 (as shown in Figures 6 A and 6B respectively) could be based on the radius and/or angle of the support member (ball) relative to the centre point of the platform 12, 14 (the centre point being marked in the drawings) rather than based on separations between the support members (balls). Indeed, it will be appreciated that the parametric model as a whole, as shown in Figure 5, is purely intended to be an example and is not intended to be limiting.
Figure 7 shows a flowchart of the steps which are performed in an embodiment of the present invention to optimise the set of interdependent model parameters (as part of a calibration routine) and then to use those model parameters (as part of a machine control routine) with temperature compensation applied. In step SI, the existing set of model parameters is loaded; this could be estimates for the model parameters described above as being a starting point for the calibration, or they could be the model parameters determined from a previous calibration run. In step S2, calibration data is collected, for example by probing a calibration artefact or a set of calibration artefacts as described above. In step S3, an iterative numerical optimisation or error minimisation routine is performed based on the calibration data from step S2 and the existing model parameters from step SI.
Step S3 can be considered to be divided into sub-steps S3 a to S3c as shown in Figure 7. In step S3a, the current model parameters are perturbed, i.e. subject to small adjustments, and in step S3b an overall error measure E is determined as described above based on the calibration data and existing model parameters (for example this error value E could be based around the measurement error of +0.2 mm for the spherical calibration artefact described above). In step S3c it is determined whether the error value E determined in step S3b is below a predetermined threshold error ET and if not then processing returns to step S3 a for the next iteration of the optimisation routine. If it is determined in step S3c that the error value E determined in step S3b is below the threshold error ET then the optimisation routine is considered to be complete, with a new set of model parameters having been determined, and processing continues to step S4.
The iterative numerical optimisation routine of step S3 (and sub-steps S3a to S3c) is represented schematically in Figure 8, in order to provide a more conceptual representation of how the set S of interdependent model parameters is optimised. All thirty model parameters from the parametric model of Figure 5 are shown at the top of Figure 8 as being held together as a group inside a container, with the extent of the container being considered to represent an energy state (or error value) E for those parameters. This is the start of iteration 1 of the optimisation routine, where the energy state has a value of Eo. Then, as part of iteration 1 and as per step S3b of Figure 7, the container is “shaken up” to perturb the model parameters contained therein, with the intention of causing the model parameters to settle into a lower energy state than before.
After this perturbation, and at the end of iteration 1, the model parameters have settled into a lower energy state (error value) of Ei, which is less than Eo but still higher than ET. This is represented in Figure 8 as a shrinkage of the container which holds the model parameters, like a balloon deflating towards a lower energy state. Because the energy state (error value) of Ei is still above ET, the routine continues into a second (and subsequent) iteration, until eventually the energy state (error value) reaches a value of EN, which is lower than ET SO that the iterative process is concluded. This is represented in Figure 8 as a shrinkage of the container towards a low-energy (low-error) state EN in which the container which holds the model parameters has a circular (low energy) shape. The resultant set S of model parameters is then ready for the next stage of the method.
In step S4 the new (optimised) set S of model parameters (as determined in step S3) is loaded and ready for operational use. During use of the machine 10, for example to perform a measurement or manipulation task on the workpiece 9, a loop comprising steps S5 to S7 is performed for as long as is necessary. In step S5 the temperature sensor(s) 28 are queried to determine corresponding temperature value(s). Then in step S6 one or more of the model parameters is adjusted described above to take account of the temperature values(s) from step S5, such that motion control of the machine 10 in step S7 is performed based on the thermally compensated set of model parameters.
It will be appreciated that the present invention is not limited to use in connection with a hexapod coordinate positioning machine of a type as described above, and would also be applicable to other types of non-Cartesian coordinate positioning machine, such as a non-Cartesian coordinate positioning machine having a serial rather than parallel kinematic architecture. One such example would be an industrial robot (or robot arm) or a manual articulating arm, with multiple articulating arm members connected in series by multiple rotary joints. Another example of a non-Cartesian coordinate positioning machine having a parallel kinematic architecture is a rotary delta robot (see e.g. US4976582) or a cable robot (see e.g. US 2009/0066100) or a tri-glide arrangement (see e.g. US 2003/0005786). A schematic representation of a tri-glide arrangement is shown in Figures 9A and 9B, while Figures 10A and 10B provide a schematic illustration of a type of linear delta robot (which corresponds generally to the architecture of the Equator™ gauging machine from Renishaw pic). A schematic representation of a rotary delta robot is shown in Figures 11 A and 1 IB, and a robot arm is illustrated schematically in Figures 12A and 12B (shown carrying a gripper 23 rather than a measurement probe 13).
Each of these other types of non-Cartesian machine also has a geometry which can be characterised by a set of interdependent 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 for these other types of non-Cartesian machine. For example, for a robot arm as illustrated in Figure 11, the model parameters that characterise the geometry of the machine might include various geometrical parameters such as the length of each of the links between rotary joints and the rotation angle offset of each of the rotational joints (with the angle from the encoder plus the calibrated offset giving the actual angle), as well as various mechanical parameters such as joint compliance and friction; any or all of these interdependent model parameters could be subject to thermal compensation in an entirely equivalent manner to what is described above in respect of a hexapod coordinate positioning machine.
By way of contrast to the non-Cartesian coordinate positioning machines described above, a Cartesian coordinate positioning machine 1 is shown in Figure 13. The coordinate positioning machine 1 of Figure 13 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 13 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 (since the machine 1 is set up for measurement tasks it can be referred to as a coordinate measuring machine or CMM). 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 13 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 base 22. The measurement probe 13 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 13, 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 13 (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 13 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.
A coordinate positioning machine 1 of a type as shown in Figure 13 is not considered in the context of the present application to have a geometry that is characterised by a set of interdependent model parameters. Because a Cartesian coordinate positioning machine is not characterised by a parametric model in the same way as a non-Cartesian coordinate positioning machine, it is also not calibrated in the same sense as a non-Cartesian coordinate positioning machine (for example as described above with reference to Figures 7 and 8). Rather, for a Cartesian coordinate positioning machine an individual error map would be produced for each motion axis independently, for example using an XL-80 or XM-60 calibrator from Renishaw pic to collect measurements in one or more degrees of freedom whilst driving the machine along each of the orthogonal machine axes x, y and z in turn (error maps associated with the y and z axes are marked in Figure 14 as my and mz respectively). Only one motion axis is being actuated at any one time during the collection of this measurement data, such that there is movement in only a single degree of freedom (for an ideal machine), and with measurements being recorded of any inadvertent (or non-ideal) movement in other degrees of freedom (for example to correct for roll and straightness errors), as well as recording measurements of the motion along the machine axis concerned (to correct for linear error). This process is typically repeated multiple times for each axis (e.g. the z axis) for different fixed positions along the other axes (e.g. the x and y axes) so that a volumetric analysis (or volumetric compensation) can be performed based on data from all three axes in different positions within the working volume and so that positioning errors in multiple degrees of freedom can be corrected throughout the working volume. Such a volumetric analysis is not applicable to a non-Cartesian machine in which the various motion axes are interdependent, and where it is not possible to effect motion along (or around) one motion axis without affecting the position and/or orientation of another motion axis. Each of the struts 16 in a hexapod coordinate positioning machine may be subject to a calibration or error mapping procedure before being assembled into the hexapod machine 10, but this is merely to provide an improved length-measuring performance for that strut 16 in isolation, as a starting point for an overall machine calibration (as described above) once all of the struts 16 are in place. The model parameters that are optimised by an iterative process as described above are applied on top of any underlying individual strut mappings. Furthermore, the set of model parameters that form the basis of an embodiment of the present invention are those that are invariant to the state or actuation of the motion axes of the machine, i.e. they are intended to characterise the core geometry of the machine regardless of state.
By way of contrast, for the volumetric compensation applied to a Cartesian machine, a different compensation or error mapping would typically be applied to the z axis depending on where the vertical column 8 is positioned along the x and y axes, to account for different amounts of bending in the horizontal beam 7. These volumetric corrections are not therefore invariant to the state of the machine and are not considered in the context of the present application to be model parameters that characterise the core geometry of the machine. Rather, they are corrections that are applied on top of the theoretical Cartesian geometry to account for departures from pure Cartesian motion in different parts of the working volume.
In view of the above, in the context of the present application the geometry of a Cartesian coordinate positioning machine is not considered to be defined by a parametric model having a set of model parameters that are optimised together (or collectively as a group) via an iterative numerical optimisation or error minimisation routine as part of a machine calibration method. Therefore, an embodiment of the present invention, in which adjustments are made after calibration and during operational use of the machine to one or more parameters of a parametric model, based on a measure of temperature, is not considered to be applicable to a Cartesian coordinate positioning machine.
In the context of a non-Cartesian coordinate positioning machine, it has not been previously considered to make individual adjustments, during operational use of the machine, to model parameters that are interdependent in nature, and where those model parameters were not optimised individually but were instead optimised collectively as a group during a calibration procedure in order to find an overall best fit to calibration data, particularly so where that calibration data was collected by exercising multiple interdependent motion axes together (i.e. in multiple degrees of freedom). Because there is an interdependence between the model parameters (also between the machine axes), there would be an established understanding in the art that the model parameters that result from the calibration process should be locked down and should not be individually adjusted after calibration, because these are already considered to be the best overall fit to the calibration data.
In this respect, and as described above, an adjustment is typically made at each stage of the optimisation or error minimisation routine to multiple model parameters in order to iterate towards a best fit. Due to the interdependence between the model parameters, an adjustment to a particular model parameter in isolation might have the effect of increasing the overall error measure (thereby making the calibration worse), even though in combination with an adjustment to one or more other model parameters the combined effect is a decrease in the overall error measure (thereby making the calibration better). The interdependence between the model parameters is such that an optimum value for one of the model parameters is dependent on the value selected for another of the model parameters.
In this context, it has not been previously considered to make individual adjustments to one or more of these interdependent model parameters after calibration, for example based on temperature during operational use, because this would be considered to be in conflict with the collective or unitary nature of the parameters. However, the present applicant has appreciated the benefit in doing so, because it has been found be possible to maintain a high positioning accuracy for a non-Cartesian coordinate positioning machine even with fluctuating temperature, by effectively updating the calibrated model parameter set continually during actual use of the machine.
Another key difference between Cartesian and non-Cartesian coordinate positioning machines in this context is that the model parameters for a nonCartesian coordinate positioning machine are applied before converting or transforming into Cartesian x, y, z space, whereas for a Cartesian machine there is no equivalent conversion or transformation to perform and therefore the error mappings and so on are applicable directly in Cartesian space. For a nonCartesian coordinate positioning machine which implements an embodiment of the present invention (and particularly but not exclusively a parallel kinematic non-Cartesian coordinate positioning machine), the adjustments being made to account for changes in temperature are being applied indirectly, via the model parameters discussed above, before conversion into Cartesian space, whereas any equivalent type of compensation which might be applied to a Cartesian machine would be applied more directly. Therefore, the two types of architecture cannot be considered as being equivalent in the context of the present application.
It will be appreciated that, in addition to or as well as making adjustments to one or more of the model parameters based on a measure of temperature, the same principle can be applied to other environmental conditions that might have an effect on the core geometry of the machine. For example, part of the structure of the machine (such as the material which forms the struts 16 and/or the material which forms the frame 26) might expand with increasing humidity, and accordingly one or more parameters of the machine can be adjusted based on a measure of humidity to account for this. 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 realtime 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 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

1. A method of compensating for thermal or temperature-related effects in a non-Cartesian coordinate positioning machine, wherein the geometry of the machine is characterised by a set of interdependent model parameters which have been optimised together via an iterative numerical optimisation or error minimisation routine carried out previously as part of a calibration method, 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 or in proximity to the relevant machine part, for example a length or angle measuring transducer, and/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 one or more of the parameters is or relates to a separation between a different pair of features of the machine.
11. A method as claimed in claim 10, wherein the features of at least one of the pairs are fixed relative to one another.
12. A method as claimed in claim 10 or 11, wherein the features of at least one of the pairs are moveable relative to one another.
13. A method as claimed in any preceding claim, comprising performing the calibration method prior to applying an adjustment during operational use to one or more of the parameters of the model based on a measure of temperature.
14. A method as claimed in any preceding claim, wherein the machine comprises a first platform that is moveable relative to a second platform.
15. A method as claimed in claim 14, wherein the first platform is a moving platform and the second platform is a fixed platform.
16. A method as claimed in any preceding claim, wherein the coordinate positioning machine is a parallel kinematic machine.
17. A method as claimed in any preceding claim, wherein the coordinate positioning machine comprises a plurality of actuators arranged in parallel.
18. A method as claimed in any preceding claim, wherein the coordinate positioning machine is a hexapod.
19. A method as claimed in claim 18, when dependent on claim 14, wherein the coordinate positioning machine comprises six actuators arranged in parallel between the first and second platforms.
20. A method as claimed in claim 19, wherein the first and second platforms each comprise six support members and wherein each of the six struts is coupled between a different one of the support members of the first platform and a different one of the support members of the second platform.
21. A method as claimed in claim 20, wherein the support members are at least part spherical and/or provide different respective ball joints for the struts.
22. A method as claimed in any one of claims 1 to 15, wherein the coordinate positioning machine is an articulated arm having a plurality of actuators arranged in series.
23. A method as claimed in any one of claims 1 to 15 or 22, wherein the coordinate positioning machine is a robot arm.
24. A method as claimed in any preceding claim, wherein the method comprises applying an adjustment to one or more of the parameters of the model based a measure of an environmental condition other than temperature.
25. A method of operating a non-Cartesian coordinate positioning machine, wherein the geometry of the machine is characterised by a set of interdependent model parameters, and wherein the method comprises performing a calibration to determine a new set of model parameters using an iterative numerical optimisation or error minimisation routine which optimises the model parameters together to reduce an overall error measure compared to an existing set of model parameters to produce a new set of model parameters which thereby characterises the geometry of the machine better than the existing set of model parameters, and during subsequent use of the calibrated machine applying an adjustment to one or more of the parameters of the model based on a measure of temperature and controlling the machine based on the adjusted model parameters.
26. A method as claimed in claim 25, wherein the calibration comprises controlling the machine into a plurality of poses and for each pose measuring or deducing an actual value and determining an error value based on the actual value and an expected value that is derived based on the existing model parameters; determining the overall error measure from the error values; and determining a new set of model parameters that would result in a lower overall error measure than for the existing set of model parameters.
27. A method as claimed in claim 25 or 26, wherein an adjustment is made in each iteration to more than one model parameter.
28. 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.
29. 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 27.
30. A computer or machine controller configured to perform a method as claimed in any one of claims 1 to 27.
PCT/GB2024/052023 2023-07-31 2024-07-31 Calibration and thermal compensation of a coordinate positioning machine WO2025027329A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2311762.5A GB2632405A (en) 2023-07-31 2023-07-31 Coordinate positioning machine
GB2311762.5 2023-07-31

Publications (1)

Publication Number Publication Date
WO2025027329A1 true WO2025027329A1 (en) 2025-02-06

Family

ID=87929891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2024/052023 WO2025027329A1 (en) 2023-07-31 2024-07-31 Calibration and thermal compensation of a coordinate positioning machine

Country Status (2)

Country Link
GB (1) GB2632405A (en)
WO (1) WO2025027329A1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4976582A (en) 1985-12-16 1990-12-11 Sogeva S.A. Device for the movement and positioning of an element in space
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
US20030005786A1 (en) 2001-07-05 2003-01-09 Microdexterity Systems, Inc. Parallel mechanism
WO2007144573A1 (en) 2006-06-16 2007-12-21 Renishaw Plc Metrology apparatus
US20090066100A1 (en) 2007-09-06 2009-03-12 Bosscher Paul M Apparatus and method associated with cable robot system
WO2017174966A1 (en) 2016-04-08 2017-10-12 Renishaw Plc Coordinate positioning machine
WO2019073246A1 (en) 2017-10-13 2019-04-18 Renishaw Plc Coordinate positioning machine
US20190195626A1 (en) * 2017-12-21 2019-06-27 Hexagon Technology Center Gmbh Machine geometry monitoring

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3620762A1 (en) * 2009-06-30 2020-03-11 Hexagon Technology Center GmbH Coordinate measurement machine with vibration detection
CN108351203B (en) * 2015-11-13 2020-10-30 赫克斯冈技术中心 Method for providing accurate coordinate measurement, independent reference module and coordinate measuring machine
EP4310441A1 (en) * 2022-07-18 2024-01-24 Hexagon Technology Center GmbH Active thermal management for coordinate measuring machines

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4976582A (en) 1985-12-16 1990-12-11 Sogeva S.A. Device for the movement and positioning of an element in space
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
US20030005786A1 (en) 2001-07-05 2003-01-09 Microdexterity Systems, Inc. Parallel mechanism
WO2007144573A1 (en) 2006-06-16 2007-12-21 Renishaw Plc Metrology apparatus
US20090066100A1 (en) 2007-09-06 2009-03-12 Bosscher Paul M Apparatus and method associated with cable robot system
WO2017174966A1 (en) 2016-04-08 2017-10-12 Renishaw Plc Coordinate positioning machine
WO2019073246A1 (en) 2017-10-13 2019-04-18 Renishaw Plc Coordinate positioning machine
US20190195626A1 (en) * 2017-12-21 2019-06-27 Hexagon Technology Center Gmbh Machine geometry monitoring

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Fundamentals of manipulator calibration", 31 December 1991, WILEY-INTERSCIENCE JOHN WILEY & SONS, INC., ISBN: 978-0-471-50864-9, article BENJAMIN W. MOORING ET AL: "Fundamentals of manipulator calibration", XP055768850 *
DONALD MARQUARDT: "An Algorithm for Least-Squares Estimation of Nonlinear Parameters", SIAM JOURNAL ON APPLIED MATHEMATICS, vol. 11, no. 2, 1963, pages 431 - 441
GONG CHUNHE ET AL: "Nongeometric error identification and compensation for robotic system by inverse calibration", INTERNATIONAL JOURNAL OF MACHINE TOOLS AND MANUFACTURE, vol. 40, no. 14, 30 November 2000 (2000-11-30), AMSTERDAM, NL, pages 2119 - 2137, XP093220579, ISSN: 0890-6955, DOI: 10.1016/S0890-6955(00)00023-7 *
JIE ZHU: "ROBUST THERMAL ERROR MODELING AND COMPENSATION FOR CNC MACHINE TOOLS", 1 January 2008 (2008-01-01), XP055033155, Retrieved from the Internet <URL:http://deepblue.lib.umich.edu/bitstream/2027.42/60857/1/zhujie_1.pdf> [retrieved on 20120718] *
KENNETH LEVENBERG: "A Method for the Solution of Certain Non-Linear Problems in Least Squares", QUARTERLY OF APPLIED MATHEMATICS, vol. 2, 1944, pages 164 - 168
ZHANG G ET AL: "ERROR COMPENSATION OF COORDINATE MEASURING MACHINES", CIRP ANNALS, ELSEVIER BV, NL, CH, FR, vol. 34, no. 1, 1 January 1985 (1985-01-01), pages 445 - 448, XP000858132, ISSN: 0007-8506, DOI: 10.1016/S0007-8506(07)61808-3 *

Also Published As

Publication number Publication date
GB202311762D0 (en) 2023-09-13
GB2632405A (en) 2025-02-12

Similar Documents

Publication Publication Date Title
CN108351203B (en) Method for providing accurate coordinate measurement, independent reference module and coordinate measuring machine
EP2742316B1 (en) Calibration of apparatus for inspecting workpieces
US20170363403A1 (en) Method and apparatus for inspecting workpieces
US9797700B2 (en) Variable modelling of a measuring device
US7131207B2 (en) Workpiece inspection method
US20150051862A1 (en) Method and apparatus for inspecting workpieces
US20100299094A1 (en) Thermal deformation error compensation method for coordinate measuring machine
US20070138374A1 (en) Parallel kinematic machine, calibration method of parallel kinematic machine, and calibration program product
US12257707B2 (en) Manufacturing system and method
CN114829078A (en) Coordinate positioning arm
CN111390914B (en) Robot zero position and tool coordinate calibration method
JP2025509473A (en) System and method for calibration of an articulated robotic arm - Patents.com
JP2983941B2 (en) Measurement error correction method for 3D automatic measurement device
WO2025027329A1 (en) Calibration and thermal compensation of a coordinate positioning machine
Klobucar et al. Automatic high resolution measurement set-up for calibrating precise line scales
Saputra et al. Optimum calibration of a parallel kinematic manipulator using digital indicators
WO2025027326A1 (en) Coordinate positioning machine
WO2025027324A1 (en) Coordinate positioning machine
WO2024157012A1 (en) Coordinate positioning machine
EP4561794A1 (en) Coordinate positioning machine
HK1123091A (en) Coordinate measuring method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24755336

Country of ref document: EP

Kind code of ref document: A1