US 20070033819 A1
On a machine tool, a program 12 receives data from a scanning or analogue probe P, measuring a feature of a workpiece W. This data is combined with assumed machine position data during the scanning movement. This avoids having to break into the servo feedback loop 24 to get actual measured machine position data. The assumed machine position data can be derived from a part program 20 which controls the scanning movement. Several ways are described for compensating for errors between the assumed machine position values and the actual values.
1. A method of measuring workpieces on a machine tool, comprising the steps of:
causing relative movement between an analogue or scanning probe and the workpiece, along a pre-defined path comprising nominal positions of the probe relative to the workpiece;
during the movement, taking measurements of the position of the workpiece surface relative to the probe, using an output of the probe; and
combining said position measurements from the output of the probe with data based upon said pre-defined path.
2. A method according to
3. A method according to
4. A method according to
5. A method according to
6. A method according to
7. A method according to
8. A method according to
9. A method according to
10. A method according to
11. A controller or probe interface for a machine tool, programmed to perform a method according to
This invention relates to performing measurements, and particularly scanning measurements, upon workpieces using a machine tool.
It is known to mount a measuring probe in a machine tool spindle, for movement with respect to a workpiece, in order to measure the workpiece. In practice, the probe has typically been a touch trigger probe, e.g. as described in U.S. Pat. No. 4,153,998 (McMurtry), which produces a trigger signal when a stylus of the probe contacts the workpiece surface. This trigger signal is taken to a so-called “skip” input of the machine tool's numeric controller. In response, the controller takes an instantaneous reading of the machine's position (i.e. the position of the spindle and the probe relative to the machine). This is taken from measurement devices of the machine such as encoders or resolvers which provide position feedback information in a servo control loop for the machine's movement.
In the field of coordinate measuring machines (CMMs), it is known to measure workpieces using either a touch trigger probe as described above, or an analogue or scanning probe. One known type of analogue or scanning probe has a stylus for contacting the workpiece surface, and transducers within the probe which measure the deflection of the stylus relative to the probe body. An example is shown in U.S. Pat. No. 4,084,323 (McMurtry). This enables much more detailed measurements of the form of the workpiece surface than can conveniently be performed with a trigger probe. The probe is moved relative to the workpiece surface, so that the stylus scans the surface. Continuous readings are taken of the outputs of the probe transducers, and of the outputs of the encoders or other measurement devices of the machine. By combining the instantaneous probe output and the instantaneous machine output additively, digitised coordinate data is obtained for the position of the workpiece surface at a very large number of points throughout the scanning motion.
It has hitherto been difficult or impossible to use an analogue or scanning probe effectively on a machine tool, in the way just described for CMMs. One reason lies in the limitations of commercially-available machine tool controllers. It will be noted that the scanning method described above on a CMM requires that the position data from the machine's encoders or other measuring devices should be continuously available, at a high data rate, so that it can be added to the probe outputs for each data point in the scan. Conventional machine tool controllers are incapable of this. Their “skip” inputs cannot operate at the required high data rate. Thus, to perform scanning at a reasonable speed, it has been necessary to modify the controller, e.g. to enable direct sampling of data in the servo feedback loop, from the outputs of the machine's encoders or other measuring devices. The present applicants Renishaw have sold a system which does this, under the trade mark RENSCAN. However, such modifications to the controller vary from one controller to another and may not be easy, or may not even be possible.
One aspect of the present invention provides a method of measuring workpieces on a machine tool, comprising the steps of:
The overall measured data is therefore a combination of data from the pre-defined path and the measurements from the probe output. By using data from the pre-defined path, it is not necessary to obtain instantaneous data from the machine's servo feedback loop relating to the actual position of the probe.
In preferred embodiments, the data based upon the pre-defined path comprises at least one target or nominal probe output reading. Assuming that the nominal position of the probe in the pre-defined path correctly reflects its actual position, then the error in the workpiece is the difference between the target or nominal probe output reading and the actual probe output reading.
The method may include a step of compensating for a difference between the nominal position in the pre-defined path and the actual position of the probe relative to the workpiece.
Embodiments of the invention will now be described by way of example, with reference to the accompanying drawings, wherein:
Normally, a cutting tool would be mounted in the spindle S, but
The outputs of the probe transducers may be analogue or digital. Other forms of analogue or scanning probe may be used, including those in which the position of the workpiece surface relative to the probe is measured in a non-contacting manner, e.g. using optical, capacitative or inductive sensors.
During scanning measurements, the probe P continually transmits the data from its transducers to a receiver RX. The signal transmission is preferably wireless, e.g. optical or radio, but a hard-wired transmission may be used instead.
The probe P is caused to move along a path relative to the workpiece W so as to scan its surface. This is done under the control of a part program 20 for the workpiece W, running in a controller 10. The part program causes demand signals to be sent on lines 22 to a servo feedback loop 24. The servo feedback loop 24 drives the motors M to achieve motion of the machine along the demanded path.
If the controller 10 in which the part program 20 runs is the conventional standard numeric control of the machine tool, then the servo feedback loop 24 also forms part of the controller 10. Alternatively, the controller 10 may be a separate computer, feeding the demanded path data to the servo feedback loop in the standard numeric control. It may form part of an interface between the probe and the machine's standard control.
As is conventional, the servo loop 24 receives position feedback information from measuring systems of the machine, such as encoders or resolvers (not shown). The servo loop 24 drives the motors so as to tend to keep the actual path as indicated by the machine's measuring systems in accordance with the demanded machine path from the part program 20.
Referring back to
One way to combine these data sources is as follows. For each of a high number of data points along the machine path, the corresponding probe output and assumed machine position are combined additively, as shown graphically in
A preferred alternative way to combine the data sources is as follows. The program 12 includes a target or nominal value for the probe deflection. For example, the pre-defined machine path may be chosen such as to cause a nominal or target probe deflection (in the radial direction) Dtarget. This is the value of deflection that would be seen if the workpiece conformed to its nominal size and position. The value Dtarget may be pre-programmed into the program 12, based on the pre-defined path, or it may be calculated by the program 12 from values received from the part program 20 about the pre-defined path. As the measurement proceeds, the program 12 also receives values for the actual probe deflection Dactual, via the receiver RX. It compares these two sources of data by combining them subtractively to give the actual variation error at any position:
So far, the errors have been considered at each individual position around the hole 30. This may indeed be what is desired, e.g. to determine errors of form. However, it is also possible for the program 12 to perform data fitting algorithms, to consider the errors overall. For example, where a sinusoidal error is found, as indicated at 40 in
Of course, the methods described are not restricted to circular forms as in
It is also possible to apply an intelligent fitting algorithm to the data, to determine what type of feature is being measured, and then select and perform a suitable method to calculate its errors.
The methods so far described give reasonably accurate results. For example, if the hole 30 was previously machined by a cutting tool placed in the spindle S, following a cutting part program from the controller 10, the tool may have been subjected to deflections under the loads applied during cutting. This may result in the hole having incorrect size and form. Because the probe P is not subject to such cutting loads, it is able to measure such errors. Since it performs a scanning operation it can measure deviations from the correct form over the whole circumference, as well as simple dimensions such as the hole's diameter or radius and centre point. This is an advantage over conventional touch trigger probes.
As well as giving detailed measurements, the methods described can also be used for verification of a machined workpiece, i.e. the program can output a pass/fail indication to show whether the workpiece is within desired tolerances.
Such measurements can also be useful in process control, e.g. to update machining offsets (tool offsets) prior to a final cut. This enables the final cut to give precisely the required dimensions to the workpiece feature concerned. Likewise, the measurements can be used to update workpiece offsets for future machining, e.g. where the position of the feature measured is found to differ from its nominal position.
The method of
However, the method as described so far is subject to some inaccuracy, for example because of servo mismatch in the servo loop 24. Servo mismatch stems from differences between the actual and the demanded position. For example, when travelling around a circular path in the x-y plane, there may be phase errors in the nominally 90° phase difference between the sinusoidal paths on which the x-axis and y-axis servos drive their respective motors M. The actual position of the x-axis servo may catch up to its demanded position faster or slower than the y-axis servo, due to differing axis response characteristics. Similar mismatch can occur if, say, the commanded path is a straight line at an angle to the machine's axes, but it is not much of a problem if the path lies parallel to one of the axes. There can also be other causes of servo errors, e.g. backlash, or scale errors in the machine's encoders or resolvers or other measuring systems.
Thus, it is likely that, at any given instant, the actual position of the machine (i.e. the actual position of the spindle S and probe P relative to the table T) will not be exactly in accordance with the position demanded on the lines 22 by the part program 20. There will therefore be a difference between the assumed position values supplied on the line 14 to the measurement program 12 and the actual positions.
For greater accuracy, therefore, an optional calibration process will be described with reference to
By subtracting the corresponding values of points on the lines 50 and 52, there are obtained values which lie on a curve 54, shown in
If the artefact 46 is not the same size as the workpiece feature (e.g. it is a circle of a different radius) and/or if the scanning of the artefact and workpiece took place at different tangential or angular velocities, then this may be compensated by mathematical calculations. This is illustrated in
Assuming that scanning takes place at the same speed, for a circle with radius R1, the change in curvature is smaller as the motion is taking place, relative to the circle with radius R2, where the change in curvature is bigger over time, for the same distance. In other words, the angle α1 is smaller than α2. This leads to, for example, mismatch in servos that would result in a bigger difference for circle R2 than it would for R1, i.e. the ellipse resulting from the mismatch in the servos would have its maximum radius differing from the nominal by a bigger value leading to bigger errors.
This can be compensated through measuring the difference between the nominal circle and the obtained ellipse for the R1 circle, then doing the same for the R2 circle.
Then if the measured bore has a radius that is between R1 and R2, then this can be dealt with using interpolation. For example, where R1 is bigger than R2:
And as discussed above, it is expected that err1 is smaller than err2.
Assuming linearity, which is an acceptable assumption between close sizes, then referring to
This is the error (difference from real to nominal) calculated through interpolation.
The above discussion is also valid if the measurement is done at different speeds for the same size artefact, i.e. the artefact is measured at two different but close speeds (for linearity) and the errors recorded (deviations from nominal). Then an interpolation algorithm would be used to calculate the resulting error from a speed that is in between the two. This algorithm is similar to the one above.
Another way to improve the accuracy of the measurements will now be described with reference to
As a preferred alternative to using the skip input to obtain trigger values, the machine can be driven to the reference points, stop, then the probe output can be determined and added to the machine's position to give the value R. The accuracy of this value can be increased by static averaging, that is by dwelling in the stopped position for a period of time, taking multiple readings of the probe's outputs, and averaging them. This gives an accurate measurement because the machine is stopped and therefore there are no servo errors.
Since it is known that the values R are true values, the intermediate values on the line 58 in
Thus, a further embodiment of the invention makes use of this fact. The circle is scanned both at the slow and the fast speeds, and the resulting probe output data is recorded. An error map for the feature is then generated, containing error correction values for each position around the feature. This is done by a subtraction (B−A). For each position, the probe output during the slow scan A is subtracted from the corresponding output during the normal speed scan B.
This error map may be generated by scanning a first-off workpiece in a production run of nominally identical workpieces, or an artefact of the desired size and form, or even of a different size if compensation according to
Such future measurements are performed in accordance with the methods described above, e.g. in relation to FIGS. 3 to 5. As discussed previously, this may determine the feature size (by comparing the actual probe output with the assumed value from the part program 20). Alternatively it may determine the error in the feature, by comparing the actual probe output with a target probe output (Dactual−Dtarget).
In either case, the measurements are then compensated by applying corrections in accordance with the error map, subtracting the stored error value for each position from the corresponding measured value.
As with other embodiments, the methods according to