U.S. patent application number 10/570657 was filed with the patent office on 2007-02-15 for measuring methods for use on machine tools.
This patent application is currently assigned to Renishaw pic. Invention is credited to Geoffrey McFarland.
Application Number | 20070033819 10/570657 |
Document ID | / |
Family ID | 29266579 |
Filed Date | 2007-02-15 |
United States Patent
Application |
20070033819 |
Kind Code |
A1 |
McFarland; Geoffrey |
February 15, 2007 |
Measuring methods for use on machine tools
Abstract
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.
Inventors: |
McFarland; Geoffrey;
(Dursley, GB) |
Correspondence
Address: |
OLIFF & BERRIDGE, PLC
P.O. BOX 19928
ALEXANDRIA
VA
22320
US
|
Assignee: |
Renishaw pic
New Mills
Wotton-Under-Edge
GB
GL 12 8JR
|
Family ID: |
29266579 |
Appl. No.: |
10/570657 |
Filed: |
September 24, 2004 |
PCT Filed: |
September 24, 2004 |
PCT NO: |
PCT/GB04/04066 |
371 Date: |
March 6, 2006 |
Current U.S.
Class: |
33/551 |
Current CPC
Class: |
G05B 2219/50049
20130101; G01B 21/04 20130101; G05B 19/19 20130101; G05B 2219/37097
20130101; G05B 2219/36503 20130101; G05B 2219/50063 20130101 |
Class at
Publication: |
033/551 |
International
Class: |
G01B 5/20 20060101
G01B005/20 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 24, 2003 |
GB |
0322362.5 |
Claims
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 claim 1, wherein the result of said
combining step gives a dimension of the workpiece.
3. A method according to claim 1, wherein the data based upon the
pre-defined path comprises at least one target or nominal probe
output reading.
4. A method according to claim 1, wherein the result of said
combining step gives an error value for a dimension of the
workpiece.
5. A method according to claim 1, including 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.
6. A method according to claim 5, wherein the compensating step
uses data from an artefact of known dimensions and form.
7. A method according to claim 6, wherein the artefact has similar
dimensions to the feature of the workpiece being measured.
8. A method according to claim 6, wherein the artefact has a
dissimilar dimension to the feature being measured, or is measured
at a dissimilar speed, and the compensation includes interpolation
to correct for such dissimilar dimension or speed.
9. A method according to claim 5, wherein the compensating step
uses data from reference points measured on the workpiece
surface.
10. A method according to claim 5, wherein the compensating step
uses an error map determined by comparing scans of the workpiece
surface at slow and fast speeds.
11. A controller or probe interface for a machine tool, programmed
to perform a method according to claim 1.
Description
[0001] This invention relates to performing measurements, and
particularly scanning measurements, upon workpieces using a machine
tool.
[0002] 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.
[0003] 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.
[0004] 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.
[0005] One aspect of the present invention provides a method of
measuring workpieces on a machine tool, comprising the steps of:
[0006] 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; [0007]
during the movement, taking measurements of the position of the
workpiece surface relative to the probe, using an output of the
probe; and [0008] combining said position measurements from the
output of the probe with data based upon said pre-defined path.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] Embodiments of the invention will now be described by way of
example, with reference to the accompanying drawings, wherein:
[0013] FIG. 1 shows a machine tool diagrammatically,
[0014] FIGS. 2 and 3 are isometric and plan views respectively,
showing a stylus tip scanning a workpiece,
[0015] FIG. 4 is a graph of probe measurements during the
scanning,
[0016] FIG. 5 is a graph showing the combination of probe
measurements with assumed machine position data,
[0017] FIG. 6 shows a calibration artefact being scanned,
[0018] FIGS. 7 and 8 are graphs explaining a calibration
method,
[0019] FIG. 9 is a view corresponding to FIG. 3, but showing the
measurement of reference points,
[0020] FIGS. 10 and 11 are graphs corresponding to FIGS. 4 and 5,
but using the reference point measurements of FIG. 9,
[0021] FIG. 12 is a graph corresponding to FIG. 4 but showing an
embodiment of measurement along a straight line,
[0022] FIGS. 13 and 14 are diagrams illustrating mathematical
calculations used in a further development of the calibration
method of FIGS. 7 and 8, and
[0023] FIG. 15 is a diagram illustrating a further method of
compensation.
[0024] FIG. 1 shows a typical machine tool, comprising a table T
and a spindle S which are movable relative to each other in
directions x,y,z, under the action of motors M. As shown in this
example, the motors M move the table, with the spindle remaining
stationary. However, the invention is equally applicable to other
machine tool arrangements, such as where the relative movement is
produced between a stationary table or bed of the machine and a
moving spindle.
[0025] Normally, a cutting tool would be mounted in the spindle S,
but FIG. 1 shows an analogue or scanning probe P mounted in the
spindle instead, in order to perform scanning measurements on a
workpiece W mounted on the table T. The probe P has a deflectable
stylus Q for contacting the surface of the workpiece W, and
transducers (not shown) in the probe P measure the deflection of
the stylus Q in the directions x,y,z, e.g. as described in U.S.
Pat. No. 4,084,323 (incorporated herein by reference).
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIGS. 2 and 3 show in more detail the stylus Q scanning a
surface of the workpiece W. As a simple example, it is shown
scanning the internal surface of a circular hole 30, in order to
determine deviations from a true circular form. In this case, the
part program 20 commands the relative motion of the probe and the
workpiece along a pre-defined circular machine path 32. This
machine path has a predetermined radius which is slightly smaller
than the radius of the circular hole 30, chosen to allow for the
radius of the stylus tip. It is also chosen to ensure that, for any
possible deviations of the surface of the hole 30 from a true
circular form, the stylus tip will remain in contact with the
surface and within the measuring range of the probe (i.e. the
permissible deflection of the stylus as measured by the transducers
within the probe).
[0032] FIG. 4 shows the possible deflections of the stylus Q
relative to the probe P, as measured by the probe's transducers, in
a graph against either time or angular position around the hole 30.
In particular, the graph represents deflections in a radial
direction, which could be calculated from the probe's x and y
outputs in the present example. A line 34 indicates the nominal
probe output expected if the hole has the correct size and circular
form. A line 36 indicates the probe output if the hole is too
small. A line 38 indicates the hole is oversize. A sinusoidal curve
40 shows that the hole is off-centre from its nominal position. Of
course, other deviations from the nominal line 34 are possible,
such as irregular deviations if the surface of the hole 30 deviates
from the intended circular form.
[0033] Referring back to FIG. 1, the controller 10 runs a
measurement program 12 in addition to the part program 20. This
measurement program 12 is responsible for taking a large number of
measurement readings, at a suitably high data rate, at positions
along the time/angular position axis in FIG. 4. To do this, it
combines two sources of data. One is the output from the probe P,
received from the receiver RX. The other is the instantaneous
assumed or demanded machine position (i.e. the position of the
spindle S and probe P relative to the table T). The latter is
derived from the pre-defined path set by the part program 20, as
indicated by an arrow 14. This is in contrast to prior art in which
it is derived from the encoders or resolvers or other position
measurement devices in the machine's servo feedback loop.
[0034] 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 FIG. 5. Here, a line
42 indicates the radius of the pre-defined machine path 32, as
derived by the measurement program 12 from the part program 20. To
this is added the output of the probe, as shown in FIG. 4, for each
data point (i.e. at each time instant or angular position). The
result is shown by the line 44 in FIG. 5. The radius of the
pre-defined machine path may simply be as used by a conventional
G-code in the part program 20 for commanding the movement in the
circular path.
[0035] 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) D.sub.target. This is the value of deflection
that would be seen if the workpiece conformed to its nominal size
and position. The value D.sub.target 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
D.sub.actual, via the receiver RX. It compares these two sources of
data by combining them subtractively to give the actual variation
error at any position: Error=D.sub.actual-D.sub.target For example,
if the target deflection was 100 .mu.m and the actual deflection
was 101 .mu.m, then the error in the size of the workpiece would be
1 .mu.m.
[0036] 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 FIG. 4, such an algorithm may determine the true
centre point of the hole, and its deviation from the nominal centre
point. And/or such an algorithm may determine the average radius of
the hole and the deviation from this value.
[0037] Of course, the methods described are not restricted to
circular forms as in FIGS. 2-5, and can be used to determine the
form of many other machined features.
[0038] For example, FIG. 12 illustrates the case of inspecting a
straight line along a nominally flat workpiece surface. Here, a
line 60 represents a pre-defined nominal or target value for the
probe deflection as it is driven along the line by the part
program. The actual values as received by the program 12 from the
probe are subjected to a best-fit algorithm to determine the best
straight line fit, and this is represented by the line 62. It is
then simple for the program 12 to calculate the slope and offset of
the line 62, relative to the nominal line 60, and accordingly to
indicate the errors of the position and orientation of the
workpiece surface which has been measured.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] The method of FIGS. 3-5 can also be used for job set-up,
i.e. setting up a workpiece which has previously had features
machined on a different machine. The method is then performed on a
new machine in order to locate these existing features. The new
machine may be for example a jig borer which is to bore holes in
the workpiece, accurately placed relative to the existing features.
Again, because the form of the features can be scanned, and a
best-fit algorithm can be used to fit them to their nominal form,
this enables more accurate results than with a conventional touch
trigger probe.
[0044] 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.degree. 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.
[0045] 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.
[0046] For greater accuracy, therefore, an optional calibration
process will be described with reference to FIGS. 6,7 and 8. The
calibration makes use of an artefact having known dimensions and
form, which should preferably (but not essentially) be
substantially similar to the workpiece or features to be measured.
For example, in the case of measuring the circular hole 30 of FIGS.
2 and 3, the artefact may be the internal surface 46 of a ring
gauge of accurately known radius and form (FIG. 6). This is scanned
by a part program 20 which commands the machine to move along a
circular path 48, corresponding to the path 32 in FIG. 3.
[0047] In FIG. 7, a line 50 indicates the accurately known form and
radius of the artefact. A line 52 indicates the measured value,
obtained by the measurement program 12 by any of the methods
described above. The deviations between these two lines indicate
the instantaneous errors between the assumed machine position value
and the actual position value, as it moves along the commanded
machine path.
[0048] 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 FIG. 8. This indicates, for any position along the machine
path (in terms of time or in terms of angle where a circular
measurement is being made) the radius correction which is required,
in order to correct for the difference between the assumed machine
position and the actual machine position. These radius correction
values are stored within the controller 10. When a measurement is
made on a production workpiece W, the measurement program 12
combines these correction values with the assumed machine position
values and the measurements from the probe P in order to obtain an
accurate measurement.
[0049] 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 FIG. 13.
[0050] 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 .alpha.1 is smaller than
.alpha.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.
[0051] 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.
[0052] 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: [0053] CR1.fwdarw.err1 [0054]
CR2.fwdarw.err2 where CR1 is a circle of radius R1 [0055] CR2 is a
circle of radius R2
[0056] And as discussed above, it is expected that err1 is smaller
than err2.
[0057] Assuming linearity, which is an acceptable assumption
between close sizes, then referring to FIG. 14: tan .function. (
.alpha. ) = err - err .times. .times. 1 R .times. .times. 1 - R =
err .times. .times. 2 - err1 R .times. .times. 1 - R .times.
.times. 2 ##EQU1## and therefore err = ( err .times. .times. 2 -
err .times. .times. 1 ) * ( R .times. .times. 1 - R ) ( R .times.
.times. 1 - R .times. .times. 2 ) + err .times. .times. 1
##EQU2##
[0058] This is the error (difference from real to nominal)
calculated through interpolation.
[0059] 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.
[0060] Another way to improve the accuracy of the measurements will
now be described with reference to FIGS. 9,10 and 11. This is
modified from the above methods, in that it uses reference points
on the surface of the workpiece W to be measured. In practice,
these will be points in the hole 30 on the path which is to be
scanned.
[0061] In FIG. 9, four reference points R are chosen. At each of
these reference points, the machine is driven such that the stylus
tip Q approaches the reference point R in a radial direction, as
indicated by arrows 56. The probe P may be used in a touch trigger
mode, in which a threshold value is defined in its measuring range,
at which a trigger signal is issued. This trigger signal may then
be taken to the conventional skip input of the machine's
controller, in the same way as with a conventional touch trigger
probe. The controller produces coordinate values for each reference
point R as a result of this operation. Thus, the reference points R
are true machine position values, not assumed machine position
values.
[0062] 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.
[0063] FIGS. 10 and 11 correspond to FIGS. 4 and 5, and show how
these reference points are used to calculate the resulting
measurements. In FIG. 10, a line 58 indicates the probe measurement
values from the scanning, using assumed position values as
previously. These values deviate from the nominal values 34 in the
same way as shown in FIG. 4. FIG. 11 shows the four values of the
reference points R. To produce the final measured value, the
measurement program 12 uses a best-fit algorithm to superimpose the
values from the line 58 in FIG. 10 onto these reference points R.
Thus, the values determined by using assumed positions are adjusted
to fit these known values R.
[0064] Since it is known that the values R are true values, the
intermediate values on the line 58 in FIG. 11 are more accurate
than would otherwise be the case. This enhanced method thus uses a
combination of scanning and reference points to improve the overall
accuracy of the scanning measurements.
[0065] FIG. 15 illustrates yet another way to provide compensation
to improve the accuracy. Curve B shows the result of scanning a
circular feature at a normal, preferred speed. It includes
distortions caused by backlash and other servo errors. Curve A
shows the result of scanning the same circular feature at a slower
speed; it will be seen that the distortions are avoided.
[0066] 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.
[0067] 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 FIGS. 13 and 14 is applied. The
error map is then stored for future use by the program 12 when
measuring similar features of future workpieces.
[0068] 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 (D.sub.actual-D.sub.target).
[0069] 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.
[0070] As with other embodiments, the methods according to FIGS.
9-11 and 15 are applicable not only to circular features, but may
be used to determine the form of many other machined features.
* * * * *